diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 24f7bfe3..ee2d9764 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -52,7 +52,7 @@ jobs: - name: Clippy run: cargo clippy --workspace -- -D warnings - name: Test - run: cargo test --workspace + run: cargo test --workspace -- --test-threads=1 - name: Build Contracts run: cargo build --target wasm32-unknown-unknown --release -p escrow -p reputation -p job_registry diff --git a/.github/workflows/build-contracts.yml b/.github/workflows/build-contracts.yml new file mode 100644 index 00000000..9c585b8d --- /dev/null +++ b/.github/workflows/build-contracts.yml @@ -0,0 +1,106 @@ +name: Build Soroban Contracts + +on: + push: + paths: + - 'contracts/**' + - '.github/workflows/build-contracts.yml' + pull_request: + paths: + - 'contracts/**' + - '.github/workflows/build-contracts.yml' + +env: + CARGO_TERM_COLOR: always + +jobs: + build-wasm: + name: Build Contract WASM + runs-on: ubuntu-latest + + strategy: + matrix: + contract: [escrow, job_registry, reputation] + + steps: + - uses: actions/checkout@v4 + + - name: Install Rust toolchain + uses: dtolnay/rust-toolchain@stable + with: + targets: wasm32-unknown-unknown + toolchain: stable + + - name: Install Soroban CLI + run: | + cargo install --locked --version 22.0.0 soroban-cli + soroban --version + + - name: Install binaryen (wasm-opt) + run: sudo apt-get update && sudo apt-get install -y binaryen + + - name: Cache cargo registry + uses: actions/cache@v3 + with: + path: | + ~/.cargo/registry + ~/.cargo/git + key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} + restore-keys: | + ${{ runner.os }}-cargo- + + - name: Build ${{ matrix.contract }} contract + run: | + cargo build --target wasm32-unknown-unknown --release -p ${{ matrix.contract }} + + - name: Optimize WASM + run: | + wasm-opt target/wasm32-unknown-unknown/release/${{ matrix.contract }}.wasm \ + -o target/wasm32-unknown-unknown/release/${{ matrix.contract }}.optimized.wasm \ + -Oz --enable-bulk-memory + + - name: Upload WASM artifact + uses: actions/upload-artifact@v4 + with: + name: ${{ matrix.contract }}-wasm + path: target/wasm32-unknown-unknown/release/${{ matrix.contract }}.optimized.wasm + retention-days: 30 + + - name: Generate WASM hash + run: | + wasm_file="target/wasm32-unknown-unknown/release/${{ matrix.contract }}.optimized.wasm" + if [ -f "$wasm_file" ]; then + sha256sum "$wasm_file" > "${{ matrix.contract }}.sha256" + echo "WASM hash: $(cat ${{ matrix.contract }}.sha256)" + fi + + - name: Upload hash artifact + uses: actions/upload-artifact@v4 + with: + name: ${{ matrix.contract }}-hash + path: ${{ matrix.contract }}.sha256 + retention-days: 30 + + test-contracts: + name: Test Contracts + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - name: Install Rust toolchain + uses: dtolnay/rust-toolchain@stable + with: + targets: wasm32-unknown-unknown + toolchain: stable + + - name: Install Soroban CLI + run: | + cargo install --locked --version 22.0.0 soroban-cli + soroban --version + + - name: Run contract tests + run: | + cargo test -p escrow -p reputation -p job_registry + env: + RUST_BACKTRACE: 1 diff --git a/backend/src/routes/jobs.rs b/backend/src/routes/jobs.rs index 364ee586..80efb6ce 100644 --- a/backend/src/routes/jobs.rs +++ b/backend/src/routes/jobs.rs @@ -55,9 +55,9 @@ async fn list_jobs( if let Some(q) = params.query { query_builder.push(" AND (title ILIKE "); - query_builder.push_bind(format!("%{}%", q)); + query_builder.push_bind(format!("%{q}%")); query_builder.push(" OR description ILIKE "); - query_builder.push_bind(format!("%{}%", q)); + query_builder.push_bind(format!("%{q}%")); query_builder.push(")"); } @@ -71,21 +71,25 @@ async fn list_jobs( if let Some(tag) = params.tag { if tag != "all" { query_builder.push(" AND (title ILIKE "); - query_builder.push_bind(format!("%{}%", tag)); + query_builder.push_bind(format!("%{tag}%")); query_builder.push(" OR description ILIKE "); - query_builder.push_bind(format!("%{}%", tag)); + query_builder.push_bind(format!("%{tag}%")); query_builder.push(")"); } } match params.sort.as_deref() { - Some("budget") => query_builder.push(" ORDER BY budget_usdc DESC"), + Some("budget") => { + query_builder.push(" ORDER BY budget_usdc DESC"); + } Some("reputation") => { // Reputation sort requires joining with a reputation table or calculating score. // For now, we'll just sort by created_at as a fallback. query_builder.push(" ORDER BY created_at DESC"); } - _ => query_builder.push(" ORDER BY created_at DESC"), + _ => { + query_builder.push(" ORDER BY created_at DESC"); + } } let jobs = query_builder diff --git a/contracts/escrow/test_snapshots/test/test_deposit_event_emitted.1.json b/contracts/escrow/test_snapshots/test/test_deposit_event_emitted.1.json index 3bb1cdff..fb888ef6 100644 --- a/contracts/escrow/test_snapshots/test/test_deposit_event_emitted.1.json +++ b/contracts/escrow/test_snapshots/test/test_deposit_event_emitted.1.json @@ -472,6 +472,14 @@ } } }, + { + "key": { + "symbol": "requires_multisig" + }, + "val": { + "bool": false + } + }, { "key": { "symbol": "status" @@ -1715,6 +1723,14 @@ } } }, + { + "key": { + "symbol": "requires_multisig" + }, + "val": { + "bool": false + } + }, { "key": { "symbol": "status" diff --git a/contracts/escrow/test_snapshots/test/test_deposit_invalid_state_not_setup.1.json b/contracts/escrow/test_snapshots/test/test_deposit_invalid_state_not_setup.1.json index 26421cc3..ab339d70 100644 --- a/contracts/escrow/test_snapshots/test/test_deposit_invalid_state_not_setup.1.json +++ b/contracts/escrow/test_snapshots/test/test_deposit_invalid_state_not_setup.1.json @@ -557,6 +557,14 @@ } } }, + { + "key": { + "symbol": "requires_multisig" + }, + "val": { + "bool": false + } + }, { "key": { "symbol": "status" diff --git a/contracts/escrow/test_snapshots/test/test_deposit_negative_panics.1.json b/contracts/escrow/test_snapshots/test/test_deposit_negative_panics.1.json index 70147fc1..91567ddf 100644 --- a/contracts/escrow/test_snapshots/test/test_deposit_negative_panics.1.json +++ b/contracts/escrow/test_snapshots/test/test_deposit_negative_panics.1.json @@ -390,6 +390,14 @@ } } }, + { + "key": { + "symbol": "requires_multisig" + }, + "val": { + "bool": false + } + }, { "key": { "symbol": "status" diff --git a/contracts/escrow/test_snapshots/test/test_deposit_no_milestones_panics.1.json b/contracts/escrow/test_snapshots/test/test_deposit_no_milestones_panics.1.json index 048255c2..fd6acd1c 100644 --- a/contracts/escrow/test_snapshots/test/test_deposit_no_milestones_panics.1.json +++ b/contracts/escrow/test_snapshots/test/test_deposit_no_milestones_panics.1.json @@ -304,6 +304,14 @@ } } }, + { + "key": { + "symbol": "requires_multisig" + }, + "val": { + "bool": false + } + }, { "key": { "symbol": "status" diff --git a/contracts/escrow/test_snapshots/test/test_deposit_success_transitions_to_funded.1.json b/contracts/escrow/test_snapshots/test/test_deposit_success_transitions_to_funded.1.json index ea632758..2844e8d2 100644 --- a/contracts/escrow/test_snapshots/test/test_deposit_success_transitions_to_funded.1.json +++ b/contracts/escrow/test_snapshots/test/test_deposit_success_transitions_to_funded.1.json @@ -475,6 +475,14 @@ } } }, + { + "key": { + "symbol": "requires_multisig" + }, + "val": { + "bool": false + } + }, { "key": { "symbol": "status" @@ -1770,6 +1778,14 @@ } } }, + { + "key": { + "symbol": "requires_multisig" + }, + "val": { + "bool": false + } + }, { "key": { "symbol": "status" diff --git a/contracts/escrow/test_snapshots/test/test_deposit_with_wrong_total_panics.1.json b/contracts/escrow/test_snapshots/test/test_deposit_with_wrong_total_panics.1.json index 3afaa1f1..80507675 100644 --- a/contracts/escrow/test_snapshots/test/test_deposit_with_wrong_total_panics.1.json +++ b/contracts/escrow/test_snapshots/test/test_deposit_with_wrong_total_panics.1.json @@ -390,6 +390,14 @@ } } }, + { + "key": { + "symbol": "requires_multisig" + }, + "val": { + "bool": false + } + }, { "key": { "symbol": "status" diff --git a/contracts/escrow/test_snapshots/test/test_deposit_zero_panics.1.json b/contracts/escrow/test_snapshots/test/test_deposit_zero_panics.1.json index 8a9d132f..9be82690 100644 --- a/contracts/escrow/test_snapshots/test/test_deposit_zero_panics.1.json +++ b/contracts/escrow/test_snapshots/test/test_deposit_zero_panics.1.json @@ -390,6 +390,14 @@ } } }, + { + "key": { + "symbol": "requires_multisig" + }, + "val": { + "bool": false + } + }, { "key": { "symbol": "status" diff --git a/contracts/escrow/test_snapshots/test/test_dispute_50_50_split.1.json b/contracts/escrow/test_snapshots/test/test_dispute_50_50_split.1.json index 98720a86..ce0144fb 100644 --- a/contracts/escrow/test_snapshots/test/test_dispute_50_50_split.1.json +++ b/contracts/escrow/test_snapshots/test/test_dispute_50_50_split.1.json @@ -905,6 +905,14 @@ } } }, + { + "key": { + "symbol": "requires_multisig" + }, + "val": { + "bool": false + } + }, { "key": { "symbol": "status" @@ -2956,6 +2964,14 @@ } } }, + { + "key": { + "symbol": "requires_multisig" + }, + "val": { + "bool": false + } + }, { "key": { "symbol": "status" @@ -3483,6 +3499,14 @@ } } }, + { + "key": { + "symbol": "requires_multisig" + }, + "val": { + "bool": false + } + }, { "key": { "symbol": "status" diff --git a/contracts/escrow/test_snapshots/test/test_dispute_event_emission.1.json b/contracts/escrow/test_snapshots/test/test_dispute_event_emission.1.json index 7374c200..267244d7 100644 --- a/contracts/escrow/test_snapshots/test/test_dispute_event_emission.1.json +++ b/contracts/escrow/test_snapshots/test/test_dispute_event_emission.1.json @@ -527,6 +527,14 @@ } } }, + { + "key": { + "symbol": "requires_multisig" + }, + "val": { + "bool": false + } + }, { "key": { "symbol": "status" @@ -1890,6 +1898,14 @@ } } }, + { + "key": { + "symbol": "requires_multisig" + }, + "val": { + "bool": false + } + }, { "key": { "symbol": "status" diff --git a/contracts/escrow/test_snapshots/test/test_double_create_job_panics.1.json b/contracts/escrow/test_snapshots/test/test_double_create_job_panics.1.json index dee1d9ee..62d18ed7 100644 --- a/contracts/escrow/test_snapshots/test/test_double_create_job_panics.1.json +++ b/contracts/escrow/test_snapshots/test/test_double_create_job_panics.1.json @@ -165,6 +165,14 @@ } } }, + { + "key": { + "symbol": "requires_multisig" + }, + "val": { + "bool": false + } + }, { "key": { "symbol": "status" @@ -408,7 +416,7 @@ "data": { "vec": [ { - "string": "caught panic 'job already exists' from contract function 'Symbol(obj#45)'" + "string": "caught panic 'job already exists' from contract function 'Symbol(obj#47)'" }, { "u64": 1 diff --git a/contracts/escrow/test_snapshots/test/test_exhaustive_release_funds_path.1.json b/contracts/escrow/test_snapshots/test/test_exhaustive_release_funds_path.1.json index dff3d0b1..eb383c7b 100644 --- a/contracts/escrow/test_snapshots/test/test_exhaustive_release_funds_path.1.json +++ b/contracts/escrow/test_snapshots/test/test_exhaustive_release_funds_path.1.json @@ -965,6 +965,14 @@ } } }, + { + "key": { + "symbol": "requires_multisig" + }, + "val": { + "bool": false + } + }, { "key": { "symbol": "status" @@ -3568,6 +3576,14 @@ } } }, + { + "key": { + "symbol": "requires_multisig" + }, + "val": { + "bool": false + } + }, { "key": { "symbol": "status" diff --git a/contracts/escrow/test_snapshots/test/test_happy_path_lifecycle.1.json b/contracts/escrow/test_snapshots/test/test_happy_path_lifecycle.1.json index 4fd40d99..33c197bc 100644 --- a/contracts/escrow/test_snapshots/test/test_happy_path_lifecycle.1.json +++ b/contracts/escrow/test_snapshots/test/test_happy_path_lifecycle.1.json @@ -812,6 +812,14 @@ } } }, + { + "key": { + "symbol": "requires_multisig" + }, + "val": { + "bool": false + } + }, { "key": { "symbol": "status" @@ -3172,6 +3180,14 @@ } } }, + { + "key": { + "symbol": "requires_multisig" + }, + "val": { + "bool": false + } + }, { "key": { "symbol": "status" diff --git a/contracts/escrow/test_snapshots/test/test_open_dispute_by_rando_panics.1.json b/contracts/escrow/test_snapshots/test/test_open_dispute_by_rando_panics.1.json index 2c4a44a4..ac80f4d5 100644 --- a/contracts/escrow/test_snapshots/test/test_open_dispute_by_rando_panics.1.json +++ b/contracts/escrow/test_snapshots/test/test_open_dispute_by_rando_panics.1.json @@ -472,6 +472,14 @@ } } }, + { + "key": { + "symbol": "requires_multisig" + }, + "val": { + "bool": false + } + }, { "key": { "symbol": "status" diff --git a/contracts/escrow/test_snapshots/test/test_open_dispute_on_completed_panics.1.json b/contracts/escrow/test_snapshots/test/test_open_dispute_on_completed_panics.1.json index 711b3525..89183255 100644 --- a/contracts/escrow/test_snapshots/test/test_open_dispute_on_completed_panics.1.json +++ b/contracts/escrow/test_snapshots/test/test_open_dispute_on_completed_panics.1.json @@ -527,6 +527,14 @@ } } }, + { + "key": { + "symbol": "requires_multisig" + }, + "val": { + "bool": false + } + }, { "key": { "symbol": "status" diff --git a/contracts/escrow/test_snapshots/test/test_raise_dispute_blocks_release_funds.1.json b/contracts/escrow/test_snapshots/test/test_raise_dispute_blocks_release_funds.1.json index 77df9d5c..52925318 100644 --- a/contracts/escrow/test_snapshots/test/test_raise_dispute_blocks_release_funds.1.json +++ b/contracts/escrow/test_snapshots/test/test_raise_dispute_blocks_release_funds.1.json @@ -753,6 +753,14 @@ } } }, + { + "key": { + "symbol": "requires_multisig" + }, + "val": { + "bool": false + } + }, { "key": { "symbol": "status" @@ -2693,6 +2701,14 @@ } } }, + { + "key": { + "symbol": "requires_multisig" + }, + "val": { + "bool": false + } + }, { "key": { "symbol": "status" diff --git a/contracts/escrow/test_snapshots/test/test_raise_dispute_by_client_locks_funds.1.json b/contracts/escrow/test_snapshots/test/test_raise_dispute_by_client_locks_funds.1.json index c8377290..0e50b0df 100644 --- a/contracts/escrow/test_snapshots/test/test_raise_dispute_by_client_locks_funds.1.json +++ b/contracts/escrow/test_snapshots/test/test_raise_dispute_by_client_locks_funds.1.json @@ -697,6 +697,14 @@ } } }, + { + "key": { + "symbol": "requires_multisig" + }, + "val": { + "bool": false + } + }, { "key": { "symbol": "status" @@ -2294,6 +2302,14 @@ } } }, + { + "key": { + "symbol": "requires_multisig" + }, + "val": { + "bool": false + } + }, { "key": { "symbol": "status" diff --git a/contracts/escrow/test_snapshots/test/test_raise_dispute_by_freelancer_locks_funds.1.json b/contracts/escrow/test_snapshots/test/test_raise_dispute_by_freelancer_locks_funds.1.json index e722bdc2..b8771d1b 100644 --- a/contracts/escrow/test_snapshots/test/test_raise_dispute_by_freelancer_locks_funds.1.json +++ b/contracts/escrow/test_snapshots/test/test_raise_dispute_by_freelancer_locks_funds.1.json @@ -612,6 +612,14 @@ } } }, + { + "key": { + "symbol": "requires_multisig" + }, + "val": { + "bool": false + } + }, { "key": { "symbol": "status" @@ -2092,6 +2100,14 @@ } } }, + { + "key": { + "symbol": "requires_multisig" + }, + "val": { + "bool": false + } + }, { "key": { "symbol": "status" diff --git a/contracts/escrow/test_snapshots/test/test_raise_dispute_by_third_party_panics.1.json b/contracts/escrow/test_snapshots/test/test_raise_dispute_by_third_party_panics.1.json index a2987e12..7cb3bc38 100644 --- a/contracts/escrow/test_snapshots/test/test_raise_dispute_by_third_party_panics.1.json +++ b/contracts/escrow/test_snapshots/test/test_raise_dispute_by_third_party_panics.1.json @@ -472,6 +472,14 @@ } } }, + { + "key": { + "symbol": "requires_multisig" + }, + "val": { + "bool": false + } + }, { "key": { "symbol": "status" @@ -1641,7 +1649,7 @@ "data": { "vec": [ { - "string": "caught panic 'unauthorized: only client or freelancer can raise a dispute' from contract function 'Symbol(obj#439)'" + "string": "caught panic 'unauthorized: only client or freelancer can raise a dispute' from contract function 'Symbol(obj#449)'" }, { "u64": 1 diff --git a/contracts/escrow/test_snapshots/test/test_raise_dispute_on_completed_job_panics.1.json b/contracts/escrow/test_snapshots/test/test_raise_dispute_on_completed_job_panics.1.json index 833e3ceb..7cc3a529 100644 --- a/contracts/escrow/test_snapshots/test/test_raise_dispute_on_completed_job_panics.1.json +++ b/contracts/escrow/test_snapshots/test/test_raise_dispute_on_completed_job_panics.1.json @@ -527,6 +527,14 @@ } } }, + { + "key": { + "symbol": "requires_multisig" + }, + "val": { + "bool": false + } + }, { "key": { "symbol": "status" @@ -1987,7 +1995,7 @@ "data": { "vec": [ { - "string": "caught panic 'dispute cannot be raised: job is not in active state' from contract function 'Symbol(obj#601)'" + "string": "caught panic 'dispute cannot be raised: job is not in active state' from contract function 'Symbol(obj#615)'" }, { "u64": 1 diff --git a/contracts/escrow/test_snapshots/test/test_raise_dispute_then_resolve.1.json b/contracts/escrow/test_snapshots/test/test_raise_dispute_then_resolve.1.json index a80db913..19905c5f 100644 --- a/contracts/escrow/test_snapshots/test/test_raise_dispute_then_resolve.1.json +++ b/contracts/escrow/test_snapshots/test/test_raise_dispute_then_resolve.1.json @@ -820,6 +820,14 @@ } } }, + { + "key": { + "symbol": "requires_multisig" + }, + "val": { + "bool": false + } + }, { "key": { "symbol": "status" @@ -2760,6 +2768,14 @@ } } }, + { + "key": { + "symbol": "requires_multisig" + }, + "val": { + "bool": false + } + }, { "key": { "symbol": "status" @@ -3260,6 +3276,14 @@ } } }, + { + "key": { + "symbol": "requires_multisig" + }, + "val": { + "bool": false + } + }, { "key": { "symbol": "status" diff --git a/contracts/escrow/test_snapshots/test/test_refund.1.json b/contracts/escrow/test_snapshots/test/test_refund.1.json index a0b46734..93799cf5 100644 --- a/contracts/escrow/test_snapshots/test/test_refund.1.json +++ b/contracts/escrow/test_snapshots/test/test_refund.1.json @@ -614,6 +614,14 @@ } } }, + { + "key": { + "symbol": "requires_multisig" + }, + "val": { + "bool": false + } + }, { "key": { "symbol": "status" @@ -2244,6 +2252,14 @@ } } }, + { + "key": { + "symbol": "requires_multisig" + }, + "val": { + "bool": false + } + }, { "key": { "symbol": "status" diff --git a/contracts/escrow/test_snapshots/test/test_refund_by_non_client_panics.1.json b/contracts/escrow/test_snapshots/test/test_refund_by_non_client_panics.1.json index 31e0feaa..afdc7564 100644 --- a/contracts/escrow/test_snapshots/test/test_refund_by_non_client_panics.1.json +++ b/contracts/escrow/test_snapshots/test/test_refund_by_non_client_panics.1.json @@ -472,6 +472,14 @@ } } }, + { + "key": { + "symbol": "requires_multisig" + }, + "val": { + "bool": false + } + }, { "key": { "symbol": "status" diff --git a/contracts/escrow/test_snapshots/test/test_release_funds_explicit_index.1.json b/contracts/escrow/test_snapshots/test/test_release_funds_explicit_index.1.json index 7cad3782..029e37c8 100644 --- a/contracts/escrow/test_snapshots/test/test_release_funds_explicit_index.1.json +++ b/contracts/escrow/test_snapshots/test/test_release_funds_explicit_index.1.json @@ -819,6 +819,14 @@ } } }, + { + "key": { + "symbol": "requires_multisig" + }, + "val": { + "bool": false + } + }, { "key": { "symbol": "status" @@ -3071,6 +3079,14 @@ } } }, + { + "key": { + "symbol": "requires_multisig" + }, + "val": { + "bool": false + } + }, { "key": { "symbol": "status" diff --git a/contracts/escrow/test_snapshots/test/test_release_funds_invalid_index_panics.1.json b/contracts/escrow/test_snapshots/test/test_release_funds_invalid_index_panics.1.json index 69a193cd..2419cfd9 100644 --- a/contracts/escrow/test_snapshots/test/test_release_funds_invalid_index_panics.1.json +++ b/contracts/escrow/test_snapshots/test/test_release_funds_invalid_index_panics.1.json @@ -472,6 +472,14 @@ } } }, + { + "key": { + "symbol": "requires_multisig" + }, + "val": { + "bool": false + } + }, { "key": { "symbol": "status" @@ -1644,7 +1652,7 @@ "data": { "vec": [ { - "string": "caught panic 'invalid milestone index' from contract function 'Symbol(obj#437)'" + "string": "caught panic 'invalid milestone index' from contract function 'Symbol(obj#447)'" }, { "u64": 1 diff --git a/contracts/escrow/test_snapshots/test/test_release_funds_twice_panics.1.json b/contracts/escrow/test_snapshots/test/test_release_funds_twice_panics.1.json index 6c13b5df..45a5aebc 100644 --- a/contracts/escrow/test_snapshots/test/test_release_funds_twice_panics.1.json +++ b/contracts/escrow/test_snapshots/test/test_release_funds_twice_panics.1.json @@ -530,6 +530,14 @@ } } }, + { + "key": { + "symbol": "requires_multisig" + }, + "val": { + "bool": false + } + }, { "key": { "symbol": "status" @@ -1957,7 +1965,7 @@ "data": { "vec": [ { - "string": "caught panic 'job not in releaseable state' from contract function 'Symbol(obj#591)'" + "string": "caught panic 'job not in releaseable state' from contract function 'Symbol(obj#605)'" }, { "u64": 1 diff --git a/contracts/escrow/test_snapshots/test/test_release_milestone_no_pending_milestones.1.json b/contracts/escrow/test_snapshots/test/test_release_milestone_no_pending_milestones.1.json index f4870e74..ca27c818 100644 --- a/contracts/escrow/test_snapshots/test/test_release_milestone_no_pending_milestones.1.json +++ b/contracts/escrow/test_snapshots/test/test_release_milestone_no_pending_milestones.1.json @@ -527,6 +527,14 @@ } } }, + { + "key": { + "symbol": "requires_multisig" + }, + "val": { + "bool": false + } + }, { "key": { "symbol": "status" diff --git a/contracts/escrow/test_snapshots/test/test_release_milestone_overflow_panics.1.json b/contracts/escrow/test_snapshots/test/test_release_milestone_overflow_panics.1.json index f4870e74..ca27c818 100644 --- a/contracts/escrow/test_snapshots/test/test_release_milestone_overflow_panics.1.json +++ b/contracts/escrow/test_snapshots/test/test_release_milestone_overflow_panics.1.json @@ -527,6 +527,14 @@ } } }, + { + "key": { + "symbol": "requires_multisig" + }, + "val": { + "bool": false + } + }, { "key": { "symbol": "status" diff --git a/contracts/escrow/test_snapshots/test/test_release_milestone_sequential_success.1.json b/contracts/escrow/test_snapshots/test/test_release_milestone_sequential_success.1.json index e530a573..4501710c 100644 --- a/contracts/escrow/test_snapshots/test/test_release_milestone_sequential_success.1.json +++ b/contracts/escrow/test_snapshots/test/test_release_milestone_sequential_success.1.json @@ -812,6 +812,14 @@ } } }, + { + "key": { + "symbol": "requires_multisig" + }, + "val": { + "bool": false + } + }, { "key": { "symbol": "status" @@ -2580,6 +2588,14 @@ } } }, + { + "key": { + "symbol": "requires_multisig" + }, + "val": { + "bool": false + } + }, { "key": { "symbol": "status" @@ -3064,6 +3080,14 @@ } } }, + { + "key": { + "symbol": "requires_multisig" + }, + "val": { + "bool": false + } + }, { "key": { "symbol": "status" @@ -3548,6 +3572,14 @@ } } }, + { + "key": { + "symbol": "requires_multisig" + }, + "val": { + "bool": false + } + }, { "key": { "symbol": "status" diff --git a/contracts/escrow/test_snapshots/test/test_release_milestone_unauthorized_freelancer.1.json b/contracts/escrow/test_snapshots/test/test_release_milestone_unauthorized_freelancer.1.json index 1a66c033..e9f1d832 100644 --- a/contracts/escrow/test_snapshots/test/test_release_milestone_unauthorized_freelancer.1.json +++ b/contracts/escrow/test_snapshots/test/test_release_milestone_unauthorized_freelancer.1.json @@ -472,6 +472,14 @@ } } }, + { + "key": { + "symbol": "requires_multisig" + }, + "val": { + "bool": false + } + }, { "key": { "symbol": "status" diff --git a/contracts/escrow/test_snapshots/test/test_resolve_dispute_full_payout_to_freelancer.1.json b/contracts/escrow/test_snapshots/test/test_resolve_dispute_full_payout_to_freelancer.1.json index dc53882b..c14f8e8e 100644 --- a/contracts/escrow/test_snapshots/test/test_resolve_dispute_full_payout_to_freelancer.1.json +++ b/contracts/escrow/test_snapshots/test/test_resolve_dispute_full_payout_to_freelancer.1.json @@ -592,6 +592,14 @@ } } }, + { + "key": { + "symbol": "requires_multisig" + }, + "val": { + "bool": false + } + }, { "key": { "symbol": "status" @@ -2222,6 +2230,14 @@ } } }, + { + "key": { + "symbol": "requires_multisig" + }, + "val": { + "bool": false + } + }, { "key": { "symbol": "status" diff --git a/contracts/escrow/test_snapshots/test/test_resolve_dispute_full_refund_to_client.1.json b/contracts/escrow/test_snapshots/test/test_resolve_dispute_full_refund_to_client.1.json index 4dfbdbdf..2f1f68d5 100644 --- a/contracts/escrow/test_snapshots/test/test_resolve_dispute_full_refund_to_client.1.json +++ b/contracts/escrow/test_snapshots/test/test_resolve_dispute_full_refund_to_client.1.json @@ -593,6 +593,14 @@ } } }, + { + "key": { + "symbol": "requires_multisig" + }, + "val": { + "bool": false + } + }, { "key": { "symbol": "status" @@ -2150,6 +2158,14 @@ } } }, + { + "key": { + "symbol": "requires_multisig" + }, + "val": { + "bool": false + } + }, { "key": { "symbol": "status" diff --git a/contracts/escrow/test_snapshots/test/test_resolve_dispute_not_disputed_panics.1.json b/contracts/escrow/test_snapshots/test/test_resolve_dispute_not_disputed_panics.1.json index 15359364..da128a23 100644 --- a/contracts/escrow/test_snapshots/test/test_resolve_dispute_not_disputed_panics.1.json +++ b/contracts/escrow/test_snapshots/test/test_resolve_dispute_not_disputed_panics.1.json @@ -472,6 +472,14 @@ } } }, + { + "key": { + "symbol": "requires_multisig" + }, + "val": { + "bool": false + } + }, { "key": { "symbol": "status" @@ -1650,7 +1658,7 @@ "data": { "vec": [ { - "string": "caught panic 'job not disputed' from contract function 'Symbol(obj#437)'" + "string": "caught panic 'job not disputed' from contract function 'Symbol(obj#447)'" }, { "u64": 1 diff --git a/contracts/escrow/test_snapshots/test/test_unauthorized_release.1.json b/contracts/escrow/test_snapshots/test/test_unauthorized_release.1.json index d78914f2..58704347 100644 --- a/contracts/escrow/test_snapshots/test/test_unauthorized_release.1.json +++ b/contracts/escrow/test_snapshots/test/test_unauthorized_release.1.json @@ -557,6 +557,14 @@ } } }, + { + "key": { + "symbol": "requires_multisig" + }, + "val": { + "bool": false + } + }, { "key": { "symbol": "status" diff --git a/contracts/escrow/test_snapshots/test/test_unauthorized_release_funds_by_freelancer_panics.1.json b/contracts/escrow/test_snapshots/test/test_unauthorized_release_funds_by_freelancer_panics.1.json index a7c32115..26afcd3d 100644 --- a/contracts/escrow/test_snapshots/test/test_unauthorized_release_funds_by_freelancer_panics.1.json +++ b/contracts/escrow/test_snapshots/test/test_unauthorized_release_funds_by_freelancer_panics.1.json @@ -472,6 +472,14 @@ } } }, + { + "key": { + "symbol": "requires_multisig" + }, + "val": { + "bool": false + } + }, { "key": { "symbol": "status" @@ -1644,7 +1652,7 @@ "data": { "vec": [ { - "string": "caught panic 'only client can release' from contract function 'Symbol(obj#437)'" + "string": "caught panic 'only client can release' from contract function 'Symbol(obj#447)'" }, { "u64": 1 diff --git a/contracts/escrow/test_snapshots/test/test_variable_milestone_amounts.1.json b/contracts/escrow/test_snapshots/test/test_variable_milestone_amounts.1.json index 61100b56..25b85f75 100644 --- a/contracts/escrow/test_snapshots/test/test_variable_milestone_amounts.1.json +++ b/contracts/escrow/test_snapshots/test/test_variable_milestone_amounts.1.json @@ -812,6 +812,14 @@ } } }, + { + "key": { + "symbol": "requires_multisig" + }, + "val": { + "bool": false + } + }, { "key": { "symbol": "status" @@ -3295,6 +3303,14 @@ } } }, + { + "key": { + "symbol": "requires_multisig" + }, + "val": { + "bool": false + } + }, { "key": { "symbol": "status"