From a969133ab77ad357cf1f65179aa25be8d214d751 Mon Sep 17 00:00:00 2001 From: Aisha Magret Samson Date: Thu, 20 Aug 2026 13:28:35 +0000 Subject: [PATCH] feat(onchain/aid_escrow): delegate-authorised claims with expiry and audit trail (#422) Add an admin-managed delegate (recovery) address per package. An unexpired delegate may authorise a claim on the recipient's behalf, with funds always paid out to the recipient. - `claim` now takes a `claimer` address and requires its auth; the recipient remains authorised. - New entrypoints: set_delegate, get_delegate, get_delegate_info, get_delegate_history, cleanup_expired_delegates. - Delegate state lives in parallel maps keyed by package id, so the persisted Package shape is unchanged and no migration is needed. - Assignments are rejected for claimed packages and when the delegate equals the recipient; every change is appended to an audit trail. - Updated claim scripts and README for the new claim signature. - Regenerated test snapshots to match the new claim ABI. --- app/onchain/README.md | 18 +- app/onchain/contracts/aid_escrow/README.md | 21 +- .../contracts/aid_escrow/src/delegate.rs | 482 +++--- app/onchain/contracts/aid_escrow/src/lib.rs | 91 +- ...fault_claim_starts_at_is_created_at.1.json | 98 ++ .../claim/fails_when_claimed_too_early.1.json | 98 ++ .../fails_when_package_is_expired.1.json | 33 + ...wlist_claim_fails_after_root_expiry.1.json | 33 + ...list_claim_fails_with_invalid_proof.1.json | 33 + ...t_claim_succeeds_before_root_expiry.1.json | 95 ++ ...ist_claim_succeeds_with_valid_proof.1.json | 95 ++ ...en_claimed_at_exact_expiry_boundary.1.json | 98 ++ ...when_recipient_claims_within_window.1.json | 98 ++ ..._when_claimed_1_second_before_start.1.json | 33 + ...s_when_claimed_1_second_after_start.1.json | 98 ++ ...ds_when_claimed_at_exact_start_time.1.json | 98 ++ ...egates_removes_only_expired_entries.1.json | 1495 +++++++++++++++++ ...equals_expires_at_and_claimed_after.1.json | 33 + ...quals_expires_at_and_claimed_before.1.json | 33 + .../narrow_claim_window_1_second.1.json | 98 ++ ..._expires_at_and_claimed_at_boundary.1.json | 98 ++ .../zero_claim_window_fails_creation.1.json | 33 + .../fails_when_amount_below_min_amount.1.json | 24 + ...n_contract_has_insufficient_balance.1.json | 16 + ...ails_when_package_id_already_exists.1.json | 33 + .../succeeds_with_metadata.1.json | 33 + .../succeeds_with_valid_inputs.1.json | 33 + ...eds_with_real_authorized_invocation.1.json | 33 + ...non_privileged_operator_is_rejected.1.json | 16 + ...ut_any_auth_is_rejected_by_the_host.1.json | 16 + ...ot_set_delegate_for_claimed_package.1.json | 196 +++ ...t_set_delegate_to_recipient_address.1.json | 196 +++ .../cleanup_expired_delegates_works.1.json | 672 ++++++++ .../cleared_delegate_cannot_claim.1.json | 392 +++++ .../tests/delegate_expires_correctly.1.json | 408 +++++ .../tests/delegate_history_tracking.1.json | 372 ++++ ..._means_only_recipient_is_authorised.1.json | 78 + .../registered_delegate_can_claim.1.json | 319 ++++ ...e_without_expiry_drops_stale_expiry.1.json | 498 ++++++ .../set_delegate_requires_admin_auth.1.json | 195 +++ ...egate_cannot_claim_after_own_expiry.1.json | 1107 ++++++++++++ ...aim_after_recipient_already_claimed.1.json | 1279 ++++++++++++++ ...ate_cannot_claim_an_expired_package.1.json | 1106 ++++++++++++ ..._starts_after_expiry_fails_creation.1.json | 16 + ...im_starts_at_in_past_fails_creation.1.json | 16 + ...ased_after_claim_allows_new_package.1.json | 98 ++ ...kage_with_zero_expiry_never_expires.1.json | 98 ++ .../refund_succeeds_on_expired_package.1.json | 50 + ..._when_claimed_1_second_after_expiry.1.json | 33 + ...ails_when_claimed_long_after_expiry.1.json | 33 + ...when_claimed_1_second_before_expiry.1.json | 98 ++ ...cceeds_when_claimed_at_exact_expiry.1.json | 98 ++ ...claim_with_proof_fails_after_expiry.1.json | 33 + ...aim_can_be_retried_if_time_reverted.1.json | 98 ++ ...ns_error_but_status_remains_created.1.json | 33 + ...transitions_to_claimed_exactly_once.1.json | 1280 ++++++++++++++ .../profile_batch_create_packages_10.1.json | 33 + .../profile_batch_create_packages_100.1.json | 33 + .../profile_batch_create_packages_200.1.json | 33 + .../profile_batch_create_packages_25.1.json | 33 + .../profile_batch_create_packages_50.1.json | 33 + .../profile_claim_with_proof.1.json | 33 + .../profile_claim_with_proof.2.json | 95 ++ .../profile_fund_operation.1.json | 16 + .../profile_get_aggregates.1.json | 33 + .../test_snapshots/profile_get_package.1.json | 33 + .../profile_single_claim.1.json | 33 + .../profile_single_claim.2.json | 98 ++ .../profile_single_create_package.1.json | 33 + ...thout_expiry_drops_the_old_deadline.1.json | 1480 ++++++++++++++++ ..._can_still_claim_without_a_delegate.1.json | 1091 ++++++++++++ ...te_can_claim_on_behalf_of_recipient.1.json | 1283 ++++++++++++++ ...te_is_rejected_for_claimed_packages.1.json | 1089 ++++++++++++ ...ate_is_rejected_for_missing_package.1.json | 602 +++++++ ...cted_when_delegate_equals_recipient.1.json | 886 ++++++++++ ...delegate_rejects_expiry_in_the_past.1.json | 886 ++++++++++ ...revious_and_audits_both_assignments.1.json | 1208 +++++++++++++ .../stranger_cannot_claim.1.json | 885 ++++++++++ .../test_aggregates_all_claimed.1.json | 93 + ...gregates_disburse_counts_as_claimed.1.json | 92 +- .../test_aggregates_filters_by_token.1.json | 115 ++ .../test_aggregates_many_packages.1.json | 119 ++ .../test_aggregates_mixed_statuses.1.json | 107 ++ .../test_aggregates_no_packages.1.json | 8 + .../test_aggregates_revoke_then_refund.1.json | 42 + ...t_aggregates_single_created_package.1.json | 25 + .../test_aggregates_unknown_token.1.json | 25 + ...aggregates_update_after_transitions.1.json | 90 + ..._batch_create_packages_empty_arrays.1.json | 8 + ..._create_packages_insufficient_funds.1.json | 8 + ...h_create_packages_mismatched_arrays.1.json | 8 + .../test_batch_create_packages_success.1.json | 25 + ...tch_then_individual_no_id_collision.1.json | 25 + .../test_cancel_package_flow.1.json | 42 + ...onfig_constraints_on_create_package.1.json | 16 + ...ig_constraints_on_extend_expiration.1.json | 33 + .../test_core_accounting_invariants.1.json | 90 + .../test_core_flow_fund_create_claim.1.json | 90 + .../test_distributor_package_creation.1.json | 25 + .../test_snapshots/test_error_cases.1.json | 8 + .../test_escrow_funded_event.1.json | 8 + .../test_expiry_and_refund.1.json | 42 + ...extend_expiration_cancelled_package.1.json | 42 + ...t_extend_expiration_claimed_package.1.json | 90 + ...t_extend_expiration_expired_package.1.json | 25 + ..._extend_expiration_multiple_extends.1.json | 25 + .../test_extend_expiration_success.1.json | 25 + ...extend_expiration_unbounded_package.1.json | 25 + ...end_expiration_zero_additional_time.1.json | 25 + ...xpiry_rejects_non_increasing_expiry.1.json | 25 + .../test_extend_expiry_success.1.json | 25 + ...ed_event_records_old_and_new_expiry.1.json | 25 + ...age_count_returns_multiple_packages.1.json | 25 + ...zero_when_recipient_has_no_packages.1.json | 8 + .../test_integration_flow.1.json | 90 + .../test_migrate_admin_only.1.json | 8 + .../test_migrate_version_progression.1.json | 8 + .../test_multiple_packages.1.json | 25 + .../test_package_claimed_event.1.json | 90 + .../test_package_created_event.1.json | 25 + .../test_package_disbursed_event.1.json | 42 + .../test_package_refunded_event.1.json | 42 + .../test_package_revoked_event.1.json | 42 + .../test_snapshots/test_set_get_config.1.json | 16 + .../test_snapshots/test_solvency_check.1.json | 25 + .../test_version_set_on_init.1.json | 8 + .../test_view_package_status.1.json | 90 + ...thdraw_surplus_insufficient_surplus.1.json | 25 + ...est_withdraw_surplus_invalid_amount.1.json | 8 + ...st_withdraw_surplus_no_locked_funds.1.json | 8 + .../tests/test_action_specific_pause.1.json | 8 + .../tests/test_cancel_package.1.json | 42 + ...ist_recipient_packages_few_packages.1.json | 25 + ..._list_recipient_packages_pagination.1.json | 25 + ...ails_with_precision_breaking_amount.1.json | 16 + .../succeeds_with_whole_token_amounts.1.json | 33 + ...changed_when_token_transfer_reverts.1.json | 33 + ...ckage_rejects_invalid_token_address.1.json | 16 + ...en_transfer_to_clear_contract_error.1.json | 16 + ...jects_invalid_allowed_token_address.1.json | 16 + .../contracts/aid_escrow/tests/aggregates.rs | 14 +- .../aid_escrow/tests/aid_escrow_tests.rs | 23 +- .../tests/boundary_validation_tests.rs | 32 +- .../aid_escrow/tests/core_flow_tests.rs | 4 +- .../aid_escrow/tests/delegate_tests.rs | 330 ++++ .../contracts/aid_escrow/tests/events.rs | 2 +- .../aid_escrow/tests/gas_profiling.rs | 2 +- .../contracts/aid_escrow/tests/integration.rs | 9 +- .../aid_escrow/tests/invariant_tests.rs | 2 +- .../contracts/aid_escrow/tests/invariants.rs | 4 +- .../aid_escrow/tests/property_amounts.rs | 4 +- .../contracts/aid_escrow/tests/view_status.rs | 2 +- app/onchain/scripts/claim.sh | 6 +- app/onchain/scripts/testnet-invoke.sh | 12 +- 154 files changed, 24695 insertions(+), 309 deletions(-) create mode 100644 app/onchain/contracts/aid_escrow/test_snapshots/cleanup_expired_delegates_removes_only_expired_entries.1.json create mode 100644 app/onchain/contracts/aid_escrow/test_snapshots/delegate/tests/cannot_set_delegate_for_claimed_package.1.json create mode 100644 app/onchain/contracts/aid_escrow/test_snapshots/delegate/tests/cannot_set_delegate_to_recipient_address.1.json create mode 100644 app/onchain/contracts/aid_escrow/test_snapshots/delegate/tests/cleanup_expired_delegates_works.1.json create mode 100644 app/onchain/contracts/aid_escrow/test_snapshots/delegate/tests/cleared_delegate_cannot_claim.1.json create mode 100644 app/onchain/contracts/aid_escrow/test_snapshots/delegate/tests/delegate_expires_correctly.1.json create mode 100644 app/onchain/contracts/aid_escrow/test_snapshots/delegate/tests/delegate_history_tracking.1.json create mode 100644 app/onchain/contracts/aid_escrow/test_snapshots/delegate/tests/no_delegate_means_only_recipient_is_authorised.1.json create mode 100644 app/onchain/contracts/aid_escrow/test_snapshots/delegate/tests/registered_delegate_can_claim.1.json create mode 100644 app/onchain/contracts/aid_escrow/test_snapshots/delegate/tests/resetting_delegate_without_expiry_drops_stale_expiry.1.json create mode 100644 app/onchain/contracts/aid_escrow/test_snapshots/delegate/tests/set_delegate_requires_admin_auth.1.json create mode 100644 app/onchain/contracts/aid_escrow/test_snapshots/delegate_cannot_claim_after_own_expiry.1.json create mode 100644 app/onchain/contracts/aid_escrow/test_snapshots/delegate_cannot_claim_after_recipient_already_claimed.1.json create mode 100644 app/onchain/contracts/aid_escrow/test_snapshots/delegate_cannot_claim_an_expired_package.1.json create mode 100644 app/onchain/contracts/aid_escrow/test_snapshots/package_transitions_to_claimed_exactly_once.1.json create mode 100644 app/onchain/contracts/aid_escrow/test_snapshots/re_setting_without_expiry_drops_the_old_deadline.1.json create mode 100644 app/onchain/contracts/aid_escrow/test_snapshots/recipient_can_still_claim_without_a_delegate.1.json create mode 100644 app/onchain/contracts/aid_escrow/test_snapshots/registered_unexpired_delegate_can_claim_on_behalf_of_recipient.1.json create mode 100644 app/onchain/contracts/aid_escrow/test_snapshots/set_delegate_is_rejected_for_claimed_packages.1.json create mode 100644 app/onchain/contracts/aid_escrow/test_snapshots/set_delegate_is_rejected_for_missing_package.1.json create mode 100644 app/onchain/contracts/aid_escrow/test_snapshots/set_delegate_is_rejected_when_delegate_equals_recipient.1.json create mode 100644 app/onchain/contracts/aid_escrow/test_snapshots/set_delegate_rejects_expiry_in_the_past.1.json create mode 100644 app/onchain/contracts/aid_escrow/test_snapshots/set_delegate_replaces_previous_and_audits_both_assignments.1.json create mode 100644 app/onchain/contracts/aid_escrow/test_snapshots/stranger_cannot_claim.1.json create mode 100644 app/onchain/contracts/aid_escrow/tests/delegate_tests.rs diff --git a/app/onchain/README.md b/app/onchain/README.md index 5267333d..cfa2f965 100644 --- a/app/onchain/README.md +++ b/app/onchain/README.md @@ -10,6 +10,13 @@ Soroban smart contracts for ChainForge's on-chain escrow and claimable aid packa |---|---|---| | `aid_escrow` | Testnet | `CDSBJ27PKTNFTRW6OKPCVXDRUSSRUIQUG6DW5PUTKLDXTDT23NQIS6JG` | +> **Redeploy required for delegate support.** The wasm deployed at the address +> above predates the delegate/recovery entrypoints and the `claim(id, claimer)` +> signature change. `set_delegate`, `get_delegate`, `get_delegate_info`, +> `get_delegate_history`, and `cleanup_expired_delegates` are **not** callable on +> the currently deployed contract until a new wasm is built and deployed. See +> [the deployment runbook](../../docs/testnet-deploy-runbook.md). + [View on Stellar Expert](https://stellar.expert/explorer/testnet/contract/CDSBJ27PKTNFTRW6OKPCVXDRUSSRUIQUG6DW5PUTKLDXTDT23NQIS6JG) · [View on Stellar Lab](https://lab.stellar.org/r/testnet/contract/CDSBJ27PKTNFTRW6OKPCVXDRUSSRUIQUG6DW5PUTKLDXTDT23NQIS6JG) · [Deployment Record](deployments/testnet-2026-06-03.md) --- @@ -65,7 +72,12 @@ Events use stable topic identifiers (struct name in snake_case) so indexers and | `fund(token, from, amount)` | Deposits funds into the contract pool | `from` | | `create_package(operator, id, recipient, amount, token, expires_at)` | Creates a package with a manual ID | `admin` or `distributor` | | `batch_create_packages(operator, recipients, amounts, token, expires_in)` | Creates multiple packages with auto-incremented IDs | `admin` or `distributor` | -| `claim(id)` | Recipient claims their allocated funds | `recipient` | +| `claim(id, claimer)` | Recipient or a registered, unexpired delegate claims the package (funds always pay out to the recipient) | `recipient` or `delegate` | +| `set_delegate(package_id, delegate, expires_at)` | Registers a delegate (recovery) address, optionally with an expiry (`0` = never). Rejected for claimed packages or when the delegate equals the recipient | `admin` | +| `get_delegate(package_id)` | Returns the active delegate, or `None` if unset or expired | None | +| `get_delegate_info(package_id)` | Returns the active delegate and its expiry | None | +| `get_delegate_history(package_id)` | Returns the append-only delegate audit trail | None | +| `cleanup_expired_delegates()` | Removes expired delegates, returning the number cleaned | `admin` | | `disburse(id)` | Admin manually sends package funds to recipient | `admin` | | `revoke(id)` / `cancel_package(id)` | Cancels an active package and unlocks funds | `admin` | | `refund(id)` | Returns funds from an expired/cancelled package to admin | `admin` | @@ -112,8 +124,8 @@ Use `scripts/testnet-invoke.sh` for repeatable testnet calls against the `aid_es --amount 10000000 \ --token CTOKEN... -# Claim and inspect package state -./scripts/testnet-invoke.sh claim --id 1 +# Claim (by recipient or a registered delegate) and inspect package state +./scripts/testnet-invoke.sh claim --id 1 --claimer GRECIPIENT... ./scripts/testnet-invoke.sh get-package --id 1 ./scripts/testnet-invoke.sh view-status --id 1 ./scripts/testnet-invoke.sh get-aggregates --token CTOKEN... diff --git a/app/onchain/contracts/aid_escrow/README.md b/app/onchain/contracts/aid_escrow/README.md index 9672ddbe..b7c71ae9 100644 --- a/app/onchain/contracts/aid_escrow/README.md +++ b/app/onchain/contracts/aid_escrow/README.md @@ -12,6 +12,11 @@ Soroban smart contract for managing aid-package escrow on Stellar. | **Version** | `0.1.0` | | **Deployed** | 2026-06-03 | +> **Redeploy required.** The wasm deployed at this address predates the +> delegate/recovery entrypoints (`set_delegate`, `get_delegate`, …) and the +> `claim(id, claimer)` signature change; a new wasm must be built and deployed +> before those functions are callable on testnet. + Explorer: [Stellar Expert](https://stellar.expert/explorer/testnet/contract/CDSBJ27PKTNFTRW6OKPCVXDRUSSRUIQUG6DW5PUTKLDXTDT23NQIS6JG) · [Stellar Lab](https://lab.stellar.org/r/testnet/contract/CDSBJ27PKTNFTRW6OKPCVXDRUSSRUIQUG6DW5PUTKLDXTDT23NQIS6JG) Full deployment record with transaction hashes and verification steps: [deployments/testnet-2026-06-03.md](../../deployments/testnet-2026-06-03.md) @@ -54,13 +59,23 @@ expires and is refunded. |---|---|---| | `create_package(env, operator, id, recipient, amount, token, expires_at)` | Admin / Distributor | Creates a single aid package with a specific ID. Locks funds from the available pool. | | `batch_create_packages(env, operator, recipients, amounts, token, expires_in)` | Admin / Distributor | Creates multiple packages in one transaction using auto-incrementing IDs. | -| `claim(env, id)` | Recipient | Recipient claims the package. Transfers tokens to recipient and marks package as claimed. | +| `claim(env, id, claimer)` | Recipient / Delegate | Recipient or a registered, unexpired delegate claims the package. Transfers tokens to the recipient and marks the package as claimed. | | `disburse(env, id)` | Admin | Admin manually disburses a package to its recipient. | | `revoke(env, id)` | Admin | Admin revokes a package, returning funds to the surplus pool. | | `refund(env, id)` | Admin | Refunds an expired or cancelled package to the admin. | | `cancel_package(env, package_id)` | Admin | Cancels a package (transitions to Cancelled status). | | `extend_expiration(env, package_id, additional_time)` | Admin / Distributor | Extends the expiration time of an active package. | +### Delegate (Recovery) Support + +| Function | Auth | Description | +|---|---|---| +| `set_delegate(env, package_id, delegate, expires_at)` | Admin | Registers `delegate` as the recovery address for a package, optionally with an `expires_at` deadline (`0` = never). Rejected for claimed packages and when the delegate equals the recipient. | +| `get_delegate(env, package_id)` | — | Returns the active delegate, or `None` if unset or expired. | +| `get_delegate_info(env, package_id)` | — | Returns the active delegate and its expiry, or `None` if unset. | +| `get_delegate_history(env, package_id)` | — | Returns the append-only audit trail of delegate assignments and removals. | +| `cleanup_expired_delegates(env)` | Admin | Removes expired delegates from storage, returning the number cleaned up. | + ### Queries | Function | Auth | Description | @@ -73,7 +88,7 @@ expires and is refunded. ## Package Lifecycle ``` -Created --> Claimed (recipient claims) +Created --> Claimed (recipient or delegate claims) Created --> Expired (past expiry, recipient tries to claim) Created --> Cancelled (admin cancels) Created --> Claimed (admin) (admin disburses) @@ -143,7 +158,7 @@ All state-changing operations emit events with stable topics for indexer consump - `EscrowFunded` — pool funded - `PackageCreated` — package created -- `PackageClaimed` — recipient claimed +- `PackageClaimed` — package claimed (by recipient or delegate) - `PackageDisbursed` — admin disbursed - `PackageRevoked` — admin revoked - `PackageRefunded` — admin refunded diff --git a/app/onchain/contracts/aid_escrow/src/delegate.rs b/app/onchain/contracts/aid_escrow/src/delegate.rs index 1369c5f7..a9a844c0 100644 --- a/app/onchain/contracts/aid_escrow/src/delegate.rs +++ b/app/onchain/contracts/aid_escrow/src/delegate.rs @@ -11,31 +11,34 @@ //! - Audit trail for delegate changes //! - Optimized storage operations //! - Comprehensive error handling +//! +//! ## Storage layout +//! +//! Delegates live in a **parallel map** (keyed by package id), not inside the +//! `Package` record, so activating this module never changes the +//! persisted `Package` shape and existing packages remain readable without +//! a migration: +//! +//! - `(Persistent, "dlgts")` → `Map` — active delegate per package +//! - `(Persistent, "dlgexp")` → `Map` — delegate `expires_at` per package (0/absent = never) +//! - `(Persistent, "dlgh")` → `Vec` — append-only audit trail -use soroban_sdk::{contracttype, Address, Env, Map, Symbol, symbol_short, Vec}; +use soroban_sdk::{contracttype, symbol_short, Address, Env, Map, String, Symbol, Vec}; -use crate::{Error, PackageStatus}; +use crate::{Error, Package, PackageStatus}; const KEY_DELEGATES: Symbol = symbol_short!("dlgts"); const KEY_DELEGATE_HISTORY: Symbol = symbol_short!("dlgh"); const KEY_DELEGATE_EXPIRY: Symbol = symbol_short!("dlgexp"); -#[contracttype] -#[derive(Clone, Debug)] -pub struct DelegateRecord { - pub package_id: u64, - pub delegate: Address, - pub set_by: Address, - pub set_at: u64, - pub expires_at: u64, -} - #[contracttype] #[derive(Clone, Debug)] pub struct DelegateHistory { pub package_id: u64, pub previous_delegate: Option
, - pub new_delegate: Address, + /// `Some(addr)` when a delegate was set; `None` when the delegate was + /// removed (e.g. cleared after a successful claim). + pub new_delegate: Option
, pub changed_by: Address, pub changed_at: u64, pub reason: String, @@ -77,7 +80,9 @@ fn load_delegate_history(env: &Env) -> Vec { /// Persists delegate history. fn save_delegate_history(env: &Env, history: &Vec) { - env.storage().persistent().set(&KEY_DELEGATE_HISTORY, history); + env.storage() + .persistent() + .set(&KEY_DELEGATE_HISTORY, history); } /// Checks if a delegate has expired. @@ -90,19 +95,17 @@ fn is_delegate_expired(env: &Env, package_id: u64) -> bool { } } -/// Validates that a package exists and is in a valid state for delegate operations. +/// Validates that a package exists and is in a valid state for delegate +/// operations. A `Claimed` package is terminal: its funds have moved and a +/// delegate must never be (re)assigned after that point. fn validate_package_state(env: &Env, package_id: u64) -> Result<(), Error> { let package_key = (symbol_short!("pkg"), package_id); if !env.storage().persistent().has(&package_key) { return Err(Error::PackageNotFound); } - let package: crate::AidPackage = env.storage() - .persistent() - .get(&package_key) - .unwrap(); + let package: Package = env.storage().persistent().get(&package_key).unwrap(); - // Cannot modify delegates for claimed packages if package.status == PackageStatus::Claimed { return Err(Error::PackageNotActive); } @@ -115,7 +118,7 @@ fn record_delegate_change( env: &Env, package_id: u64, previous_delegate: Option
, - new_delegate: &Address, + new_delegate: Option
, changed_by: &Address, reason: &str, ) { @@ -123,31 +126,10 @@ fn record_delegate_change( let record = DelegateHistory { package_id, previous_delegate, - new_delegate: new_delegate.clone(), + new_delegate, changed_by: changed_by.clone(), changed_at: env.ledger().timestamp(), - reason: reason.to_string(), - }; - history.push_back(record); - save_delegate_history(env, &history); -} - -/// Records delegate change in history for audit trail (system version). -fn record_delegate_change_system( - env: &Env, - package_id: u64, - previous_delegate: Option
, - new_delegate: &Address, - reason: &str, -) { - let mut history = load_delegate_history(env); - let record = DelegateHistory { - package_id, - previous_delegate, - new_delegate: new_delegate.clone(), - changed_by: Address::generate(env), // System-generated placeholder - changed_at: env.ledger().timestamp(), - reason: reason.to_string(), + reason: String::from_str(env, reason), }; history.push_back(record); save_delegate_history(env, &history); @@ -169,17 +151,17 @@ pub fn set_delegate( package_id: u64, delegate: &Address, ) -> Result<(), Error> { - admin.require_auth(); + // NOTE: `admin.require_auth()` is intentionally NOT repeated here — + // callers (currently only `set_delegate_with_expiry`) must already have + // performed it, and a second `require_auth` for the same address in the + // same frame is rejected by the host (Error::Auth, ExistingValue). // Validate package state validate_package_state(env, package_id)?; // Get package to validate delegate is not the recipient let package_key = (symbol_short!("pkg"), package_id); - let package: crate::AidPackage = env.storage() - .persistent() - .get(&package_key) - .unwrap(); + let package: Package = env.storage().persistent().get(&package_key).unwrap(); // Prevent setting delegate to the same address as recipient if delegate == &package.recipient { @@ -188,7 +170,7 @@ pub fn set_delegate( let mut map = load_delegates(env); let previous_delegate = map.get(package_id); - + map.set(package_id, delegate.clone()); save_delegates(env, &map); @@ -197,7 +179,7 @@ pub fn set_delegate( env, package_id, previous_delegate, - delegate, + Some(delegate.clone()), admin, "Admin delegate assignment", ); @@ -237,12 +219,16 @@ pub fn set_delegate_with_expiry( // Set the delegate set_delegate(env, admin, package_id, delegate)?; - // Set expiration if provided + // Set expiration if provided, otherwise drop any stale expiry from a + // previous assignment (a delegate re-set without an expiry is valid + // indefinitely and must not keep the old deadline). + let mut expiry_map = load_delegate_expiry(env); if expires_at > 0 { - let mut expiry_map = load_delegate_expiry(env); expiry_map.set(package_id, expires_at); - save_delegate_expiry(env, &expiry_map); + } else { + expiry_map.remove(package_id); } + save_delegate_expiry(env, &expiry_map); Ok(()) } @@ -252,12 +238,12 @@ pub fn set_delegate_with_expiry( pub fn get_delegate(env: &Env, package_id: u64) -> Option
{ // Check if delegate exists let delegate = load_delegates(env).get(package_id)?; - + // Check if delegate has expired if is_delegate_expired(env, package_id) { return None; } - + Some(delegate) } @@ -266,7 +252,7 @@ pub fn get_delegate_info(env: &Env, package_id: u64) -> Option<(Address, Option< let delegate = load_delegates(env).get(package_id)?; let expiry_map = load_delegate_expiry(env); let expires_at = expiry_map.get(package_id); - + Some((delegate, expires_at)) } @@ -274,13 +260,13 @@ pub fn get_delegate_info(env: &Env, package_id: u64) -> Option<(Address, Option< pub fn get_delegate_history(env: &Env, package_id: u64) -> Vec { let all_history = load_delegate_history(env); let mut package_history = Vec::new(env); - + for record in all_history.iter() { if record.package_id == package_id { package_history.push_back(record.clone()); } } - + package_history } @@ -297,7 +283,7 @@ pub fn is_authorised_claimer( if claimer == primary_recipient { return true; } - + // Check delegate (includes expiration check) match get_delegate(env, package_id) { Some(delegate) => &delegate == claimer, @@ -305,46 +291,12 @@ pub fn is_authorised_claimer( } } -/// Returns detailed authorization information for debugging/auditing. -pub fn get_authorization_info( - env: &Env, - package_id: u64, - primary_recipient: &Address, - claimer: &Address, -) -> (bool, Option) { - // Check if claimer is primary recipient - if claimer == primary_recipient { - return (true, Some("Primary recipient".to_string())); - } - - // Check delegate status - let delegate_info = get_delegate_info(env, package_id); - match delegate_info { - Some((delegate, expires_at)) => { - if &delegate == claimer { - if let Some(expiry) = expires_at { - if expiry > env.ledger().timestamp() { - (true, Some(format!("Delegate (expires at {})", expiry))) - } else { - (false, Some("Delegate expired".to_string())) - } - } else { - (true, Some("Delegate (no expiration)".to_string())) - } - } else { - (false, Some("Not the registered delegate".to_string())) - } - } - None => (false, Some("No delegate registered".to_string())), - } -} - /// Remove the delegate for `package_id` (call after a successful claim to /// prevent any further reassignment). -pub fn clear_delegate(env: &Env, package_id: u64) { +pub fn clear_delegate(env: &Env, package_id: u64, changed_by: &Address) { let mut map = load_delegates(env); let previous_delegate = map.get(package_id); - + map.remove(package_id); save_delegates(env, &map); @@ -355,11 +307,12 @@ pub fn clear_delegate(env: &Env, package_id: u64) { // Record the removal in history if there was a delegate if let Some(delegate) = previous_delegate { - record_delegate_change_system( + record_delegate_change( env, package_id, Some(delegate), - &Address::generate(env), + None, + changed_by, "Delegate cleared after claim", ); } @@ -369,12 +322,12 @@ pub fn clear_delegate(env: &Env, package_id: u64) { /// This should be called periodically or as part of maintenance operations. pub fn cleanup_expired_delegates(env: &Env, caller: &Address) -> Result { caller.require_auth(); - + let mut delegate_map = load_delegates(env); let mut expiry_map = load_delegate_expiry(env); let mut cleaned_count = 0u32; let now = env.ledger().timestamp(); - + // Collect expired delegate IDs first to avoid modifying map during iteration let mut expired_ids = Vec::new(env); for (package_id, expires_at) in expiry_map.iter() { @@ -382,224 +335,267 @@ pub fn cleanup_expired_delegates(env: &Env, caller: &Address) -> Result Self { + let env = Env::default(); + let contract_id = env.register(AidEscrow, ()); + Ctx { env, contract_id } + } + + fn run(&self, f: impl FnOnce() -> T) -> T { + self.env.as_contract(&self.contract_id, f) + } + + fn create_test_package(&self, package_id: u64, recipient: &Address, status: PackageStatus) { + self.run(|| { + let package = Package { + id: package_id, + recipient: recipient.clone(), + amount: 1000, + token: Address::generate(&self.env), + status, + created_at: self.env.ledger().timestamp(), + expires_at: 0, + claim_starts_at: self.env.ledger().timestamp(), + metadata: soroban_sdk::Map::new(&self.env), + }; + self.env + .storage() + .persistent() + .set(&(symbol_short!("pkg"), package_id), &package); + }); + } } #[test] fn no_delegate_means_only_recipient_is_authorised() { - let env = Env::default(); - let recipient = Address::generate(&env); - let stranger = Address::generate(&env); - assert!(is_authorised_claimer(&env, 1, &recipient, &recipient)); - assert!(!is_authorised_claimer(&env, 1, &recipient, &stranger)); + let ctx = Ctx::new(); + let recipient = Address::generate(&ctx.env); + let stranger = Address::generate(&ctx.env); + assert!(ctx.run(|| is_authorised_claimer(&ctx.env, 1, &recipient, &recipient))); + assert!(!ctx.run(|| is_authorised_claimer(&ctx.env, 1, &recipient, &stranger))); } #[test] fn registered_delegate_can_claim() { - let env = Env::default(); - let recipient = Address::generate(&env); - let delegate = Address::generate(&env); - let admin = Address::generate(&env); + let ctx = Ctx::new(); + let recipient = Address::generate(&ctx.env); + let delegate = Address::generate(&ctx.env); + let admin = Address::generate(&ctx.env); - create_test_package(&env, 42, &recipient, PackageStatus::Created); - env.mock_all_auths(); - set_delegate(&env, &admin, 42, &delegate).unwrap(); + ctx.create_test_package(42, &recipient, PackageStatus::Created); + ctx.env.mock_all_auths(); + ctx.run(|| set_delegate(&ctx.env, &admin, 42, &delegate).unwrap()); - assert!(is_authorised_claimer(&env, 42, &recipient, &delegate)); + assert!(ctx.run(|| is_authorised_claimer(&ctx.env, 42, &recipient, &delegate))); } #[test] fn cleared_delegate_cannot_claim() { - let env = Env::default(); - let recipient = Address::generate(&env); - let delegate = Address::generate(&env); - let admin = Address::generate(&env); + let ctx = Ctx::new(); + let recipient = Address::generate(&ctx.env); + let delegate = Address::generate(&ctx.env); + let admin = Address::generate(&ctx.env); - create_test_package(&env, 7, &recipient, PackageStatus::Created); - env.mock_all_auths(); - set_delegate(&env, &admin, 7, &delegate).unwrap(); - clear_delegate(&env, 7); + ctx.create_test_package(7, &recipient, PackageStatus::Created); + ctx.env.mock_all_auths(); + ctx.run(|| set_delegate(&ctx.env, &admin, 7, &delegate).unwrap()); + ctx.run(|| clear_delegate(&ctx.env, 7, &admin)); - assert!(!is_authorised_claimer(&env, 7, &recipient, &delegate)); + assert!(!ctx.run(|| is_authorised_claimer(&ctx.env, 7, &recipient, &delegate))); } #[test] fn delegate_expires_correctly() { - let env = Env::default(); - let recipient = Address::generate(&env); - let delegate = Address::generate(&env); - let admin = Address::generate(&env); + let ctx = Ctx::new(); + let recipient = Address::generate(&ctx.env); + let delegate = Address::generate(&ctx.env); + let admin = Address::generate(&ctx.env); let now = 1000u64; - - env.ledger().set_timestamp(now); - create_test_package(&env, 1, &recipient, PackageStatus::Created); - - env.mock_all_auths(); - set_delegate_with_expiry(&env, &admin, 1, &delegate, now + 100).unwrap(); - + + ctx.env.ledger().set_timestamp(now); + ctx.create_test_package(1, &recipient, PackageStatus::Created); + + ctx.env.mock_all_auths(); + ctx.run(|| set_delegate_with_expiry(&ctx.env, &admin, 1, &delegate, now + 100).unwrap()); + // Delegate should work before expiration - assert!(is_authorised_claimer(&env, 1, &recipient, &delegate)); - + assert!(ctx.run(|| is_authorised_claimer(&ctx.env, 1, &recipient, &delegate))); + // Advance time past expiration - env.ledger().set_timestamp(now + 200); - + ctx.env.ledger().set_timestamp(now + 200); + // Delegate should not work after expiration - assert!(!is_authorised_claimer(&env, 1, &recipient, &delegate)); - + assert!(!ctx.run(|| is_authorised_claimer(&ctx.env, 1, &recipient, &delegate))); + // But get_delegate should return None - assert_eq!(get_delegate(&env, 1), None); + assert_eq!(ctx.run(|| get_delegate(&ctx.env, 1)), None); } #[test] fn cannot_set_delegate_for_claimed_package() { - let env = Env::default(); - let recipient = Address::generate(&env); - let delegate = Address::generate(&env); - let admin = Address::generate(&env); - - create_test_package(&env, 1, &recipient, PackageStatus::Claimed); - env.mock_all_auths(); - - let result = set_delegate(&env, &admin, 1, &delegate); + let ctx = Ctx::new(); + let recipient = Address::generate(&ctx.env); + let delegate = Address::generate(&ctx.env); + let admin = Address::generate(&ctx.env); + + ctx.create_test_package(1, &recipient, PackageStatus::Claimed); + ctx.env.mock_all_auths(); + + let result = ctx.run(|| set_delegate(&ctx.env, &admin, 1, &delegate)); assert_eq!(result, Err(Error::PackageNotActive)); } #[test] fn cannot_set_delegate_to_recipient_address() { - let env = Env::default(); - let recipient = Address::generate(&env); - let admin = Address::generate(&env); - - create_test_package(&env, 1, &recipient, PackageStatus::Created); - env.mock_all_auths(); - - let result = set_delegate(&env, &admin, 1, &recipient); + let ctx = Ctx::new(); + let recipient = Address::generate(&ctx.env); + let admin = Address::generate(&ctx.env); + + ctx.create_test_package(1, &recipient, PackageStatus::Created); + ctx.env.mock_all_auths(); + + let result = ctx.run(|| set_delegate(&ctx.env, &admin, 1, &recipient)); assert_eq!(result, Err(Error::InvalidState)); } + #[test] + fn set_delegate_requires_admin_auth() { + let ctx = Ctx::new(); + let recipient = Address::generate(&ctx.env); + let delegate = Address::generate(&ctx.env); + let stranger = Address::generate(&ctx.env); + + ctx.create_test_package(1, &recipient, PackageStatus::Created); + + // Deliberately NO mock_all_auths: `require_auth()` on an address that + // is not the transaction source cannot be satisfied by the test + // environment, so the call must panic rather than mutate state. + let result = std::panic::catch_unwind(std::panic::AssertUnwindSafe(|| { + ctx.run(|| set_delegate_with_expiry(&ctx.env, &stranger, 1, &delegate, 0)) + })); + assert!(result.is_err()); + assert_eq!(ctx.run(|| get_delegate(&ctx.env, 1)), None); + } + #[test] fn delegate_history_tracking() { - let env = Env::default(); - let recipient = Address::generate(&env); - let delegate1 = Address::generate(&env); - let delegate2 = Address::generate(&env); - let admin = Address::generate(&env); - - create_test_package(&env, 1, &recipient, PackageStatus::Created); - env.mock_all_auths(); - + let ctx = Ctx::new(); + let recipient = Address::generate(&ctx.env); + let delegate1 = Address::generate(&ctx.env); + let delegate2 = Address::generate(&ctx.env); + let admin = Address::generate(&ctx.env); + + ctx.create_test_package(1, &recipient, PackageStatus::Created); + ctx.env.mock_all_auths(); + // Set first delegate - set_delegate(&env, &admin, 1, &delegate1).unwrap(); - + ctx.run(|| set_delegate(&ctx.env, &admin, 1, &delegate1).unwrap()); + // Change to second delegate - set_delegate(&env, &admin, 1, &delegate2).unwrap(); - + ctx.run(|| set_delegate(&ctx.env, &admin, 1, &delegate2).unwrap()); + // Check history - let history = get_delegate_history(&env, 1); + let history = ctx.run(|| get_delegate_history(&ctx.env, 1)); assert_eq!(history.len(), 2); - + // First record should have None as previous delegate let first_record = history.get(0).unwrap(); assert_eq!(first_record.previous_delegate, None); - assert_eq!(first_record.new_delegate, delegate1); - + assert_eq!(first_record.new_delegate, Some(delegate1.clone())); + // Second record should have delegate1 as previous let second_record = history.get(1).unwrap(); - assert_eq!(second_record.previous_delegate, Some(delegate1)); - assert_eq!(second_record.new_delegate, delegate2); + assert_eq!(second_record.previous_delegate, Some(delegate1.clone())); + assert_eq!(second_record.new_delegate, Some(delegate2.clone())); } #[test] - fn authorization_info_provides_details() { - let env = Env::default(); - let recipient = Address::generate(&env); - let delegate = Address::generate(&env); - let stranger = Address::generate(&env); - let admin = Address::generate(&env); + fn cleanup_expired_delegates_works() { + let ctx = Ctx::new(); + let recipient = Address::generate(&ctx.env); + let delegate1 = Address::generate(&ctx.env); + let delegate2 = Address::generate(&ctx.env); + let admin = Address::generate(&ctx.env); let now = 1000u64; - create_test_package(&env, 1, &recipient, PackageStatus::Created); - env.ledger().set_timestamp(now); - env.mock_all_auths(); - set_delegate_with_expiry(&env, &admin, 1, &delegate, now + 100).unwrap(); - - // Primary recipient - let (authorized, reason) = get_authorization_info(&env, 1, &recipient, &recipient); - assert!(authorized); - assert_eq!(reason, Some("Primary recipient".to_string())); - - // Delegate - let (authorized, reason) = get_authorization_info(&env, 1, &recipient, &delegate); - assert!(authorized); - assert!(reason.unwrap().contains("Delegate")); - - // Stranger - let (authorized, reason) = get_authorization_info(&env, 1, &recipient, &stranger); - assert!(!authorized); - assert_eq!(reason, Some("No delegate registered".to_string())); - } + ctx.create_test_package(1, &recipient, PackageStatus::Created); + ctx.create_test_package(2, &recipient, PackageStatus::Created); - #[test] - fn cleanup_expired_delegates_works() { - let env = Env::default(); - let recipient = Address::generate(&env); - let delegate1 = Address::generate(&env); - let delegate2 = Address::generate(&env); - let admin = Address::generate(&env); - let now = 1000u64; + ctx.env.ledger().set_timestamp(now); + ctx.env.mock_all_auths(); - create_test_package(&env, 1, &recipient, PackageStatus::Created); - create_test_package(&env, 2, &recipient, PackageStatus::Created); - - env.ledger().set_timestamp(now); - env.mock_all_auths(); - // Set delegates with different expirations - set_delegate_with_expiry(&env, &admin, 1, &delegate1, now + 50).unwrap(); // Will expire - set_delegate_with_expiry(&env, &admin, 2, &delegate2, now + 200).unwrap(); // Won't expire - + ctx.run(|| set_delegate_with_expiry(&ctx.env, &admin, 1, &delegate1, now + 50).unwrap()); // Will expire + ctx.run(|| set_delegate_with_expiry(&ctx.env, &admin, 2, &delegate2, now + 200).unwrap()); // Won't expire + // Advance time past first delegate's expiration - env.ledger().set_timestamp(now + 100); - + ctx.env.ledger().set_timestamp(now + 100); + // Cleanup expired delegates - let cleaned = cleanup_expired_delegates(&env, &admin).unwrap(); + let cleaned = ctx.run(|| cleanup_expired_delegates(&ctx.env, &admin).unwrap()); assert_eq!(cleaned, 1); - + // Check that expired delegate is gone - assert_eq!(get_delegate(&env, 1), None); - + assert_eq!(ctx.run(|| get_delegate(&ctx.env, 1)), None); + // Check that non-expired delegate remains - assert_eq!(get_delegate(&env, 2), Some(delegate2)); + assert_eq!(ctx.run(|| get_delegate(&ctx.env, 2)), Some(delegate2)); + } + + #[test] + fn resetting_delegate_without_expiry_drops_stale_expiry() { + let ctx = Ctx::new(); + let recipient = Address::generate(&ctx.env); + let delegate = Address::generate(&ctx.env); + let admin = Address::generate(&ctx.env); + let now = 1000u64; + + ctx.env.ledger().set_timestamp(now); + ctx.create_test_package(1, &recipient, PackageStatus::Created); + ctx.env.mock_all_auths(); + + // Set with an expiry, then re-set without one. + ctx.run(|| set_delegate_with_expiry(&ctx.env, &admin, 1, &delegate, now + 100).unwrap()); + ctx.run(|| set_delegate_with_expiry(&ctx.env, &admin, 1, &delegate, 0).unwrap()); + + // The stale expiry must not linger: after the old deadline the + // delegate is still authorised. + ctx.env.ledger().set_timestamp(now + 200); + assert!(ctx.run(|| is_authorised_claimer(&ctx.env, 1, &recipient, &delegate))); + assert_eq!(ctx.run(|| get_delegate(&ctx.env, 1)), Some(delegate)); } } diff --git a/app/onchain/contracts/aid_escrow/src/lib.rs b/app/onchain/contracts/aid_escrow/src/lib.rs index af87df26..a1a307fa 100644 --- a/app/onchain/contracts/aid_escrow/src/lib.rs +++ b/app/onchain/contracts/aid_escrow/src/lib.rs @@ -25,6 +25,10 @@ use soroban_sdk::{ Bytes, Env, IntoVal, Map, String, Symbol, Val, Vec, }; +mod delegate; + +pub use delegate::DelegateHistory; + // --- Storage Keys --- const KEY_ADMIN: Symbol = symbol_short!("admin"); const KEY_TOTAL_LOCKED: Symbol = symbol_short!("locked"); // Map @@ -934,8 +938,12 @@ impl AidEscrow { // --- Recipient Actions --- - /// Recipient claims the package. - pub fn claim(env: Env, id: u64) -> Result<(), Error> { + /// Claims the package on behalf of `claimer`. + /// + /// `claimer` must be either the package recipient or a registered, + /// unexpired delegate (see `set_delegate`). Funds always pay out to the + /// package `recipient`, even when a delegate authorises the claim. + pub fn claim(env: Env, id: u64, claimer: Address) -> Result<(), Error> { Self::check_action_paused(&env, symbol_short!("claim"))?; let key = (symbol_short!("pkg"), id); let mut package: Package = env @@ -963,10 +971,23 @@ impl AidEscrow { return Err(Error::InvalidProof); } - package.recipient.require_auth(); + // Only the recipient or a registered, unexpired delegate may claim. + if !delegate::is_authorised_claimer(&env, id, &package.recipient, &claimer) { + return Err(Error::NotAuthorized); + } + claimer.require_auth(); + let payout_recipient = package.recipient.clone(); - Self::finalize_claim(&env, &key, &mut package, id, &payout_recipient, now) + Self::finalize_claim( + &env, + &key, + &mut package, + id, + &payout_recipient, + &claimer, + now, + ) } /// Claim a package guarded by an optional Merkle allowlist. @@ -1020,17 +1041,67 @@ impl AidEscrow { Self::verify_merkle_proof_for_claimant( &env, &claimant, &proof, root, expires_at, now, )?; - Self::finalize_claim(&env, &key, &mut package, id, &claimant, now) + Self::finalize_claim(&env, &key, &mut package, id, &claimant, &claimant, now) } None => { if claimant != package.recipient { return Err(Error::NotAuthorized); } - Self::finalize_claim(&env, &key, &mut package, id, &claimant, now) + Self::finalize_claim(&env, &key, &mut package, id, &claimant, &claimant, now) } } } + // --- Delegate (recovery) Support --- + + /// Admin-only. Registers `delegate` as the recovery address for + /// `package_id`, optionally with an `expires_at` deadline (0 = never). + /// + /// An unexpired delegate may authorise a claim on the package on behalf + /// of the recipient via `claim(id, claimer)`. `set_delegate` is rejected + /// once the package is `Claimed`, and the delegate cannot equal the + /// recipient. Delegate assignments are recorded in an append-only audit + /// trail readable via `get_delegate_history`. + /// + /// # Errors + /// - `Error::NotAuthorized` - caller is not the admin + /// - `Error::PackageNotFound` - package does not exist + /// - `Error::PackageNotActive` - package already claimed + /// - `Error::InvalidState` - delegate equals recipient, or `expires_at` is in the past + pub fn set_delegate( + env: Env, + package_id: u64, + delegate: Address, + expires_at: u64, + ) -> Result<(), Error> { + let admin = Self::get_admin(env.clone())?; + delegate::set_delegate_with_expiry(&env, &admin, package_id, &delegate, expires_at) + } + + /// Returns the registered delegate for `package_id`, if any. + /// Returns `None` if no delegate is set or the delegate has expired. + pub fn get_delegate(env: Env, package_id: u64) -> Option
{ + delegate::get_delegate(&env, package_id) + } + + /// Returns the registered delegate and its expiry for `package_id`. + /// Returns `None` if no delegate is set. + pub fn get_delegate_info(env: Env, package_id: u64) -> Option<(Address, Option)> { + delegate::get_delegate_info(&env, package_id) + } + + /// Returns the full delegate audit trail for `package_id`. + pub fn get_delegate_history(env: Env, package_id: u64) -> Vec { + delegate::get_delegate_history(&env, package_id) + } + + /// Admin-only. Removes expired delegates from storage, reclaiming rent. + /// Returns the number of delegates cleaned up. + pub fn cleanup_expired_delegates(env: Env) -> Result { + let admin = Self::get_admin(env.clone())?; + delegate::cleanup_expired_delegates(&env, &admin) + } + // --- Admin Actions --- /// Admin manually triggers disbursement (overrides recipient claim need, strictly checks status). @@ -1548,6 +1619,7 @@ impl AidEscrow { package: &mut Package, package_id: u64, payout_recipient: &Address, + actor: &Address, now: u64, ) -> Result<(), Error> { Self::transfer_token( @@ -1569,11 +1641,16 @@ impl AidEscrow { Self::add_to_status_totals(env, &package.token, PackageStatus::Created, -package.amount); Self::add_to_status_totals(env, &package.token, PackageStatus::Claimed, package.amount); + // A claimed package is terminal: drop any registered delegate so it + // can never be (re)assigned after funds move, and record the removal + // in the delegate audit trail (no-op when no delegate was set). + delegate::clear_delegate(env, package_id, actor); + PackageClaimed { package_id, recipient: payout_recipient.clone(), amount: package.amount, - actor: payout_recipient.clone(), + actor: actor.clone(), timestamp: now, } .publish(env); diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/claim/default_claim_starts_at_is_created_at.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/claim/default_claim_starts_at_is_created_at.1.json index f028293e..201bf718 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/claim/default_claim_starts_at_is_created_at.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/claim/default_claim_starts_at_is_created_at.1.json @@ -60,6 +60,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } @@ -140,6 +148,9 @@ "args": [ { "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] } @@ -319,6 +330,68 @@ 3110499 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 109 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 109 + ] + ], [ { "contract_data": { @@ -530,6 +603,23 @@ ] } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "0" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -559,6 +649,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/claim/fails_when_claimed_too_early.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/claim/fails_when_claimed_too_early.1.json index acfd307f..b65509ef 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/claim/fails_when_claimed_too_early.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/claim/fails_when_claimed_too_early.1.json @@ -60,6 +60,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } @@ -150,6 +158,9 @@ "args": [ { "u64": "99" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] } @@ -329,6 +340,68 @@ 3110499 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 109 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 109 + ] + ], [ { "contract_data": { @@ -549,6 +622,23 @@ ] } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "0" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -578,6 +668,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/claim/fails_when_package_is_expired.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/claim/fails_when_package_is_expired.1.json index 966eeff9..a647b0ad 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/claim/fails_when_package_is_expired.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/claim/fails_when_package_is_expired.1.json @@ -60,6 +60,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } @@ -495,6 +503,23 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "10000000" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -524,6 +549,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/claim/merkle_allowlist_claim_fails_after_root_expiry.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/claim/merkle_allowlist_claim_fails_after_root_expiry.1.json index 4ce2f499..2bdcc96e 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/claim/merkle_allowlist_claim_fails_after_root_expiry.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/claim/merkle_allowlist_claim_fails_after_root_expiry.1.json @@ -60,6 +60,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } @@ -530,6 +538,23 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "10000000" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -559,6 +584,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/claim/merkle_allowlist_claim_fails_with_invalid_proof.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/claim/merkle_allowlist_claim_fails_with_invalid_proof.1.json index 0b932471..7b24ed5b 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/claim/merkle_allowlist_claim_fails_with_invalid_proof.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/claim/merkle_allowlist_claim_fails_with_invalid_proof.1.json @@ -60,6 +60,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } @@ -513,6 +521,23 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "10000000" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -542,6 +567,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/claim/merkle_allowlist_claim_succeeds_before_root_expiry.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/claim/merkle_allowlist_claim_succeeds_before_root_expiry.1.json index a94b2774..c7198122 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/claim/merkle_allowlist_claim_succeeds_before_root_expiry.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/claim/merkle_allowlist_claim_succeeds_before_root_expiry.1.json @@ -60,6 +60,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } @@ -343,6 +351,68 @@ 3110499 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 109 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 109 + ] + ], [ { "contract_data": { @@ -571,6 +641,23 @@ ] } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "0" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -600,6 +687,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/claim/merkle_allowlist_claim_succeeds_with_valid_proof.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/claim/merkle_allowlist_claim_succeeds_with_valid_proof.1.json index a278ad44..e42f4265 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/claim/merkle_allowlist_claim_succeeds_with_valid_proof.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/claim/merkle_allowlist_claim_succeeds_with_valid_proof.1.json @@ -60,6 +60,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } @@ -336,6 +344,68 @@ 3110499 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 109 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 109 + ] + ], [ { "contract_data": { @@ -556,6 +626,23 @@ ] } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "0" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -585,6 +672,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/claim/succeeds_when_claimed_at_exact_expiry_boundary.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/claim/succeeds_when_claimed_at_exact_expiry_boundary.1.json index 9b2d4186..f6528165 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/claim/succeeds_when_claimed_at_exact_expiry_boundary.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/claim/succeeds_when_claimed_at_exact_expiry_boundary.1.json @@ -60,6 +60,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } @@ -150,6 +158,9 @@ "args": [ { "u64": "100" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] } @@ -329,6 +340,68 @@ 3110499 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 109 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 109 + ] + ], [ { "contract_data": { @@ -549,6 +622,23 @@ ] } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "0" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -578,6 +668,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/claim/succeeds_when_recipient_claims_within_window.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/claim/succeeds_when_recipient_claims_within_window.1.json index fedc0854..fe137852 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/claim/succeeds_when_recipient_claims_within_window.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/claim/succeeds_when_recipient_claims_within_window.1.json @@ -60,6 +60,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } @@ -140,6 +148,9 @@ "args": [ { "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] } @@ -321,6 +332,68 @@ 3110499 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 109 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 109 + ] + ], [ { "contract_data": { @@ -532,6 +605,23 @@ ] } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "0" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -561,6 +651,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/claim_start_boundaries/fails_when_claimed_1_second_before_start.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/claim_start_boundaries/fails_when_claimed_1_second_before_start.1.json index 9bafb2f0..a9ec067f 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/claim_start_boundaries/fails_when_claimed_1_second_before_start.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/claim_start_boundaries/fails_when_claimed_1_second_before_start.1.json @@ -60,6 +60,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } @@ -514,6 +522,23 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "10000000" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -543,6 +568,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/claim_start_boundaries/succeeds_when_claimed_1_second_after_start.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/claim_start_boundaries/succeeds_when_claimed_1_second_after_start.1.json index 280bb308..cad40481 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/claim_start_boundaries/succeeds_when_claimed_1_second_after_start.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/claim_start_boundaries/succeeds_when_claimed_1_second_after_start.1.json @@ -60,6 +60,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } @@ -149,6 +157,9 @@ "args": [ { "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] } @@ -329,6 +340,68 @@ 3110499 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 109 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 109 + ] + ], [ { "contract_data": { @@ -549,6 +622,23 @@ ] } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "0" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -578,6 +668,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/claim_start_boundaries/succeeds_when_claimed_at_exact_start_time.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/claim_start_boundaries/succeeds_when_claimed_at_exact_start_time.1.json index 56a1617e..aa7cbc9f 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/claim_start_boundaries/succeeds_when_claimed_at_exact_start_time.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/claim_start_boundaries/succeeds_when_claimed_at_exact_start_time.1.json @@ -60,6 +60,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } @@ -149,6 +157,9 @@ "args": [ { "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] } @@ -329,6 +340,68 @@ 3110499 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 109 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 109 + ] + ], [ { "contract_data": { @@ -549,6 +622,23 @@ ] } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "0" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -578,6 +668,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/cleanup_expired_delegates_removes_only_expired_entries.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/cleanup_expired_delegates_removes_only_expired_entries.1.json new file mode 100644 index 00000000..97c90c2b --- /dev/null +++ b/app/onchain/contracts/aid_escrow/test_snapshots/cleanup_expired_delegates_removes_only_expired_entries.1.json @@ -0,0 +1,1495 @@ +{ + "generators": { + "address": 7, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [ + [ + "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V", + { + "function": { + "contract_fn": { + "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "function_name": "set_admin", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "function_name": "mint", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "i128": "100000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "fund", + "args": [ + { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "i128": "100000000" + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": "100000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "create_package", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "i128": "10000000" + }, + { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + { + "u64": "2000" + }, + { + "map": [] + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "create_package", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "u64": "2" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "i128": "10000000" + }, + { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + { + "u64": "2000" + }, + { + "map": [] + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "set_delegate", + "args": [ + { + "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "u64": "1050" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "set_delegate", + "args": [ + { + "u64": "2" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + }, + { + "u64": "6000" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "cleanup_expired_delegates", + "args": [] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [] + ], + "ledger": { + "protocol_version": 23, + "sequence_number": 0, + "timestamp": 1100, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "account": { + "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "account": { + "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V", + "balance": "0", + "seq_num": "0", + "num_sub_entries": 0, + "inflation_dest": null, + "flags": 0, + "home_domain": "", + "thresholds": "01010101", + "signers": [], + "ext": "v0" + } + }, + "ext": "v0" + }, + null + ] + ], + [ + { + "contract_data": { + "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1033654523790656264" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1033654523790656264" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "2032731177588607455" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "2032731177588607455" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4270020994084947596" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4270020994084947596" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4837995959683129791" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4837995959683129791" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "6277191135259896685" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "6277191135259896685" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "8370022561469687789" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "8370022561469687789" + } + }, + "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": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "u64": "2" + }, + "val": { + "u64": "6000" + } + } + ] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgh" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgh" + }, + "durability": "persistent", + "val": { + "vec": [ + { + "map": [ + { + "key": { + "symbol": "changed_at" + }, + "val": { + "u64": "1000" + } + }, + { + "key": { + "symbol": "changed_by" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "new_delegate" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "symbol": "package_id" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "previous_delegate" + }, + "val": "void" + }, + { + "key": { + "symbol": "reason" + }, + "val": { + "string": "Admin delegate assignment" + } + } + ] + }, + { + "map": [ + { + "key": { + "symbol": "changed_at" + }, + "val": { + "u64": "1000" + } + }, + { + "key": { + "symbol": "changed_by" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "new_delegate" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + }, + { + "key": { + "symbol": "package_id" + }, + "val": { + "u64": "2" + } + }, + { + "key": { + "symbol": "previous_delegate" + }, + "val": "void" + }, + { + "key": { + "symbol": "reason" + }, + "val": { + "string": "Admin delegate assignment" + } + } + ] + } + ] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "u64": "2" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + } + ] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "pidx" + }, + { + "u64": "0" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "pidx" + }, + { + "u64": "0" + } + ] + }, + "durability": "persistent", + "val": { + "u64": "1" + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "pidx" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "pidx" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent", + "val": { + "u64": "2" + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "pkg" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "pkg" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "10000000" + } + }, + { + "key": { + "symbol": "claim_starts_at" + }, + "val": { + "u64": "1000" + } + }, + { + "key": { + "symbol": "created_at" + }, + "val": { + "u64": "1000" + } + }, + { + "key": { + "symbol": "expires_at" + }, + "val": { + "u64": "2000" + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "metadata" + }, + "val": { + "map": [] + } + }, + { + "key": { + "symbol": "recipient" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "token" + }, + "val": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + } + } + ] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "pkg" + }, + { + "u64": "2" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "pkg" + }, + { + "u64": "2" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "10000000" + } + }, + { + "key": { + "symbol": "claim_starts_at" + }, + "val": { + "u64": "1000" + } + }, + { + "key": { + "symbol": "created_at" + }, + "val": { + "u64": "1000" + } + }, + { + "key": { + "symbol": "expires_at" + }, + "val": { + "u64": "2000" + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": "2" + } + }, + { + "key": { + "symbol": "metadata" + }, + "val": { + "map": [] + } + }, + { + "key": { + "symbol": "recipient" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "token" + }, + "val": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + } + } + ] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "20000000" + } + } + ] + } + }, + { + "key": { + "symbol": "config" + }, + "val": { + "map": [ + { + "key": { + "symbol": "allowed_tokens" + }, + "val": { + "vec": [] + } + }, + { + "key": { + "symbol": "max_expires_in" + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "symbol": "min_amount" + }, + "val": { + "i128": "1" + } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } + } + ] + } + }, + { + "key": { + "symbol": "locked" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "20000000" + } + } + ] + } + }, + { + "key": { + "symbol": "pkg_cnt" + }, + "val": { + "u64": "3" + } + }, + { + "key": { + "symbol": "pkg_idx" + }, + "val": { + "u64": "2" + } + }, + { + "key": { + "symbol": "version" + }, + "val": { + "u32": 1 + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "0" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + 518400 + ] + ], + [ + { + "contract_data": { + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "100000000" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + 518400 + ] + ], + [ + { + "contract_data": { + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": "stellar_asset", + "storage": [ + { + "key": { + "symbol": "METADATA" + }, + "val": { + "map": [ + { + "key": { + "symbol": "decimal" + }, + "val": { + "u32": 7 + } + }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "aaa:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V" + } + }, + { + "key": { + "symbol": "symbol" + }, + "val": { + "string": "aaa" + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "AssetInfo" + } + ] + }, + "val": { + "vec": [ + { + "symbol": "AlphaNum4" + }, + { + "map": [ + { + "key": { + "symbol": "asset_code" + }, + "val": { + "string": "aaa\\0" + } + }, + { + "key": { + "symbol": "issuer" + }, + "val": { + "bytes": "0000000000000000000000000000000000000000000000000000000000000003" + } + } + ] + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 120960 + ] + ], + [ + { + "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/app/onchain/contracts/aid_escrow/test_snapshots/combined_boundaries/fails_when_claim_starts_at_equals_expires_at_and_claimed_after.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/combined_boundaries/fails_when_claim_starts_at_equals_expires_at_and_claimed_after.1.json index acf14a19..632a313f 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/combined_boundaries/fails_when_claim_starts_at_equals_expires_at_and_claimed_after.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/combined_boundaries/fails_when_claim_starts_at_equals_expires_at_and_claimed_after.1.json @@ -60,6 +60,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } @@ -514,6 +522,23 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "10000000" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -543,6 +568,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/combined_boundaries/fails_when_claim_starts_at_equals_expires_at_and_claimed_before.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/combined_boundaries/fails_when_claim_starts_at_equals_expires_at_and_claimed_before.1.json index 4f287c56..926ee9f3 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/combined_boundaries/fails_when_claim_starts_at_equals_expires_at_and_claimed_before.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/combined_boundaries/fails_when_claim_starts_at_equals_expires_at_and_claimed_before.1.json @@ -60,6 +60,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } @@ -514,6 +522,23 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "10000000" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -543,6 +568,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/combined_boundaries/narrow_claim_window_1_second.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/combined_boundaries/narrow_claim_window_1_second.1.json index 0a9edc0b..debf60d8 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/combined_boundaries/narrow_claim_window_1_second.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/combined_boundaries/narrow_claim_window_1_second.1.json @@ -60,6 +60,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } @@ -149,6 +157,9 @@ "args": [ { "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] } @@ -328,6 +339,68 @@ 3110499 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 109 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 109 + ] + ], [ { "contract_data": { @@ -548,6 +621,23 @@ ] } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "0" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -577,6 +667,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/combined_boundaries/succeeds_when_claim_starts_at_equals_expires_at_and_claimed_at_boundary.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/combined_boundaries/succeeds_when_claim_starts_at_equals_expires_at_and_claimed_at_boundary.1.json index f00684f4..0e490a1f 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/combined_boundaries/succeeds_when_claim_starts_at_equals_expires_at_and_claimed_at_boundary.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/combined_boundaries/succeeds_when_claim_starts_at_equals_expires_at_and_claimed_at_boundary.1.json @@ -60,6 +60,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } @@ -149,6 +157,9 @@ "args": [ { "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] } @@ -329,6 +340,68 @@ 3110499 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 109 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 109 + ] + ], [ { "contract_data": { @@ -549,6 +622,23 @@ ] } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "0" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -578,6 +668,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/combined_boundaries/zero_claim_window_fails_creation.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/combined_boundaries/zero_claim_window_fails_creation.1.json index 71ca8d73..fbe90548 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/combined_boundaries/zero_claim_window_fails_creation.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/combined_boundaries/zero_claim_window_fails_creation.1.json @@ -60,6 +60,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } @@ -513,6 +521,23 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "10000000" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -542,6 +567,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/create_package/fails_when_amount_below_min_amount.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/create_package/fails_when_amount_below_min_amount.1.json index c8ea2b2c..c77c6e2b 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/create_package/fails_when_amount_below_min_amount.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/create_package/fails_when_amount_below_min_amount.1.json @@ -60,6 +60,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } @@ -104,6 +112,14 @@ "val": { "i128": "20000000" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } @@ -313,6 +329,14 @@ "val": { "i128": "20000000" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/create_package/fails_when_contract_has_insufficient_balance.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/create_package/fails_when_contract_has_insufficient_balance.1.json index 81a96786..c0dc66eb 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/create_package/fails_when_contract_has_insufficient_balance.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/create_package/fails_when_contract_has_insufficient_balance.1.json @@ -60,6 +60,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } @@ -291,6 +299,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/create_package/fails_when_package_id_already_exists.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/create_package/fails_when_package_id_already_exists.1.json index b62f5fd5..f1aefda9 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/create_package/fails_when_package_id_already_exists.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/create_package/fails_when_package_id_already_exists.1.json @@ -60,6 +60,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } @@ -495,6 +503,23 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "10000000" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -524,6 +549,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/create_package/succeeds_with_metadata.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/create_package/succeeds_with_metadata.1.json index 12d7deda..01d53b91 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/create_package/succeeds_with_metadata.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/create_package/succeeds_with_metadata.1.json @@ -60,6 +60,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } @@ -513,6 +521,23 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "10000000" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -542,6 +567,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/create_package/succeeds_with_valid_inputs.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/create_package/succeeds_with_valid_inputs.1.json index b62f5fd5..f1aefda9 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/create_package/succeeds_with_valid_inputs.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/create_package/succeeds_with_valid_inputs.1.json @@ -60,6 +60,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } @@ -495,6 +503,23 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "10000000" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -524,6 +549,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/create_package_admin_path_succeeds_with_real_authorized_invocation.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/create_package_admin_path_succeeds_with_real_authorized_invocation.1.json index 99c265b9..3e4e66c7 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/create_package_admin_path_succeeds_with_real_authorized_invocation.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/create_package_admin_path_succeeds_with_real_authorized_invocation.1.json @@ -60,6 +60,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } @@ -528,6 +536,23 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "10000000" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -557,6 +582,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/create_package_authenticated_non_privileged_operator_is_rejected.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/create_package_authenticated_non_privileged_operator_is_rejected.1.json index efd973c8..feb9906c 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/create_package_authenticated_non_privileged_operator_is_rejected.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/create_package_authenticated_non_privileged_operator_is_rejected.1.json @@ -60,6 +60,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } @@ -292,6 +300,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/create_package_without_any_auth_is_rejected_by_the_host.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/create_package_without_any_auth_is_rejected_by_the_host.1.json index 4f04fc93..d69172bf 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/create_package_without_any_auth_is_rejected_by_the_host.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/create_package_without_any_auth_is_rejected_by_the_host.1.json @@ -60,6 +60,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } @@ -292,6 +300,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/delegate/tests/cannot_set_delegate_for_claimed_package.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/delegate/tests/cannot_set_delegate_for_claimed_package.1.json new file mode 100644 index 00000000..a4e4e0c8 --- /dev/null +++ b/app/onchain/contracts/aid_escrow/test_snapshots/delegate/tests/cannot_set_delegate_for_claimed_package.1.json @@ -0,0 +1,196 @@ +{ + "generators": { + "address": 5, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [], + [], + [] + ], + "ledger": { + "protocol_version": 23, + "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": "pkg" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "pkg" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "1000" + } + }, + { + "key": { + "symbol": "claim_starts_at" + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "symbol": "created_at" + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "symbol": "expires_at" + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "metadata" + }, + "val": { + "map": [] + } + }, + { + "key": { + "symbol": "recipient" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "token" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + } + ] + } + } + }, + "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": null + } + } + } + }, + "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/app/onchain/contracts/aid_escrow/test_snapshots/delegate/tests/cannot_set_delegate_to_recipient_address.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/delegate/tests/cannot_set_delegate_to_recipient_address.1.json new file mode 100644 index 00000000..37c2c36d --- /dev/null +++ b/app/onchain/contracts/aid_escrow/test_snapshots/delegate/tests/cannot_set_delegate_to_recipient_address.1.json @@ -0,0 +1,196 @@ +{ + "generators": { + "address": 4, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [], + [], + [] + ], + "ledger": { + "protocol_version": 23, + "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": "pkg" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "pkg" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "1000" + } + }, + { + "key": { + "symbol": "claim_starts_at" + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "symbol": "created_at" + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "symbol": "expires_at" + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "metadata" + }, + "val": { + "map": [] + } + }, + { + "key": { + "symbol": "recipient" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "token" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + } + ] + } + } + }, + "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": null + } + } + } + }, + "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/app/onchain/contracts/aid_escrow/test_snapshots/delegate/tests/cleanup_expired_delegates_works.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/delegate/tests/cleanup_expired_delegates_works.1.json new file mode 100644 index 00000000..1926d75d --- /dev/null +++ b/app/onchain/contracts/aid_escrow/test_snapshots/delegate/tests/cleanup_expired_delegates_works.1.json @@ -0,0 +1,672 @@ +{ + "generators": { + "address": 7, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [], + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "", + "args": [] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "", + "args": [] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "", + "args": [] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [] + ], + "ledger": { + "protocol_version": 23, + "sequence_number": 0, + "timestamp": 1100, + "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": { + "symbol": "dlgexp" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "u64": "2" + }, + "val": { + "u64": "1200" + } + } + ] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "symbol": "dlgh" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "symbol": "dlgh" + }, + "durability": "persistent", + "val": { + "vec": [ + { + "map": [ + { + "key": { + "symbol": "changed_at" + }, + "val": { + "u64": "1000" + } + }, + { + "key": { + "symbol": "changed_by" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "new_delegate" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "symbol": "package_id" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "previous_delegate" + }, + "val": "void" + }, + { + "key": { + "symbol": "reason" + }, + "val": { + "string": "Admin delegate assignment" + } + } + ] + }, + { + "map": [ + { + "key": { + "symbol": "changed_at" + }, + "val": { + "u64": "1000" + } + }, + { + "key": { + "symbol": "changed_by" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "new_delegate" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "package_id" + }, + "val": { + "u64": "2" + } + }, + { + "key": { + "symbol": "previous_delegate" + }, + "val": "void" + }, + { + "key": { + "symbol": "reason" + }, + "val": { + "string": "Admin delegate assignment" + } + } + ] + } + ] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "u64": "2" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + } + ] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "pkg" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "pkg" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "1000" + } + }, + { + "key": { + "symbol": "claim_starts_at" + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "symbol": "created_at" + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "symbol": "expires_at" + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "metadata" + }, + "val": { + "map": [] + } + }, + { + "key": { + "symbol": "recipient" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "token" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + } + ] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "pkg" + }, + { + "u64": "2" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "pkg" + }, + { + "u64": "2" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "1000" + } + }, + { + "key": { + "symbol": "claim_starts_at" + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "symbol": "created_at" + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "symbol": "expires_at" + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": "2" + } + }, + { + "key": { + "symbol": "metadata" + }, + "val": { + "map": [] + } + }, + { + "key": { + "symbol": "recipient" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "token" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + } + ] + } + } + }, + "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": null + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": "1033654523790656264" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": "1033654523790656264" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": "5541220902715666415" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "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/app/onchain/contracts/aid_escrow/test_snapshots/delegate/tests/cleared_delegate_cannot_claim.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/delegate/tests/cleared_delegate_cannot_claim.1.json new file mode 100644 index 00000000..9e2b46fd --- /dev/null +++ b/app/onchain/contracts/aid_escrow/test_snapshots/delegate/tests/cleared_delegate_cannot_claim.1.json @@ -0,0 +1,392 @@ +{ + "generators": { + "address": 5, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [], + [], + [], + [], + [] + ], + "ledger": { + "protocol_version": 23, + "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": { + "symbol": "dlgexp" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "symbol": "dlgh" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "symbol": "dlgh" + }, + "durability": "persistent", + "val": { + "vec": [ + { + "map": [ + { + "key": { + "symbol": "changed_at" + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "symbol": "changed_by" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "new_delegate" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "symbol": "package_id" + }, + "val": { + "u64": "7" + } + }, + { + "key": { + "symbol": "previous_delegate" + }, + "val": "void" + }, + { + "key": { + "symbol": "reason" + }, + "val": { + "string": "Admin delegate assignment" + } + } + ] + }, + { + "map": [ + { + "key": { + "symbol": "changed_at" + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "symbol": "changed_by" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "new_delegate" + }, + "val": "void" + }, + { + "key": { + "symbol": "package_id" + }, + "val": { + "u64": "7" + } + }, + { + "key": { + "symbol": "previous_delegate" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "symbol": "reason" + }, + "val": { + "string": "Delegate cleared after claim" + } + } + ] + } + ] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "pkg" + }, + { + "u64": "7" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "pkg" + }, + { + "u64": "7" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "1000" + } + }, + { + "key": { + "symbol": "claim_starts_at" + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "symbol": "created_at" + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "symbol": "expires_at" + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": "7" + } + }, + { + "key": { + "symbol": "metadata" + }, + "val": { + "map": [] + } + }, + { + "key": { + "symbol": "recipient" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "token" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + } + ] + } + } + }, + "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": null + } + } + } + }, + "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/app/onchain/contracts/aid_escrow/test_snapshots/delegate/tests/delegate_expires_correctly.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/delegate/tests/delegate_expires_correctly.1.json new file mode 100644 index 00000000..03c08e30 --- /dev/null +++ b/app/onchain/contracts/aid_escrow/test_snapshots/delegate/tests/delegate_expires_correctly.1.json @@ -0,0 +1,408 @@ +{ + "generators": { + "address": 5, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "", + "args": [] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [] + ], + "ledger": { + "protocol_version": 23, + "sequence_number": 0, + "timestamp": 1200, + "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": { + "symbol": "dlgexp" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "u64": "1" + }, + "val": { + "u64": "1100" + } + } + ] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "symbol": "dlgh" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "symbol": "dlgh" + }, + "durability": "persistent", + "val": { + "vec": [ + { + "map": [ + { + "key": { + "symbol": "changed_at" + }, + "val": { + "u64": "1000" + } + }, + { + "key": { + "symbol": "changed_by" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "new_delegate" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "symbol": "package_id" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "previous_delegate" + }, + "val": "void" + }, + { + "key": { + "symbol": "reason" + }, + "val": { + "string": "Admin delegate assignment" + } + } + ] + } + ] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "u64": "1" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + } + ] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "pkg" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "pkg" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "1000" + } + }, + { + "key": { + "symbol": "claim_starts_at" + }, + "val": { + "u64": "1000" + } + }, + { + "key": { + "symbol": "created_at" + }, + "val": { + "u64": "1000" + } + }, + { + "key": { + "symbol": "expires_at" + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "metadata" + }, + "val": { + "map": [] + } + }, + { + "key": { + "symbol": "recipient" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "token" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + } + ] + } + } + }, + "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": null + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "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/app/onchain/contracts/aid_escrow/test_snapshots/delegate/tests/delegate_history_tracking.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/delegate/tests/delegate_history_tracking.1.json new file mode 100644 index 00000000..fa806c9d --- /dev/null +++ b/app/onchain/contracts/aid_escrow/test_snapshots/delegate/tests/delegate_history_tracking.1.json @@ -0,0 +1,372 @@ +{ + "generators": { + "address": 6, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [], + [], + [], + [], + [] + ], + "ledger": { + "protocol_version": 23, + "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": { + "symbol": "dlgh" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "symbol": "dlgh" + }, + "durability": "persistent", + "val": { + "vec": [ + { + "map": [ + { + "key": { + "symbol": "changed_at" + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "symbol": "changed_by" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "new_delegate" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "symbol": "package_id" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "previous_delegate" + }, + "val": "void" + }, + { + "key": { + "symbol": "reason" + }, + "val": { + "string": "Admin delegate assignment" + } + } + ] + }, + { + "map": [ + { + "key": { + "symbol": "changed_at" + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "symbol": "changed_by" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "new_delegate" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "package_id" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "previous_delegate" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "symbol": "reason" + }, + "val": { + "string": "Admin delegate assignment" + } + } + ] + } + ] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "u64": "1" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + } + ] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "pkg" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "pkg" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "1000" + } + }, + { + "key": { + "symbol": "claim_starts_at" + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "symbol": "created_at" + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "symbol": "expires_at" + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "metadata" + }, + "val": { + "map": [] + } + }, + { + "key": { + "symbol": "recipient" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "token" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + } + ] + } + } + }, + "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": null + } + } + } + }, + "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/app/onchain/contracts/aid_escrow/test_snapshots/delegate/tests/no_delegate_means_only_recipient_is_authorised.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/delegate/tests/no_delegate_means_only_recipient_is_authorised.1.json new file mode 100644 index 00000000..1d49a828 --- /dev/null +++ b/app/onchain/contracts/aid_escrow/test_snapshots/delegate/tests/no_delegate_means_only_recipient_is_authorised.1.json @@ -0,0 +1,78 @@ +{ + "generators": { + "address": 3, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [], + [], + [] + ], + "ledger": { + "protocol_version": 23, + "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": null + } + } + } + }, + "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/app/onchain/contracts/aid_escrow/test_snapshots/delegate/tests/registered_delegate_can_claim.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/delegate/tests/registered_delegate_can_claim.1.json new file mode 100644 index 00000000..ea705c02 --- /dev/null +++ b/app/onchain/contracts/aid_escrow/test_snapshots/delegate/tests/registered_delegate_can_claim.1.json @@ -0,0 +1,319 @@ +{ + "generators": { + "address": 5, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [], + [], + [], + [] + ], + "ledger": { + "protocol_version": 23, + "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": { + "symbol": "dlgh" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "symbol": "dlgh" + }, + "durability": "persistent", + "val": { + "vec": [ + { + "map": [ + { + "key": { + "symbol": "changed_at" + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "symbol": "changed_by" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "new_delegate" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "symbol": "package_id" + }, + "val": { + "u64": "42" + } + }, + { + "key": { + "symbol": "previous_delegate" + }, + "val": "void" + }, + { + "key": { + "symbol": "reason" + }, + "val": { + "string": "Admin delegate assignment" + } + } + ] + } + ] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "u64": "42" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + } + ] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "pkg" + }, + { + "u64": "42" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "pkg" + }, + { + "u64": "42" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "1000" + } + }, + { + "key": { + "symbol": "claim_starts_at" + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "symbol": "created_at" + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "symbol": "expires_at" + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": "42" + } + }, + { + "key": { + "symbol": "metadata" + }, + "val": { + "map": [] + } + }, + { + "key": { + "symbol": "recipient" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "token" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + } + ] + } + } + }, + "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": null + } + } + } + }, + "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/app/onchain/contracts/aid_escrow/test_snapshots/delegate/tests/resetting_delegate_without_expiry_drops_stale_expiry.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/delegate/tests/resetting_delegate_without_expiry_drops_stale_expiry.1.json new file mode 100644 index 00000000..21d2b9be --- /dev/null +++ b/app/onchain/contracts/aid_escrow/test_snapshots/delegate/tests/resetting_delegate_without_expiry_drops_stale_expiry.1.json @@ -0,0 +1,498 @@ +{ + "generators": { + "address": 5, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "", + "args": [] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "", + "args": [] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [] + ], + "ledger": { + "protocol_version": 23, + "sequence_number": 0, + "timestamp": 1200, + "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": { + "symbol": "dlgexp" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "symbol": "dlgh" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "symbol": "dlgh" + }, + "durability": "persistent", + "val": { + "vec": [ + { + "map": [ + { + "key": { + "symbol": "changed_at" + }, + "val": { + "u64": "1000" + } + }, + { + "key": { + "symbol": "changed_by" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "new_delegate" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "symbol": "package_id" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "previous_delegate" + }, + "val": "void" + }, + { + "key": { + "symbol": "reason" + }, + "val": { + "string": "Admin delegate assignment" + } + } + ] + }, + { + "map": [ + { + "key": { + "symbol": "changed_at" + }, + "val": { + "u64": "1000" + } + }, + { + "key": { + "symbol": "changed_by" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "new_delegate" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "symbol": "package_id" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "previous_delegate" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "symbol": "reason" + }, + "val": { + "string": "Admin delegate assignment" + } + } + ] + } + ] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "u64": "1" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + } + ] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "pkg" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "pkg" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "1000" + } + }, + { + "key": { + "symbol": "claim_starts_at" + }, + "val": { + "u64": "1000" + } + }, + { + "key": { + "symbol": "created_at" + }, + "val": { + "u64": "1000" + } + }, + { + "key": { + "symbol": "expires_at" + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "metadata" + }, + "val": { + "map": [] + } + }, + { + "key": { + "symbol": "recipient" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "token" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + } + ] + } + } + }, + "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": null + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "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/app/onchain/contracts/aid_escrow/test_snapshots/delegate/tests/set_delegate_requires_admin_auth.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/delegate/tests/set_delegate_requires_admin_auth.1.json new file mode 100644 index 00000000..36ffdcdf --- /dev/null +++ b/app/onchain/contracts/aid_escrow/test_snapshots/delegate/tests/set_delegate_requires_admin_auth.1.json @@ -0,0 +1,195 @@ +{ + "generators": { + "address": 5, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [], + [] + ], + "ledger": { + "protocol_version": 23, + "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": "pkg" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "pkg" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "1000" + } + }, + { + "key": { + "symbol": "claim_starts_at" + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "symbol": "created_at" + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "symbol": "expires_at" + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "metadata" + }, + "val": { + "map": [] + } + }, + { + "key": { + "symbol": "recipient" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "token" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + } + ] + } + } + }, + "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": null + } + } + } + }, + "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/app/onchain/contracts/aid_escrow/test_snapshots/delegate_cannot_claim_after_own_expiry.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/delegate_cannot_claim_after_own_expiry.1.json new file mode 100644 index 00000000..a9f44624 --- /dev/null +++ b/app/onchain/contracts/aid_escrow/test_snapshots/delegate_cannot_claim_after_own_expiry.1.json @@ -0,0 +1,1107 @@ +{ + "generators": { + "address": 6, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [ + [ + "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V", + { + "function": { + "contract_fn": { + "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "function_name": "set_admin", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "function_name": "mint", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "i128": "100000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "fund", + "args": [ + { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "i128": "100000000" + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": "100000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "create_package", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "i128": "10000000" + }, + { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + { + "u64": "2000" + }, + { + "map": [] + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "set_delegate", + "args": [ + { + "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "u64": "1500" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [] + ], + "ledger": { + "protocol_version": 23, + "sequence_number": 0, + "timestamp": 1501, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "account": { + "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "account": { + "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V", + "balance": "0", + "seq_num": "0", + "num_sub_entries": 0, + "inflation_dest": null, + "flags": 0, + "home_domain": "", + "thresholds": "01010101", + "signers": [], + "ext": "v0" + } + }, + "ext": "v0" + }, + null + ] + ], + [ + { + "contract_data": { + "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1033654523790656264" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1033654523790656264" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "2032731177588607455" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "2032731177588607455" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4837995959683129791" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4837995959683129791" + } + }, + "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": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "u64": "1" + }, + "val": { + "u64": "1500" + } + } + ] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgh" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgh" + }, + "durability": "persistent", + "val": { + "vec": [ + { + "map": [ + { + "key": { + "symbol": "changed_at" + }, + "val": { + "u64": "1000" + } + }, + { + "key": { + "symbol": "changed_by" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "new_delegate" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "symbol": "package_id" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "previous_delegate" + }, + "val": "void" + }, + { + "key": { + "symbol": "reason" + }, + "val": { + "string": "Admin delegate assignment" + } + } + ] + } + ] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "u64": "1" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + } + ] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "pidx" + }, + { + "u64": "0" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "pidx" + }, + { + "u64": "0" + } + ] + }, + "durability": "persistent", + "val": { + "u64": "1" + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "pkg" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "pkg" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "10000000" + } + }, + { + "key": { + "symbol": "claim_starts_at" + }, + "val": { + "u64": "1000" + } + }, + { + "key": { + "symbol": "created_at" + }, + "val": { + "u64": "1000" + } + }, + { + "key": { + "symbol": "expires_at" + }, + "val": { + "u64": "2000" + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "metadata" + }, + "val": { + "map": [] + } + }, + { + "key": { + "symbol": "recipient" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "token" + }, + "val": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + } + } + ] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "10000000" + } + } + ] + } + }, + { + "key": { + "symbol": "config" + }, + "val": { + "map": [ + { + "key": { + "symbol": "allowed_tokens" + }, + "val": { + "vec": [] + } + }, + { + "key": { + "symbol": "max_expires_in" + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "symbol": "min_amount" + }, + "val": { + "i128": "1" + } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } + } + ] + } + }, + { + "key": { + "symbol": "locked" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "10000000" + } + } + ] + } + }, + { + "key": { + "symbol": "pkg_cnt" + }, + "val": { + "u64": "2" + } + }, + { + "key": { + "symbol": "pkg_idx" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "version" + }, + "val": { + "u32": 1 + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "0" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + 518400 + ] + ], + [ + { + "contract_data": { + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "100000000" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + 518400 + ] + ], + [ + { + "contract_data": { + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": "stellar_asset", + "storage": [ + { + "key": { + "symbol": "METADATA" + }, + "val": { + "map": [ + { + "key": { + "symbol": "decimal" + }, + "val": { + "u32": 7 + } + }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "aaa:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V" + } + }, + { + "key": { + "symbol": "symbol" + }, + "val": { + "string": "aaa" + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "AssetInfo" + } + ] + }, + "val": { + "vec": [ + { + "symbol": "AlphaNum4" + }, + { + "map": [ + { + "key": { + "symbol": "asset_code" + }, + "val": { + "string": "aaa\\0" + } + }, + { + "key": { + "symbol": "issuer" + }, + "val": { + "bytes": "0000000000000000000000000000000000000000000000000000000000000003" + } + } + ] + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 120960 + ] + ], + [ + { + "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/app/onchain/contracts/aid_escrow/test_snapshots/delegate_cannot_claim_after_recipient_already_claimed.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/delegate_cannot_claim_after_recipient_already_claimed.1.json new file mode 100644 index 00000000..28039197 --- /dev/null +++ b/app/onchain/contracts/aid_escrow/test_snapshots/delegate_cannot_claim_after_recipient_already_claimed.1.json @@ -0,0 +1,1279 @@ +{ + "generators": { + "address": 6, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [ + [ + "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V", + { + "function": { + "contract_fn": { + "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "function_name": "set_admin", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "function_name": "mint", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "i128": "100000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "fund", + "args": [ + { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "i128": "100000000" + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": "100000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "create_package", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "i128": "10000000" + }, + { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + { + "u64": "2000" + }, + { + "map": [] + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "set_delegate", + "args": [ + { + "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "u64": "0" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "claim", + "args": [ + { + "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [] + ], + "ledger": { + "protocol_version": 23, + "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": [ + [ + { + "account": { + "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "account": { + "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V", + "balance": "0", + "seq_num": "0", + "num_sub_entries": 0, + "inflation_dest": null, + "flags": 0, + "home_domain": "", + "thresholds": "01010101", + "signers": [], + "ext": "v0" + } + }, + "ext": "v0" + }, + null + ] + ], + [ + { + "contract_data": { + "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1033654523790656264" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1033654523790656264" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "2032731177588607455" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "2032731177588607455" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4837995959683129791" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4837995959683129791" + } + }, + "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": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgh" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgh" + }, + "durability": "persistent", + "val": { + "vec": [ + { + "map": [ + { + "key": { + "symbol": "changed_at" + }, + "val": { + "u64": "1000" + } + }, + { + "key": { + "symbol": "changed_by" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "new_delegate" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "symbol": "package_id" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "previous_delegate" + }, + "val": "void" + }, + { + "key": { + "symbol": "reason" + }, + "val": { + "string": "Admin delegate assignment" + } + } + ] + }, + { + "map": [ + { + "key": { + "symbol": "changed_at" + }, + "val": { + "u64": "1000" + } + }, + { + "key": { + "symbol": "changed_by" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "new_delegate" + }, + "val": "void" + }, + { + "key": { + "symbol": "package_id" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "previous_delegate" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "symbol": "reason" + }, + "val": { + "string": "Delegate cleared after claim" + } + } + ] + } + ] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "pidx" + }, + { + "u64": "0" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "pidx" + }, + { + "u64": "0" + } + ] + }, + "durability": "persistent", + "val": { + "u64": "1" + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "pkg" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "pkg" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "10000000" + } + }, + { + "key": { + "symbol": "claim_starts_at" + }, + "val": { + "u64": "1000" + } + }, + { + "key": { + "symbol": "created_at" + }, + "val": { + "u64": "1000" + } + }, + { + "key": { + "symbol": "expires_at" + }, + "val": { + "u64": "2000" + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "metadata" + }, + "val": { + "map": [] + } + }, + { + "key": { + "symbol": "recipient" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "token" + }, + "val": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + } + } + ] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "claimed" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "10000000" + } + } + ] + } + }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "0" + } + } + ] + } + }, + { + "key": { + "symbol": "config" + }, + "val": { + "map": [ + { + "key": { + "symbol": "allowed_tokens" + }, + "val": { + "vec": [] + } + }, + { + "key": { + "symbol": "max_expires_in" + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "symbol": "min_amount" + }, + "val": { + "i128": "1" + } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } + } + ] + } + }, + { + "key": { + "symbol": "locked" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "0" + } + } + ] + } + }, + { + "key": { + "symbol": "pkg_cnt" + }, + "val": { + "u64": "2" + } + }, + { + "key": { + "symbol": "pkg_idx" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "version" + }, + "val": { + "u32": 1 + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": "4270020994084947596" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": "4270020994084947596" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "0" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + 518400 + ] + ], + [ + { + "contract_data": { + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "90000000" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + 518400 + ] + ], + [ + { + "contract_data": { + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "10000000" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + 518400 + ] + ], + [ + { + "contract_data": { + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": "stellar_asset", + "storage": [ + { + "key": { + "symbol": "METADATA" + }, + "val": { + "map": [ + { + "key": { + "symbol": "decimal" + }, + "val": { + "u32": 7 + } + }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "aaa:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V" + } + }, + { + "key": { + "symbol": "symbol" + }, + "val": { + "string": "aaa" + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "AssetInfo" + } + ] + }, + "val": { + "vec": [ + { + "symbol": "AlphaNum4" + }, + { + "map": [ + { + "key": { + "symbol": "asset_code" + }, + "val": { + "string": "aaa\\0" + } + }, + { + "key": { + "symbol": "issuer" + }, + "val": { + "bytes": "0000000000000000000000000000000000000000000000000000000000000003" + } + } + ] + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 120960 + ] + ], + [ + { + "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/app/onchain/contracts/aid_escrow/test_snapshots/delegate_cannot_claim_an_expired_package.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/delegate_cannot_claim_an_expired_package.1.json new file mode 100644 index 00000000..7581a8dd --- /dev/null +++ b/app/onchain/contracts/aid_escrow/test_snapshots/delegate_cannot_claim_an_expired_package.1.json @@ -0,0 +1,1106 @@ +{ + "generators": { + "address": 6, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [ + [ + "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V", + { + "function": { + "contract_fn": { + "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "function_name": "set_admin", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "function_name": "mint", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "i128": "100000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "fund", + "args": [ + { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "i128": "100000000" + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": "100000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "create_package", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "i128": "10000000" + }, + { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + { + "u64": "2000" + }, + { + "map": [] + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "set_delegate", + "args": [ + { + "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "u64": "6000" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [] + ], + "ledger": { + "protocol_version": 23, + "sequence_number": 0, + "timestamp": 2001, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "account": { + "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "account": { + "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V", + "balance": "0", + "seq_num": "0", + "num_sub_entries": 0, + "inflation_dest": null, + "flags": 0, + "home_domain": "", + "thresholds": "01010101", + "signers": [], + "ext": "v0" + } + }, + "ext": "v0" + }, + null + ] + ], + [ + { + "contract_data": { + "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1033654523790656264" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1033654523790656264" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "2032731177588607455" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "2032731177588607455" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4837995959683129791" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4837995959683129791" + } + }, + "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": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "u64": "1" + }, + "val": { + "u64": "6000" + } + } + ] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgh" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgh" + }, + "durability": "persistent", + "val": { + "vec": [ + { + "map": [ + { + "key": { + "symbol": "changed_at" + }, + "val": { + "u64": "1000" + } + }, + { + "key": { + "symbol": "changed_by" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "new_delegate" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "symbol": "package_id" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "previous_delegate" + }, + "val": "void" + }, + { + "key": { + "symbol": "reason" + }, + "val": { + "string": "Admin delegate assignment" + } + } + ] + } + ] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "u64": "1" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + } + ] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "pidx" + }, + { + "u64": "0" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "pidx" + }, + { + "u64": "0" + } + ] + }, + "durability": "persistent", + "val": { + "u64": "1" + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "pkg" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "pkg" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "10000000" + } + }, + { + "key": { + "symbol": "claim_starts_at" + }, + "val": { + "u64": "1000" + } + }, + { + "key": { + "symbol": "created_at" + }, + "val": { + "u64": "1000" + } + }, + { + "key": { + "symbol": "expires_at" + }, + "val": { + "u64": "2000" + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "metadata" + }, + "val": { + "map": [] + } + }, + { + "key": { + "symbol": "recipient" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "token" + }, + "val": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + } + } + ] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "10000000" + } + } + ] + } + }, + { + "key": { + "symbol": "config" + }, + "val": { + "map": [ + { + "key": { + "symbol": "allowed_tokens" + }, + "val": { + "vec": [] + } + }, + { + "key": { + "symbol": "max_expires_in" + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "symbol": "min_amount" + }, + "val": { + "i128": "1" + } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } + } + ] + } + }, + { + "key": { + "symbol": "locked" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "10000000" + } + } + ] + } + }, + { + "key": { + "symbol": "pkg_cnt" + }, + "val": { + "u64": "2" + } + }, + { + "key": { + "symbol": "pkg_idx" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "version" + }, + "val": { + "u32": 1 + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "0" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + 518400 + ] + ], + [ + { + "contract_data": { + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "100000000" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + 518400 + ] + ], + [ + { + "contract_data": { + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": "stellar_asset", + "storage": [ + { + "key": { + "symbol": "METADATA" + }, + "val": { + "map": [ + { + "key": { + "symbol": "decimal" + }, + "val": { + "u32": 7 + } + }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "aaa:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V" + } + }, + { + "key": { + "symbol": "symbol" + }, + "val": { + "string": "aaa" + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "AssetInfo" + } + ] + }, + "val": { + "vec": [ + { + "symbol": "AlphaNum4" + }, + { + "map": [ + { + "key": { + "symbol": "asset_code" + }, + "val": { + "string": "aaa\\0" + } + }, + { + "key": { + "symbol": "issuer" + }, + "val": { + "bytes": "0000000000000000000000000000000000000000000000000000000000000003" + } + } + ] + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 120960 + ] + ], + [ + { + "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/app/onchain/contracts/aid_escrow/test_snapshots/edge_cases/claim_starts_after_expiry_fails_creation.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/edge_cases/claim_starts_after_expiry_fails_creation.1.json index bd99bc1b..91975a90 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/edge_cases/claim_starts_after_expiry_fails_creation.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/edge_cases/claim_starts_after_expiry_fails_creation.1.json @@ -60,6 +60,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } @@ -291,6 +299,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/edge_cases/claim_starts_at_in_past_fails_creation.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/edge_cases/claim_starts_at_in_past_fails_creation.1.json index bd99bc1b..91975a90 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/edge_cases/claim_starts_at_in_past_fails_creation.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/edge_cases/claim_starts_at_in_past_fails_creation.1.json @@ -60,6 +60,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } @@ -291,6 +299,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/edge_cases/locked_funds_released_after_claim_allows_new_package.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/edge_cases/locked_funds_released_after_claim_allows_new_package.1.json index 39d3043f..ec7a7f39 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/edge_cases/locked_funds_released_after_claim_allows_new_package.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/edge_cases/locked_funds_released_after_claim_allows_new_package.1.json @@ -60,6 +60,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } @@ -141,6 +149,9 @@ "args": [ { "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] } @@ -445,6 +456,68 @@ 3110499 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 109 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 109 + ] + ], [ { "contract_data": { @@ -819,6 +892,23 @@ ] } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "10000000" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -848,6 +938,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/edge_cases/package_with_zero_expiry_never_expires.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/edge_cases/package_with_zero_expiry_never_expires.1.json index e4c183aa..befa2cb0 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/edge_cases/package_with_zero_expiry_never_expires.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/edge_cases/package_with_zero_expiry_never_expires.1.json @@ -60,6 +60,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } @@ -149,6 +157,9 @@ "args": [ { "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] } @@ -329,6 +340,68 @@ 3110499 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 109 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 109 + ] + ], [ { "contract_data": { @@ -549,6 +622,23 @@ ] } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "0" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -578,6 +668,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/edge_cases/refund_succeeds_on_expired_package.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/edge_cases/refund_succeeds_on_expired_package.1.json index 9c049b24..2ff17b3f 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/edge_cases/refund_succeeds_on_expired_package.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/edge_cases/refund_succeeds_on_expired_package.1.json @@ -60,6 +60,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } @@ -547,6 +555,23 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "0" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -576,6 +601,31 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } + } + ] + } + }, + { + "key": { + "symbol": "expcan" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "10000000" + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/expiry_boundaries/fails_when_claimed_1_second_after_expiry.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/expiry_boundaries/fails_when_claimed_1_second_after_expiry.1.json index 428b13be..731846a8 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/expiry_boundaries/fails_when_claimed_1_second_after_expiry.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/expiry_boundaries/fails_when_claimed_1_second_after_expiry.1.json @@ -60,6 +60,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } @@ -514,6 +522,23 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "10000000" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -543,6 +568,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/expiry_boundaries/fails_when_claimed_long_after_expiry.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/expiry_boundaries/fails_when_claimed_long_after_expiry.1.json index be460cd6..a6ebc3a3 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/expiry_boundaries/fails_when_claimed_long_after_expiry.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/expiry_boundaries/fails_when_claimed_long_after_expiry.1.json @@ -60,6 +60,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } @@ -514,6 +522,23 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "10000000" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -543,6 +568,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/expiry_boundaries/succeeds_when_claimed_1_second_before_expiry.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/expiry_boundaries/succeeds_when_claimed_1_second_before_expiry.1.json index af7bb180..ebb5c49e 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/expiry_boundaries/succeeds_when_claimed_1_second_before_expiry.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/expiry_boundaries/succeeds_when_claimed_1_second_before_expiry.1.json @@ -60,6 +60,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } @@ -149,6 +157,9 @@ "args": [ { "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] } @@ -329,6 +340,68 @@ 3110499 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 109 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 109 + ] + ], [ { "contract_data": { @@ -549,6 +622,23 @@ ] } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "0" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -578,6 +668,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/expiry_boundaries/succeeds_when_claimed_at_exact_expiry.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/expiry_boundaries/succeeds_when_claimed_at_exact_expiry.1.json index bad14790..1d5faed6 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/expiry_boundaries/succeeds_when_claimed_at_exact_expiry.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/expiry_boundaries/succeeds_when_claimed_at_exact_expiry.1.json @@ -60,6 +60,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } @@ -149,6 +157,9 @@ "args": [ { "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] } @@ -329,6 +340,68 @@ 3110499 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 109 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 109 + ] + ], [ { "contract_data": { @@ -549,6 +622,23 @@ ] } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "0" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -578,6 +668,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/late_claim_behavior/claim_with_proof_fails_after_expiry.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/late_claim_behavior/claim_with_proof_fails_after_expiry.1.json index 42af1a9c..af942fce 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/late_claim_behavior/claim_with_proof_fails_after_expiry.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/late_claim_behavior/claim_with_proof_fails_after_expiry.1.json @@ -60,6 +60,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } @@ -514,6 +522,23 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "10000000" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -543,6 +568,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/late_claim_behavior/late_claim_can_be_retried_if_time_reverted.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/late_claim_behavior/late_claim_can_be_retried_if_time_reverted.1.json index 404fb3c0..80069224 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/late_claim_behavior/late_claim_can_be_retried_if_time_reverted.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/late_claim_behavior/late_claim_can_be_retried_if_time_reverted.1.json @@ -60,6 +60,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } @@ -151,6 +159,9 @@ "args": [ { "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] } @@ -331,6 +342,68 @@ 3110499 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 109 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 109 + ] + ], [ { "contract_data": { @@ -551,6 +624,23 @@ ] } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "0" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -580,6 +670,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/late_claim_behavior/late_claim_returns_error_but_status_remains_created.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/late_claim_behavior/late_claim_returns_error_but_status_remains_created.1.json index 498b04e9..6798393f 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/late_claim_behavior/late_claim_returns_error_but_status_remains_created.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/late_claim_behavior/late_claim_returns_error_but_status_remains_created.1.json @@ -60,6 +60,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } @@ -516,6 +524,23 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "10000000" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -545,6 +570,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/package_transitions_to_claimed_exactly_once.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/package_transitions_to_claimed_exactly_once.1.json new file mode 100644 index 00000000..b8d0d105 --- /dev/null +++ b/app/onchain/contracts/aid_escrow/test_snapshots/package_transitions_to_claimed_exactly_once.1.json @@ -0,0 +1,1280 @@ +{ + "generators": { + "address": 6, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [ + [ + "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V", + { + "function": { + "contract_fn": { + "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "function_name": "set_admin", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "function_name": "mint", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "i128": "100000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "fund", + "args": [ + { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "i128": "100000000" + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": "100000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "create_package", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "i128": "10000000" + }, + { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + { + "u64": "2000" + }, + { + "map": [] + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "set_delegate", + "args": [ + { + "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "u64": "0" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "claim", + "args": [ + { + "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [] + ], + "ledger": { + "protocol_version": 23, + "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": [ + [ + { + "account": { + "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "account": { + "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V", + "balance": "0", + "seq_num": "0", + "num_sub_entries": 0, + "inflation_dest": null, + "flags": 0, + "home_domain": "", + "thresholds": "01010101", + "signers": [], + "ext": "v0" + } + }, + "ext": "v0" + }, + null + ] + ], + [ + { + "contract_data": { + "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1033654523790656264" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1033654523790656264" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "2032731177588607455" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "2032731177588607455" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4837995959683129791" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4837995959683129791" + } + }, + "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": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgh" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgh" + }, + "durability": "persistent", + "val": { + "vec": [ + { + "map": [ + { + "key": { + "symbol": "changed_at" + }, + "val": { + "u64": "1000" + } + }, + { + "key": { + "symbol": "changed_by" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "new_delegate" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "symbol": "package_id" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "previous_delegate" + }, + "val": "void" + }, + { + "key": { + "symbol": "reason" + }, + "val": { + "string": "Admin delegate assignment" + } + } + ] + }, + { + "map": [ + { + "key": { + "symbol": "changed_at" + }, + "val": { + "u64": "1000" + } + }, + { + "key": { + "symbol": "changed_by" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "symbol": "new_delegate" + }, + "val": "void" + }, + { + "key": { + "symbol": "package_id" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "previous_delegate" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "symbol": "reason" + }, + "val": { + "string": "Delegate cleared after claim" + } + } + ] + } + ] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "pidx" + }, + { + "u64": "0" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "pidx" + }, + { + "u64": "0" + } + ] + }, + "durability": "persistent", + "val": { + "u64": "1" + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "pkg" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "pkg" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "10000000" + } + }, + { + "key": { + "symbol": "claim_starts_at" + }, + "val": { + "u64": "1000" + } + }, + { + "key": { + "symbol": "created_at" + }, + "val": { + "u64": "1000" + } + }, + { + "key": { + "symbol": "expires_at" + }, + "val": { + "u64": "2000" + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "metadata" + }, + "val": { + "map": [] + } + }, + { + "key": { + "symbol": "recipient" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "token" + }, + "val": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + } + } + ] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "claimed" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "10000000" + } + } + ] + } + }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "0" + } + } + ] + } + }, + { + "key": { + "symbol": "config" + }, + "val": { + "map": [ + { + "key": { + "symbol": "allowed_tokens" + }, + "val": { + "vec": [] + } + }, + { + "key": { + "symbol": "max_expires_in" + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "symbol": "min_amount" + }, + "val": { + "i128": "1" + } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } + } + ] + } + }, + { + "key": { + "symbol": "locked" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "0" + } + } + ] + } + }, + { + "key": { + "symbol": "pkg_cnt" + }, + "val": { + "u64": "2" + } + }, + { + "key": { + "symbol": "pkg_idx" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "version" + }, + "val": { + "u32": 1 + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": "4270020994084947596" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": "4270020994084947596" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "0" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + 518400 + ] + ], + [ + { + "contract_data": { + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "90000000" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + 518400 + ] + ], + [ + { + "contract_data": { + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "10000000" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + 518400 + ] + ], + [ + { + "contract_data": { + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": "stellar_asset", + "storage": [ + { + "key": { + "symbol": "METADATA" + }, + "val": { + "map": [ + { + "key": { + "symbol": "decimal" + }, + "val": { + "u32": 7 + } + }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "aaa:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V" + } + }, + { + "key": { + "symbol": "symbol" + }, + "val": { + "string": "aaa" + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "AssetInfo" + } + ] + }, + "val": { + "vec": [ + { + "symbol": "AlphaNum4" + }, + { + "map": [ + { + "key": { + "symbol": "asset_code" + }, + "val": { + "string": "aaa\\0" + } + }, + { + "key": { + "symbol": "issuer" + }, + "val": { + "bytes": "0000000000000000000000000000000000000000000000000000000000000003" + } + } + ] + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 120960 + ] + ], + [ + { + "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/app/onchain/contracts/aid_escrow/test_snapshots/profile_batch_create_packages_10.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/profile_batch_create_packages_10.1.json index aa7db12e..bfcb9910 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/profile_batch_create_packages_10.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/profile_batch_create_packages_10.1.json @@ -60,6 +60,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } @@ -2051,6 +2059,23 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "100000000" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -2080,6 +2105,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/profile_batch_create_packages_100.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/profile_batch_create_packages_100.1.json index 0ba7e7bb..ffcec8ea 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/profile_batch_create_packages_100.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/profile_batch_create_packages_100.1.json @@ -60,6 +60,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } @@ -17531,6 +17539,23 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "1000000000" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -17560,6 +17585,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/profile_batch_create_packages_200.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/profile_batch_create_packages_200.1.json index 1cbae6e6..5f0fcfb0 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/profile_batch_create_packages_200.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/profile_batch_create_packages_200.1.json @@ -60,6 +60,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } @@ -34731,6 +34739,23 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "2000000000" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -34760,6 +34785,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/profile_batch_create_packages_25.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/profile_batch_create_packages_25.1.json index 8ea2504d..546920b9 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/profile_batch_create_packages_25.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/profile_batch_create_packages_25.1.json @@ -60,6 +60,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } @@ -4631,6 +4639,23 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "250000000" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -4660,6 +4685,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/profile_batch_create_packages_50.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/profile_batch_create_packages_50.1.json index 7f182ffd..63e762cf 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/profile_batch_create_packages_50.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/profile_batch_create_packages_50.1.json @@ -60,6 +60,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } @@ -8931,6 +8939,23 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "500000000" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -8960,6 +8985,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/profile_claim_with_proof.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/profile_claim_with_proof.1.json index c47462cc..d6a73dca 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/profile_claim_with_proof.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/profile_claim_with_proof.1.json @@ -60,6 +60,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } @@ -512,6 +520,23 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "10000000" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -541,6 +566,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/profile_claim_with_proof.2.json b/app/onchain/contracts/aid_escrow/test_snapshots/profile_claim_with_proof.2.json index b76d255b..924253c0 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/profile_claim_with_proof.2.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/profile_claim_with_proof.2.json @@ -60,6 +60,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } @@ -235,6 +243,68 @@ 3110499 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 109 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 109 + ] + ], [ { "contract_data": { @@ -455,6 +525,23 @@ ] } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "0" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -484,6 +571,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/profile_fund_operation.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/profile_fund_operation.1.json index d6debeaa..7b69ae6c 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/profile_fund_operation.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/profile_fund_operation.1.json @@ -60,6 +60,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } @@ -369,6 +377,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/profile_get_aggregates.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/profile_get_aggregates.1.json index 29924f21..3eae5fe6 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/profile_get_aggregates.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/profile_get_aggregates.1.json @@ -60,6 +60,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } @@ -8932,6 +8940,23 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "500000000" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -8961,6 +8986,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/profile_get_package.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/profile_get_package.1.json index b62f5fd5..f1aefda9 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/profile_get_package.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/profile_get_package.1.json @@ -60,6 +60,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } @@ -495,6 +503,23 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "10000000" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -524,6 +549,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/profile_single_claim.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/profile_single_claim.1.json index 31b7e6ec..fe45e0bb 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/profile_single_claim.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/profile_single_claim.1.json @@ -60,6 +60,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } @@ -494,6 +502,23 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "10000000" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -523,6 +548,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/profile_single_claim.2.json b/app/onchain/contracts/aid_escrow/test_snapshots/profile_single_claim.2.json index 7b26ae8c..85bb77c5 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/profile_single_claim.2.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/profile_single_claim.2.json @@ -60,6 +60,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } @@ -140,6 +148,9 @@ "args": [ { "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] } @@ -220,6 +231,68 @@ 3110499 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 109 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 109 + ] + ], [ { "contract_data": { @@ -431,6 +504,23 @@ ] } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "0" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -460,6 +550,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/profile_single_create_package.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/profile_single_create_package.1.json index 31b7e6ec..fe45e0bb 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/profile_single_create_package.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/profile_single_create_package.1.json @@ -60,6 +60,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } @@ -494,6 +502,23 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "10000000" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -523,6 +548,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/re_setting_without_expiry_drops_the_old_deadline.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/re_setting_without_expiry_drops_the_old_deadline.1.json new file mode 100644 index 00000000..825e7b6e --- /dev/null +++ b/app/onchain/contracts/aid_escrow/test_snapshots/re_setting_without_expiry_drops_the_old_deadline.1.json @@ -0,0 +1,1480 @@ +{ + "generators": { + "address": 6, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [ + [ + "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V", + { + "function": { + "contract_fn": { + "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "function_name": "set_admin", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "function_name": "mint", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "i128": "100000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "fund", + "args": [ + { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "i128": "100000000" + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": "100000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "create_package", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "i128": "10000000" + }, + { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + { + "u64": "2000" + }, + { + "map": [] + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "set_delegate", + "args": [ + { + "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "u64": "1500" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "set_delegate", + "args": [ + { + "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "u64": "0" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "claim", + "args": [ + { + "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + } + }, + "sub_invocations": [] + } + ] + ] + ], + "ledger": { + "protocol_version": 23, + "sequence_number": 0, + "timestamp": 1600, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "account": { + "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "account": { + "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V", + "balance": "0", + "seq_num": "0", + "num_sub_entries": 0, + "inflation_dest": null, + "flags": 0, + "home_domain": "", + "thresholds": "01010101", + "signers": [], + "ext": "v0" + } + }, + "ext": "v0" + }, + null + ] + ], + [ + { + "contract_data": { + "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1033654523790656264" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1033654523790656264" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "2032731177588607455" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "2032731177588607455" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4270020994084947596" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4270020994084947596" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4837995959683129791" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4837995959683129791" + } + }, + "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": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgh" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgh" + }, + "durability": "persistent", + "val": { + "vec": [ + { + "map": [ + { + "key": { + "symbol": "changed_at" + }, + "val": { + "u64": "1000" + } + }, + { + "key": { + "symbol": "changed_by" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "new_delegate" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "symbol": "package_id" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "previous_delegate" + }, + "val": "void" + }, + { + "key": { + "symbol": "reason" + }, + "val": { + "string": "Admin delegate assignment" + } + } + ] + }, + { + "map": [ + { + "key": { + "symbol": "changed_at" + }, + "val": { + "u64": "1000" + } + }, + { + "key": { + "symbol": "changed_by" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "new_delegate" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "symbol": "package_id" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "previous_delegate" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "symbol": "reason" + }, + "val": { + "string": "Admin delegate assignment" + } + } + ] + }, + { + "map": [ + { + "key": { + "symbol": "changed_at" + }, + "val": { + "u64": "1600" + } + }, + { + "key": { + "symbol": "changed_by" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "symbol": "new_delegate" + }, + "val": "void" + }, + { + "key": { + "symbol": "package_id" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "previous_delegate" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "symbol": "reason" + }, + "val": { + "string": "Delegate cleared after claim" + } + } + ] + } + ] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "pidx" + }, + { + "u64": "0" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "pidx" + }, + { + "u64": "0" + } + ] + }, + "durability": "persistent", + "val": { + "u64": "1" + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "pkg" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "pkg" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "10000000" + } + }, + { + "key": { + "symbol": "claim_starts_at" + }, + "val": { + "u64": "1000" + } + }, + { + "key": { + "symbol": "created_at" + }, + "val": { + "u64": "1000" + } + }, + { + "key": { + "symbol": "expires_at" + }, + "val": { + "u64": "2000" + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "metadata" + }, + "val": { + "map": [] + } + }, + { + "key": { + "symbol": "recipient" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "token" + }, + "val": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + } + } + ] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "claimed" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "10000000" + } + } + ] + } + }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "0" + } + } + ] + } + }, + { + "key": { + "symbol": "config" + }, + "val": { + "map": [ + { + "key": { + "symbol": "allowed_tokens" + }, + "val": { + "vec": [] + } + }, + { + "key": { + "symbol": "max_expires_in" + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "symbol": "min_amount" + }, + "val": { + "i128": "1" + } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } + } + ] + } + }, + { + "key": { + "symbol": "locked" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "0" + } + } + ] + } + }, + { + "key": { + "symbol": "pkg_cnt" + }, + "val": { + "u64": "2" + } + }, + { + "key": { + "symbol": "pkg_idx" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "version" + }, + "val": { + "u32": 1 + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": "8370022561469687789" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": "8370022561469687789" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "0" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + 518400 + ] + ], + [ + { + "contract_data": { + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "90000000" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + 518400 + ] + ], + [ + { + "contract_data": { + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "10000000" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + 518400 + ] + ], + [ + { + "contract_data": { + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": "stellar_asset", + "storage": [ + { + "key": { + "symbol": "METADATA" + }, + "val": { + "map": [ + { + "key": { + "symbol": "decimal" + }, + "val": { + "u32": 7 + } + }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "aaa:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V" + } + }, + { + "key": { + "symbol": "symbol" + }, + "val": { + "string": "aaa" + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "AssetInfo" + } + ] + }, + "val": { + "vec": [ + { + "symbol": "AlphaNum4" + }, + { + "map": [ + { + "key": { + "symbol": "asset_code" + }, + "val": { + "string": "aaa\\0" + } + }, + { + "key": { + "symbol": "issuer" + }, + "val": { + "bytes": "0000000000000000000000000000000000000000000000000000000000000003" + } + } + ] + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 120960 + ] + ], + [ + { + "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": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "type_": "contract", + "body": { + "v0": { + "topics": [ + { + "symbol": "transfer" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "string": "aaa:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V" + } + ], + "data": { + "i128": "10000000" + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "type_": "contract", + "body": { + "v0": { + "topics": [ + { + "symbol": "package_claimed" + } + ], + "data": { + "map": [ + { + "key": { + "symbol": "actor" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "10000000" + } + }, + { + "key": { + "symbol": "package_id" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "recipient" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "timestamp" + }, + "val": { + "u64": "1600" + } + } + ] + } + } + } + }, + "failed_call": false + } + ] +} \ No newline at end of file diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/recipient_can_still_claim_without_a_delegate.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/recipient_can_still_claim_without_a_delegate.1.json new file mode 100644 index 00000000..b756e44c --- /dev/null +++ b/app/onchain/contracts/aid_escrow/test_snapshots/recipient_can_still_claim_without_a_delegate.1.json @@ -0,0 +1,1091 @@ +{ + "generators": { + "address": 5, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [ + [ + "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V", + { + "function": { + "contract_fn": { + "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "function_name": "set_admin", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "function_name": "mint", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "i128": "100000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "fund", + "args": [ + { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "i128": "100000000" + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": "100000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "create_package", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "i128": "10000000" + }, + { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + { + "u64": "2000" + }, + { + "map": [] + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "claim", + "args": [ + { + "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [] + ], + "ledger": { + "protocol_version": 23, + "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": [ + [ + { + "account": { + "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "account": { + "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V", + "balance": "0", + "seq_num": "0", + "num_sub_entries": 0, + "inflation_dest": null, + "flags": 0, + "home_domain": "", + "thresholds": "01010101", + "signers": [], + "ext": "v0" + } + }, + "ext": "v0" + }, + null + ] + ], + [ + { + "contract_data": { + "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1033654523790656264" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1033654523790656264" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4837995959683129791" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4837995959683129791" + } + }, + "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": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "pidx" + }, + { + "u64": "0" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "pidx" + }, + { + "u64": "0" + } + ] + }, + "durability": "persistent", + "val": { + "u64": "1" + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "pkg" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "pkg" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "10000000" + } + }, + { + "key": { + "symbol": "claim_starts_at" + }, + "val": { + "u64": "1000" + } + }, + { + "key": { + "symbol": "created_at" + }, + "val": { + "u64": "1000" + } + }, + { + "key": { + "symbol": "expires_at" + }, + "val": { + "u64": "2000" + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "metadata" + }, + "val": { + "map": [] + } + }, + { + "key": { + "symbol": "recipient" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "token" + }, + "val": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + } + } + ] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "claimed" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "10000000" + } + } + ] + } + }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "0" + } + } + ] + } + }, + { + "key": { + "symbol": "config" + }, + "val": { + "map": [ + { + "key": { + "symbol": "allowed_tokens" + }, + "val": { + "vec": [] + } + }, + { + "key": { + "symbol": "max_expires_in" + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "symbol": "min_amount" + }, + "val": { + "i128": "1" + } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } + } + ] + } + }, + { + "key": { + "symbol": "locked" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "0" + } + } + ] + } + }, + { + "key": { + "symbol": "pkg_cnt" + }, + "val": { + "u64": "2" + } + }, + { + "key": { + "symbol": "pkg_idx" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "version" + }, + "val": { + "u32": 1 + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": "2032731177588607455" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": "2032731177588607455" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "0" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + 518400 + ] + ], + [ + { + "contract_data": { + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "90000000" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + 518400 + ] + ], + [ + { + "contract_data": { + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "10000000" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + 518400 + ] + ], + [ + { + "contract_data": { + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": "stellar_asset", + "storage": [ + { + "key": { + "symbol": "METADATA" + }, + "val": { + "map": [ + { + "key": { + "symbol": "decimal" + }, + "val": { + "u32": 7 + } + }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "aaa:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V" + } + }, + { + "key": { + "symbol": "symbol" + }, + "val": { + "string": "aaa" + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "AssetInfo" + } + ] + }, + "val": { + "vec": [ + { + "symbol": "AlphaNum4" + }, + { + "map": [ + { + "key": { + "symbol": "asset_code" + }, + "val": { + "string": "aaa\\0" + } + }, + { + "key": { + "symbol": "issuer" + }, + "val": { + "bytes": "0000000000000000000000000000000000000000000000000000000000000003" + } + } + ] + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 120960 + ] + ], + [ + { + "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/app/onchain/contracts/aid_escrow/test_snapshots/registered_unexpired_delegate_can_claim_on_behalf_of_recipient.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/registered_unexpired_delegate_can_claim_on_behalf_of_recipient.1.json new file mode 100644 index 00000000..c3b62ab4 --- /dev/null +++ b/app/onchain/contracts/aid_escrow/test_snapshots/registered_unexpired_delegate_can_claim_on_behalf_of_recipient.1.json @@ -0,0 +1,1283 @@ +{ + "generators": { + "address": 6, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [ + [ + "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V", + { + "function": { + "contract_fn": { + "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "function_name": "set_admin", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "function_name": "mint", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "i128": "100000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "fund", + "args": [ + { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "i128": "100000000" + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": "100000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "create_package", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "i128": "10000000" + }, + { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + { + "u64": "2000" + }, + { + "map": [] + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "set_delegate", + "args": [ + { + "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "u64": "1500" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "claim", + "args": [ + { + "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [], + [] + ], + "ledger": { + "protocol_version": 23, + "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": [ + [ + { + "account": { + "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "account": { + "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V", + "balance": "0", + "seq_num": "0", + "num_sub_entries": 0, + "inflation_dest": null, + "flags": 0, + "home_domain": "", + "thresholds": "01010101", + "signers": [], + "ext": "v0" + } + }, + "ext": "v0" + }, + null + ] + ], + [ + { + "contract_data": { + "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1033654523790656264" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1033654523790656264" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "2032731177588607455" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "2032731177588607455" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4837995959683129791" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4837995959683129791" + } + }, + "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": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgh" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgh" + }, + "durability": "persistent", + "val": { + "vec": [ + { + "map": [ + { + "key": { + "symbol": "changed_at" + }, + "val": { + "u64": "1000" + } + }, + { + "key": { + "symbol": "changed_by" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "new_delegate" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "symbol": "package_id" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "previous_delegate" + }, + "val": "void" + }, + { + "key": { + "symbol": "reason" + }, + "val": { + "string": "Admin delegate assignment" + } + } + ] + }, + { + "map": [ + { + "key": { + "symbol": "changed_at" + }, + "val": { + "u64": "1000" + } + }, + { + "key": { + "symbol": "changed_by" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "symbol": "new_delegate" + }, + "val": "void" + }, + { + "key": { + "symbol": "package_id" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "previous_delegate" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "symbol": "reason" + }, + "val": { + "string": "Delegate cleared after claim" + } + } + ] + } + ] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "pidx" + }, + { + "u64": "0" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "pidx" + }, + { + "u64": "0" + } + ] + }, + "durability": "persistent", + "val": { + "u64": "1" + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "pkg" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "pkg" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "10000000" + } + }, + { + "key": { + "symbol": "claim_starts_at" + }, + "val": { + "u64": "1000" + } + }, + { + "key": { + "symbol": "created_at" + }, + "val": { + "u64": "1000" + } + }, + { + "key": { + "symbol": "expires_at" + }, + "val": { + "u64": "2000" + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "metadata" + }, + "val": { + "map": [] + } + }, + { + "key": { + "symbol": "recipient" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "token" + }, + "val": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + } + } + ] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "claimed" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "10000000" + } + } + ] + } + }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "0" + } + } + ] + } + }, + { + "key": { + "symbol": "config" + }, + "val": { + "map": [ + { + "key": { + "symbol": "allowed_tokens" + }, + "val": { + "vec": [] + } + }, + { + "key": { + "symbol": "max_expires_in" + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "symbol": "min_amount" + }, + "val": { + "i128": "1" + } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } + } + ] + } + }, + { + "key": { + "symbol": "locked" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "0" + } + } + ] + } + }, + { + "key": { + "symbol": "pkg_cnt" + }, + "val": { + "u64": "2" + } + }, + { + "key": { + "symbol": "pkg_idx" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "version" + }, + "val": { + "u32": 1 + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": "4270020994084947596" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": "4270020994084947596" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "0" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + 518400 + ] + ], + [ + { + "contract_data": { + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "90000000" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + 518400 + ] + ], + [ + { + "contract_data": { + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "10000000" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + 518400 + ] + ], + [ + { + "contract_data": { + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": "stellar_asset", + "storage": [ + { + "key": { + "symbol": "METADATA" + }, + "val": { + "map": [ + { + "key": { + "symbol": "decimal" + }, + "val": { + "u32": 7 + } + }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "aaa:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V" + } + }, + { + "key": { + "symbol": "symbol" + }, + "val": { + "string": "aaa" + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "AssetInfo" + } + ] + }, + "val": { + "vec": [ + { + "symbol": "AlphaNum4" + }, + { + "map": [ + { + "key": { + "symbol": "asset_code" + }, + "val": { + "string": "aaa\\0" + } + }, + { + "key": { + "symbol": "issuer" + }, + "val": { + "bytes": "0000000000000000000000000000000000000000000000000000000000000003" + } + } + ] + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 120960 + ] + ], + [ + { + "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/app/onchain/contracts/aid_escrow/test_snapshots/set_delegate_is_rejected_for_claimed_packages.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/set_delegate_is_rejected_for_claimed_packages.1.json new file mode 100644 index 00000000..a2b13ae7 --- /dev/null +++ b/app/onchain/contracts/aid_escrow/test_snapshots/set_delegate_is_rejected_for_claimed_packages.1.json @@ -0,0 +1,1089 @@ +{ + "generators": { + "address": 6, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [ + [ + "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V", + { + "function": { + "contract_fn": { + "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "function_name": "set_admin", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "function_name": "mint", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "i128": "100000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "fund", + "args": [ + { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "i128": "100000000" + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": "100000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "create_package", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "i128": "10000000" + }, + { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + { + "u64": "2000" + }, + { + "map": [] + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "claim", + "args": [ + { + "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [] + ], + "ledger": { + "protocol_version": 23, + "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": [ + [ + { + "account": { + "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "account": { + "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V", + "balance": "0", + "seq_num": "0", + "num_sub_entries": 0, + "inflation_dest": null, + "flags": 0, + "home_domain": "", + "thresholds": "01010101", + "signers": [], + "ext": "v0" + } + }, + "ext": "v0" + }, + null + ] + ], + [ + { + "contract_data": { + "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1033654523790656264" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1033654523790656264" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4837995959683129791" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4837995959683129791" + } + }, + "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": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "pidx" + }, + { + "u64": "0" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "pidx" + }, + { + "u64": "0" + } + ] + }, + "durability": "persistent", + "val": { + "u64": "1" + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "pkg" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "pkg" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "10000000" + } + }, + { + "key": { + "symbol": "claim_starts_at" + }, + "val": { + "u64": "1000" + } + }, + { + "key": { + "symbol": "created_at" + }, + "val": { + "u64": "1000" + } + }, + { + "key": { + "symbol": "expires_at" + }, + "val": { + "u64": "2000" + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "metadata" + }, + "val": { + "map": [] + } + }, + { + "key": { + "symbol": "recipient" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "token" + }, + "val": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + } + } + ] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "claimed" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "10000000" + } + } + ] + } + }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "0" + } + } + ] + } + }, + { + "key": { + "symbol": "config" + }, + "val": { + "map": [ + { + "key": { + "symbol": "allowed_tokens" + }, + "val": { + "vec": [] + } + }, + { + "key": { + "symbol": "max_expires_in" + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "symbol": "min_amount" + }, + "val": { + "i128": "1" + } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } + } + ] + } + }, + { + "key": { + "symbol": "locked" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "0" + } + } + ] + } + }, + { + "key": { + "symbol": "pkg_cnt" + }, + "val": { + "u64": "2" + } + }, + { + "key": { + "symbol": "pkg_idx" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "version" + }, + "val": { + "u32": 1 + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": "2032731177588607455" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": "2032731177588607455" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "0" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + 518400 + ] + ], + [ + { + "contract_data": { + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "90000000" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + 518400 + ] + ], + [ + { + "contract_data": { + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "10000000" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + 518400 + ] + ], + [ + { + "contract_data": { + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": "stellar_asset", + "storage": [ + { + "key": { + "symbol": "METADATA" + }, + "val": { + "map": [ + { + "key": { + "symbol": "decimal" + }, + "val": { + "u32": 7 + } + }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "aaa:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V" + } + }, + { + "key": { + "symbol": "symbol" + }, + "val": { + "string": "aaa" + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "AssetInfo" + } + ] + }, + "val": { + "vec": [ + { + "symbol": "AlphaNum4" + }, + { + "map": [ + { + "key": { + "symbol": "asset_code" + }, + "val": { + "string": "aaa\\0" + } + }, + { + "key": { + "symbol": "issuer" + }, + "val": { + "bytes": "0000000000000000000000000000000000000000000000000000000000000003" + } + } + ] + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 120960 + ] + ], + [ + { + "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/app/onchain/contracts/aid_escrow/test_snapshots/set_delegate_is_rejected_for_missing_package.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/set_delegate_is_rejected_for_missing_package.1.json new file mode 100644 index 00000000..56880244 --- /dev/null +++ b/app/onchain/contracts/aid_escrow/test_snapshots/set_delegate_is_rejected_for_missing_package.1.json @@ -0,0 +1,602 @@ +{ + "generators": { + "address": 5, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [ + [ + "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V", + { + "function": { + "contract_fn": { + "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "function_name": "set_admin", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "function_name": "mint", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "i128": "100000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "fund", + "args": [ + { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "i128": "100000000" + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": "100000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [] + ], + "ledger": { + "protocol_version": 23, + "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": [ + [ + { + "account": { + "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "account": { + "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V", + "balance": "0", + "seq_num": "0", + "num_sub_entries": 0, + "inflation_dest": null, + "flags": 0, + "home_domain": "", + "thresholds": "01010101", + "signers": [], + "ext": "v0" + } + }, + "ext": "v0" + }, + null + ] + ], + [ + { + "contract_data": { + "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1033654523790656264" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "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": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "config" + }, + "val": { + "map": [ + { + "key": { + "symbol": "allowed_tokens" + }, + "val": { + "vec": [] + } + }, + { + "key": { + "symbol": "max_expires_in" + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "symbol": "min_amount" + }, + "val": { + "i128": "1" + } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } + } + ] + } + }, + { + "key": { + "symbol": "version" + }, + "val": { + "u32": 1 + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "0" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + 518400 + ] + ], + [ + { + "contract_data": { + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "100000000" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + 518400 + ] + ], + [ + { + "contract_data": { + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": "stellar_asset", + "storage": [ + { + "key": { + "symbol": "METADATA" + }, + "val": { + "map": [ + { + "key": { + "symbol": "decimal" + }, + "val": { + "u32": 7 + } + }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "aaa:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V" + } + }, + { + "key": { + "symbol": "symbol" + }, + "val": { + "string": "aaa" + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "AssetInfo" + } + ] + }, + "val": { + "vec": [ + { + "symbol": "AlphaNum4" + }, + { + "map": [ + { + "key": { + "symbol": "asset_code" + }, + "val": { + "string": "aaa\\0" + } + }, + { + "key": { + "symbol": "issuer" + }, + "val": { + "bytes": "0000000000000000000000000000000000000000000000000000000000000003" + } + } + ] + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 120960 + ] + ], + [ + { + "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/app/onchain/contracts/aid_escrow/test_snapshots/set_delegate_is_rejected_when_delegate_equals_recipient.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/set_delegate_is_rejected_when_delegate_equals_recipient.1.json new file mode 100644 index 00000000..3ba1e8f3 --- /dev/null +++ b/app/onchain/contracts/aid_escrow/test_snapshots/set_delegate_is_rejected_when_delegate_equals_recipient.1.json @@ -0,0 +1,886 @@ +{ + "generators": { + "address": 5, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [ + [ + "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V", + { + "function": { + "contract_fn": { + "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "function_name": "set_admin", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "function_name": "mint", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "i128": "100000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "fund", + "args": [ + { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "i128": "100000000" + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": "100000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "create_package", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "i128": "10000000" + }, + { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + { + "u64": "2000" + }, + { + "map": [] + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [] + ], + "ledger": { + "protocol_version": 23, + "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": [ + [ + { + "account": { + "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "account": { + "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V", + "balance": "0", + "seq_num": "0", + "num_sub_entries": 0, + "inflation_dest": null, + "flags": 0, + "home_domain": "", + "thresholds": "01010101", + "signers": [], + "ext": "v0" + } + }, + "ext": "v0" + }, + null + ] + ], + [ + { + "contract_data": { + "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1033654523790656264" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1033654523790656264" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4837995959683129791" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4837995959683129791" + } + }, + "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": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "pidx" + }, + { + "u64": "0" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "pidx" + }, + { + "u64": "0" + } + ] + }, + "durability": "persistent", + "val": { + "u64": "1" + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "pkg" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "pkg" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "10000000" + } + }, + { + "key": { + "symbol": "claim_starts_at" + }, + "val": { + "u64": "1000" + } + }, + { + "key": { + "symbol": "created_at" + }, + "val": { + "u64": "1000" + } + }, + { + "key": { + "symbol": "expires_at" + }, + "val": { + "u64": "2000" + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "metadata" + }, + "val": { + "map": [] + } + }, + { + "key": { + "symbol": "recipient" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "token" + }, + "val": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + } + } + ] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "10000000" + } + } + ] + } + }, + { + "key": { + "symbol": "config" + }, + "val": { + "map": [ + { + "key": { + "symbol": "allowed_tokens" + }, + "val": { + "vec": [] + } + }, + { + "key": { + "symbol": "max_expires_in" + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "symbol": "min_amount" + }, + "val": { + "i128": "1" + } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } + } + ] + } + }, + { + "key": { + "symbol": "locked" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "10000000" + } + } + ] + } + }, + { + "key": { + "symbol": "pkg_cnt" + }, + "val": { + "u64": "2" + } + }, + { + "key": { + "symbol": "pkg_idx" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "version" + }, + "val": { + "u32": 1 + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "0" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + 518400 + ] + ], + [ + { + "contract_data": { + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "100000000" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + 518400 + ] + ], + [ + { + "contract_data": { + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": "stellar_asset", + "storage": [ + { + "key": { + "symbol": "METADATA" + }, + "val": { + "map": [ + { + "key": { + "symbol": "decimal" + }, + "val": { + "u32": 7 + } + }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "aaa:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V" + } + }, + { + "key": { + "symbol": "symbol" + }, + "val": { + "string": "aaa" + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "AssetInfo" + } + ] + }, + "val": { + "vec": [ + { + "symbol": "AlphaNum4" + }, + { + "map": [ + { + "key": { + "symbol": "asset_code" + }, + "val": { + "string": "aaa\\0" + } + }, + { + "key": { + "symbol": "issuer" + }, + "val": { + "bytes": "0000000000000000000000000000000000000000000000000000000000000003" + } + } + ] + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 120960 + ] + ], + [ + { + "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/app/onchain/contracts/aid_escrow/test_snapshots/set_delegate_rejects_expiry_in_the_past.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/set_delegate_rejects_expiry_in_the_past.1.json new file mode 100644 index 00000000..e7776b0e --- /dev/null +++ b/app/onchain/contracts/aid_escrow/test_snapshots/set_delegate_rejects_expiry_in_the_past.1.json @@ -0,0 +1,886 @@ +{ + "generators": { + "address": 6, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [ + [ + "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V", + { + "function": { + "contract_fn": { + "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "function_name": "set_admin", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "function_name": "mint", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "i128": "100000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "fund", + "args": [ + { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "i128": "100000000" + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": "100000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "create_package", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "i128": "10000000" + }, + { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + { + "u64": "2000" + }, + { + "map": [] + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [] + ], + "ledger": { + "protocol_version": 23, + "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": [ + [ + { + "account": { + "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "account": { + "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V", + "balance": "0", + "seq_num": "0", + "num_sub_entries": 0, + "inflation_dest": null, + "flags": 0, + "home_domain": "", + "thresholds": "01010101", + "signers": [], + "ext": "v0" + } + }, + "ext": "v0" + }, + null + ] + ], + [ + { + "contract_data": { + "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1033654523790656264" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1033654523790656264" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4837995959683129791" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4837995959683129791" + } + }, + "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": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "pidx" + }, + { + "u64": "0" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "pidx" + }, + { + "u64": "0" + } + ] + }, + "durability": "persistent", + "val": { + "u64": "1" + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "pkg" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "pkg" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "10000000" + } + }, + { + "key": { + "symbol": "claim_starts_at" + }, + "val": { + "u64": "1000" + } + }, + { + "key": { + "symbol": "created_at" + }, + "val": { + "u64": "1000" + } + }, + { + "key": { + "symbol": "expires_at" + }, + "val": { + "u64": "2000" + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "metadata" + }, + "val": { + "map": [] + } + }, + { + "key": { + "symbol": "recipient" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "token" + }, + "val": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + } + } + ] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "10000000" + } + } + ] + } + }, + { + "key": { + "symbol": "config" + }, + "val": { + "map": [ + { + "key": { + "symbol": "allowed_tokens" + }, + "val": { + "vec": [] + } + }, + { + "key": { + "symbol": "max_expires_in" + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "symbol": "min_amount" + }, + "val": { + "i128": "1" + } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } + } + ] + } + }, + { + "key": { + "symbol": "locked" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "10000000" + } + } + ] + } + }, + { + "key": { + "symbol": "pkg_cnt" + }, + "val": { + "u64": "2" + } + }, + { + "key": { + "symbol": "pkg_idx" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "version" + }, + "val": { + "u32": 1 + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "0" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + 518400 + ] + ], + [ + { + "contract_data": { + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "100000000" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + 518400 + ] + ], + [ + { + "contract_data": { + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": "stellar_asset", + "storage": [ + { + "key": { + "symbol": "METADATA" + }, + "val": { + "map": [ + { + "key": { + "symbol": "decimal" + }, + "val": { + "u32": 7 + } + }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "aaa:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V" + } + }, + { + "key": { + "symbol": "symbol" + }, + "val": { + "string": "aaa" + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "AssetInfo" + } + ] + }, + "val": { + "vec": [ + { + "symbol": "AlphaNum4" + }, + { + "map": [ + { + "key": { + "symbol": "asset_code" + }, + "val": { + "string": "aaa\\0" + } + }, + { + "key": { + "symbol": "issuer" + }, + "val": { + "bytes": "0000000000000000000000000000000000000000000000000000000000000003" + } + } + ] + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 120960 + ] + ], + [ + { + "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/app/onchain/contracts/aid_escrow/test_snapshots/set_delegate_replaces_previous_and_audits_both_assignments.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/set_delegate_replaces_previous_and_audits_both_assignments.1.json new file mode 100644 index 00000000..61ac4a3c --- /dev/null +++ b/app/onchain/contracts/aid_escrow/test_snapshots/set_delegate_replaces_previous_and_audits_both_assignments.1.json @@ -0,0 +1,1208 @@ +{ + "generators": { + "address": 7, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [ + [ + "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V", + { + "function": { + "contract_fn": { + "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "function_name": "set_admin", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "function_name": "mint", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "i128": "100000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "fund", + "args": [ + { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "i128": "100000000" + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": "100000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "create_package", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "i128": "10000000" + }, + { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + { + "u64": "2000" + }, + { + "map": [] + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "set_delegate", + "args": [ + { + "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "u64": "0" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "set_delegate", + "args": [ + { + "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + }, + { + "u64": "0" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [] + ], + "ledger": { + "protocol_version": 23, + "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": [ + [ + { + "account": { + "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "account": { + "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V", + "balance": "0", + "seq_num": "0", + "num_sub_entries": 0, + "inflation_dest": null, + "flags": 0, + "home_domain": "", + "thresholds": "01010101", + "signers": [], + "ext": "v0" + } + }, + "ext": "v0" + }, + null + ] + ], + [ + { + "contract_data": { + "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1033654523790656264" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1033654523790656264" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "2032731177588607455" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "2032731177588607455" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4270020994084947596" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4270020994084947596" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4837995959683129791" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4837995959683129791" + } + }, + "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": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgh" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgh" + }, + "durability": "persistent", + "val": { + "vec": [ + { + "map": [ + { + "key": { + "symbol": "changed_at" + }, + "val": { + "u64": "1000" + } + }, + { + "key": { + "symbol": "changed_by" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "new_delegate" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "symbol": "package_id" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "previous_delegate" + }, + "val": "void" + }, + { + "key": { + "symbol": "reason" + }, + "val": { + "string": "Admin delegate assignment" + } + } + ] + }, + { + "map": [ + { + "key": { + "symbol": "changed_at" + }, + "val": { + "u64": "1000" + } + }, + { + "key": { + "symbol": "changed_by" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "new_delegate" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + }, + { + "key": { + "symbol": "package_id" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "previous_delegate" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "symbol": "reason" + }, + "val": { + "string": "Admin delegate assignment" + } + } + ] + } + ] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "u64": "1" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + } + ] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "pidx" + }, + { + "u64": "0" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "pidx" + }, + { + "u64": "0" + } + ] + }, + "durability": "persistent", + "val": { + "u64": "1" + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "pkg" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "pkg" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "10000000" + } + }, + { + "key": { + "symbol": "claim_starts_at" + }, + "val": { + "u64": "1000" + } + }, + { + "key": { + "symbol": "created_at" + }, + "val": { + "u64": "1000" + } + }, + { + "key": { + "symbol": "expires_at" + }, + "val": { + "u64": "2000" + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "metadata" + }, + "val": { + "map": [] + } + }, + { + "key": { + "symbol": "recipient" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "token" + }, + "val": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + } + } + ] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "10000000" + } + } + ] + } + }, + { + "key": { + "symbol": "config" + }, + "val": { + "map": [ + { + "key": { + "symbol": "allowed_tokens" + }, + "val": { + "vec": [] + } + }, + { + "key": { + "symbol": "max_expires_in" + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "symbol": "min_amount" + }, + "val": { + "i128": "1" + } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } + } + ] + } + }, + { + "key": { + "symbol": "locked" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "10000000" + } + } + ] + } + }, + { + "key": { + "symbol": "pkg_cnt" + }, + "val": { + "u64": "2" + } + }, + { + "key": { + "symbol": "pkg_idx" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "version" + }, + "val": { + "u32": 1 + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "0" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + 518400 + ] + ], + [ + { + "contract_data": { + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "100000000" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + 518400 + ] + ], + [ + { + "contract_data": { + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": "stellar_asset", + "storage": [ + { + "key": { + "symbol": "METADATA" + }, + "val": { + "map": [ + { + "key": { + "symbol": "decimal" + }, + "val": { + "u32": 7 + } + }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "aaa:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V" + } + }, + { + "key": { + "symbol": "symbol" + }, + "val": { + "string": "aaa" + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "AssetInfo" + } + ] + }, + "val": { + "vec": [ + { + "symbol": "AlphaNum4" + }, + { + "map": [ + { + "key": { + "symbol": "asset_code" + }, + "val": { + "string": "aaa\\0" + } + }, + { + "key": { + "symbol": "issuer" + }, + "val": { + "bytes": "0000000000000000000000000000000000000000000000000000000000000003" + } + } + ] + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 120960 + ] + ], + [ + { + "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/app/onchain/contracts/aid_escrow/test_snapshots/stranger_cannot_claim.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/stranger_cannot_claim.1.json new file mode 100644 index 00000000..527d9a53 --- /dev/null +++ b/app/onchain/contracts/aid_escrow/test_snapshots/stranger_cannot_claim.1.json @@ -0,0 +1,885 @@ +{ + "generators": { + "address": 6, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [ + [ + "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V", + { + "function": { + "contract_fn": { + "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "function_name": "set_admin", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "function_name": "mint", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "i128": "100000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "fund", + "args": [ + { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "i128": "100000000" + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": "100000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "create_package", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "i128": "10000000" + }, + { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + { + "u64": "2000" + }, + { + "map": [] + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [] + ], + "ledger": { + "protocol_version": 23, + "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": [ + [ + { + "account": { + "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "account": { + "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V", + "balance": "0", + "seq_num": "0", + "num_sub_entries": 0, + "inflation_dest": null, + "flags": 0, + "home_domain": "", + "thresholds": "01010101", + "signers": [], + "ext": "v0" + } + }, + "ext": "v0" + }, + null + ] + ], + [ + { + "contract_data": { + "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1033654523790656264" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1033654523790656264" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4837995959683129791" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4837995959683129791" + } + }, + "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": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "pidx" + }, + { + "u64": "0" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "pidx" + }, + { + "u64": "0" + } + ] + }, + "durability": "persistent", + "val": { + "u64": "1" + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "pkg" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "pkg" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "10000000" + } + }, + { + "key": { + "symbol": "claim_starts_at" + }, + "val": { + "u64": "1000" + } + }, + { + "key": { + "symbol": "created_at" + }, + "val": { + "u64": "1000" + } + }, + { + "key": { + "symbol": "expires_at" + }, + "val": { + "u64": "2000" + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "metadata" + }, + "val": { + "map": [] + } + }, + { + "key": { + "symbol": "recipient" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "token" + }, + "val": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + } + } + ] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "10000000" + } + } + ] + } + }, + { + "key": { + "symbol": "config" + }, + "val": { + "map": [ + { + "key": { + "symbol": "allowed_tokens" + }, + "val": { + "vec": [] + } + }, + { + "key": { + "symbol": "max_expires_in" + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "symbol": "min_amount" + }, + "val": { + "i128": "1" + } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } + } + ] + } + }, + { + "key": { + "symbol": "locked" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "10000000" + } + } + ] + } + }, + { + "key": { + "symbol": "pkg_cnt" + }, + "val": { + "u64": "2" + } + }, + { + "key": { + "symbol": "pkg_idx" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "version" + }, + "val": { + "u32": 1 + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "0" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + 518400 + ] + ], + [ + { + "contract_data": { + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "100000000" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + 518400 + ] + ], + [ + { + "contract_data": { + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": "stellar_asset", + "storage": [ + { + "key": { + "symbol": "METADATA" + }, + "val": { + "map": [ + { + "key": { + "symbol": "decimal" + }, + "val": { + "u32": 7 + } + }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "aaa:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO6V" + } + }, + { + "key": { + "symbol": "symbol" + }, + "val": { + "string": "aaa" + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "AssetInfo" + } + ] + }, + "val": { + "vec": [ + { + "symbol": "AlphaNum4" + }, + { + "map": [ + { + "key": { + "symbol": "asset_code" + }, + "val": { + "string": "aaa\\0" + } + }, + { + "key": { + "symbol": "issuer" + }, + "val": { + "bytes": "0000000000000000000000000000000000000000000000000000000000000003" + } + } + ] + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 120960 + ] + ], + [ + { + "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/app/onchain/contracts/aid_escrow/test_snapshots/test_aggregates_all_claimed.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/test_aggregates_all_claimed.1.json index 1d4012f8..5ad38519 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/test_aggregates_all_claimed.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/test_aggregates_all_claimed.1.json @@ -179,6 +179,9 @@ "args": [ { "u64": "10" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" } ] } @@ -198,6 +201,9 @@ "args": [ { "u64": "11" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } ] } @@ -411,6 +417,68 @@ 6311999 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], [ { "contract_data": { @@ -785,6 +853,23 @@ ] } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "0" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -814,6 +899,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/test_aggregates_disburse_counts_as_claimed.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/test_aggregates_disburse_counts_as_claimed.1.json index 68f90d8d..58e891f5 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/test_aggregates_disburse_counts_as_claimed.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/test_aggregates_disburse_counts_as_claimed.1.json @@ -142,6 +142,9 @@ "args": [ { "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" } ] } @@ -444,6 +447,68 @@ 6311999 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], [ { "contract_data": { @@ -812,7 +877,24 @@ "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" }, "val": { - "i128": "10000000" + "i128": "30000000" + } + } + ] + } + }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "0" } } ] @@ -847,6 +929,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/test_aggregates_filters_by_token.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/test_aggregates_filters_by_token.1.json index 28d80784..05e9864d 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/test_aggregates_filters_by_token.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/test_aggregates_filters_by_token.1.json @@ -266,6 +266,9 @@ "args": [ { "u64": "2" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" } ] } @@ -729,6 +732,68 @@ 6311999 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], [ { "contract_data": { @@ -1266,6 +1331,31 @@ ] } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CCABDO7UZXYE4W6GVSEGSNNZTKSLFQGKXXQTH6OX7M7GKZ4Z6CUJNGZN" + }, + "val": { + "i128": "30000000" + } + }, + { + "key": { + "address": "CDLDVFKHEZ2RVB3NG4UQA4VPD3TSHV6XMHXMHP2BSGCJ2IIWVTOHGDSG" + }, + "val": { + "i128": "0" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -1295,6 +1385,31 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } + } + ] + } + }, + { + "key": { + "symbol": "expcan" + }, + "val": { + "map": [ + { + "key": { + "address": "CDLDVFKHEZ2RVB3NG4UQA4VPD3TSHV6XMHXMHP2BSGCJ2IIWVTOHGDSG" + }, + "val": { + "i128": "50000000" + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/test_aggregates_many_packages.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/test_aggregates_many_packages.1.json index 62030427..3336e92c 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/test_aggregates_many_packages.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/test_aggregates_many_packages.1.json @@ -142,6 +142,9 @@ "args": [ { "u64": "0" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" } ] } @@ -254,6 +257,9 @@ "args": [ { "u64": "2" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" } ] } @@ -366,6 +372,9 @@ "args": [ { "u64": "4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATYON" } ] } @@ -478,6 +487,9 @@ "args": [ { "u64": "6" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXI7N" } ] } @@ -590,6 +602,9 @@ "args": [ { "u64": "8" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2ZMN" } ] } @@ -1288,6 +1303,68 @@ 6311999 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], [ { "contract_data": { @@ -2966,6 +3043,23 @@ ] } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "0" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -2995,6 +3089,31 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } + } + ] + } + }, + { + "key": { + "symbol": "expcan" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "50000000" + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/test_aggregates_mixed_statuses.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/test_aggregates_mixed_statuses.1.json index 7589dbd4..c6cd0ba8 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/test_aggregates_mixed_statuses.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/test_aggregates_mixed_statuses.1.json @@ -179,6 +179,9 @@ "args": [ { "u64": "2" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } ] } @@ -636,6 +639,68 @@ 6311999 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], [ { "contract_data": { @@ -1336,6 +1401,23 @@ ] } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "10000000" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -1365,6 +1447,31 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } + } + ] + } + }, + { + "key": { + "symbol": "expcan" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "20000000" + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/test_aggregates_no_packages.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/test_aggregates_no_packages.1.json index 739617c2..e832bc4a 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/test_aggregates_no_packages.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/test_aggregates_no_packages.1.json @@ -293,6 +293,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/test_aggregates_revoke_then_refund.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/test_aggregates_revoke_then_refund.1.json index f5b8e4ba..cca9bc81 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/test_aggregates_revoke_then_refund.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/test_aggregates_revoke_then_refund.1.json @@ -601,6 +601,23 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "0" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -630,6 +647,31 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } + } + ] + } + }, + { + "key": { + "symbol": "expcan" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "40000000" + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/test_aggregates_single_created_package.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/test_aggregates_single_created_package.1.json index ce739c91..c7900855 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/test_aggregates_single_created_package.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/test_aggregates_single_created_package.1.json @@ -497,6 +497,23 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "20000000" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -526,6 +543,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/test_aggregates_unknown_token.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/test_aggregates_unknown_token.1.json index 53979164..2bb4c73d 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/test_aggregates_unknown_token.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/test_aggregates_unknown_token.1.json @@ -497,6 +497,23 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "10000000" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -526,6 +543,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/test_aggregates_update_after_transitions.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/test_aggregates_update_after_transitions.1.json index ac4cdebe..31da0771 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/test_aggregates_update_after_transitions.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/test_aggregates_update_after_transitions.1.json @@ -143,6 +143,9 @@ "args": [ { "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" } ] } @@ -323,6 +326,68 @@ 6311999 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], [ { "contract_data": { @@ -534,6 +599,23 @@ ] } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "0" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -563,6 +645,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/test_batch_create_packages_empty_arrays.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/test_batch_create_packages_empty_arrays.1.json index fa963207..0b92ba84 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/test_batch_create_packages_empty_arrays.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/test_batch_create_packages_empty_arrays.1.json @@ -225,6 +225,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/test_batch_create_packages_insufficient_funds.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/test_batch_create_packages_insufficient_funds.1.json index 27fc9fdb..beed3e84 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/test_batch_create_packages_insufficient_funds.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/test_batch_create_packages_insufficient_funds.1.json @@ -293,6 +293,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/test_batch_create_packages_mismatched_arrays.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/test_batch_create_packages_mismatched_arrays.1.json index 28fc8b14..980c4412 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/test_batch_create_packages_mismatched_arrays.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/test_batch_create_packages_mismatched_arrays.1.json @@ -159,6 +159,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/test_batch_create_packages_success.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/test_batch_create_packages_success.1.json index 24f7cec9..0c06a50a 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/test_batch_create_packages_success.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/test_batch_create_packages_success.1.json @@ -850,6 +850,23 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN" + }, + "val": { + "i128": "60000000" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -879,6 +896,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/test_batch_then_individual_no_id_collision.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/test_batch_then_individual_no_id_collision.1.json index 4f9f8b61..c0587a52 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/test_batch_then_individual_no_id_collision.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/test_batch_then_individual_no_id_collision.1.json @@ -911,6 +911,23 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN" + }, + "val": { + "i128": "30000000" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -940,6 +957,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/test_cancel_package_flow.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/test_cancel_package_flow.1.json index 5e1c20a7..6b37a6c8 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/test_cancel_package_flow.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/test_cancel_package_flow.1.json @@ -782,6 +782,23 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CCABDO7UZXYE4W6GVSEGSNNZTKSLFQGKXXQTH6OX7M7GKZ4Z6CUJNGZN" + }, + "val": { + "i128": "10000000" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -811,6 +828,31 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } + } + ] + } + }, + { + "key": { + "symbol": "expcan" + }, + "val": { + "map": [ + { + "key": { + "address": "CCABDO7UZXYE4W6GVSEGSNNZTKSLFQGKXXQTH6OX7M7GKZ4Z6CUJNGZN" + }, + "val": { + "i128": "10000000" + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/test_config_constraints_on_create_package.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/test_config_constraints_on_create_package.1.json index a118c2f6..cf055edb 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/test_config_constraints_on_create_package.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/test_config_constraints_on_create_package.1.json @@ -151,6 +151,14 @@ "val": { "i128": "50000000" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } @@ -460,6 +468,14 @@ "val": { "i128": "50000000" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/test_config_constraints_on_extend_expiration.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/test_config_constraints_on_extend_expiration.1.json index 4b56d910..1e94f222 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/test_config_constraints_on_extend_expiration.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/test_config_constraints_on_extend_expiration.1.json @@ -128,6 +128,14 @@ "val": { "i128": "10000000" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } @@ -574,6 +582,23 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "10000000" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -603,6 +628,14 @@ "val": { "i128": "10000000" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/test_core_accounting_invariants.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/test_core_accounting_invariants.1.json index ba3ad7c6..d43066bc 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/test_core_accounting_invariants.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/test_core_accounting_invariants.1.json @@ -144,6 +144,9 @@ "args": [ { "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" } ] } @@ -359,6 +362,68 @@ 6311999 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], [ { "contract_data": { @@ -570,6 +635,23 @@ ] } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CCABDO7UZXYE4W6GVSEGSNNZTKSLFQGKXXQTH6OX7M7GKZ4Z6CUJNGZN" + }, + "val": { + "i128": "0" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -599,6 +681,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/test_core_flow_fund_create_claim.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/test_core_flow_fund_create_claim.1.json index 07b57876..73e275f7 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/test_core_flow_fund_create_claim.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/test_core_flow_fund_create_claim.1.json @@ -144,6 +144,9 @@ "args": [ { "u64": "101" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" } ] } @@ -359,6 +362,68 @@ 6311999 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], [ { "contract_data": { @@ -570,6 +635,23 @@ ] } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CCABDO7UZXYE4W6GVSEGSNNZTKSLFQGKXXQTH6OX7M7GKZ4Z6CUJNGZN" + }, + "val": { + "i128": "0" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -599,6 +681,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/test_distributor_package_creation.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/test_distributor_package_creation.1.json index b2a339f4..6dda0066 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/test_distributor_package_creation.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/test_distributor_package_creation.1.json @@ -602,6 +602,23 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CDLDVFKHEZ2RVB3NG4UQA4VPD3TSHV6XMHXMHP2BSGCJ2IIWVTOHGDSG" + }, + "val": { + "i128": "10000000" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -631,6 +648,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/test_error_cases.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/test_error_cases.1.json index 5bbe2ccf..495021a6 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/test_error_cases.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/test_error_cases.1.json @@ -294,6 +294,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/test_escrow_funded_event.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/test_escrow_funded_event.1.json index beaf3e08..6bb65a54 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/test_escrow_funded_event.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/test_escrow_funded_event.1.json @@ -292,6 +292,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/test_expiry_and_refund.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/test_expiry_and_refund.1.json index 6b33c48b..5712bd0b 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/test_expiry_and_refund.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/test_expiry_and_refund.1.json @@ -552,6 +552,23 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CCABDO7UZXYE4W6GVSEGSNNZTKSLFQGKXXQTH6OX7M7GKZ4Z6CUJNGZN" + }, + "val": { + "i128": "0" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -581,6 +598,31 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } + } + ] + } + }, + { + "key": { + "symbol": "expcan" + }, + "val": { + "map": [ + { + "key": { + "address": "CCABDO7UZXYE4W6GVSEGSNNZTKSLFQGKXXQTH6OX7M7GKZ4Z6CUJNGZN" + }, + "val": { + "i128": "10000000" + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/test_extend_expiration_cancelled_package.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/test_extend_expiration_cancelled_package.1.json index 71474eb0..957ec49d 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/test_extend_expiration_cancelled_package.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/test_extend_expiration_cancelled_package.1.json @@ -549,6 +549,23 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "0" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -578,6 +595,31 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } + } + ] + } + }, + { + "key": { + "symbol": "expcan" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "10000000" + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/test_extend_expiration_claimed_package.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/test_extend_expiration_claimed_package.1.json index 5a3ace71..8b2aa393 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/test_extend_expiration_claimed_package.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/test_extend_expiration_claimed_package.1.json @@ -142,6 +142,9 @@ "args": [ { "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" } ] } @@ -322,6 +325,68 @@ 6311999 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], [ { "contract_data": { @@ -533,6 +598,23 @@ ] } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "0" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -562,6 +644,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/test_extend_expiration_expired_package.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/test_extend_expiration_expired_package.1.json index 23e40162..a99cdd41 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/test_extend_expiration_expired_package.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/test_extend_expiration_expired_package.1.json @@ -497,6 +497,23 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "10000000" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -526,6 +543,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/test_extend_expiration_multiple_extends.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/test_extend_expiration_multiple_extends.1.json index 2e372620..0335a6c6 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/test_extend_expiration_multiple_extends.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/test_extend_expiration_multiple_extends.1.json @@ -607,6 +607,23 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "10000000" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -636,6 +653,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/test_extend_expiration_success.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/test_extend_expiration_success.1.json index d11e8345..6469d808 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/test_extend_expiration_success.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/test_extend_expiration_success.1.json @@ -552,6 +552,23 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "10000000" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -581,6 +598,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/test_extend_expiration_unbounded_package.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/test_extend_expiration_unbounded_package.1.json index ac761f10..5564ce43 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/test_extend_expiration_unbounded_package.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/test_extend_expiration_unbounded_package.1.json @@ -497,6 +497,23 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "10000000" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -526,6 +543,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/test_extend_expiration_zero_additional_time.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/test_extend_expiration_zero_additional_time.1.json index fe4ac962..3f84fba8 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/test_extend_expiration_zero_additional_time.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/test_extend_expiration_zero_additional_time.1.json @@ -497,6 +497,23 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "10000000" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -526,6 +543,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/test_extend_expiry_rejects_non_increasing_expiry.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/test_extend_expiry_rejects_non_increasing_expiry.1.json index 221363d9..a300a3a1 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/test_extend_expiry_rejects_non_increasing_expiry.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/test_extend_expiry_rejects_non_increasing_expiry.1.json @@ -498,6 +498,23 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "10000000" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -527,6 +544,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/test_extend_expiry_success.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/test_extend_expiry_success.1.json index 6ad94623..ecfbe1db 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/test_extend_expiry_success.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/test_extend_expiry_success.1.json @@ -552,6 +552,23 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "10000000" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -581,6 +598,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/test_extended_event_records_old_and_new_expiry.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/test_extended_event_records_old_and_new_expiry.1.json index 990268e3..a68a62a6 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/test_extended_event_records_old_and_new_expiry.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/test_extended_event_records_old_and_new_expiry.1.json @@ -551,6 +551,23 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "10000000" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -580,6 +597,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/test_get_recipient_package_count_returns_multiple_packages.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/test_get_recipient_package_count_returns_multiple_packages.1.json index 7bc04676..bd8ac432 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/test_get_recipient_package_count_returns_multiple_packages.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/test_get_recipient_package_count_returns_multiple_packages.1.json @@ -730,6 +730,23 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CCABDO7UZXYE4W6GVSEGSNNZTKSLFQGKXXQTH6OX7M7GKZ4Z6CUJNGZN" + }, + "val": { + "i128": "20000000" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -759,6 +776,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/test_get_recipient_package_count_returns_zero_when_recipient_has_no_packages.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/test_get_recipient_package_count_returns_zero_when_recipient_has_no_packages.1.json index 8114d91d..ce8335f9 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/test_get_recipient_package_count_returns_zero_when_recipient_has_no_packages.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/test_get_recipient_package_count_returns_zero_when_recipient_has_no_packages.1.json @@ -79,6 +79,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/test_integration_flow.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/test_integration_flow.1.json index 080129b3..a3a98f10 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/test_integration_flow.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/test_integration_flow.1.json @@ -143,6 +143,9 @@ "args": [ { "u64": "0" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" } ] } @@ -357,6 +360,68 @@ 6311999 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], [ { "contract_data": { @@ -568,6 +633,23 @@ ] } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CCABDO7UZXYE4W6GVSEGSNNZTKSLFQGKXXQTH6OX7M7GKZ4Z6CUJNGZN" + }, + "val": { + "i128": "0" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -597,6 +679,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/test_migrate_admin_only.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/test_migrate_admin_only.1.json index 31036675..25023776 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/test_migrate_admin_only.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/test_migrate_admin_only.1.json @@ -183,6 +183,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/test_migrate_version_progression.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/test_migrate_version_progression.1.json index 53c0be7d..035990a0 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/test_migrate_version_progression.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/test_migrate_version_progression.1.json @@ -185,6 +185,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/test_multiple_packages.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/test_multiple_packages.1.json index 4a943679..a69c15f0 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/test_multiple_packages.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/test_multiple_packages.1.json @@ -731,6 +731,23 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CDLDVFKHEZ2RVB3NG4UQA4VPD3TSHV6XMHXMHP2BSGCJ2IIWVTOHGDSG" + }, + "val": { + "i128": "30000000" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -760,6 +777,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/test_package_claimed_event.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/test_package_claimed_event.1.json index 4f41dd3a..6ca9c7b0 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/test_package_claimed_event.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/test_package_claimed_event.1.json @@ -142,6 +142,9 @@ "args": [ { "u64": "0" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" } ] } @@ -354,6 +357,68 @@ 6311999 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], [ { "contract_data": { @@ -565,6 +630,23 @@ ] } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "0" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -594,6 +676,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/test_package_created_event.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/test_package_created_event.1.json index 357cca04..425aeb1c 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/test_package_created_event.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/test_package_created_event.1.json @@ -496,6 +496,23 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "10000000" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -525,6 +542,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/test_package_disbursed_event.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/test_package_disbursed_event.1.json index 75ee23d8..a61d2d59 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/test_package_disbursed_event.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/test_package_disbursed_event.1.json @@ -548,6 +548,40 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "symbol": "claimed" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "10000000" + } + } + ] + } + }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "0" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -577,6 +611,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/test_package_refunded_event.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/test_package_refunded_event.1.json index ef35446c..4761a248 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/test_package_refunded_event.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/test_package_refunded_event.1.json @@ -548,6 +548,23 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "0" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -577,6 +594,31 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } + } + ] + } + }, + { + "key": { + "symbol": "expcan" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "10000000" + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/test_package_revoked_event.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/test_package_revoked_event.1.json index 5d1b1292..54f27a8f 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/test_package_revoked_event.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/test_package_revoked_event.1.json @@ -548,6 +548,23 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "0" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -577,6 +594,31 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } + } + ] + } + }, + { + "key": { + "symbol": "expcan" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "10000000" + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/test_set_get_config.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/test_set_get_config.1.json index 9455d79d..67f9bbbe 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/test_set_get_config.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/test_set_get_config.1.json @@ -64,6 +64,14 @@ "val": { "i128": "10000000" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } @@ -244,6 +252,14 @@ "val": { "i128": "10000000" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/test_solvency_check.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/test_solvency_check.1.json index a112ff41..c395eb61 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/test_solvency_check.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/test_solvency_check.1.json @@ -498,6 +498,23 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CCABDO7UZXYE4W6GVSEGSNNZTKSLFQGKXXQTH6OX7M7GKZ4Z6CUJNGZN" + }, + "val": { + "i128": "10000000" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -527,6 +544,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/test_version_set_on_init.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/test_version_set_on_init.1.json index bdea95a6..f912c43d 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/test_version_set_on_init.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/test_version_set_on_init.1.json @@ -79,6 +79,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/test_view_package_status.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/test_view_package_status.1.json index 850a173f..7267216a 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/test_view_package_status.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/test_view_package_status.1.json @@ -144,6 +144,9 @@ "args": [ { "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" } ] } @@ -357,6 +360,68 @@ 6311999 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "symbol": "dlgexp" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "symbol": "dlgts" + }, + "durability": "persistent", + "val": { + "map": [] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], [ { "contract_data": { @@ -568,6 +633,23 @@ ] } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CCABDO7UZXYE4W6GVSEGSNNZTKSLFQGKXXQTH6OX7M7GKZ4Z6CUJNGZN" + }, + "val": { + "i128": "0" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -597,6 +679,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/test_withdraw_surplus_insufficient_surplus.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/test_withdraw_surplus_insufficient_surplus.1.json index 964f5037..583a22c7 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/test_withdraw_surplus_insufficient_surplus.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/test_withdraw_surplus_insufficient_surplus.1.json @@ -497,6 +497,23 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "80000000" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -526,6 +543,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/test_withdraw_surplus_invalid_amount.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/test_withdraw_surplus_invalid_amount.1.json index 5b9d72f3..64cfb735 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/test_withdraw_surplus_invalid_amount.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/test_withdraw_surplus_invalid_amount.1.json @@ -294,6 +294,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/test_withdraw_surplus_no_locked_funds.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/test_withdraw_surplus_no_locked_funds.1.json index 767a7781..1e41abfb 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/test_withdraw_surplus_no_locked_funds.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/test_withdraw_surplus_no_locked_funds.1.json @@ -352,6 +352,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/tests/test_action_specific_pause.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/tests/test_action_specific_pause.1.json index d52e6c68..de0d40d5 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/tests/test_action_specific_pause.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/tests/test_action_specific_pause.1.json @@ -246,6 +246,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/tests/test_cancel_package.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/tests/test_cancel_package.1.json index 973d915d..90274689 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/tests/test_cancel_package.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/tests/test_cancel_package.1.json @@ -417,6 +417,23 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CCABDO7UZXYE4W6GVSEGSNNZTKSLFQGKXXQTH6OX7M7GKZ4Z6CUJNGZN" + }, + "val": { + "i128": "0" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -446,6 +463,31 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } + } + ] + } + }, + { + "key": { + "symbol": "expcan" + }, + "val": { + "map": [ + { + "key": { + "address": "CCABDO7UZXYE4W6GVSEGSNNZTKSLFQGKXXQTH6OX7M7GKZ4Z6CUJNGZN" + }, + "val": { + "i128": "10000000" + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/tests/test_list_recipient_packages_few_packages.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/tests/test_list_recipient_packages_few_packages.1.json index 35692422..051b3578 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/tests/test_list_recipient_packages_few_packages.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/tests/test_list_recipient_packages_few_packages.1.json @@ -598,6 +598,23 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CCABDO7UZXYE4W6GVSEGSNNZTKSLFQGKXXQTH6OX7M7GKZ4Z6CUJNGZN" + }, + "val": { + "i128": "30000000" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -627,6 +644,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/tests/test_list_recipient_packages_pagination.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/tests/test_list_recipient_packages_pagination.1.json index 659adb35..57184577 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/tests/test_list_recipient_packages_pagination.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/tests/test_list_recipient_packages_pagination.1.json @@ -1198,6 +1198,23 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CCABDO7UZXYE4W6GVSEGSNNZTKSLFQGKXXQTH6OX7M7GKZ4Z6CUJNGZN" + }, + "val": { + "i128": "50000000" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -1227,6 +1244,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/token_decimal_normalization/fails_with_precision_breaking_amount.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/token_decimal_normalization/fails_with_precision_breaking_amount.1.json index afd6f75d..1606c5f0 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/token_decimal_normalization/fails_with_precision_breaking_amount.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/token_decimal_normalization/fails_with_precision_breaking_amount.1.json @@ -60,6 +60,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } @@ -291,6 +299,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/token_decimal_normalization/succeeds_with_whole_token_amounts.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/token_decimal_normalization/succeeds_with_whole_token_amounts.1.json index fe5bdbdc..04e65bc5 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/token_decimal_normalization/succeeds_with_whole_token_amounts.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/token_decimal_normalization/succeeds_with_whole_token_amounts.1.json @@ -60,6 +60,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } @@ -494,6 +502,23 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "10000000" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -523,6 +548,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/token_interactions/claim_keeps_accounting_unchanged_when_token_transfer_reverts.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/token_interactions/claim_keeps_accounting_unchanged_when_token_transfer_reverts.1.json index 444ba0ae..873aa8f5 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/token_interactions/claim_keeps_accounting_unchanged_when_token_transfer_reverts.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/token_interactions/claim_keeps_accounting_unchanged_when_token_transfer_reverts.1.json @@ -60,6 +60,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } @@ -520,6 +528,23 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "symbol": "cmt" + }, + "val": { + "map": [ + { + "key": { + "address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF" + }, + "val": { + "i128": "10000000" + } + } + ] + } + }, { "key": { "symbol": "config" @@ -549,6 +574,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/token_interactions/create_package_rejects_invalid_token_address.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/token_interactions/create_package_rejects_invalid_token_address.1.json index 0d2c5dbf..f54045cd 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/token_interactions/create_package_rejects_invalid_token_address.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/token_interactions/create_package_rejects_invalid_token_address.1.json @@ -60,6 +60,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } @@ -237,6 +245,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/token_interactions/fund_maps_reverted_token_transfer_to_clear_contract_error.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/token_interactions/fund_maps_reverted_token_transfer_to_clear_contract_error.1.json index 01f66aad..798926cd 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/token_interactions/fund_maps_reverted_token_transfer_to_clear_contract_error.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/token_interactions/fund_maps_reverted_token_transfer_to_clear_contract_error.1.json @@ -60,6 +60,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } @@ -236,6 +244,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/test_snapshots/token_interactions/set_config_rejects_invalid_allowed_token_address.1.json b/app/onchain/contracts/aid_escrow/test_snapshots/token_interactions/set_config_rejects_invalid_allowed_token_address.1.json index 89ed54d0..11a4ef4e 100644 --- a/app/onchain/contracts/aid_escrow/test_snapshots/token_interactions/set_config_rejects_invalid_allowed_token_address.1.json +++ b/app/onchain/contracts/aid_escrow/test_snapshots/token_interactions/set_config_rejects_invalid_allowed_token_address.1.json @@ -60,6 +60,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } @@ -237,6 +245,14 @@ "val": { "i128": "1" } + }, + { + "key": { + "symbol": "min_decimals" + }, + "val": { + "u32": 0 + } } ] } diff --git a/app/onchain/contracts/aid_escrow/tests/aggregates.rs b/app/onchain/contracts/aid_escrow/tests/aggregates.rs index a429f1fb..aefbc736 100644 --- a/app/onchain/contracts/aid_escrow/tests/aggregates.rs +++ b/app/onchain/contracts/aid_escrow/tests/aggregates.rs @@ -122,7 +122,7 @@ fn test_aggregates_mixed_statuses() { &expiry, &metadata, ); - client.claim(&2); + client.claim(&2, &r2); // P3: Cancelled (10M) client.create_package( @@ -185,8 +185,8 @@ fn test_aggregates_all_claimed() { &Map::new(&env), ); - client.claim(&10); - client.claim(&11); + client.claim(&10, &r1); + client.claim(&11, &r2); let agg = client.get_aggregates(&token_client.address); assert_eq!(agg.total_committed, 0); @@ -235,7 +235,7 @@ fn test_aggregates_filters_by_token() { &expiry, &Map::new(&env), ); - client.claim(&2); + client.claim(&2, &r1); // Token B: 50M cancelled client.create_package( @@ -275,7 +275,7 @@ fn test_aggregates_disburse_counts_as_claimed() { &expiry, &Map::new(&env), ); - client.claim(&1); + client.claim(&1, &r1); client.create_package( &admin, @@ -312,7 +312,7 @@ fn test_aggregates_many_packages() { &Map::new(&env), ); if i % 2 == 0 { - client.claim(&i); + client.claim(&i, &r); } else { client.cancel_package(&i); } @@ -346,7 +346,7 @@ fn test_aggregates_update_after_transitions() { 30_000_000 ); - client.claim(&1); + client.claim(&1, &r); let agg = client.get_aggregates(&token_client.address); assert_eq!(agg.total_committed, 0); assert_eq!(agg.total_claimed, 30_000_000); diff --git a/app/onchain/contracts/aid_escrow/tests/aid_escrow_tests.rs b/app/onchain/contracts/aid_escrow/tests/aid_escrow_tests.rs index 507553b8..74aeec03 100644 --- a/app/onchain/contracts/aid_escrow/tests/aid_escrow_tests.rs +++ b/app/onchain/contracts/aid_escrow/tests/aid_escrow_tests.rs @@ -264,7 +264,7 @@ mod token_interactions { t.token_sac.burn(&t.client.address, &ONE_TOKEN); - let result = t.client.try_claim(&id); + let result = t.client.try_claim(&id, &recipient); assert_eq!(result, Err(Ok(Error::TokenTransferFailed))); assert_eq!(t.client.get_package(&id).status, PackageStatus::Created); @@ -303,7 +303,7 @@ mod claim { let recipient = Address::generate(&t.env); let id = t.create_default_package(&recipient, TWO_TOKENS); - t.client.claim(&id); + t.client.claim(&id, &recipient); let pkg = t.client.get_package(&id); assert_eq!(pkg.status, PackageStatus::Claimed); @@ -314,9 +314,10 @@ mod claim { #[test] fn fails_when_package_is_expired() { let t = TestSetup::new(); - let id = t.create_default_package(&Address::generate(&t.env), ONE_TOKEN); + let recipient = Address::generate(&t.env); + let id = t.create_default_package(&recipient, ONE_TOKEN); t.advance_time(3601); - let result = t.client.try_claim(&id); + let result = t.client.try_claim(&id, &recipient); assert_eq!(result, Err(Ok(Error::PackageExpired))); } @@ -342,11 +343,11 @@ mod claim { &metadata, ); // Try to claim before claim_starts_at - let result = t.client.try_claim(&id); + let result = t.client.try_claim(&id, &recipient); assert_eq!(result, Err(Ok(Error::ClaimTooEarly))); // Advance to claim_starts_at t.advance_time(1000); - let result2 = t.client.try_claim(&id); + let result2 = t.client.try_claim(&id, &recipient); assert!(result2.is_ok()); } @@ -373,11 +374,11 @@ mod claim { &metadata, ); // Try to claim before claim_starts_at - let result = t.client.try_claim(&id); + let result = t.client.try_claim(&id, &recipient); assert_eq!(result, Err(Ok(Error::ClaimTooEarly))); // Advance to claim_starts_at (== expires_at) t.advance_time(1000); - let result2 = t.client.try_claim(&id); + let result2 = t.client.try_claim(&id, &recipient); // Should succeed (allowed to claim at expiry boundary) assert!(result2.is_ok()); } @@ -388,7 +389,7 @@ mod claim { let recipient = Address::generate(&t.env); let id = t.create_default_package(&recipient, ONE_TOKEN); // Should be claimable immediately - let result = t.client.try_claim(&id); + let result = t.client.try_claim(&id, &recipient); assert!(result.is_ok()); } @@ -418,7 +419,7 @@ mod claim { ); // Direct claim path should reject Merkle-protected package. - let direct = t.client.try_claim(&id); + let direct = t.client.try_claim(&id, &claimant); assert_eq!(direct, Err(Ok(Error::InvalidProof))); let proof: Vec = Vec::new(&t.env); @@ -591,7 +592,7 @@ mod edge_cases { ); assert_eq!(r2, Err(Ok(Error::InsufficientFunds))); - t.client.claim(&1u64); // Release lock + t.client.claim(&1u64, &recipient); // Release lock t.fund_contract(ONE_TOKEN); // Refill let r3 = t.client.try_create_package( diff --git a/app/onchain/contracts/aid_escrow/tests/boundary_validation_tests.rs b/app/onchain/contracts/aid_escrow/tests/boundary_validation_tests.rs index 41fc84f8..0ae10df3 100644 --- a/app/onchain/contracts/aid_escrow/tests/boundary_validation_tests.rs +++ b/app/onchain/contracts/aid_escrow/tests/boundary_validation_tests.rs @@ -127,7 +127,7 @@ mod claim_start_boundaries { // Try to claim 1 second before claim_starts_at t.set_timestamp(claim_starts_at - 1); - let result = t.client.try_claim(&id); + let result = t.client.try_claim(&id, &recipient); assert_eq!(result, Err(Ok(Error::ClaimTooEarly))); // Verify package status is still Created (not auto-expired) @@ -147,7 +147,7 @@ mod claim_start_boundaries { // Claim at exact claim_starts_at t.set_timestamp(claim_starts_at); - let result = t.client.try_claim(&id); + let result = t.client.try_claim(&id, &recipient); assert!(result.is_ok()); // Verify package status is Claimed @@ -167,7 +167,7 @@ mod claim_start_boundaries { // Claim 1 second after claim_starts_at t.set_timestamp(claim_starts_at + 1); - let result = t.client.try_claim(&id); + let result = t.client.try_claim(&id, &recipient); assert!(result.is_ok()); // Verify package status is Claimed @@ -195,7 +195,7 @@ mod expiry_boundaries { // Claim 1 second before expires_at t.set_timestamp(expires_at - 1); - let result = t.client.try_claim(&id); + let result = t.client.try_claim(&id, &recipient); assert!(result.is_ok()); // Verify package status is Claimed @@ -215,7 +215,7 @@ mod expiry_boundaries { // Claim at exact expires_at t.set_timestamp(expires_at); - let result = t.client.try_claim(&id); + let result = t.client.try_claim(&id, &recipient); assert!(result.is_ok()); // Verify package status is Claimed @@ -235,7 +235,7 @@ mod expiry_boundaries { // Try to claim 1 second after expires_at t.set_timestamp(expires_at + 1); - let result = t.client.try_claim(&id); + let result = t.client.try_claim(&id, &recipient); assert_eq!(result, Err(Ok(Error::PackageExpired))); // Verify package status remains Created (not auto-updated) @@ -255,7 +255,7 @@ mod expiry_boundaries { // Try to claim 1000 seconds after expires_at t.set_timestamp(expires_at + 1000); - let result = t.client.try_claim(&id); + let result = t.client.try_claim(&id, &recipient); assert_eq!(result, Err(Ok(Error::PackageExpired))); // Verify package status remains Created (not auto-updated) @@ -283,7 +283,7 @@ mod combined_boundaries { // Try to claim before the boundary t.set_timestamp(boundary_time - 1); - let result = t.client.try_claim(&id); + let result = t.client.try_claim(&id, &recipient); assert_eq!(result, Err(Ok(Error::ClaimTooEarly))); // Verify package status is still Created @@ -303,7 +303,7 @@ mod combined_boundaries { // Claim at the exact boundary t.set_timestamp(boundary_time); - let result = t.client.try_claim(&id); + let result = t.client.try_claim(&id, &recipient); assert!(result.is_ok()); // Verify package status is Claimed @@ -323,7 +323,7 @@ mod combined_boundaries { // Try to claim after the boundary t.set_timestamp(boundary_time + 1); - let result = t.client.try_claim(&id); + let result = t.client.try_claim(&id, &recipient); assert_eq!(result, Err(Ok(Error::PackageExpired))); // Verify package status remains Created (not auto-updated) @@ -343,7 +343,7 @@ mod combined_boundaries { // Claim at start - should succeed t.set_timestamp(claim_starts_at); - let result = t.client.try_claim(&id); + let result = t.client.try_claim(&id, &recipient); assert!(result.is_ok()); } @@ -410,7 +410,7 @@ mod late_claim_behavior { t.set_timestamp(expires_at + 10); // First late claim attempt - should fail with PackageExpired - let result1 = t.client.try_claim(&id); + let result1 = t.client.try_claim(&id, &recipient); assert_eq!(result1, Err(Ok(Error::PackageExpired))); // Verify status remains Created (not auto-updated) @@ -418,7 +418,7 @@ mod late_claim_behavior { assert_eq!(pkg1.status, PackageStatus::Created); // Second late claim attempt - should still fail with PackageExpired - let result2 = t.client.try_claim(&id); + let result2 = t.client.try_claim(&id, &recipient); assert_eq!(result2, Err(Ok(Error::PackageExpired))); // Verify status still remains Created @@ -438,7 +438,7 @@ mod late_claim_behavior { // Advance past expiry and claim t.set_timestamp(expires_at + 10); - let result1 = t.client.try_claim(&id); + let result1 = t.client.try_claim(&id, &recipient); assert_eq!(result1, Err(Ok(Error::PackageExpired))); // Verify status remains Created @@ -449,7 +449,7 @@ mod late_claim_behavior { t.set_timestamp(claim_starts_at + 50); // Should succeed because status is still Created - let result2 = t.client.try_claim(&id); + let result2 = t.client.try_claim(&id, &recipient); assert!(result2.is_ok()); // Verify status is now Claimed @@ -516,7 +516,7 @@ mod edge_cases { t.set_timestamp(now + 1_000_000); // Should still be claimable - let result = t.client.try_claim(&id); + let result = t.client.try_claim(&id, &recipient); assert!(result.is_ok()); let pkg = t.client.get_package(&id); diff --git a/app/onchain/contracts/aid_escrow/tests/core_flow_tests.rs b/app/onchain/contracts/aid_escrow/tests/core_flow_tests.rs index 3bf73ba0..78f1fe5d 100644 --- a/app/onchain/contracts/aid_escrow/tests/core_flow_tests.rs +++ b/app/onchain/contracts/aid_escrow/tests/core_flow_tests.rs @@ -62,7 +62,7 @@ fn test_core_flow_fund_create_claim() { assert_eq!(pkg.amount, UNIT); // 4. Claim - client.claim(&pkg_id); + client.claim(&pkg_id, &recipient); // Check Final State let pkg_claimed = client.get_package(&pkg_id); @@ -163,7 +163,7 @@ fn test_expiry_and_refund() { env.ledger().set_timestamp(expiry + 1); // Recipient tries to claim -> Should Fail (Auto-expires) - let claim_res = client.try_claim(&pkg_id); + let claim_res = client.try_claim(&pkg_id, &recipient); assert_eq!(claim_res, Err(Ok(Error::PackageExpired))); // Admin refunds diff --git a/app/onchain/contracts/aid_escrow/tests/delegate_tests.rs b/app/onchain/contracts/aid_escrow/tests/delegate_tests.rs new file mode 100644 index 00000000..203f83a6 --- /dev/null +++ b/app/onchain/contracts/aid_escrow/tests/delegate_tests.rs @@ -0,0 +1,330 @@ +#![cfg(test)] + +//! Integration tests for the delegate / recovery claim path (issue #422). +//! +//! Coverage maps to the issue's acceptance criteria: +//! - a registered, unexpired delegate can authorise a claim and the package +//! transitions to `Claimed` exactly once +//! - a delegate cannot claim an expired package, a `Claimed` package, or a +//! package after the delegate's own `expires_at` +//! - `set_delegate` is rejected for `Claimed` packages and when the delegate +//! equals the recipient +//! - history/audit records are readable via `get_delegate_history` + +use aid_escrow::{AidEscrow, AidEscrowClient, DelegateHistory, Error, PackageStatus}; +use soroban_sdk::{ + testutils::{Address as _, Ledger}, + token::{StellarAssetClient, TokenClient}, + Address, Env, Map, Vec, +}; + +// Standard Stellar Asset decimals is 7. The contract requires whole-token +// amounts (multiples of 10^7). +const UNIT: i128 = 10_000_000; + +const START_TIME: u64 = 1000; + +struct TestCtx { + env: Env, + client: AidEscrowClient<'static>, + token: Address, + admin: Address, +} + +fn setup() -> TestCtx { + let env = Env::default(); + env.ledger().set_timestamp(START_TIME); + env.mock_all_auths(); + + let admin = Address::generate(&env); + let token_admin = Address::generate(&env); + let token_contract = env.register_stellar_asset_contract_v2(token_admin.clone()); + let token = token_contract.address(); + let token_admin_client = StellarAssetClient::new(&env, &token); + + let contract_id = env.register(AidEscrow, ()); + let client = AidEscrowClient::new(&env, &contract_id); + + client.init(&admin); + token_admin_client.mint(&admin, &(10 * UNIT)); + client.fund(&token, &admin, &(10 * UNIT)); + + TestCtx { + env, + client, + token, + admin, + } +} + +impl TestCtx { + fn create_package(&self, recipient: &Address) -> u64 { + let id = 1u64; + let res = self.client.create_package( + &self.admin, + &id, + recipient, + &UNIT, + &self.token, + &(START_TIME + 1000), + &Map::new(&self.env), + ); + assert_eq!(res, id); + id + } +} + +#[test] +fn registered_unexpired_delegate_can_claim_on_behalf_of_recipient() { + let t = setup(); + let recipient = Address::generate(&t.env); + let delegate = Address::generate(&t.env); + let id = t.create_package(&recipient); + + // Delegate expires well after the package would, so any failure below is + // attributable to the claim path, not delegate expiry. + t.client.set_delegate(&id, &delegate, &(START_TIME + 500)); + assert_eq!(t.client.get_delegate(&id), Some(delegate.clone())); + + // The delegate authorises the claim; funds still pay out to the recipient. + t.client.claim(&id, &delegate); + + let pkg = t.client.get_package(&id); + assert_eq!(pkg.status, PackageStatus::Claimed); + assert_eq!(TokenClient::new(&t.env, &t.token).balance(&recipient), UNIT); + + // The delegate is cleared on claim and the removal is audited. + assert_eq!(t.client.get_delegate(&id), None); + let history: Vec = t.client.get_delegate_history(&id); + assert_eq!(history.len(), 2); + assert_eq!(history.get(0).unwrap().new_delegate, Some(delegate.clone())); + assert_eq!( + history.get(0).unwrap().reason, + soroban_sdk::String::from_str(&t.env, "Admin delegate assignment") + ); + assert_eq!(history.get(1).unwrap().new_delegate, None); + assert_eq!(history.get(1).unwrap().changed_by, delegate); + assert_eq!( + history.get(1).unwrap().reason, + soroban_sdk::String::from_str(&t.env, "Delegate cleared after claim") + ); +} + +#[test] +fn recipient_can_still_claim_without_a_delegate() { + let t = setup(); + let recipient = Address::generate(&t.env); + let id = t.create_package(&recipient); + + assert_eq!(t.client.get_delegate(&id), None); + t.client.claim(&id, &recipient); + + assert_eq!(t.client.get_package(&id).status, PackageStatus::Claimed); + // No delegate was ever set, so no audit records were written. + assert_eq!(t.client.get_delegate_history(&id).len(), 0); +} + +#[test] +fn package_transitions_to_claimed_exactly_once() { + let t = setup(); + let recipient = Address::generate(&t.env); + let delegate = Address::generate(&t.env); + let id = t.create_package(&recipient); + + t.client.set_delegate(&id, &delegate, &0); + t.client.claim(&id, &delegate); + + // A second claim — by the recipient or the delegate — must fail. + let by_recipient = t.client.try_claim(&id, &recipient); + assert_eq!(by_recipient, Err(Ok(Error::PackageNotActive))); + let by_delegate = t.client.try_claim(&id, &delegate); + assert_eq!(by_delegate, Err(Ok(Error::PackageNotActive))); +} + +#[test] +fn delegate_cannot_claim_an_expired_package() { + let t = setup(); + let recipient = Address::generate(&t.env); + let delegate = Address::generate(&t.env); + let id = t.create_package(&recipient); + + // Package expires at START_TIME + 1000; delegate lasts longer. + t.client.set_delegate(&id, &delegate, &(START_TIME + 5000)); + t.env.ledger().set_timestamp(START_TIME + 1001); + + let res = t.client.try_claim(&id, &delegate); + assert_eq!(res, Err(Ok(Error::PackageExpired))); + assert_eq!(t.client.get_package(&id).status, PackageStatus::Created); +} + +#[test] +fn delegate_cannot_claim_after_own_expiry() { + let t = setup(); + let recipient = Address::generate(&t.env); + let delegate = Address::generate(&t.env); + let id = t.create_package(&recipient); + + // Delegate expires at START_TIME + 500, before the package does. + t.client.set_delegate(&id, &delegate, &(START_TIME + 500)); + + // Still authorised before the delegate deadline. + t.env.ledger().set_timestamp(START_TIME + 499); + assert_eq!(t.client.get_delegate(&id), Some(delegate.clone())); + + // After the delegate deadline the stored delegate is treated as absent. + t.env.ledger().set_timestamp(START_TIME + 501); + assert_eq!(t.client.get_delegate(&id), None); + let res = t.client.try_claim(&id, &delegate); + assert_eq!(res, Err(Ok(Error::NotAuthorized))); +} + +#[test] +fn delegate_cannot_claim_after_recipient_already_claimed() { + let t = setup(); + let recipient = Address::generate(&t.env); + let delegate = Address::generate(&t.env); + let id = t.create_package(&recipient); + + t.client.set_delegate(&id, &delegate, &0); + t.client.claim(&id, &recipient); + + let res = t.client.try_claim(&id, &delegate); + assert_eq!(res, Err(Ok(Error::PackageNotActive))); +} + +#[test] +fn stranger_cannot_claim() { + let t = setup(); + let recipient = Address::generate(&t.env); + let stranger = Address::generate(&t.env); + let id = t.create_package(&recipient); + + let res = t.client.try_claim(&id, &stranger); + assert_eq!(res, Err(Ok(Error::NotAuthorized))); +} + +#[test] +fn set_delegate_is_rejected_for_claimed_packages() { + let t = setup(); + let recipient = Address::generate(&t.env); + let delegate = Address::generate(&t.env); + let id = t.create_package(&recipient); + + t.client.claim(&id, &recipient); + + let res = t.client.try_set_delegate(&id, &delegate, &0); + assert_eq!(res, Err(Ok(Error::PackageNotActive))); +} + +#[test] +fn set_delegate_is_rejected_when_delegate_equals_recipient() { + let t = setup(); + let recipient = Address::generate(&t.env); + let id = t.create_package(&recipient); + + let res = t.client.try_set_delegate(&id, &recipient, &0); + assert_eq!(res, Err(Ok(Error::InvalidState))); + assert_eq!(t.client.get_delegate(&id), None); +} + +#[test] +fn set_delegate_is_rejected_for_missing_package() { + let t = setup(); + let delegate = Address::generate(&t.env); + + let res = t.client.try_set_delegate(&9999, &delegate, &0); + assert_eq!(res, Err(Ok(Error::PackageNotFound))); +} + +#[test] +fn set_delegate_rejects_expiry_in_the_past() { + let t = setup(); + let recipient = Address::generate(&t.env); + let delegate = Address::generate(&t.env); + let id = t.create_package(&recipient); + + let res = t.client.try_set_delegate(&id, &delegate, &(START_TIME - 1)); + assert_eq!(res, Err(Ok(Error::InvalidState))); + assert_eq!(t.client.get_delegate(&id), None); +} + +#[test] +fn set_delegate_replaces_previous_and_audits_both_assignments() { + let t = setup(); + let recipient = Address::generate(&t.env); + let delegate1 = Address::generate(&t.env); + let delegate2 = Address::generate(&t.env); + let id = t.create_package(&recipient); + + t.client.set_delegate(&id, &delegate1, &0); + t.client.set_delegate(&id, &delegate2, &0); + + assert_eq!(t.client.get_delegate(&id), Some(delegate2.clone())); + assert_eq!( + t.client.get_delegate_info(&id), + Some((delegate2.clone(), None)) + ); + + let history = t.client.get_delegate_history(&id); + assert_eq!(history.len(), 2); + assert_eq!(history.get(0).unwrap().previous_delegate, None); + assert_eq!( + history.get(0).unwrap().new_delegate, + Some(delegate1.clone()) + ); + assert_eq!( + history.get(1).unwrap().previous_delegate, + Some(delegate1.clone()) + ); + assert_eq!(history.get(1).unwrap().new_delegate, Some(delegate2)); +} + +#[test] +fn re_setting_without_expiry_drops_the_old_deadline() { + let t = setup(); + let recipient = Address::generate(&t.env); + let delegate = Address::generate(&t.env); + let id = t.create_package(&recipient); + + t.client.set_delegate(&id, &delegate, &(START_TIME + 500)); + // Re-set without an expiry: the old deadline must not linger. + t.client.set_delegate(&id, &delegate, &0); + + t.env.ledger().set_timestamp(START_TIME + 600); + assert_eq!(t.client.get_delegate(&id), Some(delegate.clone())); + let res = t.client.try_claim(&id, &delegate); + assert!(res.is_ok()); +} + +#[test] +fn cleanup_expired_delegates_removes_only_expired_entries() { + let t = setup(); + let recipient = Address::generate(&t.env); + let delegate1 = Address::generate(&t.env); + let delegate2 = Address::generate(&t.env); + let id1 = t.create_package(&recipient); + let id2 = { + let res = t.client.create_package( + &t.admin, + &2u64, + &recipient, + &UNIT, + &t.token, + &(START_TIME + 1000), + &Map::new(&t.env), + ); + assert_eq!(res, 2); + 2u64 + }; + + t.client.set_delegate(&id1, &delegate1, &(START_TIME + 50)); + t.client + .set_delegate(&id2, &delegate2, &(START_TIME + 5000)); + + t.env.ledger().set_timestamp(START_TIME + 100); + + let cleaned = t.client.cleanup_expired_delegates(); + assert_eq!(cleaned, 1); + assert_eq!(t.client.get_delegate(&id1), None); + assert_eq!(t.client.get_delegate(&id2), Some(delegate2)); +} diff --git a/app/onchain/contracts/aid_escrow/tests/events.rs b/app/onchain/contracts/aid_escrow/tests/events.rs index 08d09ddb..09e8f078 100644 --- a/app/onchain/contracts/aid_escrow/tests/events.rs +++ b/app/onchain/contracts/aid_escrow/tests/events.rs @@ -156,7 +156,7 @@ fn test_package_claimed_event() { &(env.ledger().timestamp() + 86400), &Map::new(&env), ); - client.claim(&0u64); + client.claim(&0u64, &recipient); let data = last_event_data(&env, &contract_id, "package_claimed"); assert_eq!(data_u64(&env, &data, "package_id"), 0); diff --git a/app/onchain/contracts/aid_escrow/tests/gas_profiling.rs b/app/onchain/contracts/aid_escrow/tests/gas_profiling.rs index 2228b751..025fdbc2 100644 --- a/app/onchain/contracts/aid_escrow/tests/gas_profiling.rs +++ b/app/onchain/contracts/aid_escrow/tests/gas_profiling.rs @@ -276,7 +276,7 @@ fn profile_single_claim() { let before = capture_budget(&env); // Claim package - client.claim(&package_id_new); + client.claim(&package_id_new, &recipient_new); // Capture final budget let after = capture_budget(&env); diff --git a/app/onchain/contracts/aid_escrow/tests/integration.rs b/app/onchain/contracts/aid_escrow/tests/integration.rs index 6ef77772..33656f1f 100644 --- a/app/onchain/contracts/aid_escrow/tests/integration.rs +++ b/app/onchain/contracts/aid_escrow/tests/integration.rs @@ -49,7 +49,7 @@ fn test_integration_flow() { assert_eq!(package.amount, UNIT); assert_eq!(package.status, PackageStatus::Created); - client.claim(&pkg_id); + client.claim(&pkg_id, &recipient); assert_eq!(token_client.balance(&recipient), UNIT); assert_eq!(token_client.balance(&contract_id), 4 * UNIT); } @@ -119,7 +119,7 @@ fn test_error_cases() { assert_eq!(res1, Err(Ok(Error::InvalidAmount))); // Case 2: Package not found - let res2 = client.try_claim(&999); + let res2 = client.try_claim(&999, &admin); assert_eq!(res2, Err(Ok(Error::PackageNotFound))); } @@ -371,16 +371,17 @@ fn test_extend_expiration_claimed_package() { token_admin_client.mint(&admin, &UNIT); client.fund(&token_client.address, &admin, &UNIT); + let recipient = Address::generate(&env); client.create_package( &admin, &1, - &Address::generate(&env), + &recipient, &UNIT, &token_client.address, &9999999, &Map::new(&env), ); - client.claim(&1); + client.claim(&1, &recipient); assert_eq!( client.try_extend_expiration(&1, &10), Err(Ok(Error::PackageNotActive)) diff --git a/app/onchain/contracts/aid_escrow/tests/invariant_tests.rs b/app/onchain/contracts/aid_escrow/tests/invariant_tests.rs index 7208ba81..cee9e4e2 100644 --- a/app/onchain/contracts/aid_escrow/tests/invariant_tests.rs +++ b/app/onchain/contracts/aid_escrow/tests/invariant_tests.rs @@ -53,7 +53,7 @@ fn test_core_accounting_invariants() { assert!(balance >= locked, "Contract must be solvent"); // 3. Claim Invariant: Total Claimed + Current Balance == Total Funded - client.claim(&1); + client.claim(&1, &recipient); let total_claimed = client.get_total_claimed(&token_address); diff --git a/app/onchain/contracts/aid_escrow/tests/invariants.rs b/app/onchain/contracts/aid_escrow/tests/invariants.rs index f2d1112f..85141fbd 100644 --- a/app/onchain/contracts/aid_escrow/tests/invariants.rs +++ b/app/onchain/contracts/aid_escrow/tests/invariants.rs @@ -209,7 +209,7 @@ fn run_sequence(ops: std::vec::Vec) { if !active.is_empty() { let pos = idx % active.len(); let (id, amount) = active[pos]; - if client.try_claim(&id).is_ok() { + if client.try_claim(&id, &recipient).is_ok() { mirror_withdrawn += amount; active.remove(pos); } @@ -381,7 +381,7 @@ fn smoke_claim_moves_locked_to_claimed() { let before_locked = client.get_total_locked(&token_addr); let before_claimed = client.get_total_claimed(&token_addr); - client.claim(&1); + client.claim(&1, &recipient); assert_eq!( client.get_total_locked(&token_addr), diff --git a/app/onchain/contracts/aid_escrow/tests/property_amounts.rs b/app/onchain/contracts/aid_escrow/tests/property_amounts.rs index b30f556f..9f436ada 100644 --- a/app/onchain/contracts/aid_escrow/tests/property_amounts.rs +++ b/app/onchain/contracts/aid_escrow/tests/property_amounts.rs @@ -183,7 +183,7 @@ fn run_sequence(ops: Vec) { // the withdrawal regardless of which accounting key the // contract uses internally. if let Ok(Ok(pkg)) = client.try_get_package(&id) { - if client.try_claim(&id).is_ok() { + if client.try_claim(&id, &recipient).is_ok() { total_withdrawn += pkg.amount; active_pkg_ids.retain(|&x| x != id); } @@ -521,7 +521,7 @@ proptest! { prop_assert_eq!(token.balance(&contract_id), amount); // Claim - client.claim(&1); + client.claim(&1, &recipient); let total_claimed = client.get_total_claimed(&token_addr); let contract_balance = token.balance(&contract_id); diff --git a/app/onchain/contracts/aid_escrow/tests/view_status.rs b/app/onchain/contracts/aid_escrow/tests/view_status.rs index 5079a6ab..3386cad6 100644 --- a/app/onchain/contracts/aid_escrow/tests/view_status.rs +++ b/app/onchain/contracts/aid_escrow/tests/view_status.rs @@ -62,7 +62,7 @@ fn test_view_package_status() { assert_eq!(status, PackageStatus::Created); // 3. Claim package and check status - client.claim(&pkg_id); + client.claim(&pkg_id, &recipient); let status_after_claim = client.view_package_status(&pkg_id); assert_eq!(status_after_claim, PackageStatus::Claimed); diff --git a/app/onchain/scripts/claim.sh b/app/onchain/scripts/claim.sh index 5d0a050e..8990a26f 100755 --- a/app/onchain/scripts/claim.sh +++ b/app/onchain/scripts/claim.sh @@ -2,7 +2,7 @@ set -e # Claim an aid package -# Usage: ./scripts/claim.sh --contract --id +# Usage: ./scripts/claim.sh --contract --id --claimer SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" PROJECT_DIR="$(dirname "$SCRIPT_DIR")" @@ -17,6 +17,7 @@ while [[ $# -gt 0 ]]; do case $1 in --contract) CONTRACT_ID="$2"; shift 2 ;; --id) PKG_ID="$2"; shift 2 ;; + --claimer) CLAIMER="$2"; shift 2 ;; --network) NETWORK="$2"; shift 2 ;; *) echo "❌ Unknown option: $1"; exit 1 ;; esac @@ -24,6 +25,7 @@ done if [ -z "$CONTRACT_ID" ]; then echo "❌ --contract is required"; exit 1; fi if [ -z "$PKG_ID" ]; then echo "❌ --id is required"; exit 1; fi +if [ -z "$CLAIMER" ]; then echo "❌ --claimer is required"; exit 1; fi if [ -z "$SECRET_KEY" ]; then echo "❌ SECRET_KEY not set in .env"; exit 1; fi case "$NETWORK" in @@ -38,6 +40,7 @@ echo " 🎁 Invoking: claim" echo "======================================" echo " Contract ID : $CONTRACT_ID" echo " Package ID : $PKG_ID" +echo " Claimer : $CLAIMER" echo " Network : $NETWORK" echo "======================================" @@ -48,6 +51,7 @@ TX_OUTPUT=$(soroban contract invoke \ --rpc-url "$RPC_URL" \ -- claim \ --id "$PKG_ID" \ + --claimer "$CLAIMER" \ 2>&1) echo "" diff --git a/app/onchain/scripts/testnet-invoke.sh b/app/onchain/scripts/testnet-invoke.sh index eeb607cc..45f205e8 100755 --- a/app/onchain/scripts/testnet-invoke.sh +++ b/app/onchain/scripts/testnet-invoke.sh @@ -32,7 +32,7 @@ Actions: initialize --admin
create-package --operator
--id --recipient
\ --amount --token
[--expires-at ] [--metadata ] - claim --id + claim --id --claimer
get-package --id view-status --id get-admin @@ -42,7 +42,7 @@ Examples: ./scripts/testnet-invoke.sh initialize --admin GADMIN... ./scripts/testnet-invoke.sh create-package --operator GADMIN... --id 1 \ --recipient GRECIPIENT... --amount 10000000 --token CTOKEN... - ./scripts/testnet-invoke.sh claim --id 1 + ./scripts/testnet-invoke.sh claim --id 1 --claimer GRECIPIENT... ./scripts/testnet-invoke.sh get-package --id 1 ./scripts/testnet-invoke.sh view-status --id 1 USAGE @@ -271,12 +271,17 @@ case "$ACTION" in claim) package_id="" + claimer="" while [ "$#" -gt 0 ]; do case "$1" in --id) package_id="${2:-}" shift 2 ;; + --claimer) + claimer="${2:-}" + shift 2 + ;; --contract-id|--source|--rpc-url) parse_common_or_die "$1" "${2:-}" shift 2 @@ -287,7 +292,8 @@ case "$ACTION" in esac done require_value "--id" "$package_id" - run_contract claim --id "$package_id" + require_value "--claimer" "$claimer" + run_contract claim --id "$package_id" --claimer "$claimer" ;; get-package|view-status)