From 7849e6cddf6f5c7de3ca094c6e2567940329cb57 Mon Sep 17 00:00:00 2001 From: ramil Date: Mon, 18 Nov 2024 13:34:21 +0300 Subject: [PATCH 1/4] DaoSign Milestone 3 delivery --- deliveries/DAOsign-milestone_3.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 deliveries/DAOsign-milestone_3.md diff --git a/deliveries/DAOsign-milestone_3.md b/deliveries/DAOsign-milestone_3.md new file mode 100644 index 000000000..6a06a4f29 --- /dev/null +++ b/deliveries/DAOsign-milestone_3.md @@ -0,0 +1,23 @@ +# Milestone Delivery :mailbox: + + + +**The delivery is according to the official [milestone delivery guidelines](https://github.com/w3f/Grants-Program/blob/master/docs/Support%20Docs/milestone-deliverables-guidelines.md).** + +* **Application Document:** [DAOsign](https://github.com/w3f/Grants-Program/blob/master/applications/DAOsign.md) +* **Milestone Number:** 3 + +**Context** (optional) +> In this milestone DaoSign deliveries NodeJS application - `Relayer` that relays transaction into blockchain. + +**Deliverables** + + +| Number | Deliverable | Link | Notes | +| ------------- | ------------- | ------------- |------------- | +| 0a. | License | [LICENSE](https://github.com/DAOsign/relayer/blob/main/LICENSE) | Apache 2.0 | +| 0b. | Documentation | [Readme](https://github.com/DAOsign/relayer/blob/main/README.md) | Instructions how to build and run Relayer. Also describes Environment Variables | +| 0c. | Testing and Testing Guide | https://github.com/DAOsign/relayer/blob/main/README.md#testing | Unit tests to ensure functionality and robustness. The guide describe how to run these tests. | +| 0d. | Docker | https://github.com/DAOsign/relayer?tab=readme-ov-file#with-docker | Dockerfile that can be used to run Relayer +| 1. | Gas Relayer | [Github Repo](https://github.com/DAOsign/relayer) | Off-chain service for relaying transactions | + From 228d7a8c2b774220898c3b1228057e528418869d Mon Sep 17 00:00:00 2001 From: Piet Wolff <75956460+PieWol@users.noreply.github.com> Date: Mon, 9 Dec 2024 11:33:58 +0100 Subject: [PATCH 2/4] pallet-verifier m1 eval (#1230) --- evaluations/pallet-verifier_1&2_piewol.md | 231 ++++++++++++++++++++++ 1 file changed, 231 insertions(+) create mode 100644 evaluations/pallet-verifier_1&2_piewol.md diff --git a/evaluations/pallet-verifier_1&2_piewol.md b/evaluations/pallet-verifier_1&2_piewol.md new file mode 100644 index 000000000..ac343e1a6 --- /dev/null +++ b/evaluations/pallet-verifier_1&2_piewol.md @@ -0,0 +1,231 @@ +# Evaluation + +- **Status:** accepted +- **Application Document:** [pallet verifier](https://github.com/w3f/Grants-Program/blob/master/applications/pallet-verifier.md) +- **Milestone:** 1 & 2 +- **Previously successfully merged evaluation:** All by PieWol + +| Number | Deliverable | Accepted | Link | Evaluation Notes | +| ------ | ----------- | :------: | ---- |----------------- | +| **0a.** | License | | [MIT](https://github.com/davidsemakula/pallet-verifier/blob/master/LICENSE-MIT) or [Apache 2.0](https://github.com/davidsemakula/pallet-verifier/blob/master/LICENSE-APACHE)| Dual-licensed| +| **0b.** | Documentation | |[README](https://github.com/davidsemakula/pallet-verifier/blob/master/README.md) and [Architecture](https://github.com/davidsemakula/pallet-verifier/blob/master/ARCHITECTURE.md) | very nice, good inline docs! | +| **0c.** | Testing and Testing Guide | |[Testing guide](https://github.com/davidsemakula/pallet-verifier/blob/master/TESTING.md) | good | +| **0e.** | Article | | [Article](https://davidsemakula.com/blog/introducing-pallet-verifier) | nice one! | +| **1** | Rust binary crate [m1]| |[custom rustc driver](https://github.com/davidsemakula/pallet-verifier/blob/master/src/driver.rs), [custom cargo subcommand](https://github.com/davidsemakula/pallet-verifier/blob/master/src/main.rs), [MIRAI integration](https://github.com/davidsemakula/pallet-verifier/blob/master/src/callbacks/verifier.rs) ([see also](https://github.com/davidsemakula/pallet-verifier/blob/844a49f85f434442202f724c2b5a8aecd0cf9d84/src/driver.rs#L144-L168)) and [automatic tractable entry point generation](https://github.com/davidsemakula/pallet-verifier/blob/master/src/callbacks/entry_points.rs) ([see also](https://github.com/davidsemakula/pallet-verifier/blob/844a49f85f434442202f724c2b5a8aecd0cf9d84/src/driver.rs#L124-L142)) | nice | + | **1** | Rust binary crate [m2]| |[adding the `mirai-annotations` crate as a dependency to FRAME pallets without editing `Cargo.toml`](https://github.com/davidsemakula/pallet-verifier/blob/844a49f85f434442202f724c2b5a8aecd0cf9d84/src/main.rs#L259-L273) (see also [this](https://github.com/davidsemakula/pallet-verifier/blob/844a49f85f434442202f724c2b5a8aecd0cf9d84/src/driver.rs#L196-L254), [this](https://github.com/davidsemakula/pallet-verifier/blob/844a49f85f434442202f724c2b5a8aecd0cf9d84/src/main.rs#L180-L223) and [this](https://github.com/davidsemakula/pallet-verifier/blob/844a49f85f434442202f724c2b5a8aecd0cf9d84/src/cli_utils.rs#L128-L138)), [adding MIRAI annotations to MIR, and more specifically to support automatically adding annotations for verifying that integer `as` conversions don't overflow/underflow nor lose precision](https://github.com/davidsemakula/pallet-verifier/blob/master/src/providers/int_cast_overflow.rs)| works | + + + + +## General Notes +Good job! Everthing works as described in the readme and testing guide. +The documentation is well written and the inline docs are nice and detailed. Your article is also a good read. +I'm really happy with the high quality of your delivery. +Thanks! + +A dockerfile was not a deliverable for this grant. + + +## Testing on non Polkadot-SDK pallets +Thanks for fixing the issue about dev-dependencies. Nice one. + + +## Tests + +Installing works as described in the readme. + +`` Installed package `pallet-verifier v0.1.0 (/home/ubuntu/pallet-verifier)` (executables `cargo-verify-pallet`, `pallet-verifier`)`` + +All tests are passing + +```` + Compiling pallet-verifier v0.1.0 (/home/ubuntu/pallet-verifier) + Finished test [unoptimized + debuginfo] target(s) in 13.15s + Running tests/compile-test.rs (target/debug/deps/compile_test-f311e992002ca11c) +Compiler: "PALLET_VERIFIER_NO_COLOR"="true" /home/ubuntu/pallet-verifier/target/debug/pallet-verifier "--error-format=json" "-Zui-testing" "-Aunused" "-Adeprecated" "-Anonstandard_style" "--extern" "mirai_annotations=/home/ubuntu/pallet-verifier/target/debug/deps/libmirai_annotations-1ef028860d685aa4.rlib" "--out-dir" OUT_DIR +tests/ui/driver/no-specialized-dispatchable-calls.rs ... ok +tests/ui/driver/missing-dispatchable-definition.rs ... ok +tests/ui/driver/not-frame-pallet.rs ... ok +tests/ui/driver/tractable-skeleton-safe-arith-saturating.rs ... ok +tests/ui/driver/tractable-skeleton-safe-int-cast.rs ... ok +tests/ui/driver/tractable-skeleton-safe-arith-wrapping.rs ... ok +tests/ui/driver/tractable-skeleton.rs ... ok +tests/ui/driver/tractable-skeleton-arith-overflow.rs ... ok +tests/ui/driver/tractable-skeleton-div-by-zero.rs ... ok +tests/ui/driver/tractable-skeleton-int-cast-overflow.rs ... ok +tests/ui/driver/tractable-skeleton-panic.rs ... ok + +test result: ok. 11 passed + +tests/ui/cargo/no-dispatchables/Cargo.toml ... ok +tests/ui/cargo/minimal-tractable/Cargo.toml ... ok +tests/ui/cargo/not-frame-pallet/Cargo.toml ... ok +tests/ui/cargo/minimal-tractable-panic/Cargo.toml ... ok +tests/ui/cargo/minimal-tractable-arith-overflow/Cargo.toml ... ok +tests/ui/cargo/minimal-tractable-safe-int-cast/Cargo.toml ... ok +tests/ui/cargo/minimal-tractable-div-by-zero/Cargo.toml ... ok +tests/ui/cargo/minimal-tractable-safe-arith-saturating/Cargo.toml ... ok +tests/ui/cargo/minimal-tractable-int-cast-overflow/Cargo.toml ... ok +tests/ui/cargo/no-specialized-dispatchable-calls/Cargo.toml ... ok + +test result: ok. 10 passed + +tests/ui/sdk/preimage/Cargo.toml ... ok +tests/ui/sdk/multisig/Cargo.toml ... ok +tests/ui/sdk/treasury/Cargo.toml ... ok +tests/ui/sdk/balances/Cargo.toml ... ok +tests/ui/sdk/assets/Cargo.toml ... ok + +test result: ok. 5 passed +```` + +## testing Polkadot-SDK pallets + +via ``cargo bench`` + +all passing. + +```` +Benching pallet-multisig + Analyzing benches/multisig (sdk version) + Comment: "possible integer cast overflow" at `multisig/sdk/src/lib.rs:545`, affects `approve_as_multi` and `as_multi` + + dispatchable: `approve_as_multi` ... ok + 1 expected; 1 found; 1 true positive(s); 0 false positive(s); 0 false negative(s) + dispatchable: `as_multi` ... ok + 1 expected; 1 found; 1 true positive(s); 0 false positive(s); 0 false negative(s) + dispatchable: `as_multi_threshold_1` ... ok + 0 expected; 0 found; 0 true positive(s); 0 false positive(s); 0 false negative(s) + dispatchable: `cancel_as_multi` ... ok + 0 expected; 0 found; 0 true positive(s); 0 false positive(s); 0 false negative(s) + pub assoc fn: `multi_account_id` ... ok + 0 expected; 0 found; 0 true positive(s); 0 false positive(s); 0 false negative(s) + pub assoc fn: `timepoint` ... ok + 0 expected; 0 found; 0 true positive(s); 0 false positive(s); 0 false negative(s) + + bench result: ok. 6 passed; 0 failed; 2 true positive(s); 0 false positive(s); 0 false negative(s); finished in 69.760s + + Analyzing benches/multisig (edited version) + Comment: fixes "possible integer cast overflow" at `multisig/edit/src/lib.rs:545` + + dispatchable: `approve_as_multi` ... ok + 0 expected; 0 found; 0 true positive(s); 0 false positive(s); 0 false negative(s) + dispatchable: `as_multi` ... ok + 0 expected; 0 found; 0 true positive(s); 0 false positive(s); 0 false negative(s) + dispatchable: `as_multi_threshold_1` ... ok + 0 expected; 0 found; 0 true positive(s); 0 false positive(s); 0 false negative(s) + dispatchable: `cancel_as_multi` ... ok + 0 expected; 0 found; 0 true positive(s); 0 false positive(s); 0 false negative(s) + pub assoc fn: `multi_account_id` ... ok + 0 expected; 0 found; 0 true positive(s); 0 false positive(s); 0 false negative(s) + pub assoc fn: `timepoint` ... ok + 0 expected; 0 found; 0 true positive(s); 0 false positive(s); 0 false negative(s) + + bench result: ok. 6 passed; 0 failed; 0 true positive(s); 0 false positive(s); 0 false negative(s); finished in 68.454s + + +Benching pallet-preimage + Analyzing benches/preimage (sdk version) + Comment: no diagnostics expected + + dispatchable: `ensure_updated` ... ok + 0 expected; 0 found; 0 true positive(s); 0 false positive(s); 0 false negative(s) + dispatchable: `note_preimage` ... ok + 0 expected; 0 found; 0 true positive(s); 0 false positive(s); 0 false negative(s) + dispatchable: `request_preimage` ... ok + 0 expected; 0 found; 0 true positive(s); 0 false positive(s); 0 false negative(s) + dispatchable: `unnote_preimage` ... ok + 0 expected; 0 found; 0 true positive(s); 0 false positive(s); 0 false negative(s) + dispatchable: `unrequest_preimage` ... ok + 0 expected; 0 found; 0 true positive(s); 0 false positive(s); 0 false negative(s) + + bench result: ok. 5 passed; 0 failed; 0 true positive(s); 0 false positive(s); 0 false negative(s); finished in 68.350s + + Analyzing benches/preimage (edited version) + Comment: introduces possible panic by replacing `debug_assert!` with `assert!` at `preimage/edit/src/lib.rs:439` + + dispatchable: `ensure_updated` ... ok + 0 expected; 0 found; 0 true positive(s); 0 false positive(s); 0 false negative(s) + dispatchable: `note_preimage` ... ok + 0 expected; 0 found; 0 true positive(s); 0 false positive(s); 0 false negative(s) + dispatchable: `request_preimage` ... ok + 0 expected; 0 found; 0 true positive(s); 0 false positive(s); 0 false negative(s) + dispatchable: `unnote_preimage` ... ok + 1 expected; 1 found; 1 true positive(s); 0 false positive(s); 0 false negative(s) + dispatchable: `unrequest_preimage` ... ok + 1 expected; 1 found; 1 true positive(s); 0 false positive(s); 0 false negative(s) + + bench result: ok. 5 passed; 0 failed; 2 true positive(s); 0 false positive(s); 0 false negative(s); finished in 68.600s + + +Benching pallet-treasury + Analyzing benches/treasury (sdk version) + Comment: "possible attempt to add with overflow" at: + - `treasury/sdk/src/lib.rs:637` which affects `spend` + - `treasury/sdk/src/lib.rs:511` which affects `spend_local` + + dispatchable: `check_status` ... ok + 0 expected; 0 found; 0 true positive(s); 0 false positive(s); 0 false negative(s) + dispatchable: `payout` ... ok + 0 expected; 0 found; 0 true positive(s); 0 false positive(s); 0 false negative(s) + dispatchable: `remove_approval` ... ok + 0 expected; 0 found; 0 true positive(s); 0 false positive(s); 0 false negative(s) + dispatchable: `spend` ... ok + 1 expected; 1 found; 1 true positive(s); 0 false positive(s); 0 false negative(s) + dispatchable: `spend_local` ... ok + 1 expected; 1 found; 1 true positive(s); 0 false positive(s); 0 false negative(s) + dispatchable: `void_spend` ... ok + 0 expected; 0 found; 0 true positive(s); 0 false positive(s); 0 false negative(s) + pub assoc fn: `account_id` ... ok + 0 expected; 0 found; 0 true positive(s); 0 false positive(s); 0 false negative(s) + pub assoc fn: `approvals` ... ok + 0 expected; 0 found; 0 true positive(s); 0 false positive(s); 0 false negative(s) + pub assoc fn: `pot` ... ok + 0 expected; 0 found; 0 true positive(s); 0 false positive(s); 0 false negative(s) + pub assoc fn: `proposal_count` ... ok + 0 expected; 0 found; 0 true positive(s); 0 false positive(s); 0 false negative(s) + pub assoc fn: `proposals` ... ok + 0 expected; 0 found; 0 true positive(s); 0 false positive(s); 0 false negative(s) + pub assoc fn: `spend_funds` ... ok + 0 expected; 0 found; 0 true positive(s); 0 false positive(s); 0 false negative(s) + + bench result: ok. 12 passed; 0 failed; 2 true positive(s); 0 false positive(s); 0 false negative(s); finished in 70.473s + + Analyzing benches/treasury (edited version) + Comment: fixes "possible attempt to add with overflow" at: + - `treasury/edit/src/lib.rs:637` which affects `spend` + - `treasury/edit/src/lib.rs:511` which affects `spend_local` + + dispatchable: `check_status` ... ok + 0 expected; 0 found; 0 true positive(s); 0 false positive(s); 0 false negative(s) + dispatchable: `payout` ... ok + 0 expected; 0 found; 0 true positive(s); 0 false positive(s); 0 false negative(s) + dispatchable: `remove_approval` ... ok + 0 expected; 0 found; 0 true positive(s); 0 false positive(s); 0 false negative(s) + dispatchable: `spend` ... ok + 0 expected; 0 found; 0 true positive(s); 0 false positive(s); 0 false negative(s) + dispatchable: `spend_local` ... ok + 0 expected; 0 found; 0 true positive(s); 0 false positive(s); 0 false negative(s) + dispatchable: `void_spend` ... ok + 0 expected; 0 found; 0 true positive(s); 0 false positive(s); 0 false negative(s) + pub assoc fn: `account_id` ... ok + 0 expected; 0 found; 0 true positive(s); 0 false positive(s); 0 false negative(s) + pub assoc fn: `approvals` ... ok + 0 expected; 0 found; 0 true positive(s); 0 false positive(s); 0 false negative(s) + pub assoc fn: `pot` ... ok + 0 expected; 0 found; 0 true positive(s); 0 false positive(s); 0 false negative(s) + pub assoc fn: `proposal_count` ... ok + 0 expected; 0 found; 0 true positive(s); 0 false positive(s); 0 false negative(s) + pub assoc fn: `proposals` ... ok + 0 expected; 0 found; 0 true positive(s); 0 false positive(s); 0 false negative(s) + pub assoc fn: `spend_funds` ... ok + 0 expected; 0 found; 0 true positive(s); 0 false positive(s); 0 false negative(s) + + bench result: ok. 12 passed; 0 failed; 0 true positive(s); 0 false positive(s); 0 false negative(s); finished in 71.253s + + +total bench result: ok. 46 passed; 0 failed; 0 filtered out; 6 true positive(s); 0 false positive(s); 0 false negative(s); finished in 416.893s +```` + + + From 401b297b0299574b20cd0f1927360d46e595c11a Mon Sep 17 00:00:00 2001 From: David Semakula Date: Mon, 9 Dec 2024 13:35:15 +0300 Subject: [PATCH 3/4] pallet-verifier (milestone 1 & 2) (#1222) --- deliveries/pallet-verifier.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 deliveries/pallet-verifier.md diff --git a/deliveries/pallet-verifier.md b/deliveries/pallet-verifier.md new file mode 100644 index 000000000..13dd090f1 --- /dev/null +++ b/deliveries/pallet-verifier.md @@ -0,0 +1,26 @@ +# Milestone Delivery :mailbox: + +**The delivery is according to the official [milestone delivery guidelines](https://github.com/w3f/Grants-Program/blob/master/docs/Support%20Docs/milestone-deliverables-guidelines.md).** + +* **Application Document:** [Pallet Verifier](https://github.com/w3f/Grants-Program/blob/master/applications/pallet-verifier.md) +* **Milestone Number:** 1 & 2 + +**Context** (optional) + +This is a combined delivery for both milestone 1 and 2. + +**Deliverables** + +| Number | Deliverable | Link | Notes | +|---------|---------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **0a.** | License | [MIT](https://github.com/davidsemakula/pallet-verifier/blob/master/LICENSE-MIT) or [Apache 2.0](https://github.com/davidsemakula/pallet-verifier/blob/master/LICENSE-APACHE). | Dual-licensed under either of MIT or Apache 2.0 licenses at the downstream user's option. | +| **0b.** | Documentation | [README](https://github.com/davidsemakula/pallet-verifier/blob/master/README.md) and [Architecture](https://github.com/davidsemakula/pallet-verifier/blob/master/ARCHITECTURE.md) documents. | The [README](https://github.com/davidsemakula/pallet-verifier/blob/master/README.md) contains instructions for installation and usage, the [Architecture document](https://github.com/davidsemakula/pallet-verifier/blob/master/ARCHITECTURE.md) describes how `pallet-verifier` works, while the [source code on GitHub](https://github.com/davidsemakula/pallet-verifier) contains extensive inline documentation. | +| **0c.** | Testing and Testing Guide | [Testing guide](https://github.com/davidsemakula/pallet-verifier/blob/master/TESTING.md). | [UI tests](https://rustc-dev-guide.rust-lang.org/tests/ui.html#introduction) are defined in the [tests/ui](https://github.com/davidsemakula/pallet-verifier/tree/master/tests/ui) directory using the [ui_test framework](https://crates.io/crates/ui_test) (also used by [clippy](https://github.com/rust-lang/rust-clippy) and [miri](https://github.com/rust-lang/miri))
Check out the ["Test Structure" section of the Testing Guide](https://github.com/davidsemakula/pallet-verifier/blob/master/TESTING.md#test-structure) for a detailed description of the purpose of the different test cases and test suites.

For milestone 1: All tests in the [tests/ui/driver](https://github.com/davidsemakula/pallet-verifier/tree/master/tests/ui/driver) and [tests/ui/cargo](https://github.com/davidsemakula/pallet-verifier/tree/master/tests/ui/cargo) subdirectories/ test suites except those related to "integer cast overflow" are relevant (i.e. tests with names that *DON'T* include "int-cast-overflow" suffix).

For milestone 2: Only "integer cast overflow" related tests in [tests/ui/driver](https://github.com/davidsemakula/pallet-verifier/tree/master/tests/ui/driver) and [tests/ui/cargo](https://github.com/davidsemakula/pallet-verifier/tree/master/tests/ui/cargo) are relevant (i.e. tests with names that include "int-cast-overflow" suffix).

Test cases in the [tests/ui/sdk](https://github.com/davidsemakula/pallet-verifier/tree/master/tests/ui/sdk) subdirectory/ test suite are production [FRAME](https://docs.substrate.io/learn/runtime-development/#frame) pallet tests, and include FRAME pallets copied directly from the [Polkadot SDK](https://github.com/paritytech/polkadot-sdk), and as such, apply to both milestones and serve to check the effectiveness of the tool on "real world" production FRAME pallets.

Lastly, the [custom benchmark suite](https://github.com/davidsemakula/pallet-verifier/blob/master/TESTING.md#the-custom-benchmark) is defined in the [benches directory](https://github.com/davidsemakula/pallet-verifier/tree/master/benches). Check out the ["custom benchmark" section of the Testing Guide](https://github.com/davidsemakula/pallet-verifier/blob/master/TESTING.md#the-custom-benchmark) for instructions for running the custom benchmark, and a description of how it works. | +| **0d.** | Docker | N/A | | +| **0e.** | Article | [Article](https://davidsemakula.com/blog/introducing-pallet-verifier) | | +| 1. | Rust binary crate | [GitHub repository](https://github.com/davidsemakula/pallet-verifier) | This includes deliveries for both milestone 1 and 2.

For milestone 1: [custom rustc driver](https://github.com/davidsemakula/pallet-verifier/blob/master/src/driver.rs), [custom cargo subcommand](https://github.com/davidsemakula/pallet-verifier/blob/master/src/main.rs), [MIRAI integration](https://github.com/davidsemakula/pallet-verifier/blob/master/src/callbacks/verifier.rs) ([see also](https://github.com/davidsemakula/pallet-verifier/blob/844a49f85f434442202f724c2b5a8aecd0cf9d84/src/driver.rs#L144-L168)) and [automatic tractable entry point generation](https://github.com/davidsemakula/pallet-verifier/blob/master/src/callbacks/entry_points.rs) ([see also](https://github.com/davidsemakula/pallet-verifier/blob/844a49f85f434442202f724c2b5a8aecd0cf9d84/src/driver.rs#L124-L142)).

For milestone 2: [adding the `mirai-annotations` crate as a dependency to FRAME pallets without editing `Cargo.toml`](https://github.com/davidsemakula/pallet-verifier/blob/844a49f85f434442202f724c2b5a8aecd0cf9d84/src/main.rs#L259-L273) (see also [this](https://github.com/davidsemakula/pallet-verifier/blob/844a49f85f434442202f724c2b5a8aecd0cf9d84/src/driver.rs#L196-L254), [this](https://github.com/davidsemakula/pallet-verifier/blob/844a49f85f434442202f724c2b5a8aecd0cf9d84/src/main.rs#L180-L223) and [this](https://github.com/davidsemakula/pallet-verifier/blob/844a49f85f434442202f724c2b5a8aecd0cf9d84/src/cli_utils.rs#L128-L138)), [adding MIRAI annotations to MIR, and more specifically to support automatically adding annotations for verifying that integer `as` conversions don't overflow/underflow nor lose precision](https://github.com/davidsemakula/pallet-verifier/blob/master/src/providers/int_cast_overflow.rs).

Check out the [architecture document](https://github.com/davidsemakula/pallet-verifier/blob/master/ARCHITECTURE.md) for a detailed description of how the various components work and fit together. | + + +**Additional Information** + +Please use the [master branch](https://github.com/davidsemakula/pallet-verifier/tree/master) for testing. From b94644b8cbf153ba74418066f1df5cea47cf2006 Mon Sep 17 00:00:00 2001 From: Keegan | W3F <35080151+keeganquigley@users.noreply.github.com> Date: Wed, 11 Dec 2024 11:30:44 +0100 Subject: [PATCH 4/4] Update DAOsign_m3_keeganquigley.md --- evaluations/DAOsign_m3_keeganquigley.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/evaluations/DAOsign_m3_keeganquigley.md b/evaluations/DAOsign_m3_keeganquigley.md index 4c49d6f43..529cfc36e 100644 --- a/evaluations/DAOsign_m3_keeganquigley.md +++ b/evaluations/DAOsign_m3_keeganquigley.md @@ -1,7 +1,7 @@ # Evaluation -- **Status:** In progress +- **Status:** Accepted - **Application Document:** https://github.com/w3f/Grants-Program/blob/master/applications/DAOsign.md - **Milestone:** 3 @@ -9,12 +9,16 @@ | ------------- | ------------- | ------------- | ------------- | ------------- | | 0a. | License | | [LICENSE](https://github.com/DAOsign/relayer/blob/main/LICENSE) | Apache 2.0 | | 0b. | Documentation | | [Readme](https://github.com/DAOsign/relayer/blob/main/README.md) | | -| 0c. | Testing and Testing Guide | | https://github.com/DAOsign/relayer/blob/main/README.md#testing | | -| 0d. | Docker | | https://github.com/DAOsign/relayer?tab=readme-ov-file#with-docker | -| 1. | Gas Relayer | |[Github Repo](https://github.com/DAOsign/relayer) | | +| 0c. | Testing and Testing Guide | | https://github.com/DAOsign/relayer/blob/main/README.md#testing | Ok | +| 0d. | Docker | | https://github.com/DAOsign/relayer?tab=readme-ov-file#with-docker | Ok +| 1. | Gas Relayer | |[Github Repo](https://github.com/DAOsign/relayer) | Ok | # General Notes +I'm willing to pass it since the deliverable requirements were technically met. Docker-compose now works to spin up the relayer. + +## Tests + ~~The test is failing with errors but it's due to the .env setup.~~ ~~After copying the example .env file the tests are currently failing with a lot of errors:~~