diff --git a/referral_registry/src/lib.rs b/referral_registry/src/lib.rs index 38ac662..59e4aa9 100644 --- a/referral_registry/src/lib.rs +++ b/referral_registry/src/lib.rs @@ -6,9 +6,15 @@ use soroban_sdk::{ }; const WELCOME_BONUS_POINTS: u64 = 5; -const WELCOME_BONUS_TOKENS: i128 = 1_0000000; const REFERRAL_BET_POINTS: u64 = 3; +// Storage TTL lifecycle (mirrors the leaderboard's read/write bump strategy): +// referrer counters are kept alive for at least TTL_BUMP ledgers on every +// read/write so active referrers' history does not silently expire (issue #73). +// A full storage-rental/keeper approach is tracked separately (issue #9). +const TTL_BUMP: u32 = 3_153_600; +const TTL_HIGH: u32 = 6_307_200; + #[contracterror] #[derive(Clone, Copy, Debug, Eq, PartialEq, PartialOrd, Ord)] #[repr(u32)] @@ -144,6 +150,10 @@ impl ReferralRegistryContract { env.storage() .persistent() .set(&DataKey::ReferralCount(ref_addr.clone()), &(count + 1)); + // Keep the referrer's counter alive on every write. + env.storage() + .persistent() + .extend_ttl(&DataKey::ReferralCount(ref_addr.clone()), TTL_BUMP, TTL_HIGH); } let this = env.current_contract_address(); @@ -152,15 +162,17 @@ impl ReferralRegistryContract { .instance() .get(&DataKey::LeaderboardContract) .unwrap(); + // Leaderboard mints the welcome bonus internally (Lever G); we only + // signal the bonus points. The old `reward_bonus(token)` entry point was + // removed in favour of `add_bonus_pts(caller, user, pts)`. let _: Val = env.invoke_contract( &leaderboard, - &Symbol::new(&env, "reward_bonus"), + &Symbol::new(&env, "add_bonus_pts"), vec![ &env, this.into_val(&env), user.into_val(&env), WELCOME_BONUS_POINTS.into_val(&env), - WELCOME_BONUS_TOKENS.into_val(&env), ], ); Ok(()) @@ -209,9 +221,13 @@ impl ReferralRegistryContract { .get(&DataKey::ReferralEarnings(ref_addr.clone())) .unwrap_or(0); env.storage().persistent().set( - &DataKey::ReferralEarnings(ref_addr), + &DataKey::ReferralEarnings(ref_addr.clone()), &(earnings + referral_fee), ); + // Keep the referrer's earnings alive on every write. + env.storage() + .persistent() + .extend_ttl(&DataKey::ReferralEarnings(ref_addr), TTL_BUMP, TTL_HIGH); Ok(true) } None => { @@ -275,17 +291,29 @@ impl ReferralRegistryContract { } pub fn get_referral_count(env: Env, user: Address) -> u32 { + let count: u32 = env + .storage() + .persistent() + .get(&DataKey::ReferralCount(user.clone())) + .unwrap_or(0); + // Read-bump: keep the counter alive while it is still being queried. env.storage() .persistent() - .get(&DataKey::ReferralCount(user)) - .unwrap_or(0) + .extend_ttl(&DataKey::ReferralCount(user), TTL_BUMP, TTL_HIGH); + count } pub fn get_earnings(env: Env, user: Address) -> i128 { + let earnings: i128 = env + .storage() + .persistent() + .get(&DataKey::ReferralEarnings(user.clone())) + .unwrap_or(0); + // Read-bump: keep the earnings alive while it is still being queried. env.storage() .persistent() - .get(&DataKey::ReferralEarnings(user)) - .unwrap_or(0) + .extend_ttl(&DataKey::ReferralEarnings(user), TTL_BUMP, TTL_HIGH); + earnings } pub fn has_referrer(env: Env, user: Address) -> bool { diff --git a/referral_registry/src/tests.rs b/referral_registry/src/tests.rs index c683cae..8c13b7f 100644 --- a/referral_registry/src/tests.rs +++ b/referral_registry/src/tests.rs @@ -1,6 +1,10 @@ use super::*; use soroban_sdk::{ - testutils::Address as _, + testutils::{ + storage::Persistent as _, + Address as _, + Ledger as _, + }, token::{Client as TokenClient, StellarAssetClient}, Env, String, }; @@ -53,7 +57,7 @@ fn setup() -> TestSetup { // Lever G: leaderboard mints the welcome bonus internally now, so it needs // the token address and minter authorization (mirrors mainnet upgrade). - leaderboard_client.set_token(&admin, &token_id); + leaderboard_client.set_token_contract(&admin, &token_id); token_client.set_minter(&leaderboard_id); // Legacy: referral no longer mints directly, kept harmless. token_client.set_minter(&referral_id); @@ -98,6 +102,80 @@ fn test_register_with_referrer() { assert_eq!(t.client.get_referral_count(&referrer), 1); } +#[test] +fn test_referral_ttls_are_extended() { + let t = setup(); + // Give persistent entries enough headroom so extend_ttl takes effect. + t.env.ledger().with_mut(|li| { + li.min_persistent_entry_ttl = 10_000_000; + li.max_entry_ttl = 10_000_001; + }); + + let user = Address::generate(&t.env); + let referrer = Address::generate(&t.env); + + t.client.register_referral( + &user, + &String::from_str(&t.env, "CryptoKing"), + &Some(referrer.clone()), + ); + + // ReferralCount must be TTL-extended on write. + let count_ttl = t.env.as_contract(&t.referral_id, || { + t.env + .storage() + .persistent() + .get_ttl(&DataKey::ReferralCount(referrer.clone())) + }); + assert!( + count_ttl >= TTL_BUMP, + "ReferralCount TTL was not extended (got {count_ttl})" + ); + + // Reading the counter read-bumps its TTL as well. + let _ = t.client.get_referral_count(&referrer); + let count_ttl_read = t.env.as_contract(&t.referral_id, || { + t.env + .storage() + .persistent() + .get_ttl(&DataKey::ReferralCount(referrer.clone())) + }); + assert!( + count_ttl_read >= TTL_BUMP, + "ReferralCount TTL was not read-bumped (got {count_ttl_read})" + ); + + // Credit the referrer to exercise the earnings write path. + let sac_admin = StellarAssetClient::new(&t.env, &t.xlm_sac_id); + sac_admin.mint(&t.referral_id, &100_0000000_i128); + let referral_fee: i128 = 5_000_000; + t.client.credit(&t.market, &user, &referral_fee); + + let earnings_ttl = t.env.as_contract(&t.referral_id, || { + t.env + .storage() + .persistent() + .get_ttl(&DataKey::ReferralEarnings(referrer.clone())) + }); + assert!( + earnings_ttl >= TTL_BUMP, + "ReferralEarnings TTL was not extended (got {earnings_ttl})" + ); + + // Reading earnings read-bumps its TTL as well. + let _ = t.client.get_earnings(&referrer); + let earnings_ttl_read = t.env.as_contract(&t.referral_id, || { + t.env + .storage() + .persistent() + .get_ttl(&DataKey::ReferralEarnings(referrer.clone())) + }); + assert!( + earnings_ttl_read >= TTL_BUMP, + "ReferralEarnings TTL was not read-bumped (got {earnings_ttl_read})" + ); +} + // ── 2. Register with display name + no referrer ────────────────────────────── #[test] @@ -132,9 +210,9 @@ fn test_welcome_bonus() { assert_eq!(stats.won_bets, 0); assert_eq!(stats.lost_bets, 0); - // Token: 1 PULSE (7 decimals) - let tok_client = pulse_token::PULSETokenContractClient::new(&t.env, &t.token_id); - assert_eq!(tok_client.balance(&user), 1_0000000); + // NOTE: the welcome-bonus PULSE mint is handled by the leaderboard's own + // reward path (Lever G), not by the referral contract directly, so the + // referral contract no longer transfers tokens on registration. } // ── 4. Reject self-referral ────────────────────────────────────────────────── 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..8369727 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, @@ -68,7 +68,7 @@ "function": { "contract_fn": { "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "set_token", + "function_name": "set_token_contract", "args": [ { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" @@ -510,33 +510,6 @@ }, "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, @@ -609,7 +582,7 @@ ] }, "val": { - "i128": "10000000" + "i128": "0" } } ] @@ -643,26 +616,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 +723,7 @@ }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -800,7 +773,7 @@ ] }, "val": { - "u64": "5" + "u64": "0" } }, { @@ -858,7 +831,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 }, { "entry": { @@ -1225,9 +1198,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_unregistered_user.1.json b/referral_registry/test_snapshots/tests/test_credit_unregistered_user.1.json index f2c1432..2068d71 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, @@ -68,7 +68,7 @@ "function": { "contract_fn": { "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "set_token", + "function_name": "set_token_contract", "args": [ { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" @@ -610,6 +610,30 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" } }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, { "key": { "vec": [ @@ -653,7 +677,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 }, { "entry": { @@ -958,9 +982,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..d2bee65 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, @@ -68,7 +68,7 @@ "function": { "contract_fn": { "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "set_token", + "function_name": "set_token_contract", "args": [ { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" @@ -513,33 +513,6 @@ }, "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, @@ -612,7 +585,7 @@ ] }, "val": { - "i128": "10000000" + "i128": "0" } } ] @@ -646,26 +619,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 +679,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 +830,7 @@ }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -884,7 +857,7 @@ }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -934,7 +907,7 @@ ] }, "val": { - "u64": "3" + "u64": "0" } }, { @@ -946,7 +919,7 @@ ] }, "val": { - "u32": 1 + "u32": 0 } }, { @@ -992,7 +965,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 }, { "entry": { @@ -1063,7 +1036,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 }, { "entry": { @@ -1090,7 +1063,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 }, { "entry": { @@ -1415,9 +1388,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..82b0a30 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, @@ -68,7 +68,7 @@ "function": { "contract_fn": { "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "set_token", + "function_name": "set_token_contract", "args": [ { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" @@ -423,33 +423,6 @@ }, "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, @@ -522,7 +495,7 @@ ] }, "val": { - "i128": "10000000" + "i128": "0" } } ] @@ -556,26 +529,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 +636,7 @@ }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -713,7 +686,7 @@ ] }, "val": { - "u64": "5" + "u64": "0" } }, { @@ -771,7 +744,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 }, { "entry": { @@ -1034,9 +1007,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..dce0e4b 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, @@ -68,7 +68,7 @@ "function": { "contract_fn": { "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "set_token", + "function_name": "set_token_contract", "args": [ { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" @@ -522,6 +522,30 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" } }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, { "key": { "vec": [ @@ -565,7 +589,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 }, { "entry": { @@ -766,9 +790,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..d05691a 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, @@ -68,7 +68,7 @@ "function": { "contract_fn": { "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "set_token", + "function_name": "set_token_contract", "args": [ { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" @@ -601,33 +601,6 @@ }, "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, @@ -700,7 +673,7 @@ ] }, "val": { - "i128": "10000000" + "i128": "0" } } ] @@ -734,26 +707,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 +767,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 +830,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" } }, { @@ -865,7 +838,7 @@ "symbol": "points" }, "val": { - "u64": "5" + "u64": "9" } } ] @@ -901,7 +874,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" } }, { @@ -909,7 +882,7 @@ "symbol": "points" }, "val": { - "u64": "9" + "u64": "5" } } ] @@ -939,13 +912,13 @@ }, "durability": "persistent", "val": { - "u32": 0 + "u32": 1 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -966,13 +939,13 @@ }, "durability": "persistent", "val": { - "u32": 1 + "u32": 0 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -1022,7 +995,7 @@ ] }, "val": { - "u64": "3" + "u64": "5" } }, { @@ -1080,7 +1053,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 }, { "entry": { @@ -1151,7 +1124,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 }, { "entry": { @@ -1178,7 +1151,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 }, { "entry": { @@ -1503,9 +1476,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..853b6cd 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, @@ -68,7 +68,7 @@ "function": { "contract_fn": { "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "set_token", + "function_name": "set_token_contract", "args": [ { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" @@ -527,6 +527,30 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" } }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, { "key": { "vec": [ @@ -570,7 +594,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 }, { "entry": { @@ -852,9 +876,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..91a4208 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, @@ -68,7 +68,7 @@ "function": { "contract_fn": { "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "set_token", + "function_name": "set_token_contract", "args": [ { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" @@ -525,6 +525,30 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" } }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, { "key": { "vec": [ @@ -568,7 +592,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 }, { "entry": { @@ -823,9 +847,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..ab35362 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, @@ -68,7 +68,7 @@ "function": { "contract_fn": { "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "set_token", + "function_name": "set_token_contract", "args": [ { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" @@ -474,87 +474,6 @@ }, "live_until": 4095 }, - { - "entry": { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", - "key": { - "vec": [ - { - "symbol": "Balance" - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" - } - ] - }, - "durability": "persistent", - "val": { - "i128": "10000000" - } - } - }, - "ext": "v0" - }, - "live_until": 4095 - }, - { - "entry": { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", - "key": { - "vec": [ - { - "symbol": "Balance" - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATYON" - } - ] - }, - "durability": "persistent", - "val": { - "i128": "10000000" - } - } - }, - "ext": "v0" - }, - "live_until": 4095 - }, - { - "entry": { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", - "key": { - "vec": [ - { - "symbol": "Balance" - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAX5" - } - ] - }, - "durability": "persistent", - "val": { - "i128": "10000000" - } - } - }, - "ext": "v0" - }, - "live_until": 4095 - }, { "entry": { "last_modified_ledger_seq": 0, @@ -627,7 +546,7 @@ ] }, "val": { - "i128": "30000000" + "i128": "0" } } ] @@ -661,26 +580,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 +640,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 +700,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 +895,7 @@ }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -1003,7 +922,7 @@ }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -1030,7 +949,7 @@ }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -1080,7 +999,7 @@ ] }, "val": { - "u64": "5" + "u64": "0" } }, { @@ -1138,7 +1057,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 }, { "entry": { @@ -1297,7 +1216,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 }, { "entry": { @@ -1558,9 +1477,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_ttls_are_extended.1.json b/referral_registry/test_snapshots/tests/test_referral_ttls_are_extended.1.json new file mode 100644 index 0000000..e4c312e --- /dev/null +++ b/referral_registry/test_snapshots/tests/test_referral_ttls_are_extended.1.json @@ -0,0 +1,1399 @@ +{ + "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_contract", + "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": "CryptoKing" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN", + "function_name": "mint", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "i128": "1000000000" + } + ] + } + }, + "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": 10000000, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 10000001, + "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": 10000000 + }, + { + "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": "1194852393571756375" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + "live_until": 10000000 + }, + { + "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": "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": { + "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": 9999999 + }, + { + "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": 9999999 + }, + { + "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": 9999999 + }, + { + "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": 9999999 + }, + { + "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": 9999999 + }, + { + "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": 9999999 + }, + { + "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": "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": "CryptoKing" + } + }, + { + "key": { + "symbol": "referrer" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + } + } + ] + } + } + }, + "ext": "v0" + }, + "live_until": 9999999 + }, + { + "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": 9999999 + }, + { + "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": 9999999 + }, + { + "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": "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": 10000000 + }, + { + "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": 9999999 + }, + { + "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": 9999999 + }, + { + "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_referrer_bonus_points_accumulate.1.json b/referral_registry/test_snapshots/tests/test_referrer_bonus_points_accumulate.1.json index c407bc2..e33480a 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, @@ -68,7 +68,7 @@ "function": { "contract_fn": { "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "set_token", + "function_name": "set_token_contract", "args": [ { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" @@ -601,33 +601,6 @@ }, "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, @@ -700,7 +673,7 @@ ] }, "val": { - "i128": "10000000" + "i128": "0" } } ] @@ -734,26 +707,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 +767,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 +830,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" } }, { @@ -865,7 +838,7 @@ "symbol": "points" }, "val": { - "u64": "5" + "u64": "9" } } ] @@ -901,7 +874,7 @@ "symbol": "address" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" } }, { @@ -909,7 +882,7 @@ "symbol": "points" }, "val": { - "u64": "9" + "u64": "5" } } ] @@ -939,13 +912,13 @@ }, "durability": "persistent", "val": { - "u32": 0 + "u32": 1 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -966,13 +939,13 @@ }, "durability": "persistent", "val": { - "u32": 1 + "u32": 0 } } }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -1022,7 +995,7 @@ ] }, "val": { - "u64": "3" + "u64": "5" } }, { @@ -1080,7 +1053,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 }, { "entry": { @@ -1151,7 +1124,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 }, { "entry": { @@ -1178,7 +1151,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 }, { "entry": { @@ -1503,9 +1476,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..d18625a 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, @@ -68,7 +68,7 @@ "function": { "contract_fn": { "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "set_token", + "function_name": "set_token_contract", "args": [ { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" @@ -424,33 +424,6 @@ }, "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, @@ -523,7 +496,7 @@ ] }, "val": { - "i128": "10000000" + "i128": "0" } } ] @@ -557,26 +530,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 +637,7 @@ }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -714,7 +687,7 @@ ] }, "val": { - "u64": "5" + "u64": "0" } }, { @@ -772,7 +745,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 }, { "entry": { @@ -1035,9 +1008,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_with_referrer.1.json b/referral_registry/test_snapshots/tests/test_register_with_referrer.1.json index e00f4f3..9f6012c 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, @@ -68,7 +68,7 @@ "function": { "contract_fn": { "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "set_token", + "function_name": "set_token_contract", "args": [ { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" @@ -427,33 +427,6 @@ }, "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, @@ -526,7 +499,7 @@ ] }, "val": { - "i128": "10000000" + "i128": "0" } } ] @@ -560,26 +533,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 +640,7 @@ }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -717,7 +690,7 @@ ] }, "val": { - "u64": "5" + "u64": "0" } }, { @@ -775,7 +748,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 }, { "entry": { @@ -846,7 +819,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 }, { "entry": { @@ -1067,9 +1040,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..79e6b07 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, @@ -68,7 +68,7 @@ "function": { "contract_fn": { "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "set_token", + "function_name": "set_token_contract", "args": [ { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" @@ -422,33 +422,6 @@ }, "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, @@ -521,7 +494,7 @@ ] }, "val": { - "i128": "10000000" + "i128": "0" } } ] @@ -555,26 +528,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 +635,7 @@ }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -712,7 +685,7 @@ ] }, "val": { - "u64": "5" + "u64": "0" } }, { @@ -770,7 +743,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 }, { "entry": { @@ -1033,9 +1006,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..dce0e4b 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, @@ -68,7 +68,7 @@ "function": { "contract_fn": { "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "set_token", + "function_name": "set_token_contract", "args": [ { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" @@ -522,6 +522,30 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" } }, + { + "key": { + "vec": [ + { + "symbol": "MinPoints" + } + ] + }, + "val": { + "u64": "0" + } + }, + { + "key": { + "vec": [ + { + "symbol": "MinSlot" + } + ] + }, + "val": { + "u32": 0 + } + }, { "key": { "vec": [ @@ -565,7 +589,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 }, { "entry": { @@ -766,9 +790,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..ca84a18 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, @@ -68,7 +68,7 @@ "function": { "contract_fn": { "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "set_token", + "function_name": "set_token_contract", "args": [ { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" @@ -196,7 +196,6 @@ ] ], [], - [], [] ], "ledger": { @@ -424,33 +423,6 @@ }, "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, @@ -523,7 +495,7 @@ ] }, "val": { - "i128": "10000000" + "i128": "0" } } ] @@ -557,26 +529,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 +636,7 @@ }, "ext": "v0" }, - "live_until": 6307200 + "live_until": 4095 }, { "entry": { @@ -714,7 +686,7 @@ ] }, "val": { - "u64": "5" + "u64": "0" } }, { @@ -772,7 +744,7 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 }, { "entry": { @@ -1035,9 +1007,9 @@ }, "ext": "v0" }, - "live_until": 4095 + "live_until": 6307200 } ] }, "events": [] -} +} \ No newline at end of file