Skip to content

Formally verify ArrayString using creusot - #273

Open
Kixunil wants to merge 1 commit into
rust-bitcoin:masterfrom
Kixunil:creusot
Open

Kixunil wants to merge 1 commit into
rust-bitcoin:masterfrom
Kixunil:creusot

Conversation

@Kixunil

@Kixunil Kixunil commented Oct 26, 2026

Copy link
Copy Markdown
Collaborator

The recently-added ArrayString contains some unsafe code that can be formally verified as sound. This commit verifies it using creusot, taking inspiration from existing work in rust-bitcoin.

Currently, the rest of the crate is disabled when creusot is being used. We can later enable it, or its parts when verification of the remaining parts becomes desired.

This also adds a verification job into CI.

@Kixunil
Kixunil force-pushed the creusot branch 4 times, most recently from bcbcd99 to 5c1751f Compare October 26, 2026 17:57
The recently-added `ArrayString` contains some `unsafe` code that can be
formally verified as sound. This commit verifies it using creusot,
taking inspiration from existing work in rust-bitcoin.

Currently, the rest of the crate is disabled when creusot is being used.
We can later enable it, or its parts when verification of the remaining
parts becomes desired.

This also adds a verification job into CI.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant