From 6de32f66b48d8469333247f78cee9accdc520823 Mon Sep 17 00:00:00 2001 From: Stanley Owoh Date: Mon, 31 Aug 2026 15:52:58 +0100 Subject: [PATCH] feat: add contract pause emergency stop --- .../contracts/agent_bidding/src/errors.rs | 2 + .../contracts/agent_bidding/src/lib.rs | 229 ++++++ .../contracts/agent_bidding/src/types.rs | 4 + ...d_contract_before_reveal_bids_fails.1.json | 60 +- ...contract_creates_escrow_and_refunds.1.json | 74 +- ...contract_refunds_all_losing_bidders.1.json | 102 ++- .../test/award_contract_twice_fails.1.json | 74 +- .../create_auction_duplicate_fails.1.json | 40 +- .../test/create_auction_emits_event.1.json | 42 +- .../test/create_auction_stores_record.1.json | 40 +- .../full_sealed_bid_reveal_award_flow.1.json | 130 ++-- ...get_auction_still_works_when_paused.1.json | 398 ++++++++++ .../initialize_sets_admin_and_unpaused.1.json | 103 +++ .../non_revealed_bidder_cannot_win.1.json | 90 ++- .../test/pause_blocks_award_contract.1.json | 715 ++++++++++++++++++ .../test/pause_blocks_create_auction.1.json | 150 ++++ .../test/pause_blocks_reveal_bid.1.json | 602 +++++++++++++++ .../test/pause_blocks_reveal_bids.1.json | 669 ++++++++++++++++ .../test/pause_blocks_submit_bid.1.json | 398 ++++++++++ .../reveal_bid_before_deadline_fails.1.json | 60 +- .../test/reveal_bid_twice_fails.1.json | 68 +- .../reveal_bid_verifies_commitment.1.json | 68 +- .../reveal_bid_wrong_commitment_fails.1.json | 60 +- .../reveal_bids_before_deadline_fails.1.json | 40 +- .../test/reveal_bids_emits_event.1.json | 72 +- .../test/reveal_bids_no_revealed_fails.1.json | 40 +- ...ects_cheapest_when_reputation_equal.1.json | 98 ++- ...elects_high_reputation_on_price_tie.1.json | 98 ++- .../submit_bid_after_deadline_fails.1.json | 40 +- .../test/submit_bid_duplicate_fails.1.json | 60 +- .../test/submit_bid_emits_event.1.json | 62 +- ...submit_bid_invalid_reputation_fails.1.json | 40 +- .../test/submit_bid_succeeds.1.json | 60 +- .../test/submit_bid_wrong_bond_fails.1.json | 40 +- .../test/unpause_allows_create_auction.1.json | 446 +++++++++++ ...r_selection_price_preference_on_tie.1.json | 98 ++- .../contracts/agent_marketplace/src/lib.rs | 81 +- .../contracts/agent_marketplace/src/test.rs | 96 ++- .../contracts/dispute_resolution/src/lib.rs | 52 +- .../contracts/dispute_resolution/src/test.rs | 66 +- .../contracts/error-registry/src/lib.rs | 77 +- .../contracts/error-registry/src/test.rs | 59 +- ...records_do_not_consume_batch_budget.1.json | 30 +- ...mestamp_equals_expires_at_is_active.1.json | 30 +- .../cleanup_batch_is_capped_at_max.1.json | 30 +- .../cleanup_is_bounded_by_max_batch.1.json | 30 +- ...ps_code_index_for_surviving_records.1.json | 30 +- .../cleanup_multiple_mixed_records.1.json | 30 +- .../cleanup_on_empty_registry_is_safe.1.json | 30 +- ...moves_code_index_entry_when_emptied.1.json | 30 +- ...up_removes_expired_and_keeps_active.1.json | 30 +- .../test/cleanup_respects_boundary.1.json | 30 +- .../cleanup_still_works_when_paused.1.json | 200 +++++ ...nup_with_no_expired_records_is_noop.1.json | 30 +- ...icate_submit_returns_already_exists.1.json | 30 +- .../get_error_hides_expired_record.1.json | 30 +- .../get_error_still_works_when_paused.1.json | 329 ++++++++ .../get_errors_by_code_skips_expired.1.json | 30 +- .../initialize_sets_admin_and_unpaused.1.json | 103 +++ .../test/pause_blocks_submit_error.1.json | 150 ++++ ...submit_error_at_max_ttl_is_accepted.1.json | 30 +- .../submit_error_stores_expires_at.1.json | 30 +- .../test/ttl_above_max_is_rejected.1.json | 30 +- .../test/ttl_overflow_is_rejected.1.json | 30 +- .../test/ttl_zero_is_rejected.1.json | 30 +- .../test/unpause_allows_submit_error.1.json | 377 +++++++++ .../error-resolver/src/agent_errors.rs | 97 +++ .../test/admin_can_manage_allowlist.1.json | 12 + .../test/clear_resets_count_to_zero.1.json | 12 + ...ror_count_for_unknown_agent_is_zero.1.json | 12 + ...error_count_still_works_when_paused.1.json | 318 ++++++++ .../test/initialize_cannot_run_twice.1.json | 12 + .../test/initialize_sets_admin.1.json | 12 + .../test/initialize_sets_unpaused.1.json | 114 +++ .../non_admin_cannot_manage_allowlist.1.json | 12 + .../test/pause_blocks_record_error.1.json | 218 ++++++ .../test/record_and_query_error_count.1.json | 12 + .../unauthorized_caller_cannot_clear.1.json | 12 + .../unauthorized_caller_cannot_record.1.json | 12 + .../test/unpause_allows_record_error.1.json | 396 ++++++++++ .../contracts/task_store/src/lib.rs | 130 ++++ .../contracts/task_store/src/types.rs | 3 + ...transition_emits_no_lifecycle_event.1.json | 279 +++++++ .../test/assigned_agent_updates_status.1.json | 337 +++++++++ ...ent_payload_matches_stored_metadata.1.json | 253 +++++++ ..._exactly_one_created_event_on_store.1.json | 355 +++++++++ ...alized_event_on_terminal_transition.1.json | 467 ++++++++++++ ...ed_event_on_non_terminal_transition.1.json | 409 ++++++++++ ..._for_the_failed_terminal_status_too.1.json | 409 ++++++++++ ...sk_metadata_still_works_when_paused.1.json | 327 ++++++++ .../test/initialize_sets_unpaused.1.json | 102 +++ ...ata_expires_after_configured_period.1.json | 279 +++++++ .../pause_blocks_store_task_metadata.1.json | 150 ++++ .../pause_blocks_update_task_status.1.json | 327 ++++++++ .../rejects_invalid_status_transition.1.json | 279 +++++++ .../test/stores_and_retrieves_metadata.1.json | 279 +++++++ ...assigned_agent_cannot_update_status.1.json | 279 +++++++ .../unpause_allows_store_task_metadata.1.json | 375 +++++++++ .../contracts/upgrade-manager/src/lib.rs | 199 +++++ 99 files changed, 13410 insertions(+), 611 deletions(-) create mode 100644 smart-contracts/contracts/agent_bidding/test_snapshots/test/get_auction_still_works_when_paused.1.json create mode 100644 smart-contracts/contracts/agent_bidding/test_snapshots/test/initialize_sets_admin_and_unpaused.1.json create mode 100644 smart-contracts/contracts/agent_bidding/test_snapshots/test/pause_blocks_award_contract.1.json create mode 100644 smart-contracts/contracts/agent_bidding/test_snapshots/test/pause_blocks_create_auction.1.json create mode 100644 smart-contracts/contracts/agent_bidding/test_snapshots/test/pause_blocks_reveal_bid.1.json create mode 100644 smart-contracts/contracts/agent_bidding/test_snapshots/test/pause_blocks_reveal_bids.1.json create mode 100644 smart-contracts/contracts/agent_bidding/test_snapshots/test/pause_blocks_submit_bid.1.json create mode 100644 smart-contracts/contracts/agent_bidding/test_snapshots/test/unpause_allows_create_auction.1.json create mode 100644 smart-contracts/contracts/error-registry/test_snapshots/test/cleanup_still_works_when_paused.1.json create mode 100644 smart-contracts/contracts/error-registry/test_snapshots/test/get_error_still_works_when_paused.1.json create mode 100644 smart-contracts/contracts/error-registry/test_snapshots/test/initialize_sets_admin_and_unpaused.1.json create mode 100644 smart-contracts/contracts/error-registry/test_snapshots/test/pause_blocks_submit_error.1.json create mode 100644 smart-contracts/contracts/error-registry/test_snapshots/test/unpause_allows_submit_error.1.json create mode 100644 smart-contracts/contracts/error-resolver/test_snapshots/agent_errors/test/get_agent_error_count_still_works_when_paused.1.json create mode 100644 smart-contracts/contracts/error-resolver/test_snapshots/agent_errors/test/initialize_sets_unpaused.1.json create mode 100644 smart-contracts/contracts/error-resolver/test_snapshots/agent_errors/test/pause_blocks_record_error.1.json create mode 100644 smart-contracts/contracts/error-resolver/test_snapshots/agent_errors/test/unpause_allows_record_error.1.json create mode 100644 smart-contracts/contracts/task_store/test_snapshots/test/a_rejected_transition_emits_no_lifecycle_event.1.json create mode 100644 smart-contracts/contracts/task_store/test_snapshots/test/assigned_agent_updates_status.1.json create mode 100644 smart-contracts/contracts/task_store/test_snapshots/test/created_event_payload_matches_stored_metadata.1.json create mode 100644 smart-contracts/contracts/task_store/test_snapshots/test/emits_exactly_one_created_event_on_store.1.json create mode 100644 smart-contracts/contracts/task_store/test_snapshots/test/emits_exactly_one_finalized_event_on_terminal_transition.1.json create mode 100644 smart-contracts/contracts/task_store/test_snapshots/test/emits_exactly_one_updated_event_on_non_terminal_transition.1.json create mode 100644 smart-contracts/contracts/task_store/test_snapshots/test/finalized_event_fires_for_the_failed_terminal_status_too.1.json create mode 100644 smart-contracts/contracts/task_store/test_snapshots/test/get_task_metadata_still_works_when_paused.1.json create mode 100644 smart-contracts/contracts/task_store/test_snapshots/test/initialize_sets_unpaused.1.json create mode 100644 smart-contracts/contracts/task_store/test_snapshots/test/metadata_expires_after_configured_period.1.json create mode 100644 smart-contracts/contracts/task_store/test_snapshots/test/pause_blocks_store_task_metadata.1.json create mode 100644 smart-contracts/contracts/task_store/test_snapshots/test/pause_blocks_update_task_status.1.json create mode 100644 smart-contracts/contracts/task_store/test_snapshots/test/rejects_invalid_status_transition.1.json create mode 100644 smart-contracts/contracts/task_store/test_snapshots/test/stores_and_retrieves_metadata.1.json create mode 100644 smart-contracts/contracts/task_store/test_snapshots/test/unassigned_agent_cannot_update_status.1.json create mode 100644 smart-contracts/contracts/task_store/test_snapshots/test/unpause_allows_store_task_metadata.1.json diff --git a/smart-contracts/contracts/agent_bidding/src/errors.rs b/smart-contracts/contracts/agent_bidding/src/errors.rs index 6297fedc..d5d8fcd4 100644 --- a/smart-contracts/contracts/agent_bidding/src/errors.rs +++ b/smart-contracts/contracts/agent_bidding/src/errors.rs @@ -50,4 +50,6 @@ pub enum Error { WinnerNotDetermined = 16, /// The escrow for this auction has already been created. EscrowAlreadyCreated = 17, + /// The contract is paused and cannot accept mutations. + ContractPaused = 18, } diff --git a/smart-contracts/contracts/agent_bidding/src/lib.rs b/smart-contracts/contracts/agent_bidding/src/lib.rs index 5ec4d1e0..763a0d6b 100644 --- a/smart-contracts/contracts/agent_bidding/src/lib.rs +++ b/smart-contracts/contracts/agent_bidding/src/lib.rs @@ -110,6 +110,30 @@ fn compute_commitment( env.crypto().sha256(&preimage).into() } +// ─── Helpers ───────────────────────────────────────────────────────────────── + +fn require_admin(env: &Env) -> Result { + let admin: Address = env + .storage() + .instance() + .get(&DataKey::Admin) + .ok_or(Error::Unauthorized)?; + admin.require_auth(); + Ok(admin) +} + +fn require_not_paused(env: &Env) -> Result<(), Error> { + let paused: bool = env + .storage() + .instance() + .get(&DataKey::Paused) + .unwrap_or(false); + if paused { + return Err(Error::ContractPaused); + } + Ok(()) +} + // ─── Contract ──────────────────────────────────────────────────────────────── #[contract] @@ -117,6 +141,64 @@ pub struct AgentBiddingContract; #[contractimpl] impl AgentBiddingContract { + // ── Admin ───────────────────────────────────────────────────────────── + + /// Initialise the contract with an admin. Can only be called once. + pub fn initialize(env: Env, admin: Address) -> Result<(), Error> { + if env.storage().instance().has(&DataKey::Admin) { + return Err(Error::AlreadyExists); + } + env.storage().instance().set(&DataKey::Admin, &admin); + env.storage().instance().set(&DataKey::Paused, &false); + + env.events() + .publish((symbol_short!("bidding"), symbol_short!("init")), admin); + Ok(()) + } + + /// Transfer admin to a new address. Admin only. + pub fn set_admin(env: Env, new_admin: Address) -> Result<(), Error> { + let old_admin = require_admin(&env)?; + env.storage().instance().set(&DataKey::Admin, &new_admin); + + env.events().publish( + (symbol_short!("bidding"), symbol_short!("adm_chng")), + (old_admin, new_admin), + ); + Ok(()) + } + + /// Return the current admin address, if set. + pub fn get_admin(env: Env) -> Option
{ + env.storage().instance().get(&DataKey::Admin) + } + + /// Pause the contract. Only admin can call this. + pub fn pause(env: Env) -> Result<(), Error> { + require_admin(&env)?; + env.storage().instance().set(&DataKey::Paused, &true); + env.events() + .publish((symbol_short!("bidding"), symbol_short!("paused")), ()); + Ok(()) + } + + /// Unpause the contract. Only admin can call this. + pub fn unpause(env: Env) -> Result<(), Error> { + require_admin(&env)?; + env.storage().instance().set(&DataKey::Paused, &false); + env.events() + .publish((symbol_short!("bidding"), symbol_short!("unpaused")), ()); + Ok(()) + } + + /// Returns whether the contract is currently paused. + pub fn is_paused(env: Env) -> bool { + env.storage() + .instance() + .get(&DataKey::Paused) + .unwrap_or(false) + } + // ── Creation ───────────────────────────────────────────────────────── /// Initialise a new auction for `task_id`. @@ -132,6 +214,7 @@ impl AgentBiddingContract { reserve_price: i128, bond: i128, ) -> Result<(), Error> { + require_not_paused(&env)?; creator.require_auth(); let auct_key = DataKey::Auction(task_id.clone()); @@ -211,6 +294,7 @@ impl AgentBiddingContract { bond: i128, reputation: u32, ) -> Result<(), Error> { + require_not_paused(&env)?; bidder.require_auth(); let auct_key = DataKey::Auction(task_id.clone()); @@ -305,6 +389,7 @@ impl AgentBiddingContract { terms: String, salt: BytesN<32>, ) -> Result<(), Error> { + require_not_paused(&env)?; bidder.require_auth(); let auct_key = DataKey::Auction(task_id.clone()); @@ -374,6 +459,8 @@ impl AgentBiddingContract { /// Requires at least one revealed bid. Phase transitions to `Reveal`. /// Emits `(bidding, bids_rvld)`. pub fn reveal_bids(env: Env, task_id: Symbol) -> Result<(), Error> { + require_not_paused(&env)?; + let auct_key = DataKey::Auction(task_id.clone()); let mut auction: Auction = env .storage() @@ -515,6 +602,8 @@ impl AgentBiddingContract { /// /// Phase transitions to `Awarded`. Emits `(bidding, cntrct_aw)`. pub fn award_contract(env: Env, task_id: Symbol) -> Result<(), Error> { + require_not_paused(&env)?; + let auct_key = DataKey::Auction(task_id.clone()); let mut auction: Auction = env .storage() @@ -654,6 +743,8 @@ mod test { env.mock_all_auths(); let id = env.register(AgentBiddingContract, ()); let client = AgentBiddingContractClient::new(&env, &id); + let admin = Address::generate(&env); + client.initialize(&admin); (env, client) } @@ -1371,4 +1462,142 @@ mod test { "only revealed bidder can win" ); } + + // ── Pause / unpause ────────────────────────────────────────────────── + + #[test] + fn initialize_sets_admin_and_unpaused() { + let (_env, client) = setup(); + assert!(client.get_admin().is_some()); + assert!(!client.is_paused()); + } + + #[test] + fn pause_blocks_create_auction() { + let (env, client) = setup(); + let creator = Address::generate(&env); + let task_id = Symbol::new(&env, "paused_task"); + + client.pause(); + + let err = client.try_create_auction(&creator, &task_id, &0, &1_000_000, &500_000); + assert_eq!(err.err(), Some(Ok(Error::ContractPaused))); + } + + #[test] + fn unpause_allows_create_auction() { + let (env, client) = setup(); + let creator = Address::generate(&env); + let task_id = Symbol::new(&env, "unpaused_task"); + + client.pause(); + client.unpause(); + + client.create_auction(&creator, &task_id, &0, &1_000_000, &500_000); + assert!(client.get_auction(&task_id).is_some()); + } + + #[test] + fn pause_blocks_submit_bid() { + let (env, client) = setup(); + let creator = Address::generate(&env); + let bidder = Address::generate(&env); + let task_id = Symbol::new(&env, "bid_pause"); + + create_test_auction(&env, &client, &creator, &task_id, 3600); + + client.pause(); + + let salt = BytesN::<32>::from_array(&env, &[99u8; 32]); + let commitment = + test_commitment(&env, &bidder, 2_000_000, &String::from_str(&env, ""), &salt); + let err = client.try_submit_bid(&task_id, &bidder, &commitment, &500_000, &50); + assert_eq!(err.err(), Some(Ok(Error::ContractPaused))); + } + + #[test] + fn pause_blocks_reveal_bid() { + let (env, client) = setup(); + let creator = Address::generate(&env); + let bidder = Address::generate(&env); + let task_id = Symbol::new(&env, "rev_pause"); + + create_test_auction(&env, &client, &creator, &task_id, 3600); + + let salt = BytesN::<32>::from_array(&env, &[98u8; 32]); + let price: i128 = 3_000_000; + let terms = String::from_str(&env, "terms"); + let commitment = test_commitment(&env, &bidder, price, &terms, &salt); + client.submit_bid(&task_id, &bidder, &commitment, &500_000, &70); + + env.ledger().set_timestamp(env.ledger().timestamp() + 3601); + + client.pause(); + + let err = client.try_reveal_bid(&task_id, &bidder, &price, &terms, &salt); + assert_eq!(err.err(), Some(Ok(Error::ContractPaused))); + } + + #[test] + fn pause_blocks_reveal_bids() { + let (env, client) = setup(); + let creator = Address::generate(&env); + let bidder = Address::generate(&env); + let task_id = Symbol::new(&env, "rvb_pause"); + + create_test_auction(&env, &client, &creator, &task_id, 3600); + + let salt = BytesN::<32>::from_array(&env, &[97u8; 32]); + let price: i128 = 3_000_000; + let terms = String::from_str(&env, ""); + let commitment = test_commitment(&env, &bidder, price, &terms, &salt); + client.submit_bid(&task_id, &bidder, &commitment, &500_000, &70); + + env.ledger().set_timestamp(env.ledger().timestamp() + 3601); + client.reveal_bid(&task_id, &bidder, &price, &terms, &salt); + + client.pause(); + + let err = client.try_reveal_bids(&task_id); + assert_eq!(err.err(), Some(Ok(Error::ContractPaused))); + } + + #[test] + fn pause_blocks_award_contract() { + let (env, client) = setup(); + let creator = Address::generate(&env); + let bidder = Address::generate(&env); + let task_id = Symbol::new(&env, "aw_pause"); + + create_test_auction(&env, &client, &creator, &task_id, 3600); + + let salt = BytesN::<32>::from_array(&env, &[96u8; 32]); + let price: i128 = 3_000_000; + let terms = String::from_str(&env, ""); + let commitment = test_commitment(&env, &bidder, price, &terms, &salt); + client.submit_bid(&task_id, &bidder, &commitment, &500_000, &70); + + env.ledger().set_timestamp(env.ledger().timestamp() + 3601); + client.reveal_bid(&task_id, &bidder, &price, &terms, &salt); + client.reveal_bids(&task_id); + + client.pause(); + + let err = client.try_award_contract(&task_id); + assert_eq!(err.err(), Some(Ok(Error::ContractPaused))); + } + + #[test] + fn get_auction_still_works_when_paused() { + let (env, client) = setup(); + let creator = Address::generate(&env); + let task_id = Symbol::new(&env, "read_pause"); + + create_test_auction(&env, &client, &creator, &task_id, 3600); + + client.pause(); + + // Reads should still work when paused. + assert!(client.get_auction(&task_id).is_some()); + } } diff --git a/smart-contracts/contracts/agent_bidding/src/types.rs b/smart-contracts/contracts/agent_bidding/src/types.rs index 3cf0917f..59c9fc07 100644 --- a/smart-contracts/contracts/agent_bidding/src/types.rs +++ b/smart-contracts/contracts/agent_bidding/src/types.rs @@ -160,6 +160,10 @@ pub struct Escrow { #[contracttype] #[derive(Clone, Debug, Eq, PartialEq)] pub enum DataKey { + /// Contract admin address. + Admin, + /// Whether the contract is paused. + Paused, /// Stores the root [`Auction`] record for a task. Auction(Symbol), /// Stores a single [`SealedBid`] for a given (task, bidder) pair. diff --git a/smart-contracts/contracts/agent_bidding/test_snapshots/test/award_contract_before_reveal_bids_fails.1.json b/smart-contracts/contracts/agent_bidding/test_snapshots/test/award_contract_before_reveal_bids_fails.1.json index 70c105c5..c1e26b71 100644 --- a/smart-contracts/contracts/agent_bidding/test_snapshots/test/award_contract_before_reveal_bids_fails.1.json +++ b/smart-contracts/contracts/agent_bidding/test_snapshots/test/award_contract_before_reveal_bids_fails.1.json @@ -1,13 +1,14 @@ { "generators": { - "address": 3, + "address": 4, "nonce": 0 }, "auth": [ + [], [], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", { "function": { "contract_fn": { @@ -15,7 +16,7 @@ "function_name": "create_auction", "args": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" }, { "symbol": "pre_award" @@ -44,7 +45,7 @@ ], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", { "function": { "contract_fn": { @@ -55,10 +56,10 @@ "symbol": "pre_award" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { - "bytes": "9e229049ee32ee08e98779769c33cc635850ce3c4ad5e7630e505db0d68f22ce" + "bytes": "b1df293589135806ce11042e2dcd8e8fa69837b352ce992bec828137cc5eb0b1" }, { "i128": { @@ -177,7 +178,7 @@ "symbol": "creator" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" } }, { @@ -234,7 +235,7 @@ "symbol": "pre_award" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] }, @@ -257,7 +258,7 @@ "symbol": "pre_award" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] }, @@ -269,7 +270,7 @@ "symbol": "bidder" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } }, { @@ -288,7 +289,7 @@ "symbol": "commitment" }, "val": { - "bytes": "9e229049ee32ee08e98779769c33cc635850ce3c4ad5e7630e505db0d68f22ce" + "bytes": "b1df293589135806ce11042e2dcd8e8fa69837b352ce992bec828137cc5eb0b1" } }, { @@ -392,7 +393,7 @@ "val": { "vec": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] } @@ -425,7 +426,32 @@ "executable": { "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" }, - "storage": null + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } + } + ] } } } @@ -438,7 +464,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", "key": { "ledger_key_nonce": { "nonce": 801925984706572462 @@ -453,7 +479,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", "key": { "ledger_key_nonce": { "nonce": 801925984706572462 @@ -471,7 +497,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", "key": { "ledger_key_nonce": { "nonce": 5541220902715666415 @@ -486,7 +512,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", "key": { "ledger_key_nonce": { "nonce": 5541220902715666415 diff --git a/smart-contracts/contracts/agent_bidding/test_snapshots/test/award_contract_creates_escrow_and_refunds.1.json b/smart-contracts/contracts/agent_bidding/test_snapshots/test/award_contract_creates_escrow_and_refunds.1.json index 937078e4..cf802080 100644 --- a/smart-contracts/contracts/agent_bidding/test_snapshots/test/award_contract_creates_escrow_and_refunds.1.json +++ b/smart-contracts/contracts/agent_bidding/test_snapshots/test/award_contract_creates_escrow_and_refunds.1.json @@ -1,13 +1,14 @@ { "generators": { - "address": 3, + "address": 4, "nonce": 0 }, "auth": [ + [], [], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", { "function": { "contract_fn": { @@ -15,7 +16,7 @@ "function_name": "create_auction", "args": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" }, { "symbol": "award_ok" @@ -44,7 +45,7 @@ ], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", { "function": { "contract_fn": { @@ -55,10 +56,10 @@ "symbol": "award_ok" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { - "bytes": "6286aee724e43a249d58fc23e7eeaf8f66ee9905e673b085a028b75160cfe805" + "bytes": "94b643d03cf4e6570e185e24e0c47d13e2644d0735d5b92f901816688ba2ac5e" }, { "i128": { @@ -78,7 +79,7 @@ ], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", { "function": { "contract_fn": { @@ -89,7 +90,7 @@ "symbol": "award_ok" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { "i128": { @@ -215,7 +216,7 @@ "symbol": "creator" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" } }, { @@ -272,7 +273,7 @@ "symbol": "award_ok" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] }, @@ -295,7 +296,7 @@ "symbol": "award_ok" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] }, @@ -307,7 +308,7 @@ "symbol": "bidder" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } }, { @@ -326,7 +327,7 @@ "symbol": "commitment" }, "val": { - "bytes": "6286aee724e43a249d58fc23e7eeaf8f66ee9905e673b085a028b75160cfe805" + "bytes": "94b643d03cf4e6570e185e24e0c47d13e2644d0735d5b92f901816688ba2ac5e" } }, { @@ -430,7 +431,7 @@ "val": { "vec": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] } @@ -483,7 +484,7 @@ "symbol": "agent" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } }, { @@ -502,7 +503,7 @@ "symbol": "creator" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" } }, { @@ -574,7 +575,7 @@ }, "durability": "persistent", "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } } }, @@ -605,7 +606,32 @@ "executable": { "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" }, - "storage": null + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } + } + ] } } } @@ -618,7 +644,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", "key": { "ledger_key_nonce": { "nonce": 801925984706572462 @@ -633,7 +659,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", "key": { "ledger_key_nonce": { "nonce": 801925984706572462 @@ -651,7 +677,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", "key": { "ledger_key_nonce": { "nonce": 1033654523790656264 @@ -666,7 +692,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", "key": { "ledger_key_nonce": { "nonce": 1033654523790656264 @@ -684,7 +710,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", "key": { "ledger_key_nonce": { "nonce": 5541220902715666415 @@ -699,7 +725,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", "key": { "ledger_key_nonce": { "nonce": 5541220902715666415 diff --git a/smart-contracts/contracts/agent_bidding/test_snapshots/test/award_contract_refunds_all_losing_bidders.1.json b/smart-contracts/contracts/agent_bidding/test_snapshots/test/award_contract_refunds_all_losing_bidders.1.json index b0771a58..691e5067 100644 --- a/smart-contracts/contracts/agent_bidding/test_snapshots/test/award_contract_refunds_all_losing_bidders.1.json +++ b/smart-contracts/contracts/agent_bidding/test_snapshots/test/award_contract_refunds_all_losing_bidders.1.json @@ -1,13 +1,14 @@ { "generators": { - "address": 4, + "address": 5, "nonce": 0 }, "auth": [ + [], [], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", { "function": { "contract_fn": { @@ -15,7 +16,7 @@ "function_name": "create_auction", "args": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" }, { "symbol": "refund_all" @@ -44,7 +45,7 @@ ], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", { "function": { "contract_fn": { @@ -55,10 +56,10 @@ "symbol": "refund_all" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { - "bytes": "67667d7a6721cd5de0ada3241dbe0f1a51cf1a566e61faba4c43648eb7e9f9a7" + "bytes": "9f74d7095f7a9a37a22a93c686e8ce8cb90ad4995ed656aba09e431b0f4e8773" }, { "i128": { @@ -78,7 +79,7 @@ ], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", { "function": { "contract_fn": { @@ -89,10 +90,10 @@ "symbol": "refund_all" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" }, { - "bytes": "269cc2c94643df28b10973e1b0eaebce83b169550729f7017c4776e7b37f9a9d" + "bytes": "7bba9a79e7a8249bc886542a0cb6211e2c4285a26438934bbac9874a417f3b5a" }, { "i128": { @@ -112,7 +113,7 @@ ], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", { "function": { "contract_fn": { @@ -123,7 +124,7 @@ "symbol": "refund_all" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { "i128": { @@ -146,7 +147,7 @@ ], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", { "function": { "contract_fn": { @@ -157,7 +158,7 @@ "symbol": "refund_all" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" }, { "i128": { @@ -282,7 +283,7 @@ "symbol": "creator" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" } }, { @@ -339,7 +340,7 @@ "symbol": "refund_all" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] }, @@ -362,7 +363,7 @@ "symbol": "refund_all" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] }, @@ -374,7 +375,7 @@ "symbol": "bidder" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } }, { @@ -393,7 +394,7 @@ "symbol": "commitment" }, "val": { - "bytes": "67667d7a6721cd5de0ada3241dbe0f1a51cf1a566e61faba4c43648eb7e9f9a7" + "bytes": "9f74d7095f7a9a37a22a93c686e8ce8cb90ad4995ed656aba09e431b0f4e8773" } }, { @@ -472,7 +473,7 @@ "symbol": "refund_all" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" } ] }, @@ -495,7 +496,7 @@ "symbol": "refund_all" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" } ] }, @@ -507,7 +508,7 @@ "symbol": "bidder" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" } }, { @@ -526,7 +527,7 @@ "symbol": "commitment" }, "val": { - "bytes": "269cc2c94643df28b10973e1b0eaebce83b169550729f7017c4776e7b37f9a9d" + "bytes": "7bba9a79e7a8249bc886542a0cb6211e2c4285a26438934bbac9874a417f3b5a" } }, { @@ -630,10 +631,10 @@ "val": { "vec": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" } ] } @@ -686,7 +687,7 @@ "symbol": "agent" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } }, { @@ -705,7 +706,7 @@ "symbol": "creator" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" } }, { @@ -777,7 +778,7 @@ }, "durability": "persistent", "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } } }, @@ -808,7 +809,32 @@ "executable": { "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" }, - "storage": null + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } + } + ] } } } @@ -821,7 +847,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", "key": { "ledger_key_nonce": { "nonce": 801925984706572462 @@ -836,7 +862,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", "key": { "ledger_key_nonce": { "nonce": 801925984706572462 @@ -854,7 +880,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", "key": { "ledger_key_nonce": { "nonce": 4837995959683129791 @@ -869,7 +895,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", "key": { "ledger_key_nonce": { "nonce": 4837995959683129791 @@ -887,7 +913,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", "key": { "ledger_key_nonce": { "nonce": 5541220902715666415 @@ -902,7 +928,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", "key": { "ledger_key_nonce": { "nonce": 5541220902715666415 @@ -920,7 +946,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", "key": { "ledger_key_nonce": { "nonce": 1033654523790656264 @@ -935,7 +961,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", "key": { "ledger_key_nonce": { "nonce": 1033654523790656264 @@ -953,7 +979,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", "key": { "ledger_key_nonce": { "nonce": 2032731177588607455 @@ -968,7 +994,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", "key": { "ledger_key_nonce": { "nonce": 2032731177588607455 diff --git a/smart-contracts/contracts/agent_bidding/test_snapshots/test/award_contract_twice_fails.1.json b/smart-contracts/contracts/agent_bidding/test_snapshots/test/award_contract_twice_fails.1.json index e760477d..23fdff81 100644 --- a/smart-contracts/contracts/agent_bidding/test_snapshots/test/award_contract_twice_fails.1.json +++ b/smart-contracts/contracts/agent_bidding/test_snapshots/test/award_contract_twice_fails.1.json @@ -1,13 +1,14 @@ { "generators": { - "address": 3, + "address": 4, "nonce": 0 }, "auth": [ + [], [], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", { "function": { "contract_fn": { @@ -15,7 +16,7 @@ "function_name": "create_auction", "args": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" }, { "symbol": "twice_award" @@ -44,7 +45,7 @@ ], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", { "function": { "contract_fn": { @@ -55,10 +56,10 @@ "symbol": "twice_award" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { - "bytes": "8f797d7a3c138e2a173993b95e1e66d5feb5c08e727e876a118712a335261280" + "bytes": "a543d253a6e3f6a082cc0f4a7f4fba3f3ccc05cdd5ef287e946c5a726bcfdaaf" }, { "i128": { @@ -78,7 +79,7 @@ ], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", { "function": { "contract_fn": { @@ -89,7 +90,7 @@ "symbol": "twice_award" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { "i128": { @@ -213,7 +214,7 @@ "symbol": "creator" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" } }, { @@ -270,7 +271,7 @@ "symbol": "twice_award" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] }, @@ -293,7 +294,7 @@ "symbol": "twice_award" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] }, @@ -305,7 +306,7 @@ "symbol": "bidder" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } }, { @@ -324,7 +325,7 @@ "symbol": "commitment" }, "val": { - "bytes": "8f797d7a3c138e2a173993b95e1e66d5feb5c08e727e876a118712a335261280" + "bytes": "a543d253a6e3f6a082cc0f4a7f4fba3f3ccc05cdd5ef287e946c5a726bcfdaaf" } }, { @@ -428,7 +429,7 @@ "val": { "vec": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] } @@ -481,7 +482,7 @@ "symbol": "agent" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } }, { @@ -500,7 +501,7 @@ "symbol": "creator" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" } }, { @@ -572,7 +573,7 @@ }, "durability": "persistent", "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } } }, @@ -603,7 +604,32 @@ "executable": { "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" }, - "storage": null + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } + } + ] } } } @@ -616,7 +642,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", "key": { "ledger_key_nonce": { "nonce": 801925984706572462 @@ -631,7 +657,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", "key": { "ledger_key_nonce": { "nonce": 801925984706572462 @@ -649,7 +675,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", "key": { "ledger_key_nonce": { "nonce": 1033654523790656264 @@ -664,7 +690,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", "key": { "ledger_key_nonce": { "nonce": 1033654523790656264 @@ -682,7 +708,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", "key": { "ledger_key_nonce": { "nonce": 5541220902715666415 @@ -697,7 +723,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", "key": { "ledger_key_nonce": { "nonce": 5541220902715666415 diff --git a/smart-contracts/contracts/agent_bidding/test_snapshots/test/create_auction_duplicate_fails.1.json b/smart-contracts/contracts/agent_bidding/test_snapshots/test/create_auction_duplicate_fails.1.json index 41446dd3..96d754fb 100644 --- a/smart-contracts/contracts/agent_bidding/test_snapshots/test/create_auction_duplicate_fails.1.json +++ b/smart-contracts/contracts/agent_bidding/test_snapshots/test/create_auction_duplicate_fails.1.json @@ -1,13 +1,14 @@ { "generators": { - "address": 2, + "address": 3, "nonce": 0 }, "auth": [ + [], [], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", { "function": { "contract_fn": { @@ -15,7 +16,7 @@ "function_name": "create_auction", "args": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" }, { "symbol": "dup" @@ -143,7 +144,7 @@ "symbol": "creator" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" } }, { @@ -254,7 +255,32 @@ "executable": { "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" }, - "storage": null + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } + } + ] } } } @@ -267,7 +293,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", "key": { "ledger_key_nonce": { "nonce": 801925984706572462 @@ -282,7 +308,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", "key": { "ledger_key_nonce": { "nonce": 801925984706572462 diff --git a/smart-contracts/contracts/agent_bidding/test_snapshots/test/create_auction_emits_event.1.json b/smart-contracts/contracts/agent_bidding/test_snapshots/test/create_auction_emits_event.1.json index 0ff80c54..8b1d172b 100644 --- a/smart-contracts/contracts/agent_bidding/test_snapshots/test/create_auction_emits_event.1.json +++ b/smart-contracts/contracts/agent_bidding/test_snapshots/test/create_auction_emits_event.1.json @@ -1,13 +1,14 @@ { "generators": { - "address": 2, + "address": 3, "nonce": 0 }, "auth": [ + [], [], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", { "function": { "contract_fn": { @@ -15,7 +16,7 @@ "function_name": "create_auction", "args": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" }, { "symbol": "events" @@ -142,7 +143,7 @@ "symbol": "creator" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" } }, { @@ -253,7 +254,32 @@ "executable": { "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" }, - "storage": null + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } + } + ] } } } @@ -266,7 +292,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", "key": { "ledger_key_nonce": { "nonce": 801925984706572462 @@ -281,7 +307,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", "key": { "ledger_key_nonce": { "nonce": 801925984706572462 @@ -353,7 +379,7 @@ "symbol": "creator" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" } }, { diff --git a/smart-contracts/contracts/agent_bidding/test_snapshots/test/create_auction_stores_record.1.json b/smart-contracts/contracts/agent_bidding/test_snapshots/test/create_auction_stores_record.1.json index ef3e978d..854dbcd7 100644 --- a/smart-contracts/contracts/agent_bidding/test_snapshots/test/create_auction_stores_record.1.json +++ b/smart-contracts/contracts/agent_bidding/test_snapshots/test/create_auction_stores_record.1.json @@ -1,13 +1,14 @@ { "generators": { - "address": 2, + "address": 3, "nonce": 0 }, "auth": [ + [], [], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", { "function": { "contract_fn": { @@ -15,7 +16,7 @@ "function_name": "create_auction", "args": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" }, { "symbol": "task_1" @@ -143,7 +144,7 @@ "symbol": "creator" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" } }, { @@ -254,7 +255,32 @@ "executable": { "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" }, - "storage": null + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } + } + ] } } } @@ -267,7 +293,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", "key": { "ledger_key_nonce": { "nonce": 801925984706572462 @@ -282,7 +308,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", "key": { "ledger_key_nonce": { "nonce": 801925984706572462 diff --git a/smart-contracts/contracts/agent_bidding/test_snapshots/test/full_sealed_bid_reveal_award_flow.1.json b/smart-contracts/contracts/agent_bidding/test_snapshots/test/full_sealed_bid_reveal_award_flow.1.json index 120a9ea8..9f31638a 100644 --- a/smart-contracts/contracts/agent_bidding/test_snapshots/test/full_sealed_bid_reveal_award_flow.1.json +++ b/smart-contracts/contracts/agent_bidding/test_snapshots/test/full_sealed_bid_reveal_award_flow.1.json @@ -1,13 +1,14 @@ { "generators": { - "address": 5, + "address": 6, "nonce": 0 }, "auth": [ + [], [], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", { "function": { "contract_fn": { @@ -15,7 +16,7 @@ "function_name": "create_auction", "args": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" }, { "symbol": "e2e" @@ -45,7 +46,7 @@ [], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", { "function": { "contract_fn": { @@ -56,10 +57,10 @@ "symbol": "e2e" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { - "bytes": "3d9a40924e246508f43ec8093ffb84f913bfe56cf0810510c5eb6f7da3424e9d" + "bytes": "132d36cb5d4d89800758a5420988beb118d8aeea8d9c83a07e1a3eb1fd9a0017" }, { "i128": { @@ -79,7 +80,7 @@ ], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", { "function": { "contract_fn": { @@ -90,10 +91,10 @@ "symbol": "e2e" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" }, { - "bytes": "b458207405952819823ebba13b9de5071e5834e2b6d7d64f37d9f23ed65cbc18" + "bytes": "68b040de288041a190511819e5040677410e33618890cd0e5a0e4c1864ece225" }, { "i128": { @@ -113,7 +114,7 @@ ], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", { "function": { "contract_fn": { @@ -124,10 +125,10 @@ "symbol": "e2e" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" }, { - "bytes": "401976309b41ac1ef0a9b925cd57860e1ff4f7dee23a82c3aceac700e84df968" + "bytes": "576296fa4f926907af094f945d21e9be4bb8556f757a549646d3601121320028" }, { "i128": { @@ -149,7 +150,7 @@ [], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", { "function": { "contract_fn": { @@ -160,7 +161,7 @@ "symbol": "e2e" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { "i128": { @@ -183,7 +184,7 @@ ], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", { "function": { "contract_fn": { @@ -194,7 +195,7 @@ "symbol": "e2e" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" }, { "i128": { @@ -217,7 +218,7 @@ ], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", { "function": { "contract_fn": { @@ -228,7 +229,7 @@ "symbol": "e2e" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" }, { "i128": { @@ -360,7 +361,7 @@ "symbol": "creator" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" } }, { @@ -417,7 +418,7 @@ "symbol": "e2e" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] }, @@ -440,7 +441,7 @@ "symbol": "e2e" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] }, @@ -452,7 +453,7 @@ "symbol": "bidder" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } }, { @@ -471,7 +472,7 @@ "symbol": "commitment" }, "val": { - "bytes": "3d9a40924e246508f43ec8093ffb84f913bfe56cf0810510c5eb6f7da3424e9d" + "bytes": "132d36cb5d4d89800758a5420988beb118d8aeea8d9c83a07e1a3eb1fd9a0017" } }, { @@ -550,7 +551,7 @@ "symbol": "e2e" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" } ] }, @@ -573,7 +574,7 @@ "symbol": "e2e" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" } ] }, @@ -585,7 +586,7 @@ "symbol": "bidder" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" } }, { @@ -604,7 +605,7 @@ "symbol": "commitment" }, "val": { - "bytes": "b458207405952819823ebba13b9de5071e5834e2b6d7d64f37d9f23ed65cbc18" + "bytes": "68b040de288041a190511819e5040677410e33618890cd0e5a0e4c1864ece225" } }, { @@ -683,7 +684,7 @@ "symbol": "e2e" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } ] }, @@ -706,7 +707,7 @@ "symbol": "e2e" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } ] }, @@ -718,7 +719,7 @@ "symbol": "bidder" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } }, { @@ -737,7 +738,7 @@ "symbol": "commitment" }, "val": { - "bytes": "401976309b41ac1ef0a9b925cd57860e1ff4f7dee23a82c3aceac700e84df968" + "bytes": "576296fa4f926907af094f945d21e9be4bb8556f757a549646d3601121320028" } }, { @@ -840,14 +841,14 @@ "durability": "persistent", "val": { "vec": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" - }, { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } ] } @@ -900,7 +901,7 @@ "symbol": "agent" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" } }, { @@ -919,7 +920,7 @@ "symbol": "creator" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" } }, { @@ -991,7 +992,7 @@ }, "durability": "persistent", "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" } } }, @@ -1022,7 +1023,32 @@ "executable": { "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" }, - "storage": null + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } + } + ] } } } @@ -1035,7 +1061,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", "key": { "ledger_key_nonce": { "nonce": 801925984706572462 @@ -1050,7 +1076,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", "key": { "ledger_key_nonce": { "nonce": 801925984706572462 @@ -1068,7 +1094,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", "key": { "ledger_key_nonce": { "nonce": 2032731177588607455 @@ -1083,7 +1109,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", "key": { "ledger_key_nonce": { "nonce": 2032731177588607455 @@ -1101,7 +1127,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", "key": { "ledger_key_nonce": { "nonce": 5541220902715666415 @@ -1116,7 +1142,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", "key": { "ledger_key_nonce": { "nonce": 5541220902715666415 @@ -1134,7 +1160,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", "key": { "ledger_key_nonce": { "nonce": 1033654523790656264 @@ -1149,7 +1175,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", "key": { "ledger_key_nonce": { "nonce": 1033654523790656264 @@ -1167,7 +1193,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", "key": { "ledger_key_nonce": { "nonce": 4270020994084947596 @@ -1182,7 +1208,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", "key": { "ledger_key_nonce": { "nonce": 4270020994084947596 @@ -1200,7 +1226,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", "key": { "ledger_key_nonce": { "nonce": 4837995959683129791 @@ -1215,7 +1241,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", "key": { "ledger_key_nonce": { "nonce": 4837995959683129791 @@ -1233,7 +1259,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", "key": { "ledger_key_nonce": { "nonce": 8370022561469687789 @@ -1248,7 +1274,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", "key": { "ledger_key_nonce": { "nonce": 8370022561469687789 diff --git a/smart-contracts/contracts/agent_bidding/test_snapshots/test/get_auction_still_works_when_paused.1.json b/smart-contracts/contracts/agent_bidding/test_snapshots/test/get_auction_still_works_when_paused.1.json new file mode 100644 index 00000000..16edac7b --- /dev/null +++ b/smart-contracts/contracts/agent_bidding/test_snapshots/test/get_auction_still_works_when_paused.1.json @@ -0,0 +1,398 @@ +{ + "generators": { + "address": 3, + "nonce": 0 + }, + "auth": [ + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "create_auction", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "symbol": "read_pause" + }, + { + "u64": 3600 + }, + { + "i128": { + "hi": 0, + "lo": 1000000 + } + }, + { + "i128": { + "hi": 0, + "lo": 500000 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "pause", + "args": [] + } + }, + "sub_invocations": [] + } + ] + ], + [] + ], + "ledger": { + "protocol_version": 22, + "sequence_number": 0, + "timestamp": 0, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Auction" + }, + { + "symbol": "read_pause" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Auction" + }, + { + "symbol": "read_pause" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "config" + }, + "val": { + "map": [ + { + "key": { + "symbol": "bond" + }, + "val": { + "i128": { + "hi": 0, + "lo": 500000 + } + } + }, + { + "key": { + "symbol": "duration_secs" + }, + "val": { + "u64": 3600 + } + }, + { + "key": { + "symbol": "reserve_price" + }, + "val": { + "i128": { + "hi": 0, + "lo": 1000000 + } + } + } + ] + } + }, + { + "key": { + "symbol": "created_at" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "creator" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "symbol": "deadline" + }, + "val": { + "u64": 3600 + } + }, + { + "key": { + "symbol": "escrow_created" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "phase" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "task_id" + }, + "val": { + "symbol": "read_pause" + } + } + ] + } + } + }, + "ext": "v0" + }, + 535680 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Bidders" + }, + { + "symbol": "read_pause" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Bidders" + }, + { + "symbol": "read_pause" + } + ] + }, + "durability": "persistent", + "val": { + "vec": [] + } + } + }, + "ext": "v0" + }, + 535680 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": true + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [] +} \ No newline at end of file diff --git a/smart-contracts/contracts/agent_bidding/test_snapshots/test/initialize_sets_admin_and_unpaused.1.json b/smart-contracts/contracts/agent_bidding/test_snapshots/test/initialize_sets_admin_and_unpaused.1.json new file mode 100644 index 00000000..eb3969b2 --- /dev/null +++ b/smart-contracts/contracts/agent_bidding/test_snapshots/test/initialize_sets_admin_and_unpaused.1.json @@ -0,0 +1,103 @@ +{ + "generators": { + "address": 2, + "nonce": 0 + }, + "auth": [ + [], + [], + [], + [] + ], + "ledger": { + "protocol_version": 22, + "sequence_number": 0, + "timestamp": 0, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [] +} \ No newline at end of file diff --git a/smart-contracts/contracts/agent_bidding/test_snapshots/test/non_revealed_bidder_cannot_win.1.json b/smart-contracts/contracts/agent_bidding/test_snapshots/test/non_revealed_bidder_cannot_win.1.json index 044c49df..ab275b35 100644 --- a/smart-contracts/contracts/agent_bidding/test_snapshots/test/non_revealed_bidder_cannot_win.1.json +++ b/smart-contracts/contracts/agent_bidding/test_snapshots/test/non_revealed_bidder_cannot_win.1.json @@ -1,13 +1,14 @@ { "generators": { - "address": 4, + "address": 5, "nonce": 0 }, "auth": [ + [], [], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", { "function": { "contract_fn": { @@ -15,7 +16,7 @@ "function_name": "create_auction", "args": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" }, { "symbol": "no_show" @@ -44,7 +45,7 @@ ], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", { "function": { "contract_fn": { @@ -55,10 +56,10 @@ "symbol": "no_show" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { - "bytes": "67d5e59e8da16289f9b1758952a822f7895dcc8098268fa2b9bd793a704d7117" + "bytes": "a15eb3badcb7333ea716beddec27fe1ac532d061bddf1e8350f26e12c93cd5a6" }, { "i128": { @@ -78,7 +79,7 @@ ], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", { "function": { "contract_fn": { @@ -89,10 +90,10 @@ "symbol": "no_show" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" }, { - "bytes": "d5150e4908db9a81a77c8fc1a381d95190306e48089a9e989b9706111e832ddd" + "bytes": "b04d20481e58810fc26efdf4c5c80f13252753c088566404107c8e21d8e8f8bb" }, { "i128": { @@ -112,7 +113,7 @@ ], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", { "function": { "contract_fn": { @@ -123,7 +124,7 @@ "symbol": "no_show" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { "i128": { @@ -246,7 +247,7 @@ "symbol": "creator" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" } }, { @@ -303,7 +304,7 @@ "symbol": "no_show" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] }, @@ -326,7 +327,7 @@ "symbol": "no_show" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] }, @@ -338,7 +339,7 @@ "symbol": "bidder" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } }, { @@ -357,7 +358,7 @@ "symbol": "commitment" }, "val": { - "bytes": "67d5e59e8da16289f9b1758952a822f7895dcc8098268fa2b9bd793a704d7117" + "bytes": "a15eb3badcb7333ea716beddec27fe1ac532d061bddf1e8350f26e12c93cd5a6" } }, { @@ -436,7 +437,7 @@ "symbol": "no_show" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" } ] }, @@ -459,7 +460,7 @@ "symbol": "no_show" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" } ] }, @@ -471,7 +472,7 @@ "symbol": "bidder" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" } }, { @@ -490,7 +491,7 @@ "symbol": "commitment" }, "val": { - "bytes": "d5150e4908db9a81a77c8fc1a381d95190306e48089a9e989b9706111e832ddd" + "bytes": "b04d20481e58810fc26efdf4c5c80f13252753c088566404107c8e21d8e8f8bb" } }, { @@ -594,10 +595,10 @@ "val": { "vec": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" } ] } @@ -644,7 +645,7 @@ }, "durability": "persistent", "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } } }, @@ -675,7 +676,32 @@ "executable": { "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" }, - "storage": null + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } + } + ] } } } @@ -688,7 +714,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", "key": { "ledger_key_nonce": { "nonce": 801925984706572462 @@ -703,7 +729,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", "key": { "ledger_key_nonce": { "nonce": 801925984706572462 @@ -721,7 +747,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", "key": { "ledger_key_nonce": { "nonce": 4837995959683129791 @@ -736,7 +762,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", "key": { "ledger_key_nonce": { "nonce": 4837995959683129791 @@ -754,7 +780,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", "key": { "ledger_key_nonce": { "nonce": 5541220902715666415 @@ -769,7 +795,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", "key": { "ledger_key_nonce": { "nonce": 5541220902715666415 @@ -787,7 +813,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", "key": { "ledger_key_nonce": { "nonce": 1033654523790656264 @@ -802,7 +828,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", "key": { "ledger_key_nonce": { "nonce": 1033654523790656264 diff --git a/smart-contracts/contracts/agent_bidding/test_snapshots/test/pause_blocks_award_contract.1.json b/smart-contracts/contracts/agent_bidding/test_snapshots/test/pause_blocks_award_contract.1.json new file mode 100644 index 00000000..142a5669 --- /dev/null +++ b/smart-contracts/contracts/agent_bidding/test_snapshots/test/pause_blocks_award_contract.1.json @@ -0,0 +1,715 @@ +{ + "generators": { + "address": 4, + "nonce": 0 + }, + "auth": [ + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "create_auction", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "symbol": "aw_pause" + }, + { + "u64": 3600 + }, + { + "i128": { + "hi": 0, + "lo": 1000000 + } + }, + { + "i128": { + "hi": 0, + "lo": 500000 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "submit_bid", + "args": [ + { + "symbol": "aw_pause" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "bytes": "c1b49aae59121a9ce41d0247900df4ded099a6ca1f84e634438778c0c81aa102" + }, + { + "i128": { + "hi": 0, + "lo": 500000 + } + }, + { + "u32": 70 + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "reveal_bid", + "args": [ + { + "symbol": "aw_pause" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 3000000 + } + }, + { + "string": "" + }, + { + "bytes": "6060606060606060606060606060606060606060606060606060606060606060" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "pause", + "args": [] + } + }, + "sub_invocations": [] + } + ] + ], + [] + ], + "ledger": { + "protocol_version": 22, + "sequence_number": 0, + "timestamp": 3601, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Auction" + }, + { + "symbol": "aw_pause" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Auction" + }, + { + "symbol": "aw_pause" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "config" + }, + "val": { + "map": [ + { + "key": { + "symbol": "bond" + }, + "val": { + "i128": { + "hi": 0, + "lo": 500000 + } + } + }, + { + "key": { + "symbol": "duration_secs" + }, + "val": { + "u64": 3600 + } + }, + { + "key": { + "symbol": "reserve_price" + }, + "val": { + "i128": { + "hi": 0, + "lo": 1000000 + } + } + } + ] + } + }, + { + "key": { + "symbol": "created_at" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "creator" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "symbol": "deadline" + }, + "val": { + "u64": 3600 + } + }, + { + "key": { + "symbol": "escrow_created" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "phase" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "task_id" + }, + "val": { + "symbol": "aw_pause" + } + } + ] + } + } + }, + "ext": "v0" + }, + 535680 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Bid" + }, + { + "symbol": "aw_pause" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Bid" + }, + { + "symbol": "aw_pause" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "bidder" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "bond" + }, + "val": { + "i128": { + "hi": 0, + "lo": 500000 + } + } + }, + { + "key": { + "symbol": "commitment" + }, + "val": { + "bytes": "c1b49aae59121a9ce41d0247900df4ded099a6ca1f84e634438778c0c81aa102" + } + }, + { + "key": { + "symbol": "price_stroops" + }, + "val": { + "i128": { + "hi": 0, + "lo": 3000000 + } + } + }, + { + "key": { + "symbol": "refunded" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "reputation" + }, + "val": { + "u32": 70 + } + }, + { + "key": { + "symbol": "revealed" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "score" + }, + "val": { + "i128": { + "hi": 0, + "lo": 1000 + } + } + }, + { + "key": { + "symbol": "terms" + }, + "val": { + "string": "" + } + } + ] + } + } + }, + "ext": "v0" + }, + 535680 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Bidders" + }, + { + "symbol": "aw_pause" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Bidders" + }, + { + "symbol": "aw_pause" + } + ] + }, + "durability": "persistent", + "val": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + } + }, + "ext": "v0" + }, + 535680 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Winner" + }, + { + "symbol": "aw_pause" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Winner" + }, + { + "symbol": "aw_pause" + } + ] + }, + "durability": "persistent", + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + } + }, + "ext": "v0" + }, + 535680 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": true + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": 4837995959683129791 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": 4837995959683129791 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [] +} \ No newline at end of file diff --git a/smart-contracts/contracts/agent_bidding/test_snapshots/test/pause_blocks_create_auction.1.json b/smart-contracts/contracts/agent_bidding/test_snapshots/test/pause_blocks_create_auction.1.json new file mode 100644 index 00000000..9e81f7b8 --- /dev/null +++ b/smart-contracts/contracts/agent_bidding/test_snapshots/test/pause_blocks_create_auction.1.json @@ -0,0 +1,150 @@ +{ + "generators": { + "address": 3, + "nonce": 0 + }, + "auth": [ + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "pause", + "args": [] + } + }, + "sub_invocations": [] + } + ] + ], + [] + ], + "ledger": { + "protocol_version": 22, + "sequence_number": 0, + "timestamp": 0, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": true + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [] +} \ No newline at end of file diff --git a/smart-contracts/contracts/agent_bidding/test_snapshots/test/pause_blocks_reveal_bid.1.json b/smart-contracts/contracts/agent_bidding/test_snapshots/test/pause_blocks_reveal_bid.1.json new file mode 100644 index 00000000..a5a63d84 --- /dev/null +++ b/smart-contracts/contracts/agent_bidding/test_snapshots/test/pause_blocks_reveal_bid.1.json @@ -0,0 +1,602 @@ +{ + "generators": { + "address": 4, + "nonce": 0 + }, + "auth": [ + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "create_auction", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "symbol": "rev_pause" + }, + { + "u64": 3600 + }, + { + "i128": { + "hi": 0, + "lo": 1000000 + } + }, + { + "i128": { + "hi": 0, + "lo": 500000 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "submit_bid", + "args": [ + { + "symbol": "rev_pause" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "bytes": "22816943c9432c65e1a1d51bc6cbfb9d5761ea8c77967ef37eea465407f8f271" + }, + { + "i128": { + "hi": 0, + "lo": 500000 + } + }, + { + "u32": 70 + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "pause", + "args": [] + } + }, + "sub_invocations": [] + } + ] + ], + [] + ], + "ledger": { + "protocol_version": 22, + "sequence_number": 0, + "timestamp": 3601, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Auction" + }, + { + "symbol": "rev_pause" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Auction" + }, + { + "symbol": "rev_pause" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "config" + }, + "val": { + "map": [ + { + "key": { + "symbol": "bond" + }, + "val": { + "i128": { + "hi": 0, + "lo": 500000 + } + } + }, + { + "key": { + "symbol": "duration_secs" + }, + "val": { + "u64": 3600 + } + }, + { + "key": { + "symbol": "reserve_price" + }, + "val": { + "i128": { + "hi": 0, + "lo": 1000000 + } + } + } + ] + } + }, + { + "key": { + "symbol": "created_at" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "creator" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "symbol": "deadline" + }, + "val": { + "u64": 3600 + } + }, + { + "key": { + "symbol": "escrow_created" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "phase" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "task_id" + }, + "val": { + "symbol": "rev_pause" + } + } + ] + } + } + }, + "ext": "v0" + }, + 535680 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Bid" + }, + { + "symbol": "rev_pause" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Bid" + }, + { + "symbol": "rev_pause" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "bidder" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "bond" + }, + "val": { + "i128": { + "hi": 0, + "lo": 500000 + } + } + }, + { + "key": { + "symbol": "commitment" + }, + "val": { + "bytes": "22816943c9432c65e1a1d51bc6cbfb9d5761ea8c77967ef37eea465407f8f271" + } + }, + { + "key": { + "symbol": "price_stroops" + }, + "val": { + "i128": { + "hi": 0, + "lo": 0 + } + } + }, + { + "key": { + "symbol": "refunded" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "reputation" + }, + "val": { + "u32": 70 + } + }, + { + "key": { + "symbol": "revealed" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "score" + }, + "val": { + "i128": { + "hi": 0, + "lo": 0 + } + } + }, + { + "key": { + "symbol": "terms" + }, + "val": { + "string": "" + } + } + ] + } + } + }, + "ext": "v0" + }, + 535680 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Bidders" + }, + { + "symbol": "rev_pause" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Bidders" + }, + { + "symbol": "rev_pause" + } + ] + }, + "durability": "persistent", + "val": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + } + }, + "ext": "v0" + }, + 535680 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": true + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [] +} \ No newline at end of file diff --git a/smart-contracts/contracts/agent_bidding/test_snapshots/test/pause_blocks_reveal_bids.1.json b/smart-contracts/contracts/agent_bidding/test_snapshots/test/pause_blocks_reveal_bids.1.json new file mode 100644 index 00000000..a5861dde --- /dev/null +++ b/smart-contracts/contracts/agent_bidding/test_snapshots/test/pause_blocks_reveal_bids.1.json @@ -0,0 +1,669 @@ +{ + "generators": { + "address": 4, + "nonce": 0 + }, + "auth": [ + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "create_auction", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "symbol": "rvb_pause" + }, + { + "u64": 3600 + }, + { + "i128": { + "hi": 0, + "lo": 1000000 + } + }, + { + "i128": { + "hi": 0, + "lo": 500000 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "submit_bid", + "args": [ + { + "symbol": "rvb_pause" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "bytes": "6f899835bda929850263cb860e46e8ce3383d7c988f40e598b32f27113528596" + }, + { + "i128": { + "hi": 0, + "lo": 500000 + } + }, + { + "u32": 70 + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "reveal_bid", + "args": [ + { + "symbol": "rvb_pause" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 3000000 + } + }, + { + "string": "" + }, + { + "bytes": "6161616161616161616161616161616161616161616161616161616161616161" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "pause", + "args": [] + } + }, + "sub_invocations": [] + } + ] + ], + [] + ], + "ledger": { + "protocol_version": 22, + "sequence_number": 0, + "timestamp": 3601, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Auction" + }, + { + "symbol": "rvb_pause" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Auction" + }, + { + "symbol": "rvb_pause" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "config" + }, + "val": { + "map": [ + { + "key": { + "symbol": "bond" + }, + "val": { + "i128": { + "hi": 0, + "lo": 500000 + } + } + }, + { + "key": { + "symbol": "duration_secs" + }, + "val": { + "u64": 3600 + } + }, + { + "key": { + "symbol": "reserve_price" + }, + "val": { + "i128": { + "hi": 0, + "lo": 1000000 + } + } + } + ] + } + }, + { + "key": { + "symbol": "created_at" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "creator" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "symbol": "deadline" + }, + "val": { + "u64": 3600 + } + }, + { + "key": { + "symbol": "escrow_created" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "phase" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "task_id" + }, + "val": { + "symbol": "rvb_pause" + } + } + ] + } + } + }, + "ext": "v0" + }, + 535680 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Bid" + }, + { + "symbol": "rvb_pause" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Bid" + }, + { + "symbol": "rvb_pause" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "bidder" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "bond" + }, + "val": { + "i128": { + "hi": 0, + "lo": 500000 + } + } + }, + { + "key": { + "symbol": "commitment" + }, + "val": { + "bytes": "6f899835bda929850263cb860e46e8ce3383d7c988f40e598b32f27113528596" + } + }, + { + "key": { + "symbol": "price_stroops" + }, + "val": { + "i128": { + "hi": 0, + "lo": 3000000 + } + } + }, + { + "key": { + "symbol": "refunded" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "reputation" + }, + "val": { + "u32": 70 + } + }, + { + "key": { + "symbol": "revealed" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "score" + }, + "val": { + "i128": { + "hi": 0, + "lo": 0 + } + } + }, + { + "key": { + "symbol": "terms" + }, + "val": { + "string": "" + } + } + ] + } + } + }, + "ext": "v0" + }, + 535680 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Bidders" + }, + { + "symbol": "rvb_pause" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Bidders" + }, + { + "symbol": "rvb_pause" + } + ] + }, + "durability": "persistent", + "val": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + } + }, + "ext": "v0" + }, + 535680 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": true + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": 4837995959683129791 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": 4837995959683129791 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [] +} \ No newline at end of file diff --git a/smart-contracts/contracts/agent_bidding/test_snapshots/test/pause_blocks_submit_bid.1.json b/smart-contracts/contracts/agent_bidding/test_snapshots/test/pause_blocks_submit_bid.1.json new file mode 100644 index 00000000..52e55802 --- /dev/null +++ b/smart-contracts/contracts/agent_bidding/test_snapshots/test/pause_blocks_submit_bid.1.json @@ -0,0 +1,398 @@ +{ + "generators": { + "address": 4, + "nonce": 0 + }, + "auth": [ + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "create_auction", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "symbol": "bid_pause" + }, + { + "u64": 3600 + }, + { + "i128": { + "hi": 0, + "lo": 1000000 + } + }, + { + "i128": { + "hi": 0, + "lo": 500000 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "pause", + "args": [] + } + }, + "sub_invocations": [] + } + ] + ], + [] + ], + "ledger": { + "protocol_version": 22, + "sequence_number": 0, + "timestamp": 0, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Auction" + }, + { + "symbol": "bid_pause" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Auction" + }, + { + "symbol": "bid_pause" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "config" + }, + "val": { + "map": [ + { + "key": { + "symbol": "bond" + }, + "val": { + "i128": { + "hi": 0, + "lo": 500000 + } + } + }, + { + "key": { + "symbol": "duration_secs" + }, + "val": { + "u64": 3600 + } + }, + { + "key": { + "symbol": "reserve_price" + }, + "val": { + "i128": { + "hi": 0, + "lo": 1000000 + } + } + } + ] + } + }, + { + "key": { + "symbol": "created_at" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "creator" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "symbol": "deadline" + }, + "val": { + "u64": 3600 + } + }, + { + "key": { + "symbol": "escrow_created" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "phase" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "task_id" + }, + "val": { + "symbol": "bid_pause" + } + } + ] + } + } + }, + "ext": "v0" + }, + 535680 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Bidders" + }, + { + "symbol": "bid_pause" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Bidders" + }, + { + "symbol": "bid_pause" + } + ] + }, + "durability": "persistent", + "val": { + "vec": [] + } + } + }, + "ext": "v0" + }, + 535680 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": true + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [] +} \ No newline at end of file diff --git a/smart-contracts/contracts/agent_bidding/test_snapshots/test/reveal_bid_before_deadline_fails.1.json b/smart-contracts/contracts/agent_bidding/test_snapshots/test/reveal_bid_before_deadline_fails.1.json index a44bdea5..6122e221 100644 --- a/smart-contracts/contracts/agent_bidding/test_snapshots/test/reveal_bid_before_deadline_fails.1.json +++ b/smart-contracts/contracts/agent_bidding/test_snapshots/test/reveal_bid_before_deadline_fails.1.json @@ -1,13 +1,14 @@ { "generators": { - "address": 3, + "address": 4, "nonce": 0 }, "auth": [ + [], [], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", { "function": { "contract_fn": { @@ -15,7 +16,7 @@ "function_name": "create_auction", "args": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" }, { "symbol": "early_rev" @@ -44,7 +45,7 @@ ], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", { "function": { "contract_fn": { @@ -55,10 +56,10 @@ "symbol": "early_rev" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { - "bytes": "2bcba4f767c15a38dcd164c4ac0e48c42dc052e1b46813e589a145c4027f669d" + "bytes": "3609d613b24f04a81eb3b445f2bf9be129fdde5dc44ae09e543dec5f91cf86b6" }, { "i128": { @@ -177,7 +178,7 @@ "symbol": "creator" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" } }, { @@ -234,7 +235,7 @@ "symbol": "early_rev" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] }, @@ -257,7 +258,7 @@ "symbol": "early_rev" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] }, @@ -269,7 +270,7 @@ "symbol": "bidder" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } }, { @@ -288,7 +289,7 @@ "symbol": "commitment" }, "val": { - "bytes": "2bcba4f767c15a38dcd164c4ac0e48c42dc052e1b46813e589a145c4027f669d" + "bytes": "3609d613b24f04a81eb3b445f2bf9be129fdde5dc44ae09e543dec5f91cf86b6" } }, { @@ -392,7 +393,7 @@ "val": { "vec": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] } @@ -425,7 +426,32 @@ "executable": { "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" }, - "storage": null + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } + } + ] } } } @@ -438,7 +464,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", "key": { "ledger_key_nonce": { "nonce": 801925984706572462 @@ -453,7 +479,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", "key": { "ledger_key_nonce": { "nonce": 801925984706572462 @@ -471,7 +497,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", "key": { "ledger_key_nonce": { "nonce": 5541220902715666415 @@ -486,7 +512,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", "key": { "ledger_key_nonce": { "nonce": 5541220902715666415 diff --git a/smart-contracts/contracts/agent_bidding/test_snapshots/test/reveal_bid_twice_fails.1.json b/smart-contracts/contracts/agent_bidding/test_snapshots/test/reveal_bid_twice_fails.1.json index 5501bd52..3403d408 100644 --- a/smart-contracts/contracts/agent_bidding/test_snapshots/test/reveal_bid_twice_fails.1.json +++ b/smart-contracts/contracts/agent_bidding/test_snapshots/test/reveal_bid_twice_fails.1.json @@ -1,13 +1,14 @@ { "generators": { - "address": 3, + "address": 4, "nonce": 0 }, "auth": [ + [], [], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", { "function": { "contract_fn": { @@ -15,7 +16,7 @@ "function_name": "create_auction", "args": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" }, { "symbol": "twice_rev" @@ -44,7 +45,7 @@ ], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", { "function": { "contract_fn": { @@ -55,10 +56,10 @@ "symbol": "twice_rev" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { - "bytes": "f95c1ca25dd02d8ff123d83a0925673b866c40b9a7bb77482b0f8070940220cf" + "bytes": "fcc6d32fc3aaba721545d754cb7c5d9cd6c07fb92f1bc2a4f9bfc696832433d1" }, { "i128": { @@ -78,7 +79,7 @@ ], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", { "function": { "contract_fn": { @@ -89,7 +90,7 @@ "symbol": "twice_rev" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { "i128": { @@ -211,7 +212,7 @@ "symbol": "creator" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" } }, { @@ -268,7 +269,7 @@ "symbol": "twice_rev" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] }, @@ -291,7 +292,7 @@ "symbol": "twice_rev" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] }, @@ -303,7 +304,7 @@ "symbol": "bidder" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } }, { @@ -322,7 +323,7 @@ "symbol": "commitment" }, "val": { - "bytes": "f95c1ca25dd02d8ff123d83a0925673b866c40b9a7bb77482b0f8070940220cf" + "bytes": "fcc6d32fc3aaba721545d754cb7c5d9cd6c07fb92f1bc2a4f9bfc696832433d1" } }, { @@ -426,7 +427,7 @@ "val": { "vec": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] } @@ -459,7 +460,32 @@ "executable": { "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" }, - "storage": null + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } + } + ] } } } @@ -472,7 +498,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", "key": { "ledger_key_nonce": { "nonce": 801925984706572462 @@ -487,7 +513,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", "key": { "ledger_key_nonce": { "nonce": 801925984706572462 @@ -505,7 +531,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", "key": { "ledger_key_nonce": { "nonce": 1033654523790656264 @@ -520,7 +546,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", "key": { "ledger_key_nonce": { "nonce": 1033654523790656264 @@ -538,7 +564,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", "key": { "ledger_key_nonce": { "nonce": 5541220902715666415 @@ -553,7 +579,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", "key": { "ledger_key_nonce": { "nonce": 5541220902715666415 diff --git a/smart-contracts/contracts/agent_bidding/test_snapshots/test/reveal_bid_verifies_commitment.1.json b/smart-contracts/contracts/agent_bidding/test_snapshots/test/reveal_bid_verifies_commitment.1.json index 8f63a124..a36497e2 100644 --- a/smart-contracts/contracts/agent_bidding/test_snapshots/test/reveal_bid_verifies_commitment.1.json +++ b/smart-contracts/contracts/agent_bidding/test_snapshots/test/reveal_bid_verifies_commitment.1.json @@ -1,13 +1,14 @@ { "generators": { - "address": 3, + "address": 4, "nonce": 0 }, "auth": [ + [], [], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", { "function": { "contract_fn": { @@ -15,7 +16,7 @@ "function_name": "create_auction", "args": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" }, { "symbol": "reveal_ok" @@ -44,7 +45,7 @@ ], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", { "function": { "contract_fn": { @@ -55,10 +56,10 @@ "symbol": "reveal_ok" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { - "bytes": "041cc0842c8d6946a1a8dbc2b4b840c86ca9492fee719accbf2aa4d27d10321c" + "bytes": "18152c662ef6d6e70357264570db29ee3f5a768d8319bfea381c6c19e684f9c8" }, { "i128": { @@ -78,7 +79,7 @@ ], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", { "function": { "contract_fn": { @@ -89,7 +90,7 @@ "symbol": "reveal_ok" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { "i128": { @@ -211,7 +212,7 @@ "symbol": "creator" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" } }, { @@ -268,7 +269,7 @@ "symbol": "reveal_ok" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] }, @@ -291,7 +292,7 @@ "symbol": "reveal_ok" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] }, @@ -303,7 +304,7 @@ "symbol": "bidder" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } }, { @@ -322,7 +323,7 @@ "symbol": "commitment" }, "val": { - "bytes": "041cc0842c8d6946a1a8dbc2b4b840c86ca9492fee719accbf2aa4d27d10321c" + "bytes": "18152c662ef6d6e70357264570db29ee3f5a768d8319bfea381c6c19e684f9c8" } }, { @@ -426,7 +427,7 @@ "val": { "vec": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] } @@ -459,7 +460,32 @@ "executable": { "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" }, - "storage": null + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } + } + ] } } } @@ -472,7 +498,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", "key": { "ledger_key_nonce": { "nonce": 801925984706572462 @@ -487,7 +513,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", "key": { "ledger_key_nonce": { "nonce": 801925984706572462 @@ -505,7 +531,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", "key": { "ledger_key_nonce": { "nonce": 1033654523790656264 @@ -520,7 +546,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", "key": { "ledger_key_nonce": { "nonce": 1033654523790656264 @@ -538,7 +564,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", "key": { "ledger_key_nonce": { "nonce": 5541220902715666415 @@ -553,7 +579,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", "key": { "ledger_key_nonce": { "nonce": 5541220902715666415 diff --git a/smart-contracts/contracts/agent_bidding/test_snapshots/test/reveal_bid_wrong_commitment_fails.1.json b/smart-contracts/contracts/agent_bidding/test_snapshots/test/reveal_bid_wrong_commitment_fails.1.json index 4747972d..2052b366 100644 --- a/smart-contracts/contracts/agent_bidding/test_snapshots/test/reveal_bid_wrong_commitment_fails.1.json +++ b/smart-contracts/contracts/agent_bidding/test_snapshots/test/reveal_bid_wrong_commitment_fails.1.json @@ -1,13 +1,14 @@ { "generators": { - "address": 3, + "address": 4, "nonce": 0 }, "auth": [ + [], [], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", { "function": { "contract_fn": { @@ -15,7 +16,7 @@ "function_name": "create_auction", "args": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" }, { "symbol": "bad_rev" @@ -44,7 +45,7 @@ ], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", { "function": { "contract_fn": { @@ -55,10 +56,10 @@ "symbol": "bad_rev" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { - "bytes": "69f899142a6620b905bff4ad9a7bb75f25e0c7424ea3d717bd4a69faefb04611" + "bytes": "0e6fba6a97df1a8322eaec438fe9dbefe8305c81c5d35a9754c10ffa70afc47e" }, { "i128": { @@ -177,7 +178,7 @@ "symbol": "creator" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" } }, { @@ -234,7 +235,7 @@ "symbol": "bad_rev" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] }, @@ -257,7 +258,7 @@ "symbol": "bad_rev" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] }, @@ -269,7 +270,7 @@ "symbol": "bidder" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } }, { @@ -288,7 +289,7 @@ "symbol": "commitment" }, "val": { - "bytes": "69f899142a6620b905bff4ad9a7bb75f25e0c7424ea3d717bd4a69faefb04611" + "bytes": "0e6fba6a97df1a8322eaec438fe9dbefe8305c81c5d35a9754c10ffa70afc47e" } }, { @@ -392,7 +393,7 @@ "val": { "vec": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] } @@ -425,7 +426,32 @@ "executable": { "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" }, - "storage": null + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } + } + ] } } } @@ -438,7 +464,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", "key": { "ledger_key_nonce": { "nonce": 801925984706572462 @@ -453,7 +479,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", "key": { "ledger_key_nonce": { "nonce": 801925984706572462 @@ -471,7 +497,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", "key": { "ledger_key_nonce": { "nonce": 5541220902715666415 @@ -486,7 +512,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", "key": { "ledger_key_nonce": { "nonce": 5541220902715666415 diff --git a/smart-contracts/contracts/agent_bidding/test_snapshots/test/reveal_bids_before_deadline_fails.1.json b/smart-contracts/contracts/agent_bidding/test_snapshots/test/reveal_bids_before_deadline_fails.1.json index 3bc5862f..6f36f726 100644 --- a/smart-contracts/contracts/agent_bidding/test_snapshots/test/reveal_bids_before_deadline_fails.1.json +++ b/smart-contracts/contracts/agent_bidding/test_snapshots/test/reveal_bids_before_deadline_fails.1.json @@ -1,13 +1,14 @@ { "generators": { - "address": 2, + "address": 3, "nonce": 0 }, "auth": [ + [], [], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", { "function": { "contract_fn": { @@ -15,7 +16,7 @@ "function_name": "create_auction", "args": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" }, { "symbol": "early_rb" @@ -143,7 +144,7 @@ "symbol": "creator" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" } }, { @@ -254,7 +255,32 @@ "executable": { "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" }, - "storage": null + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } + } + ] } } } @@ -267,7 +293,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", "key": { "ledger_key_nonce": { "nonce": 801925984706572462 @@ -282,7 +308,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", "key": { "ledger_key_nonce": { "nonce": 801925984706572462 diff --git a/smart-contracts/contracts/agent_bidding/test_snapshots/test/reveal_bids_emits_event.1.json b/smart-contracts/contracts/agent_bidding/test_snapshots/test/reveal_bids_emits_event.1.json index 2fd224f3..b3fbd2d8 100644 --- a/smart-contracts/contracts/agent_bidding/test_snapshots/test/reveal_bids_emits_event.1.json +++ b/smart-contracts/contracts/agent_bidding/test_snapshots/test/reveal_bids_emits_event.1.json @@ -1,13 +1,14 @@ { "generators": { - "address": 3, + "address": 4, "nonce": 0 }, "auth": [ + [], [], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", { "function": { "contract_fn": { @@ -15,7 +16,7 @@ "function_name": "create_auction", "args": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" }, { "symbol": "rb_event" @@ -44,7 +45,7 @@ ], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", { "function": { "contract_fn": { @@ -55,10 +56,10 @@ "symbol": "rb_event" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { - "bytes": "533cda81e5d17b5b322789b210af6d27c69d56d951a3c6e0a6ef267d18451ba1" + "bytes": "49b9f64182e1024964030dad18ece784081bd1f2e2d5cbbddfa1d0e08718303b" }, { "i128": { @@ -78,7 +79,7 @@ ], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", { "function": { "contract_fn": { @@ -89,7 +90,7 @@ "symbol": "rb_event" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { "i128": { @@ -211,7 +212,7 @@ "symbol": "creator" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" } }, { @@ -268,7 +269,7 @@ "symbol": "rb_event" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] }, @@ -291,7 +292,7 @@ "symbol": "rb_event" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] }, @@ -303,7 +304,7 @@ "symbol": "bidder" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } }, { @@ -322,7 +323,7 @@ "symbol": "commitment" }, "val": { - "bytes": "533cda81e5d17b5b322789b210af6d27c69d56d951a3c6e0a6ef267d18451ba1" + "bytes": "49b9f64182e1024964030dad18ece784081bd1f2e2d5cbbddfa1d0e08718303b" } }, { @@ -426,7 +427,7 @@ "val": { "vec": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] } @@ -473,7 +474,7 @@ }, "durability": "persistent", "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } } }, @@ -504,7 +505,32 @@ "executable": { "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" }, - "storage": null + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } + } + ] } } } @@ -517,7 +543,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", "key": { "ledger_key_nonce": { "nonce": 801925984706572462 @@ -532,7 +558,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", "key": { "ledger_key_nonce": { "nonce": 801925984706572462 @@ -550,7 +576,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", "key": { "ledger_key_nonce": { "nonce": 1033654523790656264 @@ -565,7 +591,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", "key": { "ledger_key_nonce": { "nonce": 1033654523790656264 @@ -583,7 +609,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", "key": { "ledger_key_nonce": { "nonce": 5541220902715666415 @@ -598,7 +624,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", "key": { "ledger_key_nonce": { "nonce": 5541220902715666415 @@ -675,7 +701,7 @@ "symbol": "winner" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } }, { diff --git a/smart-contracts/contracts/agent_bidding/test_snapshots/test/reveal_bids_no_revealed_fails.1.json b/smart-contracts/contracts/agent_bidding/test_snapshots/test/reveal_bids_no_revealed_fails.1.json index 973faf2c..556c4801 100644 --- a/smart-contracts/contracts/agent_bidding/test_snapshots/test/reveal_bids_no_revealed_fails.1.json +++ b/smart-contracts/contracts/agent_bidding/test_snapshots/test/reveal_bids_no_revealed_fails.1.json @@ -1,13 +1,14 @@ { "generators": { - "address": 2, + "address": 3, "nonce": 0 }, "auth": [ + [], [], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", { "function": { "contract_fn": { @@ -15,7 +16,7 @@ "function_name": "create_auction", "args": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" }, { "symbol": "no_rev" @@ -143,7 +144,7 @@ "symbol": "creator" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" } }, { @@ -254,7 +255,32 @@ "executable": { "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" }, - "storage": null + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } + } + ] } } } @@ -267,7 +293,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", "key": { "ledger_key_nonce": { "nonce": 801925984706572462 @@ -282,7 +308,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", "key": { "ledger_key_nonce": { "nonce": 801925984706572462 diff --git a/smart-contracts/contracts/agent_bidding/test_snapshots/test/reveal_bids_selects_cheapest_when_reputation_equal.1.json b/smart-contracts/contracts/agent_bidding/test_snapshots/test/reveal_bids_selects_cheapest_when_reputation_equal.1.json index d4d760a0..1fb100fd 100644 --- a/smart-contracts/contracts/agent_bidding/test_snapshots/test/reveal_bids_selects_cheapest_when_reputation_equal.1.json +++ b/smart-contracts/contracts/agent_bidding/test_snapshots/test/reveal_bids_selects_cheapest_when_reputation_equal.1.json @@ -1,13 +1,14 @@ { "generators": { - "address": 4, + "address": 5, "nonce": 0 }, "auth": [ + [], [], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", { "function": { "contract_fn": { @@ -15,7 +16,7 @@ "function_name": "create_auction", "args": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" }, { "symbol": "score_test" @@ -44,7 +45,7 @@ ], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", { "function": { "contract_fn": { @@ -55,10 +56,10 @@ "symbol": "score_test" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { - "bytes": "e261279b7bdd119f194fb6ff19cfd882ca660762861593c72b565cee7efc61ef" + "bytes": "6445607d9a43aa9d783170f5b805e888836133038a0a9aedc443a314a7514d37" }, { "i128": { @@ -78,7 +79,7 @@ ], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", { "function": { "contract_fn": { @@ -89,10 +90,10 @@ "symbol": "score_test" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" }, { - "bytes": "3fe19a7079f1a885ef207fd5493a6de5c154d2dee533492427e289180e3deb85" + "bytes": "d1ee39f5a00afab5506107632fc77ed7d0ed78efff2f1c6eabc154cf1b6a4ff8" }, { "i128": { @@ -112,7 +113,7 @@ ], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", { "function": { "contract_fn": { @@ -123,7 +124,7 @@ "symbol": "score_test" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { "i128": { @@ -146,7 +147,7 @@ ], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", { "function": { "contract_fn": { @@ -157,7 +158,7 @@ "symbol": "score_test" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" }, { "i128": { @@ -282,7 +283,7 @@ "symbol": "creator" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" } }, { @@ -339,7 +340,7 @@ "symbol": "score_test" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] }, @@ -362,7 +363,7 @@ "symbol": "score_test" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] }, @@ -374,7 +375,7 @@ "symbol": "bidder" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } }, { @@ -393,7 +394,7 @@ "symbol": "commitment" }, "val": { - "bytes": "e261279b7bdd119f194fb6ff19cfd882ca660762861593c72b565cee7efc61ef" + "bytes": "6445607d9a43aa9d783170f5b805e888836133038a0a9aedc443a314a7514d37" } }, { @@ -472,7 +473,7 @@ "symbol": "score_test" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" } ] }, @@ -495,7 +496,7 @@ "symbol": "score_test" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" } ] }, @@ -507,7 +508,7 @@ "symbol": "bidder" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" } }, { @@ -526,7 +527,7 @@ "symbol": "commitment" }, "val": { - "bytes": "3fe19a7079f1a885ef207fd5493a6de5c154d2dee533492427e289180e3deb85" + "bytes": "d1ee39f5a00afab5506107632fc77ed7d0ed78efff2f1c6eabc154cf1b6a4ff8" } }, { @@ -630,10 +631,10 @@ "val": { "vec": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" } ] } @@ -680,7 +681,7 @@ }, "durability": "persistent", "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } } }, @@ -711,7 +712,32 @@ "executable": { "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" }, - "storage": null + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } + } + ] } } } @@ -724,7 +750,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", "key": { "ledger_key_nonce": { "nonce": 801925984706572462 @@ -739,7 +765,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", "key": { "ledger_key_nonce": { "nonce": 801925984706572462 @@ -757,7 +783,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", "key": { "ledger_key_nonce": { "nonce": 4837995959683129791 @@ -772,7 +798,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", "key": { "ledger_key_nonce": { "nonce": 4837995959683129791 @@ -790,7 +816,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", "key": { "ledger_key_nonce": { "nonce": 5541220902715666415 @@ -805,7 +831,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", "key": { "ledger_key_nonce": { "nonce": 5541220902715666415 @@ -823,7 +849,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", "key": { "ledger_key_nonce": { "nonce": 1033654523790656264 @@ -838,7 +864,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", "key": { "ledger_key_nonce": { "nonce": 1033654523790656264 @@ -856,7 +882,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", "key": { "ledger_key_nonce": { "nonce": 2032731177588607455 @@ -871,7 +897,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", "key": { "ledger_key_nonce": { "nonce": 2032731177588607455 diff --git a/smart-contracts/contracts/agent_bidding/test_snapshots/test/reveal_bids_selects_high_reputation_on_price_tie.1.json b/smart-contracts/contracts/agent_bidding/test_snapshots/test/reveal_bids_selects_high_reputation_on_price_tie.1.json index 2bfab101..edf0b8ed 100644 --- a/smart-contracts/contracts/agent_bidding/test_snapshots/test/reveal_bids_selects_high_reputation_on_price_tie.1.json +++ b/smart-contracts/contracts/agent_bidding/test_snapshots/test/reveal_bids_selects_high_reputation_on_price_tie.1.json @@ -1,13 +1,14 @@ { "generators": { - "address": 4, + "address": 5, "nonce": 0 }, "auth": [ + [], [], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", { "function": { "contract_fn": { @@ -15,7 +16,7 @@ "function_name": "create_auction", "args": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" }, { "symbol": "score_best" @@ -44,7 +45,7 @@ ], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", { "function": { "contract_fn": { @@ -55,10 +56,10 @@ "symbol": "score_best" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { - "bytes": "c1dcd9b688ba3740102f43a04d91e1bf066c11f48a5caf183e6e0037b6079663" + "bytes": "b813689d723f53317e4999ca323ab36be40c51db0c0bb83c1e23353159b52128" }, { "i128": { @@ -78,7 +79,7 @@ ], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", { "function": { "contract_fn": { @@ -89,10 +90,10 @@ "symbol": "score_best" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" }, { - "bytes": "8d39148caf6a6f7f800e082f65105baafaddee7a568dab900037001fbcda9f83" + "bytes": "d9af252425ea799b15c11d98aeda487ba4a25ae40647871003ad02d17f2a6c55" }, { "i128": { @@ -112,7 +113,7 @@ ], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", { "function": { "contract_fn": { @@ -123,7 +124,7 @@ "symbol": "score_best" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { "i128": { @@ -146,7 +147,7 @@ ], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", { "function": { "contract_fn": { @@ -157,7 +158,7 @@ "symbol": "score_best" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" }, { "i128": { @@ -280,7 +281,7 @@ "symbol": "creator" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" } }, { @@ -337,7 +338,7 @@ "symbol": "score_best" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] }, @@ -360,7 +361,7 @@ "symbol": "score_best" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] }, @@ -372,7 +373,7 @@ "symbol": "bidder" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } }, { @@ -391,7 +392,7 @@ "symbol": "commitment" }, "val": { - "bytes": "c1dcd9b688ba3740102f43a04d91e1bf066c11f48a5caf183e6e0037b6079663" + "bytes": "b813689d723f53317e4999ca323ab36be40c51db0c0bb83c1e23353159b52128" } }, { @@ -470,7 +471,7 @@ "symbol": "score_best" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" } ] }, @@ -493,7 +494,7 @@ "symbol": "score_best" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" } ] }, @@ -505,7 +506,7 @@ "symbol": "bidder" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" } }, { @@ -524,7 +525,7 @@ "symbol": "commitment" }, "val": { - "bytes": "8d39148caf6a6f7f800e082f65105baafaddee7a568dab900037001fbcda9f83" + "bytes": "d9af252425ea799b15c11d98aeda487ba4a25ae40647871003ad02d17f2a6c55" } }, { @@ -628,10 +629,10 @@ "val": { "vec": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" } ] } @@ -678,7 +679,7 @@ }, "durability": "persistent", "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } } }, @@ -709,7 +710,32 @@ "executable": { "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" }, - "storage": null + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } + } + ] } } } @@ -722,7 +748,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", "key": { "ledger_key_nonce": { "nonce": 801925984706572462 @@ -737,7 +763,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", "key": { "ledger_key_nonce": { "nonce": 801925984706572462 @@ -755,7 +781,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", "key": { "ledger_key_nonce": { "nonce": 4837995959683129791 @@ -770,7 +796,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", "key": { "ledger_key_nonce": { "nonce": 4837995959683129791 @@ -788,7 +814,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", "key": { "ledger_key_nonce": { "nonce": 5541220902715666415 @@ -803,7 +829,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", "key": { "ledger_key_nonce": { "nonce": 5541220902715666415 @@ -821,7 +847,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", "key": { "ledger_key_nonce": { "nonce": 1033654523790656264 @@ -836,7 +862,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", "key": { "ledger_key_nonce": { "nonce": 1033654523790656264 @@ -854,7 +880,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", "key": { "ledger_key_nonce": { "nonce": 2032731177588607455 @@ -869,7 +895,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", "key": { "ledger_key_nonce": { "nonce": 2032731177588607455 diff --git a/smart-contracts/contracts/agent_bidding/test_snapshots/test/submit_bid_after_deadline_fails.1.json b/smart-contracts/contracts/agent_bidding/test_snapshots/test/submit_bid_after_deadline_fails.1.json index 6e46adc5..d4987431 100644 --- a/smart-contracts/contracts/agent_bidding/test_snapshots/test/submit_bid_after_deadline_fails.1.json +++ b/smart-contracts/contracts/agent_bidding/test_snapshots/test/submit_bid_after_deadline_fails.1.json @@ -1,13 +1,14 @@ { "generators": { - "address": 3, + "address": 4, "nonce": 0 }, "auth": [ + [], [], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", { "function": { "contract_fn": { @@ -15,7 +16,7 @@ "function_name": "create_auction", "args": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" }, { "symbol": "late" @@ -144,7 +145,7 @@ "symbol": "creator" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" } }, { @@ -255,7 +256,32 @@ "executable": { "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" }, - "storage": null + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } + } + ] } } } @@ -268,7 +294,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", "key": { "ledger_key_nonce": { "nonce": 801925984706572462 @@ -283,7 +309,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", "key": { "ledger_key_nonce": { "nonce": 801925984706572462 diff --git a/smart-contracts/contracts/agent_bidding/test_snapshots/test/submit_bid_duplicate_fails.1.json b/smart-contracts/contracts/agent_bidding/test_snapshots/test/submit_bid_duplicate_fails.1.json index b7a15280..2221c00b 100644 --- a/smart-contracts/contracts/agent_bidding/test_snapshots/test/submit_bid_duplicate_fails.1.json +++ b/smart-contracts/contracts/agent_bidding/test_snapshots/test/submit_bid_duplicate_fails.1.json @@ -1,13 +1,14 @@ { "generators": { - "address": 3, + "address": 4, "nonce": 0 }, "auth": [ + [], [], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", { "function": { "contract_fn": { @@ -15,7 +16,7 @@ "function_name": "create_auction", "args": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" }, { "symbol": "dup_bid" @@ -44,7 +45,7 @@ ], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", { "function": { "contract_fn": { @@ -55,10 +56,10 @@ "symbol": "dup_bid" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { - "bytes": "3bf69a256d42750f2a1ac18be14d1031094debb72b238a5ebd6ceb482b143519" + "bytes": "68f405f44d5ae63798d7bba9e4f15a4727e84c49dc9717d834651f8a046cf0eb" }, { "i128": { @@ -177,7 +178,7 @@ "symbol": "creator" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" } }, { @@ -234,7 +235,7 @@ "symbol": "dup_bid" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] }, @@ -257,7 +258,7 @@ "symbol": "dup_bid" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] }, @@ -269,7 +270,7 @@ "symbol": "bidder" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } }, { @@ -288,7 +289,7 @@ "symbol": "commitment" }, "val": { - "bytes": "3bf69a256d42750f2a1ac18be14d1031094debb72b238a5ebd6ceb482b143519" + "bytes": "68f405f44d5ae63798d7bba9e4f15a4727e84c49dc9717d834651f8a046cf0eb" } }, { @@ -392,7 +393,7 @@ "val": { "vec": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] } @@ -425,7 +426,32 @@ "executable": { "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" }, - "storage": null + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } + } + ] } } } @@ -438,7 +464,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", "key": { "ledger_key_nonce": { "nonce": 801925984706572462 @@ -453,7 +479,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", "key": { "ledger_key_nonce": { "nonce": 801925984706572462 @@ -471,7 +497,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", "key": { "ledger_key_nonce": { "nonce": 5541220902715666415 @@ -486,7 +512,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", "key": { "ledger_key_nonce": { "nonce": 5541220902715666415 diff --git a/smart-contracts/contracts/agent_bidding/test_snapshots/test/submit_bid_emits_event.1.json b/smart-contracts/contracts/agent_bidding/test_snapshots/test/submit_bid_emits_event.1.json index 27b12ef4..a9f2924c 100644 --- a/smart-contracts/contracts/agent_bidding/test_snapshots/test/submit_bid_emits_event.1.json +++ b/smart-contracts/contracts/agent_bidding/test_snapshots/test/submit_bid_emits_event.1.json @@ -1,13 +1,14 @@ { "generators": { - "address": 3, + "address": 4, "nonce": 0 }, "auth": [ + [], [], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", { "function": { "contract_fn": { @@ -15,7 +16,7 @@ "function_name": "create_auction", "args": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" }, { "symbol": "bid_event" @@ -44,7 +45,7 @@ ], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", { "function": { "contract_fn": { @@ -55,10 +56,10 @@ "symbol": "bid_event" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { - "bytes": "634fc826dd1a6c7952b67686cbe7b596aa7518b5a9e17703afc8c8ea125cb9b1" + "bytes": "d534178f42ab676b6b4fefb542aa0ac667e5dc52db6e9e27edfa6af11be03e4a" }, { "i128": { @@ -176,7 +177,7 @@ "symbol": "creator" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" } }, { @@ -233,7 +234,7 @@ "symbol": "bid_event" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] }, @@ -256,7 +257,7 @@ "symbol": "bid_event" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] }, @@ -268,7 +269,7 @@ "symbol": "bidder" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } }, { @@ -287,7 +288,7 @@ "symbol": "commitment" }, "val": { - "bytes": "634fc826dd1a6c7952b67686cbe7b596aa7518b5a9e17703afc8c8ea125cb9b1" + "bytes": "d534178f42ab676b6b4fefb542aa0ac667e5dc52db6e9e27edfa6af11be03e4a" } }, { @@ -391,7 +392,7 @@ "val": { "vec": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] } @@ -424,7 +425,32 @@ "executable": { "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" }, - "storage": null + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } + } + ] } } } @@ -437,7 +463,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", "key": { "ledger_key_nonce": { "nonce": 801925984706572462 @@ -452,7 +478,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", "key": { "ledger_key_nonce": { "nonce": 801925984706572462 @@ -470,7 +496,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", "key": { "ledger_key_nonce": { "nonce": 5541220902715666415 @@ -485,7 +511,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", "key": { "ledger_key_nonce": { "nonce": 5541220902715666415 @@ -546,7 +572,7 @@ "symbol": "bidder" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } }, { diff --git a/smart-contracts/contracts/agent_bidding/test_snapshots/test/submit_bid_invalid_reputation_fails.1.json b/smart-contracts/contracts/agent_bidding/test_snapshots/test/submit_bid_invalid_reputation_fails.1.json index 6e86a5a7..9ba2bfe8 100644 --- a/smart-contracts/contracts/agent_bidding/test_snapshots/test/submit_bid_invalid_reputation_fails.1.json +++ b/smart-contracts/contracts/agent_bidding/test_snapshots/test/submit_bid_invalid_reputation_fails.1.json @@ -1,13 +1,14 @@ { "generators": { - "address": 3, + "address": 4, "nonce": 0 }, "auth": [ + [], [], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", { "function": { "contract_fn": { @@ -15,7 +16,7 @@ "function_name": "create_auction", "args": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" }, { "symbol": "bad_rep" @@ -143,7 +144,7 @@ "symbol": "creator" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" } }, { @@ -254,7 +255,32 @@ "executable": { "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" }, - "storage": null + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } + } + ] } } } @@ -267,7 +293,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", "key": { "ledger_key_nonce": { "nonce": 801925984706572462 @@ -282,7 +308,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", "key": { "ledger_key_nonce": { "nonce": 801925984706572462 diff --git a/smart-contracts/contracts/agent_bidding/test_snapshots/test/submit_bid_succeeds.1.json b/smart-contracts/contracts/agent_bidding/test_snapshots/test/submit_bid_succeeds.1.json index 46be7e32..83691776 100644 --- a/smart-contracts/contracts/agent_bidding/test_snapshots/test/submit_bid_succeeds.1.json +++ b/smart-contracts/contracts/agent_bidding/test_snapshots/test/submit_bid_succeeds.1.json @@ -1,13 +1,14 @@ { "generators": { - "address": 3, + "address": 4, "nonce": 0 }, "auth": [ + [], [], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", { "function": { "contract_fn": { @@ -15,7 +16,7 @@ "function_name": "create_auction", "args": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" }, { "symbol": "bid_test" @@ -44,7 +45,7 @@ ], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", { "function": { "contract_fn": { @@ -55,10 +56,10 @@ "symbol": "bid_test" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { - "bytes": "aa8b10b8096e80d0ba8a53bb6568826dca9fd6393b0ceda38d2184dc4afee99a" + "bytes": "bf2648f09a603fb933e052205d94a4faa95bb495e3311b007a2636fdfe110cff" }, { "i128": { @@ -178,7 +179,7 @@ "symbol": "creator" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" } }, { @@ -235,7 +236,7 @@ "symbol": "bid_test" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] }, @@ -258,7 +259,7 @@ "symbol": "bid_test" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] }, @@ -270,7 +271,7 @@ "symbol": "bidder" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } }, { @@ -289,7 +290,7 @@ "symbol": "commitment" }, "val": { - "bytes": "aa8b10b8096e80d0ba8a53bb6568826dca9fd6393b0ceda38d2184dc4afee99a" + "bytes": "bf2648f09a603fb933e052205d94a4faa95bb495e3311b007a2636fdfe110cff" } }, { @@ -393,7 +394,7 @@ "val": { "vec": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] } @@ -426,7 +427,32 @@ "executable": { "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" }, - "storage": null + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } + } + ] } } } @@ -439,7 +465,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", "key": { "ledger_key_nonce": { "nonce": 801925984706572462 @@ -454,7 +480,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", "key": { "ledger_key_nonce": { "nonce": 801925984706572462 @@ -472,7 +498,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", "key": { "ledger_key_nonce": { "nonce": 5541220902715666415 @@ -487,7 +513,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", "key": { "ledger_key_nonce": { "nonce": 5541220902715666415 diff --git a/smart-contracts/contracts/agent_bidding/test_snapshots/test/submit_bid_wrong_bond_fails.1.json b/smart-contracts/contracts/agent_bidding/test_snapshots/test/submit_bid_wrong_bond_fails.1.json index aa2252eb..2c0b9ea0 100644 --- a/smart-contracts/contracts/agent_bidding/test_snapshots/test/submit_bid_wrong_bond_fails.1.json +++ b/smart-contracts/contracts/agent_bidding/test_snapshots/test/submit_bid_wrong_bond_fails.1.json @@ -1,13 +1,14 @@ { "generators": { - "address": 3, + "address": 4, "nonce": 0 }, "auth": [ + [], [], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", { "function": { "contract_fn": { @@ -15,7 +16,7 @@ "function_name": "create_auction", "args": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" }, { "symbol": "bad_bond" @@ -143,7 +144,7 @@ "symbol": "creator" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" } }, { @@ -254,7 +255,32 @@ "executable": { "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" }, - "storage": null + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } + } + ] } } } @@ -267,7 +293,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", "key": { "ledger_key_nonce": { "nonce": 801925984706572462 @@ -282,7 +308,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", "key": { "ledger_key_nonce": { "nonce": 801925984706572462 diff --git a/smart-contracts/contracts/agent_bidding/test_snapshots/test/unpause_allows_create_auction.1.json b/smart-contracts/contracts/agent_bidding/test_snapshots/test/unpause_allows_create_auction.1.json new file mode 100644 index 00000000..221f1868 --- /dev/null +++ b/smart-contracts/contracts/agent_bidding/test_snapshots/test/unpause_allows_create_auction.1.json @@ -0,0 +1,446 @@ +{ + "generators": { + "address": 3, + "nonce": 0 + }, + "auth": [ + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "pause", + "args": [] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "unpause", + "args": [] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "create_auction", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "symbol": "unpaused_task" + }, + { + "u64": 0 + }, + { + "i128": { + "hi": 0, + "lo": 1000000 + } + }, + { + "i128": { + "hi": 0, + "lo": 500000 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [] + ], + "ledger": { + "protocol_version": 22, + "sequence_number": 0, + "timestamp": 0, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Auction" + }, + { + "symbol": "unpaused_task" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Auction" + }, + { + "symbol": "unpaused_task" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "config" + }, + "val": { + "map": [ + { + "key": { + "symbol": "bond" + }, + "val": { + "i128": { + "hi": 0, + "lo": 500000 + } + } + }, + { + "key": { + "symbol": "duration_secs" + }, + "val": { + "u64": 3600 + } + }, + { + "key": { + "symbol": "reserve_price" + }, + "val": { + "i128": { + "hi": 0, + "lo": 1000000 + } + } + } + ] + } + }, + { + "key": { + "symbol": "created_at" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "creator" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "symbol": "deadline" + }, + "val": { + "u64": 3600 + } + }, + { + "key": { + "symbol": "escrow_created" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "phase" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "task_id" + }, + "val": { + "symbol": "unpaused_task" + } + } + ] + } + } + }, + "ext": "v0" + }, + 535680 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Bidders" + }, + { + "symbol": "unpaused_task" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Bidders" + }, + { + "symbol": "unpaused_task" + } + ] + }, + "durability": "persistent", + "val": { + "vec": [] + } + } + }, + "ext": "v0" + }, + 535680 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [] +} \ No newline at end of file diff --git a/smart-contracts/contracts/agent_bidding/test_snapshots/test/winner_selection_price_preference_on_tie.1.json b/smart-contracts/contracts/agent_bidding/test_snapshots/test/winner_selection_price_preference_on_tie.1.json index 76519112..67b6f6ad 100644 --- a/smart-contracts/contracts/agent_bidding/test_snapshots/test/winner_selection_price_preference_on_tie.1.json +++ b/smart-contracts/contracts/agent_bidding/test_snapshots/test/winner_selection_price_preference_on_tie.1.json @@ -1,13 +1,14 @@ { "generators": { - "address": 4, + "address": 5, "nonce": 0 }, "auth": [ + [], [], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", { "function": { "contract_fn": { @@ -15,7 +16,7 @@ "function_name": "create_auction", "args": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" }, { "symbol": "tie" @@ -44,7 +45,7 @@ ], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", { "function": { "contract_fn": { @@ -55,10 +56,10 @@ "symbol": "tie" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { - "bytes": "ab0b093a460e16f59edee2d2b5672fd7482dd2eec251e4c21c58b688a7248120" + "bytes": "697125ef6cbbed3d7f0a144e1588d18f3f004e68bdedc39ceada5378f7211d2b" }, { "i128": { @@ -78,7 +79,7 @@ ], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", { "function": { "contract_fn": { @@ -89,10 +90,10 @@ "symbol": "tie" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" }, { - "bytes": "728e87f6540e95e485c72d0557edf9e6fae5109636e9084d5f1eecd93e6408ba" + "bytes": "76f67db9a9469051473253aef5e90e795faf5cb6ba95437b072866b2b1079c7d" }, { "i128": { @@ -112,7 +113,7 @@ ], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", { "function": { "contract_fn": { @@ -123,7 +124,7 @@ "symbol": "tie" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { "i128": { @@ -146,7 +147,7 @@ ], [ [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", { "function": { "contract_fn": { @@ -157,7 +158,7 @@ "symbol": "tie" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" }, { "i128": { @@ -280,7 +281,7 @@ "symbol": "creator" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" } }, { @@ -337,7 +338,7 @@ "symbol": "tie" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] }, @@ -360,7 +361,7 @@ "symbol": "tie" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] }, @@ -372,7 +373,7 @@ "symbol": "bidder" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } }, { @@ -391,7 +392,7 @@ "symbol": "commitment" }, "val": { - "bytes": "ab0b093a460e16f59edee2d2b5672fd7482dd2eec251e4c21c58b688a7248120" + "bytes": "697125ef6cbbed3d7f0a144e1588d18f3f004e68bdedc39ceada5378f7211d2b" } }, { @@ -470,7 +471,7 @@ "symbol": "tie" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" } ] }, @@ -493,7 +494,7 @@ "symbol": "tie" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" } ] }, @@ -505,7 +506,7 @@ "symbol": "bidder" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" } }, { @@ -524,7 +525,7 @@ "symbol": "commitment" }, "val": { - "bytes": "728e87f6540e95e485c72d0557edf9e6fae5109636e9084d5f1eecd93e6408ba" + "bytes": "76f67db9a9469051473253aef5e90e795faf5cb6ba95437b072866b2b1079c7d" } }, { @@ -628,10 +629,10 @@ "val": { "vec": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" } ] } @@ -678,7 +679,7 @@ }, "durability": "persistent", "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } } }, @@ -709,7 +710,32 @@ "executable": { "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" }, - "storage": null + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } + } + ] } } } @@ -722,7 +748,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", "key": { "ledger_key_nonce": { "nonce": 801925984706572462 @@ -737,7 +763,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", "key": { "ledger_key_nonce": { "nonce": 801925984706572462 @@ -755,7 +781,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", "key": { "ledger_key_nonce": { "nonce": 4837995959683129791 @@ -770,7 +796,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", "key": { "ledger_key_nonce": { "nonce": 4837995959683129791 @@ -788,7 +814,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", "key": { "ledger_key_nonce": { "nonce": 5541220902715666415 @@ -803,7 +829,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", "key": { "ledger_key_nonce": { "nonce": 5541220902715666415 @@ -821,7 +847,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", "key": { "ledger_key_nonce": { "nonce": 1033654523790656264 @@ -836,7 +862,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", "key": { "ledger_key_nonce": { "nonce": 1033654523790656264 @@ -854,7 +880,7 @@ [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", "key": { "ledger_key_nonce": { "nonce": 2032731177588607455 @@ -869,7 +895,7 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", "key": { "ledger_key_nonce": { "nonce": 2032731177588607455 diff --git a/smart-contracts/contracts/agent_marketplace/src/lib.rs b/smart-contracts/contracts/agent_marketplace/src/lib.rs index 6c8d1fff..531f389f 100644 --- a/smart-contracts/contracts/agent_marketplace/src/lib.rs +++ b/smart-contracts/contracts/agent_marketplace/src/lib.rs @@ -11,9 +11,7 @@ mod types; pub use errors::Error; pub use types::*; -use soroban_sdk::{ - contract, contractimpl, contracttype, symbol_short, Address, Env, Symbol, Vec, -}; +use soroban_sdk::{contract, contractimpl, contracttype, symbol_short, Address, Env, Symbol, Vec}; #[contracttype] #[derive(Clone)] @@ -63,13 +61,32 @@ impl AgentMarketplaceContract { Ok(()) } - /// Admin: pause or unpause the marketplace. - pub fn pause(env: Env, paused: bool) -> Result<(), Error> { + /// Admin: pause. + pub fn pause(env: Env) -> Result<(), Error> { require_admin(&env)?; - env.storage().instance().set(&DataKey::Paused, &paused); + env.storage().instance().set(&DataKey::Paused, &true); + env.events() + .publish((symbol_short!("market"), symbol_short!("paused")), ()); Ok(()) } + /// Admin: unpause. + pub fn unpause(env: Env) -> Result<(), Error> { + require_admin(&env)?; + env.storage().instance().set(&DataKey::Paused, &false); + env.events() + .publish((symbol_short!("market"), symbol_short!("unpaused")), ()); + Ok(()) + } + + /// Returns whether the contract is currently paused. + pub fn is_paused(env: Env) -> bool { + env.storage() + .instance() + .get(&DataKey::Paused) + .unwrap_or(false) + } + /// List a service on the marketplace. pub fn list_service( env: Env, @@ -146,11 +163,7 @@ impl AgentMarketplaceContract { let mut results = Vec::new(&env); for id in ids.iter() { let key = DataKey::ServiceListing(id); - if let Some(listing) = env - .storage() - .persistent() - .get::<_, ServiceListing>(&key) - { + if let Some(listing) = env.storage().persistent().get::<_, ServiceListing>(&key) { if !listing.active { continue; } @@ -227,6 +240,8 @@ impl AgentMarketplaceContract { /// Complete a booking and release escrow payment to the agent owner. pub fn complete_booking(env: Env, booking_id: Symbol) -> Result<(), Error> { + require_not_paused(&env)?; + let booking_key = DataKey::Booking(booking_id.clone()); let mut booking: Booking = env .storage() @@ -252,9 +267,7 @@ impl AgentMarketplaceContract { listing.owner.require_auth(); booking.completed = true; - env.storage() - .persistent() - .set(&booking_key, &booking); + env.storage().persistent().set(&booking_key, &booking); env.events().publish( (symbol_short!("market"), symbol_short!("svc_comp")), @@ -269,6 +282,8 @@ impl AgentMarketplaceContract { /// Cancel a booking and refund the client. pub fn cancel_booking(env: Env, booking_id: Symbol) -> Result<(), Error> { + require_not_paused(&env)?; + let booking_key = DataKey::Booking(booking_id.clone()); let mut booking: Booking = env .storage() @@ -286,9 +301,7 @@ impl AgentMarketplaceContract { booking.client.require_auth(); booking.cancelled = true; - env.storage() - .persistent() - .set(&booking_key, &booking); + env.storage().persistent().set(&booking_key, &booking); env.events().publish( (symbol_short!("market"), symbol_short!("svc_canc")), @@ -302,11 +315,9 @@ impl AgentMarketplaceContract { } /// Rate a completed booking (1-5 stars). - pub fn rate_booking( - env: Env, - booking_id: Symbol, - rating: u32, - ) -> Result<(), Error> { + pub fn rate_booking(env: Env, booking_id: Symbol, rating: u32) -> Result<(), Error> { + require_not_paused(&env)?; + if rating < 1 || rating > 5 { return Err(Error::InvalidPrice); } @@ -328,27 +339,23 @@ impl AgentMarketplaceContract { booking.client.require_auth(); booking.rating = rating; - env.storage() - .persistent() - .set(&booking_key, &booking); + env.storage().persistent().set(&booking_key, &booking); // Update agent rating aggregate let rating_key = DataKey::AgentRating(booking.agent_id.clone()); - let mut agent_rating: AgentRating = env - .storage() - .persistent() - .get(&rating_key) - .unwrap_or(AgentRating { - agent_id: booking.agent_id.clone(), - total_ratings: 0, - rating_sum: 0, - }); + let mut agent_rating: AgentRating = + env.storage() + .persistent() + .get(&rating_key) + .unwrap_or(AgentRating { + agent_id: booking.agent_id.clone(), + total_ratings: 0, + rating_sum: 0, + }); agent_rating.total_ratings += 1; agent_rating.rating_sum += rating as u64; - env.storage() - .persistent() - .set(&rating_key, &agent_rating); + env.storage().persistent().set(&rating_key, &agent_rating); Ok(()) } diff --git a/smart-contracts/contracts/agent_marketplace/src/test.rs b/smart-contracts/contracts/agent_marketplace/src/test.rs index a7f7cc47..adab82f8 100644 --- a/smart-contracts/contracts/agent_marketplace/src/test.rs +++ b/smart-contracts/contracts/agent_marketplace/src/test.rs @@ -140,13 +140,12 @@ fn search_services_filters_by_price() { &24_u32, ); - let results = client.search_services( - &Symbol::new(&env, "research"), - &1_000_000_i128, - &0_u32, - ); + let results = client.search_services(&Symbol::new(&env, "research"), &1_000_000_i128, &0_u32); assert_eq!(results.len(), 1); - assert_eq!(results.get(0).unwrap().listing_id, Symbol::new(&env, "svc_cheap")); + assert_eq!( + results.get(0).unwrap().listing_id, + Symbol::new(&env, "svc_cheap") + ); } #[test] @@ -337,7 +336,7 @@ fn rate_invalid_score() { #[test] fn pause_blocks_listing() { let (env, client, _admin) = setup_with_admin(); - client.pause(&true); + client.pause(); let owner = Address::generate(&env); assert_eq!( @@ -353,3 +352,86 @@ fn pause_blocks_listing() { Err(Ok(Error::ContractPaused)) ); } + +#[test] +fn unpause_allows_listing() { + let (env, client, _admin) = setup_with_admin(); + client.pause(); + client.unpause(); + + let owner = Address::generate(&env); + client.list_service( + &Symbol::new(&env, "svc1"), + &Symbol::new(&env, "agent1"), + &owner, + &Symbol::new(&env, "research"), + &1_000_000_i128, + &200_u32, + &24_u32, + ); + assert!(client.get_listing(&Symbol::new(&env, "svc1")).is_some()); +} + +#[test] +fn is_paused_reflects_state() { + let (_env, client, _admin) = setup_with_admin(); + assert!(!client.is_paused()); + client.pause(); + assert!(client.is_paused()); + client.unpause(); + assert!(!client.is_paused()); +} + +#[test] +fn pause_blocks_complete_booking() { + let (env, client, _admin) = setup_with_admin(); + let owner = Address::generate(&env); + let client_addr = Address::generate(&env); + + client.list_service( + &Symbol::new(&env, "svc1"), + &Symbol::new(&env, "agent1"), + &owner, + &Symbol::new(&env, "research"), + &1_000_000_i128, + &200_u32, + &24_u32, + ); + + let booking_id = Symbol::new(&env, "bk1"); + client.book_agent( + &Symbol::new(&env, "svc1"), + &client_addr, + &1_000_000_i128, + &booking_id, + ); + + client.pause(); + + assert_eq!( + client.try_complete_booking(&booking_id), + Err(Ok(Error::ContractPaused)) + ); +} + +#[test] +fn search_services_still_works_when_paused() { + let (env, client, _admin) = setup_with_admin(); + let owner = Address::generate(&env); + + client.list_service( + &Symbol::new(&env, "svc1"), + &Symbol::new(&env, "agent1"), + &owner, + &Symbol::new(&env, "research"), + &1_000_000_i128, + &200_u32, + &24_u32, + ); + + client.pause(); + + // Reads should still work when paused. + let results = client.search_services(&Symbol::new(&env, "research"), &0, &0); + assert_eq!(results.len(), 1); +} diff --git a/smart-contracts/contracts/dispute_resolution/src/lib.rs b/smart-contracts/contracts/dispute_resolution/src/lib.rs index f180f570..6d20762a 100644 --- a/smart-contracts/contracts/dispute_resolution/src/lib.rs +++ b/smart-contracts/contracts/dispute_resolution/src/lib.rs @@ -72,15 +72,35 @@ impl DisputeResolutionContract { Ok(()) } - /// Admin: pause or unpause. - pub fn pause(env: Env, paused: bool) -> Result<(), Error> { + /// Admin: pause. + pub fn pause(env: Env) -> Result<(), Error> { require_admin(&env)?; - env.storage().instance().set(&DataKey::Paused, &paused); + env.storage().instance().set(&DataKey::Paused, &true); + env.events() + .publish((symbol_short!("dispute"), symbol_short!("paused")), ()); Ok(()) } + /// Admin: unpause. + pub fn unpause(env: Env) -> Result<(), Error> { + require_admin(&env)?; + env.storage().instance().set(&DataKey::Paused, &false); + env.events() + .publish((symbol_short!("dispute"), symbol_short!("unpaused")), ()); + Ok(()) + } + + /// Returns whether the contract is currently paused. + pub fn is_paused(env: Env) -> bool { + env.storage() + .instance() + .get(&DataKey::Paused) + .unwrap_or(false) + } + /// Admin: set the active juror pool. pub fn set_jurors(env: Env, jurors: Vec
) -> Result<(), Error> { + require_not_paused(&env)?; require_admin(&env)?; env.storage() .instance() @@ -219,6 +239,7 @@ impl DisputeResolutionContract { juror: Address, side: VoteSide, ) -> Result<(), Error> { + require_not_paused(&env)?; juror.require_auth(); let key = DataKey::Dispute(dispute_id.clone()); @@ -268,10 +289,9 @@ impl DisputeResolutionContract { } /// Resolve a dispute after voting period ends (admin or automated). - pub fn resolve_dispute( - env: Env, - dispute_id: Symbol, - ) -> Result<(), Error> { + pub fn resolve_dispute(env: Env, dispute_id: Symbol) -> Result<(), Error> { + require_not_paused(&env)?; + let key = DataKey::Dispute(dispute_id.clone()); let mut dispute: Dispute = env .storage() @@ -294,11 +314,7 @@ impl DisputeResolutionContract { for juror in dispute.jurors.iter() { let vote_key = DataKey::JurorVote(dispute_id.clone(), juror); - if let Some(vote) = env - .storage() - .persistent() - .get::<_, JurorVote>(&vote_key) - { + if let Some(vote) = env.storage().persistent().get::<_, JurorVote>(&vote_key) { match vote.side { VoteSide::Client => client_votes += 1, VoteSide::Agent => agent_votes += 1, @@ -325,11 +341,8 @@ impl DisputeResolutionContract { } /// Appeal a resolved dispute (must be within appeal window). - pub fn appeal_dispute( - env: Env, - dispute_id: Symbol, - appellant: Address, - ) -> Result<(), Error> { + pub fn appeal_dispute(env: Env, dispute_id: Symbol, appellant: Address) -> Result<(), Error> { + require_not_paused(&env)?; appellant.require_auth(); let key = DataKey::Dispute(dispute_id.clone()); @@ -377,10 +390,7 @@ impl DisputeResolutionContract { /// Get evidence count for a dispute. pub fn get_evidence_count(env: Env, dispute_id: Symbol) -> u32 { let count_key = DataKey::Evidence(dispute_id, 0); - env.storage() - .persistent() - .get(&count_key) - .unwrap_or(0) + env.storage().persistent().get(&count_key).unwrap_or(0) } } diff --git a/smart-contracts/contracts/dispute_resolution/src/test.rs b/smart-contracts/contracts/dispute_resolution/src/test.rs index 6cefdcae..ed30b45a 100644 --- a/smart-contracts/contracts/dispute_resolution/src/test.rs +++ b/smart-contracts/contracts/dispute_resolution/src/test.rs @@ -26,7 +26,12 @@ fn setup_with_admin() -> (Env, DisputeResolutionContractClient<'static>, Address (env, client, admin) } -fn setup_with_jurors() -> (Env, DisputeResolutionContractClient<'static>, Address, Vec<'static, Address>) { +fn setup_with_jurors() -> ( + Env, + DisputeResolutionContractClient<'static>, + Address, + Vec<'static, Address>, +) { let (env, client, admin) = setup_with_admin(); let jurors = soroban_sdk::vec![ &env, @@ -218,7 +223,7 @@ fn appeal_after_window_fails() { #[test] fn pause_blocks_filing() { let (env, client, _admin) = setup_with_admin(); - client.pause(&true); + client.pause(); let filer = Address::generate(&env); assert_eq!( @@ -230,3 +235,60 @@ fn pause_blocks_filing() { Err(Ok(Error::ContractPaused)) ); } + +#[test] +fn unpause_allows_filing() { + let (env, client, _admin, _jurors) = setup_with_jurors(); + client.pause(); + client.unpause(); + + let filer = Address::generate(&env); + client.file_dispute( + &filer, + &Symbol::new(&env, "agent1"), + &Symbol::new(&env, "disp_unpause"), + ); + assert!(client + .get_dispute(&Symbol::new(&env, "disp_unpause")) + .is_some()); +} + +#[test] +fn is_paused_reflects_state() { + let (_env, client, _admin) = setup_with_admin(); + assert!(!client.is_paused()); + client.pause(); + assert!(client.is_paused()); + client.unpause(); + assert!(!client.is_paused()); +} + +#[test] +fn pause_blocks_set_jurors() { + let (env, client, _admin) = setup_with_admin(); + client.pause(); + + let jurors = soroban_sdk::vec![&env, Address::generate(&env)]; + assert_eq!( + client.try_set_jurors(&jurors), + Err(Ok(Error::ContractPaused)) + ); +} + +#[test] +fn get_dispute_still_works_when_paused() { + let (env, client, _admin, _jurors) = setup_with_jurors(); + let filer = Address::generate(&env); + client.file_dispute( + &filer, + &Symbol::new(&env, "agent1"), + &Symbol::new(&env, "disp_read"), + ); + + client.pause(); + + // Reads should still work when paused. + assert!(client + .get_dispute(&Symbol::new(&env, "disp_read")) + .is_some()); +} diff --git a/smart-contracts/contracts/error-registry/src/lib.rs b/smart-contracts/contracts/error-registry/src/lib.rs index bfceec84..12a0b198 100644 --- a/smart-contracts/contracts/error-registry/src/lib.rs +++ b/smart-contracts/contracts/error-registry/src/lib.rs @@ -55,8 +55,8 @@ //! but that situation does not exist here. use soroban_sdk::{ - contract, contracterror, contractimpl, contracttype, symbol_short, BytesN, Env, Map, Symbol, - Vec, + contract, contracterror, contractimpl, contracttype, symbol_short, Address, BytesN, Env, Map, + Symbol, Vec, }; /// Maximum allowed TTL for a single record: **90 days** (in seconds). @@ -113,6 +113,10 @@ pub struct CleanupStats { /// Storage keys. All entries live in `persistent` storage. #[contracttype] pub enum DataKey { + /// Contract admin address (instance storage). + Admin, + /// Whether the contract is paused (instance storage). + Paused, /// Primary storage: `error_id` -> [`ErrorRecord`]. Record(BytesN<32>), /// Secondary lookup index: `error_code` -> `Vec`. @@ -130,13 +134,81 @@ pub enum Error { InvalidTtl = 2, /// `created_at + ttl_seconds` would overflow `u64`. TtlOverflow = 3, + /// The contract is paused and cannot accept mutations. + ContractPaused = 4, } #[contract] pub struct ErrorRegistryContract; +fn require_admin(env: &Env) -> Result { + let admin: Address = env + .storage() + .instance() + .get(&DataKey::Admin) + .ok_or(Error::ContractPaused)?; + admin.require_auth(); + Ok(admin) +} + +fn require_not_paused(env: &Env) -> Result<(), Error> { + let paused: bool = env + .storage() + .instance() + .get(&DataKey::Paused) + .unwrap_or(false); + if paused { + return Err(Error::ContractPaused); + } + Ok(()) +} + #[contractimpl] impl ErrorRegistryContract { + /// Initialise the contract with an admin. Can only be called once. + pub fn initialize(env: Env, admin: Address) -> Result<(), Error> { + if env.storage().instance().has(&DataKey::Admin) { + return Err(Error::AlreadyExists); + } + env.storage().instance().set(&DataKey::Admin, &admin); + env.storage().instance().set(&DataKey::Paused, &false); + + env.events() + .publish((symbol_short!("errreg"), symbol_short!("init")), admin); + Ok(()) + } + + /// Return the current admin address, if set. + pub fn get_admin(env: Env) -> Option
{ + env.storage().instance().get(&DataKey::Admin) + } + + /// Pause the contract. Only admin can call this. + pub fn pause(env: Env) -> Result<(), Error> { + require_admin(&env)?; + env.storage().instance().set(&DataKey::Paused, &true); + env.events() + .publish((symbol_short!("errreg"), symbol_short!("paused")), ()); + Ok(()) + } + + /// Unpause the contract. Only admin can call this. + pub fn unpause(env: Env) -> Result<(), Error> { + require_admin(&env)?; + env.storage().instance().set(&DataKey::Paused, &false); + env.events() + .publish((symbol_short!("errreg"), symbol_short!("unpaused")), ()); + Ok(()) + } + + /// Returns whether the contract is currently paused. + pub fn is_paused(env: Env) -> bool { + env.storage() + .instance() + .get(&DataKey::Paused) + .unwrap_or(false) + } + /// Submit a new error report with an explicit TTL. /// /// * `error_id` — unique 32-byte key for the record (caller-supplied, e.g. a @@ -157,6 +229,7 @@ impl ErrorRegistryContract { agent_id: Symbol, ttl_seconds: u64, ) -> Result<(), Error> { + require_not_paused(&env)?; validate_ttl(ttl_seconds)?; let error_key = DataKey::Record(error_id.clone()); diff --git a/smart-contracts/contracts/error-registry/src/test.rs b/smart-contracts/contracts/error-registry/src/test.rs index 07ad7b17..dbad0b13 100644 --- a/smart-contracts/contracts/error-registry/src/test.rs +++ b/smart-contracts/contracts/error-registry/src/test.rs @@ -1,14 +1,17 @@ #![cfg(test)] use super::*; -use soroban_sdk::{testutils::Ledger as _, BytesN, Env, Symbol}; +use soroban_sdk::{testutils::Address as _, testutils::Ledger as _, BytesN, Env, Symbol}; /// Build a contract client with the ledger clock pinned to `start_ts`. fn setup(start_ts: u64) -> (Env, ErrorRegistryContractClient<'static>) { let env = Env::default(); + env.mock_all_auths(); env.ledger().set_timestamp(start_ts); let id = env.register(ErrorRegistryContract, ()); let client = ErrorRegistryContractClient::new(&env, &id); + let admin = Address::generate(&env); + client.initialize(&admin); (env, client) } @@ -364,3 +367,57 @@ fn cleanup_on_empty_registry_is_safe() { assert_eq!(stats.removed, 0); assert_eq!(stats.remaining, 0); } + +// --------------------------------------------------------------------------- +// Pause / unpause +// --------------------------------------------------------------------------- + +#[test] +fn initialize_sets_admin_and_unpaused() { + let (_env, client) = setup(1_000); + assert!(client.get_admin().is_some()); + assert!(!client.is_paused()); +} + +#[test] +fn pause_blocks_submit_error() { + let (env, client) = setup(1_000); + client.pause(); + + let error_id = id(&env, 100); + let res = client.try_submit_error(&error_id, &1, &sym(&env, "m"), &sym(&env, "a"), &1_000); + assert_eq!(res, Err(Ok(Error::ContractPaused))); +} + +#[test] +fn unpause_allows_submit_error() { + let (env, client) = setup(1_000); + client.pause(); + client.unpause(); + + let error_id = submit(&client, &env, 101, 42, 1_000); + assert!(client.get_error(&error_id).is_some()); +} + +#[test] +fn get_error_still_works_when_paused() { + let (env, client) = setup(1_000); + let error_id = submit(&client, &env, 102, 42, 1_000); + client.pause(); + + // Reads should still work when paused. + assert!(client.get_error(&error_id).is_some()); +} + +#[test] +fn cleanup_still_works_when_paused() { + let (env, client) = setup(1_000); + submit(&client, &env, 103, 1, 100); // expires 1_100 + + client.pause(); + env.ledger().set_timestamp(2_000); + + // Cleanup is permissionless and should still work when paused. + let stats = client.cleanup_expired_errors(&0); + assert_eq!(stats.removed, 1); +} diff --git a/smart-contracts/contracts/error-registry/test_snapshots/test/active_records_do_not_consume_batch_budget.1.json b/smart-contracts/contracts/error-registry/test_snapshots/test/active_records_do_not_consume_batch_budget.1.json index 3b35125c..cfd19a7e 100644 --- a/smart-contracts/contracts/error-registry/test_snapshots/test/active_records_do_not_consume_batch_budget.1.json +++ b/smart-contracts/contracts/error-registry/test_snapshots/test/active_records_do_not_consume_batch_budget.1.json @@ -1,6 +1,6 @@ { "generators": { - "address": 1, + "address": 2, "nonce": 0 }, "auth": [ @@ -9,6 +9,7 @@ [], [], [], + [], [] ], "ledger": { @@ -221,7 +222,32 @@ "executable": { "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" }, - "storage": null + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } + } + ] } } } diff --git a/smart-contracts/contracts/error-registry/test_snapshots/test/boundary_timestamp_equals_expires_at_is_active.1.json b/smart-contracts/contracts/error-registry/test_snapshots/test/boundary_timestamp_equals_expires_at_is_active.1.json index ea45f772..feb99754 100644 --- a/smart-contracts/contracts/error-registry/test_snapshots/test/boundary_timestamp_equals_expires_at_is_active.1.json +++ b/smart-contracts/contracts/error-registry/test_snapshots/test/boundary_timestamp_equals_expires_at_is_active.1.json @@ -1,12 +1,13 @@ { "generators": { - "address": 1, + "address": 2, "nonce": 0 }, "auth": [ [], [], [], + [], [] ], "ledger": { @@ -219,7 +220,32 @@ "executable": { "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" }, - "storage": null + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } + } + ] } } } diff --git a/smart-contracts/contracts/error-registry/test_snapshots/test/cleanup_batch_is_capped_at_max.1.json b/smart-contracts/contracts/error-registry/test_snapshots/test/cleanup_batch_is_capped_at_max.1.json index 178a4c5d..2ef939c2 100644 --- a/smart-contracts/contracts/error-registry/test_snapshots/test/cleanup_batch_is_capped_at_max.1.json +++ b/smart-contracts/contracts/error-registry/test_snapshots/test/cleanup_batch_is_capped_at_max.1.json @@ -1,9 +1,10 @@ { "generators": { - "address": 1, + "address": 2, "nonce": 0 }, "auth": [ + [], [], [], [] @@ -40,7 +41,32 @@ "executable": { "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" }, - "storage": null + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } + } + ] } } } diff --git a/smart-contracts/contracts/error-registry/test_snapshots/test/cleanup_is_bounded_by_max_batch.1.json b/smart-contracts/contracts/error-registry/test_snapshots/test/cleanup_is_bounded_by_max_batch.1.json index 9cc09bc4..21adf671 100644 --- a/smart-contracts/contracts/error-registry/test_snapshots/test/cleanup_is_bounded_by_max_batch.1.json +++ b/smart-contracts/contracts/error-registry/test_snapshots/test/cleanup_is_bounded_by_max_batch.1.json @@ -1,6 +1,6 @@ { "generators": { - "address": 1, + "address": 2, "nonce": 0 }, "auth": [ @@ -13,6 +13,7 @@ [], [], [], + [], [] ], "ledger": { @@ -47,7 +48,32 @@ "executable": { "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" }, - "storage": null + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } + } + ] } } } diff --git a/smart-contracts/contracts/error-registry/test_snapshots/test/cleanup_keeps_code_index_for_surviving_records.1.json b/smart-contracts/contracts/error-registry/test_snapshots/test/cleanup_keeps_code_index_for_surviving_records.1.json index 070d0b4e..c13e5683 100644 --- a/smart-contracts/contracts/error-registry/test_snapshots/test/cleanup_keeps_code_index_for_surviving_records.1.json +++ b/smart-contracts/contracts/error-registry/test_snapshots/test/cleanup_keeps_code_index_for_surviving_records.1.json @@ -1,6 +1,6 @@ { "generators": { - "address": 1, + "address": 2, "nonce": 0 }, "auth": [ @@ -9,6 +9,7 @@ [], [], [], + [], [] ], "ledger": { @@ -221,7 +222,32 @@ "executable": { "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" }, - "storage": null + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } + } + ] } } } diff --git a/smart-contracts/contracts/error-registry/test_snapshots/test/cleanup_multiple_mixed_records.1.json b/smart-contracts/contracts/error-registry/test_snapshots/test/cleanup_multiple_mixed_records.1.json index 0b31b724..04916978 100644 --- a/smart-contracts/contracts/error-registry/test_snapshots/test/cleanup_multiple_mixed_records.1.json +++ b/smart-contracts/contracts/error-registry/test_snapshots/test/cleanup_multiple_mixed_records.1.json @@ -1,6 +1,6 @@ { "generators": { - "address": 1, + "address": 2, "nonce": 0 }, "auth": [ @@ -13,6 +13,7 @@ [], [], [], + [], [] ], "ledger": { @@ -317,7 +318,32 @@ "executable": { "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" }, - "storage": null + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } + } + ] } } } diff --git a/smart-contracts/contracts/error-registry/test_snapshots/test/cleanup_on_empty_registry_is_safe.1.json b/smart-contracts/contracts/error-registry/test_snapshots/test/cleanup_on_empty_registry_is_safe.1.json index e07f4c2e..4bd59034 100644 --- a/smart-contracts/contracts/error-registry/test_snapshots/test/cleanup_on_empty_registry_is_safe.1.json +++ b/smart-contracts/contracts/error-registry/test_snapshots/test/cleanup_on_empty_registry_is_safe.1.json @@ -1,9 +1,10 @@ { "generators": { - "address": 1, + "address": 2, "nonce": 0 }, "auth": [ + [], [], [] ], @@ -39,7 +40,32 @@ "executable": { "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" }, - "storage": null + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } + } + ] } } } diff --git a/smart-contracts/contracts/error-registry/test_snapshots/test/cleanup_removes_code_index_entry_when_emptied.1.json b/smart-contracts/contracts/error-registry/test_snapshots/test/cleanup_removes_code_index_entry_when_emptied.1.json index aefe4918..937ce0e8 100644 --- a/smart-contracts/contracts/error-registry/test_snapshots/test/cleanup_removes_code_index_entry_when_emptied.1.json +++ b/smart-contracts/contracts/error-registry/test_snapshots/test/cleanup_removes_code_index_entry_when_emptied.1.json @@ -1,6 +1,6 @@ { "generators": { - "address": 1, + "address": 2, "nonce": 0 }, "auth": [ @@ -8,6 +8,7 @@ [], [], [], + [], [] ], "ledger": { @@ -42,7 +43,32 @@ "executable": { "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" }, - "storage": null + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } + } + ] } } } diff --git a/smart-contracts/contracts/error-registry/test_snapshots/test/cleanup_removes_expired_and_keeps_active.1.json b/smart-contracts/contracts/error-registry/test_snapshots/test/cleanup_removes_expired_and_keeps_active.1.json index b831cb1a..324ddb39 100644 --- a/smart-contracts/contracts/error-registry/test_snapshots/test/cleanup_removes_expired_and_keeps_active.1.json +++ b/smart-contracts/contracts/error-registry/test_snapshots/test/cleanup_removes_expired_and_keeps_active.1.json @@ -1,6 +1,6 @@ { "generators": { - "address": 1, + "address": 2, "nonce": 0 }, "auth": [ @@ -9,6 +9,7 @@ [], [], [], + [], [] ], "ledger": { @@ -221,7 +222,32 @@ "executable": { "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" }, - "storage": null + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } + } + ] } } } diff --git a/smart-contracts/contracts/error-registry/test_snapshots/test/cleanup_respects_boundary.1.json b/smart-contracts/contracts/error-registry/test_snapshots/test/cleanup_respects_boundary.1.json index 90257b78..463432d5 100644 --- a/smart-contracts/contracts/error-registry/test_snapshots/test/cleanup_respects_boundary.1.json +++ b/smart-contracts/contracts/error-registry/test_snapshots/test/cleanup_respects_boundary.1.json @@ -1,12 +1,13 @@ { "generators": { - "address": 1, + "address": 2, "nonce": 0 }, "auth": [ [], [], [], + [], [] ], "ledger": { @@ -41,7 +42,32 @@ "executable": { "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" }, - "storage": null + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } + } + ] } } } diff --git a/smart-contracts/contracts/error-registry/test_snapshots/test/cleanup_still_works_when_paused.1.json b/smart-contracts/contracts/error-registry/test_snapshots/test/cleanup_still_works_when_paused.1.json new file mode 100644 index 00000000..32344ab7 --- /dev/null +++ b/smart-contracts/contracts/error-registry/test_snapshots/test/cleanup_still_works_when_paused.1.json @@ -0,0 +1,200 @@ +{ + "generators": { + "address": 2, + "nonce": 0 + }, + "auth": [ + [], + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "pause", + "args": [] + } + }, + "sub_invocations": [] + } + ] + ], + [] + ], + "ledger": { + "protocol_version": 22, + "sequence_number": 0, + "timestamp": 2000, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": true + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [ + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "contract", + "body": { + "v0": { + "topics": [ + { + "symbol": "errreg" + }, + { + "symbol": "cleaned" + } + ], + "data": { + "map": [ + { + "key": { + "symbol": "remaining" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "removed" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "scanned" + }, + "val": { + "u32": 1 + } + } + ] + } + } + } + }, + "failed_call": false + } + ] +} \ No newline at end of file diff --git a/smart-contracts/contracts/error-registry/test_snapshots/test/cleanup_with_no_expired_records_is_noop.1.json b/smart-contracts/contracts/error-registry/test_snapshots/test/cleanup_with_no_expired_records_is_noop.1.json index 08d78f64..ebe71582 100644 --- a/smart-contracts/contracts/error-registry/test_snapshots/test/cleanup_with_no_expired_records_is_noop.1.json +++ b/smart-contracts/contracts/error-registry/test_snapshots/test/cleanup_with_no_expired_records_is_noop.1.json @@ -1,12 +1,13 @@ { "generators": { - "address": 1, + "address": 2, "nonce": 0 }, "auth": [ [], [], [], + [], [] ], "ledger": { @@ -311,7 +312,32 @@ "executable": { "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" }, - "storage": null + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } + } + ] } } } diff --git a/smart-contracts/contracts/error-registry/test_snapshots/test/duplicate_submit_returns_already_exists.1.json b/smart-contracts/contracts/error-registry/test_snapshots/test/duplicate_submit_returns_already_exists.1.json index 84435c16..bf7146da 100644 --- a/smart-contracts/contracts/error-registry/test_snapshots/test/duplicate_submit_returns_already_exists.1.json +++ b/smart-contracts/contracts/error-registry/test_snapshots/test/duplicate_submit_returns_already_exists.1.json @@ -1,9 +1,10 @@ { "generators": { - "address": 1, + "address": 2, "nonce": 0 }, "auth": [ + [], [], [], [] @@ -218,7 +219,32 @@ "executable": { "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" }, - "storage": null + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } + } + ] } } } diff --git a/smart-contracts/contracts/error-registry/test_snapshots/test/get_error_hides_expired_record.1.json b/smart-contracts/contracts/error-registry/test_snapshots/test/get_error_hides_expired_record.1.json index eea1b26a..f01ebe17 100644 --- a/smart-contracts/contracts/error-registry/test_snapshots/test/get_error_hides_expired_record.1.json +++ b/smart-contracts/contracts/error-registry/test_snapshots/test/get_error_hides_expired_record.1.json @@ -1,12 +1,13 @@ { "generators": { - "address": 1, + "address": 2, "nonce": 0 }, "auth": [ [], [], [], + [], [] ], "ledger": { @@ -219,7 +220,32 @@ "executable": { "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" }, - "storage": null + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } + } + ] } } } diff --git a/smart-contracts/contracts/error-registry/test_snapshots/test/get_error_still_works_when_paused.1.json b/smart-contracts/contracts/error-registry/test_snapshots/test/get_error_still_works_when_paused.1.json new file mode 100644 index 00000000..f9d42be2 --- /dev/null +++ b/smart-contracts/contracts/error-registry/test_snapshots/test/get_error_still_works_when_paused.1.json @@ -0,0 +1,329 @@ +{ + "generators": { + "address": 2, + "nonce": 0 + }, + "auth": [ + [], + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "pause", + "args": [] + } + }, + "sub_invocations": [] + } + ] + ], + [] + ], + "ledger": { + "protocol_version": 22, + "sequence_number": 0, + "timestamp": 1000, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "AllErrorIds" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "AllErrorIds" + } + ] + }, + "durability": "persistent", + "val": { + "vec": [ + { + "bytes": "6666666666666666666666666666666666666666666666666666666666666666" + } + ] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "CodeIndex" + }, + { + "u32": 42 + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "CodeIndex" + }, + { + "u32": 42 + } + ] + }, + "durability": "persistent", + "val": { + "vec": [ + { + "bytes": "6666666666666666666666666666666666666666666666666666666666666666" + } + ] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Record" + }, + { + "bytes": "6666666666666666666666666666666666666666666666666666666666666666" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Record" + }, + { + "bytes": "6666666666666666666666666666666666666666666666666666666666666666" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "agent_id" + }, + "val": { + "symbol": "agent1" + } + }, + { + "key": { + "symbol": "created_at" + }, + "val": { + "u64": 1000 + } + }, + { + "key": { + "symbol": "error_code" + }, + "val": { + "u32": 42 + } + }, + { + "key": { + "symbol": "expires_at" + }, + "val": { + "u64": 2000 + } + }, + { + "key": { + "symbol": "message" + }, + "val": { + "symbol": "boom" + } + } + ] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": true + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [] +} \ No newline at end of file diff --git a/smart-contracts/contracts/error-registry/test_snapshots/test/get_errors_by_code_skips_expired.1.json b/smart-contracts/contracts/error-registry/test_snapshots/test/get_errors_by_code_skips_expired.1.json index cb68c227..f1f8ae7a 100644 --- a/smart-contracts/contracts/error-registry/test_snapshots/test/get_errors_by_code_skips_expired.1.json +++ b/smart-contracts/contracts/error-registry/test_snapshots/test/get_errors_by_code_skips_expired.1.json @@ -1,6 +1,6 @@ { "generators": { - "address": 1, + "address": 2, "nonce": 0 }, "auth": [ @@ -9,6 +9,7 @@ [], [], [], + [], [] ], "ledger": { @@ -313,7 +314,32 @@ "executable": { "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" }, - "storage": null + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } + } + ] } } } diff --git a/smart-contracts/contracts/error-registry/test_snapshots/test/initialize_sets_admin_and_unpaused.1.json b/smart-contracts/contracts/error-registry/test_snapshots/test/initialize_sets_admin_and_unpaused.1.json new file mode 100644 index 00000000..8314f8ac --- /dev/null +++ b/smart-contracts/contracts/error-registry/test_snapshots/test/initialize_sets_admin_and_unpaused.1.json @@ -0,0 +1,103 @@ +{ + "generators": { + "address": 2, + "nonce": 0 + }, + "auth": [ + [], + [], + [], + [] + ], + "ledger": { + "protocol_version": 22, + "sequence_number": 0, + "timestamp": 1000, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [] +} \ No newline at end of file diff --git a/smart-contracts/contracts/error-registry/test_snapshots/test/pause_blocks_submit_error.1.json b/smart-contracts/contracts/error-registry/test_snapshots/test/pause_blocks_submit_error.1.json new file mode 100644 index 00000000..f7a0bdf3 --- /dev/null +++ b/smart-contracts/contracts/error-registry/test_snapshots/test/pause_blocks_submit_error.1.json @@ -0,0 +1,150 @@ +{ + "generators": { + "address": 2, + "nonce": 0 + }, + "auth": [ + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "pause", + "args": [] + } + }, + "sub_invocations": [] + } + ] + ], + [] + ], + "ledger": { + "protocol_version": 22, + "sequence_number": 0, + "timestamp": 1000, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": true + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [] +} \ No newline at end of file diff --git a/smart-contracts/contracts/error-registry/test_snapshots/test/submit_error_at_max_ttl_is_accepted.1.json b/smart-contracts/contracts/error-registry/test_snapshots/test/submit_error_at_max_ttl_is_accepted.1.json index 71e4f25d..0e908c4c 100644 --- a/smart-contracts/contracts/error-registry/test_snapshots/test/submit_error_at_max_ttl_is_accepted.1.json +++ b/smart-contracts/contracts/error-registry/test_snapshots/test/submit_error_at_max_ttl_is_accepted.1.json @@ -1,9 +1,10 @@ { "generators": { - "address": 1, + "address": 2, "nonce": 0 }, "auth": [ + [], [], [], [] @@ -218,7 +219,32 @@ "executable": { "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" }, - "storage": null + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } + } + ] } } } diff --git a/smart-contracts/contracts/error-registry/test_snapshots/test/submit_error_stores_expires_at.1.json b/smart-contracts/contracts/error-registry/test_snapshots/test/submit_error_stores_expires_at.1.json index 2d4a7ec7..de98e1d7 100644 --- a/smart-contracts/contracts/error-registry/test_snapshots/test/submit_error_stores_expires_at.1.json +++ b/smart-contracts/contracts/error-registry/test_snapshots/test/submit_error_stores_expires_at.1.json @@ -1,9 +1,10 @@ { "generators": { - "address": 1, + "address": 2, "nonce": 0 }, "auth": [ + [], [], [], [] @@ -218,7 +219,32 @@ "executable": { "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" }, - "storage": null + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } + } + ] } } } diff --git a/smart-contracts/contracts/error-registry/test_snapshots/test/ttl_above_max_is_rejected.1.json b/smart-contracts/contracts/error-registry/test_snapshots/test/ttl_above_max_is_rejected.1.json index 90577a38..eb3969b2 100644 --- a/smart-contracts/contracts/error-registry/test_snapshots/test/ttl_above_max_is_rejected.1.json +++ b/smart-contracts/contracts/error-registry/test_snapshots/test/ttl_above_max_is_rejected.1.json @@ -1,9 +1,10 @@ { "generators": { - "address": 1, + "address": 2, "nonce": 0 }, "auth": [ + [], [], [], [] @@ -40,7 +41,32 @@ "executable": { "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" }, - "storage": null + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } + } + ] } } } diff --git a/smart-contracts/contracts/error-registry/test_snapshots/test/ttl_overflow_is_rejected.1.json b/smart-contracts/contracts/error-registry/test_snapshots/test/ttl_overflow_is_rejected.1.json index 18c83217..ace1279e 100644 --- a/smart-contracts/contracts/error-registry/test_snapshots/test/ttl_overflow_is_rejected.1.json +++ b/smart-contracts/contracts/error-registry/test_snapshots/test/ttl_overflow_is_rejected.1.json @@ -1,9 +1,10 @@ { "generators": { - "address": 1, + "address": 2, "nonce": 0 }, "auth": [ + [], [], [], [] @@ -40,7 +41,32 @@ "executable": { "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" }, - "storage": null + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } + } + ] } } } diff --git a/smart-contracts/contracts/error-registry/test_snapshots/test/ttl_zero_is_rejected.1.json b/smart-contracts/contracts/error-registry/test_snapshots/test/ttl_zero_is_rejected.1.json index 90577a38..eb3969b2 100644 --- a/smart-contracts/contracts/error-registry/test_snapshots/test/ttl_zero_is_rejected.1.json +++ b/smart-contracts/contracts/error-registry/test_snapshots/test/ttl_zero_is_rejected.1.json @@ -1,9 +1,10 @@ { "generators": { - "address": 1, + "address": 2, "nonce": 0 }, "auth": [ + [], [], [], [] @@ -40,7 +41,32 @@ "executable": { "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" }, - "storage": null + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } + } + ] } } } diff --git a/smart-contracts/contracts/error-registry/test_snapshots/test/unpause_allows_submit_error.1.json b/smart-contracts/contracts/error-registry/test_snapshots/test/unpause_allows_submit_error.1.json new file mode 100644 index 00000000..6a869972 --- /dev/null +++ b/smart-contracts/contracts/error-registry/test_snapshots/test/unpause_allows_submit_error.1.json @@ -0,0 +1,377 @@ +{ + "generators": { + "address": 2, + "nonce": 0 + }, + "auth": [ + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "pause", + "args": [] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "unpause", + "args": [] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [] + ], + "ledger": { + "protocol_version": 22, + "sequence_number": 0, + "timestamp": 1000, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "AllErrorIds" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "AllErrorIds" + } + ] + }, + "durability": "persistent", + "val": { + "vec": [ + { + "bytes": "6565656565656565656565656565656565656565656565656565656565656565" + } + ] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "CodeIndex" + }, + { + "u32": 42 + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "CodeIndex" + }, + { + "u32": 42 + } + ] + }, + "durability": "persistent", + "val": { + "vec": [ + { + "bytes": "6565656565656565656565656565656565656565656565656565656565656565" + } + ] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Record" + }, + { + "bytes": "6565656565656565656565656565656565656565656565656565656565656565" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Record" + }, + { + "bytes": "6565656565656565656565656565656565656565656565656565656565656565" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "agent_id" + }, + "val": { + "symbol": "agent1" + } + }, + { + "key": { + "symbol": "created_at" + }, + "val": { + "u64": 1000 + } + }, + { + "key": { + "symbol": "error_code" + }, + "val": { + "u32": 42 + } + }, + { + "key": { + "symbol": "expires_at" + }, + "val": { + "u64": 2000 + } + }, + { + "key": { + "symbol": "message" + }, + "val": { + "symbol": "boom" + } + } + ] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [] +} \ No newline at end of file diff --git a/smart-contracts/contracts/error-resolver/src/agent_errors.rs b/smart-contracts/contracts/error-resolver/src/agent_errors.rs index 7978c6b1..0af9472c 100644 --- a/smart-contracts/contracts/error-resolver/src/agent_errors.rs +++ b/smart-contracts/contracts/error-resolver/src/agent_errors.rs @@ -9,6 +9,7 @@ use soroban_sdk::{ #[contracttype] pub enum DataKey { Admin, + Paused, AuthorizedCallers, AgentErrorCount(Symbol), } @@ -19,6 +20,7 @@ pub enum ContractError { AlreadyInitialized = 1, NotInitialized = 2, Unauthorized = 3, + ContractPaused = 4, } #[contract] @@ -34,6 +36,18 @@ fn require_admin(env: &Env) -> Result { Ok(admin) } +fn require_not_paused(env: &Env) -> Result<(), ContractError> { + let paused: bool = env + .storage() + .instance() + .get(&DataKey::Paused) + .unwrap_or(false); + if paused { + return Err(ContractError::ContractPaused); + } + Ok(()) +} + /// Authorizes a cross-contract caller against the allowlist. /// /// `caller.require_auth()` proves the address is genuinely the direct @@ -63,9 +77,12 @@ impl ErrorResolverContract { return Err(ContractError::AlreadyInitialized); } env.storage().instance().set(&DataKey::Admin, &admin); + env.storage().instance().set(&DataKey::Paused, &false); env.storage() .instance() .set(&DataKey::AuthorizedCallers, &Vec::
::new(&env)); + env.events() + .publish((symbol_short!("errres"), symbol_short!("init")), admin); Ok(()) } @@ -73,9 +90,36 @@ impl ErrorResolverContract { env.storage().instance().get(&DataKey::Admin) } + /// Pause the contract. Only admin can call this. + pub fn pause(env: Env) -> Result<(), ContractError> { + require_admin(&env)?; + env.storage().instance().set(&DataKey::Paused, &true); + env.events() + .publish((symbol_short!("errres"), symbol_short!("paused")), ()); + Ok(()) + } + + /// Unpause the contract. Only admin can call this. + pub fn unpause(env: Env) -> Result<(), ContractError> { + require_admin(&env)?; + env.storage().instance().set(&DataKey::Paused, &false); + env.events() + .publish((symbol_short!("errres"), symbol_short!("unpaused")), ()); + Ok(()) + } + + /// Returns whether the contract is currently paused. + pub fn is_paused(env: Env) -> bool { + env.storage() + .instance() + .get(&DataKey::Paused) + .unwrap_or(false) + } + /// Allowlists a contract address (e.g. agent-registry) to call /// `record_error` and `clear_agent_errors`. Admin only. pub fn add_authorized_caller(env: Env, caller: Address) -> Result<(), ContractError> { + require_not_paused(&env)?; require_admin(&env)?; let mut allowlist: Vec
= env .storage() @@ -97,6 +141,7 @@ impl ErrorResolverContract { /// Revokes a previously allowlisted caller. Admin only. pub fn remove_authorized_caller(env: Env, caller: Address) -> Result<(), ContractError> { + require_not_paused(&env)?; require_admin(&env)?; let allowlist: Vec
= env .storage() @@ -132,6 +177,7 @@ impl ErrorResolverContract { /// allowlisted contract (see `add_authorized_caller`) and must be the /// genuine direct invoker of this call. pub fn record_error(env: Env, caller: Address, agent_id: Symbol) -> Result { + require_not_paused(&env)?; require_authorized_caller(&env, &caller)?; let key = DataKey::AgentErrorCount(agent_id.clone()); let count: u32 = env.storage().persistent().get(&key).unwrap_or(0); @@ -160,6 +206,7 @@ impl ErrorResolverContract { caller: Address, agent_id: Symbol, ) -> Result<(), ContractError> { + require_not_paused(&env)?; require_authorized_caller(&env, &caller)?; env.storage() .persistent() @@ -283,4 +330,54 @@ mod test { let agent_id = Symbol::new(&env, "ghost"); assert_eq!(client.get_agent_error_count(&agent_id), 0); } + + // ── Pause / unpause ─────────────────────────────────────────────────── + + #[test] + fn initialize_sets_unpaused() { + let (env, client, _admin) = setup(); + assert!(!client.is_paused()); + let _ = env; + } + + #[test] + fn pause_blocks_record_error() { + let (env, client, _admin) = setup(); + let registry = Address::generate(&env); + client.add_authorized_caller(®istry); + let agent_id = Symbol::new(&env, "agent5"); + + client.pause(); + + let result = client.try_record_error(®istry, &agent_id); + assert_eq!(result, Err(Ok(ContractError::ContractPaused))); + } + + #[test] + fn unpause_allows_record_error() { + let (env, client, _admin) = setup(); + let registry = Address::generate(&env); + client.add_authorized_caller(®istry); + let agent_id = Symbol::new(&env, "agent6"); + + client.pause(); + client.unpause(); + + let count = client.record_error(®istry, &agent_id); + assert_eq!(count, 1); + } + + #[test] + fn get_agent_error_count_still_works_when_paused() { + let (env, client, _admin) = setup(); + let registry = Address::generate(&env); + client.add_authorized_caller(®istry); + let agent_id = Symbol::new(&env, "agent7"); + client.record_error(®istry, &agent_id); + + client.pause(); + + // Reads should still work when paused. + assert_eq!(client.get_agent_error_count(&agent_id), 1); + } } diff --git a/smart-contracts/contracts/error-resolver/test_snapshots/agent_errors/test/admin_can_manage_allowlist.1.json b/smart-contracts/contracts/error-resolver/test_snapshots/agent_errors/test/admin_can_manage_allowlist.1.json index 7248f591..ba05af35 100644 --- a/smart-contracts/contracts/error-resolver/test_snapshots/agent_errors/test/admin_can_manage_allowlist.1.json +++ b/smart-contracts/contracts/error-resolver/test_snapshots/agent_errors/test/admin_can_manage_allowlist.1.json @@ -104,6 +104,18 @@ "val": { "vec": [] } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } } ] } diff --git a/smart-contracts/contracts/error-resolver/test_snapshots/agent_errors/test/clear_resets_count_to_zero.1.json b/smart-contracts/contracts/error-resolver/test_snapshots/agent_errors/test/clear_resets_count_to_zero.1.json index 472ab425..231762c8 100644 --- a/smart-contracts/contracts/error-resolver/test_snapshots/agent_errors/test/clear_resets_count_to_zero.1.json +++ b/smart-contracts/contracts/error-resolver/test_snapshots/agent_errors/test/clear_resets_count_to_zero.1.json @@ -154,6 +154,18 @@ } ] } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } } ] } diff --git a/smart-contracts/contracts/error-resolver/test_snapshots/agent_errors/test/error_count_for_unknown_agent_is_zero.1.json b/smart-contracts/contracts/error-resolver/test_snapshots/agent_errors/test/error_count_for_unknown_agent_is_zero.1.json index 8c3ed6c7..4a78a438 100644 --- a/smart-contracts/contracts/error-resolver/test_snapshots/agent_errors/test/error_count_for_unknown_agent_is_zero.1.json +++ b/smart-contracts/contracts/error-resolver/test_snapshots/agent_errors/test/error_count_for_unknown_agent_is_zero.1.json @@ -64,6 +64,18 @@ "val": { "vec": [] } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } } ] } diff --git a/smart-contracts/contracts/error-resolver/test_snapshots/agent_errors/test/get_agent_error_count_still_works_when_paused.1.json b/smart-contracts/contracts/error-resolver/test_snapshots/agent_errors/test/get_agent_error_count_still_works_when_paused.1.json new file mode 100644 index 00000000..6cb56a0e --- /dev/null +++ b/smart-contracts/contracts/error-resolver/test_snapshots/agent_errors/test/get_agent_error_count_still_works_when_paused.1.json @@ -0,0 +1,318 @@ +{ + "generators": { + "address": 3, + "nonce": 0 + }, + "auth": [ + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "add_authorized_caller", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "record_error", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "symbol": "agent7" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "pause", + "args": [] + } + }, + "sub_invocations": [] + } + ] + ], + [] + ], + "ledger": { + "protocol_version": 22, + "sequence_number": 0, + "timestamp": 0, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "AgentErrorCount" + }, + { + "symbol": "agent7" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "AgentErrorCount" + }, + { + "symbol": "agent7" + } + ] + }, + "durability": "persistent", + "val": { + "u32": 1 + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "AuthorizedCallers" + } + ] + }, + "val": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": true + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [] +} \ No newline at end of file diff --git a/smart-contracts/contracts/error-resolver/test_snapshots/agent_errors/test/initialize_cannot_run_twice.1.json b/smart-contracts/contracts/error-resolver/test_snapshots/agent_errors/test/initialize_cannot_run_twice.1.json index f071b290..054153e9 100644 --- a/smart-contracts/contracts/error-resolver/test_snapshots/agent_errors/test/initialize_cannot_run_twice.1.json +++ b/smart-contracts/contracts/error-resolver/test_snapshots/agent_errors/test/initialize_cannot_run_twice.1.json @@ -64,6 +64,18 @@ "val": { "vec": [] } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } } ] } diff --git a/smart-contracts/contracts/error-resolver/test_snapshots/agent_errors/test/initialize_sets_admin.1.json b/smart-contracts/contracts/error-resolver/test_snapshots/agent_errors/test/initialize_sets_admin.1.json index 8c3ed6c7..4a78a438 100644 --- a/smart-contracts/contracts/error-resolver/test_snapshots/agent_errors/test/initialize_sets_admin.1.json +++ b/smart-contracts/contracts/error-resolver/test_snapshots/agent_errors/test/initialize_sets_admin.1.json @@ -64,6 +64,18 @@ "val": { "vec": [] } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } } ] } diff --git a/smart-contracts/contracts/error-resolver/test_snapshots/agent_errors/test/initialize_sets_unpaused.1.json b/smart-contracts/contracts/error-resolver/test_snapshots/agent_errors/test/initialize_sets_unpaused.1.json new file mode 100644 index 00000000..4a78a438 --- /dev/null +++ b/smart-contracts/contracts/error-resolver/test_snapshots/agent_errors/test/initialize_sets_unpaused.1.json @@ -0,0 +1,114 @@ +{ + "generators": { + "address": 2, + "nonce": 0 + }, + "auth": [ + [], + [], + [] + ], + "ledger": { + "protocol_version": 22, + "sequence_number": 0, + "timestamp": 0, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "AuthorizedCallers" + } + ] + }, + "val": { + "vec": [] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [] +} \ No newline at end of file diff --git a/smart-contracts/contracts/error-resolver/test_snapshots/agent_errors/test/non_admin_cannot_manage_allowlist.1.json b/smart-contracts/contracts/error-resolver/test_snapshots/agent_errors/test/non_admin_cannot_manage_allowlist.1.json index f071b290..054153e9 100644 --- a/smart-contracts/contracts/error-resolver/test_snapshots/agent_errors/test/non_admin_cannot_manage_allowlist.1.json +++ b/smart-contracts/contracts/error-resolver/test_snapshots/agent_errors/test/non_admin_cannot_manage_allowlist.1.json @@ -64,6 +64,18 @@ "val": { "vec": [] } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } } ] } diff --git a/smart-contracts/contracts/error-resolver/test_snapshots/agent_errors/test/pause_blocks_record_error.1.json b/smart-contracts/contracts/error-resolver/test_snapshots/agent_errors/test/pause_blocks_record_error.1.json new file mode 100644 index 00000000..495da1c1 --- /dev/null +++ b/smart-contracts/contracts/error-resolver/test_snapshots/agent_errors/test/pause_blocks_record_error.1.json @@ -0,0 +1,218 @@ +{ + "generators": { + "address": 3, + "nonce": 0 + }, + "auth": [ + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "add_authorized_caller", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "pause", + "args": [] + } + }, + "sub_invocations": [] + } + ] + ], + [] + ], + "ledger": { + "protocol_version": 22, + "sequence_number": 0, + "timestamp": 0, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "AuthorizedCallers" + } + ] + }, + "val": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": true + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [] +} \ No newline at end of file diff --git a/smart-contracts/contracts/error-resolver/test_snapshots/agent_errors/test/record_and_query_error_count.1.json b/smart-contracts/contracts/error-resolver/test_snapshots/agent_errors/test/record_and_query_error_count.1.json index 6dd31c4f..39fc78b5 100644 --- a/smart-contracts/contracts/error-resolver/test_snapshots/agent_errors/test/record_and_query_error_count.1.json +++ b/smart-contracts/contracts/error-resolver/test_snapshots/agent_errors/test/record_and_query_error_count.1.json @@ -177,6 +177,18 @@ } ] } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } } ] } diff --git a/smart-contracts/contracts/error-resolver/test_snapshots/agent_errors/test/unauthorized_caller_cannot_clear.1.json b/smart-contracts/contracts/error-resolver/test_snapshots/agent_errors/test/unauthorized_caller_cannot_clear.1.json index f071b290..054153e9 100644 --- a/smart-contracts/contracts/error-resolver/test_snapshots/agent_errors/test/unauthorized_caller_cannot_clear.1.json +++ b/smart-contracts/contracts/error-resolver/test_snapshots/agent_errors/test/unauthorized_caller_cannot_clear.1.json @@ -64,6 +64,18 @@ "val": { "vec": [] } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } } ] } diff --git a/smart-contracts/contracts/error-resolver/test_snapshots/agent_errors/test/unauthorized_caller_cannot_record.1.json b/smart-contracts/contracts/error-resolver/test_snapshots/agent_errors/test/unauthorized_caller_cannot_record.1.json index f071b290..054153e9 100644 --- a/smart-contracts/contracts/error-resolver/test_snapshots/agent_errors/test/unauthorized_caller_cannot_record.1.json +++ b/smart-contracts/contracts/error-resolver/test_snapshots/agent_errors/test/unauthorized_caller_cannot_record.1.json @@ -64,6 +64,18 @@ "val": { "vec": [] } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } } ] } diff --git a/smart-contracts/contracts/error-resolver/test_snapshots/agent_errors/test/unpause_allows_record_error.1.json b/smart-contracts/contracts/error-resolver/test_snapshots/agent_errors/test/unpause_allows_record_error.1.json new file mode 100644 index 00000000..ebe2e954 --- /dev/null +++ b/smart-contracts/contracts/error-resolver/test_snapshots/agent_errors/test/unpause_allows_record_error.1.json @@ -0,0 +1,396 @@ +{ + "generators": { + "address": 3, + "nonce": 0 + }, + "auth": [ + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "add_authorized_caller", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "pause", + "args": [] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "unpause", + "args": [] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "record_error", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "symbol": "agent6" + } + ] + } + }, + "sub_invocations": [] + } + ] + ] + ], + "ledger": { + "protocol_version": 22, + "sequence_number": 0, + "timestamp": 0, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "AgentErrorCount" + }, + { + "symbol": "agent6" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "AgentErrorCount" + }, + { + "symbol": "agent6" + } + ] + }, + "durability": "persistent", + "val": { + "u32": 1 + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "AuthorizedCallers" + } + ] + }, + "val": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 4837995959683129791 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 4837995959683129791 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [ + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "contract", + "body": { + "v0": { + "topics": [ + { + "symbol": "errres" + }, + { + "symbol": "recorded" + } + ], + "data": { + "vec": [ + { + "symbol": "agent6" + }, + { + "u32": 1 + } + ] + } + } + } + }, + "failed_call": false + } + ] +} \ No newline at end of file diff --git a/smart-contracts/contracts/task_store/src/lib.rs b/smart-contracts/contracts/task_store/src/lib.rs index 4ae137b1..a3f4ebea 100644 --- a/smart-contracts/contracts/task_store/src/lib.rs +++ b/smart-contracts/contracts/task_store/src/lib.rs @@ -12,6 +12,28 @@ use soroban_sdk::{contract, contractimpl, symbol_short, Address, Bytes, BytesN, const SECONDS_PER_DAY: u64 = 86_400; +fn require_admin(env: &Env) -> Result { + let admin: Address = env + .storage() + .instance() + .get(&DataKey::Admin) + .ok_or(Error::NotFound)?; + admin.require_auth(); + Ok(admin) +} + +fn require_not_paused(env: &Env) -> Result<(), Error> { + let paused: bool = env + .storage() + .instance() + .get(&DataKey::Paused) + .unwrap_or(false); + if paused { + return Err(Error::ContractPaused); + } + Ok(()) +} + fn ttl_ledgers(ttl_days: u32) -> u32 { ttl_days.saturating_mul(LEDGERS_PER_DAY) } @@ -65,6 +87,47 @@ pub struct TaskStoreContract; #[contractimpl] impl TaskStoreContract { + /// Initialise the contract with an admin. Can only be called once. + pub fn initialize(env: Env, admin: Address) -> Result<(), Error> { + if env.storage().instance().has(&DataKey::Admin) { + return Err(Error::AlreadyExists); + } + env.storage().instance().set(&DataKey::Admin, &admin); + env.storage().instance().set(&DataKey::Paused, &false); + Ok(()) + } + + /// Return the current admin address, if set. + pub fn get_admin(env: Env) -> Option
{ + env.storage().instance().get(&DataKey::Admin) + } + + /// Pause the contract. Only admin can call this. + pub fn pause(env: Env) -> Result<(), Error> { + require_admin(&env)?; + env.storage().instance().set(&DataKey::Paused, &true); + env.events() + .publish((symbol_short!("task_meta"), symbol_short!("paused")), ()); + Ok(()) + } + + /// Unpause the contract. Only admin can call this. + pub fn unpause(env: Env) -> Result<(), Error> { + require_admin(&env)?; + env.storage().instance().set(&DataKey::Paused, &false); + env.events() + .publish((symbol_short!("task_meta"), symbol_short!("unpaused")), ()); + Ok(()) + } + + /// Returns whether the contract is currently paused. + pub fn is_paused(env: Env) -> bool { + env.storage() + .instance() + .get(&DataKey::Paused) + .unwrap_or(false) + } + pub fn store_task_metadata( env: Env, submitter: Address, @@ -74,6 +137,7 @@ impl TaskStoreContract { compressed_dag: Bytes, ttl_days: u32, ) -> Result<(), Error> { + require_not_paused(&env)?; submitter.require_auth(); let key = DataKey::Task(task_id.clone()); @@ -147,6 +211,7 @@ impl TaskStoreContract { agent: Address, new_status: TaskStatus, ) -> Result<(), Error> { + require_not_paused(&env)?; agent.require_auth(); let key = DataKey::Task(task_id.clone()); @@ -221,6 +286,8 @@ mod test { }); let contract_id = env.register(TaskStoreContract, ()); let client = TaskStoreContractClient::new(&env, &contract_id); + let admin = Address::generate(&env); + client.initialize(&admin); Fixture { submitter: Address::generate(&env), @@ -418,4 +485,67 @@ mod test { assert_eq!(fixture.env.events().all().len(), 0); } + + #[test] + fn initialize_sets_unpaused() { + let fixture = fixture(); + assert!(!fixture.client.is_paused()); + } + + #[test] + fn pause_blocks_store_task_metadata() { + let fixture = fixture(); + let agents = Vec::from_array(&fixture.env, [fixture.agent.clone()]); + let dag = Bytes::from_slice(&fixture.env, &[0x78, 0x9c, 0x03, 0x00]); + + fixture.client.pause(); + + let result = fixture.client.try_store_task_metadata( + &fixture.submitter, + &fixture.task_id, + &fixture.prompt_hash, + &agents, + &dag, + &1, + ); + assert_eq!(result, Err(Ok(Error::ContractPaused))); + } + + #[test] + fn unpause_allows_store_task_metadata() { + let fixture = fixture(); + fixture.client.pause(); + fixture.client.unpause(); + + store(&fixture, 1); + let metadata = fixture.client.get_task_metadata(&fixture.task_id); + assert_eq!(metadata.task_id, fixture.task_id); + } + + #[test] + fn pause_blocks_update_task_status() { + let fixture = fixture(); + store(&fixture, 1); + + fixture.client.pause(); + + let result = fixture.client.try_update_task_status( + &fixture.task_id, + &fixture.agent, + &TaskStatus::Running, + ); + assert_eq!(result, Err(Ok(Error::ContractPaused))); + } + + #[test] + fn get_task_metadata_still_works_when_paused() { + let fixture = fixture(); + store(&fixture, 1); + + fixture.client.pause(); + + // Reads should still work when paused. + let metadata = fixture.client.get_task_metadata(&fixture.task_id); + assert_eq!(metadata.task_id, fixture.task_id); + } } diff --git a/smart-contracts/contracts/task_store/src/types.rs b/smart-contracts/contracts/task_store/src/types.rs index 875239ff..09d1f4ca 100644 --- a/smart-contracts/contracts/task_store/src/types.rs +++ b/smart-contracts/contracts/task_store/src/types.rs @@ -35,6 +35,8 @@ pub struct TaskMetadata { #[contracttype] #[derive(Clone)] pub enum DataKey { + Admin, + Paused, Task(BytesN<32>), } @@ -94,4 +96,5 @@ pub enum Error { NotAssignedAgent = 7, InvalidStatusTransition = 8, Expired = 9, + ContractPaused = 10, } diff --git a/smart-contracts/contracts/task_store/test_snapshots/test/a_rejected_transition_emits_no_lifecycle_event.1.json b/smart-contracts/contracts/task_store/test_snapshots/test/a_rejected_transition_emits_no_lifecycle_event.1.json new file mode 100644 index 00000000..b1745383 --- /dev/null +++ b/smart-contracts/contracts/task_store/test_snapshots/test/a_rejected_transition_emits_no_lifecycle_event.1.json @@ -0,0 +1,279 @@ +{ + "generators": { + "address": 4, + "nonce": 0 + }, + "auth": [ + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "store_task_metadata", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + }, + { + "bytes": "0202020202020202020202020202020202020202020202020202020202020202" + }, + { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + { + "bytes": "789c0300" + }, + { + "u32": 1 + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [] + ], + "ledger": { + "protocol_version": 22, + "sequence_number": 100, + "timestamp": 1700000000, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Task" + }, + { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Task" + }, + { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "assigned_agents" + }, + "val": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + }, + { + "key": { + "symbol": "compressed_dag" + }, + "val": { + "bytes": "789c0300" + } + }, + { + "key": { + "symbol": "created_at" + }, + "val": { + "u64": 1700000000 + } + }, + { + "key": { + "symbol": "expires_at" + }, + "val": { + "u64": 1700086400 + } + }, + { + "key": { + "symbol": "prompt_hash" + }, + "val": { + "bytes": "0202020202020202020202020202020202020202020202020202020202020202" + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "task_id" + }, + "val": { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + } + } + ] + } + } + }, + "ext": "v0" + }, + 17380 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4195 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6312099 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4195 + ] + ] + ] + }, + "events": [] +} \ No newline at end of file diff --git a/smart-contracts/contracts/task_store/test_snapshots/test/assigned_agent_updates_status.1.json b/smart-contracts/contracts/task_store/test_snapshots/test/assigned_agent_updates_status.1.json new file mode 100644 index 00000000..3d60c8c8 --- /dev/null +++ b/smart-contracts/contracts/task_store/test_snapshots/test/assigned_agent_updates_status.1.json @@ -0,0 +1,337 @@ +{ + "generators": { + "address": 4, + "nonce": 0 + }, + "auth": [ + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "store_task_metadata", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + }, + { + "bytes": "0202020202020202020202020202020202020202020202020202020202020202" + }, + { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + { + "bytes": "789c0300" + }, + { + "u32": 1 + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "update_task_status", + "args": [ + { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u32": 1 + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [] + ], + "ledger": { + "protocol_version": 22, + "sequence_number": 100, + "timestamp": 1700000000, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Task" + }, + { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Task" + }, + { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "assigned_agents" + }, + "val": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + }, + { + "key": { + "symbol": "compressed_dag" + }, + "val": { + "bytes": "789c0300" + } + }, + { + "key": { + "symbol": "created_at" + }, + "val": { + "u64": 1700000000 + } + }, + { + "key": { + "symbol": "expires_at" + }, + "val": { + "u64": 1700086400 + } + }, + { + "key": { + "symbol": "prompt_hash" + }, + "val": { + "bytes": "0202020202020202020202020202020202020202020202020202020202020202" + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "task_id" + }, + "val": { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + } + } + ] + } + } + }, + "ext": "v0" + }, + 17380 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4195 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6312099 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6312099 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4195 + ] + ] + ] + }, + "events": [] +} \ No newline at end of file diff --git a/smart-contracts/contracts/task_store/test_snapshots/test/created_event_payload_matches_stored_metadata.1.json b/smart-contracts/contracts/task_store/test_snapshots/test/created_event_payload_matches_stored_metadata.1.json new file mode 100644 index 00000000..685ce229 --- /dev/null +++ b/smart-contracts/contracts/task_store/test_snapshots/test/created_event_payload_matches_stored_metadata.1.json @@ -0,0 +1,253 @@ +{ + "generators": { + "address": 3, + "nonce": 0 + }, + "auth": [ + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "store_task_metadata", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + }, + { + "bytes": "0202020202020202020202020202020202020202020202020202020202020202" + }, + { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + }, + { + "bytes": "789c0300" + }, + { + "u32": 1 + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [] + ], + "ledger": { + "protocol_version": 22, + "sequence_number": 100, + "timestamp": 1700000000, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Task" + }, + { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Task" + }, + { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "assigned_agents" + }, + "val": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + } + }, + { + "key": { + "symbol": "compressed_dag" + }, + "val": { + "bytes": "789c0300" + } + }, + { + "key": { + "symbol": "created_at" + }, + "val": { + "u64": 1700000000 + } + }, + { + "key": { + "symbol": "expires_at" + }, + "val": { + "u64": 1700086400 + } + }, + { + "key": { + "symbol": "prompt_hash" + }, + "val": { + "bytes": "0202020202020202020202020202020202020202020202020202020202020202" + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "task_id" + }, + "val": { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + } + } + ] + } + } + }, + "ext": "v0" + }, + 17380 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": null + } + } + } + }, + "ext": "v0" + }, + 4195 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6312099 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4195 + ] + ] + ] + }, + "events": [] +} \ No newline at end of file diff --git a/smart-contracts/contracts/task_store/test_snapshots/test/emits_exactly_one_created_event_on_store.1.json b/smart-contracts/contracts/task_store/test_snapshots/test/emits_exactly_one_created_event_on_store.1.json new file mode 100644 index 00000000..b6372624 --- /dev/null +++ b/smart-contracts/contracts/task_store/test_snapshots/test/emits_exactly_one_created_event_on_store.1.json @@ -0,0 +1,355 @@ +{ + "generators": { + "address": 4, + "nonce": 0 + }, + "auth": [ + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "store_task_metadata", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + }, + { + "bytes": "0202020202020202020202020202020202020202020202020202020202020202" + }, + { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + { + "bytes": "789c0300" + }, + { + "u32": 1 + } + ] + } + }, + "sub_invocations": [] + } + ] + ] + ], + "ledger": { + "protocol_version": 22, + "sequence_number": 100, + "timestamp": 1700000000, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Task" + }, + { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Task" + }, + { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "assigned_agents" + }, + "val": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + }, + { + "key": { + "symbol": "compressed_dag" + }, + "val": { + "bytes": "789c0300" + } + }, + { + "key": { + "symbol": "created_at" + }, + "val": { + "u64": 1700000000 + } + }, + { + "key": { + "symbol": "expires_at" + }, + "val": { + "u64": 1700086400 + } + }, + { + "key": { + "symbol": "prompt_hash" + }, + "val": { + "bytes": "0202020202020202020202020202020202020202020202020202020202020202" + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "task_id" + }, + "val": { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + } + } + ] + } + } + }, + "ext": "v0" + }, + 17380 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4195 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6312099 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4195 + ] + ] + ] + }, + "events": [ + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "contract", + "body": { + "v0": { + "topics": [ + { + "symbol": "task_meta" + }, + { + "symbol": "created" + } + ], + "data": { + "map": [ + { + "key": { + "symbol": "assigned_agents" + }, + "val": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + }, + { + "key": { + "symbol": "created_at" + }, + "val": { + "u64": 1700000000 + } + }, + { + "key": { + "symbol": "expires_at" + }, + "val": { + "u64": 1700086400 + } + }, + { + "key": { + "symbol": "prompt_hash" + }, + "val": { + "bytes": "0202020202020202020202020202020202020202020202020202020202020202" + } + }, + { + "key": { + "symbol": "task_id" + }, + "val": { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + } + }, + { + "key": { + "symbol": "version" + }, + "val": { + "u32": 1 + } + } + ] + } + } + } + }, + "failed_call": false + } + ] +} \ No newline at end of file diff --git a/smart-contracts/contracts/task_store/test_snapshots/test/emits_exactly_one_finalized_event_on_terminal_transition.1.json b/smart-contracts/contracts/task_store/test_snapshots/test/emits_exactly_one_finalized_event_on_terminal_transition.1.json new file mode 100644 index 00000000..808a9680 --- /dev/null +++ b/smart-contracts/contracts/task_store/test_snapshots/test/emits_exactly_one_finalized_event_on_terminal_transition.1.json @@ -0,0 +1,467 @@ +{ + "generators": { + "address": 4, + "nonce": 0 + }, + "auth": [ + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "store_task_metadata", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + }, + { + "bytes": "0202020202020202020202020202020202020202020202020202020202020202" + }, + { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + { + "bytes": "789c0300" + }, + { + "u32": 1 + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "update_task_status", + "args": [ + { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u32": 1 + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "update_task_status", + "args": [ + { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u32": 2 + } + ] + } + }, + "sub_invocations": [] + } + ] + ] + ], + "ledger": { + "protocol_version": 22, + "sequence_number": 100, + "timestamp": 1700000000, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Task" + }, + { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Task" + }, + { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "assigned_agents" + }, + "val": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + }, + { + "key": { + "symbol": "compressed_dag" + }, + "val": { + "bytes": "789c0300" + } + }, + { + "key": { + "symbol": "created_at" + }, + "val": { + "u64": 1700000000 + } + }, + { + "key": { + "symbol": "expires_at" + }, + "val": { + "u64": 1700086400 + } + }, + { + "key": { + "symbol": "prompt_hash" + }, + "val": { + "bytes": "0202020202020202020202020202020202020202020202020202020202020202" + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "u32": 2 + } + }, + { + "key": { + "symbol": "task_id" + }, + "val": { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + } + } + ] + } + } + }, + "ext": "v0" + }, + 17380 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4195 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6312099 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6312099 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6312099 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4195 + ] + ] + ] + }, + "events": [ + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "contract", + "body": { + "v0": { + "topics": [ + { + "symbol": "task_meta" + }, + { + "symbol": "finalized" + } + ], + "data": { + "map": [ + { + "key": { + "symbol": "agent" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "final_status" + }, + "val": { + "u32": 2 + } + }, + { + "key": { + "symbol": "finalized_at" + }, + "val": { + "u64": 1700000000 + } + }, + { + "key": { + "symbol": "old_status" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "task_id" + }, + "val": { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + } + }, + { + "key": { + "symbol": "version" + }, + "val": { + "u32": 1 + } + } + ] + } + } + } + }, + "failed_call": false + } + ] +} \ No newline at end of file diff --git a/smart-contracts/contracts/task_store/test_snapshots/test/emits_exactly_one_updated_event_on_non_terminal_transition.1.json b/smart-contracts/contracts/task_store/test_snapshots/test/emits_exactly_one_updated_event_on_non_terminal_transition.1.json new file mode 100644 index 00000000..6ac1adee --- /dev/null +++ b/smart-contracts/contracts/task_store/test_snapshots/test/emits_exactly_one_updated_event_on_non_terminal_transition.1.json @@ -0,0 +1,409 @@ +{ + "generators": { + "address": 4, + "nonce": 0 + }, + "auth": [ + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "store_task_metadata", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + }, + { + "bytes": "0202020202020202020202020202020202020202020202020202020202020202" + }, + { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + { + "bytes": "789c0300" + }, + { + "u32": 1 + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "update_task_status", + "args": [ + { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u32": 1 + } + ] + } + }, + "sub_invocations": [] + } + ] + ] + ], + "ledger": { + "protocol_version": 22, + "sequence_number": 100, + "timestamp": 1700000000, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Task" + }, + { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Task" + }, + { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "assigned_agents" + }, + "val": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + }, + { + "key": { + "symbol": "compressed_dag" + }, + "val": { + "bytes": "789c0300" + } + }, + { + "key": { + "symbol": "created_at" + }, + "val": { + "u64": 1700000000 + } + }, + { + "key": { + "symbol": "expires_at" + }, + "val": { + "u64": 1700086400 + } + }, + { + "key": { + "symbol": "prompt_hash" + }, + "val": { + "bytes": "0202020202020202020202020202020202020202020202020202020202020202" + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "task_id" + }, + "val": { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + } + } + ] + } + } + }, + "ext": "v0" + }, + 17380 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4195 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6312099 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6312099 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4195 + ] + ] + ] + }, + "events": [ + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "contract", + "body": { + "v0": { + "topics": [ + { + "symbol": "task_meta" + }, + { + "symbol": "updated" + } + ], + "data": { + "map": [ + { + "key": { + "symbol": "agent" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "new_status" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "old_status" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "task_id" + }, + "val": { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + } + }, + { + "key": { + "symbol": "updated_at" + }, + "val": { + "u64": 1700000000 + } + }, + { + "key": { + "symbol": "version" + }, + "val": { + "u32": 1 + } + } + ] + } + } + } + }, + "failed_call": false + } + ] +} \ No newline at end of file diff --git a/smart-contracts/contracts/task_store/test_snapshots/test/finalized_event_fires_for_the_failed_terminal_status_too.1.json b/smart-contracts/contracts/task_store/test_snapshots/test/finalized_event_fires_for_the_failed_terminal_status_too.1.json new file mode 100644 index 00000000..722b6fc2 --- /dev/null +++ b/smart-contracts/contracts/task_store/test_snapshots/test/finalized_event_fires_for_the_failed_terminal_status_too.1.json @@ -0,0 +1,409 @@ +{ + "generators": { + "address": 4, + "nonce": 0 + }, + "auth": [ + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "store_task_metadata", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + }, + { + "bytes": "0202020202020202020202020202020202020202020202020202020202020202" + }, + { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + { + "bytes": "789c0300" + }, + { + "u32": 1 + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "update_task_status", + "args": [ + { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u32": 3 + } + ] + } + }, + "sub_invocations": [] + } + ] + ] + ], + "ledger": { + "protocol_version": 22, + "sequence_number": 100, + "timestamp": 1700000000, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Task" + }, + { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Task" + }, + { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "assigned_agents" + }, + "val": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + }, + { + "key": { + "symbol": "compressed_dag" + }, + "val": { + "bytes": "789c0300" + } + }, + { + "key": { + "symbol": "created_at" + }, + "val": { + "u64": 1700000000 + } + }, + { + "key": { + "symbol": "expires_at" + }, + "val": { + "u64": 1700086400 + } + }, + { + "key": { + "symbol": "prompt_hash" + }, + "val": { + "bytes": "0202020202020202020202020202020202020202020202020202020202020202" + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "u32": 3 + } + }, + { + "key": { + "symbol": "task_id" + }, + "val": { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + } + } + ] + } + } + }, + "ext": "v0" + }, + 17380 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4195 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6312099 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6312099 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4195 + ] + ] + ] + }, + "events": [ + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "contract", + "body": { + "v0": { + "topics": [ + { + "symbol": "task_meta" + }, + { + "symbol": "finalized" + } + ], + "data": { + "map": [ + { + "key": { + "symbol": "agent" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "final_status" + }, + "val": { + "u32": 3 + } + }, + { + "key": { + "symbol": "finalized_at" + }, + "val": { + "u64": 1700000000 + } + }, + { + "key": { + "symbol": "old_status" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "task_id" + }, + "val": { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + } + }, + { + "key": { + "symbol": "version" + }, + "val": { + "u32": 1 + } + } + ] + } + } + } + }, + "failed_call": false + } + ] +} \ No newline at end of file diff --git a/smart-contracts/contracts/task_store/test_snapshots/test/get_task_metadata_still_works_when_paused.1.json b/smart-contracts/contracts/task_store/test_snapshots/test/get_task_metadata_still_works_when_paused.1.json new file mode 100644 index 00000000..73e84461 --- /dev/null +++ b/smart-contracts/contracts/task_store/test_snapshots/test/get_task_metadata_still_works_when_paused.1.json @@ -0,0 +1,327 @@ +{ + "generators": { + "address": 4, + "nonce": 0 + }, + "auth": [ + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "store_task_metadata", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + }, + { + "bytes": "0202020202020202020202020202020202020202020202020202020202020202" + }, + { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + { + "bytes": "789c0300" + }, + { + "u32": 1 + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "pause", + "args": [] + } + }, + "sub_invocations": [] + } + ] + ], + [] + ], + "ledger": { + "protocol_version": 22, + "sequence_number": 100, + "timestamp": 1700000000, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Task" + }, + { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Task" + }, + { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "assigned_agents" + }, + "val": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + }, + { + "key": { + "symbol": "compressed_dag" + }, + "val": { + "bytes": "789c0300" + } + }, + { + "key": { + "symbol": "created_at" + }, + "val": { + "u64": 1700000000 + } + }, + { + "key": { + "symbol": "expires_at" + }, + "val": { + "u64": 1700086400 + } + }, + { + "key": { + "symbol": "prompt_hash" + }, + "val": { + "bytes": "0202020202020202020202020202020202020202020202020202020202020202" + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "task_id" + }, + "val": { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + } + } + ] + } + } + }, + "ext": "v0" + }, + 17380 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": true + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4195 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6312099 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6312099 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4195 + ] + ] + ] + }, + "events": [] +} \ No newline at end of file diff --git a/smart-contracts/contracts/task_store/test_snapshots/test/initialize_sets_unpaused.1.json b/smart-contracts/contracts/task_store/test_snapshots/test/initialize_sets_unpaused.1.json new file mode 100644 index 00000000..426812f3 --- /dev/null +++ b/smart-contracts/contracts/task_store/test_snapshots/test/initialize_sets_unpaused.1.json @@ -0,0 +1,102 @@ +{ + "generators": { + "address": 4, + "nonce": 0 + }, + "auth": [ + [], + [], + [] + ], + "ledger": { + "protocol_version": 22, + "sequence_number": 100, + "timestamp": 1700000000, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4195 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4195 + ] + ] + ] + }, + "events": [] +} \ No newline at end of file diff --git a/smart-contracts/contracts/task_store/test_snapshots/test/metadata_expires_after_configured_period.1.json b/smart-contracts/contracts/task_store/test_snapshots/test/metadata_expires_after_configured_period.1.json new file mode 100644 index 00000000..2681092a --- /dev/null +++ b/smart-contracts/contracts/task_store/test_snapshots/test/metadata_expires_after_configured_period.1.json @@ -0,0 +1,279 @@ +{ + "generators": { + "address": 4, + "nonce": 0 + }, + "auth": [ + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "store_task_metadata", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + }, + { + "bytes": "0202020202020202020202020202020202020202020202020202020202020202" + }, + { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + { + "bytes": "789c0300" + }, + { + "u32": 1 + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [] + ], + "ledger": { + "protocol_version": 22, + "sequence_number": 100, + "timestamp": 1700086400, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Task" + }, + { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Task" + }, + { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "assigned_agents" + }, + "val": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + }, + { + "key": { + "symbol": "compressed_dag" + }, + "val": { + "bytes": "789c0300" + } + }, + { + "key": { + "symbol": "created_at" + }, + "val": { + "u64": 1700000000 + } + }, + { + "key": { + "symbol": "expires_at" + }, + "val": { + "u64": 1700086400 + } + }, + { + "key": { + "symbol": "prompt_hash" + }, + "val": { + "bytes": "0202020202020202020202020202020202020202020202020202020202020202" + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "task_id" + }, + "val": { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + } + } + ] + } + } + }, + "ext": "v0" + }, + 17380 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4195 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6312099 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4195 + ] + ] + ] + }, + "events": [] +} \ No newline at end of file diff --git a/smart-contracts/contracts/task_store/test_snapshots/test/pause_blocks_store_task_metadata.1.json b/smart-contracts/contracts/task_store/test_snapshots/test/pause_blocks_store_task_metadata.1.json new file mode 100644 index 00000000..68b9e392 --- /dev/null +++ b/smart-contracts/contracts/task_store/test_snapshots/test/pause_blocks_store_task_metadata.1.json @@ -0,0 +1,150 @@ +{ + "generators": { + "address": 4, + "nonce": 0 + }, + "auth": [ + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "pause", + "args": [] + } + }, + "sub_invocations": [] + } + ] + ], + [] + ], + "ledger": { + "protocol_version": 22, + "sequence_number": 100, + "timestamp": 1700000000, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": true + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4195 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6312099 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4195 + ] + ] + ] + }, + "events": [] +} \ No newline at end of file diff --git a/smart-contracts/contracts/task_store/test_snapshots/test/pause_blocks_update_task_status.1.json b/smart-contracts/contracts/task_store/test_snapshots/test/pause_blocks_update_task_status.1.json new file mode 100644 index 00000000..73e84461 --- /dev/null +++ b/smart-contracts/contracts/task_store/test_snapshots/test/pause_blocks_update_task_status.1.json @@ -0,0 +1,327 @@ +{ + "generators": { + "address": 4, + "nonce": 0 + }, + "auth": [ + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "store_task_metadata", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + }, + { + "bytes": "0202020202020202020202020202020202020202020202020202020202020202" + }, + { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + { + "bytes": "789c0300" + }, + { + "u32": 1 + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "pause", + "args": [] + } + }, + "sub_invocations": [] + } + ] + ], + [] + ], + "ledger": { + "protocol_version": 22, + "sequence_number": 100, + "timestamp": 1700000000, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Task" + }, + { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Task" + }, + { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "assigned_agents" + }, + "val": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + }, + { + "key": { + "symbol": "compressed_dag" + }, + "val": { + "bytes": "789c0300" + } + }, + { + "key": { + "symbol": "created_at" + }, + "val": { + "u64": 1700000000 + } + }, + { + "key": { + "symbol": "expires_at" + }, + "val": { + "u64": 1700086400 + } + }, + { + "key": { + "symbol": "prompt_hash" + }, + "val": { + "bytes": "0202020202020202020202020202020202020202020202020202020202020202" + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "task_id" + }, + "val": { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + } + } + ] + } + } + }, + "ext": "v0" + }, + 17380 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": true + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4195 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6312099 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6312099 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4195 + ] + ] + ] + }, + "events": [] +} \ No newline at end of file diff --git a/smart-contracts/contracts/task_store/test_snapshots/test/rejects_invalid_status_transition.1.json b/smart-contracts/contracts/task_store/test_snapshots/test/rejects_invalid_status_transition.1.json new file mode 100644 index 00000000..b1745383 --- /dev/null +++ b/smart-contracts/contracts/task_store/test_snapshots/test/rejects_invalid_status_transition.1.json @@ -0,0 +1,279 @@ +{ + "generators": { + "address": 4, + "nonce": 0 + }, + "auth": [ + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "store_task_metadata", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + }, + { + "bytes": "0202020202020202020202020202020202020202020202020202020202020202" + }, + { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + { + "bytes": "789c0300" + }, + { + "u32": 1 + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [] + ], + "ledger": { + "protocol_version": 22, + "sequence_number": 100, + "timestamp": 1700000000, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Task" + }, + { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Task" + }, + { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "assigned_agents" + }, + "val": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + }, + { + "key": { + "symbol": "compressed_dag" + }, + "val": { + "bytes": "789c0300" + } + }, + { + "key": { + "symbol": "created_at" + }, + "val": { + "u64": 1700000000 + } + }, + { + "key": { + "symbol": "expires_at" + }, + "val": { + "u64": 1700086400 + } + }, + { + "key": { + "symbol": "prompt_hash" + }, + "val": { + "bytes": "0202020202020202020202020202020202020202020202020202020202020202" + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "task_id" + }, + "val": { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + } + } + ] + } + } + }, + "ext": "v0" + }, + 17380 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4195 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6312099 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4195 + ] + ] + ] + }, + "events": [] +} \ No newline at end of file diff --git a/smart-contracts/contracts/task_store/test_snapshots/test/stores_and_retrieves_metadata.1.json b/smart-contracts/contracts/task_store/test_snapshots/test/stores_and_retrieves_metadata.1.json new file mode 100644 index 00000000..0a11fe71 --- /dev/null +++ b/smart-contracts/contracts/task_store/test_snapshots/test/stores_and_retrieves_metadata.1.json @@ -0,0 +1,279 @@ +{ + "generators": { + "address": 4, + "nonce": 0 + }, + "auth": [ + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "store_task_metadata", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + }, + { + "bytes": "0202020202020202020202020202020202020202020202020202020202020202" + }, + { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + { + "bytes": "789c0300" + }, + { + "u32": 0 + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [] + ], + "ledger": { + "protocol_version": 22, + "sequence_number": 100, + "timestamp": 1700000000, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Task" + }, + { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Task" + }, + { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "assigned_agents" + }, + "val": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + }, + { + "key": { + "symbol": "compressed_dag" + }, + "val": { + "bytes": "789c0300" + } + }, + { + "key": { + "symbol": "created_at" + }, + "val": { + "u64": 1700000000 + } + }, + { + "key": { + "symbol": "expires_at" + }, + "val": { + "u64": 1707776000 + } + }, + { + "key": { + "symbol": "prompt_hash" + }, + "val": { + "bytes": "0202020202020202020202020202020202020202020202020202020202020202" + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "task_id" + }, + "val": { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + } + } + ] + } + } + }, + "ext": "v0" + }, + 1555300 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4195 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6312099 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4195 + ] + ] + ] + }, + "events": [] +} \ No newline at end of file diff --git a/smart-contracts/contracts/task_store/test_snapshots/test/unassigned_agent_cannot_update_status.1.json b/smart-contracts/contracts/task_store/test_snapshots/test/unassigned_agent_cannot_update_status.1.json new file mode 100644 index 00000000..0e41cf01 --- /dev/null +++ b/smart-contracts/contracts/task_store/test_snapshots/test/unassigned_agent_cannot_update_status.1.json @@ -0,0 +1,279 @@ +{ + "generators": { + "address": 5, + "nonce": 0 + }, + "auth": [ + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "store_task_metadata", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + }, + { + "bytes": "0202020202020202020202020202020202020202020202020202020202020202" + }, + { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + { + "bytes": "789c0300" + }, + { + "u32": 1 + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [] + ], + "ledger": { + "protocol_version": 22, + "sequence_number": 100, + "timestamp": 1700000000, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Task" + }, + { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Task" + }, + { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "assigned_agents" + }, + "val": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + }, + { + "key": { + "symbol": "compressed_dag" + }, + "val": { + "bytes": "789c0300" + } + }, + { + "key": { + "symbol": "created_at" + }, + "val": { + "u64": 1700000000 + } + }, + { + "key": { + "symbol": "expires_at" + }, + "val": { + "u64": 1700086400 + } + }, + { + "key": { + "symbol": "prompt_hash" + }, + "val": { + "bytes": "0202020202020202020202020202020202020202020202020202020202020202" + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "task_id" + }, + "val": { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + } + } + ] + } + } + }, + "ext": "v0" + }, + 17380 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4195 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6312099 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4195 + ] + ] + ] + }, + "events": [] +} \ No newline at end of file diff --git a/smart-contracts/contracts/task_store/test_snapshots/test/unpause_allows_store_task_metadata.1.json b/smart-contracts/contracts/task_store/test_snapshots/test/unpause_allows_store_task_metadata.1.json new file mode 100644 index 00000000..a3a078a7 --- /dev/null +++ b/smart-contracts/contracts/task_store/test_snapshots/test/unpause_allows_store_task_metadata.1.json @@ -0,0 +1,375 @@ +{ + "generators": { + "address": 4, + "nonce": 0 + }, + "auth": [ + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "pause", + "args": [] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "unpause", + "args": [] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "store_task_metadata", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + }, + { + "bytes": "0202020202020202020202020202020202020202020202020202020202020202" + }, + { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + { + "bytes": "789c0300" + }, + { + "u32": 1 + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [] + ], + "ledger": { + "protocol_version": 22, + "sequence_number": 100, + "timestamp": 1700000000, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Task" + }, + { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Task" + }, + { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "assigned_agents" + }, + "val": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + }, + { + "key": { + "symbol": "compressed_dag" + }, + "val": { + "bytes": "789c0300" + } + }, + { + "key": { + "symbol": "created_at" + }, + "val": { + "u64": 1700000000 + } + }, + { + "key": { + "symbol": "expires_at" + }, + "val": { + "u64": 1700086400 + } + }, + { + "key": { + "symbol": "prompt_hash" + }, + "val": { + "bytes": "0202020202020202020202020202020202020202020202020202020202020202" + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "task_id" + }, + "val": { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + } + } + ] + } + } + }, + "ext": "v0" + }, + 17380 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Paused" + } + ] + }, + "val": { + "bool": false + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4195 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6312099 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6312099 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6312099 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4195 + ] + ] + ] + }, + "events": [] +} \ No newline at end of file diff --git a/smart-contracts/contracts/upgrade-manager/src/lib.rs b/smart-contracts/contracts/upgrade-manager/src/lib.rs index b2cbb3ac..b4f5e647 100644 --- a/smart-contracts/contracts/upgrade-manager/src/lib.rs +++ b/smart-contracts/contracts/upgrade-manager/src/lib.rs @@ -108,6 +108,8 @@ pub struct RollbackRecord { pub enum DataKey { /// Current admin address Admin, + /// Whether the contract is paused + Paused, /// Current contract version CurrentVersion, /// Version history (version_string -> ContractVersion) @@ -151,6 +153,8 @@ pub enum UpgradeError { InsufficientGasBudget = 11, /// Version downgrade not allowed without explicit rollback DowngradeNotAllowed = 12, + /// The contract is paused and cannot accept mutations + ContractPaused = 13, } impl From for soroban_sdk::Error { @@ -183,6 +187,18 @@ fn require_admin(env: &Env) -> Result { Ok(admin) } +fn require_not_paused(env: &Env) -> Result<(), UpgradeError> { + let paused: bool = env + .storage() + .instance() + .get(&DataKey::Paused) + .unwrap_or(false); + if paused { + return Err(UpgradeError::ContractPaused); + } + Ok(()) +} + fn get_current_version(env: &Env) -> Option { env.storage().persistent().get(&DataKey::CurrentVersion) } @@ -208,6 +224,7 @@ impl UpgradeManager { } env.storage().instance().set(&DataKey::Admin, &admin); + env.storage().instance().set(&DataKey::Paused, &false); let initial = ContractVersion { version: initial_version.clone(), @@ -242,6 +259,7 @@ impl UpgradeManager { /// Set a new admin for the upgrade manager pub fn set_admin(env: Env, new_admin: Address) -> Result<(), UpgradeError> { + require_not_paused(&env)?; let old_admin = require_admin(&env)?; env.storage().instance().set(&DataKey::Admin, &new_admin); @@ -258,6 +276,32 @@ impl UpgradeManager { env.storage().instance().get(&DataKey::Admin) } + /// Pause the contract. Only admin can call this. + pub fn pause(env: Env) -> Result<(), UpgradeError> { + require_admin(&env)?; + env.storage().instance().set(&DataKey::Paused, &true); + env.events() + .publish((symbol_short!("upgrade"), symbol_short!("paused")), ()); + Ok(()) + } + + /// Unpause the contract. Only admin can call this. + pub fn unpause(env: Env) -> Result<(), UpgradeError> { + require_admin(&env)?; + env.storage().instance().set(&DataKey::Paused, &false); + env.events() + .publish((symbol_short!("upgrade"), symbol_short!("unpaused")), ()); + Ok(()) + } + + /// Returns whether the contract is currently paused. + pub fn is_paused(env: Env) -> bool { + env.storage() + .instance() + .get(&DataKey::Paused) + .unwrap_or(false) + } + /// Get the current contract version pub fn get_current_version(env: Env) -> Option { get_current_version(&env) @@ -278,6 +322,7 @@ impl UpgradeManager { description: String, migration_plan: MigrationPlan, ) -> Result<(), UpgradeError> { + require_not_paused(&env)?; let admin = require_admin(&env)?; // Check if version is valid and newer @@ -317,6 +362,7 @@ impl UpgradeManager { /// Validate the current upgrade proposal (pre-upgrade hook) pub fn validate_proposal(env: Env) -> Result { + require_not_paused(&env)?; require_admin(&env)?; let mut proposal: UpgradeProposal = env @@ -351,6 +397,7 @@ impl UpgradeManager { /// Execute the validated upgrade proposal pub fn execute_upgrade(env: Env) -> Result<(), UpgradeError> { + require_not_paused(&env)?; let admin = require_admin(&env)?; let proposal: UpgradeProposal = env @@ -425,6 +472,7 @@ impl UpgradeManager { /// Rollback to the previous version (within 48h window) pub fn rollback_upgrade(env: Env) -> Result<(), UpgradeError> { + require_not_paused(&env)?; let admin = require_admin(&env)?; let rollback_record: RollbackRecord = env @@ -686,4 +734,155 @@ mod tests { let expected = GAS_UPGRADE_BASE + (GAS_MIGRATION_PER_ITEM * 100) + (3 * 5000); assert_eq!(gas_estimate, expected); } + + #[test] + fn test_initialize_sets_unpaused() { + let (env, client, _admin) = create_test_env(); + let hash = test_wasm_hash(&env, 1); + client.initialize(&_admin, &String::from_str(&env, "1.0.0"), &hash); + assert!(!client.is_paused()); + } + + #[test] + fn test_pause_blocks_propose_upgrade() { + let (env, client, admin) = create_test_env(); + let hash = test_wasm_hash(&env, 1); + client.initialize(&admin, &String::from_str(&env, "1.0.0"), &hash); + + client.pause(); + + let new_hash = test_wasm_hash(&env, 2); + let migration_plan = MigrationPlan { + pre_migration_checks: Vec::new(&env), + data_transformations: Vec::new(&env), + post_migration_validations: Vec::new(&env), + estimated_items: 5, + }; + let result = client.try_propose_upgrade( + &String::from_str(&env, "2.0.0"), + &new_hash, + &String::from_str(&env, "Upgrade"), + &migration_plan, + ); + assert_eq!(result, Err(Ok(UpgradeError::ContractPaused))); + } + + #[test] + fn test_unpause_allows_propose_upgrade() { + let (env, client, admin) = create_test_env(); + let hash = test_wasm_hash(&env, 1); + client.initialize(&admin, &String::from_str(&env, "1.0.0"), &hash); + + client.pause(); + client.unpause(); + + let new_hash = test_wasm_hash(&env, 2); + let migration_plan = MigrationPlan { + pre_migration_checks: Vec::new(&env), + data_transformations: Vec::new(&env), + post_migration_validations: Vec::new(&env), + estimated_items: 5, + }; + let result = client.propose_upgrade( + &String::from_str(&env, "2.0.0"), + &new_hash, + &String::from_str(&env, "Upgrade"), + &migration_plan, + ); + assert!(result.is_ok()); + } + + #[test] + fn test_pause_blocks_validate_proposal() { + let (env, client, admin) = create_test_env(); + let hash = test_wasm_hash(&env, 1); + let new_hash = test_wasm_hash(&env, 2); + client.initialize(&admin, &String::from_str(&env, "1.0.0"), &hash); + + let migration_plan = MigrationPlan { + pre_migration_checks: Vec::new(&env), + data_transformations: Vec::new(&env), + post_migration_validations: Vec::new(&env), + estimated_items: 5, + }; + client.propose_upgrade( + &String::from_str(&env, "2.0.0"), + &new_hash, + &String::from_str(&env, "Upgrade"), + &migration_plan, + ); + + client.pause(); + + let result = client.try_validate_proposal(); + assert_eq!(result, Err(Ok(UpgradeError::ContractPaused))); + } + + #[test] + fn test_pause_blocks_execute_upgrade() { + let (env, client, admin) = create_test_env(); + let hash = test_wasm_hash(&env, 1); + let new_hash = test_wasm_hash(&env, 2); + client.initialize(&admin, &String::from_str(&env, "1.0.0"), &hash); + + let migration_plan = MigrationPlan { + pre_migration_checks: Vec::new(&env), + data_transformations: Vec::new(&env), + post_migration_validations: Vec::new(&env), + estimated_items: 5, + }; + client.propose_upgrade( + &String::from_str(&env, "2.0.0"), + &new_hash, + &String::from_str(&env, "Upgrade"), + &migration_plan, + ); + client.validate_proposal(); + + client.pause(); + + let result = client.try_execute_upgrade(); + assert_eq!(result, Err(Ok(UpgradeError::ContractPaused))); + } + + #[test] + fn test_pause_blocks_rollback_upgrade() { + let (env, client, admin) = create_test_env(); + let hash = test_wasm_hash(&env, 1); + let new_hash = test_wasm_hash(&env, 2); + client.initialize(&admin, &String::from_str(&env, "1.0.0"), &hash); + + let migration_plan = MigrationPlan { + pre_migration_checks: Vec::new(&env), + data_transformations: Vec::new(&env), + post_migration_validations: Vec::new(&env), + estimated_items: 5, + }; + client.propose_upgrade( + &String::from_str(&env, "2.0.0"), + &new_hash, + &String::from_str(&env, "Upgrade"), + &migration_plan, + ); + client.validate_proposal(); + client.execute_upgrade(); + + client.pause(); + + let result = client.try_rollback_upgrade(); + assert_eq!(result, Err(Ok(UpgradeError::ContractPaused))); + } + + #[test] + fn test_get_version_still_works_when_paused() { + let (env, client, admin) = create_test_env(); + let hash = test_wasm_hash(&env, 1); + client.initialize(&admin, &String::from_str(&env, "1.0.0"), &hash); + + client.pause(); + + // Reads should still work when paused. + let version = client.get_current_version().unwrap(); + assert_eq!(version.version, String::from_str(&env, "1.0.0")); + } } \ No newline at end of file