From 75a354a64d7270646c47fcd7c00dca9b17e3e311 Mon Sep 17 00:00:00 2001 From: afeez Date: Tue, 18 Aug 2026 01:37:39 +0100 Subject: [PATCH 1/3] feat: add cross-contract upgrade compatibility checks --- Cargo.lock | 22 +- docs/upgrade-coordination.md | 106 + leaderboard/Cargo.toml | 1 + leaderboard/src/lib.rs | 515 ++- leaderboard/src/tests.rs | 119 +- .../tests/test_accumulate_points.1.json | 32 +- .../test_add_points_and_verify_balance.1.json | 30 +- ...us_only_user_has_nonzero_total_bets.1.json | 32 +- .../tests/test_bonus_pts_no_won_lost.1.json | 30 +- ...st_bottom_player_rising_updates_min.1.json | 916 +++--- .../tests/test_double_init_rejected.1.json | 40 +- ..._eviction_replaces_lowest_when_full.1.json | 916 +++--- .../tests/test_get_stats_aggregate.1.json | 30 +- .../test_low_scorer_rejected_when_full.1.json | 930 +++--- ...test_pagination_offset_beyond_count.1.json | 30 +- .../tests/test_player_count.1.json | 58 +- .../tests/test_rank_calculation.1.json | 72 +- .../tests/test_record_bet_is_noop.1.json | 40 +- ..._rejects_incompatible_token_version.1.json | 744 +++++ ...d_bonus_rejects_non_referral_caller.1.json | 40 +- ...nts_token_when_interface_compatible.1.json | 667 ++++ ..._rejects_incompatible_token_version.1.json | 498 +++ ...eward_rejects_missing_token_version.1.json | 270 ++ ...st_reward_rejects_non_market_caller.1.json | 40 +- ...t_reward_updates_points_and_winloss.1.json | 32 +- .../test_top_players_capped_at_50.1.json | 956 +++--- .../tests/test_top_players_sorted.1.json | 72 +- .../test_unauthorized_caller_rejected.1.json | 40 +- ...s_instance_ttl_when_below_threshold.1.json | 12 + ...s_instance_ttl_when_below_threshold.1.json | 12 + ...est_initialize_extends_instance_ttl.1.json | 12 + ..._bumped_again_while_above_threshold.1.json | 12 + ..._min_slot_survive_ttl_refresh_cycle.1.json | 12 + ...s_instance_ttl_when_below_threshold.1.json | 12 + prediction_market/src/lib.rs | 150 +- prediction_market/src/tests.rs | 207 +- ...est_admin_cancel_pending_withdrawal.1.json | 76 +- .../test_bettor_index_enumeration.1.json | 82 +- ...bettor_index_legacy_read_is_bounded.1.json | 1360 ++++++++ .../test_cancel_fees_zeroed_correctly.1.json | 80 +- ...st_cancel_market_claim_style_refund.1.json | 80 +- ...cancel_refund_double_claim_rejected.1.json | 80 +- ...ancel_refund_non_cancelled_rejected.1.json | 80 +- ...t_cancel_refund_rebumps_ttl_entries.1.json | 76 +- .../tests/test_claim_loser.1.json | 102 +- .../tests/test_claim_no_bet_found.1.json | 110 +- .../test_claim_rebumps_ttl_entries.1.json | 94 +- ...ts_incompatible_leaderboard_version.1.json | 1810 ++++++++++ ...rejects_missing_leaderboard_version.1.json | 1843 +++++++++++ .../tests/test_claim_winner.1.json | 100 +- .../tests/test_create_market.1.json | 80 +- .../tests/test_create_multiple_markets.1.json | 80 +- .../tests/test_double_init_rejected.1.json | 80 +- .../test_e2e_full_inter_contract_flow.1.json | 237 +- ..._empty_side_resolution_pool_to_fees.1.json | 149 +- .../tests/test_execute_without_request.1.json | 76 +- ...test_fee_full_2_percent_no_referrer.1.json | 80 +- .../tests/test_fee_recipient_withdraw.1.json | 209 +- .../tests/test_fee_split_with_referrer.1.json | 88 +- .../test_increase_position_same_side.1.json | 80 +- .../tests/test_initialize.1.json | 80 +- ...inners_payouts_exact_and_dust_swept.1.json | 84 +- ...reation_rate_limit_allows_up_to_max.1.json | 80 +- ...market_creation_rate_limit_exceeded.1.json | 80 +- ..._limit_rejects_timestamp_regression.1.json | 2918 +++++++++++++++++ ...tion_rate_limit_resets_after_window.1.json | 80 +- .../tests/test_market_not_found.1.json | 80 +- ...jects_incompatible_referral_version.1.json | 1437 ++++++++ ...et_rejects_missing_referral_version.1.json | 1470 +++++++++ .../tests/test_place_no_bet.1.json | 80 +- .../tests/test_place_yes_bet.1.json | 80 +- .../test_referrer_bonus_points_per_bet.1.json | 98 +- .../test_reject_bet_below_minimum.1.json | 80 +- .../test_reject_bet_cancelled_market.1.json | 80 +- .../test_reject_bet_expired_market.1.json | 80 +- .../test_reject_bet_resolved_market.1.json | 110 +- ...test_reject_cancel_market_non_admin.1.json | 80 +- .../test_reject_cancel_resolved_market.1.json | 110 +- .../tests/test_reject_claim_cancelled.1.json | 80 +- .../tests/test_reject_claim_unresolved.1.json | 80 +- ...test_reject_create_market_non_admin.1.json | 80 +- .../tests/test_reject_double_claim.1.json | 100 +- .../test_reject_double_resolution.1.json | 110 +- ...n_entire_accumulator_in_one_request.1.json | 76 +- ...reject_duplicate_withdrawal_request.1.json | 76 +- ...ct_fee_recipient_immediate_withdraw.1.json | 76 +- ...cipient_request_arbitrary_recipient.1.json | 76 +- ...gross_minimum_when_net_is_too_small.1.json | 1365 ++++++++ .../test_reject_opposite_side_bet.1.json | 80 +- ...test_reject_resolve_before_deadline.1.json | 80 +- ..._reject_resolve_market_non_resolver.1.json | 80 +- .../tests/test_reject_too_many_bets.1.json | 172 +- ...test_reject_withdraw_fees_non_admin.1.json | 80 +- ...ithdraw_fees_to_arbitrary_recipient.1.json | 76 +- .../tests/test_resolve_market.1.json | 110 +- .../tests/test_resolver_can_resolve.1.json | 110 +- ...t_single_winner_gets_whole_net_pool.1.json | 64 +- ..._upgrade_fails_closed_then_recovers.1.json | 2055 ++++++++++++ .../tests/test_withdraw_fees.1.json | 80 +- .../tests/test_withdraw_fees_zero.1.json | 80 +- ...est_withdrawal_execute_before_delay.1.json | 76 +- pulse_token/src/lib.rs | 47 + .../tests/test_add_multiple_minters.1.json | 16 +- .../test_balance_check_after_mint.1.json | 16 +- .../tests/test_burn_tokens.1.json | 16 +- .../test_initialize_with_metadata.1.json | 16 +- .../tests/test_mint_by_first_minter.1.json | 16 +- .../tests/test_mint_by_second_minter.1.json | 16 +- .../test_reject_mint_by_non_minter.1.json | 16 +- ...eject_transfer_insufficient_balance.1.json | 16 +- .../test_remove_minter_then_reject.1.json | 16 +- .../tests/test_total_supply_tracking.1.json | 16 +- .../test_transfer_between_accounts.1.json | 16 +- referral_registry/src/lib.rs | 127 +- referral_registry/src/tests.rs | 130 + .../tests/test_credit_no_referrer.1.json | 60 +- ...ts_incompatible_leaderboard_version.1.json | 1543 +++++++++ ...rejects_missing_leaderboard_version.1.json | 1228 +++++++ .../test_credit_unregistered_user.1.json | 68 +- .../tests/test_credit_with_referrer.1.json | 76 +- .../tests/test_display_name.1.json | 60 +- .../tests/test_double_init_rejected.1.json | 68 +- .../tests/test_earnings_accumulation.1.json | 86 +- .../test_legacy_user_still_readable.1.json | 68 +- .../test_legacy_user_without_referrer.1.json | 68 +- .../tests/test_referral_count_tracking.1.json | 88 +- ...st_referrer_bonus_points_accumulate.1.json | 86 +- .../tests/test_register_no_referrer.1.json | 60 +- ...ts_incompatible_leaderboard_version.1.json | 1164 +++++++ ...rejects_missing_leaderboard_version.1.json | 860 +++++ .../tests/test_register_with_referrer.1.json | 60 +- .../test_reject_double_registration.1.json | 60 +- .../tests/test_reject_self_referral.1.json | 68 +- .../tests/test_welcome_bonus.1.json | 60 +- 134 files changed, 30828 insertions(+), 2691 deletions(-) create mode 100644 docs/upgrade-coordination.md create mode 100644 leaderboard/test_snapshots/tests/test_reward_bonus_rejects_incompatible_token_version.1.json create mode 100644 leaderboard/test_snapshots/tests/test_reward_mints_token_when_interface_compatible.1.json create mode 100644 leaderboard/test_snapshots/tests/test_reward_rejects_incompatible_token_version.1.json create mode 100644 leaderboard/test_snapshots/tests/test_reward_rejects_missing_token_version.1.json create mode 100644 prediction_market/test_snapshots/tests/test_bettor_index_legacy_read_is_bounded.1.json create mode 100644 prediction_market/test_snapshots/tests/test_claim_rejects_incompatible_leaderboard_version.1.json create mode 100644 prediction_market/test_snapshots/tests/test_claim_rejects_missing_leaderboard_version.1.json create mode 100644 prediction_market/test_snapshots/tests/test_market_creation_rate_limit_rejects_timestamp_regression.1.json create mode 100644 prediction_market/test_snapshots/tests/test_place_bet_rejects_incompatible_referral_version.1.json create mode 100644 prediction_market/test_snapshots/tests/test_place_bet_rejects_missing_referral_version.1.json create mode 100644 prediction_market/test_snapshots/tests/test_reject_gross_minimum_when_net_is_too_small.1.json create mode 100644 prediction_market/test_snapshots/tests/test_unilateral_upgrade_fails_closed_then_recovers.1.json create mode 100644 referral_registry/test_snapshots/tests/test_credit_rejects_incompatible_leaderboard_version.1.json create mode 100644 referral_registry/test_snapshots/tests/test_credit_rejects_missing_leaderboard_version.1.json create mode 100644 referral_registry/test_snapshots/tests/test_register_rejects_incompatible_leaderboard_version.1.json create mode 100644 referral_registry/test_snapshots/tests/test_register_rejects_missing_leaderboard_version.1.json diff --git a/Cargo.lock b/Cargo.lock index 5af031e..6fa5cc7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Cargo. +# This file is automatically @generated by Cargo. # It is not intended for manual editing. version = 4 @@ -781,13 +781,6 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e04e2fd2b8188ea827b32ef11de88377086d690286ab35747ef7f9bf3ccb590" -[[package]] -name = "pulse_token" -version = "0.1.0" -dependencies = [ - "soroban-sdk", -] - [[package]] name = "itertools" version = "0.13.0" @@ -838,6 +831,7 @@ dependencies = [ name = "leaderboard" version = "0.1.0" dependencies = [ + "pulse_token", "soroban-sdk", ] @@ -970,8 +964,8 @@ dependencies = [ name = "prediction_market" version = "0.1.0" dependencies = [ - "pulse_token", "leaderboard", + "pulse_token", "referral_registry", "soroban-sdk", ] @@ -1004,6 +998,13 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "pulse_token" +version = "0.1.0" +dependencies = [ + "soroban-sdk", +] + [[package]] name = "quote" version = "1.0.45" @@ -1047,8 +1048,8 @@ dependencies = [ name = "referral_registry" version = "0.1.0" dependencies = [ - "pulse_token", "leaderboard", + "pulse_token", "soroban-sdk", ] @@ -1789,4 +1790,3 @@ dependencies = [ "quote", "syn", ] - diff --git a/docs/upgrade-coordination.md b/docs/upgrade-coordination.md new file mode 100644 index 0000000..63e7802 --- /dev/null +++ b/docs/upgrade-coordination.md @@ -0,0 +1,106 @@ +# Cross-Contract Upgrade Coordination (issue #39) + +Every contract in this workspace can be upgraded **independently** via its own +`upgrade()` (issue #5): `prediction_market`, `referral_registry`, `leaderboard`, +and `pulse_token`. They are tightly coupled through cross-contract calls, so an +uncoordinated upgrade that changes any called ABI breaks the whole system. + +This document describes the interface-versioning scheme added to solve that. + +## Dependency graph protected by this scheme + +| Caller | Callee | Called function | Guard | +|---|---|---|---| +| `prediction_market.place_bet` | `referral_registry` | `credit` | `REFERRAL_CREDIT_INTERFACE_VERSION` | +| `prediction_market.claim` | `leaderboard` | `reward` | `LEADERBOARD_REWARD_INTERFACE_VERSION` | +| `referral_registry.register_referral` | `leaderboard` | `reward_bonus` | `LEADERBOARD_BONUS_INTERFACE_VERSION` | +| `referral_registry.credit` | `leaderboard` | `add_bonus_pts` | `LEADERBOARD_BONUS_INTERFACE_VERSION` | +| `leaderboard.reward` / `reward_bonus` | `pulse_token` | `mint` | `TOKEN_MINT_INTERFACE_VERSION` | + +Every guard is executed **before any state change or cross-contract invoke** in +the caller, so a failed check reverts the whole transaction without partial +effects. + +## Versioning model + +- Each contract stores a single `u32` **interface version** in its own instance + storage (`DataKey::InterfaceVersion`), committed at `initialize()` time to the + crate-level `INTERFACE_VERSION` constant. +- Every contract exposes `interface_version() -> u32`, a read-only getter that + returns `0` when the key is absent (an un-migrated/legacy deployment). +- A caller that invokes a dependency first calls + `require_interface_version(env, dependency_address, required_version)`: + - `0` / missing getter (host error) → typed `InterfaceVersionMissing`. + - reported version `< required_version` → typed `IncompatibleInterface`. + - otherwise the call proceeds. +- Versions are **monotonically increasing integers**. Bump the relevant + `*_INTERFACE_VERSION` requirement constant only when the ABI *you call* + (signature, argument order, return type) changes on the dependency. +- Fail-closed semantics: an unverifiable dependency is treated as incompatible, + never as "probably fine". + +## Upgrade procedure (operational) + +A safe upgrade is **coordinated**, even though each contract can be upgraded +independently: + +1. **Prepare**: write the new WASM, bump the `INTERFACE_VERSION` constant in the + upgraded contract's source to the next integer, and keep the *callee-facing* + ABI stable unless you are intentionally breaking it. +2. **Deploy the new WASM** via the upgraded contract's `upgrade()`. + `upgrade()` only swaps the code — it does **not** change storage or versions. +3. **Committing a changed ABI**: if the upgrade changed any function that other + contracts call (`credit`, `reward`, `reward_bonus`, `add_bonus_pts`, `mint`, + `interface_version` itself), the admin must call + `set_interface_version(admin, )` on the upgraded contract. +4. **Upgrade callers** to require the new minimum where relevant (update the + appropriate `*_INTERFACE_VERSION` constant in their source), then deploy them + with `upgrade()`. Since the version lives in storage, existing callers keep + running against the old contract until their own upgrade lands. +5. **Deploy order that minimizes downtime** (each step is additive): + - `pulse_token` first (its `interface_version` getter is the leaf dependency). + - `leaderboard` second (it is *called by* market and referral, and *calls* + the token). + - `referral_registry` and `prediction_market` last (they only call others). + With all four at version `1` (the initial value), no setter call is needed at + all — `initialize()` already stored it. + +## Migration note for existing deployments + +Contracts deployed **before** this scheme have no `InterfaceVersion` key. +`interface_version()` returns `0` for them, so any caller requiring version `1` +will fail closed with `InterfaceVersionMissing`. To migrate: + +- If the deployed contract was logged with the new code and you want it to serve + version `1`, call `set_interface_version(admin, 1)` on it — no redeploy needed. +- `pulse_token.set_interface_version` takes only `(env, version)` and + authorizes via its stored admin; the other contracts take + `(env, admin, version)`. + +There is no on-chain migration task; this is a single admin call per contract. + +## Failure mode and recovery + +- **Symptom**: `Error(Contract, #27)`/`#26` (market), `#8`/`#7` (referral), + `#7`/`#6` (leaderboard) — `IncompatibleInterface` / `InterfaceVersionMissing`. +- **Cause**: a dependency's declared interface version is below the caller's + required minimum, or the dependency never exposed the version getter. +- **Effect**: the specific cross-contract call (and therefore the whole + transaction: bet / claim / registration / referral credit / reward) fails + closed. No partial state is written. +- **Recovery**: either + 1. declare the correct version on the dependency via `set_interface_version` + (coordinate so the version matches the deploy), or + 2. upgrade/roll back the contract to an ABI-consistent version, then + re-declare the version. + No data migration or redeployment of unaffected contracts is required. + +## Tests + +See `*/src/tests.rs`: + +- compatible path (full call succeeds with the dependency at version `1`), +- `IncompatibleInterface` when the dependency is downgraded to `0`, +- `InterfaceVersionMissing` when the dependency has no version getter, +- upgrade-path tests proving a unilateral incompatible upgrade fails closed and + recovers after `set_interface_version` without touching user data. \ No newline at end of file diff --git a/leaderboard/Cargo.toml b/leaderboard/Cargo.toml index c067cdf..df2b827 100644 --- a/leaderboard/Cargo.toml +++ b/leaderboard/Cargo.toml @@ -16,3 +16,4 @@ soroban-sdk = { workspace = true } [dev-dependencies] soroban-sdk = { workspace = true, features = ["testutils"] } +pulse_token = { path = "../pulse_token", features = ["testutils"] } diff --git a/leaderboard/src/lib.rs b/leaderboard/src/lib.rs index 0f7bc00..e858fe0 100644 --- a/leaderboard/src/lib.rs +++ b/leaderboard/src/lib.rs @@ -1,15 +1,25 @@ #![no_std] use soroban_sdk::{ - contract, contracterror, contractimpl, contracttype, vec, Address, BytesN, Env, IntoVal, + contract, contracterror, contractimpl, contracttype, vec, Address, BytesN, Env, Error, IntoVal, Symbol, Val, Vec, }; const MAX_TOP_PLAYERS: u32 = 50; -const MAX_PAGE_SIZE: u32 = 20; const TTL_BUMP: u32 = 3_153_600; const TTL_HIGH: u32 = 6_307_200; +// ── Interface versioning (upgrade coordination) ────────────────────────────── +// INTERFACE_VERSION identifies the ABI this contract exposes to its callers +// (prediction_market -> reward, referral_registry -> reward_bonus/add_bonus_pts). +// It MUST be bumped in the source AND committed to storage via +// set_interface_version() on every incompatible ABI change, so callers can +// fail closed instead of executing against a mismatched ABI. +const INTERFACE_VERSION: u32 = 1; +// Minimum interface version required from the PULSE token before invoking +// mint, either from reward() or reward_bonus(). +const TOKEN_MINT_INTERFACE_VERSION: u32 = 1; + #[contracterror] #[derive(Clone, Copy, Debug, Eq, PartialEq, PartialOrd, Ord)] #[repr(u32)] @@ -19,6 +29,11 @@ pub enum LeaderboardError { UnauthorizedCaller = 3, InvalidPoints = 4, NotAdmin = 5, + // ── Interface versioning (upgrade coordination) ──────────────────────── + // The target contract does not expose the interface_version() function. + InterfaceVersionMissing = 6, + // The target contract's interface version is below the required minimum. + IncompatibleInterface = 7, } // OPT: was 4 separate keys per user (Points, TotalBets, WonBets, LostBets). @@ -41,6 +56,8 @@ pub enum DataKey { TopPlayerSlot(Address), MinPoints, // u64 — points of the weakest entry currently in the top list MinSlot, // u32 — slot index of that weakest entry + // ── Interface versioning (upgrade coordination) ─────────────────────── + InterfaceVersion, // u32 — current interface version of this contract } // OPT: PlayerEntry now embeds points directly (avoids a Stats read during sort) @@ -82,16 +99,29 @@ impl LeaderboardContract { } admin.require_auth(); env.storage().instance().set(&DataKey::Admin, &admin); - env.storage().instance().set(&DataKey::MarketContract, &market_contract); - env.storage().instance().set(&DataKey::ReferralContract, &referral_contract); - env.storage().instance().set(&DataKey::TopPlayerCount, &0_u32); + env.storage() + .instance() + .set(&DataKey::MarketContract, &market_contract); + env.storage() + .instance() + .set(&DataKey::ReferralContract, &referral_contract); + env.storage() + .instance() + .set(&DataKey::TopPlayerCount, &0_u32); env.storage().instance().set(&DataKey::MinPoints, &0_u64); env.storage().instance().set(&DataKey::MinSlot, &0_u32); + env.storage() + .instance() + .set(&DataKey::InterfaceVersion, &INTERFACE_VERSION); env.storage().instance().extend_ttl(TTL_BUMP, TTL_HIGH); Ok(()) } - pub fn set_token_contract(env: Env, admin: Address, token: Address) -> Result<(), LeaderboardError> { + pub fn set_token_contract( + env: Env, + admin: Address, + token: Address, + ) -> Result<(), LeaderboardError> { let stored: Address = env .storage() .instance() @@ -101,7 +131,76 @@ impl LeaderboardContract { return Err(LeaderboardError::NotAdmin); } admin.require_auth(); - env.storage().instance().set(&DataKey::TokenContract, &token); + env.storage() + .instance() + .set(&DataKey::TokenContract, &token); + env.storage().instance().extend_ttl(TTL_BUMP, TTL_HIGH); + Ok(()) + } + + /// Replace this contract's WASM bytecode in place. Admin only. + /// Storage is preserved — only the executable changes. After an upgrade, + /// call set_interface_version() to declare the new interface version so + /// callers that require it can proceed. + pub fn upgrade( + env: Env, + admin: Address, + new_wasm_hash: BytesN<32>, + ) -> Result<(), LeaderboardError> { + Self::require_admin(&env, &admin)?; + admin.require_auth(); + env.deployer().update_current_contract_wasm(new_wasm_hash); + Ok(()) + } + + /// Historical ABI alias for `set_token_contract`. Admin only. + pub fn set_token(env: Env, admin: Address, token: Address) -> Result<(), LeaderboardError> { + Self::set_token_contract(env, admin, token) + } + + // ── Interface Versioning (upgrade coordination) ────────────────────── + // Every contract that participates in cross-contract calls exposes a + // stable interface version. Callers read it and refuse to invoke a + // dependency whose version is below the minimum they require. + + /// Read this contract's current interface version. + /// + /// `0` means the contract has no declared version (a legacy deployment + /// that was never migrated via `set_interface_version`, or an + /// uninitialized contract). Callers treat `0` as incompatible with any + /// positive requirement — this is the fail-closed behavior for + /// uncoordinated deployments. + pub fn interface_version(env: Env) -> u32 { + env.storage() + .instance() + .get(&DataKey::InterfaceVersion) + .unwrap_or(0) + } + + /// Declare this contract's interface version. Admin only. + /// + /// Required after an in-place WASM upgrade that changes any ABI another + /// contract calls: bump `INTERFACE_VERSION` in the new source and commit + /// the new value here. Until this is done, upgraded callers that require + /// the newer version will fail closed with `IncompatibleInterface` instead + /// of silently executing against an uncoordinated ABI. + pub fn set_interface_version( + env: Env, + admin: Address, + version: u32, + ) -> Result<(), LeaderboardError> { + let stored: Address = env + .storage() + .instance() + .get(&DataKey::Admin) + .ok_or(LeaderboardError::NotInitialized)?; + if admin != stored { + return Err(LeaderboardError::NotAdmin); + } + admin.require_auth(); + env.storage() + .instance() + .set(&DataKey::InterfaceVersion, &version); env.storage().instance().extend_ttl(TTL_BUMP, TTL_HIGH); Ok(()) } @@ -142,8 +241,12 @@ impl LeaderboardContract { stats.lost_bets += 1; } - env.storage().persistent().set(&DataKey::Stats(user.clone()), &stats); - env.storage().persistent().extend_ttl(&DataKey::Stats(user.clone()), TTL_BUMP, TTL_HIGH); + env.storage() + .persistent() + .set(&DataKey::Stats(user.clone()), &stats); + env.storage() + .persistent() + .extend_ttl(&DataKey::Stats(user.clone()), TTL_BUMP, TTL_HIGH); Self::update_top_players(&env, user, stats.points); // Instance storage (TopPlayerCount, MinPoints, MinSlot, Admin, etc.) @@ -153,6 +256,84 @@ impl LeaderboardContract { Ok(()) } + /// Settle a market-resolution reward for `user`: award `points` (and + /// win/loss activity) and mint `tokens` PULSE to them. Market contract only. + /// + /// The PULSE token is minted internally (Lever G), so before the mint this + /// contract verifies the token exposes a compatible `mint` interface — + /// failing closed with IncompatibleInterface/InterfaceVersionMissing on a + /// mismatched or unverifiable upgrade. + pub fn reward( + env: Env, + caller: Address, + user: Address, + points: u64, + tokens: i128, + is_winner: bool, + ) -> Result<(), LeaderboardError> { + caller.require_auth(); + Self::require_market_contract(&env, &caller)?; + if points == 0 { + return Err(LeaderboardError::InvalidPoints); + } + + // Upgrade coordination: verify the PULSE token exposes a compatible + // `mint` interface BEFORE any local state changes, so a unilateral + // incompatible upgrade fails the whole call atomically instead of + // awarding points and only then discovering the ABI mismatch. + if tokens > 0 { + let token: Address = env + .storage() + .instance() + .get(&DataKey::TokenContract) + .ok_or(LeaderboardError::NotInitialized)?; + Self::require_interface_version(&env, &token, TOKEN_MINT_INTERFACE_VERSION)?; + } + + let sk = DataKey::Stats(user.clone()); + let mut stats: PlayerStats = env.storage().persistent().get(&sk).unwrap_or(PlayerStats { + points: 0, + total_bets: 0, + won_bets: 0, + lost_bets: 0, + }); + stats.points += points; + stats.total_bets += 1; + if is_winner { + stats.won_bets += 1; + } else { + stats.lost_bets += 1; + } + env.storage().persistent().set(&sk, &stats); + env.storage() + .persistent() + .extend_ttl(&sk, TTL_BUMP, TTL_HIGH); + Self::update_top_players(&env, user.clone(), stats.points); + + if tokens > 0 { + let token: Address = env + .storage() + .instance() + .get(&DataKey::TokenContract) + .ok_or(LeaderboardError::NotInitialized)?; + // Upgrade coordination: the token mint interface was already + // verified compatible before the stats were updated. + let this = env.current_contract_address(); + let _: Val = env.invoke_contract( + &token, + &Symbol::new(&env, "mint"), + vec![ + &env, + this.into_val(&env), + user.into_val(&env), + tokens.into_val(&env), + ], + ); + } + env.storage().instance().extend_ttl(TTL_BUMP, TTL_HIGH); + Ok(()) + } + pub fn add_bonus_pts( env: Env, caller: Address, @@ -183,14 +364,88 @@ impl LeaderboardContract { stats.points += pts; stats.total_bets += 1; // bonus counts as activity - env.storage().persistent().set(&DataKey::Stats(user.clone()), &stats); - env.storage().persistent().extend_ttl(&DataKey::Stats(user.clone()), TTL_BUMP, TTL_HIGH); + env.storage() + .persistent() + .set(&DataKey::Stats(user.clone()), &stats); + env.storage() + .persistent() + .extend_ttl(&DataKey::Stats(user.clone()), TTL_BUMP, TTL_HIGH); Self::update_top_players(&env, user, stats.points); env.storage().instance().extend_ttl(TTL_BUMP, TTL_HIGH); Ok(()) } + /// Award a referral or welcome bonus to `user`: add `points` and mint + /// `tokens` PULSE to them. Referral contract only. + /// + /// Like reward(), the PULSE token is minted internally, so the token's + /// `mint` interface version is verified before the invoke — failing closed + /// on a mismatched or unverifiable upgrade. + pub fn reward_bonus( + env: Env, + caller: Address, + user: Address, + points: u64, + tokens: i128, + ) -> Result<(), LeaderboardError> { + caller.require_auth(); + Self::require_referral_contract(&env, &caller)?; + if points == 0 { + return Err(LeaderboardError::InvalidPoints); + } + + // Upgrade coordination: verify the PULSE token exposes a compatible + // `mint` interface BEFORE any local state changes (see reward()). + if tokens > 0 { + let token: Address = env + .storage() + .instance() + .get(&DataKey::TokenContract) + .ok_or(LeaderboardError::NotInitialized)?; + Self::require_interface_version(&env, &token, TOKEN_MINT_INTERFACE_VERSION)?; + } + + let sk = DataKey::Stats(user.clone()); + let mut stats: PlayerStats = env.storage().persistent().get(&sk).unwrap_or(PlayerStats { + points: 0, + total_bets: 0, + won_bets: 0, + lost_bets: 0, + }); + stats.points += points; + stats.total_bets += 1; // bonus counts as activity + + env.storage().persistent().set(&sk, &stats); + env.storage() + .persistent() + .extend_ttl(&sk, TTL_BUMP, TTL_HIGH); + Self::update_top_players(&env, user.clone(), stats.points); + + if tokens > 0 { + let token: Address = env + .storage() + .instance() + .get(&DataKey::TokenContract) + .ok_or(LeaderboardError::NotInitialized)?; + // Upgrade coordination: the token mint interface was already + // verified compatible before the stats were updated. + let this = env.current_contract_address(); + let _: Val = env.invoke_contract( + &token, + &Symbol::new(&env, "mint"), + vec![ + &env, + this.into_val(&env), + user.into_val(&env), + tokens.into_val(&env), + ], + ); + } + env.storage().instance().extend_ttl(TTL_BUMP, TTL_HIGH); + Ok(()) + } + pub fn get_points(env: Env, user: Address) -> u64 { env.storage() .persistent() @@ -247,14 +502,126 @@ impl LeaderboardContract { } pub fn get_min_slot(env: Env) -> u32 { + env.storage().instance().get(&DataKey::MinSlot).unwrap_or(0) + } + + /// Number of players currently in the top list (≤ MAX_TOP_PLAYERS). + pub fn get_player_count(env: Env) -> u32 { env.storage() .instance() - .get(&DataKey::MinSlot) + .get(&DataKey::TopPlayerCount) .unwrap_or(0) } + /// 1-based rank of `user` in the top list, or 0 when not present. + pub fn get_rank(env: Env, user: Address) -> u32 { + let slot: Option = env + .storage() + .persistent() + .get(&DataKey::TopPlayerSlot(user.clone())); + if slot.is_none() { + return 0; + } + + let user_pts: u64 = env + .storage() + .persistent() + .get::<_, PlayerStats>(&DataKey::Stats(user.clone())) + .map(|s| s.points) + .unwrap_or(0); + + let count: u32 = env + .storage() + .instance() + .get(&DataKey::TopPlayerCount) + .unwrap_or(0); + let mut rank: u32 = 1; + for i in 0..count { + if let Some(e) = env + .storage() + .persistent() + .get::<_, PlayerEntry>(&DataKey::TopPlayerAt(i)) + { + if e.address != user && e.points > user_pts { + rank += 1; + } + } + } + rank + } + + /// Legacy ABI no-op kept for compatibility — total_bets is now derived + /// from rewarded activity (reward/reward_bonus/add_bonus_pts). Market + /// contract only; performs no state change. + pub fn record_bet(env: Env, caller: Address, _user: Address) -> Result<(), LeaderboardError> { + caller.require_auth(); + Self::require_market_contract(&env, &caller) + } + // ── Internal: maintain a persistent sorted top list ────────────────────── + fn require_admin(env: &Env, caller: &Address) -> Result<(), LeaderboardError> { + let admin: Address = env + .storage() + .instance() + .get(&DataKey::Admin) + .ok_or(LeaderboardError::NotInitialized)?; + if *caller != admin { + return Err(LeaderboardError::NotAdmin); + } + Ok(()) + } + + fn require_market_contract(env: &Env, caller: &Address) -> Result<(), LeaderboardError> { + let market: Address = env + .storage() + .instance() + .get(&DataKey::MarketContract) + .ok_or(LeaderboardError::NotInitialized)?; + if *caller != market { + return Err(LeaderboardError::UnauthorizedCaller); + } + Ok(()) + } + + fn require_referral_contract(env: &Env, caller: &Address) -> Result<(), LeaderboardError> { + let referral: Address = env + .storage() + .instance() + .get(&DataKey::ReferralContract) + .ok_or(LeaderboardError::NotInitialized)?; + if *caller != referral { + return Err(LeaderboardError::UnauthorizedCaller); + } + Ok(()) + } + + // ── Interface versioning helpers (upgrade coordination) ────────────── + // Reads `interface_version()` on the target contract and fails closed with + // a typed error when the target does not expose the function + // (InterfaceVersionMissing) or reports a version below the required + // minimum (IncompatibleInterface). Uses try_invoke_contract so a missing + // function or panicking target is caught deterministically instead of + // aborting with a generic host panic. + fn require_interface_version( + env: &Env, + target: &Address, + required: u32, + ) -> Result<(), LeaderboardError> { + let version: u32 = match env.try_invoke_contract::( + target, + &Symbol::new(env, "interface_version"), + vec![&env], + ) { + Ok(Ok(v)) => v, + Ok(Err(_)) | Err(_) => return Err(LeaderboardError::InterfaceVersionMissing), + }; + if version < required { + return Err(LeaderboardError::IncompatibleInterface); + } + Ok(()) + } + fn update_top_players(env: &Env, user: Address, new_points: u64) { let count: u32 = env .storage() @@ -263,15 +630,23 @@ impl LeaderboardContract { .unwrap_or(0); // If user is already in the list, update their points and re-sort in place. - if let Some(slot) = env.storage().persistent().get::<_, u32>(&DataKey::TopPlayerSlot(user.clone())) { + if let Some(slot) = env + .storage() + .persistent() + .get::<_, u32>(&DataKey::TopPlayerSlot(user.clone())) + { let mut entry: PlayerEntry = env .storage() .persistent() .get(&DataKey::TopPlayerAt(slot)) .unwrap(); entry.points = new_points; - env.storage().persistent().set(&DataKey::TopPlayerAt(slot), &entry); - env.storage().persistent().extend_ttl(&DataKey::TopPlayerAt(slot), TTL_BUMP, TTL_HIGH); + env.storage() + .persistent() + .set(&DataKey::TopPlayerAt(slot), &entry); + env.storage() + .persistent() + .extend_ttl(&DataKey::TopPlayerAt(slot), TTL_BUMP, TTL_HIGH); // Bubble the updated entry up to maintain descending order. let mut current = slot; @@ -283,10 +658,19 @@ impl LeaderboardContract { .unwrap(); if prev.points < entry.points { // Swap - env.storage().persistent().set(&DataKey::TopPlayerAt(current - 1), &entry); - env.storage().persistent().set(&DataKey::TopPlayerAt(current), &prev); - env.storage().persistent().set(&DataKey::TopPlayerSlot(entry.address.clone()), &(current - 1)); - env.storage().persistent().set(&DataKey::TopPlayerSlot(prev.address.clone()), ¤t); + env.storage() + .persistent() + .set(&DataKey::TopPlayerAt(current - 1), &entry); + env.storage() + .persistent() + .set(&DataKey::TopPlayerAt(current), &prev); + env.storage().persistent().set( + &DataKey::TopPlayerSlot(entry.address.clone()), + &(current - 1), + ); + env.storage() + .persistent() + .set(&DataKey::TopPlayerSlot(prev.address.clone()), ¤t); current -= 1; } else { break; @@ -301,7 +685,9 @@ impl LeaderboardContract { .persistent() .get(&DataKey::TopPlayerAt(min_slot)) .unwrap(); - env.storage().instance().set(&DataKey::MinPoints, &min_entry.points); + env.storage() + .instance() + .set(&DataKey::MinPoints, &min_entry.points); env.storage().instance().set(&DataKey::MinSlot, &min_slot); } return; @@ -314,10 +700,18 @@ impl LeaderboardContract { address: user.clone(), points: new_points, }; - env.storage().persistent().set(&DataKey::TopPlayerAt(slot), &entry); - env.storage().persistent().set(&DataKey::TopPlayerSlot(user.clone()), &slot); - env.storage().persistent().extend_ttl(&DataKey::TopPlayerAt(slot), TTL_BUMP, TTL_HIGH); - env.storage().instance().set(&DataKey::TopPlayerCount, &(count + 1)); + env.storage() + .persistent() + .set(&DataKey::TopPlayerAt(slot), &entry); + env.storage() + .persistent() + .set(&DataKey::TopPlayerSlot(user.clone()), &slot); + env.storage() + .persistent() + .extend_ttl(&DataKey::TopPlayerAt(slot), TTL_BUMP, TTL_HIGH); + env.storage() + .instance() + .set(&DataKey::TopPlayerCount, &(count + 1)); // Bubble up to maintain order. let mut current = slot; @@ -328,10 +722,19 @@ impl LeaderboardContract { .get(&DataKey::TopPlayerAt(current - 1)) .unwrap(); if prev.points < entry.points { - env.storage().persistent().set(&DataKey::TopPlayerAt(current - 1), &entry); - env.storage().persistent().set(&DataKey::TopPlayerAt(current), &prev); - env.storage().persistent().set(&DataKey::TopPlayerSlot(entry.address.clone()), &(current - 1)); - env.storage().persistent().set(&DataKey::TopPlayerSlot(prev.address.clone()), ¤t); + env.storage() + .persistent() + .set(&DataKey::TopPlayerAt(current - 1), &entry); + env.storage() + .persistent() + .set(&DataKey::TopPlayerAt(current), &prev); + env.storage().persistent().set( + &DataKey::TopPlayerSlot(entry.address.clone()), + &(current - 1), + ); + env.storage() + .persistent() + .set(&DataKey::TopPlayerSlot(prev.address.clone()), ¤t); current -= 1; } else { break; @@ -346,12 +749,18 @@ impl LeaderboardContract { .persistent() .get(&DataKey::TopPlayerAt(min_slot)) .unwrap(); - env.storage().instance().set(&DataKey::MinPoints, &min_entry.points); + env.storage() + .instance() + .set(&DataKey::MinPoints, &min_entry.points); env.storage().instance().set(&DataKey::MinSlot, &min_slot); } } else { // List full: replace the minimum if the new points beat it. - let min_points: u64 = env.storage().instance().get(&DataKey::MinPoints).unwrap_or(0); + let min_points: u64 = env + .storage() + .instance() + .get(&DataKey::MinPoints) + .unwrap_or(0); if new_points > min_points { let min_slot: u32 = env.storage().instance().get(&DataKey::MinSlot).unwrap_or(0); let old_entry: PlayerEntry = env @@ -361,15 +770,25 @@ impl LeaderboardContract { .unwrap(); // Remove old slot mapping. - env.storage().persistent().remove(&DataKey::TopPlayerSlot(old_entry.address.clone())); + env.storage() + .persistent() + .remove(&DataKey::TopPlayerSlot(old_entry.address.clone())); let new_entry = PlayerEntry { address: user.clone(), points: new_points, }; - env.storage().persistent().set(&DataKey::TopPlayerAt(min_slot), &new_entry); - env.storage().persistent().set(&DataKey::TopPlayerSlot(user.clone()), &min_slot); - env.storage().persistent().extend_ttl(&DataKey::TopPlayerAt(min_slot), TTL_BUMP, TTL_HIGH); + env.storage() + .persistent() + .set(&DataKey::TopPlayerAt(min_slot), &new_entry); + env.storage() + .persistent() + .set(&DataKey::TopPlayerSlot(user.clone()), &min_slot); + env.storage().persistent().extend_ttl( + &DataKey::TopPlayerAt(min_slot), + TTL_BUMP, + TTL_HIGH, + ); // Bubble up from min_slot. let mut current = min_slot; @@ -380,10 +799,19 @@ impl LeaderboardContract { .get(&DataKey::TopPlayerAt(current - 1)) .unwrap(); if prev.points < new_entry.points { - env.storage().persistent().set(&DataKey::TopPlayerAt(current - 1), &new_entry); - env.storage().persistent().set(&DataKey::TopPlayerAt(current), &prev); - env.storage().persistent().set(&DataKey::TopPlayerSlot(new_entry.address.clone()), &(current - 1)); - env.storage().persistent().set(&DataKey::TopPlayerSlot(prev.address.clone()), ¤t); + env.storage() + .persistent() + .set(&DataKey::TopPlayerAt(current - 1), &new_entry); + env.storage() + .persistent() + .set(&DataKey::TopPlayerAt(current), &prev); + env.storage().persistent().set( + &DataKey::TopPlayerSlot(new_entry.address.clone()), + &(current - 1), + ); + env.storage() + .persistent() + .set(&DataKey::TopPlayerSlot(prev.address.clone()), ¤t); current -= 1; } else { break; @@ -397,12 +825,19 @@ impl LeaderboardContract { .persistent() .get(&DataKey::TopPlayerAt(new_min_slot)) .unwrap(); - env.storage().instance().set(&DataKey::MinPoints, &new_min_entry.points); - env.storage().instance().set(&DataKey::MinSlot, &new_min_slot); + env.storage() + .instance() + .set(&DataKey::MinPoints, &new_min_entry.points); + env.storage() + .instance() + .set(&DataKey::MinSlot, &new_min_slot); } } } } +#[cfg(test)] +mod tests; + #[cfg(test)] mod ttl_tests; diff --git a/leaderboard/src/tests.rs b/leaderboard/src/tests.rs index c365ba8..cdd5582 100644 --- a/leaderboard/src/tests.rs +++ b/leaderboard/src/tests.rs @@ -1,5 +1,17 @@ use super::*; -use soroban_sdk::{testutils::Address as _, Env}; +use soroban_sdk::{ + contract, contractimpl, + testutils::Address as _, + {Env, String}, +}; + +#[contract] +struct NoVersionContract; + +#[contractimpl] +impl NoVersionContract { + pub fn initialize(_env: Env) {} +} fn setup() -> ( Env, @@ -11,6 +23,11 @@ fn setup() -> ( let env = Env::default(); env.mock_all_auths(); env.cost_estimate().budget().reset_unlimited(); + // Filling the top-50 list touches >100 unique ledger entries within a + // single add_pts call (bubble-up swaps), which exceeds the mainnet + // footprint limit the test harness enforces by default. This is expected + // test-only load, so disable the invocation resource limits. + env.cost_estimate().disable_resource_limits(); let contract_id = env.register(LeaderboardContract, ()); let client = LeaderboardContractClient::new(&env, &contract_id); @@ -326,3 +343,103 @@ fn test_reward_updates_points_and_winloss() { assert_eq!(s.lost_bets, 1); assert_eq!(s.total_bets, 2); } + +// ── Upgrade Coordination: leaderboard → PULSE token mint ───────────────────── + +fn setup_with_token( + env: &Env, + client: &LeaderboardContractClient<'static>, + admin: &Address, +) -> pulse_token::PULSETokenContractClient<'static> { + let token_id = env.register(pulse_token::PULSETokenContract, ()); + let tclient = pulse_token::PULSETokenContractClient::new(env, &token_id); + tclient.initialize( + admin, + &String::from_str(env, "PULSE"), + &String::from_str(env, "PLSE"), + &7u32, + ); + // The leaderboard mints internally, so it must be an authorized minter. + tclient.set_minter(&client.address); + assert_eq!(tclient.interface_version(), 1); + tclient +} + +#[test] +fn test_reward_mints_token_when_interface_compatible() { + let (env, client, admin, market, _referral) = setup(); + let tclient = setup_with_token(&env, &client, &admin); + client.set_token(&admin, &tclient.address); + + let user = Address::generate(&env); + client.reward(&market, &user, &30_u64, &10_0000000_i128, &true); + + let s = client.get_stats(&user); + assert_eq!(s.points, 30); + assert_eq!(s.won_bets, 1); + assert_eq!(tclient.balance(&user), 10_0000000); +} + +#[test] +fn test_reward_rejects_incompatible_token_version() { + let (env, client, admin, market, _referral) = setup(); + let tclient = setup_with_token(&env, &client, &admin); + client.set_token(&admin, &tclient.address); + + // Simulate an uncoordinated upgrade: the token's mint ABI is new but its + // declared interface version was dropped to 0. reward must fail closed + // with IncompatibleInterface BEFORE awarding points or minting. + tclient.set_interface_version(&0); + + let user = Address::generate(&env); + let r = client.try_reward(&market, &user, &30_u64, &10_0000000_i128, &true); + match r { + Err(Ok(e)) => assert_eq!(e, LeaderboardError::IncompatibleInterface), + other => panic!("expected IncompatibleInterface, got {other:?}"), + } + + // Fail closed: no points were granted by the rejected call. + assert_eq!(client.get_points(&user), 0); + let s = client.get_stats(&user); + assert_eq!(s.points, 0); + assert_eq!(s.total_bets, 0); +} + +#[test] +fn test_reward_rejects_missing_token_version() { + let (env, client, admin, market, _referral) = setup(); + // A token that never exposes interface_version (pre-this-scheme contract). + let no_version = env.register(NoVersionContract, ()); + client.set_token(&admin, &no_version); + + let user = Address::generate(&env); + let r = client.try_reward(&market, &user, &30_u64, &10_0000000_i128, &true); + match r { + Err(Ok(e)) => assert_eq!(e, LeaderboardError::InterfaceVersionMissing), + other => panic!("expected InterfaceVersionMissing, got {other:?}"), + } + assert_eq!(client.get_points(&user), 0); +} + +#[test] +fn test_reward_bonus_rejects_incompatible_token_version() { + let (env, client, admin, _market, referral) = setup(); + let tclient = setup_with_token(&env, &client, &admin); + client.set_token(&admin, &tclient.address); + + tclient.set_interface_version(&0); + + let user = Address::generate(&env); + let r = client.try_reward_bonus(&referral, &user, &5_u64, &10_0000000_i128); + match r { + Err(Ok(e)) => assert_eq!(e, LeaderboardError::IncompatibleInterface), + other => panic!("expected IncompatibleInterface, got {other:?}"), + } + assert_eq!(client.get_points(&user), 0); + + // Coordinated recovery: re-declare the version; bonus proceeds normally. + tclient.set_interface_version(&1); + client.reward_bonus(&referral, &user, &5_u64, &10_0000000_i128); + assert_eq!(client.get_points(&user), 5); + assert_eq!(tclient.balance(&user), 10_0000000); +} diff --git a/leaderboard/test_snapshots/tests/test_accumulate_points.1.json b/leaderboard/test_snapshots/tests/test_accumulate_points.1.json index b1f605c..53f944c 100644 --- a/leaderboard/test_snapshots/tests/test_accumulate_points.1.json +++ b/leaderboard/test_snapshots/tests/test_accumulate_points.1.json @@ -149,26 +149,26 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { - "u32": 0 + "u32": 1 } }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 1 + "u64": "100" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "100" + "u32": 3 } }, { @@ -256,7 +256,7 @@ }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -285,6 +285,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -306,7 +318,7 @@ ] }, "val": { - "u64": "50" + "u64": "100" } }, { @@ -352,7 +364,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 }, { "entry": { @@ -446,7 +458,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 } ] }, diff --git a/leaderboard/test_snapshots/tests/test_add_points_and_verify_balance.1.json b/leaderboard/test_snapshots/tests/test_add_points_and_verify_balance.1.json index 8e53e3c..cf06a1c 100644 --- a/leaderboard/test_snapshots/tests/test_add_points_and_verify_balance.1.json +++ b/leaderboard/test_snapshots/tests/test_add_points_and_verify_balance.1.json @@ -93,7 +93,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -101,18 +101,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "100" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "100" + "u32": 1 } }, { @@ -200,7 +200,7 @@ }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -229,6 +229,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -250,7 +262,7 @@ ] }, "val": { - "u64": "100" + "u64": "0" } }, { @@ -296,7 +308,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 }, { "entry": { @@ -350,7 +362,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 } ] }, diff --git a/leaderboard/test_snapshots/tests/test_bonus_only_user_has_nonzero_total_bets.1.json b/leaderboard/test_snapshots/tests/test_bonus_only_user_has_nonzero_total_bets.1.json index 1a58cc9..c214779 100644 --- a/leaderboard/test_snapshots/tests/test_bonus_only_user_has_nonzero_total_bets.1.json +++ b/leaderboard/test_snapshots/tests/test_bonus_only_user_has_nonzero_total_bets.1.json @@ -118,26 +118,26 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { - "u32": 2 + "u32": 0 } }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "8" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "8" + "u32": 2 } }, { @@ -225,7 +225,7 @@ }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -254,6 +254,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -275,7 +287,7 @@ ] }, "val": { - "u64": "3" + "u64": "8" } }, { @@ -321,7 +333,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 }, { "entry": { @@ -395,7 +407,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 } ] }, diff --git a/leaderboard/test_snapshots/tests/test_bonus_pts_no_won_lost.1.json b/leaderboard/test_snapshots/tests/test_bonus_pts_no_won_lost.1.json index f91d758..a0dab33 100644 --- a/leaderboard/test_snapshots/tests/test_bonus_pts_no_won_lost.1.json +++ b/leaderboard/test_snapshots/tests/test_bonus_pts_no_won_lost.1.json @@ -147,7 +147,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 1 @@ -155,18 +155,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 1 + "u64": "40" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "40" + "u32": 3 } }, { @@ -254,7 +254,7 @@ }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -283,6 +283,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -304,7 +316,7 @@ ] }, "val": { - "u64": "10" + "u64": "40" } }, { @@ -350,7 +362,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 }, { "entry": { @@ -444,7 +456,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 } ] }, diff --git a/leaderboard/test_snapshots/tests/test_bottom_player_rising_updates_min.1.json b/leaderboard/test_snapshots/tests/test_bottom_player_rising_updates_min.1.json index e6e6d73..c2ce16f 100644 --- a/leaderboard/test_snapshots/tests/test_bottom_player_rising_updates_min.1.json +++ b/leaderboard/test_snapshots/tests/test_bottom_player_rising_updates_min.1.json @@ -1524,7 +1524,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -1532,18 +1532,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "1000" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "1000" + "u32": 2 } }, { @@ -1584,7 +1584,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -1592,18 +1592,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "110" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "110" + "u32": 1 } }, { @@ -1644,7 +1644,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -1652,18 +1652,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "120" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "120" + "u32": 1 } }, { @@ -1704,7 +1704,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -1712,18 +1712,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "130" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "130" + "u32": 1 } }, { @@ -1764,7 +1764,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -1772,18 +1772,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "140" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "140" + "u32": 1 } }, { @@ -1824,7 +1824,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -1832,18 +1832,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "150" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "150" + "u32": 1 } }, { @@ -1884,7 +1884,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -1892,18 +1892,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "160" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "160" + "u32": 1 } }, { @@ -1944,7 +1944,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -1952,18 +1952,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "170" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "170" + "u32": 1 } }, { @@ -2004,7 +2004,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2012,18 +2012,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "180" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "180" + "u32": 1 } }, { @@ -2064,7 +2064,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2072,18 +2072,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "190" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "190" + "u32": 1 } }, { @@ -2124,7 +2124,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2132,18 +2132,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "200" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "200" + "u32": 1 } }, { @@ -2184,7 +2184,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2192,18 +2192,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "210" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "210" + "u32": 1 } }, { @@ -2244,7 +2244,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2252,18 +2252,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "220" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "220" + "u32": 1 } }, { @@ -2304,7 +2304,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2312,18 +2312,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "230" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "230" + "u32": 1 } }, { @@ -2364,7 +2364,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2372,18 +2372,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "240" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "240" + "u32": 1 } }, { @@ -2424,7 +2424,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2432,18 +2432,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "250" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "250" + "u32": 1 } }, { @@ -2484,7 +2484,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2492,18 +2492,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "260" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "260" + "u32": 1 } }, { @@ -2544,7 +2544,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2552,18 +2552,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "270" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "270" + "u32": 1 } }, { @@ -2604,7 +2604,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2612,18 +2612,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "280" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "280" + "u32": 1 } }, { @@ -2664,7 +2664,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2672,18 +2672,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "290" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "290" + "u32": 1 } }, { @@ -2724,7 +2724,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2732,18 +2732,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "300" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "300" + "u32": 1 } }, { @@ -2784,7 +2784,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2792,18 +2792,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "310" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "310" + "u32": 1 } }, { @@ -2844,7 +2844,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2852,18 +2852,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "320" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "320" + "u32": 1 } }, { @@ -2904,7 +2904,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2912,18 +2912,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "330" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "330" + "u32": 1 } }, { @@ -2964,7 +2964,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2972,18 +2972,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "340" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "340" + "u32": 1 } }, { @@ -3024,7 +3024,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3032,18 +3032,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "350" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "350" + "u32": 1 } }, { @@ -3084,7 +3084,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3092,18 +3092,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "360" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "360" + "u32": 1 } }, { @@ -3144,7 +3144,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3152,18 +3152,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "370" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "370" + "u32": 1 } }, { @@ -3204,7 +3204,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3212,18 +3212,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "380" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "380" + "u32": 1 } }, { @@ -3264,7 +3264,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3272,18 +3272,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "390" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "390" + "u32": 1 } }, { @@ -3324,7 +3324,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3332,18 +3332,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "400" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "400" + "u32": 1 } }, { @@ -3384,7 +3384,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3392,18 +3392,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "410" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "410" + "u32": 1 } }, { @@ -3444,7 +3444,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3452,18 +3452,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "420" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "420" + "u32": 1 } }, { @@ -3504,7 +3504,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3512,18 +3512,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "430" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "430" + "u32": 1 } }, { @@ -3564,7 +3564,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3572,18 +3572,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "440" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "440" + "u32": 1 } }, { @@ -3624,7 +3624,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3632,18 +3632,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "450" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "450" + "u32": 1 } }, { @@ -3684,7 +3684,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3692,18 +3692,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "460" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "460" + "u32": 1 } }, { @@ -3744,7 +3744,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3752,18 +3752,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "470" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "470" + "u32": 1 } }, { @@ -3804,7 +3804,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3812,18 +3812,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "480" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "480" + "u32": 1 } }, { @@ -3864,7 +3864,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3872,18 +3872,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "490" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "490" + "u32": 1 } }, { @@ -3924,7 +3924,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3932,18 +3932,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "500" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "500" + "u32": 1 } }, { @@ -3984,7 +3984,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3992,18 +3992,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "510" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "510" + "u32": 1 } }, { @@ -4044,7 +4044,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -4052,18 +4052,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "520" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "520" + "u32": 1 } }, { @@ -4104,7 +4104,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -4112,18 +4112,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "530" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "530" + "u32": 1 } }, { @@ -4164,7 +4164,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -4172,18 +4172,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "540" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "540" + "u32": 1 } }, { @@ -4224,7 +4224,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -4232,18 +4232,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "550" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "550" + "u32": 1 } }, { @@ -4284,7 +4284,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -4292,18 +4292,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "560" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "560" + "u32": 1 } }, { @@ -4344,7 +4344,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -4352,18 +4352,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "570" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "570" + "u32": 1 } }, { @@ -4404,7 +4404,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -4412,18 +4412,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "580" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "580" + "u32": 1 } }, { @@ -4464,7 +4464,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -4472,18 +4472,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "590" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "590" + "u32": 1 } }, { @@ -4524,7 +4524,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -4532,18 +4532,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "105" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "105" + "u32": 1 } }, { @@ -4631,7 +4631,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMXIK" } }, { @@ -4639,7 +4639,7 @@ "symbol": "points" }, "val": { - "u64": "110" + "u64": "590" } } ] @@ -4675,7 +4675,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADKPR2" } }, { @@ -4683,7 +4683,7 @@ "symbol": "points" }, "val": { - "u64": "120" + "u64": "580" } } ] @@ -4719,7 +4719,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADIHZK" } }, { @@ -4727,7 +4727,7 @@ "symbol": "points" }, "val": { - "u64": "130" + "u64": "570" } } ] @@ -4763,7 +4763,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATYON" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADH6C2" } }, { @@ -4771,7 +4771,7 @@ "symbol": "points" }, "val": { - "u64": "140" + "u64": "560" } } ] @@ -4807,7 +4807,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAX5" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFWKK" } }, { @@ -4815,7 +4815,7 @@ "symbol": "points" }, "val": { - "u64": "150" + "u64": "550" } } ] @@ -4851,7 +4851,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXI7N" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADDOT2" } }, { @@ -4859,7 +4859,7 @@ "symbol": "points" }, "val": { - "u64": "160" + "u64": "540" } } ] @@ -4895,7 +4895,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYRE5" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADBG3K" } }, { @@ -4903,7 +4903,7 @@ "symbol": "points" }, "val": { - "u64": "170" + "u64": "530" } } ] @@ -4939,7 +4939,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2ZMN" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC6RMJ" } }, { @@ -4947,7 +4947,7 @@ "symbol": "points" }, "val": { - "u64": "180" + "u64": "520" } } ] @@ -4983,7 +4983,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4BV5" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4ZEZ" } }, { @@ -4991,7 +4991,7 @@ "symbol": "points" }, "val": { - "u64": "190" + "u64": "510" } } ] @@ -5027,7 +5027,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6J5N" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC2B5J" } }, { @@ -5035,7 +5035,7 @@ "symbol": "points" }, "val": { - "u64": "200" + "u64": "500" } } ] @@ -5071,7 +5071,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABB6KO" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYJVZ" } }, { @@ -5079,7 +5079,7 @@ "symbol": "points" }, "val": { - "u64": "210" + "u64": "490" } } ] @@ -5115,7 +5115,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABDWC6" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACXQOJ" } }, { @@ -5123,7 +5123,7 @@ "symbol": "points" }, "val": { - "u64": "220" + "u64": "480" } } ] @@ -5159,7 +5159,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFO3O" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACVYGZ" } }, { @@ -5167,7 +5167,7 @@ "symbol": "points" }, "val": { - "u64": "230" + "u64": "470" } } ] @@ -5203,7 +5203,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHGT6" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACTA7J" } }, { @@ -5211,7 +5211,7 @@ "symbol": "points" }, "val": { - "u64": "240" + "u64": "460" } } ] @@ -5247,7 +5247,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABI7IO" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACRIXZ" } }, { @@ -5255,7 +5255,7 @@ "symbol": "points" }, "val": { - "u64": "250" + "u64": "450" } } ] @@ -5291,7 +5291,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKXA6" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACOTII" } }, { @@ -5299,7 +5299,7 @@ "symbol": "points" }, "val": { - "u64": "260" + "u64": "440" } } ] @@ -5335,7 +5335,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMPZO" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACM3AY" } }, { @@ -5343,7 +5343,7 @@ "symbol": "points" }, "val": { - "u64": "270" + "u64": "430" } } ] @@ -5379,7 +5379,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOHR6" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACKDZI" } }, { @@ -5387,7 +5387,7 @@ "symbol": "points" }, "val": { - "u64": "280" + "u64": "420" } } ] @@ -5423,7 +5423,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABR4OP" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACILRY" } }, { @@ -5431,7 +5431,7 @@ "symbol": "points" }, "val": { - "u64": "290" + "u64": "410" } } ] @@ -5467,7 +5467,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABTUG7" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACHSKI" } }, { @@ -5475,7 +5475,7 @@ "symbol": "points" }, "val": { - "u64": "300" + "u64": "400" } } ] @@ -5511,7 +5511,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVM7P" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACF2CY" } }, { @@ -5519,7 +5519,7 @@ "symbol": "points" }, "val": { - "u64": "310" + "u64": "390" } } ] @@ -5555,7 +5555,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABXEX7" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACDC3I" } }, { @@ -5563,7 +5563,7 @@ "symbol": "points" }, "val": { - "u64": "320" + "u64": "380" } } ] @@ -5599,7 +5599,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABY5MP" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBKTY" } }, { @@ -5607,7 +5607,7 @@ "symbol": "points" }, "val": { - "u64": "330" + "u64": "370" } } ] @@ -5643,7 +5643,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB2VE7" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB6FV7" } }, { @@ -5651,7 +5651,7 @@ "symbol": "points" }, "val": { - "u64": "340" + "u64": "360" } } ] @@ -5731,7 +5731,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB6FV7" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB2VE7" } }, { @@ -5739,7 +5739,7 @@ "symbol": "points" }, "val": { - "u64": "360" + "u64": "340" } } ] @@ -5775,7 +5775,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBKTY" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABY5MP" } }, { @@ -5783,7 +5783,7 @@ "symbol": "points" }, "val": { - "u64": "370" + "u64": "330" } } ] @@ -5819,7 +5819,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACDC3I" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABXEX7" } }, { @@ -5827,7 +5827,7 @@ "symbol": "points" }, "val": { - "u64": "380" + "u64": "320" } } ] @@ -5863,7 +5863,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACF2CY" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVM7P" } }, { @@ -5871,7 +5871,7 @@ "symbol": "points" }, "val": { - "u64": "390" + "u64": "310" } } ] @@ -5907,7 +5907,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACHSKI" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABTUG7" } }, { @@ -5915,7 +5915,7 @@ "symbol": "points" }, "val": { - "u64": "400" + "u64": "300" } } ] @@ -5951,7 +5951,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACILRY" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABR4OP" } }, { @@ -5959,7 +5959,7 @@ "symbol": "points" }, "val": { - "u64": "410" + "u64": "290" } } ] @@ -5995,7 +5995,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACKDZI" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOHR6" } }, { @@ -6003,7 +6003,7 @@ "symbol": "points" }, "val": { - "u64": "420" + "u64": "280" } } ] @@ -6039,7 +6039,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACM3AY" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMPZO" } }, { @@ -6047,7 +6047,7 @@ "symbol": "points" }, "val": { - "u64": "430" + "u64": "270" } } ] @@ -6083,7 +6083,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACOTII" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKXA6" } }, { @@ -6091,7 +6091,7 @@ "symbol": "points" }, "val": { - "u64": "440" + "u64": "260" } } ] @@ -6127,7 +6127,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACRIXZ" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABI7IO" } }, { @@ -6135,7 +6135,7 @@ "symbol": "points" }, "val": { - "u64": "450" + "u64": "250" } } ] @@ -6171,7 +6171,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACTA7J" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHGT6" } }, { @@ -6179,7 +6179,7 @@ "symbol": "points" }, "val": { - "u64": "460" + "u64": "240" } } ] @@ -6215,7 +6215,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACVYGZ" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFO3O" } }, { @@ -6223,7 +6223,7 @@ "symbol": "points" }, "val": { - "u64": "470" + "u64": "230" } } ] @@ -6259,7 +6259,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACXQOJ" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABDWC6" } }, { @@ -6267,7 +6267,7 @@ "symbol": "points" }, "val": { - "u64": "480" + "u64": "220" } } ] @@ -6303,7 +6303,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYJVZ" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABB6KO" } }, { @@ -6311,7 +6311,7 @@ "symbol": "points" }, "val": { - "u64": "490" + "u64": "210" } } ] @@ -6347,7 +6347,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC2B5J" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6J5N" } }, { @@ -6355,7 +6355,7 @@ "symbol": "points" }, "val": { - "u64": "500" + "u64": "200" } } ] @@ -6391,7 +6391,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4ZEZ" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4BV5" } }, { @@ -6399,7 +6399,7 @@ "symbol": "points" }, "val": { - "u64": "510" + "u64": "190" } } ] @@ -6435,7 +6435,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC6RMJ" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2ZMN" } }, { @@ -6443,7 +6443,7 @@ "symbol": "points" }, "val": { - "u64": "520" + "u64": "180" } } ] @@ -6479,7 +6479,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADBG3K" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYRE5" } }, { @@ -6487,7 +6487,7 @@ "symbol": "points" }, "val": { - "u64": "530" + "u64": "170" } } ] @@ -6523,7 +6523,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADDOT2" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXI7N" } }, { @@ -6531,7 +6531,7 @@ "symbol": "points" }, "val": { - "u64": "540" + "u64": "160" } } ] @@ -6567,7 +6567,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFWKK" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAX5" } }, { @@ -6575,7 +6575,7 @@ "symbol": "points" }, "val": { - "u64": "550" + "u64": "150" } } ] @@ -6611,7 +6611,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADH6C2" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATYON" } }, { @@ -6619,7 +6619,7 @@ "symbol": "points" }, "val": { - "u64": "560" + "u64": "140" } } ] @@ -6655,7 +6655,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADIHZK" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" } }, { @@ -6663,7 +6663,7 @@ "symbol": "points" }, "val": { - "u64": "570" + "u64": "130" } } ] @@ -6699,7 +6699,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADKPR2" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" } }, { @@ -6707,7 +6707,7 @@ "symbol": "points" }, "val": { - "u64": "580" + "u64": "120" } } ] @@ -6743,7 +6743,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMXIK" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } }, { @@ -6751,7 +6751,7 @@ "symbol": "points" }, "val": { - "u64": "590" + "u64": "110" } } ] @@ -6787,7 +6787,7 @@ }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -6808,13 +6808,13 @@ }, "durability": "persistent", "val": { - "u32": 1 + "u32": 49 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -6835,13 +6835,13 @@ }, "durability": "persistent", "val": { - "u32": 2 + "u32": 48 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -6862,13 +6862,13 @@ }, "durability": "persistent", "val": { - "u32": 3 + "u32": 47 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -6889,13 +6889,13 @@ }, "durability": "persistent", "val": { - "u32": 4 + "u32": 46 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -6916,13 +6916,13 @@ }, "durability": "persistent", "val": { - "u32": 5 + "u32": 45 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -6943,13 +6943,13 @@ }, "durability": "persistent", "val": { - "u32": 6 + "u32": 44 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -6970,13 +6970,13 @@ }, "durability": "persistent", "val": { - "u32": 7 + "u32": 43 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -6997,13 +6997,13 @@ }, "durability": "persistent", "val": { - "u32": 8 + "u32": 42 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7024,13 +7024,13 @@ }, "durability": "persistent", "val": { - "u32": 9 + "u32": 41 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7051,13 +7051,13 @@ }, "durability": "persistent", "val": { - "u32": 10 + "u32": 40 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7078,13 +7078,13 @@ }, "durability": "persistent", "val": { - "u32": 11 + "u32": 39 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7105,13 +7105,13 @@ }, "durability": "persistent", "val": { - "u32": 12 + "u32": 38 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7132,13 +7132,13 @@ }, "durability": "persistent", "val": { - "u32": 13 + "u32": 37 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7159,13 +7159,13 @@ }, "durability": "persistent", "val": { - "u32": 14 + "u32": 36 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7186,13 +7186,13 @@ }, "durability": "persistent", "val": { - "u32": 15 + "u32": 35 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7213,13 +7213,13 @@ }, "durability": "persistent", "val": { - "u32": 16 + "u32": 34 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7240,13 +7240,13 @@ }, "durability": "persistent", "val": { - "u32": 17 + "u32": 33 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7267,13 +7267,13 @@ }, "durability": "persistent", "val": { - "u32": 18 + "u32": 32 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7294,13 +7294,13 @@ }, "durability": "persistent", "val": { - "u32": 19 + "u32": 31 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7321,13 +7321,13 @@ }, "durability": "persistent", "val": { - "u32": 20 + "u32": 30 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7348,13 +7348,13 @@ }, "durability": "persistent", "val": { - "u32": 21 + "u32": 29 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7375,13 +7375,13 @@ }, "durability": "persistent", "val": { - "u32": 22 + "u32": 28 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7402,13 +7402,13 @@ }, "durability": "persistent", "val": { - "u32": 23 + "u32": 27 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7429,13 +7429,13 @@ }, "durability": "persistent", "val": { - "u32": 24 + "u32": 26 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7462,7 +7462,7 @@ }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7483,13 +7483,13 @@ }, "durability": "persistent", "val": { - "u32": 26 + "u32": 24 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7510,13 +7510,13 @@ }, "durability": "persistent", "val": { - "u32": 27 + "u32": 23 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7537,13 +7537,13 @@ }, "durability": "persistent", "val": { - "u32": 28 + "u32": 22 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7564,13 +7564,13 @@ }, "durability": "persistent", "val": { - "u32": 29 + "u32": 21 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7591,13 +7591,13 @@ }, "durability": "persistent", "val": { - "u32": 30 + "u32": 20 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7618,13 +7618,13 @@ }, "durability": "persistent", "val": { - "u32": 31 + "u32": 19 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7645,13 +7645,13 @@ }, "durability": "persistent", "val": { - "u32": 32 + "u32": 18 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7672,13 +7672,13 @@ }, "durability": "persistent", "val": { - "u32": 33 + "u32": 17 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7699,13 +7699,13 @@ }, "durability": "persistent", "val": { - "u32": 34 + "u32": 16 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7726,13 +7726,13 @@ }, "durability": "persistent", "val": { - "u32": 35 + "u32": 15 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7753,13 +7753,13 @@ }, "durability": "persistent", "val": { - "u32": 36 + "u32": 14 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7780,13 +7780,13 @@ }, "durability": "persistent", "val": { - "u32": 37 + "u32": 13 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7807,13 +7807,13 @@ }, "durability": "persistent", "val": { - "u32": 38 + "u32": 12 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7834,13 +7834,13 @@ }, "durability": "persistent", "val": { - "u32": 39 + "u32": 11 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7861,13 +7861,13 @@ }, "durability": "persistent", "val": { - "u32": 40 + "u32": 10 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7888,13 +7888,13 @@ }, "durability": "persistent", "val": { - "u32": 41 + "u32": 9 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7915,13 +7915,13 @@ }, "durability": "persistent", "val": { - "u32": 42 + "u32": 8 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7942,13 +7942,13 @@ }, "durability": "persistent", "val": { - "u32": 43 + "u32": 7 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7969,13 +7969,13 @@ }, "durability": "persistent", "val": { - "u32": 44 + "u32": 6 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7996,13 +7996,13 @@ }, "durability": "persistent", "val": { - "u32": 45 + "u32": 5 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -8023,13 +8023,13 @@ }, "durability": "persistent", "val": { - "u32": 46 + "u32": 4 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -8050,13 +8050,13 @@ }, "durability": "persistent", "val": { - "u32": 47 + "u32": 3 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -8077,13 +8077,13 @@ }, "durability": "persistent", "val": { - "u32": 48 + "u32": 2 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -8104,13 +8104,13 @@ }, "durability": "persistent", "val": { - "u32": 49 + "u32": 1 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -8139,6 +8139,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -8172,7 +8184,7 @@ ] }, "val": { - "u32": 1 + "u32": 49 } }, { @@ -8206,7 +8218,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 }, { "entry": { @@ -9280,7 +9292,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 } ] }, diff --git a/leaderboard/test_snapshots/tests/test_double_init_rejected.1.json b/leaderboard/test_snapshots/tests/test_double_init_rejected.1.json index 99f500e..da04afb 100644 --- a/leaderboard/test_snapshots/tests/test_double_init_rejected.1.json +++ b/leaderboard/test_snapshots/tests/test_double_init_rejected.1.json @@ -70,6 +70,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -82,6 +94,30 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" } }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, { "key": { "vec": [ @@ -113,7 +149,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 }, { "entry": { @@ -147,7 +183,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 } ] }, diff --git a/leaderboard/test_snapshots/tests/test_eviction_replaces_lowest_when_full.1.json b/leaderboard/test_snapshots/tests/test_eviction_replaces_lowest_when_full.1.json index b7c4382..27e3eb2 100644 --- a/leaderboard/test_snapshots/tests/test_eviction_replaces_lowest_when_full.1.json +++ b/leaderboard/test_snapshots/tests/test_eviction_replaces_lowest_when_full.1.json @@ -1496,7 +1496,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -1504,18 +1504,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "100" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "100" + "u32": 1 } }, { @@ -1556,7 +1556,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -1564,18 +1564,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "101" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "101" + "u32": 1 } }, { @@ -1616,7 +1616,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -1624,18 +1624,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "102" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "102" + "u32": 1 } }, { @@ -1676,7 +1676,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -1684,18 +1684,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "103" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "103" + "u32": 1 } }, { @@ -1736,7 +1736,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -1744,18 +1744,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "104" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "104" + "u32": 1 } }, { @@ -1796,7 +1796,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -1804,18 +1804,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "105" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "105" + "u32": 1 } }, { @@ -1856,7 +1856,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -1864,18 +1864,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "106" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "106" + "u32": 1 } }, { @@ -1916,7 +1916,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -1924,18 +1924,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "107" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "107" + "u32": 1 } }, { @@ -1976,7 +1976,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -1984,18 +1984,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "108" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "108" + "u32": 1 } }, { @@ -2036,7 +2036,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2044,18 +2044,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "109" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "109" + "u32": 1 } }, { @@ -2096,7 +2096,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2104,18 +2104,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "110" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "110" + "u32": 1 } }, { @@ -2156,7 +2156,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2164,18 +2164,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "111" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "111" + "u32": 1 } }, { @@ -2216,7 +2216,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2224,18 +2224,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "112" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "112" + "u32": 1 } }, { @@ -2276,7 +2276,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2284,18 +2284,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "113" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "113" + "u32": 1 } }, { @@ -2336,7 +2336,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2344,18 +2344,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "114" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "114" + "u32": 1 } }, { @@ -2396,7 +2396,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2404,18 +2404,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "115" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "115" + "u32": 1 } }, { @@ -2456,7 +2456,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2464,18 +2464,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "116" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "116" + "u32": 1 } }, { @@ -2516,7 +2516,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2524,18 +2524,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "117" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "117" + "u32": 1 } }, { @@ -2576,7 +2576,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2584,18 +2584,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "118" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "118" + "u32": 1 } }, { @@ -2636,7 +2636,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2644,18 +2644,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "119" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "119" + "u32": 1 } }, { @@ -2696,7 +2696,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2704,18 +2704,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "120" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "120" + "u32": 1 } }, { @@ -2756,7 +2756,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2764,18 +2764,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "121" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "121" + "u32": 1 } }, { @@ -2816,7 +2816,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2824,18 +2824,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "122" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "122" + "u32": 1 } }, { @@ -2876,7 +2876,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2884,18 +2884,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "123" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "123" + "u32": 1 } }, { @@ -2936,7 +2936,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2944,18 +2944,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "124" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "124" + "u32": 1 } }, { @@ -2996,7 +2996,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3004,18 +3004,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "125" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "125" + "u32": 1 } }, { @@ -3056,7 +3056,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3064,18 +3064,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "126" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "126" + "u32": 1 } }, { @@ -3116,7 +3116,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3124,18 +3124,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "127" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "127" + "u32": 1 } }, { @@ -3176,7 +3176,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3184,18 +3184,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "128" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "128" + "u32": 1 } }, { @@ -3236,7 +3236,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3244,18 +3244,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "129" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "129" + "u32": 1 } }, { @@ -3296,7 +3296,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3304,18 +3304,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "130" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "130" + "u32": 1 } }, { @@ -3356,7 +3356,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3364,18 +3364,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "131" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "131" + "u32": 1 } }, { @@ -3416,7 +3416,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3424,18 +3424,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "132" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "132" + "u32": 1 } }, { @@ -3476,7 +3476,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3484,18 +3484,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "133" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "133" + "u32": 1 } }, { @@ -3536,7 +3536,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3544,18 +3544,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "134" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "134" + "u32": 1 } }, { @@ -3596,7 +3596,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3604,18 +3604,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "135" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "135" + "u32": 1 } }, { @@ -3656,7 +3656,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3664,18 +3664,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "136" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "136" + "u32": 1 } }, { @@ -3716,7 +3716,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3724,18 +3724,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "137" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "137" + "u32": 1 } }, { @@ -3776,7 +3776,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3784,18 +3784,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "138" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "138" + "u32": 1 } }, { @@ -3836,7 +3836,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3844,18 +3844,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "139" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "139" + "u32": 1 } }, { @@ -3896,7 +3896,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3904,18 +3904,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "140" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "140" + "u32": 1 } }, { @@ -3956,7 +3956,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3964,18 +3964,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "141" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "141" + "u32": 1 } }, { @@ -4016,7 +4016,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -4024,18 +4024,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "142" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "142" + "u32": 1 } }, { @@ -4076,7 +4076,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -4084,18 +4084,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "143" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "143" + "u32": 1 } }, { @@ -4136,7 +4136,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -4144,18 +4144,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "144" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "144" + "u32": 1 } }, { @@ -4196,7 +4196,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -4204,18 +4204,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "145" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "145" + "u32": 1 } }, { @@ -4256,7 +4256,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -4264,18 +4264,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "146" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "146" + "u32": 1 } }, { @@ -4316,7 +4316,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -4324,18 +4324,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "147" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "147" + "u32": 1 } }, { @@ -4376,7 +4376,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -4384,18 +4384,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "148" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "148" + "u32": 1 } }, { @@ -4436,7 +4436,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -4444,18 +4444,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "149" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "149" + "u32": 1 } }, { @@ -4496,7 +4496,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -4504,18 +4504,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "500" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "500" + "u32": 1 } }, { @@ -4603,7 +4603,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMXIK" } }, { @@ -4611,7 +4611,7 @@ "symbol": "points" }, "val": { - "u64": "101" + "u64": "149" } } ] @@ -4647,7 +4647,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADKPR2" } }, { @@ -4655,7 +4655,7 @@ "symbol": "points" }, "val": { - "u64": "102" + "u64": "148" } } ] @@ -4691,7 +4691,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADIHZK" } }, { @@ -4699,7 +4699,7 @@ "symbol": "points" }, "val": { - "u64": "103" + "u64": "147" } } ] @@ -4735,7 +4735,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATYON" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADH6C2" } }, { @@ -4743,7 +4743,7 @@ "symbol": "points" }, "val": { - "u64": "104" + "u64": "146" } } ] @@ -4779,7 +4779,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAX5" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFWKK" } }, { @@ -4787,7 +4787,7 @@ "symbol": "points" }, "val": { - "u64": "105" + "u64": "145" } } ] @@ -4823,7 +4823,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXI7N" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADDOT2" } }, { @@ -4831,7 +4831,7 @@ "symbol": "points" }, "val": { - "u64": "106" + "u64": "144" } } ] @@ -4867,7 +4867,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYRE5" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADBG3K" } }, { @@ -4875,7 +4875,7 @@ "symbol": "points" }, "val": { - "u64": "107" + "u64": "143" } } ] @@ -4911,7 +4911,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2ZMN" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC6RMJ" } }, { @@ -4919,7 +4919,7 @@ "symbol": "points" }, "val": { - "u64": "108" + "u64": "142" } } ] @@ -4955,7 +4955,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4BV5" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4ZEZ" } }, { @@ -4963,7 +4963,7 @@ "symbol": "points" }, "val": { - "u64": "109" + "u64": "141" } } ] @@ -4999,7 +4999,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6J5N" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC2B5J" } }, { @@ -5007,7 +5007,7 @@ "symbol": "points" }, "val": { - "u64": "110" + "u64": "140" } } ] @@ -5043,7 +5043,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABB6KO" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYJVZ" } }, { @@ -5051,7 +5051,7 @@ "symbol": "points" }, "val": { - "u64": "111" + "u64": "139" } } ] @@ -5087,7 +5087,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABDWC6" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACXQOJ" } }, { @@ -5095,7 +5095,7 @@ "symbol": "points" }, "val": { - "u64": "112" + "u64": "138" } } ] @@ -5131,7 +5131,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFO3O" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACVYGZ" } }, { @@ -5139,7 +5139,7 @@ "symbol": "points" }, "val": { - "u64": "113" + "u64": "137" } } ] @@ -5175,7 +5175,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHGT6" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACTA7J" } }, { @@ -5183,7 +5183,7 @@ "symbol": "points" }, "val": { - "u64": "114" + "u64": "136" } } ] @@ -5219,7 +5219,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABI7IO" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACRIXZ" } }, { @@ -5227,7 +5227,7 @@ "symbol": "points" }, "val": { - "u64": "115" + "u64": "135" } } ] @@ -5263,7 +5263,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKXA6" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACOTII" } }, { @@ -5271,7 +5271,7 @@ "symbol": "points" }, "val": { - "u64": "116" + "u64": "134" } } ] @@ -5307,7 +5307,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMPZO" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACM3AY" } }, { @@ -5315,7 +5315,7 @@ "symbol": "points" }, "val": { - "u64": "117" + "u64": "133" } } ] @@ -5351,7 +5351,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOHR6" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACKDZI" } }, { @@ -5359,7 +5359,7 @@ "symbol": "points" }, "val": { - "u64": "118" + "u64": "132" } } ] @@ -5395,7 +5395,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABR4OP" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACILRY" } }, { @@ -5403,7 +5403,7 @@ "symbol": "points" }, "val": { - "u64": "119" + "u64": "131" } } ] @@ -5439,7 +5439,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABTUG7" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACHSKI" } }, { @@ -5447,7 +5447,7 @@ "symbol": "points" }, "val": { - "u64": "120" + "u64": "130" } } ] @@ -5483,7 +5483,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVM7P" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACF2CY" } }, { @@ -5491,7 +5491,7 @@ "symbol": "points" }, "val": { - "u64": "121" + "u64": "129" } } ] @@ -5527,7 +5527,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABXEX7" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACDC3I" } }, { @@ -5535,7 +5535,7 @@ "symbol": "points" }, "val": { - "u64": "122" + "u64": "128" } } ] @@ -5571,7 +5571,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABY5MP" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBKTY" } }, { @@ -5579,7 +5579,7 @@ "symbol": "points" }, "val": { - "u64": "123" + "u64": "127" } } ] @@ -5615,7 +5615,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB2VE7" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB6FV7" } }, { @@ -5623,7 +5623,7 @@ "symbol": "points" }, "val": { - "u64": "124" + "u64": "126" } } ] @@ -5703,7 +5703,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB6FV7" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB2VE7" } }, { @@ -5711,7 +5711,7 @@ "symbol": "points" }, "val": { - "u64": "126" + "u64": "124" } } ] @@ -5747,7 +5747,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBKTY" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABY5MP" } }, { @@ -5755,7 +5755,7 @@ "symbol": "points" }, "val": { - "u64": "127" + "u64": "123" } } ] @@ -5791,7 +5791,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACDC3I" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABXEX7" } }, { @@ -5799,7 +5799,7 @@ "symbol": "points" }, "val": { - "u64": "128" + "u64": "122" } } ] @@ -5835,7 +5835,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACF2CY" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVM7P" } }, { @@ -5843,7 +5843,7 @@ "symbol": "points" }, "val": { - "u64": "129" + "u64": "121" } } ] @@ -5879,7 +5879,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACHSKI" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABTUG7" } }, { @@ -5887,7 +5887,7 @@ "symbol": "points" }, "val": { - "u64": "130" + "u64": "120" } } ] @@ -5923,7 +5923,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACILRY" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABR4OP" } }, { @@ -5931,7 +5931,7 @@ "symbol": "points" }, "val": { - "u64": "131" + "u64": "119" } } ] @@ -5967,7 +5967,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACKDZI" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOHR6" } }, { @@ -5975,7 +5975,7 @@ "symbol": "points" }, "val": { - "u64": "132" + "u64": "118" } } ] @@ -6011,7 +6011,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACM3AY" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMPZO" } }, { @@ -6019,7 +6019,7 @@ "symbol": "points" }, "val": { - "u64": "133" + "u64": "117" } } ] @@ -6055,7 +6055,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACOTII" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKXA6" } }, { @@ -6063,7 +6063,7 @@ "symbol": "points" }, "val": { - "u64": "134" + "u64": "116" } } ] @@ -6099,7 +6099,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACRIXZ" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABI7IO" } }, { @@ -6107,7 +6107,7 @@ "symbol": "points" }, "val": { - "u64": "135" + "u64": "115" } } ] @@ -6143,7 +6143,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACTA7J" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHGT6" } }, { @@ -6151,7 +6151,7 @@ "symbol": "points" }, "val": { - "u64": "136" + "u64": "114" } } ] @@ -6187,7 +6187,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACVYGZ" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFO3O" } }, { @@ -6195,7 +6195,7 @@ "symbol": "points" }, "val": { - "u64": "137" + "u64": "113" } } ] @@ -6231,7 +6231,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACXQOJ" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABDWC6" } }, { @@ -6239,7 +6239,7 @@ "symbol": "points" }, "val": { - "u64": "138" + "u64": "112" } } ] @@ -6275,7 +6275,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYJVZ" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABB6KO" } }, { @@ -6283,7 +6283,7 @@ "symbol": "points" }, "val": { - "u64": "139" + "u64": "111" } } ] @@ -6319,7 +6319,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC2B5J" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6J5N" } }, { @@ -6327,7 +6327,7 @@ "symbol": "points" }, "val": { - "u64": "140" + "u64": "110" } } ] @@ -6363,7 +6363,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4ZEZ" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4BV5" } }, { @@ -6371,7 +6371,7 @@ "symbol": "points" }, "val": { - "u64": "141" + "u64": "109" } } ] @@ -6407,7 +6407,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC6RMJ" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2ZMN" } }, { @@ -6415,7 +6415,7 @@ "symbol": "points" }, "val": { - "u64": "142" + "u64": "108" } } ] @@ -6451,7 +6451,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADBG3K" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYRE5" } }, { @@ -6459,7 +6459,7 @@ "symbol": "points" }, "val": { - "u64": "143" + "u64": "107" } } ] @@ -6495,7 +6495,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADDOT2" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXI7N" } }, { @@ -6503,7 +6503,7 @@ "symbol": "points" }, "val": { - "u64": "144" + "u64": "106" } } ] @@ -6539,7 +6539,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFWKK" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAX5" } }, { @@ -6547,7 +6547,7 @@ "symbol": "points" }, "val": { - "u64": "145" + "u64": "105" } } ] @@ -6583,7 +6583,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADH6C2" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATYON" } }, { @@ -6591,7 +6591,7 @@ "symbol": "points" }, "val": { - "u64": "146" + "u64": "104" } } ] @@ -6627,7 +6627,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADIHZK" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" } }, { @@ -6635,7 +6635,7 @@ "symbol": "points" }, "val": { - "u64": "147" + "u64": "103" } } ] @@ -6671,7 +6671,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADKPR2" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" } }, { @@ -6679,7 +6679,7 @@ "symbol": "points" }, "val": { - "u64": "148" + "u64": "102" } } ] @@ -6715,7 +6715,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMXIK" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } }, { @@ -6723,7 +6723,7 @@ "symbol": "points" }, "val": { - "u64": "149" + "u64": "101" } } ] @@ -6753,13 +6753,13 @@ }, "durability": "persistent", "val": { - "u32": 1 + "u32": 49 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -6780,13 +6780,13 @@ }, "durability": "persistent", "val": { - "u32": 2 + "u32": 48 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -6807,13 +6807,13 @@ }, "durability": "persistent", "val": { - "u32": 3 + "u32": 47 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -6834,13 +6834,13 @@ }, "durability": "persistent", "val": { - "u32": 4 + "u32": 46 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -6861,13 +6861,13 @@ }, "durability": "persistent", "val": { - "u32": 5 + "u32": 45 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -6888,13 +6888,13 @@ }, "durability": "persistent", "val": { - "u32": 6 + "u32": 44 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -6915,13 +6915,13 @@ }, "durability": "persistent", "val": { - "u32": 7 + "u32": 43 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -6942,13 +6942,13 @@ }, "durability": "persistent", "val": { - "u32": 8 + "u32": 42 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -6969,13 +6969,13 @@ }, "durability": "persistent", "val": { - "u32": 9 + "u32": 41 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -6996,13 +6996,13 @@ }, "durability": "persistent", "val": { - "u32": 10 + "u32": 40 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7023,13 +7023,13 @@ }, "durability": "persistent", "val": { - "u32": 11 + "u32": 39 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7050,13 +7050,13 @@ }, "durability": "persistent", "val": { - "u32": 12 + "u32": 38 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7077,13 +7077,13 @@ }, "durability": "persistent", "val": { - "u32": 13 + "u32": 37 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7104,13 +7104,13 @@ }, "durability": "persistent", "val": { - "u32": 14 + "u32": 36 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7131,13 +7131,13 @@ }, "durability": "persistent", "val": { - "u32": 15 + "u32": 35 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7158,13 +7158,13 @@ }, "durability": "persistent", "val": { - "u32": 16 + "u32": 34 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7185,13 +7185,13 @@ }, "durability": "persistent", "val": { - "u32": 17 + "u32": 33 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7212,13 +7212,13 @@ }, "durability": "persistent", "val": { - "u32": 18 + "u32": 32 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7239,13 +7239,13 @@ }, "durability": "persistent", "val": { - "u32": 19 + "u32": 31 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7266,13 +7266,13 @@ }, "durability": "persistent", "val": { - "u32": 20 + "u32": 30 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7293,13 +7293,13 @@ }, "durability": "persistent", "val": { - "u32": 21 + "u32": 29 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7320,13 +7320,13 @@ }, "durability": "persistent", "val": { - "u32": 22 + "u32": 28 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7347,13 +7347,13 @@ }, "durability": "persistent", "val": { - "u32": 23 + "u32": 27 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7374,13 +7374,13 @@ }, "durability": "persistent", "val": { - "u32": 24 + "u32": 26 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7407,7 +7407,7 @@ }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7428,13 +7428,13 @@ }, "durability": "persistent", "val": { - "u32": 26 + "u32": 24 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7455,13 +7455,13 @@ }, "durability": "persistent", "val": { - "u32": 27 + "u32": 23 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7482,13 +7482,13 @@ }, "durability": "persistent", "val": { - "u32": 28 + "u32": 22 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7509,13 +7509,13 @@ }, "durability": "persistent", "val": { - "u32": 29 + "u32": 21 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7536,13 +7536,13 @@ }, "durability": "persistent", "val": { - "u32": 30 + "u32": 20 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7563,13 +7563,13 @@ }, "durability": "persistent", "val": { - "u32": 31 + "u32": 19 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7590,13 +7590,13 @@ }, "durability": "persistent", "val": { - "u32": 32 + "u32": 18 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7617,13 +7617,13 @@ }, "durability": "persistent", "val": { - "u32": 33 + "u32": 17 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7644,13 +7644,13 @@ }, "durability": "persistent", "val": { - "u32": 34 + "u32": 16 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7671,13 +7671,13 @@ }, "durability": "persistent", "val": { - "u32": 35 + "u32": 15 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7698,13 +7698,13 @@ }, "durability": "persistent", "val": { - "u32": 36 + "u32": 14 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7725,13 +7725,13 @@ }, "durability": "persistent", "val": { - "u32": 37 + "u32": 13 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7752,13 +7752,13 @@ }, "durability": "persistent", "val": { - "u32": 38 + "u32": 12 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7779,13 +7779,13 @@ }, "durability": "persistent", "val": { - "u32": 39 + "u32": 11 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7806,13 +7806,13 @@ }, "durability": "persistent", "val": { - "u32": 40 + "u32": 10 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7833,13 +7833,13 @@ }, "durability": "persistent", "val": { - "u32": 41 + "u32": 9 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7860,13 +7860,13 @@ }, "durability": "persistent", "val": { - "u32": 42 + "u32": 8 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7887,13 +7887,13 @@ }, "durability": "persistent", "val": { - "u32": 43 + "u32": 7 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7914,13 +7914,13 @@ }, "durability": "persistent", "val": { - "u32": 44 + "u32": 6 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7941,13 +7941,13 @@ }, "durability": "persistent", "val": { - "u32": 45 + "u32": 5 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7968,13 +7968,13 @@ }, "durability": "persistent", "val": { - "u32": 46 + "u32": 4 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7995,13 +7995,13 @@ }, "durability": "persistent", "val": { - "u32": 47 + "u32": 3 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -8022,13 +8022,13 @@ }, "durability": "persistent", "val": { - "u32": 48 + "u32": 2 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -8049,13 +8049,13 @@ }, "durability": "persistent", "val": { - "u32": 49 + "u32": 1 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -8082,7 +8082,7 @@ }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -8111,6 +8111,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -8144,7 +8156,7 @@ ] }, "val": { - "u32": 1 + "u32": 49 } }, { @@ -8178,7 +8190,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 }, { "entry": { @@ -9232,7 +9244,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 } ] }, diff --git a/leaderboard/test_snapshots/tests/test_get_stats_aggregate.1.json b/leaderboard/test_snapshots/tests/test_get_stats_aggregate.1.json index d21748e..840237a 100644 --- a/leaderboard/test_snapshots/tests/test_get_stats_aggregate.1.json +++ b/leaderboard/test_snapshots/tests/test_get_stats_aggregate.1.json @@ -174,7 +174,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 1 @@ -182,18 +182,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 1 + "u64": "65" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "65" + "u32": 4 } }, { @@ -281,7 +281,7 @@ }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -310,6 +310,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -331,7 +343,7 @@ ] }, "val": { - "u64": "20" + "u64": "65" } }, { @@ -377,7 +389,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 }, { "entry": { @@ -491,7 +503,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 } ] }, diff --git a/leaderboard/test_snapshots/tests/test_low_scorer_rejected_when_full.1.json b/leaderboard/test_snapshots/tests/test_low_scorer_rejected_when_full.1.json index a3bee9c..ca991c5 100644 --- a/leaderboard/test_snapshots/tests/test_low_scorer_rejected_when_full.1.json +++ b/leaderboard/test_snapshots/tests/test_low_scorer_rejected_when_full.1.json @@ -1495,7 +1495,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -1503,18 +1503,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "1000" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "1000" + "u32": 1 } }, { @@ -1555,7 +1555,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -1563,18 +1563,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "1001" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "1001" + "u32": 1 } }, { @@ -1615,7 +1615,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -1623,18 +1623,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "1002" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "1002" + "u32": 1 } }, { @@ -1675,7 +1675,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -1683,18 +1683,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "1003" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "1003" + "u32": 1 } }, { @@ -1735,7 +1735,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -1743,18 +1743,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "1004" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "1004" + "u32": 1 } }, { @@ -1795,7 +1795,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -1803,18 +1803,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "1005" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "1005" + "u32": 1 } }, { @@ -1855,7 +1855,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -1863,18 +1863,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "1006" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "1006" + "u32": 1 } }, { @@ -1915,7 +1915,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -1923,18 +1923,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "1007" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "1007" + "u32": 1 } }, { @@ -1975,7 +1975,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -1983,18 +1983,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "1008" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "1008" + "u32": 1 } }, { @@ -2035,7 +2035,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2043,18 +2043,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "1009" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "1009" + "u32": 1 } }, { @@ -2095,7 +2095,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2103,18 +2103,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "1010" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "1010" + "u32": 1 } }, { @@ -2155,7 +2155,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2163,18 +2163,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "1011" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "1011" + "u32": 1 } }, { @@ -2215,7 +2215,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2223,18 +2223,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "1012" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "1012" + "u32": 1 } }, { @@ -2275,7 +2275,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2283,18 +2283,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "1013" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "1013" + "u32": 1 } }, { @@ -2335,7 +2335,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2343,18 +2343,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "1014" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "1014" + "u32": 1 } }, { @@ -2395,7 +2395,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2403,18 +2403,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "1015" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "1015" + "u32": 1 } }, { @@ -2455,7 +2455,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2463,18 +2463,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "1016" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "1016" + "u32": 1 } }, { @@ -2515,7 +2515,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2523,18 +2523,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "1017" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "1017" + "u32": 1 } }, { @@ -2575,7 +2575,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2583,18 +2583,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "1018" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "1018" + "u32": 1 } }, { @@ -2635,7 +2635,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2643,18 +2643,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "1019" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "1019" + "u32": 1 } }, { @@ -2695,7 +2695,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2703,18 +2703,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "1020" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "1020" + "u32": 1 } }, { @@ -2755,7 +2755,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2763,18 +2763,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "1021" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "1021" + "u32": 1 } }, { @@ -2815,7 +2815,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2823,18 +2823,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "1022" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "1022" + "u32": 1 } }, { @@ -2875,7 +2875,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2883,18 +2883,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "1023" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "1023" + "u32": 1 } }, { @@ -2935,7 +2935,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2943,18 +2943,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "1024" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "1024" + "u32": 1 } }, { @@ -2995,7 +2995,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3003,18 +3003,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "1025" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "1025" + "u32": 1 } }, { @@ -3055,7 +3055,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3063,18 +3063,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "1026" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "1026" + "u32": 1 } }, { @@ -3115,7 +3115,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3123,18 +3123,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "1027" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "1027" + "u32": 1 } }, { @@ -3175,7 +3175,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3183,18 +3183,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "1028" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "1028" + "u32": 1 } }, { @@ -3235,7 +3235,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3243,18 +3243,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "1029" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "1029" + "u32": 1 } }, { @@ -3295,7 +3295,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3303,18 +3303,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "1030" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "1030" + "u32": 1 } }, { @@ -3355,7 +3355,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3363,18 +3363,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "1031" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "1031" + "u32": 1 } }, { @@ -3415,7 +3415,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3423,18 +3423,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "1032" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "1032" + "u32": 1 } }, { @@ -3475,7 +3475,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3483,18 +3483,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "1033" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "1033" + "u32": 1 } }, { @@ -3535,7 +3535,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3543,18 +3543,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "1034" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "1034" + "u32": 1 } }, { @@ -3595,7 +3595,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3603,18 +3603,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "1035" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "1035" + "u32": 1 } }, { @@ -3655,7 +3655,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3663,18 +3663,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "1036" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "1036" + "u32": 1 } }, { @@ -3715,7 +3715,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3723,18 +3723,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "1037" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "1037" + "u32": 1 } }, { @@ -3775,7 +3775,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3783,18 +3783,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "1038" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "1038" + "u32": 1 } }, { @@ -3835,7 +3835,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3843,18 +3843,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "1039" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "1039" + "u32": 1 } }, { @@ -3895,7 +3895,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3903,18 +3903,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "1040" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "1040" + "u32": 1 } }, { @@ -3955,7 +3955,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3963,18 +3963,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "1041" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "1041" + "u32": 1 } }, { @@ -4015,7 +4015,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -4023,18 +4023,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "1042" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "1042" + "u32": 1 } }, { @@ -4075,7 +4075,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -4083,18 +4083,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "1043" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "1043" + "u32": 1 } }, { @@ -4135,7 +4135,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -4143,18 +4143,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "1044" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "1044" + "u32": 1 } }, { @@ -4195,7 +4195,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -4203,18 +4203,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "1045" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "1045" + "u32": 1 } }, { @@ -4255,7 +4255,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -4263,18 +4263,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "1046" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "1046" + "u32": 1 } }, { @@ -4315,7 +4315,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -4323,18 +4323,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "1047" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "1047" + "u32": 1 } }, { @@ -4375,7 +4375,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -4383,18 +4383,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "1048" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "1048" + "u32": 1 } }, { @@ -4435,7 +4435,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -4443,18 +4443,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "1049" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "1049" + "u32": 1 } }, { @@ -4495,26 +4495,26 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { - "u32": 0 + "u32": 1 } }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 1 + "u64": "5" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "5" + "u32": 1 } }, { @@ -4558,7 +4558,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMXIK" } }, { @@ -4566,7 +4566,7 @@ "symbol": "points" }, "val": { - "u64": "1000" + "u64": "1049" } } ] @@ -4602,7 +4602,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADKPR2" } }, { @@ -4610,7 +4610,7 @@ "symbol": "points" }, "val": { - "u64": "1001" + "u64": "1048" } } ] @@ -4646,7 +4646,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADIHZK" } }, { @@ -4654,7 +4654,7 @@ "symbol": "points" }, "val": { - "u64": "1002" + "u64": "1047" } } ] @@ -4690,7 +4690,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADH6C2" } }, { @@ -4698,7 +4698,7 @@ "symbol": "points" }, "val": { - "u64": "1003" + "u64": "1046" } } ] @@ -4734,7 +4734,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATYON" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFWKK" } }, { @@ -4742,7 +4742,7 @@ "symbol": "points" }, "val": { - "u64": "1004" + "u64": "1045" } } ] @@ -4778,7 +4778,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAX5" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADDOT2" } }, { @@ -4786,7 +4786,7 @@ "symbol": "points" }, "val": { - "u64": "1005" + "u64": "1044" } } ] @@ -4822,7 +4822,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXI7N" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADBG3K" } }, { @@ -4830,7 +4830,7 @@ "symbol": "points" }, "val": { - "u64": "1006" + "u64": "1043" } } ] @@ -4866,7 +4866,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYRE5" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC6RMJ" } }, { @@ -4874,7 +4874,7 @@ "symbol": "points" }, "val": { - "u64": "1007" + "u64": "1042" } } ] @@ -4910,7 +4910,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2ZMN" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4ZEZ" } }, { @@ -4918,7 +4918,7 @@ "symbol": "points" }, "val": { - "u64": "1008" + "u64": "1041" } } ] @@ -4954,7 +4954,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4BV5" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC2B5J" } }, { @@ -4962,7 +4962,7 @@ "symbol": "points" }, "val": { - "u64": "1009" + "u64": "1040" } } ] @@ -4998,7 +4998,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6J5N" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYJVZ" } }, { @@ -5006,7 +5006,7 @@ "symbol": "points" }, "val": { - "u64": "1010" + "u64": "1039" } } ] @@ -5042,7 +5042,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABB6KO" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACXQOJ" } }, { @@ -5050,7 +5050,7 @@ "symbol": "points" }, "val": { - "u64": "1011" + "u64": "1038" } } ] @@ -5086,7 +5086,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABDWC6" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACVYGZ" } }, { @@ -5094,7 +5094,7 @@ "symbol": "points" }, "val": { - "u64": "1012" + "u64": "1037" } } ] @@ -5130,7 +5130,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFO3O" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACTA7J" } }, { @@ -5138,7 +5138,7 @@ "symbol": "points" }, "val": { - "u64": "1013" + "u64": "1036" } } ] @@ -5174,7 +5174,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHGT6" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACRIXZ" } }, { @@ -5182,7 +5182,7 @@ "symbol": "points" }, "val": { - "u64": "1014" + "u64": "1035" } } ] @@ -5218,7 +5218,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABI7IO" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACOTII" } }, { @@ -5226,7 +5226,7 @@ "symbol": "points" }, "val": { - "u64": "1015" + "u64": "1034" } } ] @@ -5262,7 +5262,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKXA6" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACM3AY" } }, { @@ -5270,7 +5270,7 @@ "symbol": "points" }, "val": { - "u64": "1016" + "u64": "1033" } } ] @@ -5306,7 +5306,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMPZO" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACKDZI" } }, { @@ -5314,7 +5314,7 @@ "symbol": "points" }, "val": { - "u64": "1017" + "u64": "1032" } } ] @@ -5350,7 +5350,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOHR6" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACILRY" } }, { @@ -5358,7 +5358,7 @@ "symbol": "points" }, "val": { - "u64": "1018" + "u64": "1031" } } ] @@ -5394,7 +5394,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABR4OP" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACHSKI" } }, { @@ -5402,7 +5402,7 @@ "symbol": "points" }, "val": { - "u64": "1019" + "u64": "1030" } } ] @@ -5438,7 +5438,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABTUG7" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACF2CY" } }, { @@ -5446,7 +5446,7 @@ "symbol": "points" }, "val": { - "u64": "1020" + "u64": "1029" } } ] @@ -5482,7 +5482,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVM7P" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACDC3I" } }, { @@ -5490,7 +5490,7 @@ "symbol": "points" }, "val": { - "u64": "1021" + "u64": "1028" } } ] @@ -5526,7 +5526,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABXEX7" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBKTY" } }, { @@ -5534,7 +5534,7 @@ "symbol": "points" }, "val": { - "u64": "1022" + "u64": "1027" } } ] @@ -5570,7 +5570,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABY5MP" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB6FV7" } }, { @@ -5578,7 +5578,7 @@ "symbol": "points" }, "val": { - "u64": "1023" + "u64": "1026" } } ] @@ -5614,7 +5614,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB2VE7" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4N5P" } }, { @@ -5622,7 +5622,7 @@ "symbol": "points" }, "val": { - "u64": "1024" + "u64": "1025" } } ] @@ -5658,7 +5658,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4N5P" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB2VE7" } }, { @@ -5666,7 +5666,7 @@ "symbol": "points" }, "val": { - "u64": "1025" + "u64": "1024" } } ] @@ -5702,7 +5702,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB6FV7" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABY5MP" } }, { @@ -5710,7 +5710,7 @@ "symbol": "points" }, "val": { - "u64": "1026" + "u64": "1023" } } ] @@ -5746,7 +5746,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBKTY" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABXEX7" } }, { @@ -5754,7 +5754,7 @@ "symbol": "points" }, "val": { - "u64": "1027" + "u64": "1022" } } ] @@ -5790,7 +5790,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACDC3I" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVM7P" } }, { @@ -5798,7 +5798,7 @@ "symbol": "points" }, "val": { - "u64": "1028" + "u64": "1021" } } ] @@ -5834,7 +5834,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACF2CY" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABTUG7" } }, { @@ -5842,7 +5842,7 @@ "symbol": "points" }, "val": { - "u64": "1029" + "u64": "1020" } } ] @@ -5878,7 +5878,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACHSKI" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABR4OP" } }, { @@ -5886,7 +5886,7 @@ "symbol": "points" }, "val": { - "u64": "1030" + "u64": "1019" } } ] @@ -5922,7 +5922,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACILRY" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOHR6" } }, { @@ -5930,7 +5930,7 @@ "symbol": "points" }, "val": { - "u64": "1031" + "u64": "1018" } } ] @@ -5966,7 +5966,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACKDZI" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMPZO" } }, { @@ -5974,7 +5974,7 @@ "symbol": "points" }, "val": { - "u64": "1032" + "u64": "1017" } } ] @@ -6010,7 +6010,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACM3AY" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKXA6" } }, { @@ -6018,7 +6018,7 @@ "symbol": "points" }, "val": { - "u64": "1033" + "u64": "1016" } } ] @@ -6054,7 +6054,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACOTII" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABI7IO" } }, { @@ -6062,7 +6062,7 @@ "symbol": "points" }, "val": { - "u64": "1034" + "u64": "1015" } } ] @@ -6098,7 +6098,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACRIXZ" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHGT6" } }, { @@ -6106,7 +6106,7 @@ "symbol": "points" }, "val": { - "u64": "1035" + "u64": "1014" } } ] @@ -6142,7 +6142,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACTA7J" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFO3O" } }, { @@ -6150,7 +6150,7 @@ "symbol": "points" }, "val": { - "u64": "1036" + "u64": "1013" } } ] @@ -6186,7 +6186,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACVYGZ" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABDWC6" } }, { @@ -6194,7 +6194,7 @@ "symbol": "points" }, "val": { - "u64": "1037" + "u64": "1012" } } ] @@ -6230,7 +6230,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACXQOJ" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABB6KO" } }, { @@ -6238,7 +6238,7 @@ "symbol": "points" }, "val": { - "u64": "1038" + "u64": "1011" } } ] @@ -6274,7 +6274,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYJVZ" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6J5N" } }, { @@ -6282,7 +6282,7 @@ "symbol": "points" }, "val": { - "u64": "1039" + "u64": "1010" } } ] @@ -6318,7 +6318,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC2B5J" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4BV5" } }, { @@ -6326,7 +6326,7 @@ "symbol": "points" }, "val": { - "u64": "1040" + "u64": "1009" } } ] @@ -6362,7 +6362,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4ZEZ" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2ZMN" } }, { @@ -6370,7 +6370,7 @@ "symbol": "points" }, "val": { - "u64": "1041" + "u64": "1008" } } ] @@ -6406,7 +6406,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC6RMJ" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYRE5" } }, { @@ -6414,7 +6414,7 @@ "symbol": "points" }, "val": { - "u64": "1042" + "u64": "1007" } } ] @@ -6450,7 +6450,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADBG3K" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXI7N" } }, { @@ -6458,7 +6458,7 @@ "symbol": "points" }, "val": { - "u64": "1043" + "u64": "1006" } } ] @@ -6494,7 +6494,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADDOT2" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAX5" } }, { @@ -6502,7 +6502,7 @@ "symbol": "points" }, "val": { - "u64": "1044" + "u64": "1005" } } ] @@ -6538,7 +6538,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFWKK" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATYON" } }, { @@ -6546,7 +6546,7 @@ "symbol": "points" }, "val": { - "u64": "1045" + "u64": "1004" } } ] @@ -6582,7 +6582,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADH6C2" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" } }, { @@ -6590,7 +6590,7 @@ "symbol": "points" }, "val": { - "u64": "1046" + "u64": "1003" } } ] @@ -6626,7 +6626,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADIHZK" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" } }, { @@ -6634,7 +6634,7 @@ "symbol": "points" }, "val": { - "u64": "1047" + "u64": "1002" } } ] @@ -6670,7 +6670,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADKPR2" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } }, { @@ -6678,7 +6678,7 @@ "symbol": "points" }, "val": { - "u64": "1048" + "u64": "1001" } } ] @@ -6714,7 +6714,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMXIK" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" } }, { @@ -6722,7 +6722,7 @@ "symbol": "points" }, "val": { - "u64": "1049" + "u64": "1000" } } ] @@ -6752,13 +6752,13 @@ }, "durability": "persistent", "val": { - "u32": 0 + "u32": 49 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -6779,13 +6779,13 @@ }, "durability": "persistent", "val": { - "u32": 1 + "u32": 48 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -6806,13 +6806,13 @@ }, "durability": "persistent", "val": { - "u32": 2 + "u32": 47 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -6833,13 +6833,13 @@ }, "durability": "persistent", "val": { - "u32": 3 + "u32": 46 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -6860,13 +6860,13 @@ }, "durability": "persistent", "val": { - "u32": 4 + "u32": 45 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -6887,13 +6887,13 @@ }, "durability": "persistent", "val": { - "u32": 5 + "u32": 44 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -6914,13 +6914,13 @@ }, "durability": "persistent", "val": { - "u32": 6 + "u32": 43 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -6941,13 +6941,13 @@ }, "durability": "persistent", "val": { - "u32": 7 + "u32": 42 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -6968,13 +6968,13 @@ }, "durability": "persistent", "val": { - "u32": 8 + "u32": 41 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -6995,13 +6995,13 @@ }, "durability": "persistent", "val": { - "u32": 9 + "u32": 40 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7022,13 +7022,13 @@ }, "durability": "persistent", "val": { - "u32": 10 + "u32": 39 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7049,13 +7049,13 @@ }, "durability": "persistent", "val": { - "u32": 11 + "u32": 38 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7076,13 +7076,13 @@ }, "durability": "persistent", "val": { - "u32": 12 + "u32": 37 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7103,13 +7103,13 @@ }, "durability": "persistent", "val": { - "u32": 13 + "u32": 36 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7130,13 +7130,13 @@ }, "durability": "persistent", "val": { - "u32": 14 + "u32": 35 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7157,13 +7157,13 @@ }, "durability": "persistent", "val": { - "u32": 15 + "u32": 34 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7184,13 +7184,13 @@ }, "durability": "persistent", "val": { - "u32": 16 + "u32": 33 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7211,13 +7211,13 @@ }, "durability": "persistent", "val": { - "u32": 17 + "u32": 32 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7238,13 +7238,13 @@ }, "durability": "persistent", "val": { - "u32": 18 + "u32": 31 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7265,13 +7265,13 @@ }, "durability": "persistent", "val": { - "u32": 19 + "u32": 30 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7292,13 +7292,13 @@ }, "durability": "persistent", "val": { - "u32": 20 + "u32": 29 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7319,13 +7319,13 @@ }, "durability": "persistent", "val": { - "u32": 21 + "u32": 28 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7346,13 +7346,13 @@ }, "durability": "persistent", "val": { - "u32": 22 + "u32": 27 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7373,13 +7373,13 @@ }, "durability": "persistent", "val": { - "u32": 23 + "u32": 26 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7400,13 +7400,13 @@ }, "durability": "persistent", "val": { - "u32": 24 + "u32": 25 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7427,13 +7427,13 @@ }, "durability": "persistent", "val": { - "u32": 25 + "u32": 24 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7454,13 +7454,13 @@ }, "durability": "persistent", "val": { - "u32": 26 + "u32": 23 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7481,13 +7481,13 @@ }, "durability": "persistent", "val": { - "u32": 27 + "u32": 22 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7508,13 +7508,13 @@ }, "durability": "persistent", "val": { - "u32": 28 + "u32": 21 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7535,13 +7535,13 @@ }, "durability": "persistent", "val": { - "u32": 29 + "u32": 20 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7562,13 +7562,13 @@ }, "durability": "persistent", "val": { - "u32": 30 + "u32": 19 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7589,13 +7589,13 @@ }, "durability": "persistent", "val": { - "u32": 31 + "u32": 18 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7616,13 +7616,13 @@ }, "durability": "persistent", "val": { - "u32": 32 + "u32": 17 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7643,13 +7643,13 @@ }, "durability": "persistent", "val": { - "u32": 33 + "u32": 16 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7670,13 +7670,13 @@ }, "durability": "persistent", "val": { - "u32": 34 + "u32": 15 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7697,13 +7697,13 @@ }, "durability": "persistent", "val": { - "u32": 35 + "u32": 14 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7724,13 +7724,13 @@ }, "durability": "persistent", "val": { - "u32": 36 + "u32": 13 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7751,13 +7751,13 @@ }, "durability": "persistent", "val": { - "u32": 37 + "u32": 12 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7778,13 +7778,13 @@ }, "durability": "persistent", "val": { - "u32": 38 + "u32": 11 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7805,13 +7805,13 @@ }, "durability": "persistent", "val": { - "u32": 39 + "u32": 10 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7832,13 +7832,13 @@ }, "durability": "persistent", "val": { - "u32": 40 + "u32": 9 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7859,13 +7859,13 @@ }, "durability": "persistent", "val": { - "u32": 41 + "u32": 8 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7886,13 +7886,13 @@ }, "durability": "persistent", "val": { - "u32": 42 + "u32": 7 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7913,13 +7913,13 @@ }, "durability": "persistent", "val": { - "u32": 43 + "u32": 6 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7940,13 +7940,13 @@ }, "durability": "persistent", "val": { - "u32": 44 + "u32": 5 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7967,13 +7967,13 @@ }, "durability": "persistent", "val": { - "u32": 45 + "u32": 4 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7994,13 +7994,13 @@ }, "durability": "persistent", "val": { - "u32": 46 + "u32": 3 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -8021,13 +8021,13 @@ }, "durability": "persistent", "val": { - "u32": 47 + "u32": 2 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -8048,13 +8048,13 @@ }, "durability": "persistent", "val": { - "u32": 48 + "u32": 1 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -8075,13 +8075,13 @@ }, "durability": "persistent", "val": { - "u32": 49 + "u32": 0 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -8110,6 +8110,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -8143,7 +8155,7 @@ ] }, "val": { - "u32": 0 + "u32": 49 } }, { @@ -8177,7 +8189,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 }, { "entry": { @@ -9231,7 +9243,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 } ] }, diff --git a/leaderboard/test_snapshots/tests/test_pagination_offset_beyond_count.1.json b/leaderboard/test_snapshots/tests/test_pagination_offset_beyond_count.1.json index 8e53e3c..cf06a1c 100644 --- a/leaderboard/test_snapshots/tests/test_pagination_offset_beyond_count.1.json +++ b/leaderboard/test_snapshots/tests/test_pagination_offset_beyond_count.1.json @@ -93,7 +93,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -101,18 +101,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "100" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "100" + "u32": 1 } }, { @@ -200,7 +200,7 @@ }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -229,6 +229,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -250,7 +262,7 @@ ] }, "val": { - "u64": "100" + "u64": "0" } }, { @@ -296,7 +308,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 }, { "entry": { @@ -350,7 +362,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 } ] }, diff --git a/leaderboard/test_snapshots/tests/test_player_count.1.json b/leaderboard/test_snapshots/tests/test_player_count.1.json index a65b324..ff8fc71 100644 --- a/leaderboard/test_snapshots/tests/test_player_count.1.json +++ b/leaderboard/test_snapshots/tests/test_player_count.1.json @@ -152,26 +152,26 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { - "u32": 0 + "u32": 1 } }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 1 + "u64": "15" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "15" + "u32": 2 } }, { @@ -212,7 +212,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -220,18 +220,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "20" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "20" + "u32": 1 } }, { @@ -275,7 +275,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } }, { @@ -283,7 +283,7 @@ "symbol": "points" }, "val": { - "u64": "15" + "u64": "20" } } ] @@ -319,7 +319,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" } }, { @@ -327,7 +327,7 @@ "symbol": "points" }, "val": { - "u64": "20" + "u64": "15" } } ] @@ -357,13 +357,13 @@ }, "durability": "persistent", "val": { - "u32": 0 + "u32": 1 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -384,13 +384,13 @@ }, "durability": "persistent", "val": { - "u32": 1 + "u32": 0 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -419,6 +419,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -440,7 +452,7 @@ ] }, "val": { - "u64": "10" + "u64": "15" } }, { @@ -452,7 +464,7 @@ ] }, "val": { - "u32": 0 + "u32": 1 } }, { @@ -486,7 +498,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 }, { "entry": { @@ -580,7 +592,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 } ] }, diff --git a/leaderboard/test_snapshots/tests/test_rank_calculation.1.json b/leaderboard/test_snapshots/tests/test_rank_calculation.1.json index 8c7eb20..5b2ce73 100644 --- a/leaderboard/test_snapshots/tests/test_rank_calculation.1.json +++ b/leaderboard/test_snapshots/tests/test_rank_calculation.1.json @@ -152,7 +152,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -160,18 +160,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "50" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "50" + "u32": 1 } }, { @@ -212,7 +212,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -220,18 +220,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "100" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "100" + "u32": 1 } }, { @@ -272,7 +272,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -280,18 +280,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "75" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "75" + "u32": 1 } }, { @@ -335,7 +335,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } }, { @@ -343,7 +343,7 @@ "symbol": "points" }, "val": { - "u64": "50" + "u64": "100" } } ] @@ -379,7 +379,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" } }, { @@ -387,7 +387,7 @@ "symbol": "points" }, "val": { - "u64": "100" + "u64": "75" } } ] @@ -423,7 +423,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" } }, { @@ -431,7 +431,7 @@ "symbol": "points" }, "val": { - "u64": "75" + "u64": "50" } } ] @@ -461,13 +461,13 @@ }, "durability": "persistent", "val": { - "u32": 0 + "u32": 2 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -488,13 +488,13 @@ }, "durability": "persistent", "val": { - "u32": 1 + "u32": 0 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -515,13 +515,13 @@ }, "durability": "persistent", "val": { - "u32": 2 + "u32": 1 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -550,6 +550,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -571,7 +583,7 @@ ] }, "val": { - "u64": "50" + "u64": "0" } }, { @@ -617,7 +629,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 }, { "entry": { @@ -711,7 +723,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 } ] }, diff --git a/leaderboard/test_snapshots/tests/test_record_bet_is_noop.1.json b/leaderboard/test_snapshots/tests/test_record_bet_is_noop.1.json index e75455e..01ce5e1 100644 --- a/leaderboard/test_snapshots/tests/test_record_bet_is_noop.1.json +++ b/leaderboard/test_snapshots/tests/test_record_bet_is_noop.1.json @@ -114,6 +114,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -126,6 +138,30 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" } }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, { "key": { "vec": [ @@ -157,7 +193,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 }, { "entry": { @@ -231,7 +267,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 } ] }, diff --git a/leaderboard/test_snapshots/tests/test_reward_bonus_rejects_incompatible_token_version.1.json b/leaderboard/test_snapshots/tests/test_reward_bonus_rejects_incompatible_token_version.1.json new file mode 100644 index 0000000..a885e1c --- /dev/null +++ b/leaderboard/test_snapshots/tests/test_reward_bonus_rejects_incompatible_token_version.1.json @@ -0,0 +1,744 @@ +{ + "generators": { + "address": 6, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "string": "PULSE" + }, + { + "string": "PLSE" + }, + { + "u32": 7 + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "set_token", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "function_name": "set_interface_version", + "args": [ + { + "u32": 0 + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "function_name": "set_interface_version", + "args": [ + { + "u32": 1 + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "reward_bonus", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "u64": "5" + }, + { + "i128": "100000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [] + ], + "ledger": { + "protocol_version": 26, + "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": [ + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Stats" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "lost_bets" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "points" + }, + "val": { + "u64": "5" + } + }, + { + "key": { + "symbol": "total_bets" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "won_bets" + }, + "val": { + "u32": 0 + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 6307200 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "TopPlayerAt" + }, + { + "u32": 0 + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "symbol": "points" + }, + "val": { + "u64": "5" + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 6307200 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "TopPlayerSlot" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + }, + "durability": "persistent", + "val": { + "u32": 0 + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "MarketContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "vec": [ + { + "symbol": "ReferralContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TokenContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TopPlayerCount" + } + ] + }, + "val": { + "u32": 1 + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 6307200 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": "1033654523790656264" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": "2032731177588607455" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": "4837995959683129791" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": "5541220902715666415" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": "8370022561469687789" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": "6277191135259896685" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + }, + "durability": "persistent", + "val": { + "i128": "100000000" + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Decimals" + } + ] + }, + "val": { + "u32": 7 + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "Name" + } + ] + }, + "val": { + "string": "PULSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Symbol" + } + ] + }, + "val": { + "string": "PLSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TotalSupply" + } + ] + }, + "val": { + "i128": "100000000" + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + "live_until": 6307200 + } + ] + }, + "events": [] +} \ No newline at end of file diff --git a/leaderboard/test_snapshots/tests/test_reward_bonus_rejects_non_referral_caller.1.json b/leaderboard/test_snapshots/tests/test_reward_bonus_rejects_non_referral_caller.1.json index 2089352..8e367b7 100644 --- a/leaderboard/test_snapshots/tests/test_reward_bonus_rejects_non_referral_caller.1.json +++ b/leaderboard/test_snapshots/tests/test_reward_bonus_rejects_non_referral_caller.1.json @@ -70,6 +70,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -82,6 +94,30 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" } }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, { "key": { "vec": [ @@ -113,7 +149,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 }, { "entry": { @@ -147,7 +183,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 } ] }, diff --git a/leaderboard/test_snapshots/tests/test_reward_mints_token_when_interface_compatible.1.json b/leaderboard/test_snapshots/tests/test_reward_mints_token_when_interface_compatible.1.json new file mode 100644 index 0000000..b64336c --- /dev/null +++ b/leaderboard/test_snapshots/tests/test_reward_mints_token_when_interface_compatible.1.json @@ -0,0 +1,667 @@ +{ + "generators": { + "address": 6, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "string": "PULSE" + }, + { + "string": "PLSE" + }, + { + "u32": 7 + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "set_token", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "reward", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "u64": "30" + }, + { + "i128": "100000000" + }, + { + "bool": true + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [] + ], + "ledger": { + "protocol_version": 26, + "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": [ + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Stats" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "lost_bets" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "points" + }, + "val": { + "u64": "30" + } + }, + { + "key": { + "symbol": "total_bets" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "won_bets" + }, + "val": { + "u32": 1 + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 6307200 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "TopPlayerAt" + }, + { + "u32": 0 + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "symbol": "points" + }, + "val": { + "u64": "30" + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 6307200 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "TopPlayerSlot" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + }, + "durability": "persistent", + "val": { + "u32": 0 + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "MarketContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "vec": [ + { + "symbol": "ReferralContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TokenContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TopPlayerCount" + } + ] + }, + "val": { + "u32": 1 + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 6307200 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": "1033654523790656264" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": "4837995959683129791" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": "5541220902715666415" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": "2032731177588607455" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + }, + "durability": "persistent", + "val": { + "i128": "100000000" + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Decimals" + } + ] + }, + "val": { + "u32": 7 + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "Name" + } + ] + }, + "val": { + "string": "PULSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Symbol" + } + ] + }, + "val": { + "string": "PLSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TotalSupply" + } + ] + }, + "val": { + "i128": "100000000" + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + "live_until": 6307200 + } + ] + }, + "events": [] +} \ No newline at end of file diff --git a/leaderboard/test_snapshots/tests/test_reward_rejects_incompatible_token_version.1.json b/leaderboard/test_snapshots/tests/test_reward_rejects_incompatible_token_version.1.json new file mode 100644 index 0000000..2d5357c --- /dev/null +++ b/leaderboard/test_snapshots/tests/test_reward_rejects_incompatible_token_version.1.json @@ -0,0 +1,498 @@ +{ + "generators": { + "address": 6, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "string": "PULSE" + }, + { + "string": "PLSE" + }, + { + "u32": 7 + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "set_token", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "function_name": "set_interface_version", + "args": [ + { + "u32": 0 + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [] + ], + "ledger": { + "protocol_version": 26, + "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": [ + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "MarketContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "vec": [ + { + "symbol": "ReferralContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TokenContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TopPlayerCount" + } + ] + }, + "val": { + "u32": 0 + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 6307200 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": "1033654523790656264" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": "2032731177588607455" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": "4837995959683129791" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": "5541220902715666415" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Decimals" + } + ] + }, + "val": { + "u32": 7 + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "vec": [ + { + "symbol": "Name" + } + ] + }, + "val": { + "string": "PULSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Symbol" + } + ] + }, + "val": { + "string": "PLSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TotalSupply" + } + ] + }, + "val": { + "i128": "0" + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + "live_until": 6307200 + } + ] + }, + "events": [] +} \ No newline at end of file diff --git a/leaderboard/test_snapshots/tests/test_reward_rejects_missing_token_version.1.json b/leaderboard/test_snapshots/tests/test_reward_rejects_missing_token_version.1.json new file mode 100644 index 0000000..516fef4 --- /dev/null +++ b/leaderboard/test_snapshots/tests/test_reward_rejects_missing_token_version.1.json @@ -0,0 +1,270 @@ +{ + "generators": { + "address": 6, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "set_token", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [] + ], + "ledger": { + "protocol_version": 26, + "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": [ + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "MarketContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "vec": [ + { + "symbol": "ReferralContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TokenContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TopPlayerCount" + } + ] + }, + "val": { + "u32": 0 + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 6307200 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": "5541220902715666415" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": null + } + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + "live_until": 6307200 + } + ] + }, + "events": [] +} \ No newline at end of file diff --git a/leaderboard/test_snapshots/tests/test_reward_rejects_non_market_caller.1.json b/leaderboard/test_snapshots/tests/test_reward_rejects_non_market_caller.1.json index 2089352..8e367b7 100644 --- a/leaderboard/test_snapshots/tests/test_reward_rejects_non_market_caller.1.json +++ b/leaderboard/test_snapshots/tests/test_reward_rejects_non_market_caller.1.json @@ -70,6 +70,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -82,6 +94,30 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" } }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, { "key": { "vec": [ @@ -113,7 +149,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 }, { "entry": { @@ -147,7 +183,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 } ] }, diff --git a/leaderboard/test_snapshots/tests/test_reward_updates_points_and_winloss.1.json b/leaderboard/test_snapshots/tests/test_reward_updates_points_and_winloss.1.json index fe6c987..e3395c3 100644 --- a/leaderboard/test_snapshots/tests/test_reward_updates_points_and_winloss.1.json +++ b/leaderboard/test_snapshots/tests/test_reward_updates_points_and_winloss.1.json @@ -127,26 +127,26 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { - "u32": 0 + "u32": 1 } }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 1 + "u64": "40" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "40" + "u32": 2 } }, { @@ -234,7 +234,7 @@ }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -263,6 +263,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -284,7 +296,7 @@ ] }, "val": { - "u64": "30" + "u64": "40" } }, { @@ -330,7 +342,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 }, { "entry": { @@ -404,7 +416,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 } ] }, diff --git a/leaderboard/test_snapshots/tests/test_top_players_capped_at_50.1.json b/leaderboard/test_snapshots/tests/test_top_players_capped_at_50.1.json index 0453522..2e54fa1 100644 --- a/leaderboard/test_snapshots/tests/test_top_players_capped_at_50.1.json +++ b/leaderboard/test_snapshots/tests/test_top_players_capped_at_50.1.json @@ -1608,7 +1608,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -1616,18 +1616,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "1" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "1" + "u32": 1 } }, { @@ -1668,7 +1668,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -1676,18 +1676,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "2" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "2" + "u32": 1 } }, { @@ -1728,7 +1728,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -1736,18 +1736,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "3" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "3" + "u32": 1 } }, { @@ -1788,7 +1788,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -1796,18 +1796,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "4" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "4" + "u32": 1 } }, { @@ -1848,7 +1848,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -1856,18 +1856,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "5" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "5" + "u32": 1 } }, { @@ -1908,7 +1908,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -1916,18 +1916,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "6" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "6" + "u32": 1 } }, { @@ -1968,7 +1968,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -1976,18 +1976,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "7" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "7" + "u32": 1 } }, { @@ -2028,7 +2028,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2036,18 +2036,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "8" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "8" + "u32": 1 } }, { @@ -2088,7 +2088,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2096,18 +2096,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "9" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "9" + "u32": 1 } }, { @@ -2148,7 +2148,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2156,18 +2156,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "10" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "10" + "u32": 1 } }, { @@ -2208,7 +2208,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2216,18 +2216,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "11" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "11" + "u32": 1 } }, { @@ -2268,7 +2268,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2276,18 +2276,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "12" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "12" + "u32": 1 } }, { @@ -2328,7 +2328,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2336,18 +2336,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "13" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "13" + "u32": 1 } }, { @@ -2388,7 +2388,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2396,18 +2396,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "14" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "14" + "u32": 1 } }, { @@ -2448,7 +2448,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2456,18 +2456,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "15" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "15" + "u32": 1 } }, { @@ -2508,7 +2508,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2516,18 +2516,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "16" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "16" + "u32": 1 } }, { @@ -2568,7 +2568,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2576,18 +2576,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "17" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "17" + "u32": 1 } }, { @@ -2628,7 +2628,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2636,18 +2636,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "18" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "18" + "u32": 1 } }, { @@ -2688,7 +2688,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2696,18 +2696,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "19" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "19" + "u32": 1 } }, { @@ -2748,7 +2748,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2756,18 +2756,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "20" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "20" + "u32": 1 } }, { @@ -2808,7 +2808,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2816,18 +2816,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "21" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "21" + "u32": 1 } }, { @@ -2868,7 +2868,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2876,18 +2876,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "22" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "22" + "u32": 1 } }, { @@ -2928,7 +2928,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2936,18 +2936,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "23" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "23" + "u32": 1 } }, { @@ -2988,7 +2988,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -2996,18 +2996,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "24" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "24" + "u32": 1 } }, { @@ -3048,7 +3048,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3056,18 +3056,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "25" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "25" + "u32": 1 } }, { @@ -3108,7 +3108,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3116,18 +3116,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "26" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "26" + "u32": 1 } }, { @@ -3168,7 +3168,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3176,18 +3176,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "27" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "27" + "u32": 1 } }, { @@ -3228,7 +3228,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3236,18 +3236,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "28" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "28" + "u32": 1 } }, { @@ -3288,7 +3288,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3296,18 +3296,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "29" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "29" + "u32": 1 } }, { @@ -3348,7 +3348,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3356,18 +3356,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "30" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "30" + "u32": 1 } }, { @@ -3408,7 +3408,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3416,18 +3416,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "31" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "31" + "u32": 1 } }, { @@ -3468,7 +3468,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3476,18 +3476,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "32" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "32" + "u32": 1 } }, { @@ -3528,7 +3528,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3536,18 +3536,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "33" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "33" + "u32": 1 } }, { @@ -3588,7 +3588,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3596,18 +3596,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "34" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "34" + "u32": 1 } }, { @@ -3648,7 +3648,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3656,18 +3656,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "35" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "35" + "u32": 1 } }, { @@ -3708,7 +3708,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3716,18 +3716,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "36" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "36" + "u32": 1 } }, { @@ -3768,7 +3768,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3776,18 +3776,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "37" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "37" + "u32": 1 } }, { @@ -3828,7 +3828,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3836,18 +3836,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "38" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "38" + "u32": 1 } }, { @@ -3888,7 +3888,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3896,18 +3896,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "39" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "39" + "u32": 1 } }, { @@ -3948,7 +3948,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -3956,18 +3956,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "40" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "40" + "u32": 1 } }, { @@ -4008,7 +4008,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -4016,18 +4016,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "41" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "41" + "u32": 1 } }, { @@ -4068,7 +4068,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -4076,18 +4076,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "42" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "42" + "u32": 1 } }, { @@ -4128,7 +4128,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -4136,18 +4136,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "43" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "43" + "u32": 1 } }, { @@ -4188,7 +4188,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -4196,18 +4196,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "44" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "44" + "u32": 1 } }, { @@ -4248,7 +4248,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -4256,18 +4256,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "45" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "45" + "u32": 1 } }, { @@ -4308,7 +4308,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -4316,18 +4316,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "46" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "46" + "u32": 1 } }, { @@ -4368,7 +4368,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -4376,18 +4376,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "47" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "47" + "u32": 1 } }, { @@ -4428,7 +4428,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -4436,18 +4436,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "48" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "48" + "u32": 1 } }, { @@ -4488,7 +4488,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -4496,18 +4496,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "49" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "49" + "u32": 1 } }, { @@ -4548,7 +4548,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -4556,18 +4556,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "50" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "50" + "u32": 1 } }, { @@ -4608,7 +4608,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -4616,18 +4616,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "51" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "51" + "u32": 1 } }, { @@ -4668,7 +4668,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -4676,18 +4676,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "52" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "52" + "u32": 1 } }, { @@ -4728,7 +4728,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -4736,18 +4736,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "53" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "53" + "u32": 1 } }, { @@ -4788,7 +4788,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -4796,18 +4796,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "54" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "54" + "u32": 1 } }, { @@ -4848,7 +4848,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -4856,18 +4856,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "55" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "55" + "u32": 1 } }, { @@ -4911,7 +4911,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADO7A2" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADX4G3" } }, { @@ -4919,7 +4919,7 @@ "symbol": "points" }, "val": { - "u64": "51" + "u64": "55" } } ] @@ -4955,7 +4955,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADRE7L" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADVUOL" } }, { @@ -4963,7 +4963,7 @@ "symbol": "points" }, "val": { - "u64": "52" + "u64": "54" } } ] @@ -5043,7 +5043,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADVUOL" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADRE7L" } }, { @@ -5051,7 +5051,7 @@ "symbol": "points" }, "val": { - "u64": "54" + "u64": "52" } } ] @@ -5087,7 +5087,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADX4G3" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADO7A2" } }, { @@ -5095,7 +5095,7 @@ "symbol": "points" }, "val": { - "u64": "55" + "u64": "51" } } ] @@ -5131,7 +5131,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAX5" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMXIK" } }, { @@ -5139,7 +5139,7 @@ "symbol": "points" }, "val": { - "u64": "6" + "u64": "50" } } ] @@ -5175,7 +5175,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXI7N" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADKPR2" } }, { @@ -5183,7 +5183,7 @@ "symbol": "points" }, "val": { - "u64": "7" + "u64": "49" } } ] @@ -5219,7 +5219,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYRE5" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADIHZK" } }, { @@ -5227,7 +5227,7 @@ "symbol": "points" }, "val": { - "u64": "8" + "u64": "48" } } ] @@ -5263,7 +5263,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2ZMN" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADH6C2" } }, { @@ -5271,7 +5271,7 @@ "symbol": "points" }, "val": { - "u64": "9" + "u64": "47" } } ] @@ -5307,7 +5307,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4BV5" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFWKK" } }, { @@ -5315,7 +5315,7 @@ "symbol": "points" }, "val": { - "u64": "10" + "u64": "46" } } ] @@ -5351,7 +5351,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6J5N" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADDOT2" } }, { @@ -5359,7 +5359,7 @@ "symbol": "points" }, "val": { - "u64": "11" + "u64": "45" } } ] @@ -5395,7 +5395,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABB6KO" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADBG3K" } }, { @@ -5403,7 +5403,7 @@ "symbol": "points" }, "val": { - "u64": "12" + "u64": "44" } } ] @@ -5439,7 +5439,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABDWC6" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC6RMJ" } }, { @@ -5447,7 +5447,7 @@ "symbol": "points" }, "val": { - "u64": "13" + "u64": "43" } } ] @@ -5483,7 +5483,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFO3O" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4ZEZ" } }, { @@ -5491,7 +5491,7 @@ "symbol": "points" }, "val": { - "u64": "14" + "u64": "42" } } ] @@ -5527,7 +5527,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHGT6" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC2B5J" } }, { @@ -5535,7 +5535,7 @@ "symbol": "points" }, "val": { - "u64": "15" + "u64": "41" } } ] @@ -5571,7 +5571,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABI7IO" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYJVZ" } }, { @@ -5579,7 +5579,7 @@ "symbol": "points" }, "val": { - "u64": "16" + "u64": "40" } } ] @@ -5615,7 +5615,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKXA6" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACXQOJ" } }, { @@ -5623,7 +5623,7 @@ "symbol": "points" }, "val": { - "u64": "17" + "u64": "39" } } ] @@ -5659,7 +5659,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMPZO" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACVYGZ" } }, { @@ -5667,7 +5667,7 @@ "symbol": "points" }, "val": { - "u64": "18" + "u64": "38" } } ] @@ -5703,7 +5703,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOHR6" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACTA7J" } }, { @@ -5711,7 +5711,7 @@ "symbol": "points" }, "val": { - "u64": "19" + "u64": "37" } } ] @@ -5747,7 +5747,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABR4OP" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACRIXZ" } }, { @@ -5755,7 +5755,7 @@ "symbol": "points" }, "val": { - "u64": "20" + "u64": "36" } } ] @@ -5791,7 +5791,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABTUG7" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACOTII" } }, { @@ -5799,7 +5799,7 @@ "symbol": "points" }, "val": { - "u64": "21" + "u64": "35" } } ] @@ -5835,7 +5835,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVM7P" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACM3AY" } }, { @@ -5843,7 +5843,7 @@ "symbol": "points" }, "val": { - "u64": "22" + "u64": "34" } } ] @@ -5879,7 +5879,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABXEX7" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACKDZI" } }, { @@ -5887,7 +5887,7 @@ "symbol": "points" }, "val": { - "u64": "23" + "u64": "33" } } ] @@ -5923,7 +5923,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABY5MP" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACILRY" } }, { @@ -5931,7 +5931,7 @@ "symbol": "points" }, "val": { - "u64": "24" + "u64": "32" } } ] @@ -5967,7 +5967,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB2VE7" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACHSKI" } }, { @@ -5975,7 +5975,7 @@ "symbol": "points" }, "val": { - "u64": "25" + "u64": "31" } } ] @@ -6011,7 +6011,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4N5P" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACF2CY" } }, { @@ -6019,7 +6019,7 @@ "symbol": "points" }, "val": { - "u64": "26" + "u64": "30" } } ] @@ -6055,7 +6055,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB6FV7" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACDC3I" } }, { @@ -6063,7 +6063,7 @@ "symbol": "points" }, "val": { - "u64": "27" + "u64": "29" } } ] @@ -6143,7 +6143,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACDC3I" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB6FV7" } }, { @@ -6151,7 +6151,7 @@ "symbol": "points" }, "val": { - "u64": "29" + "u64": "27" } } ] @@ -6187,7 +6187,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACF2CY" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4N5P" } }, { @@ -6195,7 +6195,7 @@ "symbol": "points" }, "val": { - "u64": "30" + "u64": "26" } } ] @@ -6231,7 +6231,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACHSKI" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB2VE7" } }, { @@ -6239,7 +6239,7 @@ "symbol": "points" }, "val": { - "u64": "31" + "u64": "25" } } ] @@ -6275,7 +6275,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACILRY" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABY5MP" } }, { @@ -6283,7 +6283,7 @@ "symbol": "points" }, "val": { - "u64": "32" + "u64": "24" } } ] @@ -6319,7 +6319,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACKDZI" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABXEX7" } }, { @@ -6327,7 +6327,7 @@ "symbol": "points" }, "val": { - "u64": "33" + "u64": "23" } } ] @@ -6363,7 +6363,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACM3AY" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVM7P" } }, { @@ -6371,7 +6371,7 @@ "symbol": "points" }, "val": { - "u64": "34" + "u64": "22" } } ] @@ -6407,7 +6407,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACOTII" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABTUG7" } }, { @@ -6415,7 +6415,7 @@ "symbol": "points" }, "val": { - "u64": "35" + "u64": "21" } } ] @@ -6451,7 +6451,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACRIXZ" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABR4OP" } }, { @@ -6459,7 +6459,7 @@ "symbol": "points" }, "val": { - "u64": "36" + "u64": "20" } } ] @@ -6495,7 +6495,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACTA7J" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOHR6" } }, { @@ -6503,7 +6503,7 @@ "symbol": "points" }, "val": { - "u64": "37" + "u64": "19" } } ] @@ -6539,7 +6539,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACVYGZ" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMPZO" } }, { @@ -6547,7 +6547,7 @@ "symbol": "points" }, "val": { - "u64": "38" + "u64": "18" } } ] @@ -6583,7 +6583,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACXQOJ" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKXA6" } }, { @@ -6591,7 +6591,7 @@ "symbol": "points" }, "val": { - "u64": "39" + "u64": "17" } } ] @@ -6627,7 +6627,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYJVZ" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABI7IO" } }, { @@ -6635,7 +6635,7 @@ "symbol": "points" }, "val": { - "u64": "40" + "u64": "16" } } ] @@ -6671,7 +6671,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC2B5J" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHGT6" } }, { @@ -6679,7 +6679,7 @@ "symbol": "points" }, "val": { - "u64": "41" + "u64": "15" } } ] @@ -6715,7 +6715,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4ZEZ" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFO3O" } }, { @@ -6723,7 +6723,7 @@ "symbol": "points" }, "val": { - "u64": "42" + "u64": "14" } } ] @@ -6759,7 +6759,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC6RMJ" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABDWC6" } }, { @@ -6767,7 +6767,7 @@ "symbol": "points" }, "val": { - "u64": "43" + "u64": "13" } } ] @@ -6803,7 +6803,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADBG3K" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABB6KO" } }, { @@ -6811,7 +6811,7 @@ "symbol": "points" }, "val": { - "u64": "44" + "u64": "12" } } ] @@ -6847,7 +6847,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADDOT2" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6J5N" } }, { @@ -6855,7 +6855,7 @@ "symbol": "points" }, "val": { - "u64": "45" + "u64": "11" } } ] @@ -6891,7 +6891,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFWKK" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4BV5" } }, { @@ -6899,7 +6899,7 @@ "symbol": "points" }, "val": { - "u64": "46" + "u64": "10" } } ] @@ -6935,7 +6935,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADH6C2" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2ZMN" } }, { @@ -6943,7 +6943,7 @@ "symbol": "points" }, "val": { - "u64": "47" + "u64": "9" } } ] @@ -6979,7 +6979,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADIHZK" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYRE5" } }, { @@ -6987,7 +6987,7 @@ "symbol": "points" }, "val": { - "u64": "48" + "u64": "8" } } ] @@ -7023,7 +7023,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADKPR2" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXI7N" } }, { @@ -7031,7 +7031,7 @@ "symbol": "points" }, "val": { - "u64": "49" + "u64": "7" } } ] @@ -7067,7 +7067,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMXIK" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAX5" } }, { @@ -7075,7 +7075,7 @@ "symbol": "points" }, "val": { - "u64": "50" + "u64": "6" } } ] @@ -7105,13 +7105,13 @@ }, "durability": "persistent", "val": { - "u32": 5 + "u32": 49 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7132,13 +7132,13 @@ }, "durability": "persistent", "val": { - "u32": 6 + "u32": 48 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7159,13 +7159,13 @@ }, "durability": "persistent", "val": { - "u32": 7 + "u32": 47 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7186,13 +7186,13 @@ }, "durability": "persistent", "val": { - "u32": 8 + "u32": 46 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7213,13 +7213,13 @@ }, "durability": "persistent", "val": { - "u32": 9 + "u32": 45 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7240,13 +7240,13 @@ }, "durability": "persistent", "val": { - "u32": 10 + "u32": 44 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7267,13 +7267,13 @@ }, "durability": "persistent", "val": { - "u32": 11 + "u32": 43 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7294,13 +7294,13 @@ }, "durability": "persistent", "val": { - "u32": 12 + "u32": 42 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7321,13 +7321,13 @@ }, "durability": "persistent", "val": { - "u32": 13 + "u32": 41 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7348,13 +7348,13 @@ }, "durability": "persistent", "val": { - "u32": 14 + "u32": 40 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7375,13 +7375,13 @@ }, "durability": "persistent", "val": { - "u32": 15 + "u32": 39 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7402,13 +7402,13 @@ }, "durability": "persistent", "val": { - "u32": 16 + "u32": 38 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7429,13 +7429,13 @@ }, "durability": "persistent", "val": { - "u32": 17 + "u32": 37 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7456,13 +7456,13 @@ }, "durability": "persistent", "val": { - "u32": 18 + "u32": 36 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7483,13 +7483,13 @@ }, "durability": "persistent", "val": { - "u32": 19 + "u32": 35 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7510,13 +7510,13 @@ }, "durability": "persistent", "val": { - "u32": 20 + "u32": 34 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7537,13 +7537,13 @@ }, "durability": "persistent", "val": { - "u32": 21 + "u32": 33 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7564,13 +7564,13 @@ }, "durability": "persistent", "val": { - "u32": 22 + "u32": 32 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7591,13 +7591,13 @@ }, "durability": "persistent", "val": { - "u32": 23 + "u32": 31 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7618,13 +7618,13 @@ }, "durability": "persistent", "val": { - "u32": 24 + "u32": 30 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7645,13 +7645,13 @@ }, "durability": "persistent", "val": { - "u32": 25 + "u32": 29 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7672,13 +7672,13 @@ }, "durability": "persistent", "val": { - "u32": 26 + "u32": 28 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7705,7 +7705,7 @@ }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7726,13 +7726,13 @@ }, "durability": "persistent", "val": { - "u32": 28 + "u32": 26 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7753,13 +7753,13 @@ }, "durability": "persistent", "val": { - "u32": 29 + "u32": 25 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7780,13 +7780,13 @@ }, "durability": "persistent", "val": { - "u32": 30 + "u32": 24 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7807,13 +7807,13 @@ }, "durability": "persistent", "val": { - "u32": 31 + "u32": 23 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7834,13 +7834,13 @@ }, "durability": "persistent", "val": { - "u32": 32 + "u32": 22 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7861,13 +7861,13 @@ }, "durability": "persistent", "val": { - "u32": 33 + "u32": 21 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7888,13 +7888,13 @@ }, "durability": "persistent", "val": { - "u32": 34 + "u32": 20 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7915,13 +7915,13 @@ }, "durability": "persistent", "val": { - "u32": 35 + "u32": 19 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7942,13 +7942,13 @@ }, "durability": "persistent", "val": { - "u32": 36 + "u32": 18 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7969,13 +7969,13 @@ }, "durability": "persistent", "val": { - "u32": 37 + "u32": 17 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -7996,13 +7996,13 @@ }, "durability": "persistent", "val": { - "u32": 38 + "u32": 16 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -8023,13 +8023,13 @@ }, "durability": "persistent", "val": { - "u32": 39 + "u32": 15 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -8050,13 +8050,13 @@ }, "durability": "persistent", "val": { - "u32": 40 + "u32": 14 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -8077,13 +8077,13 @@ }, "durability": "persistent", "val": { - "u32": 41 + "u32": 13 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -8104,13 +8104,13 @@ }, "durability": "persistent", "val": { - "u32": 42 + "u32": 12 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -8131,13 +8131,13 @@ }, "durability": "persistent", "val": { - "u32": 43 + "u32": 11 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -8158,13 +8158,13 @@ }, "durability": "persistent", "val": { - "u32": 44 + "u32": 10 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -8185,13 +8185,13 @@ }, "durability": "persistent", "val": { - "u32": 45 + "u32": 9 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -8212,13 +8212,13 @@ }, "durability": "persistent", "val": { - "u32": 46 + "u32": 8 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -8239,13 +8239,13 @@ }, "durability": "persistent", "val": { - "u32": 47 + "u32": 7 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -8266,13 +8266,13 @@ }, "durability": "persistent", "val": { - "u32": 48 + "u32": 6 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -8293,13 +8293,13 @@ }, "durability": "persistent", "val": { - "u32": 49 + "u32": 5 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -8320,13 +8320,13 @@ }, "durability": "persistent", "val": { - "u32": 0 + "u32": 4 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -8347,13 +8347,13 @@ }, "durability": "persistent", "val": { - "u32": 1 + "u32": 3 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -8380,7 +8380,7 @@ }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -8401,13 +8401,13 @@ }, "durability": "persistent", "val": { - "u32": 3 + "u32": 1 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -8428,13 +8428,13 @@ }, "durability": "persistent", "val": { - "u32": 4 + "u32": 0 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -8463,6 +8463,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -8496,7 +8508,7 @@ ] }, "val": { - "u32": 5 + "u32": 49 } }, { @@ -8530,7 +8542,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 }, { "entry": { @@ -9664,7 +9676,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 } ] }, diff --git a/leaderboard/test_snapshots/tests/test_top_players_sorted.1.json b/leaderboard/test_snapshots/tests/test_top_players_sorted.1.json index 15d231d..7f5ea0d 100644 --- a/leaderboard/test_snapshots/tests/test_top_players_sorted.1.json +++ b/leaderboard/test_snapshots/tests/test_top_players_sorted.1.json @@ -149,7 +149,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -157,18 +157,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "50" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "50" + "u32": 1 } }, { @@ -209,7 +209,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -217,18 +217,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "100" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "100" + "u32": 1 } }, { @@ -269,7 +269,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -277,18 +277,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "75" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "75" + "u32": 1 } }, { @@ -332,7 +332,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } }, { @@ -340,7 +340,7 @@ "symbol": "points" }, "val": { - "u64": "50" + "u64": "100" } } ] @@ -376,7 +376,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" } }, { @@ -384,7 +384,7 @@ "symbol": "points" }, "val": { - "u64": "100" + "u64": "75" } } ] @@ -420,7 +420,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" } }, { @@ -428,7 +428,7 @@ "symbol": "points" }, "val": { - "u64": "75" + "u64": "50" } } ] @@ -458,13 +458,13 @@ }, "durability": "persistent", "val": { - "u32": 0 + "u32": 2 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -485,13 +485,13 @@ }, "durability": "persistent", "val": { - "u32": 1 + "u32": 0 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -512,13 +512,13 @@ }, "durability": "persistent", "val": { - "u32": 2 + "u32": 1 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -547,6 +547,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -568,7 +580,7 @@ ] }, "val": { - "u64": "50" + "u64": "0" } }, { @@ -614,7 +626,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 }, { "entry": { @@ -708,7 +720,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 } ] }, diff --git a/leaderboard/test_snapshots/tests/test_unauthorized_caller_rejected.1.json b/leaderboard/test_snapshots/tests/test_unauthorized_caller_rejected.1.json index 2089352..8e367b7 100644 --- a/leaderboard/test_snapshots/tests/test_unauthorized_caller_rejected.1.json +++ b/leaderboard/test_snapshots/tests/test_unauthorized_caller_rejected.1.json @@ -70,6 +70,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -82,6 +94,30 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" } }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, { "key": { "vec": [ @@ -113,7 +149,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 }, { "entry": { @@ -147,7 +183,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 } ] }, diff --git a/leaderboard/test_snapshots/ttl_tests/test_add_bonus_pts_refreshes_instance_ttl_when_below_threshold.1.json b/leaderboard/test_snapshots/ttl_tests/test_add_bonus_pts_refreshes_instance_ttl_when_below_threshold.1.json index 098ca83..65d0ebd 100644 --- a/leaderboard/test_snapshots/ttl_tests/test_add_bonus_pts_refreshes_instance_ttl_when_below_threshold.1.json +++ b/leaderboard/test_snapshots/ttl_tests/test_add_bonus_pts_refreshes_instance_ttl_when_below_threshold.1.json @@ -228,6 +228,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ diff --git a/leaderboard/test_snapshots/ttl_tests/test_add_pts_refreshes_instance_ttl_when_below_threshold.1.json b/leaderboard/test_snapshots/ttl_tests/test_add_pts_refreshes_instance_ttl_when_below_threshold.1.json index 191701a..20c3528 100644 --- a/leaderboard/test_snapshots/ttl_tests/test_add_pts_refreshes_instance_ttl_when_below_threshold.1.json +++ b/leaderboard/test_snapshots/ttl_tests/test_add_pts_refreshes_instance_ttl_when_below_threshold.1.json @@ -231,6 +231,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ diff --git a/leaderboard/test_snapshots/ttl_tests/test_initialize_extends_instance_ttl.1.json b/leaderboard/test_snapshots/ttl_tests/test_initialize_extends_instance_ttl.1.json index 36385c8..da04afb 100644 --- a/leaderboard/test_snapshots/ttl_tests/test_initialize_extends_instance_ttl.1.json +++ b/leaderboard/test_snapshots/ttl_tests/test_initialize_extends_instance_ttl.1.json @@ -70,6 +70,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ diff --git a/leaderboard/test_snapshots/ttl_tests/test_instance_ttl_not_bumped_again_while_above_threshold.1.json b/leaderboard/test_snapshots/ttl_tests/test_instance_ttl_not_bumped_again_while_above_threshold.1.json index 8de1670..17d4fb6 100644 --- a/leaderboard/test_snapshots/ttl_tests/test_instance_ttl_not_bumped_again_while_above_threshold.1.json +++ b/leaderboard/test_snapshots/ttl_tests/test_instance_ttl_not_bumped_again_while_above_threshold.1.json @@ -230,6 +230,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ diff --git a/leaderboard/test_snapshots/ttl_tests/test_min_points_and_min_slot_survive_ttl_refresh_cycle.1.json b/leaderboard/test_snapshots/ttl_tests/test_min_points_and_min_slot_survive_ttl_refresh_cycle.1.json index e84c8d7..dd0a569 100644 --- a/leaderboard/test_snapshots/ttl_tests/test_min_points_and_min_slot_survive_ttl_refresh_cycle.1.json +++ b/leaderboard/test_snapshots/ttl_tests/test_min_points_and_min_slot_survive_ttl_refresh_cycle.1.json @@ -8114,6 +8114,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ diff --git a/leaderboard/test_snapshots/ttl_tests/test_set_token_contract_refreshes_instance_ttl_when_below_threshold.1.json b/leaderboard/test_snapshots/ttl_tests/test_set_token_contract_refreshes_instance_ttl_when_below_threshold.1.json index e393ff0..e50144c 100644 --- a/leaderboard/test_snapshots/ttl_tests/test_set_token_contract_refreshes_instance_ttl_when_below_threshold.1.json +++ b/leaderboard/test_snapshots/ttl_tests/test_set_token_contract_refreshes_instance_ttl_when_below_threshold.1.json @@ -94,6 +94,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ diff --git a/prediction_market/src/lib.rs b/prediction_market/src/lib.rs index 420d2cb..380f56b 100644 --- a/prediction_market/src/lib.rs +++ b/prediction_market/src/lib.rs @@ -1,8 +1,8 @@ #![no_std] use soroban_sdk::{ - contract, contracterror, contractimpl, contracttype, token, vec, Address, BytesN, Env, IntoVal, - String, Symbol, Val, Vec, + contract, contracterror, contractimpl, contracttype, token, vec, Address, BytesN, Env, Error, + IntoVal, String, Symbol, Val, Vec, }; // ── Constants ───────────────────────────────────────────────────────────────── @@ -24,6 +24,18 @@ const LOSE_POINTS: u64 = 10; const WIN_TOKENS: i128 = 10_0000000; const LOSE_TOKENS: i128 = 2_0000000; +// ── Interface versioning (upgrade coordination) ────────────────────────────── +// INTERFACE_VERSION identifies the ABI this contract exposes to the other +// contracts it interoperates with. It MUST be bumped in the source AND +// committed to storage via set_interface_version() whenever any function +// another contract calls changes incompatibly, so downstream callers can +// fail closed instead of executing against a mismatched ABI. +const INTERFACE_VERSION: u32 = 1; +// Minimum interface versions required from each dependency before this +// contract will invoke a cross-contract function (fail closed otherwise). +const REFERRAL_CREDIT_INTERFACE_VERSION: u32 = 1; +const LEADERBOARD_REWARD_INTERFACE_VERSION: u32 = 1; + // Withdrawal safety (issue #12): a single payout is capped and the non-admin // path is timelocked, so a compromised fee recipient cannot drain the whole // accumulator to an arbitrary address in one call. @@ -65,6 +77,13 @@ pub enum MarketError { WithdrawalRequestExists = 23, NoWithdrawalRequest = 24, WithdrawalTooSoon = 25, + // ── Interface versioning (upgrade coordination) ──────────────────────── + // The target contract does not expose the interface_version() function, + // so its ABI cannot be verified before calling into it. + InterfaceVersionMissing = 26, + // The target contract's interface version is below the minimum this + // contract requires for the function it is about to invoke. + IncompatibleInterface = 27, } // ── Storage Keys ────────────────────────────────────────────────────────────── @@ -88,6 +107,8 @@ pub enum DataKey { Payout(u64, Address), // i128 — exact payout computed at resolve time // ── Timelocked withdrawal requests (issue #12) ─────────────────────── PendingWithdrawal(Address), // caller -> WithdrawalRequest + // ── Interface versioning (upgrade coordination) ─────────────────────── + InterfaceVersion, // u32 — current interface version of this contract } // ── Config packed into one instance storage slot ─────────────────────────── @@ -194,6 +215,9 @@ impl PredictionMarketContract { env.storage() .instance() .set(&DataKey::AccumulatedFees, &0_i128); + env.storage() + .instance() + .set(&DataKey::InterfaceVersion, &INTERFACE_VERSION); Ok(()) } @@ -239,6 +263,45 @@ impl PredictionMarketContract { env.storage().instance().get(&DataKey::Cfg).unwrap() } + // ── Interface Versioning (upgrade coordination) ────────────────────── + // Every contract that participates in cross-contract calls exposes a + // stable interface version. Callers read it and refuse to invoke a + // dependency whose version is below the minimum they require. + + /// Read this contract's current interface version. + /// + /// `0` means the contract has no declared version (a legacy deployment + /// that was never migrated via `set_interface_version`, or an + /// uninitialized contract). Callers treat `0` as incompatible with any + /// positive requirement — this is the fail-closed behavior for + /// uncoordinated deployments. + pub fn interface_version(env: Env) -> u32 { + env.storage() + .instance() + .get(&DataKey::InterfaceVersion) + .unwrap_or(0) + } + + /// Declare this contract's interface version. Admin only. + /// + /// Required after an in-place WASM upgrade that changes any ABI another + /// contract calls: bump `INTERFACE_VERSION` in the new source and commit + /// the new value here. Until this is done, upgraded callers that require + /// the newer version will fail closed with `IncompatibleInterface` instead + /// of silently executing against an uncoordinated ABI. + pub fn set_interface_version( + env: Env, + admin: Address, + version: u32, + ) -> Result<(), MarketError> { + Self::require_admin(&env, &admin)?; + admin.require_auth(); + env.storage() + .instance() + .set(&DataKey::InterfaceVersion, &version); + Ok(()) + } + // ── Resolver Management ─────────────────────────────────────────────── pub fn add_resolver(env: Env, admin: Address, resolver: Address) -> Result<(), MarketError> { @@ -420,6 +483,14 @@ impl PredictionMarketContract { let paid_referrer = if cached == Some(false) { false } else { + // Upgrade coordination: verify the referral registry exposes a + // compatible `credit` interface before transferring or invoking. + // Fails closed (IncompatibleInterface/InterfaceVersionMissing). + Self::require_interface_version( + &env, + &cfg.referral, + REFERRAL_CREDIT_INTERFACE_VERSION, + )?; xlm.transfer(&this, &cfg.referral, &referral_fee); let result: bool = env.invoke_contract( &cfg.referral, @@ -557,14 +628,17 @@ impl PredictionMarketContract { for i in 0..bettors { let slot_key = DataKey::BettorAt(market_id, i); - let bettor: Address = - if let Some(a) = env.storage().persistent().get(&slot_key) { - a - } else { - continue; - }; + let bettor: Address = if let Some(a) = env.storage().persistent().get(&slot_key) { + a + } else { + continue; + }; let bet_key = DataKey::Bet(market_id, bettor.clone()); - if let Some(entry) = env.storage().persistent().get::(&bet_key) { + if let Some(entry) = env + .storage() + .persistent() + .get::(&bet_key) + { if entry.is_yes == outcome { let payout = (entry.net * total_pool) / winning_side; let payout_key = DataKey::Payout(market_id, bettor.clone()); @@ -708,13 +782,24 @@ impl PredictionMarketContract { } let is_winner = entry.is_yes == market.outcome; - let total_pool = market.total_yes + market.total_no; let winning_side = if market.outcome { market.total_yes } else { market.total_no }; + let cfg: Config = env.storage().instance().get(&DataKey::Cfg).unwrap(); + // Upgrade coordination: verify the leaderboard exposes a compatible + // `reward` interface BEFORE any local state changes or external calls, + // so a unilateral incompatible upgrade fails the whole claim atomically + // instead of marking the bet claimed and then failing mid-way. + Self::require_interface_version( + &env, + &cfg.leaderboard, + LEADERBOARD_REWARD_INTERFACE_VERSION, + )?; + let this = env.current_contract_address(); + // SECURITY: mark claimed BEFORE any external calls. entry.claimed = true; env.storage().persistent().set(&bet_key, &entry); @@ -728,21 +813,14 @@ impl PredictionMarketContract { .persistent() .extend_ttl(&DataKey::Market(market_id), TTL_BUMP, TTL_HIGH); - let cfg: Config = env.storage().instance().get(&DataKey::Cfg).unwrap(); - let this = env.current_contract_address(); - // XLM payout straight from the settlement-time payout ledger. // Winners are exactly the bettors who own a Payout entry; everyone // else (losers, empty winning side) has no payout key at all. - let payout: i128 = if let Some(p) = env + let payout: i128 = env .storage() .persistent() .get::(&DataKey::Payout(market_id, user.clone())) - { - p - } else { - 0 - }; + .unwrap_or_default(); if is_winner && payout > 0 { token::Client::new(&env, &cfg.xlm_sac).transfer(&this, &user, &payout); } @@ -756,6 +834,8 @@ impl PredictionMarketContract { (LOSE_POINTS, LOSE_TOKENS) }; + // Upgrade coordination: the leaderboard was already verified to expose + // a compatible `reward` interface before the bet was marked claimed. let _: Val = env.invoke_contract( &cfg.leaderboard, &Symbol::new(&env, "reward"), @@ -1038,6 +1118,32 @@ impl PredictionMarketContract { .ok_or(MarketError::MarketNotFound) } + // ── Interface versioning helpers (upgrade coordination) ────────────── + // Reads `interface_version()` on the target contract and fails closed with + // a typed error when the target does not expose the function + // (InterfaceVersionMissing) or reports a version below the required + // minimum (IncompatibleInterface). Uses try_invoke_contract so a missing + // function or panicking target is caught deterministically instead of + // aborting with a generic host panic. + fn require_interface_version( + env: &Env, + target: &Address, + required: u32, + ) -> Result<(), MarketError> { + let version: u32 = match env.try_invoke_contract::( + target, + &Symbol::new(env, "interface_version"), + vec![&env], + ) { + Ok(Ok(v)) => v, + Ok(Err(_)) | Err(_) => return Err(MarketError::InterfaceVersionMissing), + }; + if version < required { + return Err(MarketError::IncompatibleInterface); + } + Ok(()) + } + #[inline] fn require_admin(env: &Env, caller: &Address) -> Result<(), MarketError> { let admin: Address = env @@ -1129,9 +1235,9 @@ impl PredictionMarketContract { .unwrap_or((now, 0)); // A timestamp regression must remain in the existing window. Using - // checked subtraction prevents underflow from resetting the limit and - // allowing an extra burst of market creations. - let elapsed = now.checked_sub(ws).unwrap_or(0); + // saturating subtraction prevents underflow from resetting the limit + // and allowing an extra burst of market creations. + let elapsed = now.saturating_sub(ws); let (new_ws, new_cnt) = if elapsed < 3600 { if cnt >= MAX_MARKETS_PER_HOUR { return Err(MarketError::RateLimitExceeded); diff --git a/prediction_market/src/tests.rs b/prediction_market/src/tests.rs index 062792f..9eed33f 100644 --- a/prediction_market/src/tests.rs +++ b/prediction_market/src/tests.rs @@ -1,5 +1,6 @@ use super::*; use soroban_sdk::{ + contract, contractimpl, testutils::{storage::Persistent as _, Address as _, Ledger, LedgerInfo}, token::{Client as TokenClient, StellarAssetClient}, Env, String, @@ -26,6 +27,11 @@ fn setup() -> TestSetup { let env = Env::default(); env.mock_all_auths(); env.cost_estimate().budget().reset_unlimited(); + // Heavy tests (e.g. legacy bettor-index reads that materialize >100 + // distinct ledger keys, spam-guard loops) exceed the mainnet footprint + // limits the test harness enforces by default. Disable the invocation + // resource limits — assertions are unaffected. + env.cost_estimate().disable_resource_limits(); env.ledger().set(LedgerInfo { timestamp: 1_000_000, @@ -705,7 +711,8 @@ fn test_reject_drain_entire_accumulator_in_one_request() { t.client.add_fee_recipient(&t.admin, &recipient); let fees = t.client.get_accumulated_fees(); - t.client.request_withdraw_fees(&recipient, &recipient, &fees); + t.client + .request_withdraw_fees(&recipient, &recipient, &fees); } // ── 27e. Payout is locked until the timelock elapses (issue #12) ────────────── @@ -837,14 +844,14 @@ fn test_bettor_index_legacy_read_is_bounded() { // Simulate a large legacy index without spending time creating 101 bets. t.env.as_contract(&t.client.address, || { - t.env.storage().persistent().set( - &DataKey::BettorCount(id), - &(MAX_BETTORS_PER_PAGE + 1), - ); - t.env.storage().persistent().set( - &DataKey::BettorAt(id, 0), - &first, - ); + t.env + .storage() + .persistent() + .set(&DataKey::BettorCount(id), &(MAX_BETTORS_PER_PAGE + 1)); + t.env + .storage() + .persistent() + .set(&DataKey::BettorAt(id, 0), &first); t.env.storage().persistent().set( &DataKey::BettorAt(id, MAX_BETTORS_PER_PAGE), &beyond_first_page, @@ -895,7 +902,9 @@ fn test_reject_too_many_bets() { fund_user(&t, &user, 100_000_000_000); for _ in 0..=20u32 { - t.client.place_bet(&user, &id, &true, &1_0000000_i128); + // 1.1 XLM gross → net 1.078 XLM clears MIN_BET; the spam guard + // (TooManyBets, #17) must fire on the 21st bet only. + t.client.place_bet(&user, &id, &true, &11_0000000_i128); } } @@ -1301,10 +1310,10 @@ fn test_many_winners_payouts_exact_and_dust_swept() { let w2 = Address::generate(&t.env); let w3 = Address::generate(&t.env); let l1 = Address::generate(&t.env); - fund_user(&t, &w1, 1_000_0000000); - fund_user(&t, &w2, 1_000_0000000); - fund_user(&t, &w3, 1_000_0000000); - fund_user(&t, &l1, 1_000_0000000); + fund_user(&t, &w1, 10_000_000_000); + fund_user(&t, &w2, 10_000_000_000); + fund_user(&t, &w3, 10_000_000_000); + fund_user(&t, &l1, 10_000_000_000); // Deliberately uneven stakes that do NOT divide the pool evenly. t.client.place_bet(&w1, &id, &true, &30_000_001_i128); @@ -1349,11 +1358,11 @@ fn test_many_winners_payouts_exact_and_dust_swept() { t.client.claim(&w1, &id); t.client.claim(&w2, &id); t.client.claim(&w3, &id); + assert_eq!(bal_before - t.xlm.balance(&market_contract), p1 + p2 + p3); assert_eq!( - bal_before - t.xlm.balance(&market_contract), - p1 + p2 + p3 + t.xlm.balance(&w1), + 10_000_000_000_i128 - 30_000_001_i128 + p1 ); - assert_eq!(t.xlm.balance(&w1), 1_000_0000000_i128 - 30_000_001_i128 + p1); } // ── #2: single winner receives the whole pool (no dust) ───────────────────── @@ -1363,8 +1372,8 @@ fn test_single_winner_gets_whole_net_pool() { let id = create_test_market(&t); let winner = Address::generate(&t.env); let loser = Address::generate(&t.env); - fund_user(&t, &winner, 1_000_0000000); - fund_user(&t, &loser, 1_000_0000000); + fund_user(&t, &winner, 10_000_000_000); + fund_user(&t, &loser, 10_000_000_000); t.client.place_bet(&winner, &id, &true, &60_0000000_i128); t.client.place_bet(&loser, &id, &false, &60_0000000_i128); @@ -1416,8 +1425,9 @@ fn test_claim_rebumps_ttl_entries() { let bet_key = DataKey::Bet(id, user.clone()); let market_key = DataKey::Market(id); let ttl = |key: &DataKey| -> u32 { - t.env - .as_contract(&market_contract, || t.env.storage().persistent().get_ttl(key)) + t.env.as_contract(&market_contract, || { + t.env.storage().persistent().get_ttl(key) + }) }; let before_bet = ttl(&bet_key); let before_market = ttl(&market_key); @@ -1445,8 +1455,9 @@ fn test_cancel_refund_rebumps_ttl_entries() { let bet_key = DataKey::Bet(id, user.clone()); let market_key = DataKey::Market(id); let ttl = |key: &DataKey| -> u32 { - t.env - .as_contract(&market_contract, || t.env.storage().persistent().get_ttl(key)) + t.env.as_contract(&market_contract, || { + t.env.storage().persistent().get_ttl(key) + }) }; let bet_before = ttl(&bet_key); let market_before = ttl(&market_key); @@ -1456,3 +1467,153 @@ fn test_cancel_refund_rebumps_ttl_entries() { assert!(ttl(&bet_key) > bet_before); assert!(ttl(&market_key) > market_before); } + +// ── Upgrade Coordination (cross-contract interface versioning) ──────────────── +// Every cross-contract invoke is preceded by a require_interface_version() check +// on the target. These tests prove each dependency fails closed (Incompatible +// #27 / Missing #26) when its declared interface version is stale or absent, +// and that a coordinated re-declaration recovers the system. + +#[contract] +struct NoVersionContract; + +#[contractimpl] +impl NoVersionContract { + pub fn initialize(_env: Env) {} +} + +fn assert_market_error( + r: Result< + Result<(), soroban_sdk::ConversionError>, + Result, + >, + expected: MarketError, +) { + match r { + Err(Ok(e)) => assert_eq!(e, expected), + other => panic!("expected {expected:?}, got {other:?}"), + } +} + +#[test] +fn test_place_bet_rejects_incompatible_referral_version() { + let t = setup(); + let id = create_test_market(&t); + let user = Address::generate(&t.env); + fund_user(&t, &user, 200_0000000); + + // Simulate an uncoordinated upgrade: referral registry still runs but its + // declared interface version (dropped to 0) no longer satisfies the + // market's required `credit` ABI (>= 1). + t.referral_client.set_interface_version(&t.admin, &0); + + assert_market_error( + t.client.try_place_bet(&user, &id, &true, &100_0000000_i128), + MarketError::IncompatibleInterface, + ); +} + +#[test] +fn test_place_bet_rejects_missing_referral_version() { + let t = setup(); + let id = create_test_market(&t); + let user = Address::generate(&t.env); + fund_user(&t, &user, 200_0000000); + + // A deployment that never exposed `interface_version` (e.g. a contract + // upgraded from before this scheme existed). Fails closed as Missing. + let no_version = t.env.register(NoVersionContract, ()); + t.client.set_config( + &t.admin, + &t.token_client.address, + &no_version, + &t.leaderboard_client.address, + &t.xlm.address, + ); + + assert_market_error( + t.client.try_place_bet(&user, &id, &true, &100_0000000_i128), + MarketError::InterfaceVersionMissing, + ); +} + +#[test] +fn test_claim_rejects_incompatible_leaderboard_version() { + let t = setup(); + let id = create_test_market(&t); + let user = Address::generate(&t.env); + fund_user(&t, &user, 200_0000000); + + t.client.place_bet(&user, &id, &true, &100_0000000_i128); + advance_time(&t.env, 3601); + t.client.resolve_market(&t.admin, &id, &true); + + // Leaderboard's declared version is stale (uncoordinated upgrade). + t.leaderboard_client.set_interface_version(&t.admin, &0); + + assert_market_error( + t.client.try_claim(&user, &id), + MarketError::IncompatibleInterface, + ); +} + +#[test] +fn test_claim_rejects_missing_leaderboard_version() { + let t = setup(); + let id = create_test_market(&t); + let user = Address::generate(&t.env); + fund_user(&t, &user, 200_0000000); + + t.client.place_bet(&user, &id, &true, &100_0000000_i128); + advance_time(&t.env, 3601); + t.client.resolve_market(&t.admin, &id, &true); + + // Leaderboard never exposed `interface_version`. + let no_version = t.env.register(NoVersionContract, ()); + t.client.set_config( + &t.admin, + &t.token_client.address, + &t.referral_client.address, + &no_version, + &t.xlm.address, + ); + + assert_market_error( + t.client.try_claim(&user, &id), + MarketError::InterfaceVersionMissing, + ); +} + +#[test] +fn test_unilateral_upgrade_fails_closed_then_recovers() { + let t = setup(); + let id = create_test_market(&t); + let user = Address::generate(&t.env); + fund_user(&t, &user, 200_0000000); + + t.client.place_bet(&user, &id, &true, &100_0000000_i128); + advance_time(&t.env, 3601); + t.client.resolve_market(&t.admin, &id, &true); + + // Uncoordinated leaderboard upgrade: new WASM is live but its declared + // version was not recommitted (dropped to 0 here, same as a fresh install + // that never ran set_interface_version). Every claim must fail closed and, + // crucially, must NOT consume the bet. + t.leaderboard_client.set_interface_version(&t.admin, &0); + assert_market_error( + t.client.try_claim(&user, &id), + MarketError::IncompatibleInterface, + ); + assert_market_error( + t.client.try_claim(&user, &id), + MarketError::IncompatibleInterface, + ); + + // Coordinated recovery: admin declares the new interface version; claims + // resume with no redeployment and no data migration. + t.leaderboard_client.set_interface_version(&t.admin, &1); + t.client.claim(&user, &id); + + assert_eq!(t.xlm.balance(&user), 198_0000000); + assert_eq!(t.token_client.balance(&user), 10_0000000); +} diff --git a/prediction_market/test_snapshots/tests/test_admin_cancel_pending_withdrawal.1.json b/prediction_market/test_snapshots/tests/test_admin_cancel_pending_withdrawal.1.json index 1d53b5e..b71b498 100644 --- a/prediction_market/test_snapshots/tests/test_admin_cancel_pending_withdrawal.1.json +++ b/prediction_market/test_snapshots/tests/test_admin_cancel_pending_withdrawal.1.json @@ -814,6 +814,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -886,6 +898,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -898,6 +922,30 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, { "key": { "vec": [ @@ -941,7 +989,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 }, { "entry": { @@ -970,6 +1018,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1421,6 +1481,18 @@ ] } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1772,7 +1844,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 } ] }, diff --git a/prediction_market/test_snapshots/tests/test_bettor_index_enumeration.1.json b/prediction_market/test_snapshots/tests/test_bettor_index_enumeration.1.json index fcc3d65..525d830 100644 --- a/prediction_market/test_snapshots/tests/test_bettor_index_enumeration.1.json +++ b/prediction_market/test_snapshots/tests/test_bettor_index_enumeration.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 9, "nonce": 0, @@ -471,6 +471,8 @@ } ] ], + [], + [], [] ], "ledger": { @@ -884,6 +886,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -956,6 +970,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -968,6 +994,30 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, { "key": { "vec": [ @@ -1011,7 +1061,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 }, { "entry": { @@ -1040,6 +1090,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1720,6 +1782,18 @@ ] } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -2195,9 +2269,9 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 } ] }, "events": [] -} +} \ No newline at end of file diff --git a/prediction_market/test_snapshots/tests/test_bettor_index_legacy_read_is_bounded.1.json b/prediction_market/test_snapshots/tests/test_bettor_index_legacy_read_is_bounded.1.json new file mode 100644 index 0000000..ff110e1 --- /dev/null +++ b/prediction_market/test_snapshots/tests/test_bettor_index_legacy_read_is_bounded.1.json @@ -0,0 +1,1360 @@ +{ + "generators": { + "address": 8, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [], + [ + [ + "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF", + { + "function": { + "contract_fn": { + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "function_name": "set_admin", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "string": "PULSE" + }, + { + "string": "PLSE" + }, + { + "u32": 7 + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "set_token", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "create_market", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "string": "Will BTC hit 100k?" + }, + { + "string": "https://example.com/btc.png" + }, + { + "vec": [ + { + "symbol": "Crypto" + } + ] + }, + { + "u64": "3600" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [] + ], + "ledger": { + "protocol_version": 26, + "sequence_number": 100, + "timestamp": 1000000, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 10, + "min_persistent_entry_ttl": 100, + "min_temp_entry_ttl": 100, + "max_entry_ttl": 10000000, + "ledger_entries": [ + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "account": { + "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF", + "balance": "0", + "seq_num": "0", + "num_sub_entries": 0, + "inflation_dest": null, + "flags": 0, + "home_domain": "", + "thresholds": "01010101", + "signers": [], + "ext": "v0" + } + }, + "ext": "v0" + }, + "live_until": null + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1033654523790656264" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1194852393571756375" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "2032731177588607455" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4270020994084947596" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4837995959683129791" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "5541220902715666415" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "5806905060045992000" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "6277191135259896685" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "8370022561469687789" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Decimals" + } + ] + }, + "val": { + "u32": 7 + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "Name" + } + ] + }, + "val": { + "string": "PULSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Symbol" + } + ] + }, + "val": { + "string": "PLSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TotalSupply" + } + ] + }, + "val": { + "i128": "0" + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "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": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "MarketContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "vec": [ + { + "symbol": "ReferralContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TokenContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TopPlayerCount" + } + ] + }, + "val": { + "u32": 0 + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "LeaderboardContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MarketContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TokenContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "vec": [ + { + "symbol": "XlmSacContract" + } + ] + }, + "val": { + "address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL" + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "BettorAt" + }, + { + "u64": "1" + }, + { + "u32": 0 + } + ] + }, + "durability": "persistent", + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "BettorAt" + }, + { + "u64": "1" + }, + { + "u32": 100 + } + ] + }, + "durability": "persistent", + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "BettorCount" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent", + "val": { + "u32": 101 + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "Market" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "bet_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "cancelled" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "category" + }, + "val": { + "vec": [ + { + "symbol": "Crypto" + } + ] + } + }, + { + "key": { + "symbol": "creator" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "end_time" + }, + "val": { + "u64": "1003600" + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "image_url" + }, + "val": { + "string": "https://example.com/btc.png" + } + }, + { + "key": { + "symbol": "outcome" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "question" + }, + "val": { + "string": "Will BTC hit 100k?" + } + }, + { + "key": { + "symbol": "resolved" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "total_no" + }, + "val": { + "i128": "0" + } + }, + { + "key": { + "symbol": "total_yes" + }, + "val": { + "i128": "0" + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "AccumulatedFees" + } + ] + }, + "val": { + "i128": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Cfg" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "leaderboard" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "referral" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "token" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "symbol": "xlm_sac" + }, + "val": { + "address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL" + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "MarketCount" + } + ] + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "vec": [ + { + "symbol": "RateWindow" + } + ] + }, + "val": { + "vec": [ + { + "u64": "1000000" + }, + { + "u32": 1 + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "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:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF" + } + }, + { + "key": { + "symbol": "symbol" + }, + "val": { + "string": "aaa" + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "AssetInfo" + } + ] + }, + "val": { + "vec": [ + { + "symbol": "AlphaNum4" + }, + { + "map": [ + { + "key": { + "symbol": "asset_code" + }, + "val": { + "string": "aaa\\0" + } + }, + { + "key": { + "symbol": "issuer" + }, + "val": { + "bytes": "0000000000000000000000000000000000000000000000000000000000000002" + } + } + ] + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 121060 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + "live_until": 6307300 + } + ] + }, + "events": [] +} \ No newline at end of file diff --git a/prediction_market/test_snapshots/tests/test_cancel_fees_zeroed_correctly.1.json b/prediction_market/test_snapshots/tests/test_cancel_fees_zeroed_correctly.1.json index ea2bc71..8240b6e 100644 --- a/prediction_market/test_snapshots/tests/test_cancel_fees_zeroed_correctly.1.json +++ b/prediction_market/test_snapshots/tests/test_cancel_fees_zeroed_correctly.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 8, "nonce": 0, @@ -880,6 +880,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -952,6 +964,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -964,6 +988,30 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, { "key": { "vec": [ @@ -1007,7 +1055,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 }, { "entry": { @@ -1036,6 +1084,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1588,6 +1648,18 @@ ] } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -2031,7 +2103,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 } ] }, @@ -2066,4 +2138,4 @@ "failed_call": false } ] -} +} \ No newline at end of file diff --git a/prediction_market/test_snapshots/tests/test_cancel_market_claim_style_refund.1.json b/prediction_market/test_snapshots/tests/test_cancel_market_claim_style_refund.1.json index 51c9687..227dc7f 100644 --- a/prediction_market/test_snapshots/tests/test_cancel_market_claim_style_refund.1.json +++ b/prediction_market/test_snapshots/tests/test_cancel_market_claim_style_refund.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 8, "nonce": 0, @@ -884,6 +884,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -956,6 +968,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -968,6 +992,30 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, { "key": { "vec": [ @@ -1011,7 +1059,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 }, { "entry": { @@ -1040,6 +1088,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1592,6 +1652,18 @@ ] } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -2035,9 +2107,9 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 } ] }, "events": [] -} +} \ No newline at end of file diff --git a/prediction_market/test_snapshots/tests/test_cancel_refund_double_claim_rejected.1.json b/prediction_market/test_snapshots/tests/test_cancel_refund_double_claim_rejected.1.json index 2a5c430..e378ab4 100644 --- a/prediction_market/test_snapshots/tests/test_cancel_refund_double_claim_rejected.1.json +++ b/prediction_market/test_snapshots/tests/test_cancel_refund_double_claim_rejected.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 7, "nonce": 0, @@ -766,6 +766,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -838,6 +850,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -850,6 +874,30 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, { "key": { "vec": [ @@ -893,7 +941,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 }, { "entry": { @@ -922,6 +970,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1346,6 +1406,18 @@ ] } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1697,9 +1769,9 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 } ] }, "events": [] -} +} \ No newline at end of file diff --git a/prediction_market/test_snapshots/tests/test_cancel_refund_non_cancelled_rejected.1.json b/prediction_market/test_snapshots/tests/test_cancel_refund_non_cancelled_rejected.1.json index db1e64e..f3cca7b 100644 --- a/prediction_market/test_snapshots/tests/test_cancel_refund_non_cancelled_rejected.1.json +++ b/prediction_market/test_snapshots/tests/test_cancel_refund_non_cancelled_rejected.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 7, "nonce": 0, @@ -702,6 +702,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -774,6 +786,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -786,6 +810,30 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, { "key": { "vec": [ @@ -829,7 +877,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 }, { "entry": { @@ -858,6 +906,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1282,6 +1342,18 @@ ] } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1613,9 +1685,9 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 } ] }, "events": [] -} +} \ No newline at end of file diff --git a/prediction_market/test_snapshots/tests/test_cancel_refund_rebumps_ttl_entries.1.json b/prediction_market/test_snapshots/tests/test_cancel_refund_rebumps_ttl_entries.1.json index bbec0a6..482082a 100644 --- a/prediction_market/test_snapshots/tests/test_cancel_refund_rebumps_ttl_entries.1.json +++ b/prediction_market/test_snapshots/tests/test_cancel_refund_rebumps_ttl_entries.1.json @@ -769,6 +769,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -841,6 +853,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -853,6 +877,30 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, { "key": { "vec": [ @@ -896,7 +944,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 }, { "entry": { @@ -925,6 +973,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1349,6 +1409,18 @@ ] } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1700,7 +1772,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 } ] }, diff --git a/prediction_market/test_snapshots/tests/test_claim_loser.1.json b/prediction_market/test_snapshots/tests/test_claim_loser.1.json index c2b3b5b..ae590f3 100644 --- a/prediction_market/test_snapshots/tests/test_claim_loser.1.json +++ b/prediction_market/test_snapshots/tests/test_claim_loser.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 8, "nonce": 0, @@ -890,6 +890,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -957,26 +969,26 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { - "u32": 0 + "u32": 1 } }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 1 + "u64": "10" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "10" + "u32": 1 } }, { @@ -1064,7 +1076,7 @@ }, "ext": "v0" }, - "live_until": 6307301 + "live_until": 200 }, { "entry": { @@ -1093,6 +1105,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1114,7 +1138,7 @@ ] }, "val": { - "u64": "10" + "u64": "0" } }, { @@ -1172,7 +1196,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 }, { "entry": { @@ -1201,6 +1225,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1669,6 +1705,36 @@ }, "live_until": 6307300 }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "Payout" + }, + { + "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "durability": "persistent", + "val": { + "i128": "1960000000" + } + } + }, + "ext": "v0" + }, + "live_until": 6307301 + }, { "entry": { "last_modified_ledger_seq": 0, @@ -1753,6 +1819,18 @@ ] } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -2176,9 +2254,9 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 } ] }, "events": [] -} +} \ No newline at end of file diff --git a/prediction_market/test_snapshots/tests/test_claim_no_bet_found.1.json b/prediction_market/test_snapshots/tests/test_claim_no_bet_found.1.json index 6182687..cf397d5 100644 --- a/prediction_market/test_snapshots/tests/test_claim_no_bet_found.1.json +++ b/prediction_market/test_snapshots/tests/test_claim_no_bet_found.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 8, "nonce": 0, @@ -747,6 +747,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -819,6 +831,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -831,6 +855,30 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, { "key": { "vec": [ @@ -874,7 +922,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 }, { "entry": { @@ -903,6 +951,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1243,6 +1303,36 @@ }, "live_until": 6307300 }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "Payout" + }, + { + "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "durability": "persistent", + "val": { + "i128": "490000000" + } + } + }, + "ext": "v0" + }, + "live_until": 6307301 + }, { "entry": { "last_modified_ledger_seq": 0, @@ -1327,6 +1417,18 @@ ] } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1658,9 +1760,9 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 } ] }, "events": [] -} +} \ No newline at end of file diff --git a/prediction_market/test_snapshots/tests/test_claim_rebumps_ttl_entries.1.json b/prediction_market/test_snapshots/tests/test_claim_rebumps_ttl_entries.1.json index 58ca6c8..1248386 100644 --- a/prediction_market/test_snapshots/tests/test_claim_rebumps_ttl_entries.1.json +++ b/prediction_market/test_snapshots/tests/test_claim_rebumps_ttl_entries.1.json @@ -799,6 +799,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -880,6 +892,14 @@ "u64": "30" } }, + { + "key": { + "symbol": "total_bets" + }, + "val": { + "u32": 1 + } + }, { "key": { "symbol": "won_bets" @@ -965,7 +985,7 @@ }, "ext": "v0" }, - "live_until": 12307301 + "live_until": 6000200 }, { "entry": { @@ -994,6 +1014,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1015,7 +1047,7 @@ ] }, "val": { - "u64": "30" + "u64": "0" } }, { @@ -1073,7 +1105,7 @@ }, "ext": "v0" }, - "live_until": 6000200 + "live_until": 12307301 }, { "entry": { @@ -1102,6 +1134,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1442,6 +1486,36 @@ }, "live_until": 12307301 }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "Payout" + }, + { + "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "durability": "persistent", + "val": { + "i128": "980000000" + } + } + }, + "ext": "v0" + }, + "live_until": 6307301 + }, { "entry": { "last_modified_ledger_seq": 0, @@ -1526,6 +1600,18 @@ ] } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1877,7 +1963,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 12307301 } ] }, diff --git a/prediction_market/test_snapshots/tests/test_claim_rejects_incompatible_leaderboard_version.1.json b/prediction_market/test_snapshots/tests/test_claim_rejects_incompatible_leaderboard_version.1.json new file mode 100644 index 0000000..e3b3b65 --- /dev/null +++ b/prediction_market/test_snapshots/tests/test_claim_rejects_incompatible_leaderboard_version.1.json @@ -0,0 +1,1810 @@ +{ + "generators": { + "address": 7, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [], + [ + [ + "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF", + { + "function": { + "contract_fn": { + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "function_name": "set_admin", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "string": "PULSE" + }, + { + "string": "PLSE" + }, + { + "u32": 7 + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "set_token", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "create_market", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "string": "Will BTC hit 100k?" + }, + { + "string": "https://example.com/btc.png" + }, + { + "vec": [ + { + "symbol": "Crypto" + } + ] + }, + { + "u64": "3600" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "function_name": "mint", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + }, + { + "i128": "2000000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "place_bet", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + }, + { + "u64": "1" + }, + { + "bool": true + }, + { + "i128": "1000000000" + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "i128": "1000000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "resolve_market", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "u64": "1" + }, + { + "bool": true + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "set_interface_version", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "u32": 0 + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [] + ], + "ledger": { + "protocol_version": 26, + "sequence_number": 101, + "timestamp": 1003601, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 10, + "min_persistent_entry_ttl": 100, + "min_temp_entry_ttl": 100, + "max_entry_ttl": 10000000, + "ledger_entries": [ + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "account": { + "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF", + "balance": "0", + "seq_num": "0", + "num_sub_entries": 0, + "inflation_dest": null, + "flags": 0, + "home_domain": "", + "thresholds": "01010101", + "signers": [], + "ext": "v0" + } + }, + "ext": "v0" + }, + "live_until": null + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "115220454072064130" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1033654523790656264" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1194852393571756375" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1301173170172112462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000100 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "2032731177588607455" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4270020994084947596" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4837995959683129791" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "5541220902715666415" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "5806905060045992000" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "6277191135259896685" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "6517132746326325848" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000100 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "8370022561469687789" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Decimals" + } + ] + }, + "val": { + "u32": 7 + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "Name" + } + ] + }, + "val": { + "string": "PULSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Symbol" + } + ] + }, + "val": { + "string": "PLSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TotalSupply" + } + ] + }, + "val": { + "i128": "0" + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "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": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "vec": [ + { + "symbol": "MarketContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "vec": [ + { + "symbol": "ReferralContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TokenContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TopPlayerCount" + } + ] + }, + "val": { + "u32": 0 + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "LeaderboardContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MarketContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TokenContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "vec": [ + { + "symbol": "XlmSacContract" + } + ] + }, + "val": { + "address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL" + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "Bet" + }, + { + "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "claimed" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "count" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "gross" + }, + "val": { + "i128": "1000000000" + } + }, + { + "key": { + "symbol": "is_yes" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "net" + }, + "val": { + "i128": "980000000" + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "BettorAt" + }, + { + "u64": "1" + }, + { + "u32": 0 + } + ] + }, + "durability": "persistent", + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "BettorCount" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent", + "val": { + "u32": 1 + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "HasReferrer" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "durability": "persistent", + "val": { + "bool": false + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "Market" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "bet_count" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "cancelled" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "category" + }, + "val": { + "vec": [ + { + "symbol": "Crypto" + } + ] + } + }, + { + "key": { + "symbol": "creator" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "end_time" + }, + "val": { + "u64": "1003600" + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "image_url" + }, + "val": { + "string": "https://example.com/btc.png" + } + }, + { + "key": { + "symbol": "outcome" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "question" + }, + "val": { + "string": "Will BTC hit 100k?" + } + }, + { + "key": { + "symbol": "resolved" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "total_no" + }, + "val": { + "i128": "0" + } + }, + { + "key": { + "symbol": "total_yes" + }, + "val": { + "i128": "980000000" + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "Payout" + }, + { + "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "durability": "persistent", + "val": { + "i128": "980000000" + } + } + }, + "ext": "v0" + }, + "live_until": 6307301 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "AccumulatedFees" + } + ] + }, + "val": { + "i128": "20000000" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Cfg" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "leaderboard" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "referral" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "token" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "symbol": "xlm_sac" + }, + "val": { + "address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL" + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "MarketCount" + } + ] + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "vec": [ + { + "symbol": "RateWindow" + } + ] + }, + "val": { + "vec": [ + { + "u64": "1000000" + }, + { + "u32": 1 + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + "key": { + "ledger_key_nonce": { + "nonce": "3126073502131104533" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "0" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 518500 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "1000000000" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 518500 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "1000000000" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 518500 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "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:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF" + } + }, + { + "key": { + "symbol": "symbol" + }, + "val": { + "string": "aaa" + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "AssetInfo" + } + ] + }, + "val": { + "vec": [ + { + "symbol": "AlphaNum4" + }, + { + "map": [ + { + "key": { + "symbol": "asset_code" + }, + "val": { + "string": "aaa\\0" + } + }, + { + "key": { + "symbol": "issuer" + }, + "val": { + "bytes": "0000000000000000000000000000000000000000000000000000000000000002" + } + } + ] + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 121060 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + "live_until": 6307300 + } + ] + }, + "events": [] +} \ No newline at end of file diff --git a/prediction_market/test_snapshots/tests/test_claim_rejects_missing_leaderboard_version.1.json b/prediction_market/test_snapshots/tests/test_claim_rejects_missing_leaderboard_version.1.json new file mode 100644 index 0000000..cdd32aa --- /dev/null +++ b/prediction_market/test_snapshots/tests/test_claim_rejects_missing_leaderboard_version.1.json @@ -0,0 +1,1843 @@ +{ + "generators": { + "address": 8, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [], + [ + [ + "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF", + { + "function": { + "contract_fn": { + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "function_name": "set_admin", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "string": "PULSE" + }, + { + "string": "PLSE" + }, + { + "u32": 7 + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "set_token", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "create_market", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "string": "Will BTC hit 100k?" + }, + { + "string": "https://example.com/btc.png" + }, + { + "vec": [ + { + "symbol": "Crypto" + } + ] + }, + { + "u64": "3600" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "function_name": "mint", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + }, + { + "i128": "2000000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "place_bet", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + }, + { + "u64": "1" + }, + { + "bool": true + }, + { + "i128": "1000000000" + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "i128": "1000000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "resolve_market", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "u64": "1" + }, + { + "bool": true + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "set_config", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + }, + { + "address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [] + ], + "ledger": { + "protocol_version": 26, + "sequence_number": 101, + "timestamp": 1003601, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 10, + "min_persistent_entry_ttl": 100, + "min_temp_entry_ttl": 100, + "max_entry_ttl": 10000000, + "ledger_entries": [ + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "account": { + "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF", + "balance": "0", + "seq_num": "0", + "num_sub_entries": 0, + "inflation_dest": null, + "flags": 0, + "home_domain": "", + "thresholds": "01010101", + "signers": [], + "ext": "v0" + } + }, + "ext": "v0" + }, + "live_until": null + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "115220454072064130" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1033654523790656264" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1194852393571756375" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1301173170172112462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000100 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "2032731177588607455" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4270020994084947596" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4837995959683129791" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "5541220902715666415" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "5806905060045992000" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "6277191135259896685" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "6517132746326325848" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000100 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "8370022561469687789" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Decimals" + } + ] + }, + "val": { + "u32": 7 + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "Name" + } + ] + }, + "val": { + "string": "PULSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Symbol" + } + ] + }, + "val": { + "string": "PLSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TotalSupply" + } + ] + }, + "val": { + "i128": "0" + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "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": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "MarketContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "vec": [ + { + "symbol": "ReferralContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TokenContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TopPlayerCount" + } + ] + }, + "val": { + "u32": 0 + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "LeaderboardContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MarketContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TokenContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "vec": [ + { + "symbol": "XlmSacContract" + } + ] + }, + "val": { + "address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL" + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "Bet" + }, + { + "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "claimed" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "count" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "gross" + }, + "val": { + "i128": "1000000000" + } + }, + { + "key": { + "symbol": "is_yes" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "net" + }, + "val": { + "i128": "980000000" + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "BettorAt" + }, + { + "u64": "1" + }, + { + "u32": 0 + } + ] + }, + "durability": "persistent", + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "BettorCount" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent", + "val": { + "u32": 1 + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "HasReferrer" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "durability": "persistent", + "val": { + "bool": false + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "Market" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "bet_count" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "cancelled" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "category" + }, + "val": { + "vec": [ + { + "symbol": "Crypto" + } + ] + } + }, + { + "key": { + "symbol": "creator" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "end_time" + }, + "val": { + "u64": "1003600" + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "image_url" + }, + "val": { + "string": "https://example.com/btc.png" + } + }, + { + "key": { + "symbol": "outcome" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "question" + }, + "val": { + "string": "Will BTC hit 100k?" + } + }, + { + "key": { + "symbol": "resolved" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "total_no" + }, + "val": { + "i128": "0" + } + }, + { + "key": { + "symbol": "total_yes" + }, + "val": { + "i128": "980000000" + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "Payout" + }, + { + "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "durability": "persistent", + "val": { + "i128": "980000000" + } + } + }, + "ext": "v0" + }, + "live_until": 6307301 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "AccumulatedFees" + } + ] + }, + "val": { + "i128": "20000000" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Cfg" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "leaderboard" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + } + }, + { + "key": { + "symbol": "referral" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "token" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "symbol": "xlm_sac" + }, + "val": { + "address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL" + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "MarketCount" + } + ] + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "vec": [ + { + "symbol": "RateWindow" + } + ] + }, + "val": { + "vec": [ + { + "u64": "1000000" + }, + { + "u32": 1 + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + "key": { + "ledger_key_nonce": { + "nonce": "3126073502131104533" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": null + } + } + } + }, + "ext": "v0" + }, + "live_until": 200 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "0" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 518500 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "1000000000" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 518500 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "1000000000" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 518500 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "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:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF" + } + }, + { + "key": { + "symbol": "symbol" + }, + "val": { + "string": "aaa" + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "AssetInfo" + } + ] + }, + "val": { + "vec": [ + { + "symbol": "AlphaNum4" + }, + { + "map": [ + { + "key": { + "symbol": "asset_code" + }, + "val": { + "string": "aaa\\0" + } + }, + { + "key": { + "symbol": "issuer" + }, + "val": { + "bytes": "0000000000000000000000000000000000000000000000000000000000000002" + } + } + ] + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 121060 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + "live_until": 6307300 + } + ] + }, + "events": [] +} \ No newline at end of file diff --git a/prediction_market/test_snapshots/tests/test_claim_winner.1.json b/prediction_market/test_snapshots/tests/test_claim_winner.1.json index ec336e1..06b1a6e 100644 --- a/prediction_market/test_snapshots/tests/test_claim_winner.1.json +++ b/prediction_market/test_snapshots/tests/test_claim_winner.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 8, "nonce": 0, @@ -890,6 +890,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -957,7 +969,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -965,18 +977,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "30" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "30" + "u32": 1 } }, { @@ -1064,7 +1076,7 @@ }, "ext": "v0" }, - "live_until": 6307301 + "live_until": 200 }, { "entry": { @@ -1093,6 +1105,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1114,7 +1138,7 @@ ] }, "val": { - "u64": "30" + "u64": "0" } }, { @@ -1172,7 +1196,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 }, { "entry": { @@ -1201,6 +1225,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1669,6 +1705,36 @@ }, "live_until": 6307300 }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "Payout" + }, + { + "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "durability": "persistent", + "val": { + "i128": "1960000000" + } + } + }, + "ext": "v0" + }, + "live_until": 6307301 + }, { "entry": { "last_modified_ledger_seq": 0, @@ -1753,6 +1819,18 @@ ] } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -2176,9 +2254,9 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 } ] }, "events": [] -} +} \ No newline at end of file diff --git a/prediction_market/test_snapshots/tests/test_create_market.1.json b/prediction_market/test_snapshots/tests/test_create_market.1.json index a40b7a9..a4b25c2 100644 --- a/prediction_market/test_snapshots/tests/test_create_market.1.json +++ b/prediction_market/test_snapshots/tests/test_create_market.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 6, "nonce": 0, @@ -612,6 +612,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -684,6 +696,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -696,6 +720,30 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, { "key": { "vec": [ @@ -739,7 +787,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 }, { "entry": { @@ -768,6 +816,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1037,6 +1097,18 @@ ] } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1192,9 +1264,9 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 } ] }, "events": [] -} +} \ No newline at end of file diff --git a/prediction_market/test_snapshots/tests/test_create_multiple_markets.1.json b/prediction_market/test_snapshots/tests/test_create_multiple_markets.1.json index 1c1b21f..6fdcf9a 100644 --- a/prediction_market/test_snapshots/tests/test_create_multiple_markets.1.json +++ b/prediction_market/test_snapshots/tests/test_create_multiple_markets.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 6, "nonce": 0, @@ -667,6 +667,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -739,6 +751,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -751,6 +775,30 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, { "key": { "vec": [ @@ -794,7 +842,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 }, { "entry": { @@ -823,6 +871,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1220,6 +1280,18 @@ ] } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1375,9 +1447,9 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 } ] }, "events": [] -} +} \ No newline at end of file diff --git a/prediction_market/test_snapshots/tests/test_double_init_rejected.1.json b/prediction_market/test_snapshots/tests/test_double_init_rejected.1.json index 85d8ee1..1c70c02 100644 --- a/prediction_market/test_snapshots/tests/test_double_init_rejected.1.json +++ b/prediction_market/test_snapshots/tests/test_double_init_rejected.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 10, "nonce": 0, @@ -556,6 +556,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -628,6 +640,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -640,6 +664,30 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, { "key": { "vec": [ @@ -683,7 +731,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 }, { "entry": { @@ -712,6 +760,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -853,6 +913,18 @@ ] } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -989,9 +1061,9 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 } ] }, "events": [] -} +} \ No newline at end of file diff --git a/prediction_market/test_snapshots/tests/test_e2e_full_inter_contract_flow.1.json b/prediction_market/test_snapshots/tests/test_e2e_full_inter_contract_flow.1.json index 52124b0..c1780c1 100644 --- a/prediction_market/test_snapshots/tests/test_e2e_full_inter_contract_flow.1.json +++ b/prediction_market/test_snapshots/tests/test_e2e_full_inter_contract_flow.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 12, "nonce": 0, @@ -590,6 +590,28 @@ [], [], [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "add_fee_recipient", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXI7N" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], [], [], [ @@ -990,7 +1012,7 @@ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", "key": { "ledger_key_nonce": { - "nonce": "3736142932239307322" + "nonce": "4270020994084947596" } }, "durability": "temporary", @@ -999,7 +1021,7 @@ }, "ext": "v0" }, - "live_until": 10000100 + "live_until": 10000099 }, { "entry": { @@ -1010,7 +1032,7 @@ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", "key": { "ledger_key_nonce": { - "nonce": "4270020994084947596" + "nonce": "4837995959683129791" } }, "durability": "temporary", @@ -1030,7 +1052,7 @@ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", "key": { "ledger_key_nonce": { - "nonce": "4837995959683129791" + "nonce": "5012940724606903311" } }, "durability": "temporary", @@ -1039,7 +1061,7 @@ }, "ext": "v0" }, - "live_until": 10000099 + "live_until": 10000100 }, { "entry": { @@ -1050,7 +1072,7 @@ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", "key": { "ledger_key_nonce": { - "nonce": "5012940724606903311" + "nonce": "5541220902715666415" } }, "durability": "temporary", @@ -1059,7 +1081,7 @@ }, "ext": "v0" }, - "live_until": 10000100 + "live_until": 10000099 }, { "entry": { @@ -1070,7 +1092,7 @@ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", "key": { "ledger_key_nonce": { - "nonce": "5541220902715666415" + "nonce": "5806905060045992000" } }, "durability": "temporary", @@ -1090,7 +1112,7 @@ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", "key": { "ledger_key_nonce": { - "nonce": "5806905060045992000" + "nonce": "6277191135259896685" } }, "durability": "temporary", @@ -1110,7 +1132,7 @@ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", "key": { "ledger_key_nonce": { - "nonce": "6277191135259896685" + "nonce": "8077058277077262192" } }, "durability": "temporary", @@ -1119,7 +1141,7 @@ }, "ext": "v0" }, - "live_until": 10000099 + "live_until": 10000100 }, { "entry": { @@ -1141,6 +1163,26 @@ }, "live_until": 10000099 }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "8375915698557174338" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000100 + }, { "entry": { "last_modified_ledger_seq": 0, @@ -1315,6 +1357,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1382,26 +1436,26 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { - "u32": 1 + "u32": 0 } }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "35" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "35" + "u32": 2 } }, { @@ -1442,26 +1496,26 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { - "u32": 0 + "u32": 1 } }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 1 + "u64": "10" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "10" + "u32": 1 } }, { @@ -1502,26 +1556,26 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { - "u32": 2 + "u32": 0 } }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "6" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "6" + "u32": 2 } }, { @@ -1609,7 +1663,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATYON" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" } }, { @@ -1617,7 +1671,7 @@ "symbol": "points" }, "val": { - "u64": "6" + "u64": "10" } } ] @@ -1653,7 +1707,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATYON" } }, { @@ -1661,7 +1715,7 @@ "symbol": "points" }, "val": { - "u64": "10" + "u64": "6" } } ] @@ -1697,7 +1751,7 @@ }, "ext": "v0" }, - "live_until": 6307300 + "live_until": 199 }, { "entry": { @@ -1718,13 +1772,13 @@ }, "durability": "persistent", "val": { - "u32": 2 + "u32": 1 } } }, "ext": "v0" }, - "live_until": 6307301 + "live_until": 200 }, { "entry": { @@ -1745,13 +1799,13 @@ }, "durability": "persistent", "val": { - "u32": 1 + "u32": 2 } } }, "ext": "v0" }, - "live_until": 6307300 + "live_until": 199 }, { "entry": { @@ -1780,6 +1834,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1801,7 +1867,7 @@ ] }, "val": { - "u64": "3" + "u64": "6" } }, { @@ -1859,7 +1925,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 }, { "entry": { @@ -1986,6 +2052,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -2400,6 +2478,33 @@ }, "live_until": 6307301 }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "FeeRecipient" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXI7N" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 6307301 + }, { "entry": { "last_modified_ledger_seq": 0, @@ -2737,6 +2842,36 @@ }, "live_until": 6307301 }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "Payout" + }, + { + "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "durability": "persistent", + "val": { + "i128": "3430000000" + } + } + }, + "ext": "v0" + }, + "live_until": 6307301 + }, { "entry": { "last_modified_ledger_seq": 0, @@ -2848,6 +2983,18 @@ ] } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -3037,7 +3184,7 @@ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYRE5", "key": { "ledger_key_nonce": { - "nonce": "8077058277077262192" + "nonce": "2891388370666955040" } }, "durability": "temporary", @@ -3057,7 +3204,7 @@ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYRE5", "key": { "ledger_key_nonce": { - "nonce": "8375915698557174338" + "nonce": "3736142932239307322" } }, "durability": "temporary", @@ -3547,9 +3694,9 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 } ] }, "events": [] -} +} \ No newline at end of file diff --git a/prediction_market/test_snapshots/tests/test_empty_side_resolution_pool_to_fees.1.json b/prediction_market/test_snapshots/tests/test_empty_side_resolution_pool_to_fees.1.json index 168b312..473f3cc 100644 --- a/prediction_market/test_snapshots/tests/test_empty_side_resolution_pool_to_fees.1.json +++ b/prediction_market/test_snapshots/tests/test_empty_side_resolution_pool_to_fees.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 8, "nonce": 0, @@ -356,6 +356,28 @@ ] ], [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "add_fee_recipient", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], [], [ [ @@ -678,6 +700,26 @@ }, "live_until": 10000100 }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "7270604957039011794" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000100 + }, { "entry": { "last_modified_ledger_seq": 0, @@ -845,6 +887,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -912,26 +966,26 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { - "u32": 0 + "u32": 1 } }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 1 + "u64": "10" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "10" + "u32": 1 } }, { @@ -1019,7 +1073,7 @@ }, "ext": "v0" }, - "live_until": 6307301 + "live_until": 200 }, { "entry": { @@ -1048,6 +1102,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1069,7 +1135,7 @@ ] }, "val": { - "u64": "10" + "u64": "0" } }, { @@ -1127,7 +1193,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 }, { "entry": { @@ -1156,6 +1222,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1341,6 +1419,33 @@ }, "live_until": 6307300 }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "FeeRecipient" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 6307301 + }, { "entry": { "last_modified_ledger_seq": 0, @@ -1580,6 +1685,18 @@ ] } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1629,7 +1746,7 @@ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", "key": { "ledger_key_nonce": { - "nonce": "3126073502131104533" + "nonce": "2781962168096793370" } }, "durability": "temporary", @@ -1638,7 +1755,7 @@ }, "ext": "v0" }, - "live_until": 10000099 + "live_until": 10000100 }, { "entry": { @@ -1649,7 +1766,7 @@ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", "key": { "ledger_key_nonce": { - "nonce": "7270604957039011794" + "nonce": "3126073502131104533" } }, "durability": "temporary", @@ -1658,7 +1775,7 @@ }, "ext": "v0" }, - "live_until": 10000100 + "live_until": 10000099 }, { "entry": { @@ -1983,9 +2100,9 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 } ] }, "events": [] -} +} \ No newline at end of file diff --git a/prediction_market/test_snapshots/tests/test_execute_without_request.1.json b/prediction_market/test_snapshots/tests/test_execute_without_request.1.json index 216c262..52bdf14 100644 --- a/prediction_market/test_snapshots/tests/test_execute_without_request.1.json +++ b/prediction_market/test_snapshots/tests/test_execute_without_request.1.json @@ -556,6 +556,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -628,6 +640,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -640,6 +664,30 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, { "key": { "vec": [ @@ -683,7 +731,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 }, { "entry": { @@ -712,6 +760,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -853,6 +913,18 @@ ] } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -989,7 +1061,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 } ] }, diff --git a/prediction_market/test_snapshots/tests/test_fee_full_2_percent_no_referrer.1.json b/prediction_market/test_snapshots/tests/test_fee_full_2_percent_no_referrer.1.json index db1e64e..f3cca7b 100644 --- a/prediction_market/test_snapshots/tests/test_fee_full_2_percent_no_referrer.1.json +++ b/prediction_market/test_snapshots/tests/test_fee_full_2_percent_no_referrer.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 7, "nonce": 0, @@ -702,6 +702,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -774,6 +786,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -786,6 +810,30 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, { "key": { "vec": [ @@ -829,7 +877,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 }, { "entry": { @@ -858,6 +906,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1282,6 +1342,18 @@ ] } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1613,9 +1685,9 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 } ] }, "events": [] -} +} \ No newline at end of file diff --git a/prediction_market/test_snapshots/tests/test_fee_recipient_withdraw.1.json b/prediction_market/test_snapshots/tests/test_fee_recipient_withdraw.1.json index 7ad0449..7fa45ad 100644 --- a/prediction_market/test_snapshots/tests/test_fee_recipient_withdraw.1.json +++ b/prediction_market/test_snapshots/tests/test_fee_recipient_withdraw.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 9, "nonce": 0, @@ -351,6 +351,28 @@ } ] ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "add_fee_recipient", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATYON" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], [], [], [ @@ -360,13 +382,37 @@ "function": { "contract_fn": { "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "function_name": "withdraw_fees", + "function_name": "request_withdraw_fees", "args": [ { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" }, { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATYON" + }, + { + "i128": "4000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "execute_withdraw_fees", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" } ] } @@ -380,8 +426,8 @@ ], "ledger": { "protocol_version": 26, - "sequence_number": 100, - "timestamp": 1000000, + "sequence_number": 101, + "timestamp": 1086400, "network_id": "0000000000000000000000000000000000000000000000000000000000000000", "base_reserve": 10, "min_persistent_entry_ttl": 100, @@ -629,6 +675,26 @@ }, "live_until": 10000099 }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "6517132746326325848" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, { "entry": { "last_modified_ledger_seq": 0, @@ -769,6 +835,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -841,6 +919,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -853,6 +943,30 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, { "key": { "vec": [ @@ -896,7 +1010,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 }, { "entry": { @@ -925,6 +1039,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1137,6 +1263,33 @@ }, "live_until": 6307300 }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "FeeRecipient" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATYON" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, { "entry": { "last_modified_ledger_seq": 0, @@ -1316,7 +1469,7 @@ ] }, "val": { - "i128": "0" + "i128": "16000000" } }, { @@ -1376,6 +1529,18 @@ ] } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1445,7 +1610,27 @@ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5", "key": { "ledger_key_nonce": { - "nonce": "6517132746326325848" + "nonce": "2781962168096793370" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000100 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5", + "key": { + "ledger_key_nonce": { + "nonce": "7270604957039011794" } }, "durability": "temporary", @@ -1533,7 +1718,7 @@ "symbol": "amount" }, "val": { - "i128": "980000000" + "i128": "996000000" } }, { @@ -1637,7 +1822,7 @@ "symbol": "amount" }, "val": { - "i128": "20000000" + "i128": "4000000" } }, { @@ -1662,7 +1847,7 @@ }, "ext": "v0" }, - "live_until": 518500 + "live_until": 518501 }, { "entry": { @@ -1779,9 +1964,9 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 } ] }, "events": [] -} +} \ No newline at end of file diff --git a/prediction_market/test_snapshots/tests/test_fee_split_with_referrer.1.json b/prediction_market/test_snapshots/tests/test_fee_split_with_referrer.1.json index e9e319a..ea228c0 100644 --- a/prediction_market/test_snapshots/tests/test_fee_split_with_referrer.1.json +++ b/prediction_market/test_snapshots/tests/test_fee_split_with_referrer.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 8, "nonce": 0, @@ -756,6 +756,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -823,26 +835,26 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { - "u32": 1 + "u32": 0 } }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "5" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "5" + "u32": 1 } }, { @@ -883,26 +895,26 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { - "u32": 1 + "u32": 0 } }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "3" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "3" + "u32": 1 } }, { @@ -1034,7 +1046,7 @@ }, "ext": "v0" }, - "live_until": 6307300 + "live_until": 199 }, { "entry": { @@ -1061,7 +1073,7 @@ }, "ext": "v0" }, - "live_until": 6307300 + "live_until": 199 }, { "entry": { @@ -1090,6 +1102,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1111,7 +1135,7 @@ ] }, "val": { - "u64": "3" + "u64": "0" } }, { @@ -1123,7 +1147,7 @@ ] }, "val": { - "u32": 1 + "u32": 0 } }, { @@ -1169,7 +1193,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 }, { "entry": { @@ -1296,6 +1320,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1720,6 +1756,18 @@ ] } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -2123,9 +2171,9 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 } ] }, "events": [] -} +} \ No newline at end of file diff --git a/prediction_market/test_snapshots/tests/test_increase_position_same_side.1.json b/prediction_market/test_snapshots/tests/test_increase_position_same_side.1.json index 0463885..3276164 100644 --- a/prediction_market/test_snapshots/tests/test_increase_position_same_side.1.json +++ b/prediction_market/test_snapshots/tests/test_increase_position_same_side.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 7, "nonce": 0, @@ -754,6 +754,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -826,6 +838,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -838,6 +862,30 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, { "key": { "vec": [ @@ -881,7 +929,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 }, { "entry": { @@ -910,6 +958,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1334,6 +1394,18 @@ ] } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1685,9 +1757,9 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 } ] }, "events": [] -} +} \ No newline at end of file diff --git a/prediction_market/test_snapshots/tests/test_initialize.1.json b/prediction_market/test_snapshots/tests/test_initialize.1.json index 8af4d67..ae5a258 100644 --- a/prediction_market/test_snapshots/tests/test_initialize.1.json +++ b/prediction_market/test_snapshots/tests/test_initialize.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 6, "nonce": 0, @@ -557,6 +557,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -629,6 +641,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -641,6 +665,30 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, { "key": { "vec": [ @@ -684,7 +732,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 }, { "entry": { @@ -713,6 +761,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -854,6 +914,18 @@ ] } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -990,9 +1062,9 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 } ] }, "events": [] -} +} \ No newline at end of file diff --git a/prediction_market/test_snapshots/tests/test_many_winners_payouts_exact_and_dust_swept.1.json b/prediction_market/test_snapshots/tests/test_many_winners_payouts_exact_and_dust_swept.1.json index 7769a77..52596da 100644 --- a/prediction_market/test_snapshots/tests/test_many_winners_payouts_exact_and_dust_swept.1.json +++ b/prediction_market/test_snapshots/tests/test_many_winners_payouts_exact_and_dust_swept.1.json @@ -1179,6 +1179,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1260,6 +1272,14 @@ "u64": "30" } }, + { + "key": { + "symbol": "total_bets" + }, + "val": { + "u32": 1 + } + }, { "key": { "symbol": "won_bets" @@ -1312,6 +1332,14 @@ "u64": "30" } }, + { + "key": { + "symbol": "total_bets" + }, + "val": { + "u32": 1 + } + }, { "key": { "symbol": "won_bets" @@ -1364,6 +1392,14 @@ "u64": "30" } }, + { + "key": { + "symbol": "total_bets" + }, + "val": { + "u32": 1 + } + }, { "key": { "symbol": "won_bets" @@ -1537,7 +1573,7 @@ }, "ext": "v0" }, - "live_until": 6307301 + "live_until": 200 }, { "entry": { @@ -1564,7 +1600,7 @@ }, "ext": "v0" }, - "live_until": 6307301 + "live_until": 200 }, { "entry": { @@ -1591,7 +1627,7 @@ }, "ext": "v0" }, - "live_until": 6307301 + "live_until": 200 }, { "entry": { @@ -1620,6 +1656,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1641,7 +1689,7 @@ ] }, "val": { - "u64": "30" + "u64": "0" } }, { @@ -1699,7 +1747,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 }, { "entry": { @@ -1728,6 +1776,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -2626,6 +2686,18 @@ ] } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -3233,7 +3305,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 } ] }, diff --git a/prediction_market/test_snapshots/tests/test_market_creation_rate_limit_allows_up_to_max.1.json b/prediction_market/test_snapshots/tests/test_market_creation_rate_limit_allows_up_to_max.1.json index bf5f1e6..e618936 100644 --- a/prediction_market/test_snapshots/tests/test_market_creation_rate_limit_allows_up_to_max.1.json +++ b/prediction_market/test_snapshots/tests/test_market_creation_rate_limit_allows_up_to_max.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 6, "nonce": 0, @@ -1106,6 +1106,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1178,6 +1190,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1190,6 +1214,30 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, { "key": { "vec": [ @@ -1233,7 +1281,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 }, { "entry": { @@ -1262,6 +1310,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -2683,6 +2743,18 @@ ] } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -2838,9 +2910,9 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 } ] }, "events": [] -} +} \ No newline at end of file diff --git a/prediction_market/test_snapshots/tests/test_market_creation_rate_limit_exceeded.1.json b/prediction_market/test_snapshots/tests/test_market_creation_rate_limit_exceeded.1.json index bf5f1e6..e618936 100644 --- a/prediction_market/test_snapshots/tests/test_market_creation_rate_limit_exceeded.1.json +++ b/prediction_market/test_snapshots/tests/test_market_creation_rate_limit_exceeded.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 6, "nonce": 0, @@ -1106,6 +1106,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1178,6 +1190,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1190,6 +1214,30 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, { "key": { "vec": [ @@ -1233,7 +1281,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 }, { "entry": { @@ -1262,6 +1310,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -2683,6 +2743,18 @@ ] } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -2838,9 +2910,9 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 } ] }, "events": [] -} +} \ No newline at end of file diff --git a/prediction_market/test_snapshots/tests/test_market_creation_rate_limit_rejects_timestamp_regression.1.json b/prediction_market/test_snapshots/tests/test_market_creation_rate_limit_rejects_timestamp_regression.1.json new file mode 100644 index 0000000..ebb266d --- /dev/null +++ b/prediction_market/test_snapshots/tests/test_market_creation_rate_limit_rejects_timestamp_regression.1.json @@ -0,0 +1,2918 @@ +{ + "generators": { + "address": 6, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [], + [ + [ + "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF", + { + "function": { + "contract_fn": { + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "function_name": "set_admin", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "string": "PULSE" + }, + { + "string": "PLSE" + }, + { + "u32": 7 + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "set_token", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "create_market", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "string": "Market" + }, + { + "string": "https://x.png" + }, + { + "vec": [ + { + "symbol": "Crypto" + } + ] + }, + { + "u64": "3600" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "create_market", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "string": "Market" + }, + { + "string": "https://x.png" + }, + { + "vec": [ + { + "symbol": "Crypto" + } + ] + }, + { + "u64": "3601" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "create_market", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "string": "Market" + }, + { + "string": "https://x.png" + }, + { + "vec": [ + { + "symbol": "Crypto" + } + ] + }, + { + "u64": "3602" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "create_market", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "string": "Market" + }, + { + "string": "https://x.png" + }, + { + "vec": [ + { + "symbol": "Crypto" + } + ] + }, + { + "u64": "3603" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "create_market", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "string": "Market" + }, + { + "string": "https://x.png" + }, + { + "vec": [ + { + "symbol": "Crypto" + } + ] + }, + { + "u64": "3604" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "create_market", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "string": "Market" + }, + { + "string": "https://x.png" + }, + { + "vec": [ + { + "symbol": "Crypto" + } + ] + }, + { + "u64": "3605" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "create_market", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "string": "Market" + }, + { + "string": "https://x.png" + }, + { + "vec": [ + { + "symbol": "Crypto" + } + ] + }, + { + "u64": "3606" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "create_market", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "string": "Market" + }, + { + "string": "https://x.png" + }, + { + "vec": [ + { + "symbol": "Crypto" + } + ] + }, + { + "u64": "3607" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "create_market", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "string": "Market" + }, + { + "string": "https://x.png" + }, + { + "vec": [ + { + "symbol": "Crypto" + } + ] + }, + { + "u64": "3608" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "create_market", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "string": "Market" + }, + { + "string": "https://x.png" + }, + { + "vec": [ + { + "symbol": "Crypto" + } + ] + }, + { + "u64": "3609" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [] + ], + "ledger": { + "protocol_version": 26, + "sequence_number": 101, + "timestamp": 999999, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 10, + "min_persistent_entry_ttl": 100, + "min_temp_entry_ttl": 100, + "max_entry_ttl": 10000000, + "ledger_entries": [ + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "account": { + "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF", + "balance": "0", + "seq_num": "0", + "num_sub_entries": 0, + "inflation_dest": null, + "flags": 0, + "home_domain": "", + "thresholds": "01010101", + "signers": [], + "ext": "v0" + } + }, + "ext": "v0" + }, + "live_until": null + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "115220454072064130" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1033654523790656264" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1194852393571756375" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1301173170172112462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "2032731177588607455" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "2307661404550649928" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "2781962168096793370" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "3126073502131104533" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4270020994084947596" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4571470874178140630" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4837995959683129791" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "5541220902715666415" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "5806905060045992000" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "6277191135259896685" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "6391496069076573377" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "6517132746326325848" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "7270604957039011794" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "8370022561469687789" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Decimals" + } + ] + }, + "val": { + "u32": 7 + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "Name" + } + ] + }, + "val": { + "string": "PULSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Symbol" + } + ] + }, + "val": { + "string": "PLSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TotalSupply" + } + ] + }, + "val": { + "i128": "0" + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "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": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "MarketContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "vec": [ + { + "symbol": "ReferralContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TokenContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TopPlayerCount" + } + ] + }, + "val": { + "u32": 0 + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "LeaderboardContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MarketContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TokenContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "vec": [ + { + "symbol": "XlmSacContract" + } + ] + }, + "val": { + "address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL" + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "Market" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "bet_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "cancelled" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "category" + }, + "val": { + "vec": [ + { + "symbol": "Crypto" + } + ] + } + }, + { + "key": { + "symbol": "creator" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "end_time" + }, + "val": { + "u64": "1003600" + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "image_url" + }, + "val": { + "string": "https://x.png" + } + }, + { + "key": { + "symbol": "outcome" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "question" + }, + "val": { + "string": "Market" + } + }, + { + "key": { + "symbol": "resolved" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "total_no" + }, + "val": { + "i128": "0" + } + }, + { + "key": { + "symbol": "total_yes" + }, + "val": { + "i128": "0" + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "Market" + }, + { + "u64": "2" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "bet_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "cancelled" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "category" + }, + "val": { + "vec": [ + { + "symbol": "Crypto" + } + ] + } + }, + { + "key": { + "symbol": "creator" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "end_time" + }, + "val": { + "u64": "1003601" + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": "2" + } + }, + { + "key": { + "symbol": "image_url" + }, + "val": { + "string": "https://x.png" + } + }, + { + "key": { + "symbol": "outcome" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "question" + }, + "val": { + "string": "Market" + } + }, + { + "key": { + "symbol": "resolved" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "total_no" + }, + "val": { + "i128": "0" + } + }, + { + "key": { + "symbol": "total_yes" + }, + "val": { + "i128": "0" + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "Market" + }, + { + "u64": "3" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "bet_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "cancelled" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "category" + }, + "val": { + "vec": [ + { + "symbol": "Crypto" + } + ] + } + }, + { + "key": { + "symbol": "creator" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "end_time" + }, + "val": { + "u64": "1003602" + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": "3" + } + }, + { + "key": { + "symbol": "image_url" + }, + "val": { + "string": "https://x.png" + } + }, + { + "key": { + "symbol": "outcome" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "question" + }, + "val": { + "string": "Market" + } + }, + { + "key": { + "symbol": "resolved" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "total_no" + }, + "val": { + "i128": "0" + } + }, + { + "key": { + "symbol": "total_yes" + }, + "val": { + "i128": "0" + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "Market" + }, + { + "u64": "4" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "bet_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "cancelled" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "category" + }, + "val": { + "vec": [ + { + "symbol": "Crypto" + } + ] + } + }, + { + "key": { + "symbol": "creator" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "end_time" + }, + "val": { + "u64": "1003603" + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": "4" + } + }, + { + "key": { + "symbol": "image_url" + }, + "val": { + "string": "https://x.png" + } + }, + { + "key": { + "symbol": "outcome" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "question" + }, + "val": { + "string": "Market" + } + }, + { + "key": { + "symbol": "resolved" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "total_no" + }, + "val": { + "i128": "0" + } + }, + { + "key": { + "symbol": "total_yes" + }, + "val": { + "i128": "0" + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "Market" + }, + { + "u64": "5" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "bet_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "cancelled" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "category" + }, + "val": { + "vec": [ + { + "symbol": "Crypto" + } + ] + } + }, + { + "key": { + "symbol": "creator" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "end_time" + }, + "val": { + "u64": "1003604" + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": "5" + } + }, + { + "key": { + "symbol": "image_url" + }, + "val": { + "string": "https://x.png" + } + }, + { + "key": { + "symbol": "outcome" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "question" + }, + "val": { + "string": "Market" + } + }, + { + "key": { + "symbol": "resolved" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "total_no" + }, + "val": { + "i128": "0" + } + }, + { + "key": { + "symbol": "total_yes" + }, + "val": { + "i128": "0" + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "Market" + }, + { + "u64": "6" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "bet_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "cancelled" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "category" + }, + "val": { + "vec": [ + { + "symbol": "Crypto" + } + ] + } + }, + { + "key": { + "symbol": "creator" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "end_time" + }, + "val": { + "u64": "1003605" + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": "6" + } + }, + { + "key": { + "symbol": "image_url" + }, + "val": { + "string": "https://x.png" + } + }, + { + "key": { + "symbol": "outcome" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "question" + }, + "val": { + "string": "Market" + } + }, + { + "key": { + "symbol": "resolved" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "total_no" + }, + "val": { + "i128": "0" + } + }, + { + "key": { + "symbol": "total_yes" + }, + "val": { + "i128": "0" + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "Market" + }, + { + "u64": "7" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "bet_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "cancelled" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "category" + }, + "val": { + "vec": [ + { + "symbol": "Crypto" + } + ] + } + }, + { + "key": { + "symbol": "creator" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "end_time" + }, + "val": { + "u64": "1003606" + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": "7" + } + }, + { + "key": { + "symbol": "image_url" + }, + "val": { + "string": "https://x.png" + } + }, + { + "key": { + "symbol": "outcome" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "question" + }, + "val": { + "string": "Market" + } + }, + { + "key": { + "symbol": "resolved" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "total_no" + }, + "val": { + "i128": "0" + } + }, + { + "key": { + "symbol": "total_yes" + }, + "val": { + "i128": "0" + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "Market" + }, + { + "u64": "8" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "bet_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "cancelled" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "category" + }, + "val": { + "vec": [ + { + "symbol": "Crypto" + } + ] + } + }, + { + "key": { + "symbol": "creator" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "end_time" + }, + "val": { + "u64": "1003607" + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": "8" + } + }, + { + "key": { + "symbol": "image_url" + }, + "val": { + "string": "https://x.png" + } + }, + { + "key": { + "symbol": "outcome" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "question" + }, + "val": { + "string": "Market" + } + }, + { + "key": { + "symbol": "resolved" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "total_no" + }, + "val": { + "i128": "0" + } + }, + { + "key": { + "symbol": "total_yes" + }, + "val": { + "i128": "0" + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "Market" + }, + { + "u64": "9" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "bet_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "cancelled" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "category" + }, + "val": { + "vec": [ + { + "symbol": "Crypto" + } + ] + } + }, + { + "key": { + "symbol": "creator" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "end_time" + }, + "val": { + "u64": "1003608" + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": "9" + } + }, + { + "key": { + "symbol": "image_url" + }, + "val": { + "string": "https://x.png" + } + }, + { + "key": { + "symbol": "outcome" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "question" + }, + "val": { + "string": "Market" + } + }, + { + "key": { + "symbol": "resolved" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "total_no" + }, + "val": { + "i128": "0" + } + }, + { + "key": { + "symbol": "total_yes" + }, + "val": { + "i128": "0" + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "Market" + }, + { + "u64": "10" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "bet_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "cancelled" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "category" + }, + "val": { + "vec": [ + { + "symbol": "Crypto" + } + ] + } + }, + { + "key": { + "symbol": "creator" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "end_time" + }, + "val": { + "u64": "1003609" + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": "10" + } + }, + { + "key": { + "symbol": "image_url" + }, + "val": { + "string": "https://x.png" + } + }, + { + "key": { + "symbol": "outcome" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "question" + }, + "val": { + "string": "Market" + } + }, + { + "key": { + "symbol": "resolved" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "total_no" + }, + "val": { + "i128": "0" + } + }, + { + "key": { + "symbol": "total_yes" + }, + "val": { + "i128": "0" + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "AccumulatedFees" + } + ] + }, + "val": { + "i128": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Cfg" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "leaderboard" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "referral" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "token" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "symbol": "xlm_sac" + }, + "val": { + "address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL" + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "MarketCount" + } + ] + }, + "val": { + "u64": "10" + } + }, + { + "key": { + "vec": [ + { + "symbol": "RateWindow" + } + ] + }, + "val": { + "vec": [ + { + "u64": "1000000" + }, + { + "u32": 10 + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "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:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF" + } + }, + { + "key": { + "symbol": "symbol" + }, + "val": { + "string": "aaa" + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "AssetInfo" + } + ] + }, + "val": { + "vec": [ + { + "symbol": "AlphaNum4" + }, + { + "map": [ + { + "key": { + "symbol": "asset_code" + }, + "val": { + "string": "aaa\\0" + } + }, + { + "key": { + "symbol": "issuer" + }, + "val": { + "bytes": "0000000000000000000000000000000000000000000000000000000000000002" + } + } + ] + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 121060 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + "live_until": 6307300 + } + ] + }, + "events": [] +} \ No newline at end of file diff --git a/prediction_market/test_snapshots/tests/test_market_creation_rate_limit_resets_after_window.1.json b/prediction_market/test_snapshots/tests/test_market_creation_rate_limit_resets_after_window.1.json index 98210ed..62a0f87 100644 --- a/prediction_market/test_snapshots/tests/test_market_creation_rate_limit_resets_after_window.1.json +++ b/prediction_market/test_snapshots/tests/test_market_creation_rate_limit_resets_after_window.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 6, "nonce": 0, @@ -1160,6 +1160,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1232,6 +1244,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1244,6 +1268,30 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, { "key": { "vec": [ @@ -1287,7 +1335,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 }, { "entry": { @@ -1316,6 +1364,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -2865,6 +2925,18 @@ ] } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -3020,9 +3092,9 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 } ] }, "events": [] -} +} \ No newline at end of file diff --git a/prediction_market/test_snapshots/tests/test_market_not_found.1.json b/prediction_market/test_snapshots/tests/test_market_not_found.1.json index 907baa5..75f891e 100644 --- a/prediction_market/test_snapshots/tests/test_market_not_found.1.json +++ b/prediction_market/test_snapshots/tests/test_market_not_found.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 6, "nonce": 0, @@ -556,6 +556,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -628,6 +640,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -640,6 +664,30 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, { "key": { "vec": [ @@ -683,7 +731,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 }, { "entry": { @@ -712,6 +760,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -853,6 +913,18 @@ ] } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -989,9 +1061,9 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 } ] }, "events": [] -} +} \ No newline at end of file diff --git a/prediction_market/test_snapshots/tests/test_place_bet_rejects_incompatible_referral_version.1.json b/prediction_market/test_snapshots/tests/test_place_bet_rejects_incompatible_referral_version.1.json new file mode 100644 index 0000000..008b7fa --- /dev/null +++ b/prediction_market/test_snapshots/tests/test_place_bet_rejects_incompatible_referral_version.1.json @@ -0,0 +1,1437 @@ +{ + "generators": { + "address": 7, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [], + [ + [ + "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF", + { + "function": { + "contract_fn": { + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "function_name": "set_admin", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "string": "PULSE" + }, + { + "string": "PLSE" + }, + { + "u32": 7 + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "set_token", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "create_market", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "string": "Will BTC hit 100k?" + }, + { + "string": "https://example.com/btc.png" + }, + { + "vec": [ + { + "symbol": "Crypto" + } + ] + }, + { + "u64": "3600" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "function_name": "mint", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + }, + { + "i128": "2000000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "function_name": "set_interface_version", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "u32": 0 + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [] + ], + "ledger": { + "protocol_version": 26, + "sequence_number": 100, + "timestamp": 1000000, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 10, + "min_persistent_entry_ttl": 100, + "min_temp_entry_ttl": 100, + "max_entry_ttl": 10000000, + "ledger_entries": [ + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "account": { + "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF", + "balance": "0", + "seq_num": "0", + "num_sub_entries": 0, + "inflation_dest": null, + "flags": 0, + "home_domain": "", + "thresholds": "01010101", + "signers": [], + "ext": "v0" + } + }, + "ext": "v0" + }, + "live_until": null + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "115220454072064130" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1033654523790656264" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1194852393571756375" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "2032731177588607455" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "3126073502131104533" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4270020994084947596" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4837995959683129791" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "5541220902715666415" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "5806905060045992000" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "6277191135259896685" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "8370022561469687789" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Decimals" + } + ] + }, + "val": { + "u32": 7 + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "Name" + } + ] + }, + "val": { + "string": "PULSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Symbol" + } + ] + }, + "val": { + "string": "PLSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TotalSupply" + } + ] + }, + "val": { + "i128": "0" + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "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": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "MarketContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "vec": [ + { + "symbol": "ReferralContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TokenContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TopPlayerCount" + } + ] + }, + "val": { + "u32": 0 + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "vec": [ + { + "symbol": "LeaderboardContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MarketContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TokenContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "vec": [ + { + "symbol": "XlmSacContract" + } + ] + }, + "val": { + "address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL" + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "Market" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "bet_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "cancelled" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "category" + }, + "val": { + "vec": [ + { + "symbol": "Crypto" + } + ] + } + }, + { + "key": { + "symbol": "creator" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "end_time" + }, + "val": { + "u64": "1003600" + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "image_url" + }, + "val": { + "string": "https://example.com/btc.png" + } + }, + { + "key": { + "symbol": "outcome" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "question" + }, + "val": { + "string": "Will BTC hit 100k?" + } + }, + { + "key": { + "symbol": "resolved" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "total_no" + }, + "val": { + "i128": "0" + } + }, + { + "key": { + "symbol": "total_yes" + }, + "val": { + "i128": "0" + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "AccumulatedFees" + } + ] + }, + "val": { + "i128": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Cfg" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "leaderboard" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "referral" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "token" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "symbol": "xlm_sac" + }, + "val": { + "address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL" + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "MarketCount" + } + ] + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "vec": [ + { + "symbol": "RateWindow" + } + ] + }, + "val": { + "vec": [ + { + "u64": "1000000" + }, + { + "u32": 1 + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "2000000000" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 518500 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "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:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF" + } + }, + { + "key": { + "symbol": "symbol" + }, + "val": { + "string": "aaa" + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "AssetInfo" + } + ] + }, + "val": { + "vec": [ + { + "symbol": "AlphaNum4" + }, + { + "map": [ + { + "key": { + "symbol": "asset_code" + }, + "val": { + "string": "aaa\\0" + } + }, + { + "key": { + "symbol": "issuer" + }, + "val": { + "bytes": "0000000000000000000000000000000000000000000000000000000000000002" + } + } + ] + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 121060 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + "live_until": 6307300 + } + ] + }, + "events": [ + { + "event": { + "ext": "v0", + "contract_id": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "type_": "contract", + "body": { + "v0": { + "topics": [ + { + "symbol": "transfer" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "string": "aaa:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF" + } + ], + "data": { + "i128": "1000000000" + } + } + } + }, + "failed_call": true + } + ] +} \ No newline at end of file diff --git a/prediction_market/test_snapshots/tests/test_place_bet_rejects_missing_referral_version.1.json b/prediction_market/test_snapshots/tests/test_place_bet_rejects_missing_referral_version.1.json new file mode 100644 index 0000000..5395c57 --- /dev/null +++ b/prediction_market/test_snapshots/tests/test_place_bet_rejects_missing_referral_version.1.json @@ -0,0 +1,1470 @@ +{ + "generators": { + "address": 8, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [], + [ + [ + "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF", + { + "function": { + "contract_fn": { + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "function_name": "set_admin", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "string": "PULSE" + }, + { + "string": "PLSE" + }, + { + "u32": 7 + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "set_token", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "create_market", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "string": "Will BTC hit 100k?" + }, + { + "string": "https://example.com/btc.png" + }, + { + "vec": [ + { + "symbol": "Crypto" + } + ] + }, + { + "u64": "3600" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "function_name": "mint", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + }, + { + "i128": "2000000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "set_config", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [] + ], + "ledger": { + "protocol_version": 26, + "sequence_number": 100, + "timestamp": 1000000, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 10, + "min_persistent_entry_ttl": 100, + "min_temp_entry_ttl": 100, + "max_entry_ttl": 10000000, + "ledger_entries": [ + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "account": { + "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF", + "balance": "0", + "seq_num": "0", + "num_sub_entries": 0, + "inflation_dest": null, + "flags": 0, + "home_domain": "", + "thresholds": "01010101", + "signers": [], + "ext": "v0" + } + }, + "ext": "v0" + }, + "live_until": null + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "115220454072064130" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1033654523790656264" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1194852393571756375" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "2032731177588607455" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "3126073502131104533" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4270020994084947596" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4837995959683129791" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "5541220902715666415" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "5806905060045992000" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "6277191135259896685" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "8370022561469687789" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Decimals" + } + ] + }, + "val": { + "u32": 7 + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "Name" + } + ] + }, + "val": { + "string": "PULSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Symbol" + } + ] + }, + "val": { + "string": "PLSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TotalSupply" + } + ] + }, + "val": { + "i128": "0" + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "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": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "MarketContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "vec": [ + { + "symbol": "ReferralContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TokenContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TopPlayerCount" + } + ] + }, + "val": { + "u32": 0 + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "LeaderboardContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MarketContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TokenContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "vec": [ + { + "symbol": "XlmSacContract" + } + ] + }, + "val": { + "address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL" + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "Market" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "bet_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "cancelled" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "category" + }, + "val": { + "vec": [ + { + "symbol": "Crypto" + } + ] + } + }, + { + "key": { + "symbol": "creator" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "end_time" + }, + "val": { + "u64": "1003600" + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "image_url" + }, + "val": { + "string": "https://example.com/btc.png" + } + }, + { + "key": { + "symbol": "outcome" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "question" + }, + "val": { + "string": "Will BTC hit 100k?" + } + }, + { + "key": { + "symbol": "resolved" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "total_no" + }, + "val": { + "i128": "0" + } + }, + { + "key": { + "symbol": "total_yes" + }, + "val": { + "i128": "0" + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "AccumulatedFees" + } + ] + }, + "val": { + "i128": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Cfg" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "leaderboard" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "referral" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + } + }, + { + "key": { + "symbol": "token" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "symbol": "xlm_sac" + }, + "val": { + "address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL" + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "MarketCount" + } + ] + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "vec": [ + { + "symbol": "RateWindow" + } + ] + }, + "val": { + "vec": [ + { + "u64": "1000000" + }, + { + "u32": 1 + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": null + } + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "2000000000" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 518500 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "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:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF" + } + }, + { + "key": { + "symbol": "symbol" + }, + "val": { + "string": "aaa" + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "AssetInfo" + } + ] + }, + "val": { + "vec": [ + { + "symbol": "AlphaNum4" + }, + { + "map": [ + { + "key": { + "symbol": "asset_code" + }, + "val": { + "string": "aaa\\0" + } + }, + { + "key": { + "symbol": "issuer" + }, + "val": { + "bytes": "0000000000000000000000000000000000000000000000000000000000000002" + } + } + ] + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 121060 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + "live_until": 6307300 + } + ] + }, + "events": [ + { + "event": { + "ext": "v0", + "contract_id": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "type_": "contract", + "body": { + "v0": { + "topics": [ + { + "symbol": "transfer" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "string": "aaa:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF" + } + ], + "data": { + "i128": "1000000000" + } + } + } + }, + "failed_call": true + } + ] +} \ No newline at end of file diff --git a/prediction_market/test_snapshots/tests/test_place_no_bet.1.json b/prediction_market/test_snapshots/tests/test_place_no_bet.1.json index 3a16c91..d0bc109 100644 --- a/prediction_market/test_snapshots/tests/test_place_no_bet.1.json +++ b/prediction_market/test_snapshots/tests/test_place_no_bet.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 7, "nonce": 0, @@ -702,6 +702,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -774,6 +786,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -786,6 +810,30 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, { "key": { "vec": [ @@ -829,7 +877,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 }, { "entry": { @@ -858,6 +906,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1282,6 +1342,18 @@ ] } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1613,9 +1685,9 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 } ] }, "events": [] -} +} \ No newline at end of file diff --git a/prediction_market/test_snapshots/tests/test_place_yes_bet.1.json b/prediction_market/test_snapshots/tests/test_place_yes_bet.1.json index 5e3d05b..08373f4 100644 --- a/prediction_market/test_snapshots/tests/test_place_yes_bet.1.json +++ b/prediction_market/test_snapshots/tests/test_place_yes_bet.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 7, "nonce": 0, @@ -704,6 +704,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -776,6 +788,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -788,6 +812,30 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, { "key": { "vec": [ @@ -831,7 +879,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 }, { "entry": { @@ -860,6 +908,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1284,6 +1344,18 @@ ] } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1615,9 +1687,9 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 } ] }, "events": [] -} +} \ No newline at end of file diff --git a/prediction_market/test_snapshots/tests/test_referrer_bonus_points_per_bet.1.json b/prediction_market/test_snapshots/tests/test_referrer_bonus_points_per_bet.1.json index 6868a10..91f8f38 100644 --- a/prediction_market/test_snapshots/tests/test_referrer_bonus_points_per_bet.1.json +++ b/prediction_market/test_snapshots/tests/test_referrer_bonus_points_per_bet.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 8, "nonce": 0, @@ -803,6 +803,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -870,26 +882,26 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { - "u32": 1 + "u32": 0 } }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "5" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "5" + "u32": 1 } }, { @@ -930,26 +942,26 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { - "u32": 2 + "u32": 0 } }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "6" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "6" + "u32": 2 } }, { @@ -993,7 +1005,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" } }, { @@ -1001,7 +1013,7 @@ "symbol": "points" }, "val": { - "u64": "5" + "u64": "6" } } ] @@ -1037,7 +1049,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" } }, { @@ -1045,7 +1057,7 @@ "symbol": "points" }, "val": { - "u64": "6" + "u64": "5" } } ] @@ -1075,13 +1087,13 @@ }, "durability": "persistent", "val": { - "u32": 0 + "u32": 1 } } }, "ext": "v0" }, - "live_until": 6307300 + "live_until": 199 }, { "entry": { @@ -1102,13 +1114,13 @@ }, "durability": "persistent", "val": { - "u32": 1 + "u32": 0 } } }, "ext": "v0" }, - "live_until": 6307300 + "live_until": 199 }, { "entry": { @@ -1137,6 +1149,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1158,7 +1182,7 @@ ] }, "val": { - "u64": "3" + "u64": "5" } }, { @@ -1216,7 +1240,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 }, { "entry": { @@ -1343,6 +1367,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1767,6 +1803,18 @@ ] } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -2190,9 +2238,9 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 } ] }, "events": [] -} +} \ No newline at end of file diff --git a/prediction_market/test_snapshots/tests/test_reject_bet_below_minimum.1.json b/prediction_market/test_snapshots/tests/test_reject_bet_below_minimum.1.json index da4f0b3..e3ac20c 100644 --- a/prediction_market/test_snapshots/tests/test_reject_bet_below_minimum.1.json +++ b/prediction_market/test_snapshots/tests/test_reject_bet_below_minimum.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 7, "nonce": 0, @@ -653,6 +653,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -725,6 +737,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -737,6 +761,30 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, { "key": { "vec": [ @@ -780,7 +828,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 }, { "entry": { @@ -809,6 +857,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1078,6 +1138,18 @@ ] } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1285,9 +1357,9 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 } ] }, "events": [] -} +} \ No newline at end of file diff --git a/prediction_market/test_snapshots/tests/test_reject_bet_cancelled_market.1.json b/prediction_market/test_snapshots/tests/test_reject_bet_cancelled_market.1.json index cad6497..2c3fdc8 100644 --- a/prediction_market/test_snapshots/tests/test_reject_bet_cancelled_market.1.json +++ b/prediction_market/test_snapshots/tests/test_reject_bet_cancelled_market.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 7, "nonce": 0, @@ -695,6 +695,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -767,6 +779,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -779,6 +803,30 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, { "key": { "vec": [ @@ -822,7 +870,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 }, { "entry": { @@ -851,6 +899,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1120,6 +1180,18 @@ ] } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1327,9 +1399,9 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 } ] }, "events": [] -} +} \ No newline at end of file diff --git a/prediction_market/test_snapshots/tests/test_reject_bet_expired_market.1.json b/prediction_market/test_snapshots/tests/test_reject_bet_expired_market.1.json index 545d852..a09989e 100644 --- a/prediction_market/test_snapshots/tests/test_reject_bet_expired_market.1.json +++ b/prediction_market/test_snapshots/tests/test_reject_bet_expired_market.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 7, "nonce": 0, @@ -653,6 +653,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -725,6 +737,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -737,6 +761,30 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, { "key": { "vec": [ @@ -780,7 +828,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 }, { "entry": { @@ -809,6 +857,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1078,6 +1138,18 @@ ] } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1285,9 +1357,9 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 } ] }, "events": [] -} +} \ No newline at end of file diff --git a/prediction_market/test_snapshots/tests/test_reject_bet_resolved_market.1.json b/prediction_market/test_snapshots/tests/test_reject_bet_resolved_market.1.json index c843559..3bc6263 100644 --- a/prediction_market/test_snapshots/tests/test_reject_bet_resolved_market.1.json +++ b/prediction_market/test_snapshots/tests/test_reject_bet_resolved_market.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 8, "nonce": 0, @@ -789,6 +789,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -861,6 +873,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -873,6 +897,30 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, { "key": { "vec": [ @@ -916,7 +964,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 }, { "entry": { @@ -945,6 +993,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1285,6 +1345,36 @@ }, "live_until": 6307300 }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "Payout" + }, + { + "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "durability": "persistent", + "val": { + "i128": "490000000" + } + } + }, + "ext": "v0" + }, + "live_until": 6307301 + }, { "entry": { "last_modified_ledger_seq": 0, @@ -1369,6 +1459,18 @@ ] } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1752,9 +1854,9 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 } ] }, "events": [] -} +} \ No newline at end of file diff --git a/prediction_market/test_snapshots/tests/test_reject_cancel_market_non_admin.1.json b/prediction_market/test_snapshots/tests/test_reject_cancel_market_non_admin.1.json index 7f67833..93f24cb 100644 --- a/prediction_market/test_snapshots/tests/test_reject_cancel_market_non_admin.1.json +++ b/prediction_market/test_snapshots/tests/test_reject_cancel_market_non_admin.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 7, "nonce": 0, @@ -611,6 +611,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -683,6 +695,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -695,6 +719,30 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, { "key": { "vec": [ @@ -738,7 +786,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 }, { "entry": { @@ -767,6 +815,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1036,6 +1096,18 @@ ] } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1191,9 +1263,9 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 } ] }, "events": [] -} +} \ No newline at end of file diff --git a/prediction_market/test_snapshots/tests/test_reject_cancel_resolved_market.1.json b/prediction_market/test_snapshots/tests/test_reject_cancel_resolved_market.1.json index bcfa366..21645e3 100644 --- a/prediction_market/test_snapshots/tests/test_reject_cancel_resolved_market.1.json +++ b/prediction_market/test_snapshots/tests/test_reject_cancel_resolved_market.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 7, "nonce": 0, @@ -747,6 +747,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -819,6 +831,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -831,6 +855,30 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, { "key": { "vec": [ @@ -874,7 +922,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 }, { "entry": { @@ -903,6 +951,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1243,6 +1303,36 @@ }, "live_until": 6307300 }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "Payout" + }, + { + "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "durability": "persistent", + "val": { + "i128": "490000000" + } + } + }, + "ext": "v0" + }, + "live_until": 6307301 + }, { "entry": { "last_modified_ledger_seq": 0, @@ -1327,6 +1417,18 @@ ] } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1658,9 +1760,9 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 } ] }, "events": [] -} +} \ No newline at end of file diff --git a/prediction_market/test_snapshots/tests/test_reject_claim_cancelled.1.json b/prediction_market/test_snapshots/tests/test_reject_claim_cancelled.1.json index 77dcd4b..fd09ed3 100644 --- a/prediction_market/test_snapshots/tests/test_reject_claim_cancelled.1.json +++ b/prediction_market/test_snapshots/tests/test_reject_claim_cancelled.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 7, "nonce": 0, @@ -744,6 +744,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -816,6 +828,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -828,6 +852,30 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, { "key": { "vec": [ @@ -871,7 +919,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 }, { "entry": { @@ -900,6 +948,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1324,6 +1384,18 @@ ] } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1655,9 +1727,9 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 } ] }, "events": [] -} +} \ No newline at end of file diff --git a/prediction_market/test_snapshots/tests/test_reject_claim_unresolved.1.json b/prediction_market/test_snapshots/tests/test_reject_claim_unresolved.1.json index db1e64e..f3cca7b 100644 --- a/prediction_market/test_snapshots/tests/test_reject_claim_unresolved.1.json +++ b/prediction_market/test_snapshots/tests/test_reject_claim_unresolved.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 7, "nonce": 0, @@ -702,6 +702,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -774,6 +786,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -786,6 +810,30 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, { "key": { "vec": [ @@ -829,7 +877,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 }, { "entry": { @@ -858,6 +906,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1282,6 +1342,18 @@ ] } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1613,9 +1685,9 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 } ] }, "events": [] -} +} \ No newline at end of file diff --git a/prediction_market/test_snapshots/tests/test_reject_create_market_non_admin.1.json b/prediction_market/test_snapshots/tests/test_reject_create_market_non_admin.1.json index ff4ba1d..52bdf14 100644 --- a/prediction_market/test_snapshots/tests/test_reject_create_market_non_admin.1.json +++ b/prediction_market/test_snapshots/tests/test_reject_create_market_non_admin.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 7, "nonce": 0, @@ -556,6 +556,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -628,6 +640,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -640,6 +664,30 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, { "key": { "vec": [ @@ -683,7 +731,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 }, { "entry": { @@ -712,6 +760,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -853,6 +913,18 @@ ] } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -989,9 +1061,9 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 } ] }, "events": [] -} +} \ No newline at end of file diff --git a/prediction_market/test_snapshots/tests/test_reject_double_claim.1.json b/prediction_market/test_snapshots/tests/test_reject_double_claim.1.json index fe9476e..e8cf3a0 100644 --- a/prediction_market/test_snapshots/tests/test_reject_double_claim.1.json +++ b/prediction_market/test_snapshots/tests/test_reject_double_claim.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 7, "nonce": 0, @@ -796,6 +796,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -863,7 +875,7 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { "u32": 0 @@ -871,18 +883,18 @@ }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "30" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "30" + "u32": 1 } }, { @@ -970,7 +982,7 @@ }, "ext": "v0" }, - "live_until": 6307301 + "live_until": 200 }, { "entry": { @@ -999,6 +1011,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1020,7 +1044,7 @@ ] }, "val": { - "u64": "30" + "u64": "0" } }, { @@ -1078,7 +1102,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 }, { "entry": { @@ -1107,6 +1131,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1447,6 +1483,36 @@ }, "live_until": 6307300 }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "Payout" + }, + { + "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "durability": "persistent", + "val": { + "i128": "980000000" + } + } + }, + "ext": "v0" + }, + "live_until": 6307301 + }, { "entry": { "last_modified_ledger_seq": 0, @@ -1531,6 +1597,18 @@ ] } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1882,9 +1960,9 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 } ] }, "events": [] -} +} \ No newline at end of file diff --git a/prediction_market/test_snapshots/tests/test_reject_double_resolution.1.json b/prediction_market/test_snapshots/tests/test_reject_double_resolution.1.json index bcfa366..21645e3 100644 --- a/prediction_market/test_snapshots/tests/test_reject_double_resolution.1.json +++ b/prediction_market/test_snapshots/tests/test_reject_double_resolution.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 7, "nonce": 0, @@ -747,6 +747,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -819,6 +831,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -831,6 +855,30 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, { "key": { "vec": [ @@ -874,7 +922,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 }, { "entry": { @@ -903,6 +951,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1243,6 +1303,36 @@ }, "live_until": 6307300 }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "Payout" + }, + { + "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "durability": "persistent", + "val": { + "i128": "490000000" + } + } + }, + "ext": "v0" + }, + "live_until": 6307301 + }, { "entry": { "last_modified_ledger_seq": 0, @@ -1327,6 +1417,18 @@ ] } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1658,9 +1760,9 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 } ] }, "events": [] -} +} \ No newline at end of file diff --git a/prediction_market/test_snapshots/tests/test_reject_drain_entire_accumulator_in_one_request.1.json b/prediction_market/test_snapshots/tests/test_reject_drain_entire_accumulator_in_one_request.1.json index 1867d41..6ba8e38 100644 --- a/prediction_market/test_snapshots/tests/test_reject_drain_entire_accumulator_in_one_request.1.json +++ b/prediction_market/test_snapshots/tests/test_reject_drain_entire_accumulator_in_one_request.1.json @@ -745,6 +745,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -817,6 +829,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -829,6 +853,30 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, { "key": { "vec": [ @@ -872,7 +920,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 }, { "entry": { @@ -901,6 +949,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1352,6 +1412,18 @@ ] } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1683,7 +1755,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 } ] }, diff --git a/prediction_market/test_snapshots/tests/test_reject_duplicate_withdrawal_request.1.json b/prediction_market/test_snapshots/tests/test_reject_duplicate_withdrawal_request.1.json index 84f425b..82bb570 100644 --- a/prediction_market/test_snapshots/tests/test_reject_duplicate_withdrawal_request.1.json +++ b/prediction_market/test_snapshots/tests/test_reject_duplicate_withdrawal_request.1.json @@ -770,6 +770,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -842,6 +854,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -854,6 +878,30 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, { "key": { "vec": [ @@ -897,7 +945,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 }, { "entry": { @@ -926,6 +974,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1429,6 +1489,18 @@ ] } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1780,7 +1852,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 } ] }, diff --git a/prediction_market/test_snapshots/tests/test_reject_fee_recipient_immediate_withdraw.1.json b/prediction_market/test_snapshots/tests/test_reject_fee_recipient_immediate_withdraw.1.json index 24d0f7a..f68ef5a 100644 --- a/prediction_market/test_snapshots/tests/test_reject_fee_recipient_immediate_withdraw.1.json +++ b/prediction_market/test_snapshots/tests/test_reject_fee_recipient_immediate_withdraw.1.json @@ -744,6 +744,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -816,6 +828,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -828,6 +852,30 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, { "key": { "vec": [ @@ -871,7 +919,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 }, { "entry": { @@ -900,6 +948,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1351,6 +1411,18 @@ ] } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1682,7 +1754,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 } ] }, diff --git a/prediction_market/test_snapshots/tests/test_reject_fee_recipient_request_arbitrary_recipient.1.json b/prediction_market/test_snapshots/tests/test_reject_fee_recipient_request_arbitrary_recipient.1.json index 2ee8846..9cdad38 100644 --- a/prediction_market/test_snapshots/tests/test_reject_fee_recipient_request_arbitrary_recipient.1.json +++ b/prediction_market/test_snapshots/tests/test_reject_fee_recipient_request_arbitrary_recipient.1.json @@ -744,6 +744,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -816,6 +828,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -828,6 +852,30 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, { "key": { "vec": [ @@ -871,7 +919,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 }, { "entry": { @@ -900,6 +948,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1351,6 +1411,18 @@ ] } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1682,7 +1754,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 } ] }, diff --git a/prediction_market/test_snapshots/tests/test_reject_gross_minimum_when_net_is_too_small.1.json b/prediction_market/test_snapshots/tests/test_reject_gross_minimum_when_net_is_too_small.1.json new file mode 100644 index 0000000..e3ac20c --- /dev/null +++ b/prediction_market/test_snapshots/tests/test_reject_gross_minimum_when_net_is_too_small.1.json @@ -0,0 +1,1365 @@ +{ + "generators": { + "address": 7, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [], + [ + [ + "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF", + { + "function": { + "contract_fn": { + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "function_name": "set_admin", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "string": "PULSE" + }, + { + "string": "PLSE" + }, + { + "u32": 7 + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "set_token", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "create_market", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "string": "Will BTC hit 100k?" + }, + { + "string": "https://example.com/btc.png" + }, + { + "vec": [ + { + "symbol": "Crypto" + } + ] + }, + { + "u64": "3600" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "function_name": "mint", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + }, + { + "i128": "2000000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [] + ], + "ledger": { + "protocol_version": 26, + "sequence_number": 100, + "timestamp": 1000000, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 10, + "min_persistent_entry_ttl": 100, + "min_temp_entry_ttl": 100, + "max_entry_ttl": 10000000, + "ledger_entries": [ + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "account": { + "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF", + "balance": "0", + "seq_num": "0", + "num_sub_entries": 0, + "inflation_dest": null, + "flags": 0, + "home_domain": "", + "thresholds": "01010101", + "signers": [], + "ext": "v0" + } + }, + "ext": "v0" + }, + "live_until": null + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "115220454072064130" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1033654523790656264" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1194852393571756375" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "2032731177588607455" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4270020994084947596" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4837995959683129791" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "5541220902715666415" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "5806905060045992000" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "6277191135259896685" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "8370022561469687789" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Decimals" + } + ] + }, + "val": { + "u32": 7 + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "Name" + } + ] + }, + "val": { + "string": "PULSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Symbol" + } + ] + }, + "val": { + "string": "PLSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TotalSupply" + } + ] + }, + "val": { + "i128": "0" + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "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": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "MarketContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "vec": [ + { + "symbol": "ReferralContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TokenContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TopPlayerCount" + } + ] + }, + "val": { + "u32": 0 + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "LeaderboardContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MarketContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TokenContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "vec": [ + { + "symbol": "XlmSacContract" + } + ] + }, + "val": { + "address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL" + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "Market" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "bet_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "cancelled" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "category" + }, + "val": { + "vec": [ + { + "symbol": "Crypto" + } + ] + } + }, + { + "key": { + "symbol": "creator" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "end_time" + }, + "val": { + "u64": "1003600" + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "image_url" + }, + "val": { + "string": "https://example.com/btc.png" + } + }, + { + "key": { + "symbol": "outcome" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "question" + }, + "val": { + "string": "Will BTC hit 100k?" + } + }, + { + "key": { + "symbol": "resolved" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "total_no" + }, + "val": { + "i128": "0" + } + }, + { + "key": { + "symbol": "total_yes" + }, + "val": { + "i128": "0" + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "AccumulatedFees" + } + ] + }, + "val": { + "i128": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Cfg" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "leaderboard" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "referral" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "token" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "symbol": "xlm_sac" + }, + "val": { + "address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL" + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "MarketCount" + } + ] + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "vec": [ + { + "symbol": "RateWindow" + } + ] + }, + "val": { + "vec": [ + { + "u64": "1000000" + }, + { + "u32": 1 + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "2000000000" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 518500 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "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:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF" + } + }, + { + "key": { + "symbol": "symbol" + }, + "val": { + "string": "aaa" + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "AssetInfo" + } + ] + }, + "val": { + "vec": [ + { + "symbol": "AlphaNum4" + }, + { + "map": [ + { + "key": { + "symbol": "asset_code" + }, + "val": { + "string": "aaa\\0" + } + }, + { + "key": { + "symbol": "issuer" + }, + "val": { + "bytes": "0000000000000000000000000000000000000000000000000000000000000002" + } + } + ] + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 121060 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + "live_until": 6307300 + } + ] + }, + "events": [] +} \ No newline at end of file diff --git a/prediction_market/test_snapshots/tests/test_reject_opposite_side_bet.1.json b/prediction_market/test_snapshots/tests/test_reject_opposite_side_bet.1.json index 423d781..469dd08 100644 --- a/prediction_market/test_snapshots/tests/test_reject_opposite_side_bet.1.json +++ b/prediction_market/test_snapshots/tests/test_reject_opposite_side_bet.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 7, "nonce": 0, @@ -702,6 +702,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -774,6 +786,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -786,6 +810,30 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, { "key": { "vec": [ @@ -829,7 +877,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 }, { "entry": { @@ -858,6 +906,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1282,6 +1342,18 @@ ] } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1613,9 +1685,9 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 } ] }, "events": [] -} +} \ No newline at end of file diff --git a/prediction_market/test_snapshots/tests/test_reject_resolve_before_deadline.1.json b/prediction_market/test_snapshots/tests/test_reject_resolve_before_deadline.1.json index 846c4f3..39d05ee 100644 --- a/prediction_market/test_snapshots/tests/test_reject_resolve_before_deadline.1.json +++ b/prediction_market/test_snapshots/tests/test_reject_resolve_before_deadline.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 7, "nonce": 0, @@ -702,6 +702,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -774,6 +786,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -786,6 +810,30 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, { "key": { "vec": [ @@ -829,7 +877,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 }, { "entry": { @@ -858,6 +906,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1282,6 +1342,18 @@ ] } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1613,9 +1685,9 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 } ] }, "events": [] -} +} \ No newline at end of file diff --git a/prediction_market/test_snapshots/tests/test_reject_resolve_market_non_resolver.1.json b/prediction_market/test_snapshots/tests/test_reject_resolve_market_non_resolver.1.json index 602cd73..4f754c4 100644 --- a/prediction_market/test_snapshots/tests/test_reject_resolve_market_non_resolver.1.json +++ b/prediction_market/test_snapshots/tests/test_reject_resolve_market_non_resolver.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 8, "nonce": 0, @@ -702,6 +702,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -774,6 +786,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -786,6 +810,30 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, { "key": { "vec": [ @@ -829,7 +877,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 }, { "entry": { @@ -858,6 +906,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1282,6 +1342,18 @@ ] } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1613,9 +1685,9 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 } ] }, "events": [] -} +} \ No newline at end of file diff --git a/prediction_market/test_snapshots/tests/test_reject_too_many_bets.1.json b/prediction_market/test_snapshots/tests/test_reject_too_many_bets.1.json index f59e216..48a9765 100644 --- a/prediction_market/test_snapshots/tests/test_reject_too_many_bets.1.json +++ b/prediction_market/test_snapshots/tests/test_reject_too_many_bets.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 7, "nonce": 0, @@ -299,7 +299,7 @@ "bool": true }, { - "i128": "10000000" + "i128": "110000000" } ] } @@ -318,7 +318,7 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" }, { - "i128": "10000000" + "i128": "110000000" } ] } @@ -348,7 +348,7 @@ "bool": true }, { - "i128": "10000000" + "i128": "110000000" } ] } @@ -367,7 +367,7 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" }, { - "i128": "10000000" + "i128": "110000000" } ] } @@ -397,7 +397,7 @@ "bool": true }, { - "i128": "10000000" + "i128": "110000000" } ] } @@ -416,7 +416,7 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" }, { - "i128": "10000000" + "i128": "110000000" } ] } @@ -446,7 +446,7 @@ "bool": true }, { - "i128": "10000000" + "i128": "110000000" } ] } @@ -465,7 +465,7 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" }, { - "i128": "10000000" + "i128": "110000000" } ] } @@ -495,7 +495,7 @@ "bool": true }, { - "i128": "10000000" + "i128": "110000000" } ] } @@ -514,7 +514,7 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" }, { - "i128": "10000000" + "i128": "110000000" } ] } @@ -544,7 +544,7 @@ "bool": true }, { - "i128": "10000000" + "i128": "110000000" } ] } @@ -563,7 +563,7 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" }, { - "i128": "10000000" + "i128": "110000000" } ] } @@ -593,7 +593,7 @@ "bool": true }, { - "i128": "10000000" + "i128": "110000000" } ] } @@ -612,7 +612,7 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" }, { - "i128": "10000000" + "i128": "110000000" } ] } @@ -642,7 +642,7 @@ "bool": true }, { - "i128": "10000000" + "i128": "110000000" } ] } @@ -661,7 +661,7 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" }, { - "i128": "10000000" + "i128": "110000000" } ] } @@ -691,7 +691,7 @@ "bool": true }, { - "i128": "10000000" + "i128": "110000000" } ] } @@ -710,7 +710,7 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" }, { - "i128": "10000000" + "i128": "110000000" } ] } @@ -740,7 +740,7 @@ "bool": true }, { - "i128": "10000000" + "i128": "110000000" } ] } @@ -759,7 +759,7 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" }, { - "i128": "10000000" + "i128": "110000000" } ] } @@ -789,7 +789,7 @@ "bool": true }, { - "i128": "10000000" + "i128": "110000000" } ] } @@ -808,7 +808,7 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" }, { - "i128": "10000000" + "i128": "110000000" } ] } @@ -838,7 +838,7 @@ "bool": true }, { - "i128": "10000000" + "i128": "110000000" } ] } @@ -857,7 +857,7 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" }, { - "i128": "10000000" + "i128": "110000000" } ] } @@ -887,7 +887,7 @@ "bool": true }, { - "i128": "10000000" + "i128": "110000000" } ] } @@ -906,7 +906,7 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" }, { - "i128": "10000000" + "i128": "110000000" } ] } @@ -936,7 +936,7 @@ "bool": true }, { - "i128": "10000000" + "i128": "110000000" } ] } @@ -955,7 +955,7 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" }, { - "i128": "10000000" + "i128": "110000000" } ] } @@ -985,7 +985,7 @@ "bool": true }, { - "i128": "10000000" + "i128": "110000000" } ] } @@ -1004,7 +1004,7 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" }, { - "i128": "10000000" + "i128": "110000000" } ] } @@ -1034,7 +1034,7 @@ "bool": true }, { - "i128": "10000000" + "i128": "110000000" } ] } @@ -1053,7 +1053,7 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" }, { - "i128": "10000000" + "i128": "110000000" } ] } @@ -1083,7 +1083,7 @@ "bool": true }, { - "i128": "10000000" + "i128": "110000000" } ] } @@ -1102,7 +1102,7 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" }, { - "i128": "10000000" + "i128": "110000000" } ] } @@ -1132,7 +1132,7 @@ "bool": true }, { - "i128": "10000000" + "i128": "110000000" } ] } @@ -1151,7 +1151,7 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" }, { - "i128": "10000000" + "i128": "110000000" } ] } @@ -1181,7 +1181,7 @@ "bool": true }, { - "i128": "10000000" + "i128": "110000000" } ] } @@ -1200,7 +1200,7 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" }, { - "i128": "10000000" + "i128": "110000000" } ] } @@ -1230,7 +1230,7 @@ "bool": true }, { - "i128": "10000000" + "i128": "110000000" } ] } @@ -1249,7 +1249,7 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" }, { - "i128": "10000000" + "i128": "110000000" } ] } @@ -1633,6 +1633,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1705,6 +1717,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1717,6 +1741,30 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, { "key": { "vec": [ @@ -1760,7 +1808,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 }, { "entry": { @@ -1789,6 +1837,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1890,7 +1950,7 @@ "symbol": "gross" }, "val": { - "i128": "200000000" + "i128": "2200000000" } }, { @@ -1906,7 +1966,7 @@ "symbol": "net" }, "val": { - "i128": "196000000" + "i128": "2156000000" } } ] @@ -2118,7 +2178,7 @@ "symbol": "total_yes" }, "val": { - "i128": "196000000" + "i128": "2156000000" } } ] @@ -2153,7 +2213,7 @@ ] }, "val": { - "i128": "4000000" + "i128": "44000000" } }, { @@ -2213,6 +2273,18 @@ ] } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -2730,7 +2802,7 @@ "symbol": "amount" }, "val": { - "i128": "200000000" + "i128": "2200000000" } }, { @@ -2782,7 +2854,7 @@ "symbol": "amount" }, "val": { - "i128": "99800000000" + "i128": "97800000000" } }, { @@ -2924,9 +2996,9 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 } ] }, "events": [] -} +} \ No newline at end of file diff --git a/prediction_market/test_snapshots/tests/test_reject_withdraw_fees_non_admin.1.json b/prediction_market/test_snapshots/tests/test_reject_withdraw_fees_non_admin.1.json index 5659aa7..01f65b9 100644 --- a/prediction_market/test_snapshots/tests/test_reject_withdraw_fees_non_admin.1.json +++ b/prediction_market/test_snapshots/tests/test_reject_withdraw_fees_non_admin.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 8, "nonce": 0, @@ -702,6 +702,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -774,6 +786,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -786,6 +810,30 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, { "key": { "vec": [ @@ -829,7 +877,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 }, { "entry": { @@ -858,6 +906,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1282,6 +1342,18 @@ ] } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1613,9 +1685,9 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 } ] }, "events": [] -} +} \ No newline at end of file diff --git a/prediction_market/test_snapshots/tests/test_reject_withdraw_fees_to_arbitrary_recipient.1.json b/prediction_market/test_snapshots/tests/test_reject_withdraw_fees_to_arbitrary_recipient.1.json index 448f5f8..01f65b9 100644 --- a/prediction_market/test_snapshots/tests/test_reject_withdraw_fees_to_arbitrary_recipient.1.json +++ b/prediction_market/test_snapshots/tests/test_reject_withdraw_fees_to_arbitrary_recipient.1.json @@ -702,6 +702,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -774,6 +786,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -786,6 +810,30 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, { "key": { "vec": [ @@ -829,7 +877,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 }, { "entry": { @@ -858,6 +906,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1282,6 +1342,18 @@ ] } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1613,7 +1685,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 } ] }, diff --git a/prediction_market/test_snapshots/tests/test_resolve_market.1.json b/prediction_market/test_snapshots/tests/test_resolve_market.1.json index bcfa366..21645e3 100644 --- a/prediction_market/test_snapshots/tests/test_resolve_market.1.json +++ b/prediction_market/test_snapshots/tests/test_resolve_market.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 7, "nonce": 0, @@ -747,6 +747,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -819,6 +831,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -831,6 +855,30 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, { "key": { "vec": [ @@ -874,7 +922,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 }, { "entry": { @@ -903,6 +951,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1243,6 +1303,36 @@ }, "live_until": 6307300 }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "Payout" + }, + { + "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "durability": "persistent", + "val": { + "i128": "490000000" + } + } + }, + "ext": "v0" + }, + "live_until": 6307301 + }, { "entry": { "last_modified_ledger_seq": 0, @@ -1327,6 +1417,18 @@ ] } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1658,9 +1760,9 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 } ] }, "events": [] -} +} \ No newline at end of file diff --git a/prediction_market/test_snapshots/tests/test_resolver_can_resolve.1.json b/prediction_market/test_snapshots/tests/test_resolver_can_resolve.1.json index f7823a0..671fd74 100644 --- a/prediction_market/test_snapshots/tests/test_resolver_can_resolve.1.json +++ b/prediction_market/test_snapshots/tests/test_resolver_can_resolve.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 8, "nonce": 0, @@ -770,6 +770,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -842,6 +854,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -854,6 +878,30 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, { "key": { "vec": [ @@ -897,7 +945,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 }, { "entry": { @@ -926,6 +974,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1266,6 +1326,36 @@ }, "live_until": 6307300 }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "Payout" + }, + { + "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "durability": "persistent", + "val": { + "i128": "490000000" + } + } + }, + "ext": "v0" + }, + "live_until": 6307301 + }, { "entry": { "last_modified_ledger_seq": 0, @@ -1377,6 +1467,18 @@ ] } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1728,9 +1830,9 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 } ] }, "events": [] -} +} \ No newline at end of file diff --git a/prediction_market/test_snapshots/tests/test_single_winner_gets_whole_net_pool.1.json b/prediction_market/test_snapshots/tests/test_single_winner_gets_whole_net_pool.1.json index e37917e..4e61d27 100644 --- a/prediction_market/test_snapshots/tests/test_single_winner_gets_whole_net_pool.1.json +++ b/prediction_market/test_snapshots/tests/test_single_winner_gets_whole_net_pool.1.json @@ -890,6 +890,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -971,6 +983,14 @@ "u64": "30" } }, + { + "key": { + "symbol": "total_bets" + }, + "val": { + "u32": 1 + } + }, { "key": { "symbol": "won_bets" @@ -1056,7 +1076,7 @@ }, "ext": "v0" }, - "live_until": 6307301 + "live_until": 200 }, { "entry": { @@ -1085,6 +1105,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1106,7 +1138,7 @@ ] }, "val": { - "u64": "30" + "u64": "0" } }, { @@ -1164,7 +1196,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 }, { "entry": { @@ -1193,6 +1225,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1775,6 +1819,18 @@ ] } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -2198,7 +2254,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 } ] }, diff --git a/prediction_market/test_snapshots/tests/test_unilateral_upgrade_fails_closed_then_recovers.1.json b/prediction_market/test_snapshots/tests/test_unilateral_upgrade_fails_closed_then_recovers.1.json new file mode 100644 index 0000000..a08ddc5 --- /dev/null +++ b/prediction_market/test_snapshots/tests/test_unilateral_upgrade_fails_closed_then_recovers.1.json @@ -0,0 +1,2055 @@ +{ + "generators": { + "address": 7, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [], + [ + [ + "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF", + { + "function": { + "contract_fn": { + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "function_name": "set_admin", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "string": "PULSE" + }, + { + "string": "PLSE" + }, + { + "u32": 7 + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "set_token", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "create_market", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "string": "Will BTC hit 100k?" + }, + { + "string": "https://example.com/btc.png" + }, + { + "vec": [ + { + "symbol": "Crypto" + } + ] + }, + { + "u64": "3600" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "function_name": "mint", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + }, + { + "i128": "2000000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "place_bet", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + }, + { + "u64": "1" + }, + { + "bool": true + }, + { + "i128": "1000000000" + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "i128": "1000000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "resolve_market", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "u64": "1" + }, + { + "bool": true + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "set_interface_version", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "u32": 0 + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "set_interface_version", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "u32": 1 + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "claim", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + }, + { + "u64": "1" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [] + ], + "ledger": { + "protocol_version": 26, + "sequence_number": 101, + "timestamp": 1003601, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 10, + "min_persistent_entry_ttl": 100, + "min_temp_entry_ttl": 100, + "max_entry_ttl": 10000000, + "ledger_entries": [ + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "account": { + "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF", + "balance": "0", + "seq_num": "0", + "num_sub_entries": 0, + "inflation_dest": null, + "flags": 0, + "home_domain": "", + "thresholds": "01010101", + "signers": [], + "ext": "v0" + } + }, + "ext": "v0" + }, + "live_until": null + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "115220454072064130" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1033654523790656264" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1194852393571756375" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1301173170172112462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000100 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "2032731177588607455" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "2307661404550649928" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000100 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4270020994084947596" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4837995959683129791" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "5541220902715666415" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "5806905060045992000" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "6277191135259896685" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "6517132746326325848" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000100 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "8370022561469687789" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "durability": "persistent", + "val": { + "i128": "100000000" + } + } + }, + "ext": "v0" + }, + "live_until": 200 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Decimals" + } + ] + }, + "val": { + "u32": 7 + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "Name" + } + ] + }, + "val": { + "string": "PULSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Symbol" + } + ] + }, + "val": { + "string": "PLSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TotalSupply" + } + ] + }, + "val": { + "i128": "100000000" + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "Stats" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "lost_bets" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "points" + }, + "val": { + "u64": "30" + } + }, + { + "key": { + "symbol": "total_bets" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "won_bets" + }, + "val": { + "u32": 1 + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 6307301 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "TopPlayerAt" + }, + { + "u32": 0 + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + }, + { + "key": { + "symbol": "points" + }, + "val": { + "u64": "30" + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 6307301 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "TopPlayerSlot" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "durability": "persistent", + "val": { + "u32": 0 + } + } + }, + "ext": "v0" + }, + "live_until": 200 + }, + { + "entry": { + "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": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "MarketContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "vec": [ + { + "symbol": "ReferralContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TokenContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TopPlayerCount" + } + ] + }, + "val": { + "u32": 1 + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "LeaderboardContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MarketContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TokenContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "vec": [ + { + "symbol": "XlmSacContract" + } + ] + }, + "val": { + "address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL" + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "Bet" + }, + { + "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "claimed" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "count" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "gross" + }, + "val": { + "i128": "1000000000" + } + }, + { + "key": { + "symbol": "is_yes" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "net" + }, + "val": { + "i128": "980000000" + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "BettorAt" + }, + { + "u64": "1" + }, + { + "u32": 0 + } + ] + }, + "durability": "persistent", + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "BettorCount" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent", + "val": { + "u32": 1 + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "HasReferrer" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "durability": "persistent", + "val": { + "bool": false + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "Market" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "bet_count" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "cancelled" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "category" + }, + "val": { + "vec": [ + { + "symbol": "Crypto" + } + ] + } + }, + { + "key": { + "symbol": "creator" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "end_time" + }, + "val": { + "u64": "1003600" + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "image_url" + }, + "val": { + "string": "https://example.com/btc.png" + } + }, + { + "key": { + "symbol": "outcome" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "question" + }, + "val": { + "string": "Will BTC hit 100k?" + } + }, + { + "key": { + "symbol": "resolved" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "total_no" + }, + "val": { + "i128": "0" + } + }, + { + "key": { + "symbol": "total_yes" + }, + "val": { + "i128": "980000000" + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "Payout" + }, + { + "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "durability": "persistent", + "val": { + "i128": "980000000" + } + } + }, + "ext": "v0" + }, + "live_until": 6307301 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "AccumulatedFees" + } + ] + }, + "val": { + "i128": "20000000" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Cfg" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "leaderboard" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "referral" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "token" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "symbol": "xlm_sac" + }, + "val": { + "address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL" + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "MarketCount" + } + ] + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "vec": [ + { + "symbol": "RateWindow" + } + ] + }, + "val": { + "vec": [ + { + "u64": "1000000" + }, + { + "u32": 1 + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + "key": { + "ledger_key_nonce": { + "nonce": "3126073502131104533" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + "key": { + "ledger_key_nonce": { + "nonce": "6391496069076573377" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000100 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "0" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 518500 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "20000000" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 518500 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "1980000000" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 518500 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "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:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF" + } + }, + { + "key": { + "symbol": "symbol" + }, + "val": { + "string": "aaa" + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "AssetInfo" + } + ] + }, + "val": { + "vec": [ + { + "symbol": "AlphaNum4" + }, + { + "map": [ + { + "key": { + "symbol": "asset_code" + }, + "val": { + "string": "aaa\\0" + } + }, + { + "key": { + "symbol": "issuer" + }, + "val": { + "bytes": "0000000000000000000000000000000000000000000000000000000000000002" + } + } + ] + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 121060 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + "live_until": 6307300 + } + ] + }, + "events": [] +} \ No newline at end of file diff --git a/prediction_market/test_snapshots/tests/test_withdraw_fees.1.json b/prediction_market/test_snapshots/tests/test_withdraw_fees.1.json index e81ba8a..4b239d4 100644 --- a/prediction_market/test_snapshots/tests/test_withdraw_fees.1.json +++ b/prediction_market/test_snapshots/tests/test_withdraw_fees.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 7, "nonce": 0, @@ -747,6 +747,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -819,6 +831,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -831,6 +855,30 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, { "key": { "vec": [ @@ -874,7 +922,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 }, { "entry": { @@ -903,6 +951,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1327,6 +1387,18 @@ ] } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1710,9 +1782,9 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 } ] }, "events": [] -} +} \ No newline at end of file diff --git a/prediction_market/test_snapshots/tests/test_withdraw_fees_zero.1.json b/prediction_market/test_snapshots/tests/test_withdraw_fees_zero.1.json index 907baa5..75f891e 100644 --- a/prediction_market/test_snapshots/tests/test_withdraw_fees_zero.1.json +++ b/prediction_market/test_snapshots/tests/test_withdraw_fees_zero.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 6, "nonce": 0, @@ -556,6 +556,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -628,6 +640,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -640,6 +664,30 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, { "key": { "vec": [ @@ -683,7 +731,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 }, { "entry": { @@ -712,6 +760,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -853,6 +913,18 @@ ] } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -989,9 +1061,9 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 } ] }, "events": [] -} +} \ No newline at end of file diff --git a/prediction_market/test_snapshots/tests/test_withdrawal_execute_before_delay.1.json b/prediction_market/test_snapshots/tests/test_withdrawal_execute_before_delay.1.json index 84f425b..82bb570 100644 --- a/prediction_market/test_snapshots/tests/test_withdrawal_execute_before_delay.1.json +++ b/prediction_market/test_snapshots/tests/test_withdrawal_execute_before_delay.1.json @@ -770,6 +770,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -842,6 +854,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -854,6 +878,30 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, { "key": { "vec": [ @@ -897,7 +945,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 }, { "entry": { @@ -926,6 +974,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1429,6 +1489,18 @@ ] } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1780,7 +1852,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 } ] }, diff --git a/pulse_token/src/lib.rs b/pulse_token/src/lib.rs index 65d5711..bd09be0 100644 --- a/pulse_token/src/lib.rs +++ b/pulse_token/src/lib.rs @@ -4,6 +4,14 @@ use soroban_sdk::{ contract, contracterror, contractimpl, contracttype, Address, BytesN, Env, String, }; +// ── Interface versioning (upgrade coordination) ────────────────────────────── +// INTERFACE_VERSION identifies the ABI this contract exposes to its callers +// (the leaderboard invokes mint). It MUST be bumped in the source AND +// committed to storage via set_interface_version() on every incompatible ABI +// change, so callers can fail closed instead of executing against a mismatched +// ABI. Non-zero means the contract declares a version; 0 means uncoordinated. +const INTERFACE_VERSION: u32 = 1; + #[contracterror] #[derive(Clone, Copy, Debug, Eq, PartialEq, PartialOrd, Ord)] #[repr(u32)] @@ -26,6 +34,8 @@ pub enum DataKey { Name, Symbol, Decimals, + // ── Interface versioning (upgrade coordination) ─────────────────────── + InterfaceVersion, // u32 — current interface version of this contract } #[contract] @@ -49,6 +59,9 @@ impl PULSETokenContract { env.storage().instance().set(&DataKey::Symbol, &symbol); env.storage().instance().set(&DataKey::Decimals, &decimals); env.storage().instance().set(&DataKey::TotalSupply, &0_i128); + env.storage() + .instance() + .set(&DataKey::InterfaceVersion, &INTERFACE_VERSION); Ok(()) } @@ -85,6 +98,40 @@ impl PULSETokenContract { Ok(()) } + // ── Interface Versioning (upgrade coordination) ────────────────────── + // This contract is invoked cross-contract (leaderboard calls mint), so it + // exposes a stable interface version that callers verify before invoking. + + /// Read this contract's current interface version. + /// + /// `0` means the contract has no declared version (a legacy deployment + /// that was never migrated via `set_interface_version`, or an + /// uninitialized contract). Callers treat `0` as incompatible with any + /// positive requirement — this is the fail-closed behavior for + /// uncoordinated deployments. + pub fn interface_version(env: Env) -> u32 { + env.storage() + .instance() + .get(&DataKey::InterfaceVersion) + .unwrap_or(0) + } + + /// Declare this contract's interface version. Admin only. + /// + /// Required after an in-place WASM upgrade that changes the `mint` ABI the + /// leaderboard relies on: bump `INTERFACE_VERSION` in the new source and + /// commit the new value here. Until this is done, upgraded callers that + /// require the newer version will fail closed with `IncompatibleInterface` + /// instead of silently executing against an uncoordinated ABI. + pub fn set_interface_version(env: Env, version: u32) -> Result<(), TokenError> { + let admin: Address = Self::require_admin(&env)?; + admin.require_auth(); + env.storage() + .instance() + .set(&DataKey::InterfaceVersion, &version); + Ok(()) + } + pub fn mint(env: Env, minter: Address, to: Address, amount: i128) -> Result<(), TokenError> { if amount <= 0 { return Err(TokenError::InvalidAmount); diff --git a/pulse_token/test_snapshots/tests/test_add_multiple_minters.1.json b/pulse_token/test_snapshots/tests/test_add_multiple_minters.1.json index 700e899..4d5e91f 100644 --- a/pulse_token/test_snapshots/tests/test_add_multiple_minters.1.json +++ b/pulse_token/test_snapshots/tests/test_add_multiple_minters.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 4, "nonce": 0, @@ -176,6 +176,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -298,4 +310,4 @@ ] }, "events": [] -} +} \ No newline at end of file diff --git a/pulse_token/test_snapshots/tests/test_balance_check_after_mint.1.json b/pulse_token/test_snapshots/tests/test_balance_check_after_mint.1.json index a040144..19223b4 100644 --- a/pulse_token/test_snapshots/tests/test_balance_check_after_mint.1.json +++ b/pulse_token/test_snapshots/tests/test_balance_check_after_mint.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 5, "nonce": 0, @@ -238,6 +238,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -380,4 +392,4 @@ ] }, "events": [] -} +} \ No newline at end of file diff --git a/pulse_token/test_snapshots/tests/test_burn_tokens.1.json b/pulse_token/test_snapshots/tests/test_burn_tokens.1.json index b6b7812..8b6bc63 100644 --- a/pulse_token/test_snapshots/tests/test_burn_tokens.1.json +++ b/pulse_token/test_snapshots/tests/test_burn_tokens.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 4, "nonce": 0, @@ -206,6 +206,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -348,4 +360,4 @@ ] }, "events": [] -} +} \ No newline at end of file diff --git a/pulse_token/test_snapshots/tests/test_initialize_with_metadata.1.json b/pulse_token/test_snapshots/tests/test_initialize_with_metadata.1.json index 967b73b..9c28d97 100644 --- a/pulse_token/test_snapshots/tests/test_initialize_with_metadata.1.json +++ b/pulse_token/test_snapshots/tests/test_initialize_with_metadata.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 2, "nonce": 0, @@ -88,6 +88,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -170,4 +182,4 @@ ] }, "events": [] -} +} \ No newline at end of file diff --git a/pulse_token/test_snapshots/tests/test_mint_by_first_minter.1.json b/pulse_token/test_snapshots/tests/test_mint_by_first_minter.1.json index 8314e30..a7153cb 100644 --- a/pulse_token/test_snapshots/tests/test_mint_by_first_minter.1.json +++ b/pulse_token/test_snapshots/tests/test_mint_by_first_minter.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 4, "nonce": 0, @@ -184,6 +184,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -306,4 +318,4 @@ ] }, "events": [] -} +} \ No newline at end of file diff --git a/pulse_token/test_snapshots/tests/test_mint_by_second_minter.1.json b/pulse_token/test_snapshots/tests/test_mint_by_second_minter.1.json index 9a00a0a..db3064b 100644 --- a/pulse_token/test_snapshots/tests/test_mint_by_second_minter.1.json +++ b/pulse_token/test_snapshots/tests/test_mint_by_second_minter.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 5, "nonce": 0, @@ -255,6 +255,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -417,4 +429,4 @@ ] }, "events": [] -} +} \ No newline at end of file diff --git a/pulse_token/test_snapshots/tests/test_reject_mint_by_non_minter.1.json b/pulse_token/test_snapshots/tests/test_reject_mint_by_non_minter.1.json index 08913bc..f11eddf 100644 --- a/pulse_token/test_snapshots/tests/test_reject_mint_by_non_minter.1.json +++ b/pulse_token/test_snapshots/tests/test_reject_mint_by_non_minter.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 4, "nonce": 0, @@ -85,6 +85,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -167,4 +179,4 @@ ] }, "events": [] -} +} \ No newline at end of file diff --git a/pulse_token/test_snapshots/tests/test_reject_transfer_insufficient_balance.1.json b/pulse_token/test_snapshots/tests/test_reject_transfer_insufficient_balance.1.json index 1086ccb..1cbc6bf 100644 --- a/pulse_token/test_snapshots/tests/test_reject_transfer_insufficient_balance.1.json +++ b/pulse_token/test_snapshots/tests/test_reject_transfer_insufficient_balance.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 5, "nonce": 0, @@ -183,6 +183,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -305,4 +317,4 @@ ] }, "events": [] -} +} \ No newline at end of file diff --git a/pulse_token/test_snapshots/tests/test_remove_minter_then_reject.1.json b/pulse_token/test_snapshots/tests/test_remove_minter_then_reject.1.json index 02ebe9f..0e05c3c 100644 --- a/pulse_token/test_snapshots/tests/test_remove_minter_then_reject.1.json +++ b/pulse_token/test_snapshots/tests/test_remove_minter_then_reject.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 4, "nonce": 0, @@ -176,6 +176,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -318,4 +330,4 @@ ] }, "events": [] -} +} \ No newline at end of file diff --git a/pulse_token/test_snapshots/tests/test_total_supply_tracking.1.json b/pulse_token/test_snapshots/tests/test_total_supply_tracking.1.json index 7d6a3f0..369b9ab 100644 --- a/pulse_token/test_snapshots/tests/test_total_supply_tracking.1.json +++ b/pulse_token/test_snapshots/tests/test_total_supply_tracking.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 5, "nonce": 0, @@ -310,6 +310,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -512,4 +524,4 @@ ] }, "events": [] -} +} \ No newline at end of file diff --git a/pulse_token/test_snapshots/tests/test_transfer_between_accounts.1.json b/pulse_token/test_snapshots/tests/test_transfer_between_accounts.1.json index 888df58..50a6344 100644 --- a/pulse_token/test_snapshots/tests/test_transfer_between_accounts.1.json +++ b/pulse_token/test_snapshots/tests/test_transfer_between_accounts.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 5, "nonce": 0, @@ -237,6 +237,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -379,4 +391,4 @@ ] }, "events": [] -} +} \ No newline at end of file diff --git a/referral_registry/src/lib.rs b/referral_registry/src/lib.rs index 38ac662..99e2f83 100644 --- a/referral_registry/src/lib.rs +++ b/referral_registry/src/lib.rs @@ -1,14 +1,24 @@ #![no_std] use soroban_sdk::{ - contract, contracterror, contractimpl, contracttype, token, vec, Address, BytesN, Env, IntoVal, - String, Symbol, Val, + contract, contracterror, contractimpl, contracttype, token, vec, Address, BytesN, Env, Error, + IntoVal, String, Symbol, Val, }; const WELCOME_BONUS_POINTS: u64 = 5; const WELCOME_BONUS_TOKENS: i128 = 1_0000000; const REFERRAL_BET_POINTS: u64 = 3; +// ── Interface versioning (upgrade coordination) ────────────────────────────── +// INTERFACE_VERSION identifies the ABI this contract exposes to its callers. +// It MUST be bumped in the source AND committed to storage via +// set_interface_version() on every incompatible ABI change, so upstream +// callers can fail closed instead of executing against a mismatched ABI. +const INTERFACE_VERSION: u32 = 1; +// Minimum interface version required from the leaderboard before invoking +// reward_bonus (register_referral) or add_bonus_pts (credit). +const LEADERBOARD_BONUS_INTERFACE_VERSION: u32 = 1; + #[contracterror] #[derive(Clone, Copy, Debug, Eq, PartialEq, PartialOrd, Ord)] #[repr(u32)] @@ -19,6 +29,11 @@ pub enum ReferralError { AlreadyRegistered = 4, SelfReferral = 5, NotAdmin = 6, + // ── Interface versioning (upgrade coordination) ──────────────────────── + // The target contract does not expose the interface_version() function. + InterfaceVersionMissing = 7, + // The target contract's interface version is below the required minimum. + IncompatibleInterface = 8, } #[contracttype] @@ -42,6 +57,8 @@ pub enum DataKey { TokenContract, LeaderboardContract, XlmSacContract, + // ── Interface versioning (upgrade coordination) ─────────────────────── + InterfaceVersion, // u32 — current interface version of this contract } // Lever A: packed registrant profile — one storage slot instead of three. @@ -82,6 +99,9 @@ impl ReferralRegistryContract { env.storage() .instance() .set(&DataKey::XlmSacContract, &xlm_sac); + env.storage() + .instance() + .set(&DataKey::InterfaceVersion, &INTERFACE_VERSION); Ok(()) } @@ -109,6 +129,45 @@ impl ReferralRegistryContract { Ok(()) } + // ── Interface Versioning (upgrade coordination) ────────────────────── + // Every contract that participates in cross-contract calls exposes a + // stable interface version. Callers read it and refuse to invoke a + // dependency whose version is below the minimum they require. + + /// Read this contract's current interface version. + /// + /// `0` means the contract has no declared version (a legacy deployment + /// that was never migrated via `set_interface_version`, or an + /// uninitialized contract). Callers treat `0` as incompatible with any + /// positive requirement — this is the fail-closed behavior for + /// uncoordinated deployments. + pub fn interface_version(env: Env) -> u32 { + env.storage() + .instance() + .get(&DataKey::InterfaceVersion) + .unwrap_or(0) + } + + /// Declare this contract's interface version. Admin only. + /// + /// Required after an in-place WASM upgrade that changes any ABI another + /// contract calls: bump `INTERFACE_VERSION` in the new source and commit + /// the new value here. Until this is done, upgraded callers that require + /// the newer version will fail closed with `IncompatibleInterface` instead + /// of silently executing against an uncoordinated ABI. + pub fn set_interface_version( + env: Env, + admin: Address, + version: u32, + ) -> Result<(), ReferralError> { + Self::require_admin(&env, &admin)?; + admin.require_auth(); + env.storage() + .instance() + .set(&DataKey::InterfaceVersion, &version); + Ok(()) + } + pub fn register_referral( env: Env, user: Address, @@ -124,6 +183,17 @@ impl ReferralRegistryContract { return Err(ReferralError::SelfReferral); } } + // Upgrade coordination: verify the leaderboard exposes a compatible + // `reward_bonus` interface BEFORE writing the profile or any state, + // so a unilateral incompatible upgrade fails the whole call atomically + // instead of registering the user and only then failing the bonus. + let leaderboard: Address = env + .storage() + .instance() + .get(&DataKey::LeaderboardContract) + .unwrap(); + Self::require_interface_version(&env, &leaderboard, LEADERBOARD_BONUS_INTERFACE_VERSION)?; + // Lever A: write ONE packed Profile entry (display_name + referrer) // instead of the three legacy keys (Registered + DisplayName + Referrer). // Existence of Profile(user) is what is_registered() now checks. @@ -147,11 +217,8 @@ impl ReferralRegistryContract { } let this = env.current_contract_address(); - let leaderboard: Address = env - .storage() - .instance() - .get(&DataKey::LeaderboardContract) - .unwrap(); + // Upgrade coordination: the leaderboard was already verified to expose + // a compatible `reward_bonus` interface before the profile was written. let _: Val = env.invoke_contract( &leaderboard, &Symbol::new(&env, "reward_bonus"), @@ -178,6 +245,21 @@ impl ReferralRegistryContract { let referrer: Option
= Self::load_profile(&env, &user).and_then(|p| p.referrer); match referrer { Some(ref_addr) => { + let leaderboard: Address = env + .storage() + .instance() + .get(&DataKey::LeaderboardContract) + .unwrap(); + // Upgrade coordination: verify the leaderboard exposes a + // compatible `add_bonus_pts` interface BEFORE transferring the + // fee or writing any state, so a unilateral incompatible + // upgrade fails the whole call atomically instead of paying the + // referrer and only then discovering the ABI mismatch. + Self::require_interface_version( + &env, + &leaderboard, + LEADERBOARD_BONUS_INTERFACE_VERSION, + )?; let xlm_sac: Address = env .storage() .instance() @@ -188,11 +270,6 @@ impl ReferralRegistryContract { &ref_addr, &referral_fee, ); - let leaderboard: Address = env - .storage() - .instance() - .get(&DataKey::LeaderboardContract) - .unwrap(); let _: Val = env.invoke_contract( &leaderboard, &Symbol::new(&env, "add_bonus_pts"), @@ -308,6 +385,32 @@ impl ReferralRegistryContract { Ok(()) } + // ── Interface versioning helpers (upgrade coordination) ────────────── + // Reads `interface_version()` on the target contract and fails closed with + // a typed error when the target does not expose the function + // (InterfaceVersionMissing) or reports a version below the required + // minimum (IncompatibleInterface). Uses try_invoke_contract so a missing + // function or panicking target is caught deterministically instead of + // aborting with a generic host panic. + fn require_interface_version( + env: &Env, + target: &Address, + required: u32, + ) -> Result<(), ReferralError> { + let version: u32 = match env.try_invoke_contract::( + target, + &Symbol::new(env, "interface_version"), + vec![&env], + ) { + Ok(Ok(v)) => v, + Ok(Err(_)) | Err(_) => return Err(ReferralError::InterfaceVersionMissing), + }; + if version < required { + return Err(ReferralError::IncompatibleInterface); + } + Ok(()) + } + fn require_admin(env: &Env, caller: &Address) -> Result<(), ReferralError> { let admin: Address = env .storage() diff --git a/referral_registry/src/tests.rs b/referral_registry/src/tests.rs index c683cae..5ceae9d 100644 --- a/referral_registry/src/tests.rs +++ b/referral_registry/src/tests.rs @@ -1,5 +1,6 @@ use super::*; use soroban_sdk::{ + contract, contractimpl, testutils::Address as _, token::{Client as TokenClient, StellarAssetClient}, Env, String, @@ -9,6 +10,16 @@ use soroban_sdk::{ use leaderboard::LeaderboardContract; use pulse_token::PULSETokenContract; +// Dummy contract with no interface_version getter — simulates a contract +// deployed before the versioning scheme existed. +#[contract] +struct NoVersionContract; + +#[contractimpl] +impl NoVersionContract { + pub fn initialize(_env: Env) {} +} + // ── Test Helpers ────────────────────────────────────────────────────────────── struct TestSetup { @@ -431,3 +442,122 @@ fn test_legacy_user_without_referrer() { assert_eq!(s.client.get_referrer(&legacy_user), None); assert!(!s.client.has_referrer(&legacy_user)); } + +// ── Upgrade Coordination: referral → leaderboard reward_bonus / add_bonus_pts ─ + +fn leaderboard_client(t: &TestSetup) -> leaderboard::LeaderboardContractClient<'static> { + leaderboard::LeaderboardContractClient::new(&t.env, &t.leaderboard_id) +} + +#[test] +fn test_register_rejects_incompatible_leaderboard_version() { + let t = setup(); + let lb = leaderboard_client(&t); + lb.set_interface_version(&t.admin, &0); // uncoordinated downgrade + + let user = Address::generate(&t.env); + let r = t + .client + .try_register_referral(&user, &String::from_str(&t.env, "NewUser"), &None); + match r { + Err(Ok(e)) => assert_eq!(e, ReferralError::IncompatibleInterface), + other => panic!("expected IncompatibleInterface, got {other:?}"), + } + // Fail closed: registration must NOT be recorded by the rejected call. + assert!(!t.client.is_registered(&user)); + + // Coordinated recovery: re-declare the version, registration proceeds. + lb.set_interface_version(&t.admin, &1); + t.client + .register_referral(&user, &String::from_str(&t.env, "NewUser"), &None); + assert!(t.client.is_registered(&user)); + assert_eq!(lb.get_points(&user), 5); +} + +#[test] +fn test_register_rejects_missing_leaderboard_version() { + let t = setup(); + // Leaderboard never exposed interface_version (pre-this-scheme contract). + let no_version = t.env.register(NoVersionContract, ()); + t.env.as_contract(&t.referral_id, || { + t.env + .storage() + .instance() + .set(&DataKey::LeaderboardContract, &no_version); + }); + + let user = Address::generate(&t.env); + let r = t + .client + .try_register_referral(&user, &String::from_str(&t.env, "Solo"), &None); + match r { + Err(Ok(e)) => assert_eq!(e, ReferralError::InterfaceVersionMissing), + other => panic!("expected InterfaceVersionMissing, got {other:?}"), + } + assert!(!t.client.is_registered(&user)); +} + +#[test] +fn test_credit_rejects_incompatible_leaderboard_version() { + let t = setup(); + let user = Address::generate(&t.env); + let referrer = Address::generate(&t.env); + t.client.register_referral( + &user, + &String::from_str(&t.env, "BetFan"), + &Some(referrer.clone()), + ); + + let sac_admin = StellarAssetClient::new(&t.env, &t.xlm_sac_id); + sac_admin.mint(&t.referral_id, &100_0000000_i128); + + let lb = leaderboard_client(&t); + lb.set_interface_version(&t.admin, &0); // uncoordinated downgrade + + let r = t.client.try_credit(&t.market, &user, &5_000_000); + match r { + Err(Ok(e)) => assert_eq!(e, ReferralError::IncompatibleInterface), + other => panic!("expected IncompatibleInterface, got {other:?}"), + } + // Fail closed BEFORE the fee transfer: the referrer must have been paid + // nothing on the rejected call. + let xlm_client = TokenClient::new(&t.env, &t.xlm_sac_id); + assert_eq!(xlm_client.balance(&referrer), 0); + + // Coordinated recovery: credit proceeds and pays the referrer. + lb.set_interface_version(&t.admin, &1); + assert!(t.client.credit(&t.market, &user, &5_000_000)); + assert_eq!(xlm_client.balance(&referrer), 5_000_000); +} + +#[test] +fn test_credit_rejects_missing_leaderboard_version() { + let t = setup(); + let user = Address::generate(&t.env); + let referrer = Address::generate(&t.env); + t.client.register_referral( + &user, + &String::from_str(&t.env, "BetFan"), + &Some(referrer.clone()), + ); + + let sac_admin = StellarAssetClient::new(&t.env, &t.xlm_sac_id); + sac_admin.mint(&t.referral_id, &100_0000000_i128); + + let no_version = t.env.register(NoVersionContract, ()); + t.env.as_contract(&t.referral_id, || { + t.env + .storage() + .instance() + .set(&DataKey::LeaderboardContract, &no_version); + }); + + let r = t.client.try_credit(&t.market, &user, &5_000_000); + match r { + Err(Ok(e)) => assert_eq!(e, ReferralError::InterfaceVersionMissing), + other => panic!("expected InterfaceVersionMissing, got {other:?}"), + } + // Fail closed BEFORE the fee transfer. + let xlm_client = TokenClient::new(&t.env, &t.xlm_sac_id); + assert_eq!(xlm_client.balance(&referrer), 0); +} diff --git a/referral_registry/test_snapshots/tests/test_credit_no_referrer.1.json b/referral_registry/test_snapshots/tests/test_credit_no_referrer.1.json index f8378b0..adda539 100644 --- a/referral_registry/test_snapshots/tests/test_credit_no_referrer.1.json +++ b/referral_registry/test_snapshots/tests/test_credit_no_referrer.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 7, "nonce": 0, @@ -576,6 +576,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -643,26 +655,26 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { - "u32": 1 + "u32": 0 } }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "5" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "5" + "u32": 1 } }, { @@ -750,7 +762,7 @@ }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -779,6 +791,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -800,7 +824,7 @@ ] }, "val": { - "u64": "5" + "u64": "0" } }, { @@ -858,7 +882,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 }, { "entry": { @@ -929,6 +953,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1225,9 +1261,9 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 } ] }, "events": [] -} +} \ No newline at end of file diff --git a/referral_registry/test_snapshots/tests/test_credit_rejects_incompatible_leaderboard_version.1.json b/referral_registry/test_snapshots/tests/test_credit_rejects_incompatible_leaderboard_version.1.json new file mode 100644 index 0000000..b2a342f --- /dev/null +++ b/referral_registry/test_snapshots/tests/test_credit_rejects_incompatible_leaderboard_version.1.json @@ -0,0 +1,1543 @@ +{ + "generators": { + "address": 8, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "string": "PULSE" + }, + { + "string": "PLSE" + }, + { + "u32": 7 + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "set_token", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [ + [ + "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF", + { + "function": { + "contract_fn": { + "contract_address": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN", + "function_name": "set_admin", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "address": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "function_name": "register_referral", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + }, + { + "string": "BetFan" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN", + "function_name": "mint", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "i128": "1000000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "set_interface_version", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "u32": 0 + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "set_interface_version", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "u32": 1 + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "function_name": "credit", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + }, + { + "i128": "5000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [] + ], + "ledger": { + "protocol_version": 26, + "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": [ + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "account": { + "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF", + "balance": "0", + "seq_num": "0", + "num_sub_entries": 0, + "inflation_dest": null, + "flags": 0, + "home_domain": "", + "thresholds": "01010101", + "signers": [], + "ext": "v0" + } + }, + "ext": "v0" + }, + "live_until": null + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF", + "key": { + "ledger_key_nonce": { + "nonce": "4270020994084947596" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1033654523790656264" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1194852393571756375" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "2032731177588607455" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "3126073502131104533" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4837995959683129791" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "5541220902715666415" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "5806905060045992000" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "8370022561469687789" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": "1301173170172112462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "durability": "persistent", + "val": { + "i128": "10000000" + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Decimals" + } + ] + }, + "val": { + "u32": 7 + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "Name" + } + ] + }, + "val": { + "string": "PULSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Symbol" + } + ] + }, + "val": { + "string": "PLSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TotalSupply" + } + ] + }, + "val": { + "i128": "10000000" + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "Stats" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "lost_bets" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "points" + }, + "val": { + "u64": "5" + } + }, + { + "key": { + "symbol": "total_bets" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "won_bets" + }, + "val": { + "u32": 0 + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 6307200 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "Stats" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "lost_bets" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "points" + }, + "val": { + "u64": "3" + } + }, + { + "key": { + "symbol": "total_bets" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "won_bets" + }, + "val": { + "u32": 0 + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 6307200 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "TopPlayerAt" + }, + { + "u32": 0 + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + }, + { + "key": { + "symbol": "points" + }, + "val": { + "u64": "5" + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 6307200 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "TopPlayerAt" + }, + { + "u32": 1 + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + } + }, + { + "key": { + "symbol": "points" + }, + "val": { + "u64": "3" + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 6307200 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "TopPlayerSlot" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "durability": "persistent", + "val": { + "u32": 0 + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "TopPlayerSlot" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + } + ] + }, + "durability": "persistent", + "val": { + "u32": 1 + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "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": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "MarketContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "vec": [ + { + "symbol": "ReferralContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TokenContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TopPlayerCount" + } + ] + }, + "val": { + "u32": 2 + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 6307200 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "vec": [ + { + "symbol": "Profile" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "display_name" + }, + "val": { + "string": "BetFan" + } + }, + { + "key": { + "symbol": "referrer" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "vec": [ + { + "symbol": "ReferralCount" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + } + ] + }, + "durability": "persistent", + "val": { + "u32": 1 + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "vec": [ + { + "symbol": "ReferralEarnings" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + } + ] + }, + "durability": "persistent", + "val": { + "i128": "5000000" + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "LeaderboardContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MarketContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TokenContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "vec": [ + { + "symbol": "XlmSacContract" + } + ] + }, + "val": { + "address": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN" + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + "key": { + "ledger_key_nonce": { + "nonce": "6277191135259896685" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "995000000" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 518400 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "5000000" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 518400 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN", + "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:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF" + } + }, + { + "key": { + "symbol": "symbol" + }, + "val": { + "string": "aaa" + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "AssetInfo" + } + ] + }, + "val": { + "vec": [ + { + "symbol": "AlphaNum4" + }, + { + "map": [ + { + "key": { + "symbol": "asset_code" + }, + "val": { + "string": "aaa\\0" + } + }, + { + "key": { + "symbol": "issuer" + }, + "val": { + "bytes": "0000000000000000000000000000000000000000000000000000000000000006" + } + } + ] + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 120960 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + "live_until": 6307200 + } + ] + }, + "events": [] +} \ No newline at end of file diff --git a/referral_registry/test_snapshots/tests/test_credit_rejects_missing_leaderboard_version.1.json b/referral_registry/test_snapshots/tests/test_credit_rejects_missing_leaderboard_version.1.json new file mode 100644 index 0000000..5e1b222 --- /dev/null +++ b/referral_registry/test_snapshots/tests/test_credit_rejects_missing_leaderboard_version.1.json @@ -0,0 +1,1228 @@ +{ + "generators": { + "address": 9, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "string": "PULSE" + }, + { + "string": "PLSE" + }, + { + "u32": 7 + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "set_token", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [ + [ + "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF", + { + "function": { + "contract_fn": { + "contract_address": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN", + "function_name": "set_admin", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "address": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "function_name": "register_referral", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + }, + { + "string": "BetFan" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN", + "function_name": "mint", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "i128": "1000000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [], + [] + ], + "ledger": { + "protocol_version": 26, + "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": [ + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "account": { + "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF", + "balance": "0", + "seq_num": "0", + "num_sub_entries": 0, + "inflation_dest": null, + "flags": 0, + "home_domain": "", + "thresholds": "01010101", + "signers": [], + "ext": "v0" + } + }, + "ext": "v0" + }, + "live_until": null + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF", + "key": { + "ledger_key_nonce": { + "nonce": "4270020994084947596" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1033654523790656264" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "2032731177588607455" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4837995959683129791" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "5541220902715666415" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "5806905060045992000" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "8370022561469687789" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "durability": "persistent", + "val": { + "i128": "10000000" + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Decimals" + } + ] + }, + "val": { + "u32": 7 + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "Name" + } + ] + }, + "val": { + "string": "PULSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Symbol" + } + ] + }, + "val": { + "string": "PLSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TotalSupply" + } + ] + }, + "val": { + "i128": "10000000" + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "Stats" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "lost_bets" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "points" + }, + "val": { + "u64": "5" + } + }, + { + "key": { + "symbol": "total_bets" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "won_bets" + }, + "val": { + "u32": 0 + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 6307200 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "TopPlayerAt" + }, + { + "u32": 0 + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + }, + { + "key": { + "symbol": "points" + }, + "val": { + "u64": "5" + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 6307200 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "TopPlayerSlot" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "durability": "persistent", + "val": { + "u32": 0 + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "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": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "MarketContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "vec": [ + { + "symbol": "ReferralContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TokenContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TopPlayerCount" + } + ] + }, + "val": { + "u32": 1 + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 6307200 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "vec": [ + { + "symbol": "Profile" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "display_name" + }, + "val": { + "string": "BetFan" + } + }, + { + "key": { + "symbol": "referrer" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "vec": [ + { + "symbol": "ReferralCount" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + } + ] + }, + "durability": "persistent", + "val": { + "u32": 1 + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "LeaderboardContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATYON" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MarketContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TokenContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "vec": [ + { + "symbol": "XlmSacContract" + } + ] + }, + "val": { + "address": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN" + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + "key": { + "ledger_key_nonce": { + "nonce": "6277191135259896685" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATYON", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": null + } + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "1000000000" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 518400 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN", + "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:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF" + } + }, + { + "key": { + "symbol": "symbol" + }, + "val": { + "string": "aaa" + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "AssetInfo" + } + ] + }, + "val": { + "vec": [ + { + "symbol": "AlphaNum4" + }, + { + "map": [ + { + "key": { + "symbol": "asset_code" + }, + "val": { + "string": "aaa\\0" + } + }, + { + "key": { + "symbol": "issuer" + }, + "val": { + "bytes": "0000000000000000000000000000000000000000000000000000000000000006" + } + } + ] + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 120960 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + "live_until": 6307200 + } + ] + }, + "events": [] +} \ No newline at end of file diff --git a/referral_registry/test_snapshots/tests/test_credit_unregistered_user.1.json b/referral_registry/test_snapshots/tests/test_credit_unregistered_user.1.json index f2c1432..3eaf1f6 100644 --- a/referral_registry/test_snapshots/tests/test_credit_unregistered_user.1.json +++ b/referral_registry/test_snapshots/tests/test_credit_unregistered_user.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 7, "nonce": 0, @@ -526,6 +526,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -598,6 +610,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -610,6 +634,30 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" } }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, { "key": { "vec": [ @@ -653,7 +701,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 }, { "entry": { @@ -682,6 +730,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -958,9 +1018,9 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 } ] }, "events": [] -} +} \ No newline at end of file diff --git a/referral_registry/test_snapshots/tests/test_credit_with_referrer.1.json b/referral_registry/test_snapshots/tests/test_credit_with_referrer.1.json index 5d2b863..ac55efc 100644 --- a/referral_registry/test_snapshots/tests/test_credit_with_referrer.1.json +++ b/referral_registry/test_snapshots/tests/test_credit_with_referrer.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 8, "nonce": 0, @@ -579,6 +579,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -646,26 +658,26 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { - "u32": 1 + "u32": 0 } }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "5" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "5" + "u32": 1 } }, { @@ -706,26 +718,26 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { - "u32": 1 + "u32": 0 } }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "3" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "3" + "u32": 1 } }, { @@ -857,7 +869,7 @@ }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -884,7 +896,7 @@ }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -913,6 +925,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -934,7 +958,7 @@ ] }, "val": { - "u64": "3" + "u64": "0" } }, { @@ -946,7 +970,7 @@ ] }, "val": { - "u32": 1 + "u32": 0 } }, { @@ -992,7 +1016,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 }, { "entry": { @@ -1119,6 +1143,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1415,9 +1451,9 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 } ] }, "events": [] -} +} \ No newline at end of file diff --git a/referral_registry/test_snapshots/tests/test_display_name.1.json b/referral_registry/test_snapshots/tests/test_display_name.1.json index 29ca096..e1552af 100644 --- a/referral_registry/test_snapshots/tests/test_display_name.1.json +++ b/referral_registry/test_snapshots/tests/test_display_name.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 8, "nonce": 0, @@ -489,6 +489,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -556,26 +568,26 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { - "u32": 1 + "u32": 0 } }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "5" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "5" + "u32": 1 } }, { @@ -663,7 +675,7 @@ }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -692,6 +704,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -713,7 +737,7 @@ ] }, "val": { - "u64": "5" + "u64": "0" } }, { @@ -771,7 +795,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 }, { "entry": { @@ -842,6 +866,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1034,9 +1070,9 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 } ] }, "events": [] -} +} \ No newline at end of file diff --git a/referral_registry/test_snapshots/tests/test_double_init_rejected.1.json b/referral_registry/test_snapshots/tests/test_double_init_rejected.1.json index 50cedc4..edce254 100644 --- a/referral_registry/test_snapshots/tests/test_double_init_rejected.1.json +++ b/referral_registry/test_snapshots/tests/test_double_init_rejected.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 7, "nonce": 0, @@ -438,6 +438,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -510,6 +522,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -522,6 +546,30 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" } }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, { "key": { "vec": [ @@ -565,7 +613,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 }, { "entry": { @@ -594,6 +642,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -766,9 +826,9 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 } ] }, "events": [] -} +} \ No newline at end of file diff --git a/referral_registry/test_snapshots/tests/test_earnings_accumulation.1.json b/referral_registry/test_snapshots/tests/test_earnings_accumulation.1.json index 80d2025..5aa3b7c 100644 --- a/referral_registry/test_snapshots/tests/test_earnings_accumulation.1.json +++ b/referral_registry/test_snapshots/tests/test_earnings_accumulation.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 8, "nonce": 0, @@ -667,6 +667,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -734,26 +746,26 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { - "u32": 1 + "u32": 0 } }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "5" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "5" + "u32": 1 } }, { @@ -794,26 +806,26 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { - "u32": 3 + "u32": 0 } }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "9" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "9" + "u32": 3 } }, { @@ -857,7 +869,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" } }, { @@ -865,7 +877,7 @@ "symbol": "points" }, "val": { - "u64": "5" + "u64": "9" } } ] @@ -901,7 +913,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" } }, { @@ -909,7 +921,7 @@ "symbol": "points" }, "val": { - "u64": "9" + "u64": "5" } } ] @@ -939,13 +951,13 @@ }, "durability": "persistent", "val": { - "u32": 0 + "u32": 1 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -966,13 +978,13 @@ }, "durability": "persistent", "val": { - "u32": 1 + "u32": 0 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -1001,6 +1013,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1022,7 +1046,7 @@ ] }, "val": { - "u64": "3" + "u64": "5" } }, { @@ -1080,7 +1104,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 }, { "entry": { @@ -1207,6 +1231,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1503,9 +1539,9 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 } ] }, "events": [] -} +} \ No newline at end of file diff --git a/referral_registry/test_snapshots/tests/test_legacy_user_still_readable.1.json b/referral_registry/test_snapshots/tests/test_legacy_user_still_readable.1.json index 8bace93..0c66254 100644 --- a/referral_registry/test_snapshots/tests/test_legacy_user_still_readable.1.json +++ b/referral_registry/test_snapshots/tests/test_legacy_user_still_readable.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 8, "nonce": 0, @@ -443,6 +443,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -515,6 +527,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -527,6 +551,30 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" } }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, { "key": { "vec": [ @@ -570,7 +618,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 }, { "entry": { @@ -680,6 +728,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -852,9 +912,9 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 } ] }, "events": [] -} +} \ No newline at end of file diff --git a/referral_registry/test_snapshots/tests/test_legacy_user_without_referrer.1.json b/referral_registry/test_snapshots/tests/test_legacy_user_without_referrer.1.json index e39f48c..9f5b587 100644 --- a/referral_registry/test_snapshots/tests/test_legacy_user_without_referrer.1.json +++ b/referral_registry/test_snapshots/tests/test_legacy_user_without_referrer.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 7, "nonce": 0, @@ -441,6 +441,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -513,6 +525,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -525,6 +549,30 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" } }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, { "key": { "vec": [ @@ -568,7 +616,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 }, { "entry": { @@ -651,6 +699,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -823,9 +883,9 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 } ] }, "events": [] -} +} \ No newline at end of file diff --git a/referral_registry/test_snapshots/tests/test_referral_count_tracking.1.json b/referral_registry/test_snapshots/tests/test_referral_count_tracking.1.json index 49cbba0..afed882 100644 --- a/referral_registry/test_snapshots/tests/test_referral_count_tracking.1.json +++ b/referral_registry/test_snapshots/tests/test_referral_count_tracking.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 10, "nonce": 0, @@ -594,6 +594,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -661,26 +673,26 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { - "u32": 1 + "u32": 0 } }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "5" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "5" + "u32": 1 } }, { @@ -721,26 +733,26 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { - "u32": 1 + "u32": 0 } }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "5" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "5" + "u32": 1 } }, { @@ -781,26 +793,26 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { - "u32": 1 + "u32": 0 } }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "5" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "5" + "u32": 1 } }, { @@ -976,7 +988,7 @@ }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -1003,7 +1015,7 @@ }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -1030,7 +1042,7 @@ }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -1059,6 +1071,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1080,7 +1104,7 @@ ] }, "val": { - "u64": "5" + "u64": "0" } }, { @@ -1138,7 +1162,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 }, { "entry": { @@ -1326,6 +1350,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1558,9 +1594,9 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 } ] }, "events": [] -} +} \ No newline at end of file diff --git a/referral_registry/test_snapshots/tests/test_referrer_bonus_points_accumulate.1.json b/referral_registry/test_snapshots/tests/test_referrer_bonus_points_accumulate.1.json index c407bc2..5ab1999 100644 --- a/referral_registry/test_snapshots/tests/test_referrer_bonus_points_accumulate.1.json +++ b/referral_registry/test_snapshots/tests/test_referrer_bonus_points_accumulate.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 8, "nonce": 0, @@ -667,6 +667,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -734,26 +746,26 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { - "u32": 1 + "u32": 0 } }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "5" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "5" + "u32": 1 } }, { @@ -794,26 +806,26 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { - "u32": 3 + "u32": 0 } }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "9" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "9" + "u32": 3 } }, { @@ -857,7 +869,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" } }, { @@ -865,7 +877,7 @@ "symbol": "points" }, "val": { - "u64": "5" + "u64": "9" } } ] @@ -901,7 +913,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" } }, { @@ -909,7 +921,7 @@ "symbol": "points" }, "val": { - "u64": "9" + "u64": "5" } } ] @@ -939,13 +951,13 @@ }, "durability": "persistent", "val": { - "u32": 0 + "u32": 1 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -966,13 +978,13 @@ }, "durability": "persistent", "val": { - "u32": 1 + "u32": 0 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -1001,6 +1013,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1022,7 +1046,7 @@ ] }, "val": { - "u64": "3" + "u64": "5" } }, { @@ -1080,7 +1104,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 }, { "entry": { @@ -1207,6 +1231,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1503,9 +1539,9 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 } ] }, "events": [] -} +} \ No newline at end of file diff --git a/referral_registry/test_snapshots/tests/test_register_no_referrer.1.json b/referral_registry/test_snapshots/tests/test_register_no_referrer.1.json index d6a5cc8..ff882db 100644 --- a/referral_registry/test_snapshots/tests/test_register_no_referrer.1.json +++ b/referral_registry/test_snapshots/tests/test_register_no_referrer.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 7, "nonce": 0, @@ -490,6 +490,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -557,26 +569,26 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { - "u32": 1 + "u32": 0 } }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "5" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "5" + "u32": 1 } }, { @@ -664,7 +676,7 @@ }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -693,6 +705,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -714,7 +738,7 @@ ] }, "val": { - "u64": "5" + "u64": "0" } }, { @@ -772,7 +796,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 }, { "entry": { @@ -843,6 +867,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1035,9 +1071,9 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 } ] }, "events": [] -} +} \ No newline at end of file diff --git a/referral_registry/test_snapshots/tests/test_register_rejects_incompatible_leaderboard_version.1.json b/referral_registry/test_snapshots/tests/test_register_rejects_incompatible_leaderboard_version.1.json new file mode 100644 index 0000000..0648c02 --- /dev/null +++ b/referral_registry/test_snapshots/tests/test_register_rejects_incompatible_leaderboard_version.1.json @@ -0,0 +1,1164 @@ +{ + "generators": { + "address": 7, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "string": "PULSE" + }, + { + "string": "PLSE" + }, + { + "u32": 7 + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "set_token", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [ + [ + "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF", + { + "function": { + "contract_fn": { + "contract_address": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN", + "function_name": "set_admin", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "address": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "set_interface_version", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "u32": 0 + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "set_interface_version", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "u32": 1 + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "function_name": "register_referral", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + }, + { + "string": "NewUser" + }, + "void" + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [] + ], + "ledger": { + "protocol_version": 26, + "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": [ + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "account": { + "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF", + "balance": "0", + "seq_num": "0", + "num_sub_entries": 0, + "inflation_dest": null, + "flags": 0, + "home_domain": "", + "thresholds": "01010101", + "signers": [], + "ext": "v0" + } + }, + "ext": "v0" + }, + "live_until": null + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF", + "key": { + "ledger_key_nonce": { + "nonce": "4270020994084947596" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1033654523790656264" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1194852393571756375" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "2032731177588607455" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4837995959683129791" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "5541220902715666415" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "6277191135259896685" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "8370022561469687789" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "durability": "persistent", + "val": { + "i128": "10000000" + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Decimals" + } + ] + }, + "val": { + "u32": 7 + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "Name" + } + ] + }, + "val": { + "string": "PULSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Symbol" + } + ] + }, + "val": { + "string": "PLSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TotalSupply" + } + ] + }, + "val": { + "i128": "10000000" + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "Stats" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "lost_bets" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "points" + }, + "val": { + "u64": "5" + } + }, + { + "key": { + "symbol": "total_bets" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "won_bets" + }, + "val": { + "u32": 0 + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 6307200 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "TopPlayerAt" + }, + { + "u32": 0 + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + }, + { + "key": { + "symbol": "points" + }, + "val": { + "u64": "5" + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 6307200 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "TopPlayerSlot" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "durability": "persistent", + "val": { + "u32": 0 + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "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": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "MarketContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "vec": [ + { + "symbol": "ReferralContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TokenContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TopPlayerCount" + } + ] + }, + "val": { + "u32": 1 + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 6307200 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "vec": [ + { + "symbol": "Profile" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "display_name" + }, + "val": { + "string": "NewUser" + } + }, + { + "key": { + "symbol": "referrer" + }, + "val": "void" + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "LeaderboardContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MarketContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TokenContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "vec": [ + { + "symbol": "XlmSacContract" + } + ] + }, + "val": { + "address": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN" + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + "key": { + "ledger_key_nonce": { + "nonce": "115220454072064130" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN", + "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:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF" + } + }, + { + "key": { + "symbol": "symbol" + }, + "val": { + "string": "aaa" + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "AssetInfo" + } + ] + }, + "val": { + "vec": [ + { + "symbol": "AlphaNum4" + }, + { + "map": [ + { + "key": { + "symbol": "asset_code" + }, + "val": { + "string": "aaa\\0" + } + }, + { + "key": { + "symbol": "issuer" + }, + "val": { + "bytes": "0000000000000000000000000000000000000000000000000000000000000006" + } + } + ] + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 120960 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + "live_until": 6307200 + } + ] + }, + "events": [] +} \ No newline at end of file diff --git a/referral_registry/test_snapshots/tests/test_register_rejects_missing_leaderboard_version.1.json b/referral_registry/test_snapshots/tests/test_register_rejects_missing_leaderboard_version.1.json new file mode 100644 index 0000000..eab95ab --- /dev/null +++ b/referral_registry/test_snapshots/tests/test_register_rejects_missing_leaderboard_version.1.json @@ -0,0 +1,860 @@ +{ + "generators": { + "address": 8, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "string": "PULSE" + }, + { + "string": "PLSE" + }, + { + "u32": 7 + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "set_token", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [ + [ + "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF", + { + "function": { + "contract_fn": { + "contract_address": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN", + "function_name": "set_admin", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "address": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [], + [] + ], + "ledger": { + "protocol_version": 26, + "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": [ + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "account": { + "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF", + "balance": "0", + "seq_num": "0", + "num_sub_entries": 0, + "inflation_dest": null, + "flags": 0, + "home_domain": "", + "thresholds": "01010101", + "signers": [], + "ext": "v0" + } + }, + "ext": "v0" + }, + "live_until": null + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF", + "key": { + "ledger_key_nonce": { + "nonce": "4270020994084947596" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1033654523790656264" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "2032731177588607455" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4837995959683129791" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "5541220902715666415" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "8370022561469687789" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Decimals" + } + ] + }, + "val": { + "u32": 7 + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "Name" + } + ] + }, + "val": { + "string": "PULSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Symbol" + } + ] + }, + "val": { + "string": "PLSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TotalSupply" + } + ] + }, + "val": { + "i128": "0" + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "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": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "MarketContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "vec": [ + { + "symbol": "ReferralContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TokenContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TopPlayerCount" + } + ] + }, + "val": { + "u32": 0 + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 6307200 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "LeaderboardContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MarketContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TokenContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "vec": [ + { + "symbol": "XlmSacContract" + } + ] + }, + "val": { + "address": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN" + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": null + } + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN", + "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:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF" + } + }, + { + "key": { + "symbol": "symbol" + }, + "val": { + "string": "aaa" + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "AssetInfo" + } + ] + }, + "val": { + "vec": [ + { + "symbol": "AlphaNum4" + }, + { + "map": [ + { + "key": { + "symbol": "asset_code" + }, + "val": { + "string": "aaa\\0" + } + }, + { + "key": { + "symbol": "issuer" + }, + "val": { + "bytes": "0000000000000000000000000000000000000000000000000000000000000006" + } + } + ] + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 120960 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + "live_until": 6307200 + } + ] + }, + "events": [] +} \ No newline at end of file diff --git a/referral_registry/test_snapshots/tests/test_register_with_referrer.1.json b/referral_registry/test_snapshots/tests/test_register_with_referrer.1.json index e00f4f3..1739f42 100644 --- a/referral_registry/test_snapshots/tests/test_register_with_referrer.1.json +++ b/referral_registry/test_snapshots/tests/test_register_with_referrer.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 8, "nonce": 0, @@ -493,6 +493,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -560,26 +572,26 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { - "u32": 1 + "u32": 0 } }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "5" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "5" + "u32": 1 } }, { @@ -667,7 +679,7 @@ }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -696,6 +708,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -717,7 +741,7 @@ ] }, "val": { - "u64": "5" + "u64": "0" } }, { @@ -775,7 +799,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 }, { "entry": { @@ -875,6 +899,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1067,9 +1103,9 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 } ] }, "events": [] -} +} \ No newline at end of file diff --git a/referral_registry/test_snapshots/tests/test_reject_double_registration.1.json b/referral_registry/test_snapshots/tests/test_reject_double_registration.1.json index 50458c2..17db0ae 100644 --- a/referral_registry/test_snapshots/tests/test_reject_double_registration.1.json +++ b/referral_registry/test_snapshots/tests/test_reject_double_registration.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 7, "nonce": 0, @@ -488,6 +488,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -555,26 +567,26 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { - "u32": 1 + "u32": 0 } }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "5" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "5" + "u32": 1 } }, { @@ -662,7 +674,7 @@ }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -691,6 +703,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -712,7 +736,7 @@ ] }, "val": { - "u64": "5" + "u64": "0" } }, { @@ -770,7 +794,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 }, { "entry": { @@ -841,6 +865,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1033,9 +1069,9 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 } ] }, "events": [] -} +} \ No newline at end of file diff --git a/referral_registry/test_snapshots/tests/test_reject_self_referral.1.json b/referral_registry/test_snapshots/tests/test_reject_self_referral.1.json index 50cedc4..edce254 100644 --- a/referral_registry/test_snapshots/tests/test_reject_self_referral.1.json +++ b/referral_registry/test_snapshots/tests/test_reject_self_referral.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 7, "nonce": 0, @@ -438,6 +438,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -510,6 +522,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -522,6 +546,30 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" } }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, { "key": { "vec": [ @@ -565,7 +613,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 }, { "entry": { @@ -594,6 +642,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -766,9 +826,9 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 } ] }, "events": [] -} +} \ No newline at end of file diff --git a/referral_registry/test_snapshots/tests/test_welcome_bonus.1.json b/referral_registry/test_snapshots/tests/test_welcome_bonus.1.json index 9485476..2a85916 100644 --- a/referral_registry/test_snapshots/tests/test_welcome_bonus.1.json +++ b/referral_registry/test_snapshots/tests/test_welcome_bonus.1.json @@ -1,4 +1,4 @@ -{ +{ "generators": { "address": 7, "nonce": 0, @@ -490,6 +490,18 @@ "u32": 7 } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -557,26 +569,26 @@ "map": [ { "key": { - "symbol": "bonus_bets" + "symbol": "lost_bets" }, "val": { - "u32": 1 + "u32": 0 } }, { "key": { - "symbol": "lost_bets" + "symbol": "points" }, "val": { - "u32": 0 + "u64": "5" } }, { "key": { - "symbol": "points" + "symbol": "total_bets" }, "val": { - "u64": "5" + "u32": 1 } }, { @@ -664,7 +676,7 @@ }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -693,6 +705,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -714,7 +738,7 @@ ] }, "val": { - "u64": "5" + "u64": "0" } }, { @@ -772,7 +796,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 }, { "entry": { @@ -843,6 +867,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" } }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, { "key": { "vec": [ @@ -1035,9 +1071,9 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 } ] }, "events": [] -} +} \ No newline at end of file From 8d3e3fa12867e2ac61b28a80b6d03b8ac9a0e30c Mon Sep 17 00:00:00 2001 From: afeez Date: Tue, 18 Aug 2026 02:03:26 +0100 Subject: [PATCH 2/3] fix(pulse-token): enforce hard supply cap on all mint paths Cap lives in pulse_token::mint() (DataKey::MaxSupply, instance storage) so every authorized minter - leaderboard reward/reward_bonus or any future minter - shares one global ceiling. Result is computed via i128::checked_add before any write; over-cap or overflow mints reject with MaxSupplyExceeded (#7) leaving balance and total_supply untouched. No authoritative tokenomics value exists in the repo, so the cap is deployer-supplied via initialize(_, max_supply); legacy instances fail closed until admin declares a cap through set_max_supply, an admin-only one-way ratchet (cannot raise, cannot go below current supply). Closes issue #34. --- docs/supply-cap.md | 96 +++ leaderboard/src/tests.rs | 46 ++ ...ard_bonus_mint_subject_to_token_cap.1.json | 517 +++++++++++++ ..._rejects_incompatible_token_version.1.json | 15 + ...st_reward_mint_subject_to_token_cap.1.json | 727 ++++++++++++++++++ ...nts_token_when_interface_compatible.1.json | 15 + ..._rejects_incompatible_token_version.1.json | 15 + prediction_market/src/tests.rs | 1 + ...est_admin_cancel_pending_withdrawal.1.json | 15 + .../test_bettor_index_enumeration.1.json | 15 + ...bettor_index_legacy_read_is_bounded.1.json | 15 + .../test_cancel_fees_zeroed_correctly.1.json | 15 + ...st_cancel_market_claim_style_refund.1.json | 15 + ...cancel_refund_double_claim_rejected.1.json | 15 + ...ancel_refund_non_cancelled_rejected.1.json | 15 + ...t_cancel_refund_rebumps_ttl_entries.1.json | 15 + .../tests/test_claim_loser.1.json | 15 + .../tests/test_claim_no_bet_found.1.json | 15 + .../test_claim_rebumps_ttl_entries.1.json | 15 + ...ts_incompatible_leaderboard_version.1.json | 15 + ...rejects_missing_leaderboard_version.1.json | 15 + .../tests/test_claim_winner.1.json | 15 + .../tests/test_create_market.1.json | 15 + .../tests/test_create_multiple_markets.1.json | 15 + .../tests/test_double_init_rejected.1.json | 15 + .../test_e2e_full_inter_contract_flow.1.json | 15 + ..._empty_side_resolution_pool_to_fees.1.json | 15 + .../tests/test_execute_without_request.1.json | 15 + ...test_fee_full_2_percent_no_referrer.1.json | 15 + .../tests/test_fee_recipient_withdraw.1.json | 15 + .../tests/test_fee_split_with_referrer.1.json | 15 + .../test_increase_position_same_side.1.json | 15 + .../tests/test_initialize.1.json | 15 + ...inners_payouts_exact_and_dust_swept.1.json | 15 + ...reation_rate_limit_allows_up_to_max.1.json | 15 + ...market_creation_rate_limit_exceeded.1.json | 15 + ..._limit_rejects_timestamp_regression.1.json | 15 + ...tion_rate_limit_resets_after_window.1.json | 15 + .../tests/test_market_not_found.1.json | 15 + ...jects_incompatible_referral_version.1.json | 15 + ...et_rejects_missing_referral_version.1.json | 15 + .../tests/test_place_no_bet.1.json | 15 + .../tests/test_place_yes_bet.1.json | 15 + .../test_referrer_bonus_points_per_bet.1.json | 15 + .../test_reject_bet_below_minimum.1.json | 15 + .../test_reject_bet_cancelled_market.1.json | 15 + .../test_reject_bet_expired_market.1.json | 15 + .../test_reject_bet_resolved_market.1.json | 15 + ...test_reject_cancel_market_non_admin.1.json | 15 + .../test_reject_cancel_resolved_market.1.json | 15 + .../tests/test_reject_claim_cancelled.1.json | 15 + .../tests/test_reject_claim_unresolved.1.json | 15 + ...test_reject_create_market_non_admin.1.json | 15 + .../tests/test_reject_double_claim.1.json | 15 + .../test_reject_double_resolution.1.json | 15 + ...n_entire_accumulator_in_one_request.1.json | 15 + ...reject_duplicate_withdrawal_request.1.json | 15 + ...ct_fee_recipient_immediate_withdraw.1.json | 15 + ...cipient_request_arbitrary_recipient.1.json | 15 + ...gross_minimum_when_net_is_too_small.1.json | 15 + .../test_reject_opposite_side_bet.1.json | 15 + ...test_reject_resolve_before_deadline.1.json | 15 + ..._reject_resolve_market_non_resolver.1.json | 15 + .../tests/test_reject_too_many_bets.1.json | 15 + ...test_reject_withdraw_fees_non_admin.1.json | 15 + ...ithdraw_fees_to_arbitrary_recipient.1.json | 15 + .../tests/test_resolve_market.1.json | 15 + .../tests/test_resolver_can_resolve.1.json | 15 + ...t_single_winner_gets_whole_net_pool.1.json | 15 + ..._upgrade_fails_closed_then_recovers.1.json | 15 + .../tests/test_withdraw_fees.1.json | 15 + .../tests/test_withdraw_fees_zero.1.json | 15 + ...est_withdrawal_execute_before_delay.1.json | 15 + pulse_token/src/lib.rs | 98 ++- pulse_token/src/tests.rs | 363 ++++++++- .../tests/test_add_multiple_minters.1.json | 15 + .../test_balance_check_after_mint.1.json | 15 + .../tests/test_burn_frees_cap_headroom.1.json | 423 ++++++++++ .../tests/test_burn_tokens.1.json | 15 + ...t_cap_below_current_supply_rejected.1.json | 335 ++++++++ .../test_initialize_with_metadata.1.json | 16 + .../tests/test_lower_cap_ratchet.1.json | 378 +++++++++ .../tests/test_mint_above_cap_rejected.1.json | 335 ++++++++ .../test_mint_at_zero_cap_fails_closed.1.json | 265 +++++++ .../tests/test_mint_below_cap_succeeds.1.json | 336 ++++++++ .../tests/test_mint_by_first_minter.1.json | 15 + .../tests/test_mint_by_second_minter.1.json | 15 + .../tests/test_mint_to_cap_succeeds.1.json | 381 +++++++++ ...est_over_cap_mint_no_partial_update.1.json | 338 ++++++++ .../test_overflow_cannot_bypass_cap.1.json | 337 ++++++++ .../tests/test_raise_cap_rejected.1.json | 197 +++++ .../test_reject_mint_by_non_minter.1.json | 15 + ...eject_transfer_insufficient_balance.1.json | 15 + .../test_remove_minter_then_reject.1.json | 15 + ...est_set_cap_establishes_legacy_mint.1.json | 379 +++++++++ .../test_set_cap_unauthorized_rejected.1.json | 197 +++++ .../test_shared_cap_across_minters.1.json | 449 +++++++++++ .../tests/test_total_supply_tracking.1.json | 15 + .../test_transfer_between_accounts.1.json | 15 + referral_registry/src/tests.rs | 1 + .../tests/test_credit_no_referrer.1.json | 15 + ...ts_incompatible_leaderboard_version.1.json | 15 + ...rejects_missing_leaderboard_version.1.json | 15 + .../test_credit_unregistered_user.1.json | 15 + .../tests/test_credit_with_referrer.1.json | 15 + .../tests/test_display_name.1.json | 15 + .../tests/test_double_init_rejected.1.json | 15 + .../tests/test_earnings_accumulation.1.json | 15 + .../test_legacy_user_still_readable.1.json | 15 + .../test_legacy_user_without_referrer.1.json | 15 + .../tests/test_referral_count_tracking.1.json | 15 + ...st_referrer_bonus_points_accumulate.1.json | 15 + .../tests/test_register_no_referrer.1.json | 15 + ...ts_incompatible_leaderboard_version.1.json | 15 + ...rejects_missing_leaderboard_version.1.json | 15 + .../tests/test_register_with_referrer.1.json | 15 + .../test_reject_double_registration.1.json | 15 + .../tests/test_reject_self_referral.1.json | 15 + .../tests/test_welcome_bonus.1.json | 15 + 119 files changed, 7663 insertions(+), 7 deletions(-) create mode 100644 docs/supply-cap.md create mode 100644 leaderboard/test_snapshots/tests/test_reward_bonus_mint_subject_to_token_cap.1.json create mode 100644 leaderboard/test_snapshots/tests/test_reward_mint_subject_to_token_cap.1.json create mode 100644 pulse_token/test_snapshots/tests/test_burn_frees_cap_headroom.1.json create mode 100644 pulse_token/test_snapshots/tests/test_cap_below_current_supply_rejected.1.json create mode 100644 pulse_token/test_snapshots/tests/test_lower_cap_ratchet.1.json create mode 100644 pulse_token/test_snapshots/tests/test_mint_above_cap_rejected.1.json create mode 100644 pulse_token/test_snapshots/tests/test_mint_at_zero_cap_fails_closed.1.json create mode 100644 pulse_token/test_snapshots/tests/test_mint_below_cap_succeeds.1.json create mode 100644 pulse_token/test_snapshots/tests/test_mint_to_cap_succeeds.1.json create mode 100644 pulse_token/test_snapshots/tests/test_over_cap_mint_no_partial_update.1.json create mode 100644 pulse_token/test_snapshots/tests/test_overflow_cannot_bypass_cap.1.json create mode 100644 pulse_token/test_snapshots/tests/test_raise_cap_rejected.1.json create mode 100644 pulse_token/test_snapshots/tests/test_set_cap_establishes_legacy_mint.1.json create mode 100644 pulse_token/test_snapshots/tests/test_set_cap_unauthorized_rejected.1.json create mode 100644 pulse_token/test_snapshots/tests/test_shared_cap_across_minters.1.json diff --git a/docs/supply-cap.md b/docs/supply-cap.md new file mode 100644 index 0000000..509296e --- /dev/null +++ b/docs/supply-cap.md @@ -0,0 +1,96 @@ +# PULSE Supply Cap (issue #34) + +## Cap value — source + +The repository contains **no authoritative tokenomics value**: no `MAX_SUPPLY` +constant existed, no deployment configs/scripts exist, the removed +`ipredict_token` contract had none, and neither `ISSUE_DRAFT.md` nor +`issues/*.md` specify a number. Per the issue's guidance ("if no authoritative +cap exists, implement the smallest safe configuration mechanism... clearly +document the chosen migration/default semantics"), the cap is therefore a +**deployer-supplied parameter** passed to `PULSETokenContract::initialize(...)` +rather than a invented compile-time constant. + +- The deployer chooses `max_supply` (in base units, i.e. scaled by `decimals`) + at deployment time and that value becomes the monetary policy. +- Once declared it can only move **down** (admin one-way ratchet) — it can + never be raised through the token contract. +- There is deliberately **no hard-coded default number** in the source. + +## Where the cap is enforced + +Enforcement lives **inside `pulse_token::mint()`** (`pulse_token/src/lib.rs`), +the single choke point all minting goes through: + +- Every authorized minter — `leaderboard.reward`, `leaderboard.reward_bonus` + (the two production mint paths, both mediated by the leaderboard), or any + future minter granted `set_minter` — calls `mint()` and is subject to the + same global ceiling. No caller-side enforcement is required. +- `mint()` computes `new_supply = total_supply.checked_add(amount)`, + **before** writing either balance or supply; if `new_supply > max_supply` + (or the addition would overflow), the whole mint rejects with + `TokenError::MaxSupplyExceeded` (#7) and **no storage is modified**. +- `checked_add` guarantees arithmetic overflow cannot wrap around and bypass + the ceiling. +- `burn()` decreases `total_supply`, so burned PULSE frees cap headroom. + +Because reward/reward_bonus mint through the token, an over-cap reward fails +the entire cross-contract call atomically (the leaderboard's internal `mint` +invoke reverts the surrounding `reward`/`reward_bonus`). + +## Behavior when a mint would exceed the cap + +- The mint returns `TokenError::MaxSupplyExceeded` (#7). +- Recipient balance is unchanged; `total_supply` is unchanged. +- In the leaderboard paths this reverts `reward` / `reward_bonus` (and, via + `prediction_market.claim`, the whole claim), keeping the supply invariant. + +## Governance + +- `max_supply(env) -> i128` read-only getter. +- `set_max_supply(env, admin, new_cap)` — admin only: + - `new_cap < current total_supply` → `TokenError::CapBelowCurrentSupply` (#8). + - raising an already-declared cap → `TokenError::CapTooHigh` (#9). + - only lowering (or first-time establishing) is allowed. + - non-admin callers → `TokenError::NotAdmin` (#6) or host auth failure. + +## Deployment / migration implications + +- **New deployments:** pass the desired `max_supply` to `initialize`. It is + stored in instance storage (`DataKey::MaxSupply`) alongside `TotalSupply`. +- **Existing deployed instances** (pre-upgrade) have **no `MaxSupply` key**. + `max_supply()` reads it as `0`, and `mint()` fails closed with + `MaxSupplyExceeded` until the admin declares a cap. To migrate: call + `set_max_supply(admin, cap)` once (any value ≥ current total_supply); after + that the one-way ratchet applies. This is the explicit, documented migration + step — no data migration is needed, and unrelated reads + (`balance`/`total_supply`/`transfer`/`burn`) are unaffected. +- The token's cross-contract ABI used by the leaderboard (`mint`, + `interface_version`) is unchanged, so `TOKEN_MINT_INTERFACE_VERSION` remains + `1`; no redeploy/version bump of the leaderboard is required for the cap. + +## All mint paths share the same cap + +| Path | Mint caller on the token | +|---|---| +| `prediction_market.claim` | `leaderboard.reward` → `token.mint` | +| `referral_registry.register_referral` | `leaderboard.reward_bonus` → `token.mint` | +| `referral_registry.credit` | `leaderboard.add_bonus_pts` (no token mint) | +| any future authorized minter | direct or via leaderboard | + +All route through `pulse_token::mint()`, so one global cap applies to every +path. + +## Tests + +See `pulse_token/src/tests.rs` and `leaderboard/src/tests.rs`: + +- mint below / exactly at / above cap (typed `MaxSupplyExceeded`), +- over-cap mint leaves recipient balance and `total_supply` untouched, +- zero-cap (legacy/unset) fails closed until a cap is declared, +- multiple authorized minters share one global cap, +- `i128` overflow mint cannot bypass the cap (`checked_add`), +- burn frees cap headroom, +- cap ratchet: authorized lowering works; raising (`#9`), lowering below + current supply (`#8`), and non-admin configuration (`#6`) are rejected, +- `reward`- and `reward_bonus`-triggered mints are capped (leaderboard tests). \ No newline at end of file diff --git a/leaderboard/src/tests.rs b/leaderboard/src/tests.rs index cdd5582..fb24736 100644 --- a/leaderboard/src/tests.rs +++ b/leaderboard/src/tests.rs @@ -358,6 +358,7 @@ fn setup_with_token( &String::from_str(env, "PULSE"), &String::from_str(env, "PLSE"), &7u32, + &1_000_000_000_000_000_i128, ); // The leaderboard mints internally, so it must be an authorized minter. tclient.set_minter(&client.address); @@ -443,3 +444,48 @@ fn test_reward_bonus_rejects_incompatible_token_version() { assert_eq!(client.get_points(&user), 5); assert_eq!(tclient.balance(&user), 10_0000000); } + +// ── Supply cap: reward-triggered mints are bounded by the token cap ────────── +// The cap lives in pulse_token::mint(), so BOTH leaderboard mint entry points +// (reward / reward_bonus) are capped through the shared internal dispatch. + +#[test] +fn test_reward_mint_subject_to_token_cap() { + let (env, client, admin, market, _referral) = setup(); + let tclient = setup_with_token(&env, &client, &admin); + client.set_token(&admin, &tclient.address); + + let user = Address::generate(&env); + + // Tighten the cap so only the first reward mint fits. + tclient.set_max_supply(&admin, &10_0000000_i128); + + client.reward(&market, &user, &30_u64, &10_0000000_i128, &true); + assert_eq!(tclient.balance(&user), 10_0000000); + assert_eq!(tclient.total_supply(), 10_0000000); + + // A second reward mint would exceed the cap → the whole reward fails and + // nothing more is minted. + let r = client.try_reward(&market, &user, &30_u64, &10_0000000_i128, &true); + assert!(r.is_err(), "over-cap reward must fail, got {r:?}"); + assert_eq!(tclient.balance(&user), 10_0000000); + assert_eq!(tclient.total_supply(), 10_0000000); +} + +#[test] +fn test_reward_bonus_mint_subject_to_token_cap() { + let (env, client, admin, _market, referral) = setup(); + let tclient = setup_with_token(&env, &client, &admin); + client.set_token(&admin, &tclient.address); + + let user = Address::generate(&env); + + // Cap is under the welcome-bonus size (10 PULSE). + tclient.set_max_supply(&admin, &5_0000000_i128); + + let r = client.try_reward_bonus(&referral, &user, &5_u64, &10_0000000_i128); + assert!(r.is_err(), "over-cap reward_bonus must fail, got {r:?}"); + assert_eq!(tclient.balance(&user), 0); + assert_eq!(tclient.total_supply(), 0); + assert_eq!(client.get_points(&user), 0); +} diff --git a/leaderboard/test_snapshots/tests/test_reward_bonus_mint_subject_to_token_cap.1.json b/leaderboard/test_snapshots/tests/test_reward_bonus_mint_subject_to_token_cap.1.json new file mode 100644 index 0000000..ec24f67 --- /dev/null +++ b/leaderboard/test_snapshots/tests/test_reward_bonus_mint_subject_to_token_cap.1.json @@ -0,0 +1,517 @@ +{ + "generators": { + "address": 6, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "string": "PULSE" + }, + { + "string": "PLSE" + }, + { + "u32": 7 + }, + { + "i128": "1000000000000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "set_token", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "function_name": "set_max_supply", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "i128": "50000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [], + [] + ], + "ledger": { + "protocol_version": 26, + "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": [ + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "MarketContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "vec": [ + { + "symbol": "ReferralContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TokenContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TopPlayerCount" + } + ] + }, + "val": { + "u32": 0 + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 6307200 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": "1033654523790656264" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": "2032731177588607455" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": "4837995959683129791" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": "5541220902715666415" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Decimals" + } + ] + }, + "val": { + "u32": 7 + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "50000000" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Name" + } + ] + }, + "val": { + "string": "PULSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Symbol" + } + ] + }, + "val": { + "string": "PLSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TotalSupply" + } + ] + }, + "val": { + "i128": "0" + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + "live_until": 6307200 + } + ] + }, + "events": [] +} \ No newline at end of file diff --git a/leaderboard/test_snapshots/tests/test_reward_bonus_rejects_incompatible_token_version.1.json b/leaderboard/test_snapshots/tests/test_reward_bonus_rejects_incompatible_token_version.1.json index a885e1c..a85105a 100644 --- a/leaderboard/test_snapshots/tests/test_reward_bonus_rejects_incompatible_token_version.1.json +++ b/leaderboard/test_snapshots/tests/test_reward_bonus_rejects_incompatible_token_version.1.json @@ -52,6 +52,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -679,6 +682,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/leaderboard/test_snapshots/tests/test_reward_mint_subject_to_token_cap.1.json b/leaderboard/test_snapshots/tests/test_reward_mint_subject_to_token_cap.1.json new file mode 100644 index 0000000..b38fbfe --- /dev/null +++ b/leaderboard/test_snapshots/tests/test_reward_mint_subject_to_token_cap.1.json @@ -0,0 +1,727 @@ +{ + "generators": { + "address": 6, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "string": "PULSE" + }, + { + "string": "PLSE" + }, + { + "u32": 7 + }, + { + "i128": "1000000000000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "set_token", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "function_name": "set_max_supply", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "i128": "100000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "reward", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "u64": "30" + }, + { + "i128": "100000000" + }, + { + "bool": true + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [], + [], + [] + ], + "ledger": { + "protocol_version": 26, + "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": [ + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Stats" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "lost_bets" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "points" + }, + "val": { + "u64": "30" + } + }, + { + "key": { + "symbol": "total_bets" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "won_bets" + }, + "val": { + "u32": 1 + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 6307200 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "TopPlayerAt" + }, + { + "u32": 0 + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "symbol": "points" + }, + "val": { + "u64": "30" + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 6307200 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "TopPlayerSlot" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + }, + "durability": "persistent", + "val": { + "u32": 0 + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "MarketContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "vec": [ + { + "symbol": "ReferralContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TokenContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TopPlayerCount" + } + ] + }, + "val": { + "u32": 1 + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 6307200 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": "1033654523790656264" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": "2032731177588607455" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": "4837995959683129791" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": "5541220902715666415" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": "4270020994084947596" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + }, + "durability": "persistent", + "val": { + "i128": "100000000" + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Decimals" + } + ] + }, + "val": { + "u32": 7 + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "100000000" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Name" + } + ] + }, + "val": { + "string": "PULSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Symbol" + } + ] + }, + "val": { + "string": "PLSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TotalSupply" + } + ] + }, + "val": { + "i128": "100000000" + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + "live_until": 6307200 + } + ] + }, + "events": [] +} \ No newline at end of file diff --git a/leaderboard/test_snapshots/tests/test_reward_mints_token_when_interface_compatible.1.json b/leaderboard/test_snapshots/tests/test_reward_mints_token_when_interface_compatible.1.json index b64336c..f60fb7b 100644 --- a/leaderboard/test_snapshots/tests/test_reward_mints_token_when_interface_compatible.1.json +++ b/leaderboard/test_snapshots/tests/test_reward_mints_token_when_interface_compatible.1.json @@ -52,6 +52,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -602,6 +605,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/leaderboard/test_snapshots/tests/test_reward_rejects_incompatible_token_version.1.json b/leaderboard/test_snapshots/tests/test_reward_rejects_incompatible_token_version.1.json index 2d5357c..e29e7eb 100644 --- a/leaderboard/test_snapshots/tests/test_reward_rejects_incompatible_token_version.1.json +++ b/leaderboard/test_snapshots/tests/test_reward_rejects_incompatible_token_version.1.json @@ -52,6 +52,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -433,6 +436,18 @@ "u32": 0 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/src/tests.rs b/prediction_market/src/tests.rs index 9eed33f..1f61446 100644 --- a/prediction_market/src/tests.rs +++ b/prediction_market/src/tests.rs @@ -59,6 +59,7 @@ fn setup() -> TestSetup { &String::from_str(&env, "PULSE"), &String::from_str(&env, "PLSE"), &7u32, + &1_000_000_000_000_000_i128, ); let leaderboard_id = env.register(LeaderboardContract, ()); diff --git a/prediction_market/test_snapshots/tests/test_admin_cancel_pending_withdrawal.1.json b/prediction_market/test_snapshots/tests/test_admin_cancel_pending_withdrawal.1.json index b71b498..b6097c2 100644 --- a/prediction_market/test_snapshots/tests/test_admin_cancel_pending_withdrawal.1.json +++ b/prediction_market/test_snapshots/tests/test_admin_cancel_pending_withdrawal.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -826,6 +829,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_bettor_index_enumeration.1.json b/prediction_market/test_snapshots/tests/test_bettor_index_enumeration.1.json index 525d830..ae589de 100644 --- a/prediction_market/test_snapshots/tests/test_bettor_index_enumeration.1.json +++ b/prediction_market/test_snapshots/tests/test_bettor_index_enumeration.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -898,6 +901,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_bettor_index_legacy_read_is_bounded.1.json b/prediction_market/test_snapshots/tests/test_bettor_index_legacy_read_is_bounded.1.json index ff110e1..86d21d1 100644 --- a/prediction_market/test_snapshots/tests/test_bettor_index_legacy_read_is_bounded.1.json +++ b/prediction_market/test_snapshots/tests/test_bettor_index_legacy_read_is_bounded.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -625,6 +628,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_cancel_fees_zeroed_correctly.1.json b/prediction_market/test_snapshots/tests/test_cancel_fees_zeroed_correctly.1.json index 8240b6e..1379468 100644 --- a/prediction_market/test_snapshots/tests/test_cancel_fees_zeroed_correctly.1.json +++ b/prediction_market/test_snapshots/tests/test_cancel_fees_zeroed_correctly.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -892,6 +895,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_cancel_market_claim_style_refund.1.json b/prediction_market/test_snapshots/tests/test_cancel_market_claim_style_refund.1.json index 227dc7f..757fca8 100644 --- a/prediction_market/test_snapshots/tests/test_cancel_market_claim_style_refund.1.json +++ b/prediction_market/test_snapshots/tests/test_cancel_market_claim_style_refund.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -896,6 +899,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_cancel_refund_double_claim_rejected.1.json b/prediction_market/test_snapshots/tests/test_cancel_refund_double_claim_rejected.1.json index e378ab4..2681ccb 100644 --- a/prediction_market/test_snapshots/tests/test_cancel_refund_double_claim_rejected.1.json +++ b/prediction_market/test_snapshots/tests/test_cancel_refund_double_claim_rejected.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -778,6 +781,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_cancel_refund_non_cancelled_rejected.1.json b/prediction_market/test_snapshots/tests/test_cancel_refund_non_cancelled_rejected.1.json index f3cca7b..fe77a11 100644 --- a/prediction_market/test_snapshots/tests/test_cancel_refund_non_cancelled_rejected.1.json +++ b/prediction_market/test_snapshots/tests/test_cancel_refund_non_cancelled_rejected.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -714,6 +717,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_cancel_refund_rebumps_ttl_entries.1.json b/prediction_market/test_snapshots/tests/test_cancel_refund_rebumps_ttl_entries.1.json index 482082a..321444a 100644 --- a/prediction_market/test_snapshots/tests/test_cancel_refund_rebumps_ttl_entries.1.json +++ b/prediction_market/test_snapshots/tests/test_cancel_refund_rebumps_ttl_entries.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -781,6 +784,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_claim_loser.1.json b/prediction_market/test_snapshots/tests/test_claim_loser.1.json index ae590f3..4976315 100644 --- a/prediction_market/test_snapshots/tests/test_claim_loser.1.json +++ b/prediction_market/test_snapshots/tests/test_claim_loser.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -902,6 +905,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_claim_no_bet_found.1.json b/prediction_market/test_snapshots/tests/test_claim_no_bet_found.1.json index cf397d5..52ef1a2 100644 --- a/prediction_market/test_snapshots/tests/test_claim_no_bet_found.1.json +++ b/prediction_market/test_snapshots/tests/test_claim_no_bet_found.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -759,6 +762,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_claim_rebumps_ttl_entries.1.json b/prediction_market/test_snapshots/tests/test_claim_rebumps_ttl_entries.1.json index 1248386..e7d3369 100644 --- a/prediction_market/test_snapshots/tests/test_claim_rebumps_ttl_entries.1.json +++ b/prediction_market/test_snapshots/tests/test_claim_rebumps_ttl_entries.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -811,6 +814,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_claim_rejects_incompatible_leaderboard_version.1.json b/prediction_market/test_snapshots/tests/test_claim_rejects_incompatible_leaderboard_version.1.json index e3b3b65..b9866f9 100644 --- a/prediction_market/test_snapshots/tests/test_claim_rejects_incompatible_leaderboard_version.1.json +++ b/prediction_market/test_snapshots/tests/test_claim_rejects_incompatible_leaderboard_version.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -801,6 +804,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_claim_rejects_missing_leaderboard_version.1.json b/prediction_market/test_snapshots/tests/test_claim_rejects_missing_leaderboard_version.1.json index cdd32aa..dc414e0 100644 --- a/prediction_market/test_snapshots/tests/test_claim_rejects_missing_leaderboard_version.1.json +++ b/prediction_market/test_snapshots/tests/test_claim_rejects_missing_leaderboard_version.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -811,6 +814,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_claim_winner.1.json b/prediction_market/test_snapshots/tests/test_claim_winner.1.json index 06b1a6e..66a23b4 100644 --- a/prediction_market/test_snapshots/tests/test_claim_winner.1.json +++ b/prediction_market/test_snapshots/tests/test_claim_winner.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -902,6 +905,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_create_market.1.json b/prediction_market/test_snapshots/tests/test_create_market.1.json index a4b25c2..0258eeb 100644 --- a/prediction_market/test_snapshots/tests/test_create_market.1.json +++ b/prediction_market/test_snapshots/tests/test_create_market.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -624,6 +627,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_create_multiple_markets.1.json b/prediction_market/test_snapshots/tests/test_create_multiple_markets.1.json index 6fdcf9a..f1db048 100644 --- a/prediction_market/test_snapshots/tests/test_create_multiple_markets.1.json +++ b/prediction_market/test_snapshots/tests/test_create_multiple_markets.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -679,6 +682,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_double_init_rejected.1.json b/prediction_market/test_snapshots/tests/test_double_init_rejected.1.json index 1c70c02..74bf7cb 100644 --- a/prediction_market/test_snapshots/tests/test_double_init_rejected.1.json +++ b/prediction_market/test_snapshots/tests/test_double_init_rejected.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -568,6 +571,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_e2e_full_inter_contract_flow.1.json b/prediction_market/test_snapshots/tests/test_e2e_full_inter_contract_flow.1.json index c1780c1..eba3786 100644 --- a/prediction_market/test_snapshots/tests/test_e2e_full_inter_contract_flow.1.json +++ b/prediction_market/test_snapshots/tests/test_e2e_full_inter_contract_flow.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -1369,6 +1372,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_empty_side_resolution_pool_to_fees.1.json b/prediction_market/test_snapshots/tests/test_empty_side_resolution_pool_to_fees.1.json index 473f3cc..9205fc6 100644 --- a/prediction_market/test_snapshots/tests/test_empty_side_resolution_pool_to_fees.1.json +++ b/prediction_market/test_snapshots/tests/test_empty_side_resolution_pool_to_fees.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -899,6 +902,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_execute_without_request.1.json b/prediction_market/test_snapshots/tests/test_execute_without_request.1.json index 52bdf14..dbc6ff4 100644 --- a/prediction_market/test_snapshots/tests/test_execute_without_request.1.json +++ b/prediction_market/test_snapshots/tests/test_execute_without_request.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -568,6 +571,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_fee_full_2_percent_no_referrer.1.json b/prediction_market/test_snapshots/tests/test_fee_full_2_percent_no_referrer.1.json index f3cca7b..fe77a11 100644 --- a/prediction_market/test_snapshots/tests/test_fee_full_2_percent_no_referrer.1.json +++ b/prediction_market/test_snapshots/tests/test_fee_full_2_percent_no_referrer.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -714,6 +717,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_fee_recipient_withdraw.1.json b/prediction_market/test_snapshots/tests/test_fee_recipient_withdraw.1.json index 7fa45ad..48b4005 100644 --- a/prediction_market/test_snapshots/tests/test_fee_recipient_withdraw.1.json +++ b/prediction_market/test_snapshots/tests/test_fee_recipient_withdraw.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -847,6 +850,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_fee_split_with_referrer.1.json b/prediction_market/test_snapshots/tests/test_fee_split_with_referrer.1.json index ea228c0..1c62fb6 100644 --- a/prediction_market/test_snapshots/tests/test_fee_split_with_referrer.1.json +++ b/prediction_market/test_snapshots/tests/test_fee_split_with_referrer.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -768,6 +771,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_increase_position_same_side.1.json b/prediction_market/test_snapshots/tests/test_increase_position_same_side.1.json index 3276164..a13d261 100644 --- a/prediction_market/test_snapshots/tests/test_increase_position_same_side.1.json +++ b/prediction_market/test_snapshots/tests/test_increase_position_same_side.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -766,6 +769,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_initialize.1.json b/prediction_market/test_snapshots/tests/test_initialize.1.json index ae5a258..1cbfdc3 100644 --- a/prediction_market/test_snapshots/tests/test_initialize.1.json +++ b/prediction_market/test_snapshots/tests/test_initialize.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -569,6 +572,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_many_winners_payouts_exact_and_dust_swept.1.json b/prediction_market/test_snapshots/tests/test_many_winners_payouts_exact_and_dust_swept.1.json index 52596da..95c3189 100644 --- a/prediction_market/test_snapshots/tests/test_many_winners_payouts_exact_and_dust_swept.1.json +++ b/prediction_market/test_snapshots/tests/test_many_winners_payouts_exact_and_dust_swept.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -1191,6 +1194,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_market_creation_rate_limit_allows_up_to_max.1.json b/prediction_market/test_snapshots/tests/test_market_creation_rate_limit_allows_up_to_max.1.json index e618936..9d97835 100644 --- a/prediction_market/test_snapshots/tests/test_market_creation_rate_limit_allows_up_to_max.1.json +++ b/prediction_market/test_snapshots/tests/test_market_creation_rate_limit_allows_up_to_max.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -1118,6 +1121,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_market_creation_rate_limit_exceeded.1.json b/prediction_market/test_snapshots/tests/test_market_creation_rate_limit_exceeded.1.json index e618936..9d97835 100644 --- a/prediction_market/test_snapshots/tests/test_market_creation_rate_limit_exceeded.1.json +++ b/prediction_market/test_snapshots/tests/test_market_creation_rate_limit_exceeded.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -1118,6 +1121,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_market_creation_rate_limit_rejects_timestamp_regression.1.json b/prediction_market/test_snapshots/tests/test_market_creation_rate_limit_rejects_timestamp_regression.1.json index ebb266d..ff4805f 100644 --- a/prediction_market/test_snapshots/tests/test_market_creation_rate_limit_rejects_timestamp_regression.1.json +++ b/prediction_market/test_snapshots/tests/test_market_creation_rate_limit_rejects_timestamp_regression.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -1118,6 +1121,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_market_creation_rate_limit_resets_after_window.1.json b/prediction_market/test_snapshots/tests/test_market_creation_rate_limit_resets_after_window.1.json index 62a0f87..5ec8b65 100644 --- a/prediction_market/test_snapshots/tests/test_market_creation_rate_limit_resets_after_window.1.json +++ b/prediction_market/test_snapshots/tests/test_market_creation_rate_limit_resets_after_window.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -1172,6 +1175,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_market_not_found.1.json b/prediction_market/test_snapshots/tests/test_market_not_found.1.json index 75f891e..c313c7b 100644 --- a/prediction_market/test_snapshots/tests/test_market_not_found.1.json +++ b/prediction_market/test_snapshots/tests/test_market_not_found.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -568,6 +571,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_place_bet_rejects_incompatible_referral_version.1.json b/prediction_market/test_snapshots/tests/test_place_bet_rejects_incompatible_referral_version.1.json index 008b7fa..778b4a5 100644 --- a/prediction_market/test_snapshots/tests/test_place_bet_rejects_incompatible_referral_version.1.json +++ b/prediction_market/test_snapshots/tests/test_place_bet_rejects_incompatible_referral_version.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -707,6 +710,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_place_bet_rejects_missing_referral_version.1.json b/prediction_market/test_snapshots/tests/test_place_bet_rejects_missing_referral_version.1.json index 5395c57..2c23f65 100644 --- a/prediction_market/test_snapshots/tests/test_place_bet_rejects_missing_referral_version.1.json +++ b/prediction_market/test_snapshots/tests/test_place_bet_rejects_missing_referral_version.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -717,6 +720,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_place_no_bet.1.json b/prediction_market/test_snapshots/tests/test_place_no_bet.1.json index d0bc109..6a26b40 100644 --- a/prediction_market/test_snapshots/tests/test_place_no_bet.1.json +++ b/prediction_market/test_snapshots/tests/test_place_no_bet.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -714,6 +717,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_place_yes_bet.1.json b/prediction_market/test_snapshots/tests/test_place_yes_bet.1.json index 08373f4..d4ae571 100644 --- a/prediction_market/test_snapshots/tests/test_place_yes_bet.1.json +++ b/prediction_market/test_snapshots/tests/test_place_yes_bet.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -716,6 +719,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_referrer_bonus_points_per_bet.1.json b/prediction_market/test_snapshots/tests/test_referrer_bonus_points_per_bet.1.json index 91f8f38..0f0bd53 100644 --- a/prediction_market/test_snapshots/tests/test_referrer_bonus_points_per_bet.1.json +++ b/prediction_market/test_snapshots/tests/test_referrer_bonus_points_per_bet.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -815,6 +818,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_reject_bet_below_minimum.1.json b/prediction_market/test_snapshots/tests/test_reject_bet_below_minimum.1.json index e3ac20c..41cf130 100644 --- a/prediction_market/test_snapshots/tests/test_reject_bet_below_minimum.1.json +++ b/prediction_market/test_snapshots/tests/test_reject_bet_below_minimum.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -665,6 +668,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_reject_bet_cancelled_market.1.json b/prediction_market/test_snapshots/tests/test_reject_bet_cancelled_market.1.json index 2c3fdc8..12229a6 100644 --- a/prediction_market/test_snapshots/tests/test_reject_bet_cancelled_market.1.json +++ b/prediction_market/test_snapshots/tests/test_reject_bet_cancelled_market.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -707,6 +710,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_reject_bet_expired_market.1.json b/prediction_market/test_snapshots/tests/test_reject_bet_expired_market.1.json index a09989e..4e0bbbd 100644 --- a/prediction_market/test_snapshots/tests/test_reject_bet_expired_market.1.json +++ b/prediction_market/test_snapshots/tests/test_reject_bet_expired_market.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -665,6 +668,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_reject_bet_resolved_market.1.json b/prediction_market/test_snapshots/tests/test_reject_bet_resolved_market.1.json index 3bc6263..0e3bcf5 100644 --- a/prediction_market/test_snapshots/tests/test_reject_bet_resolved_market.1.json +++ b/prediction_market/test_snapshots/tests/test_reject_bet_resolved_market.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -801,6 +804,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_reject_cancel_market_non_admin.1.json b/prediction_market/test_snapshots/tests/test_reject_cancel_market_non_admin.1.json index 93f24cb..5342885 100644 --- a/prediction_market/test_snapshots/tests/test_reject_cancel_market_non_admin.1.json +++ b/prediction_market/test_snapshots/tests/test_reject_cancel_market_non_admin.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -623,6 +626,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_reject_cancel_resolved_market.1.json b/prediction_market/test_snapshots/tests/test_reject_cancel_resolved_market.1.json index 21645e3..df42d2e 100644 --- a/prediction_market/test_snapshots/tests/test_reject_cancel_resolved_market.1.json +++ b/prediction_market/test_snapshots/tests/test_reject_cancel_resolved_market.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -759,6 +762,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_reject_claim_cancelled.1.json b/prediction_market/test_snapshots/tests/test_reject_claim_cancelled.1.json index fd09ed3..385ec02 100644 --- a/prediction_market/test_snapshots/tests/test_reject_claim_cancelled.1.json +++ b/prediction_market/test_snapshots/tests/test_reject_claim_cancelled.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -756,6 +759,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_reject_claim_unresolved.1.json b/prediction_market/test_snapshots/tests/test_reject_claim_unresolved.1.json index f3cca7b..fe77a11 100644 --- a/prediction_market/test_snapshots/tests/test_reject_claim_unresolved.1.json +++ b/prediction_market/test_snapshots/tests/test_reject_claim_unresolved.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -714,6 +717,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_reject_create_market_non_admin.1.json b/prediction_market/test_snapshots/tests/test_reject_create_market_non_admin.1.json index 52bdf14..dbc6ff4 100644 --- a/prediction_market/test_snapshots/tests/test_reject_create_market_non_admin.1.json +++ b/prediction_market/test_snapshots/tests/test_reject_create_market_non_admin.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -568,6 +571,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_reject_double_claim.1.json b/prediction_market/test_snapshots/tests/test_reject_double_claim.1.json index e8cf3a0..bde501f 100644 --- a/prediction_market/test_snapshots/tests/test_reject_double_claim.1.json +++ b/prediction_market/test_snapshots/tests/test_reject_double_claim.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -808,6 +811,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_reject_double_resolution.1.json b/prediction_market/test_snapshots/tests/test_reject_double_resolution.1.json index 21645e3..df42d2e 100644 --- a/prediction_market/test_snapshots/tests/test_reject_double_resolution.1.json +++ b/prediction_market/test_snapshots/tests/test_reject_double_resolution.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -759,6 +762,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_reject_drain_entire_accumulator_in_one_request.1.json b/prediction_market/test_snapshots/tests/test_reject_drain_entire_accumulator_in_one_request.1.json index 6ba8e38..eb12adb 100644 --- a/prediction_market/test_snapshots/tests/test_reject_drain_entire_accumulator_in_one_request.1.json +++ b/prediction_market/test_snapshots/tests/test_reject_drain_entire_accumulator_in_one_request.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -757,6 +760,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_reject_duplicate_withdrawal_request.1.json b/prediction_market/test_snapshots/tests/test_reject_duplicate_withdrawal_request.1.json index 82bb570..e776965 100644 --- a/prediction_market/test_snapshots/tests/test_reject_duplicate_withdrawal_request.1.json +++ b/prediction_market/test_snapshots/tests/test_reject_duplicate_withdrawal_request.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -782,6 +785,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_reject_fee_recipient_immediate_withdraw.1.json b/prediction_market/test_snapshots/tests/test_reject_fee_recipient_immediate_withdraw.1.json index f68ef5a..daec44c 100644 --- a/prediction_market/test_snapshots/tests/test_reject_fee_recipient_immediate_withdraw.1.json +++ b/prediction_market/test_snapshots/tests/test_reject_fee_recipient_immediate_withdraw.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -756,6 +759,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_reject_fee_recipient_request_arbitrary_recipient.1.json b/prediction_market/test_snapshots/tests/test_reject_fee_recipient_request_arbitrary_recipient.1.json index 9cdad38..29d4f82 100644 --- a/prediction_market/test_snapshots/tests/test_reject_fee_recipient_request_arbitrary_recipient.1.json +++ b/prediction_market/test_snapshots/tests/test_reject_fee_recipient_request_arbitrary_recipient.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -756,6 +759,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_reject_gross_minimum_when_net_is_too_small.1.json b/prediction_market/test_snapshots/tests/test_reject_gross_minimum_when_net_is_too_small.1.json index e3ac20c..41cf130 100644 --- a/prediction_market/test_snapshots/tests/test_reject_gross_minimum_when_net_is_too_small.1.json +++ b/prediction_market/test_snapshots/tests/test_reject_gross_minimum_when_net_is_too_small.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -665,6 +668,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_reject_opposite_side_bet.1.json b/prediction_market/test_snapshots/tests/test_reject_opposite_side_bet.1.json index 469dd08..eb6977e 100644 --- a/prediction_market/test_snapshots/tests/test_reject_opposite_side_bet.1.json +++ b/prediction_market/test_snapshots/tests/test_reject_opposite_side_bet.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -714,6 +717,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_reject_resolve_before_deadline.1.json b/prediction_market/test_snapshots/tests/test_reject_resolve_before_deadline.1.json index 39d05ee..2c2ae21 100644 --- a/prediction_market/test_snapshots/tests/test_reject_resolve_before_deadline.1.json +++ b/prediction_market/test_snapshots/tests/test_reject_resolve_before_deadline.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -714,6 +717,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_reject_resolve_market_non_resolver.1.json b/prediction_market/test_snapshots/tests/test_reject_resolve_market_non_resolver.1.json index 4f754c4..4311469 100644 --- a/prediction_market/test_snapshots/tests/test_reject_resolve_market_non_resolver.1.json +++ b/prediction_market/test_snapshots/tests/test_reject_resolve_market_non_resolver.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -714,6 +717,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_reject_too_many_bets.1.json b/prediction_market/test_snapshots/tests/test_reject_too_many_bets.1.json index 48a9765..881e3e9 100644 --- a/prediction_market/test_snapshots/tests/test_reject_too_many_bets.1.json +++ b/prediction_market/test_snapshots/tests/test_reject_too_many_bets.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -1645,6 +1648,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_reject_withdraw_fees_non_admin.1.json b/prediction_market/test_snapshots/tests/test_reject_withdraw_fees_non_admin.1.json index 01f65b9..a613290 100644 --- a/prediction_market/test_snapshots/tests/test_reject_withdraw_fees_non_admin.1.json +++ b/prediction_market/test_snapshots/tests/test_reject_withdraw_fees_non_admin.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -714,6 +717,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_reject_withdraw_fees_to_arbitrary_recipient.1.json b/prediction_market/test_snapshots/tests/test_reject_withdraw_fees_to_arbitrary_recipient.1.json index 01f65b9..a613290 100644 --- a/prediction_market/test_snapshots/tests/test_reject_withdraw_fees_to_arbitrary_recipient.1.json +++ b/prediction_market/test_snapshots/tests/test_reject_withdraw_fees_to_arbitrary_recipient.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -714,6 +717,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_resolve_market.1.json b/prediction_market/test_snapshots/tests/test_resolve_market.1.json index 21645e3..df42d2e 100644 --- a/prediction_market/test_snapshots/tests/test_resolve_market.1.json +++ b/prediction_market/test_snapshots/tests/test_resolve_market.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -759,6 +762,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_resolver_can_resolve.1.json b/prediction_market/test_snapshots/tests/test_resolver_can_resolve.1.json index 671fd74..0ed25c9 100644 --- a/prediction_market/test_snapshots/tests/test_resolver_can_resolve.1.json +++ b/prediction_market/test_snapshots/tests/test_resolver_can_resolve.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -782,6 +785,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_single_winner_gets_whole_net_pool.1.json b/prediction_market/test_snapshots/tests/test_single_winner_gets_whole_net_pool.1.json index 4e61d27..6672a66 100644 --- a/prediction_market/test_snapshots/tests/test_single_winner_gets_whole_net_pool.1.json +++ b/prediction_market/test_snapshots/tests/test_single_winner_gets_whole_net_pool.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -902,6 +905,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_unilateral_upgrade_fails_closed_then_recovers.1.json b/prediction_market/test_snapshots/tests/test_unilateral_upgrade_fails_closed_then_recovers.1.json index a08ddc5..9acd13b 100644 --- a/prediction_market/test_snapshots/tests/test_unilateral_upgrade_fails_closed_then_recovers.1.json +++ b/prediction_market/test_snapshots/tests/test_unilateral_upgrade_fails_closed_then_recovers.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -895,6 +898,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_withdraw_fees.1.json b/prediction_market/test_snapshots/tests/test_withdraw_fees.1.json index 4b239d4..8f86e1f 100644 --- a/prediction_market/test_snapshots/tests/test_withdraw_fees.1.json +++ b/prediction_market/test_snapshots/tests/test_withdraw_fees.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -759,6 +762,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_withdraw_fees_zero.1.json b/prediction_market/test_snapshots/tests/test_withdraw_fees_zero.1.json index 75f891e..c313c7b 100644 --- a/prediction_market/test_snapshots/tests/test_withdraw_fees_zero.1.json +++ b/prediction_market/test_snapshots/tests/test_withdraw_fees_zero.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -568,6 +571,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/prediction_market/test_snapshots/tests/test_withdrawal_execute_before_delay.1.json b/prediction_market/test_snapshots/tests/test_withdrawal_execute_before_delay.1.json index 82bb570..e776965 100644 --- a/prediction_market/test_snapshots/tests/test_withdrawal_execute_before_delay.1.json +++ b/prediction_market/test_snapshots/tests/test_withdrawal_execute_before_delay.1.json @@ -46,6 +46,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -782,6 +785,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/pulse_token/src/lib.rs b/pulse_token/src/lib.rs index bd09be0..a11d08a 100644 --- a/pulse_token/src/lib.rs +++ b/pulse_token/src/lib.rs @@ -22,6 +22,11 @@ pub enum TokenError { InsufficientBalance = 4, InvalidAmount = 5, NotAdmin = 6, + MaxSupplyExceeded = 7, + // An attempt to set the max supply below the current total supply. + CapBelowCurrentSupply = 8, + // An attempt to raise an already-declared max supply (one-way ratchet). + CapTooHigh = 9, } #[contracttype] @@ -36,6 +41,8 @@ pub enum DataKey { Decimals, // ── Interface versioning (upgrade coordination) ─────────────────────── InterfaceVersion, // u32 — current interface version of this contract + // ── Supply cap (monetary policy) ───────────────────────────────────── + MaxSupply, // i128 — hard ceiling on total_supply, enforced at mint time } #[contract] @@ -49,16 +56,23 @@ impl PULSETokenContract { name: String, symbol: String, decimals: u32, + max_supply: i128, ) -> Result<(), TokenError> { if env.storage().instance().has(&DataKey::Admin) { return Err(TokenError::AlreadyInitialized); } + if max_supply < 0 { + return Err(TokenError::InvalidAmount); + } admin.require_auth(); env.storage().instance().set(&DataKey::Admin, &admin); env.storage().instance().set(&DataKey::Name, &name); env.storage().instance().set(&DataKey::Symbol, &symbol); env.storage().instance().set(&DataKey::Decimals, &decimals); env.storage().instance().set(&DataKey::TotalSupply, &0_i128); + env.storage() + .instance() + .set(&DataKey::MaxSupply, &max_supply); env.storage() .instance() .set(&DataKey::InterfaceVersion, &INTERFACE_VERSION); @@ -132,6 +146,66 @@ impl PULSETokenContract { Ok(()) } + // ── Supply cap (monetary policy) ─────────────────────────────────────── + // MAX_SUPPLY is a hard ceiling on total_supply, enforced inside mint(). + // It is set once at deploy time (initialize) and can subsequently only be + // lowered by the admin (one-way ratchet) — it can never be raised, so an + // admin cannot mint their way past the declared monetary policy. + + /// Read the current max supply ceiling. + /// + /// `0` means the contract has no declared cap (a legacy deployment that + /// was never migrated via `set_max_supply`). Minting fails closed in that + /// state with `MaxSupplyExceeded`. + pub fn max_supply(env: Env) -> i128 { + env.storage() + .instance() + .get(&DataKey::MaxSupply) + .unwrap_or(0) + } + + /// Lower the max supply ceiling. Admin only. One-way ratchet. + /// + /// The cap can never be raised once declared, and can never be set below + /// the current total_supply (that would invalidate already-minted tokens). + /// This is how a legacy deployment (max_supply == 0) declares a cap for + /// the first time without allowing it to be inflated afterwards. + pub fn set_max_supply(env: Env, admin: Address, new_cap: i128) -> Result<(), TokenError> { + let stored: Address = env + .storage() + .instance() + .get(&DataKey::Admin) + .ok_or(TokenError::NotInitialized)?; + if admin != stored { + return Err(TokenError::NotAdmin); + } + admin.require_auth(); + let current_supply: i128 = env + .storage() + .instance() + .get(&DataKey::TotalSupply) + .unwrap_or(0); + if new_cap < current_supply { + return Err(TokenError::CapBelowCurrentSupply); + } + let current_cap: i128 = env + .storage() + .instance() + .get(&DataKey::MaxSupply) + .unwrap_or(0); + if current_cap != 0 && new_cap > current_cap { + return Err(TokenError::CapTooHigh); + } + env.storage().instance().set(&DataKey::MaxSupply, &new_cap); + Ok(()) + } + + /// Mint `amount` PULSE to `to`. Authorized minter only. + /// + /// The entire mint succeeds or fails atomically against MAX_SUPPLY: the + /// resulting supply is computed with checked arithmetic first and the + /// balance/total_supply are written only if the cap is not exceeded. A + /// failed mint never partially updates balances or supply. pub fn mint(env: Env, minter: Address, to: Address, amount: i128) -> Result<(), TokenError> { if amount <= 0 { return Err(TokenError::InvalidAmount); @@ -145,18 +219,32 @@ impl PULSETokenContract { if !is_minter { return Err(TokenError::UnauthorizedMinter); } - let balance = Self::balance(env.clone(), to.clone()); - env.storage() - .persistent() - .set(&DataKey::Balance(to), &(balance + amount)); let supply: i128 = env .storage() .instance() .get(&DataKey::TotalSupply) .unwrap_or(0); + let cap: i128 = env + .storage() + .instance() + .get(&DataKey::MaxSupply) + .unwrap_or(0); + // checked_add wraps instead of panicking — treat overflow as a cap + // violation rather than letting arithmetic bypass the ceiling. + let new_supply: i128 = match supply.checked_add(amount) { + Some(v) => v, + None => return Err(TokenError::MaxSupplyExceeded), + }; + if cap == 0 || new_supply > cap { + return Err(TokenError::MaxSupplyExceeded); + } + let balance = Self::balance(env.clone(), to.clone()); + env.storage() + .persistent() + .set(&DataKey::Balance(to), &(balance + amount)); env.storage() .instance() - .set(&DataKey::TotalSupply, &(supply + amount)); + .set(&DataKey::TotalSupply, &new_supply); Ok(()) } diff --git a/pulse_token/src/tests.rs b/pulse_token/src/tests.rs index 53cbd8a..9fb2d11 100644 --- a/pulse_token/src/tests.rs +++ b/pulse_token/src/tests.rs @@ -1,4 +1,4 @@ -use crate::{PULSETokenContract, PULSETokenContractClient}; +use crate::{PULSETokenContract, PULSETokenContractClient, TokenError}; use soroban_sdk::{testutils::Address as _, Address, Env, String}; // ── Helpers ─────────────────────────────────────────────────────────────────── @@ -9,14 +9,23 @@ fn setup(env: &Env) -> PULSETokenContractClient<'_> { PULSETokenContractClient::new(env, &id) } -/// Initialize with standard PULSE metadata and return the admin address. +/// Generous cap so existing monetary tests never trip it. +const TEST_CAP: i128 = 1_000_000_000_000_000_000; + +/// Initialize with standard PULSE metadata and a large default cap; returns the admin. fn init(env: &Env, client: &PULSETokenContractClient<'_>) -> Address { + init_with_cap(env, client, TEST_CAP) +} + +/// Initialize with standard PULSE metadata and an explicit max supply cap. +fn init_with_cap(env: &Env, client: &PULSETokenContractClient<'_>, cap: i128) -> Address { let admin = Address::generate(env); client.initialize( &admin, &String::from_str(env, "PULSE"), &String::from_str(env, "PLSE"), &7, + &cap, ); admin } @@ -36,6 +45,7 @@ fn test_initialize_with_metadata() { assert_eq!(client.symbol(), String::from_str(&env, "PLSE")); assert_eq!(client.decimals(), 7); assert_eq!(client.total_supply(), 0_i128); + assert_eq!(client.max_supply(), TEST_CAP); } // ═══════════════════════════════════════════════════════════════════════════════ @@ -291,3 +301,352 @@ fn test_total_supply_tracking() { assert_eq!(client.balance(&alice), 50_0000000_i128); assert_eq!(client.balance(&bob), 60_0000000_i128); } + +// ═══════════════════════════════════════════════════════════════════════════════ +// Supply cap — monetary policy enforced inside mint() +// ═══════════════════════════════════════════════════════════════════════════════ + +#[test] +fn test_mint_below_cap_succeeds() { + let env = Env::default(); + env.mock_all_auths(); + let client = setup(&env); + let admin = Address::generate(&env); + client.initialize( + &admin, + &String::from_str(&env, "PULSE"), + &String::from_str(&env, "PLSE"), + &7, + &100_i128, + ); + + let minter = Address::generate(&env); + client.set_minter(&minter); + + let recipient = Address::generate(&env); + client.mint(&minter, &recipient, &40_i128); + assert_eq!(client.balance(&recipient), 40_i128); + assert_eq!(client.total_supply(), 40_i128); +} + +#[test] +fn test_mint_to_cap_succeeds() { + let env = Env::default(); + env.mock_all_auths(); + let client = setup(&env); + let admin = Address::generate(&env); + client.initialize( + &admin, + &String::from_str(&env, "PULSE"), + &String::from_str(&env, "PLSE"), + &7, + &100_i128, + ); + + let minter = Address::generate(&env); + client.set_minter(&minter); + + let recipient = Address::generate(&env); + client.mint(&minter, &recipient, &40_i128); + client.mint(&minter, &recipient, &60_i128); + assert_eq!(client.balance(&recipient), 100_i128); + assert_eq!(client.total_supply(), 100_i128); +} + +#[test] +#[should_panic(expected = "Error(Contract, #7)")] +fn test_mint_above_cap_rejected() { + let env = Env::default(); + env.mock_all_auths(); + let client = setup(&env); + let admin = Address::generate(&env); + client.initialize( + &admin, + &String::from_str(&env, "PULSE"), + &String::from_str(&env, "PLSE"), + &7, + &100_i128, + ); + + let minter = Address::generate(&env); + client.set_minter(&minter); + + let recipient = Address::generate(&env); + client.mint(&minter, &recipient, &40_i128); + client.mint(&minter, &recipient, &100_i128); // 40 + 100 > 100: panics +} + +#[test] +fn test_mint_at_zero_cap_fails_closed() { + // A legacy deployment with no declared cap (max_supply == 0) must fail + // closed: no amount can be minted until the admin declares a cap. + let env = Env::default(); + env.mock_all_auths(); + let client = setup(&env); + let admin = Address::generate(&env); + client.initialize( + &admin, + &String::from_str(&env, "PULSE"), + &String::from_str(&env, "PLSE"), + &7, + &0_i128, + ); + + let minter = Address::generate(&env); + client.set_minter(&minter); + let recipient = Address::generate(&env); + + let res = client.try_mint(&minter, &recipient, &1_i128); + match res { + Err(Ok(e)) => assert_eq!(e, TokenError::MaxSupplyExceeded), + other => panic!("expected MaxSupplyExceeded, got {other:?}"), + } + assert_eq!(client.balance(&recipient), 0_i128); + assert_eq!(client.total_supply(), 0_i128); +} + +#[test] +fn test_over_cap_mint_no_partial_update() { + // A rejected mint must not touch recipient balance or total_supply. + let env = Env::default(); + env.mock_all_auths(); + let client = setup(&env); + let admin = Address::generate(&env); + client.initialize( + &admin, + &String::from_str(&env, "PULSE"), + &String::from_str(&env, "PLSE"), + &7, + &100_i128, + ); + + let minter = Address::generate(&env); + client.set_minter(&minter); + let recipient = Address::generate(&env); + + // Pre-existing balance on the recipient (from a prior mint) must survive. + client.mint(&minter, &recipient, &20_i128); + assert_eq!(client.balance(&recipient), 20_i128); + + let res = client.try_mint(&minter, &recipient, &100_i128); + match res { + Err(Ok(e)) => assert_eq!(e, TokenError::MaxSupplyExceeded), + other => panic!("expected MaxSupplyExceeded, got {other:?}"), + } + assert_eq!(client.balance(&recipient), 20_i128); + assert_eq!(client.total_supply(), 20_i128); +} + +#[test] +fn test_shared_cap_across_minters() { + // All authorized minters share one global cap. + let env = Env::default(); + env.mock_all_auths(); + let client = setup(&env); + let admin = Address::generate(&env); + client.initialize( + &admin, + &String::from_str(&env, "PULSE"), + &String::from_str(&env, "PLSE"), + &7, + &100_i128, + ); + + let minter_a = Address::generate(&env); + let minter_b = Address::generate(&env); + client.set_minter(&minter_a); + client.set_minter(&minter_b); + + let recipient = Address::generate(&env); + client.mint(&minter_a, &recipient, &40_i128); + client.mint(&minter_b, &recipient, &40_i128); + assert_eq!(client.total_supply(), 80_i128); + + // Third mint pushes 80 + 30 > 100: rejected for any minter. + let res = client.try_mint(&minter_a, &recipient, &30_i128); + match res { + Err(Ok(e)) => assert_eq!(e, TokenError::MaxSupplyExceeded), + other => panic!("expected MaxSupplyExceeded, got {other:?}"), + } + assert_eq!(client.total_supply(), 80_i128); + assert_eq!(client.balance(&recipient), 80_i128); +} + +#[test] +fn test_overflow_cannot_bypass_cap() { + // checked_add must reject even an amount that would overflow i128. + let env = Env::default(); + env.mock_all_auths(); + let client = setup(&env); + let admin = Address::generate(&env); + client.initialize( + &admin, + &String::from_str(&env, "PULSE"), + &String::from_str(&env, "PLSE"), + &7, + &i128::MAX, + ); + + let minter = Address::generate(&env); + client.set_minter(&minter); + let recipient = Address::generate(&env); + + // Fill to the (i128::MAX) cap first, so the next add genuinely overflows. + client.mint(&minter, &recipient, &i128::MAX); + assert_eq!(client.total_supply(), i128::MAX); + + // supply(MAX) + amount(MAX) would wrap past i128::MAX: checked_add must + // fail with MaxSupplyExceeded, never wrap around the cap. + let res = client.try_mint(&minter, &recipient, &i128::MAX); + match res { + Err(Ok(e)) => assert_eq!(e, TokenError::MaxSupplyExceeded), + other => panic!("expected MaxSupplyExceeded, got {other:?}"), + } + assert_eq!(client.total_supply(), i128::MAX); +} + +#[test] +fn test_burn_frees_cap_headroom() { + // Burning reduces total_supply, so the cap is re-usable. + let env = Env::default(); + env.mock_all_auths(); + let client = setup(&env); + let admin = Address::generate(&env); + client.initialize( + &admin, + &String::from_str(&env, "PULSE"), + &String::from_str(&env, "PLSE"), + &7, + &100_i128, + ); + + let minter = Address::generate(&env); + client.set_minter(&minter); + + let recipient = Address::generate(&env); + client.mint(&minter, &recipient, &60_i128); + client.burn(&recipient, &30_i128); + assert_eq!(client.total_supply(), 30_i128); + + // 30 + 70 == 100: fits again inside the cap. + client.mint(&minter, &recipient, &70_i128); + assert_eq!(client.total_supply(), 100_i128); +} + +#[test] +fn test_lower_cap_ratchet() { + let env = Env::default(); + env.mock_all_auths(); + let client = setup(&env); + let admin = Address::generate(&env); + client.initialize( + &admin, + &String::from_str(&env, "PULSE"), + &String::from_str(&env, "PLSE"), + &7, + &100_i128, + ); + + // Authorized admin lowers the cap. + client.set_max_supply(&admin, &50_i128); + assert_eq!(client.max_supply(), 50_i128); + + // New mints bounded by the lowered cap. + let minter = Address::generate(&env); + client.set_minter(&minter); + let recipient = Address::generate(&env); + client.mint(&minter, &recipient, &50_i128); + let res = client.try_mint(&minter, &recipient, &1_i128); + match res { + Err(Ok(e)) => assert_eq!(e, TokenError::MaxSupplyExceeded), + other => panic!("expected MaxSupplyExceeded, got {other:?}"), + } +} + +#[test] +#[should_panic(expected = "Error(Contract, #9)")] +fn test_raise_cap_rejected() { + let env = Env::default(); + env.mock_all_auths(); + let client = setup(&env); + let admin = Address::generate(&env); + client.initialize( + &admin, + &String::from_str(&env, "PULSE"), + &String::from_str(&env, "PLSE"), + &7, + &100_i128, + ); + + client.set_max_supply(&admin, &200_i128); // 200 > 100: panics +} + +#[test] +#[should_panic(expected = "Error(Contract, #8)")] +fn test_cap_below_current_supply_rejected() { + let env = Env::default(); + env.mock_all_auths(); + let client = setup(&env); + let admin = Address::generate(&env); + client.initialize( + &admin, + &String::from_str(&env, "PULSE"), + &String::from_str(&env, "PLSE"), + &7, + &100_i128, + ); + + let minter = Address::generate(&env); + client.set_minter(&minter); + let recipient = Address::generate(&env); + client.mint(&minter, &recipient, &60_i128); + + client.set_max_supply(&admin, &50_i128); // 50 < 60: panics +} + +#[test] +#[should_panic(expected = "Error(Contract, #6)")] +fn test_set_cap_unauthorized_rejected() { + let env = Env::default(); + env.mock_all_auths(); + let client = setup(&env); + let admin = Address::generate(&env); + client.initialize( + &admin, + &String::from_str(&env, "PULSE"), + &String::from_str(&env, "PLSE"), + &7, + &100_i128, + ); + + // Non-admin cannot configure the cap. + let attacker = Address::generate(&env); + client.set_max_supply(&attacker, &50_i128); // panics +} + +#[test] +fn test_set_cap_establishes_legacy_mint() { + // Simulates a migrated legacy instance: admin declares a cap for the + // first time via set_max_supply (the only way to go from 0/unset). + let env = Env::default(); + env.mock_all_auths(); + let client = setup(&env); + let admin = Address::generate(&env); + client.initialize( + &admin, + &String::from_str(&env, "PULSE"), + &String::from_str(&env, "PLSE"), + &7, + &0_i128, + ); + assert_eq!(client.max_supply(), 0_i128); + + client.set_max_supply(&admin, &100_i128); + assert_eq!(client.max_supply(), 100_i128); + + let minter = Address::generate(&env); + client.set_minter(&minter); + let recipient = Address::generate(&env); + client.mint(&minter, &recipient, &100_i128); + assert_eq!(client.total_supply(), 100_i128); +} diff --git a/pulse_token/test_snapshots/tests/test_add_multiple_minters.1.json b/pulse_token/test_snapshots/tests/test_add_multiple_minters.1.json index 4d5e91f..eac428a 100644 --- a/pulse_token/test_snapshots/tests/test_add_multiple_minters.1.json +++ b/pulse_token/test_snapshots/tests/test_add_multiple_minters.1.json @@ -26,6 +26,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000000" } ] } @@ -188,6 +191,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000000" + } + }, { "key": { "vec": [ diff --git a/pulse_token/test_snapshots/tests/test_balance_check_after_mint.1.json b/pulse_token/test_snapshots/tests/test_balance_check_after_mint.1.json index 19223b4..fd4abf5 100644 --- a/pulse_token/test_snapshots/tests/test_balance_check_after_mint.1.json +++ b/pulse_token/test_snapshots/tests/test_balance_check_after_mint.1.json @@ -26,6 +26,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000000" } ] } @@ -250,6 +253,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000000" + } + }, { "key": { "vec": [ diff --git a/pulse_token/test_snapshots/tests/test_burn_frees_cap_headroom.1.json b/pulse_token/test_snapshots/tests/test_burn_frees_cap_headroom.1.json new file mode 100644 index 0000000..2373abb --- /dev/null +++ b/pulse_token/test_snapshots/tests/test_burn_frees_cap_headroom.1.json @@ -0,0 +1,423 @@ +{ + "generators": { + "address": 4, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "string": "PULSE" + }, + { + "string": "PLSE" + }, + { + "u32": 7 + }, + { + "i128": "100" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "mint", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": "60" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "burn", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": "30" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "mint", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": "70" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [] + ], + "ledger": { + "protocol_version": 26, + "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": [ + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent", + "val": { + "i128": "100" + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Decimals" + } + ] + }, + "val": { + "u32": 7 + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "100" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Name" + } + ] + }, + "val": { + "string": "PULSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Symbol" + } + ] + }, + "val": { + "string": "PLSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TotalSupply" + } + ] + }, + "val": { + "i128": "100" + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": "5541220902715666415" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": "1033654523790656264" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": "2032731177588607455" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": "4837995959683129791" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + "live_until": 4095 + } + ] + }, + "events": [] +} \ No newline at end of file diff --git a/pulse_token/test_snapshots/tests/test_burn_tokens.1.json b/pulse_token/test_snapshots/tests/test_burn_tokens.1.json index 8b6bc63..2b3d11a 100644 --- a/pulse_token/test_snapshots/tests/test_burn_tokens.1.json +++ b/pulse_token/test_snapshots/tests/test_burn_tokens.1.json @@ -26,6 +26,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000000" } ] } @@ -218,6 +221,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000000" + } + }, { "key": { "vec": [ diff --git a/pulse_token/test_snapshots/tests/test_cap_below_current_supply_rejected.1.json b/pulse_token/test_snapshots/tests/test_cap_below_current_supply_rejected.1.json new file mode 100644 index 0000000..3c2c902 --- /dev/null +++ b/pulse_token/test_snapshots/tests/test_cap_below_current_supply_rejected.1.json @@ -0,0 +1,335 @@ +{ + "generators": { + "address": 4, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "string": "PULSE" + }, + { + "string": "PLSE" + }, + { + "u32": 7 + }, + { + "i128": "100" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "mint", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": "60" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [] + ], + "ledger": { + "protocol_version": 26, + "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": [ + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent", + "val": { + "i128": "60" + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Decimals" + } + ] + }, + "val": { + "u32": 7 + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "100" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Name" + } + ] + }, + "val": { + "string": "PULSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Symbol" + } + ] + }, + "val": { + "string": "PLSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TotalSupply" + } + ] + }, + "val": { + "i128": "60" + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": "5541220902715666415" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": "1033654523790656264" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + "live_until": 4095 + } + ] + }, + "events": [] +} \ No newline at end of file diff --git a/pulse_token/test_snapshots/tests/test_initialize_with_metadata.1.json b/pulse_token/test_snapshots/tests/test_initialize_with_metadata.1.json index 9c28d97..508547e 100644 --- a/pulse_token/test_snapshots/tests/test_initialize_with_metadata.1.json +++ b/pulse_token/test_snapshots/tests/test_initialize_with_metadata.1.json @@ -26,6 +26,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000000" } ] } @@ -37,6 +40,7 @@ [], [], [], + [], [] ], "ledger": { @@ -100,6 +104,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000000" + } + }, { "key": { "vec": [ diff --git a/pulse_token/test_snapshots/tests/test_lower_cap_ratchet.1.json b/pulse_token/test_snapshots/tests/test_lower_cap_ratchet.1.json new file mode 100644 index 0000000..0ff56e9 --- /dev/null +++ b/pulse_token/test_snapshots/tests/test_lower_cap_ratchet.1.json @@ -0,0 +1,378 @@ +{ + "generators": { + "address": 4, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "string": "PULSE" + }, + { + "string": "PLSE" + }, + { + "u32": 7 + }, + { + "i128": "100" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "set_max_supply", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "i128": "50" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "mint", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": "50" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [] + ], + "ledger": { + "protocol_version": 26, + "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": [ + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent", + "val": { + "i128": "50" + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Decimals" + } + ] + }, + "val": { + "u32": 7 + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "50" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Name" + } + ] + }, + "val": { + "string": "PULSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Symbol" + } + ] + }, + "val": { + "string": "PLSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TotalSupply" + } + ] + }, + "val": { + "i128": "50" + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": "1033654523790656264" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": "5541220902715666415" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": "4837995959683129791" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + "live_until": 4095 + } + ] + }, + "events": [] +} \ No newline at end of file diff --git a/pulse_token/test_snapshots/tests/test_mint_above_cap_rejected.1.json b/pulse_token/test_snapshots/tests/test_mint_above_cap_rejected.1.json new file mode 100644 index 0000000..aae79ec --- /dev/null +++ b/pulse_token/test_snapshots/tests/test_mint_above_cap_rejected.1.json @@ -0,0 +1,335 @@ +{ + "generators": { + "address": 4, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "string": "PULSE" + }, + { + "string": "PLSE" + }, + { + "u32": 7 + }, + { + "i128": "100" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "mint", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": "40" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [] + ], + "ledger": { + "protocol_version": 26, + "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": [ + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent", + "val": { + "i128": "40" + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Decimals" + } + ] + }, + "val": { + "u32": 7 + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "100" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Name" + } + ] + }, + "val": { + "string": "PULSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Symbol" + } + ] + }, + "val": { + "string": "PLSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TotalSupply" + } + ] + }, + "val": { + "i128": "40" + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": "5541220902715666415" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": "1033654523790656264" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + "live_until": 4095 + } + ] + }, + "events": [] +} \ No newline at end of file diff --git a/pulse_token/test_snapshots/tests/test_mint_at_zero_cap_fails_closed.1.json b/pulse_token/test_snapshots/tests/test_mint_at_zero_cap_fails_closed.1.json new file mode 100644 index 0000000..8ec7d9c --- /dev/null +++ b/pulse_token/test_snapshots/tests/test_mint_at_zero_cap_fails_closed.1.json @@ -0,0 +1,265 @@ +{ + "generators": { + "address": 4, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "string": "PULSE" + }, + { + "string": "PLSE" + }, + { + "u32": 7 + }, + { + "i128": "0" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [] + ], + "ledger": { + "protocol_version": 26, + "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": [ + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Decimals" + } + ] + }, + "val": { + "u32": 7 + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Name" + } + ] + }, + "val": { + "string": "PULSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Symbol" + } + ] + }, + "val": { + "string": "PLSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TotalSupply" + } + ] + }, + "val": { + "i128": "0" + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": "5541220902715666415" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + "live_until": 4095 + } + ] + }, + "events": [] +} \ No newline at end of file diff --git a/pulse_token/test_snapshots/tests/test_mint_below_cap_succeeds.1.json b/pulse_token/test_snapshots/tests/test_mint_below_cap_succeeds.1.json new file mode 100644 index 0000000..6191201 --- /dev/null +++ b/pulse_token/test_snapshots/tests/test_mint_below_cap_succeeds.1.json @@ -0,0 +1,336 @@ +{ + "generators": { + "address": 4, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "string": "PULSE" + }, + { + "string": "PLSE" + }, + { + "u32": 7 + }, + { + "i128": "100" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "mint", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": "40" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [] + ], + "ledger": { + "protocol_version": 26, + "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": [ + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent", + "val": { + "i128": "40" + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Decimals" + } + ] + }, + "val": { + "u32": 7 + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "100" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Name" + } + ] + }, + "val": { + "string": "PULSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Symbol" + } + ] + }, + "val": { + "string": "PLSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TotalSupply" + } + ] + }, + "val": { + "i128": "40" + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": "5541220902715666415" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": "1033654523790656264" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + "live_until": 4095 + } + ] + }, + "events": [] +} \ No newline at end of file diff --git a/pulse_token/test_snapshots/tests/test_mint_by_first_minter.1.json b/pulse_token/test_snapshots/tests/test_mint_by_first_minter.1.json index a7153cb..23364d1 100644 --- a/pulse_token/test_snapshots/tests/test_mint_by_first_minter.1.json +++ b/pulse_token/test_snapshots/tests/test_mint_by_first_minter.1.json @@ -26,6 +26,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000000" } ] } @@ -196,6 +199,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000000" + } + }, { "key": { "vec": [ diff --git a/pulse_token/test_snapshots/tests/test_mint_by_second_minter.1.json b/pulse_token/test_snapshots/tests/test_mint_by_second_minter.1.json index db3064b..aee04db 100644 --- a/pulse_token/test_snapshots/tests/test_mint_by_second_minter.1.json +++ b/pulse_token/test_snapshots/tests/test_mint_by_second_minter.1.json @@ -26,6 +26,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000000" } ] } @@ -267,6 +270,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000000" + } + }, { "key": { "vec": [ diff --git a/pulse_token/test_snapshots/tests/test_mint_to_cap_succeeds.1.json b/pulse_token/test_snapshots/tests/test_mint_to_cap_succeeds.1.json new file mode 100644 index 0000000..2f1bd9d --- /dev/null +++ b/pulse_token/test_snapshots/tests/test_mint_to_cap_succeeds.1.json @@ -0,0 +1,381 @@ +{ + "generators": { + "address": 4, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "string": "PULSE" + }, + { + "string": "PLSE" + }, + { + "u32": 7 + }, + { + "i128": "100" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "mint", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": "40" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "mint", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": "60" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [] + ], + "ledger": { + "protocol_version": 26, + "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": [ + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent", + "val": { + "i128": "100" + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Decimals" + } + ] + }, + "val": { + "u32": 7 + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "100" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Name" + } + ] + }, + "val": { + "string": "PULSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Symbol" + } + ] + }, + "val": { + "string": "PLSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TotalSupply" + } + ] + }, + "val": { + "i128": "100" + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": "5541220902715666415" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": "1033654523790656264" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": "4837995959683129791" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + "live_until": 4095 + } + ] + }, + "events": [] +} \ No newline at end of file diff --git a/pulse_token/test_snapshots/tests/test_over_cap_mint_no_partial_update.1.json b/pulse_token/test_snapshots/tests/test_over_cap_mint_no_partial_update.1.json new file mode 100644 index 0000000..8e86cfe --- /dev/null +++ b/pulse_token/test_snapshots/tests/test_over_cap_mint_no_partial_update.1.json @@ -0,0 +1,338 @@ +{ + "generators": { + "address": 4, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "string": "PULSE" + }, + { + "string": "PLSE" + }, + { + "u32": 7 + }, + { + "i128": "100" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "mint", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": "20" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [], + [] + ], + "ledger": { + "protocol_version": 26, + "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": [ + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent", + "val": { + "i128": "20" + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Decimals" + } + ] + }, + "val": { + "u32": 7 + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "100" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Name" + } + ] + }, + "val": { + "string": "PULSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Symbol" + } + ] + }, + "val": { + "string": "PLSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TotalSupply" + } + ] + }, + "val": { + "i128": "20" + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": "5541220902715666415" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": "1033654523790656264" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + "live_until": 4095 + } + ] + }, + "events": [] +} \ No newline at end of file diff --git a/pulse_token/test_snapshots/tests/test_overflow_cannot_bypass_cap.1.json b/pulse_token/test_snapshots/tests/test_overflow_cannot_bypass_cap.1.json new file mode 100644 index 0000000..62f1be9 --- /dev/null +++ b/pulse_token/test_snapshots/tests/test_overflow_cannot_bypass_cap.1.json @@ -0,0 +1,337 @@ +{ + "generators": { + "address": 4, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "string": "PULSE" + }, + { + "string": "PLSE" + }, + { + "u32": 7 + }, + { + "i128": "170141183460469231731687303715884105727" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "mint", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": "170141183460469231731687303715884105727" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [] + ], + "ledger": { + "protocol_version": 26, + "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": [ + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent", + "val": { + "i128": "170141183460469231731687303715884105727" + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Decimals" + } + ] + }, + "val": { + "u32": 7 + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "170141183460469231731687303715884105727" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Name" + } + ] + }, + "val": { + "string": "PULSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Symbol" + } + ] + }, + "val": { + "string": "PLSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TotalSupply" + } + ] + }, + "val": { + "i128": "170141183460469231731687303715884105727" + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": "5541220902715666415" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": "1033654523790656264" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + "live_until": 4095 + } + ] + }, + "events": [] +} \ No newline at end of file diff --git a/pulse_token/test_snapshots/tests/test_raise_cap_rejected.1.json b/pulse_token/test_snapshots/tests/test_raise_cap_rejected.1.json new file mode 100644 index 0000000..515844c --- /dev/null +++ b/pulse_token/test_snapshots/tests/test_raise_cap_rejected.1.json @@ -0,0 +1,197 @@ +{ + "generators": { + "address": 2, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "string": "PULSE" + }, + { + "string": "PLSE" + }, + { + "u32": 7 + }, + { + "i128": "100" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [] + ], + "ledger": { + "protocol_version": 26, + "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": [ + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Decimals" + } + ] + }, + "val": { + "u32": 7 + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "100" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Name" + } + ] + }, + "val": { + "string": "PULSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Symbol" + } + ] + }, + "val": { + "string": "PLSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TotalSupply" + } + ] + }, + "val": { + "i128": "0" + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + "live_until": 4095 + } + ] + }, + "events": [] +} \ No newline at end of file diff --git a/pulse_token/test_snapshots/tests/test_reject_mint_by_non_minter.1.json b/pulse_token/test_snapshots/tests/test_reject_mint_by_non_minter.1.json index f11eddf..dace136 100644 --- a/pulse_token/test_snapshots/tests/test_reject_mint_by_non_minter.1.json +++ b/pulse_token/test_snapshots/tests/test_reject_mint_by_non_minter.1.json @@ -26,6 +26,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000000" } ] } @@ -97,6 +100,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000000" + } + }, { "key": { "vec": [ diff --git a/pulse_token/test_snapshots/tests/test_reject_transfer_insufficient_balance.1.json b/pulse_token/test_snapshots/tests/test_reject_transfer_insufficient_balance.1.json index 1cbc6bf..3dc09ac 100644 --- a/pulse_token/test_snapshots/tests/test_reject_transfer_insufficient_balance.1.json +++ b/pulse_token/test_snapshots/tests/test_reject_transfer_insufficient_balance.1.json @@ -26,6 +26,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000000" } ] } @@ -195,6 +198,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000000" + } + }, { "key": { "vec": [ diff --git a/pulse_token/test_snapshots/tests/test_remove_minter_then_reject.1.json b/pulse_token/test_snapshots/tests/test_remove_minter_then_reject.1.json index 0e05c3c..8b06549 100644 --- a/pulse_token/test_snapshots/tests/test_remove_minter_then_reject.1.json +++ b/pulse_token/test_snapshots/tests/test_remove_minter_then_reject.1.json @@ -26,6 +26,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000000" } ] } @@ -188,6 +191,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000000" + } + }, { "key": { "vec": [ diff --git a/pulse_token/test_snapshots/tests/test_set_cap_establishes_legacy_mint.1.json b/pulse_token/test_snapshots/tests/test_set_cap_establishes_legacy_mint.1.json new file mode 100644 index 0000000..b0ee396 --- /dev/null +++ b/pulse_token/test_snapshots/tests/test_set_cap_establishes_legacy_mint.1.json @@ -0,0 +1,379 @@ +{ + "generators": { + "address": 4, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "string": "PULSE" + }, + { + "string": "PLSE" + }, + { + "u32": 7 + }, + { + "i128": "0" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "set_max_supply", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "i128": "100" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "mint", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": "100" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [] + ], + "ledger": { + "protocol_version": 26, + "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": [ + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent", + "val": { + "i128": "100" + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Decimals" + } + ] + }, + "val": { + "u32": 7 + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "100" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Name" + } + ] + }, + "val": { + "string": "PULSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Symbol" + } + ] + }, + "val": { + "string": "PLSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TotalSupply" + } + ] + }, + "val": { + "i128": "100" + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": "1033654523790656264" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": "5541220902715666415" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": "4837995959683129791" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + "live_until": 4095 + } + ] + }, + "events": [] +} \ No newline at end of file diff --git a/pulse_token/test_snapshots/tests/test_set_cap_unauthorized_rejected.1.json b/pulse_token/test_snapshots/tests/test_set_cap_unauthorized_rejected.1.json new file mode 100644 index 0000000..0ac8b9c --- /dev/null +++ b/pulse_token/test_snapshots/tests/test_set_cap_unauthorized_rejected.1.json @@ -0,0 +1,197 @@ +{ + "generators": { + "address": 3, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "string": "PULSE" + }, + { + "string": "PLSE" + }, + { + "u32": 7 + }, + { + "i128": "100" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [] + ], + "ledger": { + "protocol_version": 26, + "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": [ + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Decimals" + } + ] + }, + "val": { + "u32": 7 + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "100" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Name" + } + ] + }, + "val": { + "string": "PULSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Symbol" + } + ] + }, + "val": { + "string": "PLSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TotalSupply" + } + ] + }, + "val": { + "i128": "0" + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + "live_until": 4095 + } + ] + }, + "events": [] +} \ No newline at end of file diff --git a/pulse_token/test_snapshots/tests/test_shared_cap_across_minters.1.json b/pulse_token/test_snapshots/tests/test_shared_cap_across_minters.1.json new file mode 100644 index 0000000..26688cc --- /dev/null +++ b/pulse_token/test_snapshots/tests/test_shared_cap_across_minters.1.json @@ -0,0 +1,449 @@ +{ + "generators": { + "address": 5, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "string": "PULSE" + }, + { + "string": "PLSE" + }, + { + "u32": 7 + }, + { + "i128": "100" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "mint", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "i128": "40" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "mint", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "i128": "40" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [], + [] + ], + "ledger": { + "protocol_version": 26, + "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": [ + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "durability": "persistent", + "val": { + "i128": "80" + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Decimals" + } + ] + }, + "val": { + "u32": 7 + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "100" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Name" + } + ] + }, + "val": { + "string": "PULSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Symbol" + } + ] + }, + "val": { + "string": "PLSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TotalSupply" + } + ] + }, + "val": { + "i128": "80" + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 4095 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": "1033654523790656264" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": "5541220902715666415" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": "4837995959683129791" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": "2032731177588607455" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 6311999 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + "live_until": 4095 + } + ] + }, + "events": [] +} \ No newline at end of file diff --git a/pulse_token/test_snapshots/tests/test_total_supply_tracking.1.json b/pulse_token/test_snapshots/tests/test_total_supply_tracking.1.json index 369b9ab..fcb4caa 100644 --- a/pulse_token/test_snapshots/tests/test_total_supply_tracking.1.json +++ b/pulse_token/test_snapshots/tests/test_total_supply_tracking.1.json @@ -26,6 +26,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000000" } ] } @@ -322,6 +325,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000000" + } + }, { "key": { "vec": [ diff --git a/pulse_token/test_snapshots/tests/test_transfer_between_accounts.1.json b/pulse_token/test_snapshots/tests/test_transfer_between_accounts.1.json index 50a6344..56d46e6 100644 --- a/pulse_token/test_snapshots/tests/test_transfer_between_accounts.1.json +++ b/pulse_token/test_snapshots/tests/test_transfer_between_accounts.1.json @@ -26,6 +26,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000000" } ] } @@ -249,6 +252,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000000" + } + }, { "key": { "vec": [ diff --git a/referral_registry/src/tests.rs b/referral_registry/src/tests.rs index 5ceae9d..b27d14e 100644 --- a/referral_registry/src/tests.rs +++ b/referral_registry/src/tests.rs @@ -49,6 +49,7 @@ fn setup() -> TestSetup { &String::from_str(&env, "PULSE"), &String::from_str(&env, "PLSE"), &7u32, + &1_000_000_000_000_000_i128, ); // Deploy Leaderboard diff --git a/referral_registry/test_snapshots/tests/test_credit_no_referrer.1.json b/referral_registry/test_snapshots/tests/test_credit_no_referrer.1.json index adda539..326cfa2 100644 --- a/referral_registry/test_snapshots/tests/test_credit_no_referrer.1.json +++ b/referral_registry/test_snapshots/tests/test_credit_no_referrer.1.json @@ -26,6 +26,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -588,6 +591,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/referral_registry/test_snapshots/tests/test_credit_rejects_incompatible_leaderboard_version.1.json b/referral_registry/test_snapshots/tests/test_credit_rejects_incompatible_leaderboard_version.1.json index b2a342f..e1f1320 100644 --- a/referral_registry/test_snapshots/tests/test_credit_rejects_incompatible_leaderboard_version.1.json +++ b/referral_registry/test_snapshots/tests/test_credit_rejects_incompatible_leaderboard_version.1.json @@ -26,6 +26,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -675,6 +678,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/referral_registry/test_snapshots/tests/test_credit_rejects_missing_leaderboard_version.1.json b/referral_registry/test_snapshots/tests/test_credit_rejects_missing_leaderboard_version.1.json index 5e1b222..3dca1d5 100644 --- a/referral_registry/test_snapshots/tests/test_credit_rejects_missing_leaderboard_version.1.json +++ b/referral_registry/test_snapshots/tests/test_credit_rejects_missing_leaderboard_version.1.json @@ -26,6 +26,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -547,6 +550,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/referral_registry/test_snapshots/tests/test_credit_unregistered_user.1.json b/referral_registry/test_snapshots/tests/test_credit_unregistered_user.1.json index 3eaf1f6..d77a7b3 100644 --- a/referral_registry/test_snapshots/tests/test_credit_unregistered_user.1.json +++ b/referral_registry/test_snapshots/tests/test_credit_unregistered_user.1.json @@ -26,6 +26,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -538,6 +541,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/referral_registry/test_snapshots/tests/test_credit_with_referrer.1.json b/referral_registry/test_snapshots/tests/test_credit_with_referrer.1.json index ac55efc..7082602 100644 --- a/referral_registry/test_snapshots/tests/test_credit_with_referrer.1.json +++ b/referral_registry/test_snapshots/tests/test_credit_with_referrer.1.json @@ -26,6 +26,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -591,6 +594,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/referral_registry/test_snapshots/tests/test_display_name.1.json b/referral_registry/test_snapshots/tests/test_display_name.1.json index e1552af..17cf2e4 100644 --- a/referral_registry/test_snapshots/tests/test_display_name.1.json +++ b/referral_registry/test_snapshots/tests/test_display_name.1.json @@ -26,6 +26,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -501,6 +504,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/referral_registry/test_snapshots/tests/test_double_init_rejected.1.json b/referral_registry/test_snapshots/tests/test_double_init_rejected.1.json index edce254..d2108c7 100644 --- a/referral_registry/test_snapshots/tests/test_double_init_rejected.1.json +++ b/referral_registry/test_snapshots/tests/test_double_init_rejected.1.json @@ -26,6 +26,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -450,6 +453,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/referral_registry/test_snapshots/tests/test_earnings_accumulation.1.json b/referral_registry/test_snapshots/tests/test_earnings_accumulation.1.json index 5aa3b7c..0a0114b 100644 --- a/referral_registry/test_snapshots/tests/test_earnings_accumulation.1.json +++ b/referral_registry/test_snapshots/tests/test_earnings_accumulation.1.json @@ -26,6 +26,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -679,6 +682,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/referral_registry/test_snapshots/tests/test_legacy_user_still_readable.1.json b/referral_registry/test_snapshots/tests/test_legacy_user_still_readable.1.json index 0c66254..0bbcb71 100644 --- a/referral_registry/test_snapshots/tests/test_legacy_user_still_readable.1.json +++ b/referral_registry/test_snapshots/tests/test_legacy_user_still_readable.1.json @@ -26,6 +26,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -455,6 +458,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/referral_registry/test_snapshots/tests/test_legacy_user_without_referrer.1.json b/referral_registry/test_snapshots/tests/test_legacy_user_without_referrer.1.json index 9f5b587..6d638f1 100644 --- a/referral_registry/test_snapshots/tests/test_legacy_user_without_referrer.1.json +++ b/referral_registry/test_snapshots/tests/test_legacy_user_without_referrer.1.json @@ -26,6 +26,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -453,6 +456,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/referral_registry/test_snapshots/tests/test_referral_count_tracking.1.json b/referral_registry/test_snapshots/tests/test_referral_count_tracking.1.json index afed882..7c2ae5a 100644 --- a/referral_registry/test_snapshots/tests/test_referral_count_tracking.1.json +++ b/referral_registry/test_snapshots/tests/test_referral_count_tracking.1.json @@ -26,6 +26,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -606,6 +609,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/referral_registry/test_snapshots/tests/test_referrer_bonus_points_accumulate.1.json b/referral_registry/test_snapshots/tests/test_referrer_bonus_points_accumulate.1.json index 5ab1999..301563f 100644 --- a/referral_registry/test_snapshots/tests/test_referrer_bonus_points_accumulate.1.json +++ b/referral_registry/test_snapshots/tests/test_referrer_bonus_points_accumulate.1.json @@ -26,6 +26,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -679,6 +682,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/referral_registry/test_snapshots/tests/test_register_no_referrer.1.json b/referral_registry/test_snapshots/tests/test_register_no_referrer.1.json index ff882db..f71faa1 100644 --- a/referral_registry/test_snapshots/tests/test_register_no_referrer.1.json +++ b/referral_registry/test_snapshots/tests/test_register_no_referrer.1.json @@ -26,6 +26,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -502,6 +505,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/referral_registry/test_snapshots/tests/test_register_rejects_incompatible_leaderboard_version.1.json b/referral_registry/test_snapshots/tests/test_register_rejects_incompatible_leaderboard_version.1.json index 0648c02..ca29b34 100644 --- a/referral_registry/test_snapshots/tests/test_register_rejects_incompatible_leaderboard_version.1.json +++ b/referral_registry/test_snapshots/tests/test_register_rejects_incompatible_leaderboard_version.1.json @@ -26,6 +26,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -587,6 +590,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/referral_registry/test_snapshots/tests/test_register_rejects_missing_leaderboard_version.1.json b/referral_registry/test_snapshots/tests/test_register_rejects_missing_leaderboard_version.1.json index eab95ab..9461bbe 100644 --- a/referral_registry/test_snapshots/tests/test_register_rejects_missing_leaderboard_version.1.json +++ b/referral_registry/test_snapshots/tests/test_register_rejects_missing_leaderboard_version.1.json @@ -26,6 +26,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -453,6 +456,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/referral_registry/test_snapshots/tests/test_register_with_referrer.1.json b/referral_registry/test_snapshots/tests/test_register_with_referrer.1.json index 1739f42..cb7065a 100644 --- a/referral_registry/test_snapshots/tests/test_register_with_referrer.1.json +++ b/referral_registry/test_snapshots/tests/test_register_with_referrer.1.json @@ -26,6 +26,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -505,6 +508,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/referral_registry/test_snapshots/tests/test_reject_double_registration.1.json b/referral_registry/test_snapshots/tests/test_reject_double_registration.1.json index 17db0ae..dd7a302 100644 --- a/referral_registry/test_snapshots/tests/test_reject_double_registration.1.json +++ b/referral_registry/test_snapshots/tests/test_reject_double_registration.1.json @@ -26,6 +26,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -500,6 +503,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/referral_registry/test_snapshots/tests/test_reject_self_referral.1.json b/referral_registry/test_snapshots/tests/test_reject_self_referral.1.json index edce254..d2108c7 100644 --- a/referral_registry/test_snapshots/tests/test_reject_self_referral.1.json +++ b/referral_registry/test_snapshots/tests/test_reject_self_referral.1.json @@ -26,6 +26,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -450,6 +453,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ diff --git a/referral_registry/test_snapshots/tests/test_welcome_bonus.1.json b/referral_registry/test_snapshots/tests/test_welcome_bonus.1.json index 2a85916..2c496a7 100644 --- a/referral_registry/test_snapshots/tests/test_welcome_bonus.1.json +++ b/referral_registry/test_snapshots/tests/test_welcome_bonus.1.json @@ -26,6 +26,9 @@ }, { "u32": 7 + }, + { + "i128": "1000000000000000" } ] } @@ -502,6 +505,18 @@ "u32": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, { "key": { "vec": [ From 2f6fe8d8458a705c900fe3caa3848ce1af8b7f10 Mon Sep 17 00:00:00 2001 From: afeez Date: Tue, 18 Aug 2026 06:29:29 +0100 Subject: [PATCH 3/3] fix(prediction-market): protect claimable state from TTL expiry Market, Bet, Payout, and bettor-index entries in persistent storage could expire before claim/refund, permanently locking user funds (issue #9). Add read-time TTL refresh: claim now also bumps the winner's Payout key, resolve_market bumps the bettor index/Bets/Payouts it walks, and the user-facing views (get_market/get_bet/get_payout/get_market_bettors_page) re-arm the entries they read. Every bump reuses the existing TTL_BUMP/TTL_HIGH constants; missing/expired state keeps its not-found semantics. Already-expired entries cannot be resurrected by design. --- docs/claim-ttl.md | 115 + prediction_market/src/lib.rs | 91 +- prediction_market/src/tests.rs | 219 ++ ...bettor_index_legacy_read_is_bounded.1.json | 6 +- .../test_claim_rebumps_payout_ttl.1.json | 2275 +++++++++++++++++ .../test_claim_rebumps_ttl_entries.1.json | 2 +- .../tests/test_get_bet_extends_ttl.1.json | 1710 +++++++++++++ ...rket_bettors_page_extends_index_ttl.1.json | 2005 +++++++++++++++ .../tests/test_get_market_extends_ttl.1.json | 1288 ++++++++++ .../tests/test_get_payout_extends_ttl.1.json | 1785 +++++++++++++ ...state_preserves_not_found_semantics.1.json | 1288 ++++++++++ ...resolve_extends_claimable_state_ttl.1.json | 2117 +++++++++++++++ 12 files changed, 12889 insertions(+), 12 deletions(-) create mode 100644 docs/claim-ttl.md create mode 100644 prediction_market/test_snapshots/tests/test_claim_rebumps_payout_ttl.1.json create mode 100644 prediction_market/test_snapshots/tests/test_get_bet_extends_ttl.1.json create mode 100644 prediction_market/test_snapshots/tests/test_get_market_bettors_page_extends_index_ttl.1.json create mode 100644 prediction_market/test_snapshots/tests/test_get_market_extends_ttl.1.json create mode 100644 prediction_market/test_snapshots/tests/test_get_payout_extends_ttl.1.json create mode 100644 prediction_market/test_snapshots/tests/test_missing_state_preserves_not_found_semantics.1.json create mode 100644 prediction_market/test_snapshots/tests/test_resolve_extends_claimable_state_ttl.1.json diff --git a/docs/claim-ttl.md b/docs/claim-ttl.md new file mode 100644 index 0000000..2806516 --- /dev/null +++ b/docs/claim-ttl.md @@ -0,0 +1,115 @@ +# Prediction Market — Claimable-State TTL Lifecycle (issue #9) + +## What the issue is + +Markets, bet entries, bettor indexes, and resolution-time payout keys all live +in **persistent storage**, which Soroban deletes once an entry's live-until +ledger is reached unless the contract keeps re-arming it. Every user payment +that ends up in a market pool can only be recovered through `claim` / +`cancel_refund`, and both paths depend on those persistent entries still +existing. If they expire first, funds are **permanently stuck in the contract**. + +Soroban cannot resurrect an already-expired (deleted) entry: once gone, reads +return the same not-found result as for an entry that never existed. The fix is +therefore a **read-time TTL refresh strategy**: every lifecycle operation that +may still be needed later re-arms the TTL of the entries it reads/depends on, +so the recovery window keeps sliding forward as long as anyone is interacting +with the contract. + +## Storage keys that must stay alive for fund recovery + +| Key | Written by | Read by (recovery) | Why it must stay alive | +|---|---|---|---| +| `Market(market_id)` | `create_market`, `place_bet`, `resolve_market`, `cancel_market` | `claim`, `cancel_refund`, `get_market` | `resolved`/`cancelled`/`outcome` gate the recovery paths; a missing market bricks the whole market's claims/refunds | +| `Bet(market_id, user)` | `place_bet`, updated by `claim`/`cancel_refund` | `claim`, `cancel_refund`, `get_bet` | determines stake, winning side, and `claimed`/refunded idempotency; a missing bet = `NoBetFound` | +| `Payout(market_id, user)` | `resolve_market` (winners only) | `claim`, `get_payout` | the exact XLM payout; a missing payout silently pays 0 to a winner | +| `BettorCount(market_id)` | `place_bet` (lazily, first bet) | `resolve_market`, `get_market_bettors_page` | drives winner enumeration at resolve; a missing index drops bettors from payout computation | +| `BettorAt(market_id, i)` | `place_bet` (lazily, first bet) | `resolve_market`, `get_market_bettors_page` | the index slots that enumerate bettors at resolve | + +## Where TTL is extended + +All bumps use the repository's existing constants `TTL_BUMP` / `TTL_HIGH` +(`prediction_market/src/lib.rs`) and the existing inline +`extend_ttl(key, TTL_BUMP, TTL_HIGH)` convention. A tiny helper +`PredictionMarketContract::bump_ttl(env, key)` applies the same call; callers +only invoke it on keys they have already confirmed to exist (the host errors +when extending a deleted/non-existent key). + +### Read-time extension (the primary mechanism) + +- **`claim`** — bumps `Bet` (already done), `Market` (already done), and now + also `Payout(market_id, user)` **if present** (winners). The three entries a + winner needs stay alive together for the whole claim path. +- **`cancel_refund`** — bumps `Bet` and `Market` (already done): the refund + path on a cancelled market stays open while the user still interacts. +- **`resolve_market`** — bumps `BettorCount`, every `BettorAt` slot, and every + `Bet` entry it walks while computing payouts, and each new `Payout` key it + writes. A long-lived market (bets placed near the start of a multi-year + window) otherwise risks its index expiring before resolution, silently + dropping bettors from the enumeration and locking their stake. +- **`get_market`** — bumps `Market`. +- **`get_bet`** — bumps `Bet`. +- **`get_payout`** — bumps `Payout` when present. +- **`get_market_bettors_page`** — bumps `BettorCount` and each `BettorAt` slot. + +View functions are a deliberate part of the strategy: a user checking their bet, +payout, or the market is the cheapest possible "keep-alive" interaction, and it +works without a keeper. + +## Design decisions + +- **Read-time extension over a keeper/off-chain refresher.** The repository has + no keeper infrastructure, and a keeper would be an external trust dependency. + Read-time refresh needs no extra moving parts. +- **Both read-time AND resolution-time extension are used.** Resolution-time + bumps guarantee newly created `Payout` keys plus the already-written bet/index + entries start (and re-start) with a full `TTL_HIGH` window; read-time bumps on + claim/refund/views then keep sliding that window while the state is still + relevant. +- **`Market` and `BetEntry` are kept alive together.** The claim path bumps the + whole triple `Market` + `Bet` + `Payout`; the refund path bumps `Market` + + `Bet`. No key that a recovery path needs can outlive its partner on its own. +- **Missing/expired state semantics are preserved.** `extend_ttl` is only ever + called on keys proven to exist in the same call, so genuinely absent entries + (e.g. no bet placed) still produce the existing `MarketNotFound` / + `NoBetFound` errors, and a stale `Payout` read still yields `0`. +- **Terminal behavior is unchanged.** `claim` still marks `claimed` and pays + out via the settlement-time payout ledger; `cancel_refund` still zeroes + `gross`. The TTL changes touch only expiry windows, not money movement. +- **No TTL constants were increased.** The existing `TTL_BUMP` / `TTL_HIGH` + (~1yr/~2yr at mainnet ~5s ledgers) are reused; extending them would only + postpone, not solve, expiry, and the fix here already slides them on read. +- **Scope.** This change touches `prediction_market` only. Leaderboard + (`issue #21`) and token-balance (`issue #36`) TTL are separate issue tracks + and were not modified. + +## Remaining limitation (must be stated explicitly) + +Read-time TTL refresh **cannot resurrect an entry that has already expired**. +If no one interacts with the contract — no claim, no refund, no view call — +for the full TTL window after the last bump, the entries are deleted by the +ledger and the funds behind them are unrecoverable. This fix changes the +recovery guarantee from "the TTL from the last **write**" to "the TTL from the +**last interaction**", which is strictly stronger but still bounded. + +Permanent recoverability would require either a persistent on-chain keeper +(repeatedly bumping keys on a schedule) or a storage-rental redesign — neither +exists in this repository, so the contract-level fix cannot honestly promise it. + +## Tests + +See `prediction_market/src/tests.rs` (SECURITY REGRESSION SUITE — issue #9): + +- `test_claim_rebumps_ttl_entries` — claim bumps `Bet` + `Market` (existing). +- `test_claim_rebumps_payout_ttl` — **new**: claim bumps the winner's `Payout`. +- `test_cancel_refund_rebumps_ttl_entries` — refund bumps `Bet` + `Market`. +- `test_resolve_extends_claimable_state_ttl` — **new**: resolve bumps the + bettor index, `BettorCount`, both `Bet` entries, and creates fresh-`TTL` + `Payout` keys for multiple winners. +- `test_get_bet_extends_ttl`, `test_get_market_extends_ttl`, + `test_get_payout_extends_ttl`, `test_get_market_bettors_page_extends_index_ttl` + — **new**: view interactions keep claimable state alive. +- `test_missing_state_preserves_not_found_semantics` — **new**: no writer + resurrects genuinely absent keys; not-found errors and zero payouts preserved. +- Full existing suite (market lifecycle, claim/refund payout math, upgrade + coordination) unchanged and passing. \ No newline at end of file diff --git a/prediction_market/src/lib.rs b/prediction_market/src/lib.rs index 380f56b..13a9b78 100644 --- a/prediction_market/src/lib.rs +++ b/prediction_market/src/lib.rs @@ -625,10 +625,27 @@ impl PredictionMarketContract { .persistent() .get(&DataKey::BettorCount(market_id)) .unwrap_or(0); + // Read-time TTL refresh (issue #9): the bettor index, the bet + // entries, and the payouts derived from them must all stay alive + // together. A long-lived market could otherwise see its index + // expire before resolution, silently dropping bettors from the + // enumeration and locking their stake in the pool. BettorCount is + // lazily written on the first bet, so only bump it when present. + if bettors > 0 { + env.storage().persistent().extend_ttl( + &DataKey::BettorCount(market_id), + TTL_BUMP, + TTL_HIGH, + ); + } for i in 0..bettors { let slot_key = DataKey::BettorAt(market_id, i); let bettor: Address = if let Some(a) = env.storage().persistent().get(&slot_key) { + // Keep the index slot alive while we walk it. + env.storage() + .persistent() + .extend_ttl(&slot_key, TTL_BUMP, TTL_HIGH); a } else { continue; @@ -639,6 +656,11 @@ impl PredictionMarketContract { .persistent() .get::(&bet_key) { + // Keep the bet alive so the winner can later claim against + // it (claim reads the same Bet + Payout pair). + env.storage() + .persistent() + .extend_ttl(&bet_key, TTL_BUMP, TTL_HIGH); if entry.is_yes == outcome { let payout = (entry.net * total_pool) / winning_side; let payout_key = DataKey::Payout(market_id, bettor.clone()); @@ -808,10 +830,20 @@ impl PredictionMarketContract { .extend_ttl(&bet_key, TTL_BUMP, TTL_HIGH); // Read-time TTL refresh (issue #9): a claim must not be able to observe // an expired market/bet record — keep the market entry alive here too - // so late claims on a long-lived market keep working. + // so late claims on a long-lived market keep working. The Payout key + // is the XLM source for a winner, so it must stay alive as long as the + // bet that pays against it: bump all three together. Losers have no + // Payout key (the host errors on extending a non-existent key), so + // guard the payout bump with has(). env.storage() .persistent() .extend_ttl(&DataKey::Market(market_id), TTL_BUMP, TTL_HIGH); + let payout_key = DataKey::Payout(market_id, user.clone()); + if env.storage().persistent().has(&payout_key) { + env.storage() + .persistent() + .extend_ttl(&payout_key, TTL_BUMP, TTL_HIGH); + } // XLM payout straight from the settlement-time payout ledger. // Winners are exactly the bettors who own a Payout entry; everyone @@ -819,7 +851,7 @@ impl PredictionMarketContract { let payout: i128 = env .storage() .persistent() - .get::(&DataKey::Payout(market_id, user.clone())) + .get::(&payout_key) .unwrap_or_default(); if is_winner && payout > 0 { token::Client::new(&env, &cfg.xlm_sac).transfer(&this, &user, &payout); @@ -1003,16 +1035,26 @@ impl PredictionMarketContract { // ── View Functions ──────────────────────────────────────────────────── pub fn get_market(env: Env, market_id: u64) -> Result { - Self::load_market(&env, market_id) + let market = Self::load_market(&env, market_id)?; + // Read-time TTL refresh (issue #9): viewing a market is a user + // interaction that keeps the market entry claimable — as long as + // anyone is still interacting with the market, late claims/refunds + // against it remain possible. + Self::bump_ttl(&env, &DataKey::Market(market_id)); + Ok(market) } // OPT: returns Bet (ABI-compatible) derived from BetEntry pub fn get_bet(env: Env, market_id: u64, user: Address) -> Result { + let bet_key = DataKey::Bet(market_id, user.clone()); let e: BetEntry = env .storage() .persistent() - .get(&DataKey::Bet(market_id, user)) + .get(&bet_key) .ok_or(MarketError::NoBetFound)?; + // Read-time TTL refresh (issue #9): a user checking their bet is the + // key interaction that keeps their claimable entry alive. + Self::bump_ttl(&env, &bet_key); Ok(Bet { amount: e.net, is_yes: e.is_yes, @@ -1050,15 +1092,23 @@ impl PredictionMarketContract { .persistent() .get(&DataKey::BettorCount(market_id)) .unwrap_or(0); + // Read-time TTL refresh (issue #9): enumerating the bettor index is the + // interaction that keeps the index alive for later resolution — keep + // the entries claimable for as long as anyone is still querying them. + if count > 0 { + Self::bump_ttl(&env, &DataKey::BettorCount(market_id)); + } let page_limit = limit.min(MAX_BETTORS_PER_PAGE); let end = start.saturating_add(page_limit).min(count); let mut result: Vec
= Vec::new(&env); for i in start..end { + let slot_key = DataKey::BettorAt(market_id, i); if let Some(addr) = env .storage() .persistent() - .get::(&DataKey::BettorAt(market_id, i)) + .get::(&slot_key) { + Self::bump_ttl(&env, &slot_key); result.push_back(addr); } } @@ -1086,10 +1136,19 @@ impl PredictionMarketContract { } pub fn get_payout(env: Env, market_id: u64, user: Address) -> i128 { - env.storage() + let payout_key = DataKey::Payout(market_id, user.clone()); + let payout = env + .storage() .persistent() - .get(&DataKey::Payout(market_id, user)) - .unwrap_or(0) + .get::(&payout_key) + .unwrap_or(0); + // Read-time TTL refresh (issue #9): a winner checking their payout keeps + // the payout entry alive for a later claim. Only present for winners, + // so bump only when the key exists. + if env.storage().persistent().has(&payout_key) { + Self::bump_ttl(&env, &payout_key); + } + payout } pub fn get_user_bet_count(env: Env, market_id: u64, user: Address) -> u32 { @@ -1118,6 +1177,22 @@ impl PredictionMarketContract { .ok_or(MarketError::MarketNotFound) } + /// Read-time TTL refresh for persistent entries that must stay alive while + /// they remain claimable (issue #9). Re-arms the key's expiry window so a + /// user who interacts before the current TTL lapses keeps their claimable + /// state (and any later claim/refund against it) recoverable. + /// + /// Callers MUST only invoke this on keys they have already confirmed to + /// exist: the host errors ("trying to extend invalid entry") when asked to + /// extend a deleted or never-written key, and an already-expired entry + /// cannot be resurrected by design (issue #9 documents this limitation). + #[inline] + fn bump_ttl(env: &Env, key: &DataKey) { + env.storage() + .persistent() + .extend_ttl(key, TTL_BUMP, TTL_HIGH); + } + // ── Interface versioning helpers (upgrade coordination) ────────────── // Reads `interface_version()` on the target contract and fails closed with // a typed error when the target does not expose the function diff --git a/prediction_market/src/tests.rs b/prediction_market/src/tests.rs index 1f61446..58574ec 100644 --- a/prediction_market/src/tests.rs +++ b/prediction_market/src/tests.rs @@ -1469,6 +1469,225 @@ fn test_cancel_refund_rebumps_ttl_entries() { assert!(ttl(&market_key) > market_before); } +// ── #9: resolution keeps claimable state alive together ─────────────────────── +// resolve_market rewrites the market, walks the bettor index, and creates +// Payout keys. All of those must stay alive so every winner can later claim: +// the index, the bet entries, the new payout keys, and the market itself. + +#[test] +fn test_resolve_extends_claimable_state_ttl() { + let t = setup(); + let id = create_test_market(&t); + let alice = Address::generate(&t.env); + let bob = Address::generate(&t.env); + fund_user(&t, &alice, 200_0000000); + fund_user(&t, &bob, 200_0000000); + + t.client.place_bet(&alice, &id, &true, &100_0000000_i128); + t.client.place_bet(&bob, &id, &true, &100_0000000_i128); + advance_time(&t.env, 3601); + // Deep into the TTL window — simulate a market that stayed open long after + // the bets were placed. + advance_ledgers(&t.env, 6_000_000); + + let market_contract = t.client.address.clone(); + let ttl = |key: &DataKey| -> u32 { + t.env.as_contract(&market_contract, || { + t.env.storage().persistent().get_ttl(key) + }) + }; + let bet_alice_key = DataKey::Bet(id, alice.clone()); + let bet_bob_key = DataKey::Bet(id, bob.clone()); + let slot0_key = DataKey::BettorAt(id, 0); + let slot1_key = DataKey::BettorAt(id, 1); + let cnt_key = DataKey::BettorCount(id); + + let before = [ + ttl(&bet_alice_key), + ttl(&bet_bob_key), + ttl(&slot0_key), + ttl(&slot1_key), + ttl(&cnt_key), + ]; + + t.client.resolve_market(&t.admin, &id, &true); + + // All pre-existing entries must be re-bumped, and the winner payout keys + // must be created with a fresh TTL — never expiring before their bet. + let after = [ + ttl(&bet_alice_key), + ttl(&bet_bob_key), + ttl(&slot0_key), + ttl(&slot1_key), + ttl(&cnt_key), + ttl(&DataKey::Payout(id, alice.clone())), + ttl(&DataKey::Payout(id, bob.clone())), + ]; + for (b, a) in before.iter().zip(after.iter()) { + assert!(a > b, "expected TTL bump from {b} to {a}"); + } + assert!(ttl(&DataKey::Payout(id, alice.clone())) > 0); + assert!(ttl(&DataKey::Payout(id, bob.clone())) > 0); +} + +// ── #9: claim extends the Payout key too (winner) ───────────────────────────── +// The payout key is the XLM source for a winner; a claim reading it must also +// keep it alive, so state for that winner (bet + market + payout) dies together +// only after it can no longer be needed. + +#[test] +fn test_claim_rebumps_payout_ttl() { + let t = setup(); + let id = create_test_market(&t); + let alice = Address::generate(&t.env); + let bob = Address::generate(&t.env); + fund_user(&t, &alice, 200_0000000); + fund_user(&t, &bob, 200_0000000); + + t.client.place_bet(&alice, &id, &true, &100_0000000_i128); + t.client.place_bet(&bob, &id, &false, &100_0000000_i128); + advance_time(&t.env, 3601); + t.client.resolve_market(&t.admin, &id, &true); + advance_ledgers(&t.env, 6_000_000); + + let market_contract = t.client.address.clone(); + let payout_key = DataKey::Payout(id, alice.clone()); + let ttl = |key: &DataKey| -> u32 { + t.env.as_contract(&market_contract, || { + t.env.storage().persistent().get_ttl(key) + }) + }; + let payout_before = ttl(&payout_key); + + t.client.claim(&alice, &id); + + assert!(ttl(&payout_key) > payout_before); +} + +// ── #9: read-path views keep claimable state alive ──────────────────────────── + +#[test] +fn test_get_bet_extends_ttl() { + let t = setup(); + let id = create_test_market(&t); + let user = Address::generate(&t.env); + fund_user(&t, &user, 200_0000000); + t.client.place_bet(&user, &id, &true, &100_0000000_i128); + advance_ledgers(&t.env, 6_000_000); + + let market_contract = t.client.address.clone(); + let bet_key = DataKey::Bet(id, user.clone()); + let ttl = |key: &DataKey| -> u32 { + t.env.as_contract(&market_contract, || { + t.env.storage().persistent().get_ttl(key) + }) + }; + let before = ttl(&bet_key); + t.client.get_bet(&id, &user); + assert!(ttl(&bet_key) > before); +} + +#[test] +fn test_get_market_extends_ttl() { + let t = setup(); + let id = create_test_market(&t); + advance_ledgers(&t.env, 6_000_000); + + let market_contract = t.client.address.clone(); + let market_key = DataKey::Market(id); + let ttl = |key: &DataKey| -> u32 { + t.env.as_contract(&market_contract, || { + t.env.storage().persistent().get_ttl(key) + }) + }; + let before = ttl(&market_key); + t.client.get_market(&id); + assert!(ttl(&market_key) > before); +} + +#[test] +fn test_get_payout_extends_ttl() { + let t = setup(); + let id = create_test_market(&t); + let user = Address::generate(&t.env); + fund_user(&t, &user, 200_0000000); + t.client.place_bet(&user, &id, &true, &100_0000000_i128); + advance_time(&t.env, 3601); + t.client.resolve_market(&t.admin, &id, &true); + advance_ledgers(&t.env, 6_000_000); + + let market_contract = t.client.address.clone(); + let payout_key = DataKey::Payout(id, user.clone()); + let ttl = |key: &DataKey| -> u32 { + t.env.as_contract(&market_contract, || { + t.env.storage().persistent().get_ttl(key) + }) + }; + let before = ttl(&payout_key); + // Single YES bettor: net 98M of a 98M pool → whole pool paid out. + assert_eq!(t.client.get_payout(&id, &user), 98_0000000); + assert!(ttl(&payout_key) > before); +} + +#[test] +fn test_get_market_bettors_page_extends_index_ttl() { + let t = setup(); + let id = create_test_market(&t); + let alice = Address::generate(&t.env); + let bob = Address::generate(&t.env); + fund_user(&t, &alice, 200_0000000); + fund_user(&t, &bob, 200_0000000); + t.client.place_bet(&alice, &id, &true, &100_0000000_i128); + t.client.place_bet(&bob, &id, &false, &100_0000000_i128); + advance_ledgers(&t.env, 6_000_000); + + let market_contract = t.client.address.clone(); + let ttl = |key: &DataKey| -> u32 { + t.env.as_contract(&market_contract, || { + t.env.storage().persistent().get_ttl(key) + }) + }; + let cnt_before = ttl(&DataKey::BettorCount(id)); + let slot0_before = ttl(&DataKey::BettorAt(id, 0)); + let slot1_before = ttl(&DataKey::BettorAt(id, 1)); + + let page = t.client.get_market_bettors_page(&id, &0, &100); + assert_eq!(page.len(), 2); + + assert!(ttl(&DataKey::BettorCount(id)) > cnt_before); + assert!(ttl(&DataKey::BettorAt(id, 0)) > slot0_before); + assert!(ttl(&DataKey::BettorAt(id, 1)) > slot1_before); +} + +// ── #9: genuinely missing state still returns not-found errors ──────────────── +// Read-time TTL refresh must never resurrect an entry that was never written +// (or one that has already expired). These assert the existing not-found +// semantics are untouched by the TTL re-bumping. + +#[test] +fn test_missing_state_preserves_not_found_semantics() { + let t = setup(); + let id = create_test_market(&t); + let stranger = Address::generate(&t.env); + + // No bet ever placed. + let bet = t.client.try_get_bet(&id, &stranger); + match bet { + Err(Ok(e)) => assert_eq!(e, MarketError::NoBetFound), + other => panic!("expected NoBetFound, got {other:?}"), + } + + // get_payout on a market that was never resolved → no key, 0. + assert_eq!(t.client.get_payout(&id, &stranger), 0); + + // claim on a market with no bet → NoBetFound (unchanged). + let claim = t.client.try_claim(&stranger, &id); + match claim { + Err(Ok(e)) => assert_eq!(e, MarketError::MarketNotResolved), + other => panic!("expected MarketNotResolved, got {other:?}"), + } +} + // ── Upgrade Coordination (cross-contract interface versioning) ──────────────── // Every cross-contract invoke is preceded by a require_interface_version() check // on the target. These tests prove each dependency fails closed (Incompatible diff --git a/prediction_market/test_snapshots/tests/test_bettor_index_legacy_read_is_bounded.1.json b/prediction_market/test_snapshots/tests/test_bettor_index_legacy_read_is_bounded.1.json index 86d21d1..0d0e7e2 100644 --- a/prediction_market/test_snapshots/tests/test_bettor_index_legacy_read_is_bounded.1.json +++ b/prediction_market/test_snapshots/tests/test_bettor_index_legacy_read_is_bounded.1.json @@ -929,7 +929,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 }, { "entry": { @@ -959,7 +959,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 }, { "entry": { @@ -986,7 +986,7 @@ }, "ext": "v0" }, - "live_until": 199 + "live_until": 6307300 }, { "entry": { diff --git a/prediction_market/test_snapshots/tests/test_claim_rebumps_payout_ttl.1.json b/prediction_market/test_snapshots/tests/test_claim_rebumps_payout_ttl.1.json new file mode 100644 index 0000000..7f6d657 --- /dev/null +++ b/prediction_market/test_snapshots/tests/test_claim_rebumps_payout_ttl.1.json @@ -0,0 +1,2275 @@ +{ + "generators": { + "address": 8, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [], + [ + [ + "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF", + { + "function": { + "contract_fn": { + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "function_name": "set_admin", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "string": "PULSE" + }, + { + "string": "PLSE" + }, + { + "u32": 7 + }, + { + "i128": "1000000000000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "set_token", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "create_market", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "string": "Will BTC hit 100k?" + }, + { + "string": "https://example.com/btc.png" + }, + { + "vec": [ + { + "symbol": "Crypto" + } + ] + }, + { + "u64": "3600" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "function_name": "mint", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + }, + { + "i128": "2000000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "function_name": "mint", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + }, + { + "i128": "2000000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "place_bet", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + }, + { + "u64": "1" + }, + { + "bool": true + }, + { + "i128": "1000000000" + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "i128": "1000000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "place_bet", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + }, + { + "u64": "1" + }, + { + "bool": false + }, + { + "i128": "1000000000" + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "i128": "1000000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "resolve_market", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "u64": "1" + }, + { + "bool": true + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "claim", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + }, + { + "u64": "1" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [] + ], + "ledger": { + "protocol_version": 26, + "sequence_number": 6000101, + "timestamp": 1003602, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 10, + "min_persistent_entry_ttl": 100, + "min_temp_entry_ttl": 100, + "max_entry_ttl": 10000000, + "ledger_entries": [ + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "account": { + "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF", + "balance": "0", + "seq_num": "0", + "num_sub_entries": 0, + "inflation_dest": null, + "flags": 0, + "home_domain": "", + "thresholds": "01010101", + "signers": [], + "ext": "v0" + } + }, + "ext": "v0" + }, + "live_until": null + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "115220454072064130" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1033654523790656264" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1194852393571756375" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "2032731177588607455" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "3126073502131104533" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4270020994084947596" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4837995959683129791" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "5541220902715666415" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "5806905060045992000" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "6277191135259896685" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "7270604957039011794" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000100 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "8370022561469687789" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 6000200 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "durability": "persistent", + "val": { + "i128": "100000000" + } + } + }, + "ext": "v0" + }, + "live_until": 6000200 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Decimals" + } + ] + }, + "val": { + "u32": 7 + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Name" + } + ] + }, + "val": { + "string": "PULSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Symbol" + } + ] + }, + "val": { + "string": "PLSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TotalSupply" + } + ] + }, + "val": { + "i128": "100000000" + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 6000200 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "Stats" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "lost_bets" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "points" + }, + "val": { + "u64": "30" + } + }, + { + "key": { + "symbol": "total_bets" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "won_bets" + }, + "val": { + "u32": 1 + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 12307301 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "TopPlayerAt" + }, + { + "u32": 0 + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + }, + { + "key": { + "symbol": "points" + }, + "val": { + "u64": "30" + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 12307301 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "vec": [ + { + "symbol": "TopPlayerSlot" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "durability": "persistent", + "val": { + "u32": 0 + } + } + }, + "ext": "v0" + }, + "live_until": 6000200 + }, + { + "entry": { + "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": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "MarketContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "vec": [ + { + "symbol": "ReferralContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TokenContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TopPlayerCount" + } + ] + }, + "val": { + "u32": 1 + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 12307301 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "LeaderboardContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MarketContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TokenContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "vec": [ + { + "symbol": "XlmSacContract" + } + ] + }, + "val": { + "address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL" + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "Bet" + }, + { + "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "claimed" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "count" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "gross" + }, + "val": { + "i128": "1000000000" + } + }, + { + "key": { + "symbol": "is_yes" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "net" + }, + "val": { + "i128": "980000000" + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 12307301 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "Bet" + }, + { + "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "claimed" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "count" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "gross" + }, + "val": { + "i128": "1000000000" + } + }, + { + "key": { + "symbol": "is_yes" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "net" + }, + "val": { + "i128": "980000000" + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "BettorAt" + }, + { + "u64": "1" + }, + { + "u32": 0 + } + ] + }, + "durability": "persistent", + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "BettorAt" + }, + { + "u64": "1" + }, + { + "u32": 1 + } + ] + }, + "durability": "persistent", + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "BettorCount" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent", + "val": { + "u32": 2 + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "HasReferrer" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "durability": "persistent", + "val": { + "bool": false + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "HasReferrer" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + } + ] + }, + "durability": "persistent", + "val": { + "bool": false + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "Market" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "bet_count" + }, + "val": { + "u32": 2 + } + }, + { + "key": { + "symbol": "cancelled" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "category" + }, + "val": { + "vec": [ + { + "symbol": "Crypto" + } + ] + } + }, + { + "key": { + "symbol": "creator" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "end_time" + }, + "val": { + "u64": "1003600" + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "image_url" + }, + "val": { + "string": "https://example.com/btc.png" + } + }, + { + "key": { + "symbol": "outcome" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "question" + }, + "val": { + "string": "Will BTC hit 100k?" + } + }, + { + "key": { + "symbol": "resolved" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "total_no" + }, + "val": { + "i128": "980000000" + } + }, + { + "key": { + "symbol": "total_yes" + }, + "val": { + "i128": "980000000" + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 12307301 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "Payout" + }, + { + "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "durability": "persistent", + "val": { + "i128": "1960000000" + } + } + }, + "ext": "v0" + }, + "live_until": 12307301 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "AccumulatedFees" + } + ] + }, + "val": { + "i128": "40000000" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Cfg" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "leaderboard" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "referral" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "token" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "symbol": "xlm_sac" + }, + "val": { + "address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL" + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "MarketCount" + } + ] + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "vec": [ + { + "symbol": "RateWindow" + } + ] + }, + "val": { + "vec": [ + { + "u64": "1000000" + }, + { + "u32": 1 + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 6000200 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + "key": { + "ledger_key_nonce": { + "nonce": "1301173170172112462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + "key": { + "ledger_key_nonce": { + "nonce": "2781962168096793370" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 16000100 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5", + "key": { + "ledger_key_nonce": { + "nonce": "6517132746326325848" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "0" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 518500 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "40000000" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 6518501 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "2960000000" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 6518501 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "1000000000" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 518500 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "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:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF" + } + }, + { + "key": { + "symbol": "symbol" + }, + "val": { + "string": "aaa" + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "AssetInfo" + } + ] + }, + "val": { + "vec": [ + { + "symbol": "AlphaNum4" + }, + { + "map": [ + { + "key": { + "symbol": "asset_code" + }, + "val": { + "string": "aaa\\0" + } + }, + { + "key": { + "symbol": "issuer" + }, + "val": { + "bytes": "0000000000000000000000000000000000000000000000000000000000000002" + } + } + ] + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 6121061 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + "live_until": 12307301 + } + ] + }, + "events": [] +} \ No newline at end of file diff --git a/prediction_market/test_snapshots/tests/test_claim_rebumps_ttl_entries.1.json b/prediction_market/test_snapshots/tests/test_claim_rebumps_ttl_entries.1.json index e7d3369..dac0d1c 100644 --- a/prediction_market/test_snapshots/tests/test_claim_rebumps_ttl_entries.1.json +++ b/prediction_market/test_snapshots/tests/test_claim_rebumps_ttl_entries.1.json @@ -1529,7 +1529,7 @@ }, "ext": "v0" }, - "live_until": 6307301 + "live_until": 12307301 }, { "entry": { diff --git a/prediction_market/test_snapshots/tests/test_get_bet_extends_ttl.1.json b/prediction_market/test_snapshots/tests/test_get_bet_extends_ttl.1.json new file mode 100644 index 0000000..0f0b8d1 --- /dev/null +++ b/prediction_market/test_snapshots/tests/test_get_bet_extends_ttl.1.json @@ -0,0 +1,1710 @@ +{ + "generators": { + "address": 7, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [], + [ + [ + "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF", + { + "function": { + "contract_fn": { + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "function_name": "set_admin", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "string": "PULSE" + }, + { + "string": "PLSE" + }, + { + "u32": 7 + }, + { + "i128": "1000000000000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "set_token", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "create_market", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "string": "Will BTC hit 100k?" + }, + { + "string": "https://example.com/btc.png" + }, + { + "vec": [ + { + "symbol": "Crypto" + } + ] + }, + { + "u64": "3600" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "function_name": "mint", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + }, + { + "i128": "2000000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "place_bet", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + }, + { + "u64": "1" + }, + { + "bool": true + }, + { + "i128": "1000000000" + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "i128": "1000000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [], + [], + [] + ], + "ledger": { + "protocol_version": 26, + "sequence_number": 6000100, + "timestamp": 1000001, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 10, + "min_persistent_entry_ttl": 100, + "min_temp_entry_ttl": 100, + "max_entry_ttl": 10000000, + "ledger_entries": [ + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "account": { + "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF", + "balance": "0", + "seq_num": "0", + "num_sub_entries": 0, + "inflation_dest": null, + "flags": 0, + "home_domain": "", + "thresholds": "01010101", + "signers": [], + "ext": "v0" + } + }, + "ext": "v0" + }, + "live_until": null + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "115220454072064130" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1033654523790656264" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1194852393571756375" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "2032731177588607455" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4270020994084947596" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4837995959683129791" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "5541220902715666415" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "5806905060045992000" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "6277191135259896685" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "8370022561469687789" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Decimals" + } + ] + }, + "val": { + "u32": 7 + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Name" + } + ] + }, + "val": { + "string": "PULSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Symbol" + } + ] + }, + "val": { + "string": "PLSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TotalSupply" + } + ] + }, + "val": { + "i128": "0" + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "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": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "MarketContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "vec": [ + { + "symbol": "ReferralContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TokenContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TopPlayerCount" + } + ] + }, + "val": { + "u32": 0 + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "LeaderboardContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MarketContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TokenContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "vec": [ + { + "symbol": "XlmSacContract" + } + ] + }, + "val": { + "address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL" + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "Bet" + }, + { + "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "claimed" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "count" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "gross" + }, + "val": { + "i128": "1000000000" + } + }, + { + "key": { + "symbol": "is_yes" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "net" + }, + "val": { + "i128": "980000000" + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 12307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "BettorAt" + }, + { + "u64": "1" + }, + { + "u32": 0 + } + ] + }, + "durability": "persistent", + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "BettorCount" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent", + "val": { + "u32": 1 + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "HasReferrer" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "durability": "persistent", + "val": { + "bool": false + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "Market" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "bet_count" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "cancelled" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "category" + }, + "val": { + "vec": [ + { + "symbol": "Crypto" + } + ] + } + }, + { + "key": { + "symbol": "creator" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "end_time" + }, + "val": { + "u64": "1003600" + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "image_url" + }, + "val": { + "string": "https://example.com/btc.png" + } + }, + { + "key": { + "symbol": "outcome" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "question" + }, + "val": { + "string": "Will BTC hit 100k?" + } + }, + { + "key": { + "symbol": "resolved" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "total_no" + }, + "val": { + "i128": "0" + } + }, + { + "key": { + "symbol": "total_yes" + }, + "val": { + "i128": "980000000" + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "AccumulatedFees" + } + ] + }, + "val": { + "i128": "20000000" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Cfg" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "leaderboard" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "referral" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "token" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "symbol": "xlm_sac" + }, + "val": { + "address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL" + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "MarketCount" + } + ] + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "vec": [ + { + "symbol": "RateWindow" + } + ] + }, + "val": { + "vec": [ + { + "u64": "1000000" + }, + { + "u32": 1 + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 6000199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + "key": { + "ledger_key_nonce": { + "nonce": "3126073502131104533" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "0" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 518500 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "1000000000" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 518500 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "1000000000" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 518500 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "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:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF" + } + }, + { + "key": { + "symbol": "symbol" + }, + "val": { + "string": "aaa" + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "AssetInfo" + } + ] + }, + "val": { + "vec": [ + { + "symbol": "AlphaNum4" + }, + { + "map": [ + { + "key": { + "symbol": "asset_code" + }, + "val": { + "string": "aaa\\0" + } + }, + { + "key": { + "symbol": "issuer" + }, + "val": { + "bytes": "0000000000000000000000000000000000000000000000000000000000000002" + } + } + ] + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 121060 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + "live_until": 6307300 + } + ] + }, + "events": [] +} \ No newline at end of file diff --git a/prediction_market/test_snapshots/tests/test_get_market_bettors_page_extends_index_ttl.1.json b/prediction_market/test_snapshots/tests/test_get_market_bettors_page_extends_index_ttl.1.json new file mode 100644 index 0000000..8745234 --- /dev/null +++ b/prediction_market/test_snapshots/tests/test_get_market_bettors_page_extends_index_ttl.1.json @@ -0,0 +1,2005 @@ +{ + "generators": { + "address": 8, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [], + [ + [ + "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF", + { + "function": { + "contract_fn": { + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "function_name": "set_admin", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "string": "PULSE" + }, + { + "string": "PLSE" + }, + { + "u32": 7 + }, + { + "i128": "1000000000000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "set_token", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "create_market", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "string": "Will BTC hit 100k?" + }, + { + "string": "https://example.com/btc.png" + }, + { + "vec": [ + { + "symbol": "Crypto" + } + ] + }, + { + "u64": "3600" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "function_name": "mint", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + }, + { + "i128": "2000000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "function_name": "mint", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + }, + { + "i128": "2000000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "place_bet", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + }, + { + "u64": "1" + }, + { + "bool": true + }, + { + "i128": "1000000000" + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "i128": "1000000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "place_bet", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + }, + { + "u64": "1" + }, + { + "bool": false + }, + { + "i128": "1000000000" + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "i128": "1000000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [], + [], + [], + [], + [], + [], + [] + ], + "ledger": { + "protocol_version": 26, + "sequence_number": 6000100, + "timestamp": 1000001, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 10, + "min_persistent_entry_ttl": 100, + "min_temp_entry_ttl": 100, + "max_entry_ttl": 10000000, + "ledger_entries": [ + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "account": { + "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF", + "balance": "0", + "seq_num": "0", + "num_sub_entries": 0, + "inflation_dest": null, + "flags": 0, + "home_domain": "", + "thresholds": "01010101", + "signers": [], + "ext": "v0" + } + }, + "ext": "v0" + }, + "live_until": null + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "115220454072064130" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1033654523790656264" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1194852393571756375" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "2032731177588607455" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "3126073502131104533" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4270020994084947596" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4837995959683129791" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "5541220902715666415" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "5806905060045992000" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "6277191135259896685" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "8370022561469687789" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Decimals" + } + ] + }, + "val": { + "u32": 7 + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Name" + } + ] + }, + "val": { + "string": "PULSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Symbol" + } + ] + }, + "val": { + "string": "PLSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TotalSupply" + } + ] + }, + "val": { + "i128": "0" + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "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": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "MarketContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "vec": [ + { + "symbol": "ReferralContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TokenContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TopPlayerCount" + } + ] + }, + "val": { + "u32": 0 + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "LeaderboardContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MarketContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TokenContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "vec": [ + { + "symbol": "XlmSacContract" + } + ] + }, + "val": { + "address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL" + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "Bet" + }, + { + "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "claimed" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "count" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "gross" + }, + "val": { + "i128": "1000000000" + } + }, + { + "key": { + "symbol": "is_yes" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "net" + }, + "val": { + "i128": "980000000" + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "Bet" + }, + { + "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "claimed" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "count" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "gross" + }, + "val": { + "i128": "1000000000" + } + }, + { + "key": { + "symbol": "is_yes" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "net" + }, + "val": { + "i128": "980000000" + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "BettorAt" + }, + { + "u64": "1" + }, + { + "u32": 0 + } + ] + }, + "durability": "persistent", + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + } + }, + "ext": "v0" + }, + "live_until": 12307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "BettorAt" + }, + { + "u64": "1" + }, + { + "u32": 1 + } + ] + }, + "durability": "persistent", + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + } + } + }, + "ext": "v0" + }, + "live_until": 12307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "BettorCount" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent", + "val": { + "u32": 2 + } + } + }, + "ext": "v0" + }, + "live_until": 12307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "HasReferrer" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "durability": "persistent", + "val": { + "bool": false + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "HasReferrer" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + } + ] + }, + "durability": "persistent", + "val": { + "bool": false + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "Market" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "bet_count" + }, + "val": { + "u32": 2 + } + }, + { + "key": { + "symbol": "cancelled" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "category" + }, + "val": { + "vec": [ + { + "symbol": "Crypto" + } + ] + } + }, + { + "key": { + "symbol": "creator" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "end_time" + }, + "val": { + "u64": "1003600" + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "image_url" + }, + "val": { + "string": "https://example.com/btc.png" + } + }, + { + "key": { + "symbol": "outcome" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "question" + }, + "val": { + "string": "Will BTC hit 100k?" + } + }, + { + "key": { + "symbol": "resolved" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "total_no" + }, + "val": { + "i128": "980000000" + } + }, + { + "key": { + "symbol": "total_yes" + }, + "val": { + "i128": "980000000" + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "AccumulatedFees" + } + ] + }, + "val": { + "i128": "40000000" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Cfg" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "leaderboard" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "referral" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "token" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "symbol": "xlm_sac" + }, + "val": { + "address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL" + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "MarketCount" + } + ] + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "vec": [ + { + "symbol": "RateWindow" + } + ] + }, + "val": { + "vec": [ + { + "u64": "1000000" + }, + { + "u32": 1 + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 6000199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + "key": { + "ledger_key_nonce": { + "nonce": "1301173170172112462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5", + "key": { + "ledger_key_nonce": { + "nonce": "6517132746326325848" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "0" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 518500 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "2000000000" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 518500 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "1000000000" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 518500 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "1000000000" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 518500 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "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:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF" + } + }, + { + "key": { + "symbol": "symbol" + }, + "val": { + "string": "aaa" + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "AssetInfo" + } + ] + }, + "val": { + "vec": [ + { + "symbol": "AlphaNum4" + }, + { + "map": [ + { + "key": { + "symbol": "asset_code" + }, + "val": { + "string": "aaa\\0" + } + }, + { + "key": { + "symbol": "issuer" + }, + "val": { + "bytes": "0000000000000000000000000000000000000000000000000000000000000002" + } + } + ] + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 121060 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + "live_until": 6307300 + } + ] + }, + "events": [] +} \ No newline at end of file diff --git a/prediction_market/test_snapshots/tests/test_get_market_extends_ttl.1.json b/prediction_market/test_snapshots/tests/test_get_market_extends_ttl.1.json new file mode 100644 index 0000000..ae683a2 --- /dev/null +++ b/prediction_market/test_snapshots/tests/test_get_market_extends_ttl.1.json @@ -0,0 +1,1288 @@ +{ + "generators": { + "address": 6, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [], + [ + [ + "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF", + { + "function": { + "contract_fn": { + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "function_name": "set_admin", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "string": "PULSE" + }, + { + "string": "PLSE" + }, + { + "u32": 7 + }, + { + "i128": "1000000000000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "set_token", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "create_market", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "string": "Will BTC hit 100k?" + }, + { + "string": "https://example.com/btc.png" + }, + { + "vec": [ + { + "symbol": "Crypto" + } + ] + }, + { + "u64": "3600" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [] + ], + "ledger": { + "protocol_version": 26, + "sequence_number": 6000100, + "timestamp": 1000001, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 10, + "min_persistent_entry_ttl": 100, + "min_temp_entry_ttl": 100, + "max_entry_ttl": 10000000, + "ledger_entries": [ + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "account": { + "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF", + "balance": "0", + "seq_num": "0", + "num_sub_entries": 0, + "inflation_dest": null, + "flags": 0, + "home_domain": "", + "thresholds": "01010101", + "signers": [], + "ext": "v0" + } + }, + "ext": "v0" + }, + "live_until": null + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1033654523790656264" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1194852393571756375" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "2032731177588607455" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4270020994084947596" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4837995959683129791" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "5541220902715666415" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "5806905060045992000" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "6277191135259896685" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "8370022561469687789" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Decimals" + } + ] + }, + "val": { + "u32": 7 + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Name" + } + ] + }, + "val": { + "string": "PULSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Symbol" + } + ] + }, + "val": { + "string": "PLSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TotalSupply" + } + ] + }, + "val": { + "i128": "0" + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "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": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "MarketContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "vec": [ + { + "symbol": "ReferralContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TokenContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TopPlayerCount" + } + ] + }, + "val": { + "u32": 0 + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "LeaderboardContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MarketContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TokenContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "vec": [ + { + "symbol": "XlmSacContract" + } + ] + }, + "val": { + "address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL" + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "Market" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "bet_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "cancelled" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "category" + }, + "val": { + "vec": [ + { + "symbol": "Crypto" + } + ] + } + }, + { + "key": { + "symbol": "creator" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "end_time" + }, + "val": { + "u64": "1003600" + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "image_url" + }, + "val": { + "string": "https://example.com/btc.png" + } + }, + { + "key": { + "symbol": "outcome" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "question" + }, + "val": { + "string": "Will BTC hit 100k?" + } + }, + { + "key": { + "symbol": "resolved" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "total_no" + }, + "val": { + "i128": "0" + } + }, + { + "key": { + "symbol": "total_yes" + }, + "val": { + "i128": "0" + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 12307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "AccumulatedFees" + } + ] + }, + "val": { + "i128": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Cfg" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "leaderboard" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "referral" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "token" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "symbol": "xlm_sac" + }, + "val": { + "address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL" + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "MarketCount" + } + ] + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "vec": [ + { + "symbol": "RateWindow" + } + ] + }, + "val": { + "vec": [ + { + "u64": "1000000" + }, + { + "u32": 1 + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 6000199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "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:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF" + } + }, + { + "key": { + "symbol": "symbol" + }, + "val": { + "string": "aaa" + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "AssetInfo" + } + ] + }, + "val": { + "vec": [ + { + "symbol": "AlphaNum4" + }, + { + "map": [ + { + "key": { + "symbol": "asset_code" + }, + "val": { + "string": "aaa\\0" + } + }, + { + "key": { + "symbol": "issuer" + }, + "val": { + "bytes": "0000000000000000000000000000000000000000000000000000000000000002" + } + } + ] + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 121060 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + "live_until": 6307300 + } + ] + }, + "events": [] +} \ No newline at end of file diff --git a/prediction_market/test_snapshots/tests/test_get_payout_extends_ttl.1.json b/prediction_market/test_snapshots/tests/test_get_payout_extends_ttl.1.json new file mode 100644 index 0000000..9b488ff --- /dev/null +++ b/prediction_market/test_snapshots/tests/test_get_payout_extends_ttl.1.json @@ -0,0 +1,1785 @@ +{ + "generators": { + "address": 7, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [], + [ + [ + "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF", + { + "function": { + "contract_fn": { + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "function_name": "set_admin", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "string": "PULSE" + }, + { + "string": "PLSE" + }, + { + "u32": 7 + }, + { + "i128": "1000000000000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "set_token", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "create_market", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "string": "Will BTC hit 100k?" + }, + { + "string": "https://example.com/btc.png" + }, + { + "vec": [ + { + "symbol": "Crypto" + } + ] + }, + { + "u64": "3600" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "function_name": "mint", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + }, + { + "i128": "2000000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "place_bet", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + }, + { + "u64": "1" + }, + { + "bool": true + }, + { + "i128": "1000000000" + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "i128": "1000000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "resolve_market", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "u64": "1" + }, + { + "bool": true + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [] + ], + "ledger": { + "protocol_version": 26, + "sequence_number": 6000101, + "timestamp": 1003602, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 10, + "min_persistent_entry_ttl": 100, + "min_temp_entry_ttl": 100, + "max_entry_ttl": 10000000, + "ledger_entries": [ + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "account": { + "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF", + "balance": "0", + "seq_num": "0", + "num_sub_entries": 0, + "inflation_dest": null, + "flags": 0, + "home_domain": "", + "thresholds": "01010101", + "signers": [], + "ext": "v0" + } + }, + "ext": "v0" + }, + "live_until": null + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "115220454072064130" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1033654523790656264" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1194852393571756375" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1301173170172112462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000100 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "2032731177588607455" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4270020994084947596" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4837995959683129791" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "5541220902715666415" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "5806905060045992000" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "6277191135259896685" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "8370022561469687789" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Decimals" + } + ] + }, + "val": { + "u32": 7 + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Name" + } + ] + }, + "val": { + "string": "PULSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Symbol" + } + ] + }, + "val": { + "string": "PLSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TotalSupply" + } + ] + }, + "val": { + "i128": "0" + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "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": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "MarketContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "vec": [ + { + "symbol": "ReferralContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TokenContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TopPlayerCount" + } + ] + }, + "val": { + "u32": 0 + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "LeaderboardContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MarketContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TokenContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "vec": [ + { + "symbol": "XlmSacContract" + } + ] + }, + "val": { + "address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL" + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "Bet" + }, + { + "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "claimed" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "count" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "gross" + }, + "val": { + "i128": "1000000000" + } + }, + { + "key": { + "symbol": "is_yes" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "net" + }, + "val": { + "i128": "980000000" + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "BettorAt" + }, + { + "u64": "1" + }, + { + "u32": 0 + } + ] + }, + "durability": "persistent", + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "BettorCount" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent", + "val": { + "u32": 1 + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "HasReferrer" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "durability": "persistent", + "val": { + "bool": false + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "Market" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "bet_count" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "cancelled" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "category" + }, + "val": { + "vec": [ + { + "symbol": "Crypto" + } + ] + } + }, + { + "key": { + "symbol": "creator" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "end_time" + }, + "val": { + "u64": "1003600" + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "image_url" + }, + "val": { + "string": "https://example.com/btc.png" + } + }, + { + "key": { + "symbol": "outcome" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "question" + }, + "val": { + "string": "Will BTC hit 100k?" + } + }, + { + "key": { + "symbol": "resolved" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "total_no" + }, + "val": { + "i128": "0" + } + }, + { + "key": { + "symbol": "total_yes" + }, + "val": { + "i128": "980000000" + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "Payout" + }, + { + "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "durability": "persistent", + "val": { + "i128": "980000000" + } + } + }, + "ext": "v0" + }, + "live_until": 12307301 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "AccumulatedFees" + } + ] + }, + "val": { + "i128": "20000000" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Cfg" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "leaderboard" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "referral" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "token" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "symbol": "xlm_sac" + }, + "val": { + "address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL" + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "MarketCount" + } + ] + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "vec": [ + { + "symbol": "RateWindow" + } + ] + }, + "val": { + "vec": [ + { + "u64": "1000000" + }, + { + "u32": 1 + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 6000200 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + "key": { + "ledger_key_nonce": { + "nonce": "3126073502131104533" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "0" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 518500 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "1000000000" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 518500 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "1000000000" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 518500 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "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:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF" + } + }, + { + "key": { + "symbol": "symbol" + }, + "val": { + "string": "aaa" + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "AssetInfo" + } + ] + }, + "val": { + "vec": [ + { + "symbol": "AlphaNum4" + }, + { + "map": [ + { + "key": { + "symbol": "asset_code" + }, + "val": { + "string": "aaa\\0" + } + }, + { + "key": { + "symbol": "issuer" + }, + "val": { + "bytes": "0000000000000000000000000000000000000000000000000000000000000002" + } + } + ] + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 121060 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + "live_until": 6307300 + } + ] + }, + "events": [] +} \ No newline at end of file diff --git a/prediction_market/test_snapshots/tests/test_missing_state_preserves_not_found_semantics.1.json b/prediction_market/test_snapshots/tests/test_missing_state_preserves_not_found_semantics.1.json new file mode 100644 index 0000000..f09c3e2 --- /dev/null +++ b/prediction_market/test_snapshots/tests/test_missing_state_preserves_not_found_semantics.1.json @@ -0,0 +1,1288 @@ +{ + "generators": { + "address": 7, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [], + [ + [ + "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF", + { + "function": { + "contract_fn": { + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "function_name": "set_admin", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "string": "PULSE" + }, + { + "string": "PLSE" + }, + { + "u32": 7 + }, + { + "i128": "1000000000000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "set_token", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "create_market", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "string": "Will BTC hit 100k?" + }, + { + "string": "https://example.com/btc.png" + }, + { + "vec": [ + { + "symbol": "Crypto" + } + ] + }, + { + "u64": "3600" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [] + ], + "ledger": { + "protocol_version": 26, + "sequence_number": 100, + "timestamp": 1000000, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 10, + "min_persistent_entry_ttl": 100, + "min_temp_entry_ttl": 100, + "max_entry_ttl": 10000000, + "ledger_entries": [ + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "account": { + "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF", + "balance": "0", + "seq_num": "0", + "num_sub_entries": 0, + "inflation_dest": null, + "flags": 0, + "home_domain": "", + "thresholds": "01010101", + "signers": [], + "ext": "v0" + } + }, + "ext": "v0" + }, + "live_until": null + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1033654523790656264" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1194852393571756375" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "2032731177588607455" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4270020994084947596" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4837995959683129791" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "5541220902715666415" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "5806905060045992000" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "6277191135259896685" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "8370022561469687789" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Decimals" + } + ] + }, + "val": { + "u32": 7 + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Name" + } + ] + }, + "val": { + "string": "PULSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Symbol" + } + ] + }, + "val": { + "string": "PLSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TotalSupply" + } + ] + }, + "val": { + "i128": "0" + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "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": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "MarketContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "vec": [ + { + "symbol": "ReferralContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TokenContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TopPlayerCount" + } + ] + }, + "val": { + "u32": 0 + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "LeaderboardContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MarketContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TokenContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "vec": [ + { + "symbol": "XlmSacContract" + } + ] + }, + "val": { + "address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL" + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "Market" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "bet_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "cancelled" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "category" + }, + "val": { + "vec": [ + { + "symbol": "Crypto" + } + ] + } + }, + { + "key": { + "symbol": "creator" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "end_time" + }, + "val": { + "u64": "1003600" + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "image_url" + }, + "val": { + "string": "https://example.com/btc.png" + } + }, + { + "key": { + "symbol": "outcome" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "question" + }, + "val": { + "string": "Will BTC hit 100k?" + } + }, + { + "key": { + "symbol": "resolved" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "total_no" + }, + "val": { + "i128": "0" + } + }, + { + "key": { + "symbol": "total_yes" + }, + "val": { + "i128": "0" + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "AccumulatedFees" + } + ] + }, + "val": { + "i128": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Cfg" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "leaderboard" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "referral" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "token" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "symbol": "xlm_sac" + }, + "val": { + "address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL" + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "MarketCount" + } + ] + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "vec": [ + { + "symbol": "RateWindow" + } + ] + }, + "val": { + "vec": [ + { + "u64": "1000000" + }, + { + "u32": 1 + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "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:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF" + } + }, + { + "key": { + "symbol": "symbol" + }, + "val": { + "string": "aaa" + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "AssetInfo" + } + ] + }, + "val": { + "vec": [ + { + "symbol": "AlphaNum4" + }, + { + "map": [ + { + "key": { + "symbol": "asset_code" + }, + "val": { + "string": "aaa\\0" + } + }, + { + "key": { + "symbol": "issuer" + }, + "val": { + "bytes": "0000000000000000000000000000000000000000000000000000000000000002" + } + } + ] + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 121060 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + "live_until": 6307300 + } + ] + }, + "events": [] +} \ No newline at end of file diff --git a/prediction_market/test_snapshots/tests/test_resolve_extends_claimable_state_ttl.1.json b/prediction_market/test_snapshots/tests/test_resolve_extends_claimable_state_ttl.1.json new file mode 100644 index 0000000..81b072a --- /dev/null +++ b/prediction_market/test_snapshots/tests/test_resolve_extends_claimable_state_ttl.1.json @@ -0,0 +1,2117 @@ +{ + "generators": { + "address": 8, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [], + [ + [ + "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF", + { + "function": { + "contract_fn": { + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "function_name": "set_admin", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "string": "PULSE" + }, + { + "string": "PLSE" + }, + { + "u32": 7 + }, + { + "i128": "1000000000000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "function_name": "initialize", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "set_token", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "function_name": "set_minter", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "create_market", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "string": "Will BTC hit 100k?" + }, + { + "string": "https://example.com/btc.png" + }, + { + "vec": [ + { + "symbol": "Crypto" + } + ] + }, + { + "u64": "3600" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "function_name": "mint", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + }, + { + "i128": "2000000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "function_name": "mint", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + }, + { + "i128": "2000000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "place_bet", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + }, + { + "u64": "1" + }, + { + "bool": true + }, + { + "i128": "1000000000" + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "i128": "1000000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "place_bet", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + }, + { + "u64": "1" + }, + { + "bool": true + }, + { + "i128": "1000000000" + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "i128": "1000000000" + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [], + [], + [], + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "function_name": "resolve_market", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "u64": "1" + }, + { + "bool": true + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [], + [], + [], + [], + [], + [], + [] + ], + "ledger": { + "protocol_version": 26, + "sequence_number": 6000101, + "timestamp": 1003602, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 10, + "min_persistent_entry_ttl": 100, + "min_temp_entry_ttl": 100, + "max_entry_ttl": 10000000, + "ledger_entries": [ + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "account": { + "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF", + "balance": "0", + "seq_num": "0", + "num_sub_entries": 0, + "inflation_dest": null, + "flags": 0, + "home_domain": "", + "thresholds": "01010101", + "signers": [], + "ext": "v0" + } + }, + "ext": "v0" + }, + "live_until": null + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "115220454072064130" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1033654523790656264" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "1194852393571756375" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "2032731177588607455" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "3126073502131104533" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4270020994084947596" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "4837995959683129791" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "5541220902715666415" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "5806905060045992000" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "6277191135259896685" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "7270604957039011794" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 16000100 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "8370022561469687789" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "AuthorizedMinter" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Decimals" + } + ] + }, + "val": { + "u32": 7 + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "MaxSupply" + } + ] + }, + "val": { + "i128": "1000000000000000" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Name" + } + ] + }, + "val": { + "string": "PULSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Symbol" + } + ] + }, + "val": { + "string": "PLSE" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TotalSupply" + } + ] + }, + "val": { + "i128": "0" + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "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": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "MarketContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "vec": [ + { + "symbol": "ReferralContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TokenContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TopPlayerCount" + } + ] + }, + "val": { + "u32": 0 + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "LeaderboardContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MarketContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TokenContract" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "vec": [ + { + "symbol": "XlmSacContract" + } + ] + }, + "val": { + "address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL" + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 199 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "Bet" + }, + { + "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "claimed" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "count" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "gross" + }, + "val": { + "i128": "1000000000" + } + }, + { + "key": { + "symbol": "is_yes" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "net" + }, + "val": { + "i128": "980000000" + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 12307301 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "Bet" + }, + { + "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "claimed" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "count" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "gross" + }, + "val": { + "i128": "1000000000" + } + }, + { + "key": { + "symbol": "is_yes" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "net" + }, + "val": { + "i128": "980000000" + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 12307301 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "BettorAt" + }, + { + "u64": "1" + }, + { + "u32": 0 + } + ] + }, + "durability": "persistent", + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + } + }, + "ext": "v0" + }, + "live_until": 12307301 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "BettorAt" + }, + { + "u64": "1" + }, + { + "u32": 1 + } + ] + }, + "durability": "persistent", + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + } + } + }, + "ext": "v0" + }, + "live_until": 12307301 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "BettorCount" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent", + "val": { + "u32": 2 + } + } + }, + "ext": "v0" + }, + "live_until": 12307301 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "HasReferrer" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "durability": "persistent", + "val": { + "bool": false + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "HasReferrer" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + } + ] + }, + "durability": "persistent", + "val": { + "bool": false + } + } + }, + "ext": "v0" + }, + "live_until": 6307300 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "Market" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "bet_count" + }, + "val": { + "u32": 2 + } + }, + { + "key": { + "symbol": "cancelled" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "category" + }, + "val": { + "vec": [ + { + "symbol": "Crypto" + } + ] + } + }, + { + "key": { + "symbol": "creator" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "end_time" + }, + "val": { + "u64": "1003600" + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "image_url" + }, + "val": { + "string": "https://example.com/btc.png" + } + }, + { + "key": { + "symbol": "outcome" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "question" + }, + "val": { + "string": "Will BTC hit 100k?" + } + }, + { + "key": { + "symbol": "resolved" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "total_no" + }, + "val": { + "i128": "0" + } + }, + { + "key": { + "symbol": "total_yes" + }, + "val": { + "i128": "1960000000" + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 12307301 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "Payout" + }, + { + "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "durability": "persistent", + "val": { + "i128": "980000000" + } + } + }, + "ext": "v0" + }, + "live_until": 12307301 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "vec": [ + { + "symbol": "Payout" + }, + { + "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + } + ] + }, + "durability": "persistent", + "val": { + "i128": "980000000" + } + } + }, + "ext": "v0" + }, + "live_until": 12307301 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "AccumulatedFees" + } + ] + }, + "val": { + "i128": "40000000" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Cfg" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "leaderboard" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "referral" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "token" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "symbol": "xlm_sac" + }, + "val": { + "address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL" + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "InterfaceVersion" + } + ] + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "MarketCount" + } + ] + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "vec": [ + { + "symbol": "RateWindow" + } + ] + }, + "val": { + "vec": [ + { + "u64": "1000000" + }, + { + "u32": 1 + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 6000200 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + "key": { + "ledger_key_nonce": { + "nonce": "1301173170172112462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5", + "key": { + "ledger_key_nonce": { + "nonce": "6517132746326325848" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000099 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "0" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 518500 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "2000000000" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 518500 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "1000000000" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 518500 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": "1000000000" + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 518500 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "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:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGWF" + } + }, + { + "key": { + "symbol": "symbol" + }, + "val": { + "string": "aaa" + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "AssetInfo" + } + ] + }, + "val": { + "vec": [ + { + "symbol": "AlphaNum4" + }, + { + "map": [ + { + "key": { + "symbol": "asset_code" + }, + "val": { + "string": "aaa\\0" + } + }, + { + "key": { + "symbol": "issuer" + }, + "val": { + "bytes": "0000000000000000000000000000000000000000000000000000000000000002" + } + } + ] + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + "live_until": 121060 + }, + { + "entry": { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + "live_until": 6307300 + } + ] + }, + "events": [] +} \ No newline at end of file