From b0a9d5e56c7c577d16f4904a94c7502af8d8a364 Mon Sep 17 00:00:00 2001
From: Okoli Johnpaul Sochimaobi <132228270+Johnpii1@users.noreply.github.com>
Date: Mon, 29 Jun 2026 05:30:46 +0100
Subject: [PATCH 01/10] Add creator whitelist early access window
---
creator-keys/src/lib.rs | 122 +++++++++++++-
creator-keys/src/test.rs | 82 +++++-----
creator-keys/src/test_issues.rs | 4 +-
creator-keys/tests/buy_event_buyer_address.rs | 2 +
creator-keys/tests/buy_key_event.rs | 2 +
...claim_locked_allocation_ledger_boundary.rs | 2 +
...m_locked_allocation_non_creator_reverts.rs | 1 +
creator-keys/tests/contract_test_env/mod.rs | 2 +
.../tests/creator_detail_read_consistency.rs | 4 +-
creator-keys/tests/creator_details_view.rs | 2 +-
creator-keys/tests/creator_fee_bps.rs | 3 +
.../tests/creator_fee_bps_invalid_reads.rs | 1 +
creator-keys/tests/creator_fee_config_view.rs | 12 +-
creator-keys/tests/creator_fee_recipient.rs | 2 +
creator-keys/tests/creator_registration.rs | 30 +++-
creator-keys/tests/creator_supply.rs | 1 +
creator-keys/tests/creator_treasury_share.rs | 2 +
.../creator_treasury_share_invalid_reads.rs | 1 +
creator-keys/tests/curve_preset_storage.rs | 3 +
creator-keys/tests/emergency_pause.rs | 5 +
.../empty_handle_registration_regression.rs | 10 +-
creator-keys/tests/events.rs | 3 +-
.../tests/flat_curve_symmetry_regression.rs | 1 +
.../tests/get_locked_allocation_none.rs | 1 +
.../tests/holder_count_multiple_buyers.rs | 1 +
...unt_unchanged_after_supply_cap_exceeded.rs | 1 +
creator-keys/tests/holder_key_count_view.rs | 3 +
creator-keys/tests/key_balance.rs | 7 +
creator-keys/tests/key_name.rs | 2 +-
creator-keys/tests/key_supply.rs | 6 +
creator-keys/tests/key_symbol.rs | 2 +-
.../tests/keys_transferred_event_fields.rs | 1 +
.../locked_allocation_bonding_curve_supply.rs | 2 +
.../tests/max_supply_zero_rejected.rs | 6 +
creator-keys/tests/protocol_fee_bps_read.rs | 1 +
creator-keys/tests/protocol_state_version.rs | 1 +
.../tests/registration_event_details.rs | 4 +-
.../tests/sell_event_seller_address.rs | 2 +
creator-keys/tests/test_register_creator.rs | 4 +-
creator-keys/tests/total_supply_overflow.rs | 1 +
creator-keys/tests/transfer_keys.rs | 13 ++
.../transfer_keys_dividend_preservation.rs | 1 +
creator-keys/tests/whitelist_window.rs | 152 ++++++++++++++++++
43 files changed, 441 insertions(+), 67 deletions(-)
create mode 100644 creator-keys/tests/whitelist_window.rs
diff --git a/creator-keys/src/lib.rs b/creator-keys/src/lib.rs
index 0b1af2b..b71b6ae 100644
--- a/creator-keys/src/lib.rs
+++ b/creator-keys/src/lib.rs
@@ -1,7 +1,7 @@
#![no_std]
pub mod quote_view_errors;
-use soroban_sdk::{contract, contracterror, contractimpl, contracttype, Address, Env, String};
+use soroban_sdk::{contract, contracterror, contractimpl, contracttype, Address, Env, String, Vec};
pub mod events;
@@ -74,6 +74,8 @@ pub enum ContractError {
InsufficientSupply = 25,
SelfTransfer = 26,
ZeroTransferAmount = 27,
+ WhitelistOnly = 28,
+ WhitelistTooLarge = 29,
}
pub mod fee {
@@ -315,6 +317,10 @@ pub mod constants {
pub fn max_supply(creator: &Address) -> DataKey {
DataKey::MaxSupply(creator.clone())
}
+
+ pub fn whitelist(creator: &Address) -> DataKey {
+ DataKey::Whitelist(creator.clone())
+ }
}
fn creator_key(creator: &Address) -> DataKey {
@@ -454,6 +460,7 @@ pub const KEY_DECIMALS: u32 = 7;
pub const CREATOR_TTL_LEDGERS: u32 = 6311520; // ~2 years at 5s per ledger
pub const HANDLE_LEN_MIN: u32 = 3;
pub const HANDLE_LEN_MAX: u32 = 32;
+pub const MAX_WHITELIST_SIZE: u32 = 500;
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
#[contracttype]
@@ -488,6 +495,24 @@ pub enum DataKey {
MaxSupply(Address),
CurveSlope,
CurvePreset(Address),
+ Whitelist(Address),
+}
+
+/// Immutable early-access whitelist configuration set at creator registration.
+#[derive(Clone, Debug, PartialEq)]
+#[contracttype]
+pub struct WhitelistConfig {
+ pub addresses: Vec
,
+ pub window_ledgers: u32,
+}
+
+/// Read-only whitelist window status for a creator.
+#[derive(Clone, Debug, PartialEq)]
+#[contracttype]
+pub struct WhitelistStatus {
+ pub active: bool,
+ pub expires_at_ledger: u32,
+ pub remaining_ledgers: u32,
}
/// Time-locked key allocation for creator self-vesting.
@@ -953,6 +978,48 @@ fn compute_claimable_dividend(env: &Env, creator: &Address, holder: &Address) ->
/// This function extends the TTL of the creator's primary storage entries
/// to prevent active creator state from expiring. Called after successful
/// buy and sell operations.
+fn read_whitelist_config(env: &Env, creator: &Address) -> Option {
+ env.storage()
+ .persistent()
+ .get(&constants::storage::whitelist(creator))
+}
+
+fn whitelist_expires_at(profile: &CreatorProfile, config: &WhitelistConfig) -> Option {
+ profile.registered_at.checked_add(config.window_ledgers)
+}
+
+fn is_whitelist_window_active(
+ env: &Env,
+ profile: &CreatorProfile,
+ config: &WhitelistConfig,
+) -> bool {
+ if config.window_ledgers == 0 {
+ return false;
+ }
+ whitelist_expires_at(profile, config)
+ .map(|expires_at| env.ledger().sequence() < expires_at)
+ .unwrap_or(false)
+}
+
+fn assert_whitelist_buy_allowed(
+ env: &Env,
+ profile: &CreatorProfile,
+ buyer: &Address,
+) -> Result<(), ContractError> {
+ let Some(config) = read_whitelist_config(env, &profile.creator) else {
+ return Ok(());
+ };
+ if !is_whitelist_window_active(env, profile, &config) {
+ return Ok(());
+ }
+ for address in config.addresses.iter() {
+ if address == *buyer {
+ return Ok(());
+ }
+ }
+ Err(ContractError::WhitelistOnly)
+}
+
fn extend_creator_ttl(env: &Env, creator: &Address) {
let current_ledger = env.ledger().sequence();
let extend_to = current_ledger + CREATOR_TTL_LEDGERS;
@@ -991,6 +1058,13 @@ fn extend_creator_ttl(env: &Env, creator: &Address) {
.extend_ttl(&max_supply_key, threshold, extend_to);
}
+ let whitelist_key = constants::storage::whitelist(creator);
+ if env.storage().persistent().has(&whitelist_key) {
+ env.storage()
+ .persistent()
+ .extend_ttl(&whitelist_key, threshold, extend_to);
+ }
+
let curve_preset_key = constants::storage::curve_preset(creator);
if env.storage().persistent().has(&curve_preset_key) {
env.storage()
@@ -1019,6 +1093,7 @@ impl CreatorKeysContract {
/// - `locked_allocation`: optional time-locked key allocation for creator self-vesting.
/// If provided, `unlock_ledger` must be strictly greater than current ledger.
/// - `max_supply`: optional maximum supply cap. If provided, must be greater than zero.
+ /// - `whitelist_window`: optional immutable early-access address list and ledger duration.
pub fn register_creator(
env: Env,
creator: Address,
@@ -1026,6 +1101,7 @@ impl CreatorKeysContract {
locked_allocation: Option,
max_supply: Option,
curve_preset: Option,
+ whitelist_window: Option,
) -> Result<(), ContractError> {
creator.require_auth();
assert_not_paused(&env)?;
@@ -1085,6 +1161,15 @@ impl CreatorKeysContract {
.set(&constants::storage::max_supply(&creator), &cap);
}
+ // Handle immutable whitelist window
+ let whitelist_key = constants::storage::whitelist(&creator);
+ if let Some(config) = whitelist_window {
+ if config.addresses.len() > MAX_WHITELIST_SIZE {
+ return Err(ContractError::WhitelistTooLarge);
+ }
+ env.storage().persistent().set(&whitelist_key, &config);
+ }
+
// Handle curve preset
let preset = curve_preset.unwrap_or(CurvePreset::Linear);
let preset_key = constants::storage::curve_preset(&creator);
@@ -1115,6 +1200,11 @@ impl CreatorKeysContract {
env.storage()
.persistent()
.extend_ttl(&preset_key, current_ledger, extend_to);
+ if env.storage().persistent().has(&whitelist_key) {
+ env.storage()
+ .persistent()
+ .extend_ttl(&whitelist_key, current_ledger, extend_to);
+ }
env.events().publish(
events::register_event_topics(&profile.creator),
@@ -1154,6 +1244,7 @@ impl CreatorKeysContract {
let mut profile: CreatorProfile = read_registered_creator_profile(&env, &creator)?;
let price = compute_bonding_curve_price(&env, &creator, base_price, profile.supply)?;
+ assert_whitelist_buy_allowed(&env, &profile, &buyer)?;
assert_buy_price_slippage(price, max_price)?;
if payment < price {
@@ -1440,6 +1531,35 @@ impl CreatorKeysContract {
read_registered_creator_profile(&env, &creator)
}
+ /// Read-only view: returns whitelist window status for a registered creator.
+ pub fn get_whitelist_status(
+ env: Env,
+ creator: Address,
+ ) -> Result {
+ let profile = read_registered_creator_profile(&env, &creator)?;
+ let Some(config) = read_whitelist_config(&env, &creator) else {
+ return Ok(WhitelistStatus {
+ active: false,
+ expires_at_ledger: profile.registered_at,
+ remaining_ledgers: 0,
+ });
+ };
+ let expires_at_ledger =
+ whitelist_expires_at(&profile, &config).ok_or(ContractError::Overflow)?;
+ let current = env.ledger().sequence();
+ let active = config.window_ledgers > 0 && current < expires_at_ledger;
+ let remaining_ledgers = if active {
+ expires_at_ledger - current
+ } else {
+ 0
+ };
+ Ok(WhitelistStatus {
+ active,
+ expires_at_ledger,
+ remaining_ledgers,
+ })
+ }
+
/// Read-only view: returns stable creator details.
///
/// Returns a [`CreatorDetailsView`] regardless of registration status.
diff --git a/creator-keys/src/test.rs b/creator-keys/src/test.rs
index d39af64..8811800 100644
--- a/creator-keys/src/test.rs
+++ b/creator-keys/src/test.rs
@@ -19,7 +19,7 @@ fn test_register_creator_with_locked_allocation() {
claimed: false,
};
- client.register_creator(&creator, &handle, &Some(locked), &None, &None);
+ client.register_creator(&creator, &handle, &Some(locked), &None, &None, &None);
let stored = client.get_locked_allocation(&creator).unwrap();
assert_eq!(stored.amount, 100);
@@ -47,7 +47,7 @@ fn test_register_creator_locked_allocation_reverts_past_ledger() {
claimed: false,
};
- let result = client.try_register_creator(&creator, &handle, &Some(locked), &None, &None);
+ let result = client.try_register_creator(&creator, &handle, &Some(locked), &None, &None, &None);
assert_eq!(result, Err(Ok(ContractError::AllocationLocked)));
}
@@ -68,7 +68,7 @@ fn test_claim_locked_allocation_success() {
claimed: false,
};
- client.register_creator(&creator, &handle, &Some(locked), &None, &None);
+ client.register_creator(&creator, &handle, &Some(locked), &None, &None, &None);
// Advance ledger past unlock
ledger_info.sequence_number = 250;
@@ -100,7 +100,7 @@ fn test_claim_locked_allocation_reverts_early() {
claimed: false,
};
- client.register_creator(&creator, &handle, &Some(locked), &None, &None);
+ client.register_creator(&creator, &handle, &Some(locked), &None, &None, &None);
// Try to claim before unlock
let result = client.try_claim_locked_allocation(&creator);
@@ -124,7 +124,7 @@ fn test_claim_locked_allocation_reverts_double_claim() {
claimed: false,
};
- client.register_creator(&creator, &handle, &Some(locked), &None, &None);
+ client.register_creator(&creator, &handle, &Some(locked), &None, &None, &None);
// Advance ledger past unlock
ledger_info.sequence_number = 250;
@@ -162,7 +162,7 @@ fn test_get_locked_allocation_returns_allocation_when_set() {
claimed: false,
};
- client.register_creator(&creator, &handle, &Some(locked), &None, &None);
+ client.register_creator(&creator, &handle, &Some(locked), &None, &None, &None);
let result = client.get_locked_allocation(&creator).unwrap();
assert_eq!(result.amount, 100);
@@ -184,7 +184,7 @@ fn test_transfer_keys_basic() {
let recipient = Address::generate(&env);
client.set_key_price(&admin, &100i128);
- client.register_creator(&creator, &String::from_str(&env, "alice"), &None, &None, &None);
+ client.register_creator(&creator, &String::from_str(&env, "alice"), &None, &None, &None, &None);
client.buy_key(&creator, &sender, &100i128, &None);
client.buy_key(&creator, &sender, &100i128, &None);
client.buy_key(&creator, &sender, &100i128, &None);
@@ -208,7 +208,7 @@ fn test_transfer_keys_sender_zeroed_out() {
let recipient = Address::generate(&env);
client.set_key_price(&admin, &100i128);
- client.register_creator(&creator, &String::from_str(&env, "alice"), &None, &None, &None);
+ client.register_creator(&creator, &String::from_str(&env, "alice"), &None, &None, &None, &None);
client.buy_key(&creator, &sender, &100i128, &None);
client.transfer_keys(&creator, &sender, &recipient, &1);
@@ -230,7 +230,7 @@ fn test_transfer_keys_new_recipient() {
let recipient = Address::generate(&env);
client.set_key_price(&admin, &100i128);
- client.register_creator(&creator, &String::from_str(&env, "alice"), &None, &None, &None);
+ client.register_creator(&creator, &String::from_str(&env, "alice"), &None, &None, &None, &None);
client.buy_key(&creator, &sender, &100i128, &None);
let supply_before = client.get_total_key_supply(&creator);
@@ -252,7 +252,7 @@ fn test_transfer_keys_self_transfer_reverts() {
let sender = Address::generate(&env);
client.set_key_price(&admin, &100i128);
- client.register_creator(&creator, &String::from_str(&env, "alice"), &None, &None, &None);
+ client.register_creator(&creator, &String::from_str(&env, "alice"), &None, &None, &None, &None);
client.buy_key(&creator, &sender, &100i128, &None);
let result = client.try_transfer_keys(&creator, &sender, &sender, &1);
@@ -271,7 +271,7 @@ fn test_transfer_keys_zero_amount_reverts() {
let recipient = Address::generate(&env);
client.set_key_price(&admin, &100i128);
- client.register_creator(&creator, &String::from_str(&env, "alice"), &None, &None, &None);
+ client.register_creator(&creator, &String::from_str(&env, "alice"), &None, &None, &None, &None);
client.buy_key(&creator, &sender, &100i128, &None);
let result = client.try_transfer_keys(&creator, &sender, &recipient, &0);
@@ -290,7 +290,7 @@ fn test_transfer_keys_insufficient_balance_reverts() {
let recipient = Address::generate(&env);
client.set_key_price(&admin, &100i128);
- client.register_creator(&creator, &String::from_str(&env, "alice"), &None, &None, &None);
+ client.register_creator(&creator, &String::from_str(&env, "alice"), &None, &None, &None, &None);
client.buy_key(&creator, &sender, &100i128, &None);
let result = client.try_transfer_keys(&creator, &sender, &recipient, &2);
@@ -308,7 +308,7 @@ fn test_register_creator_with_max_supply() {
let creator = Address::generate(&env);
let handle = String::from_str(&env, "alice");
- client.register_creator(&creator, &handle, &None, &Some(1000), &None);
+ client.register_creator(&creator, &handle, &None, &Some(1000), &None, &None);
let cap = client.get_max_supply(&creator).unwrap();
assert_eq!(cap, 1000);
@@ -323,7 +323,7 @@ fn test_register_creator_max_supply_zero_reverts() {
let creator = Address::generate(&env);
let handle = String::from_str(&env, "alice");
- let result = client.try_register_creator(&creator, &handle, &None, &Some(0), &None);
+ let result = client.try_register_creator(&creator, &handle, &None, &Some(0), &None, &None);
assert_eq!(result, Err(Ok(ContractError::NotPositiveAmount)));
}
@@ -338,7 +338,7 @@ fn test_buy_exceeds_max_supply_reverts() {
let admin = Address::generate(&env);
let handle = String::from_str(&env, "alice");
- client.register_creator(&creator, &handle, &None, &Some(5), &None);
+ client.register_creator(&creator, &handle, &None, &Some(5), &None, &None);
client.set_key_price(&admin, &100);
client.set_fee_config(&admin, &9000, &1000);
@@ -363,7 +363,7 @@ fn test_buy_within_max_supply_succeeds() {
let admin = Address::generate(&env);
let handle = String::from_str(&env, "alice");
- client.register_creator(&creator, &handle, &None, &Some(10), &None);
+ client.register_creator(&creator, &handle, &None, &Some(10), &None, &None);
client.set_key_price(&admin, &100);
client.set_fee_config(&admin, &9000, &1000);
@@ -385,7 +385,7 @@ fn test_get_max_supply_returns_none_for_uncapped() {
let creator = Address::generate(&env);
let handle = String::from_str(&env, "alice");
- client.register_creator(&creator, &handle, &None, &None, &None);
+ client.register_creator(&creator, &handle, &None, &None, &None, &None);
let cap = client.get_max_supply(&creator);
assert_eq!(cap, None);
@@ -484,7 +484,7 @@ fn test_update_creator_fee_recipient_success() {
let new_recipient = Address::generate(&env);
let handle = String::from_str(&env, "alice");
- client.register_creator(&creator, &handle, &None, &None, &None);
+ client.register_creator(&creator, &handle, &None, &None, &None, &None);
client.update_creator_fee_recipient(&creator, &new_recipient);
let profile = client.get_creator(&creator);
@@ -502,7 +502,7 @@ fn test_update_creator_fee_recipient_unauthorized_reverts() {
let new_recipient = Address::generate(&env);
let handle = String::from_str(&env, "alice");
- client.register_creator(&creator, &handle, &None, &None, &None);
+ client.register_creator(&creator, &handle, &None, &None, &None, &None);
let result = client.try_update_creator_fee_recipient(&unauthorized, &new_recipient);
// This should fail because unauthorized is not the current fee recipient
@@ -552,7 +552,7 @@ fn test_sell_key_accepts_exact_min_proceeds_boundary() {
client.set_key_price(&admin, &100);
client.set_fee_config(&admin, &9000, &1000);
- client.register_creator(&creator, &handle, &None, &None, &None);
+ client.register_creator(&creator, &handle, &None, &None, &None, &None);
client.buy_key(&creator, &seller, &100, &None);
client.buy_key(&creator, &seller, &100, &None);
@@ -580,7 +580,7 @@ fn test_sell_extends_creator_ttl_after_successful_sell() {
client.set_key_price(&admin, &100);
client.set_fee_config(&admin, &9000, &1000);
- client.register_creator(&creator, &handle, &None, &None, &None);
+ client.register_creator(&creator, &handle, &None, &None, &None, &None);
client.buy_key(&creator, &seller, &100, &None);
let creator_key = constants::storage::creator(&creator);
@@ -619,7 +619,7 @@ fn test_failed_sell_does_not_extend_creator_ttl() {
let handle = String::from_str(&env, "alice");
client.set_key_price(&admin, &100);
- client.register_creator(&creator, &handle, &None, &None, &None);
+ client.register_creator(&creator, &handle, &None, &None, &None, &None);
let creator_key = constants::storage::creator(&creator);
let mut ledger_info = env.ledger().get();
@@ -651,7 +651,7 @@ fn test_register_creator_without_optional_params_succeeds() {
let handle = String::from_str(&env, "alice");
// Registration with None for both optional params should work (backwards compatible)
- client.register_creator(&creator, &handle, &None, &None, &None);
+ client.register_creator(&creator, &handle, &None, &None, &None, &None);
let profile = client.get_creator(&creator);
assert_eq!(profile.supply, 0);
@@ -777,7 +777,7 @@ fn test_get_fee_config_persists_across_repeated_reads() {
let creator = Address::generate(&env);
let handle = String::from_str(&env, "alice");
- client.register_creator(&creator, &handle, &None, &None, &None);
+ client.register_creator(&creator, &handle, &None, &None, &None, &None);
// Repeatedly read the fee config and verify stability
for _ in 0..5 {
@@ -803,7 +803,7 @@ fn test_register_creator() {
let creator = Address::generate(&env);
let handle = String::from_str(&env, "alice");
- client.register_creator(&creator, &handle, &None, &None, &None);
+ client.register_creator(&creator, &handle, &None, &None, &None, &None);
let profile = client.get_creator(&creator);
assert_eq!(profile.handle, handle);
@@ -823,7 +823,7 @@ fn test_register_creator_persists_registration_metadata() {
let creator = Address::generate(&env);
let handle = String::from_str(&env, "alice");
- client.register_creator(&creator, &handle, &None, &None, &None);
+ client.register_creator(&creator, &handle, &None, &None, &None, &None);
let profile = client.get_creator(&creator);
assert_eq!(profile.creator, creator);
@@ -843,10 +843,10 @@ fn test_duplicate_registration_fails() {
let creator = Address::generate(&env);
let handle = String::from_str(&env, "alice");
- client.register_creator(&creator, &handle, &None, &None, &None);
+ client.register_creator(&creator, &handle, &None, &None, &None, &None);
// Second registration should fail with AlreadyRegistered error
- let result = client.try_register_creator(&creator, &handle, &None, &None, &None);
+ let result = client.try_register_creator(&creator, &handle, &None, &None, &None, &None);
assert_eq!(result, Err(Ok(ContractError::AlreadyRegistered)));
assert_no_events(&env);
}
@@ -881,7 +881,7 @@ fn test_buy_key_success() {
let creator = Address::generate(&env);
let handle = String::from_str(&env, "alice");
- client.register_creator(&creator, &handle, &None, &None, &None);
+ client.register_creator(&creator, &handle, &None, &None, &None, &None);
let buyer = Address::generate(&env);
let supply = client.buy_key(&creator, &buyer, &100, &None);
@@ -904,7 +904,7 @@ fn test_get_creator_holder_count_counts_unique_holders() {
let creator = Address::generate(&env);
let handle = String::from_str(&env, "alice");
- client.register_creator(&creator, &handle, &None, &None, &None);
+ client.register_creator(&creator, &handle, &None, &None, &None, &None);
let holder_one = Address::generate(&env);
let holder_two = Address::generate(&env);
@@ -945,7 +945,7 @@ fn test_buy_key_insufficient_payment() {
let creator = Address::generate(&env);
let handle = String::from_str(&env, "alice");
- client.register_creator(&creator, &handle, &None, &None, &None);
+ client.register_creator(&creator, &handle, &None, &None, &None, &None);
let buyer = Address::generate(&env);
let result = client.try_buy_key(&creator, &buyer, &99, &None);
@@ -1016,7 +1016,7 @@ fn test_get_key_balance_returns_zero_for_unregistered_wallet() {
let creator = Address::generate(&env);
let handle = String::from_str(&env, "alice");
- client.register_creator(&creator, &handle, &None, &None, &None);
+ client.register_creator(&creator, &handle, &None, &None, &None, &None);
let unregistered_wallet = Address::generate(&env);
@@ -1115,7 +1115,7 @@ fn test_get_buy_quote_success() {
let creator = Address::generate(&env);
let handle = String::from_str(&env, "alice");
- client.register_creator(&creator, &handle, &None, &None, &None);
+ client.register_creator(&creator, &handle, &None, &None, &None, &None);
let quote = client.get_buy_quote(&creator);
assert_eq!(quote.price, 1000);
@@ -1137,7 +1137,7 @@ fn test_get_sell_quote_success() {
let creator = Address::generate(&env);
let handle = String::from_str(&env, "alice");
- client.register_creator(&creator, &handle, &None, &None, &None);
+ client.register_creator(&creator, &handle, &None, &None, &None, &None);
let buyer = Address::generate(&env);
client.buy_key(&creator, &buyer, &1000, &None);
@@ -1162,7 +1162,7 @@ fn test_get_sell_quote_fails_if_insufficient_balance() {
let creator = Address::generate(&env);
let handle = String::from_str(&env, "alice");
- client.register_creator(&creator, &handle, &None, &None, &None);
+ client.register_creator(&creator, &handle, &None, &None, &None, &None);
let holder = Address::generate(&env); // Zero balance
let result = client.try_get_sell_quote(&creator, &holder);
@@ -1197,7 +1197,7 @@ fn test_get_quote_fails_if_fee_not_set() {
let creator = Address::generate(&env);
let handle = String::from_str(&env, "alice");
- client.register_creator(&creator, &handle, &None, &None, &None);
+ client.register_creator(&creator, &handle, &None, &None, &None, &None);
let result = client.try_get_buy_quote(&creator);
assert_eq!(result, Err(Ok(ContractError::FeeConfigNotSet)));
@@ -1227,7 +1227,7 @@ fn test_get_creator_fee_recipient_success() {
let creator = Address::generate(&env);
let handle = String::from_str(&env, "alice");
- client.register_creator(&creator, &handle, &None, &None, &None);
+ client.register_creator(&creator, &handle, &None, &None, &None, &None);
let recipient = client.get_creator_fee_recipient(&creator);
assert_eq!(recipient, creator);
@@ -1259,7 +1259,7 @@ fn test_quote_overflow_guards() {
let creator = Address::generate(&env);
let handle = String::from_str(&env, "alice");
- client.register_creator(&creator, &handle, &None, &None, &None);
+ client.register_creator(&creator, &handle, &None, &None, &None, &None);
// Buy quote: price + fees (will overflow)
let result = client.try_get_buy_quote(&creator);
@@ -1336,7 +1336,7 @@ fn test_register_event_field_order_is_stable() {
let creator = Address::generate(&env);
let handle = String::from_str(&env, "alice");
- client.register_creator(&creator, &handle, &None, &None, &None);
+ client.register_creator(&creator, &handle, &None, &None, &None, &None);
let all_events = env.events().all();
assert_eq!(
@@ -1398,7 +1398,7 @@ fn test_buy_event_topic_and_data_order_is_stable() {
let creator = Address::generate(&env);
let handle = String::from_str(&env, "bob");
- client.register_creator(&creator, &handle, &None, &None, &None);
+ client.register_creator(&creator, &handle, &None, &None, &None, &None);
let buyer = Address::generate(&env);
client.buy_key(&creator, &buyer, &500, &None);
@@ -1464,7 +1464,7 @@ fn test_register_event_fee_adjacent_fields_are_zero_and_ordered_after_identity_f
let creator = Address::generate(&env);
let handle = String::from_str(&env, "carol");
- client.register_creator(&creator, &handle, &None, &None, &None);
+ client.register_creator(&creator, &handle, &None, &None, &None, &None);
let all_events = env.events().all();
let (_contract_id, _topics, data): (
diff --git a/creator-keys/src/test_issues.rs b/creator-keys/src/test_issues.rs
index 68359ff..1188ecd 100644
--- a/creator-keys/src/test_issues.rs
+++ b/creator-keys/src/test_issues.rs
@@ -21,10 +21,10 @@ mod issue_tests {
let handle = String::from_str(env, "alice");
match cap {
Some(c) => {
- client.register_creator(&creator, &handle, &None, &Some(c), &None);
+ client.register_creator(&creator, &handle, &None, &Some(c), &None, &None);
}
None => {
- client.register_creator(&creator, &handle, &None, &None, &None);
+ client.register_creator(&creator, &handle, &None, &None, &None, &None);
}
}
creator
diff --git a/creator-keys/tests/buy_event_buyer_address.rs b/creator-keys/tests/buy_event_buyer_address.rs
index 0094022..ceb0535 100644
--- a/creator-keys/tests/buy_event_buyer_address.rs
+++ b/creator-keys/tests/buy_event_buyer_address.rs
@@ -31,6 +31,7 @@ fn test_buy_event_buyer_address_matches_caller() {
&None,
&None,
&None,
+ &None,
);
// Clear any prior events then perform the buy
@@ -88,6 +89,7 @@ fn test_buy_event_buyer_address_field_is_non_zero() {
&None,
&None,
&None,
+ &None,
);
client.buy_key(&creator, &buyer, &KEY_PRICE, &None);
diff --git a/creator-keys/tests/buy_key_event.rs b/creator-keys/tests/buy_key_event.rs
index 83c93f8..7484c64 100644
--- a/creator-keys/tests/buy_key_event.rs
+++ b/creator-keys/tests/buy_key_event.rs
@@ -22,6 +22,7 @@ fn test_buy_key_event_includes_payment_amount() {
&None,
&None,
&None,
+ &None,
);
let supply = client.buy_key(&creator, &buyer, &150i128, &None);
assert_eq!(supply, 1);
@@ -54,6 +55,7 @@ fn test_buy_key_event_topics_include_creator_and_buyer() {
&None,
&None,
&None,
+ &None,
);
client.buy_key(&creator, &buyer, &200i128, &None);
diff --git a/creator-keys/tests/claim_locked_allocation_ledger_boundary.rs b/creator-keys/tests/claim_locked_allocation_ledger_boundary.rs
index 366a353..c85c72e 100644
--- a/creator-keys/tests/claim_locked_allocation_ledger_boundary.rs
+++ b/creator-keys/tests/claim_locked_allocation_ledger_boundary.rs
@@ -31,6 +31,7 @@ fn test_claim_locked_allocation_reverts_at_every_ledger_before_unlock() {
}),
&None,
&None,
+ &None,
);
// Immediately after registration — must revert.
@@ -77,6 +78,7 @@ fn test_claim_locked_allocation_succeeds_at_unlock_ledger() {
}),
&None,
&None,
+ &None,
);
// Advance to exactly unlock_ledger.
diff --git a/creator-keys/tests/claim_locked_allocation_non_creator_reverts.rs b/creator-keys/tests/claim_locked_allocation_non_creator_reverts.rs
index 4759c70..b65f71a 100644
--- a/creator-keys/tests/claim_locked_allocation_non_creator_reverts.rs
+++ b/creator-keys/tests/claim_locked_allocation_non_creator_reverts.rs
@@ -33,6 +33,7 @@ fn setup_creator_with_locked_allocation(
}),
&None,
&None,
+ &None,
);
creator
}
diff --git a/creator-keys/tests/contract_test_env/mod.rs b/creator-keys/tests/contract_test_env/mod.rs
index 4542624..bfbfbf5 100644
--- a/creator-keys/tests/contract_test_env/mod.rs
+++ b/creator-keys/tests/contract_test_env/mod.rs
@@ -111,6 +111,7 @@ pub fn register_test_creator(
&None,
&None,
&None,
+ &None,
);
creator
}
@@ -142,6 +143,7 @@ pub fn register_test_creator_with_fee_config(
&None,
&None,
&None,
+ &None,
);
creator
}
diff --git a/creator-keys/tests/creator_detail_read_consistency.rs b/creator-keys/tests/creator_detail_read_consistency.rs
index ddc6427..48a1ff5 100644
--- a/creator-keys/tests/creator_detail_read_consistency.rs
+++ b/creator-keys/tests/creator_detail_read_consistency.rs
@@ -23,7 +23,7 @@ fn test_creator_details_identical_across_three_consecutive_reads() {
let handle = String::from_str(&env, "alice");
// Register creator to establish initial state
- client.register_creator(&creator, &handle, &None, &None, &None);
+ client.register_creator(&creator, &handle, &None, &None, &None, &None);
// Perform three consecutive reads with NO state changes between them
let read1 = client.get_creator_details(&creator);
@@ -131,7 +131,7 @@ fn test_creator_details_no_storage_writes_during_reads() {
let creator = soroban_sdk::Address::generate(&env);
let handle = String::from_str(&env, "charlie");
- client.register_creator(&creator, &handle, &None, &None, &None);
+ client.register_creator(&creator, &handle, &None, &None, &None, &None);
// Use a sentinel holder address — no keys held, so balance stays 0.
let sentinel = soroban_sdk::Address::generate(&env);
diff --git a/creator-keys/tests/creator_details_view.rs b/creator-keys/tests/creator_details_view.rs
index aaa2d3e..e7ba28b 100644
--- a/creator-keys/tests/creator_details_view.rs
+++ b/creator-keys/tests/creator_details_view.rs
@@ -29,7 +29,7 @@ fn test_get_creator_details_registered_returns_correct_data() {
let creator = soroban_sdk::Address::generate(&env);
let handle = String::from_str(&env, "alice");
- client.register_creator(&creator, &handle, &None, &None, &None);
+ client.register_creator(&creator, &handle, &None, &None, &None, &None);
let details = client.get_creator_details(&creator);
assert!(details.is_registered);
diff --git a/creator-keys/tests/creator_fee_bps.rs b/creator-keys/tests/creator_fee_bps.rs
index 21d0fdb..3e5109d 100644
--- a/creator-keys/tests/creator_fee_bps.rs
+++ b/creator-keys/tests/creator_fee_bps.rs
@@ -19,6 +19,7 @@ fn test_get_creator_fee_bps_returns_configured_value() {
&None,
&None,
&None,
+ &None,
);
client.set_fee_config(&admin, &9000u32, &1000u32);
@@ -41,6 +42,7 @@ fn test_get_creator_fee_bps_is_read_only() {
&None,
&None,
&None,
+ &None,
);
client.set_fee_config(&admin, &7500u32, &2500u32);
@@ -66,6 +68,7 @@ fn test_get_creator_fee_bps_tracks_fee_config_updates() {
&None,
&None,
&None,
+ &None,
);
client.set_fee_config(&admin, &9000u32, &1000u32);
diff --git a/creator-keys/tests/creator_fee_bps_invalid_reads.rs b/creator-keys/tests/creator_fee_bps_invalid_reads.rs
index 05c6add..4e78167 100644
--- a/creator-keys/tests/creator_fee_bps_invalid_reads.rs
+++ b/creator-keys/tests/creator_fee_bps_invalid_reads.rs
@@ -48,6 +48,7 @@ fn test_get_creator_fee_bps_fails_when_fee_config_not_set() {
&None,
&None,
&None,
+ &None,
);
let result = client.try_get_creator_fee_bps(&creator);
diff --git a/creator-keys/tests/creator_fee_config_view.rs b/creator-keys/tests/creator_fee_config_view.rs
index f29b362..711a629 100644
--- a/creator-keys/tests/creator_fee_config_view.rs
+++ b/creator-keys/tests/creator_fee_config_view.rs
@@ -28,7 +28,7 @@ fn test_get_creator_fee_config_registered_no_fee_config() {
let creator = soroban_sdk::Address::generate(&env);
let handle = String::from_str(&env, "test_creator");
- client.register_creator(&creator, &handle, &None, &None, &None);
+ client.register_creator(&creator, &handle, &None, &None, &None, &None);
let view = client.get_creator_fee_config(&creator);
@@ -50,7 +50,7 @@ fn test_get_creator_fee_config_registered_with_fee_config() {
let creator = soroban_sdk::Address::generate(&env);
let handle = String::from_str(&env, "test_creator");
- client.register_creator(&creator, &handle, &None, &None, &None);
+ client.register_creator(&creator, &handle, &None, &None, &None, &None);
client.set_fee_config(&admin, &9000u32, &1000u32);
let view = client.get_creator_fee_config(&creator);
@@ -73,7 +73,7 @@ fn test_get_creator_fee_config_is_read_only() {
let creator = soroban_sdk::Address::generate(&env);
let handle = String::from_str(&env, "test_creator");
- client.register_creator(&creator, &handle, &None, &None, &None);
+ client.register_creator(&creator, &handle, &None, &None, &None, &None);
client.set_fee_config(&admin, &8000u32, &2000u32);
let v1 = client.get_creator_fee_config(&creator);
@@ -97,7 +97,7 @@ fn test_get_creator_fee_config_updates_after_fee_reconfiguration() {
let creator = soroban_sdk::Address::generate(&env);
let handle = String::from_str(&env, "test_creator");
- client.register_creator(&creator, &handle, &None, &None, &None);
+ client.register_creator(&creator, &handle, &None, &None, &None, &None);
client.set_fee_config(&admin, &9000u32, &1000u32);
let v1 = client.get_creator_fee_config(&creator);
@@ -124,8 +124,8 @@ fn test_get_creator_fee_config_multiple_creators_independent() {
let handle1 = String::from_str(&env, "creator_one");
let handle2 = String::from_str(&env, "creator_two");
- client.register_creator(&creator1, &handle1, &None, &None, &None);
- client.register_creator(&creator2, &handle2, &None, &None, &None);
+ client.register_creator(&creator1, &handle1, &None, &None, &None, &None);
+ client.register_creator(&creator2, &handle2, &None, &None, &None, &None);
client.set_fee_config(&admin, &9000u32, &1000u32);
let view1 = client.get_creator_fee_config(&creator1);
diff --git a/creator-keys/tests/creator_fee_recipient.rs b/creator-keys/tests/creator_fee_recipient.rs
index 8410aac..9563488 100644
--- a/creator-keys/tests/creator_fee_recipient.rs
+++ b/creator-keys/tests/creator_fee_recipient.rs
@@ -19,6 +19,7 @@ fn test_get_creator_fee_recipient_returns_creator_address() {
&None,
&None,
&None,
+ &None,
);
assert_eq!(client.get_creator_fee_recipient(&creator), creator);
@@ -39,6 +40,7 @@ fn test_get_creator_fee_recipient_is_read_only() {
&None,
&None,
&None,
+ &None,
);
let first_read = client.get_creator_fee_recipient(&creator);
diff --git a/creator-keys/tests/creator_registration.rs b/creator-keys/tests/creator_registration.rs
index 80ffb85..d16c0b9 100644
--- a/creator-keys/tests/creator_registration.rs
+++ b/creator-keys/tests/creator_registration.rs
@@ -32,6 +32,7 @@ fn test_is_creator_registered_returns_true_after_registration() {
&None,
&None,
&None,
+ &None,
);
assert!(client.is_creator_registered(&creator));
@@ -52,6 +53,7 @@ fn test_is_creator_registered_is_read_only() {
&None,
&None,
&None,
+ &None,
);
// Multiple calls should return the same result without mutating state
@@ -79,6 +81,7 @@ fn test_is_creator_registered_different_creators_independent() {
&None,
&None,
&None,
+ &None,
);
assert!(client.is_creator_registered(&alice));
@@ -98,9 +101,9 @@ fn test_register_creator_duplicate_fails() {
let creator = Address::generate(&env);
let handle = String::from_str(&env, "alice");
- client.register_creator(&creator, &handle, &None, &None, &None);
+ client.register_creator(&creator, &handle, &None, &None, &None, &None);
// Second registration with the same address should fail with error
- let result = client.try_register_creator(&creator, &handle, &None, &None, &None);
+ let result = client.try_register_creator(&creator, &handle, &None, &None, &None, &None);
assert_eq!(result, Err(Ok(ContractError::AlreadyRegistered)));
}
@@ -120,6 +123,7 @@ fn test_register_creator_duplicate_different_handle_fails() {
&None,
&None,
&None,
+ &None,
);
// Re-registering with a different handle should still fail
let result = client.try_register_creator(
@@ -128,6 +132,7 @@ fn test_register_creator_duplicate_different_handle_fails() {
&None,
&None,
&None,
+ &None,
);
assert_eq!(result, Err(Ok(ContractError::AlreadyRegistered)));
}
@@ -149,8 +154,16 @@ fn test_register_creator_different_addresses_succeeds() {
&None,
&None,
&None,
+ &None,
+ );
+ client.register_creator(
+ &bob,
+ &String::from_str(&env, "bob"),
+ &None,
+ &None,
+ &None,
+ &None,
);
- client.register_creator(&bob, &String::from_str(&env, "bob"), &None, &None, &None);
assert!(client.is_creator_registered(&alice));
assert!(client.is_creator_registered(&bob));
@@ -172,6 +185,7 @@ fn test_register_creator_accepts_min_handle_length() {
&None,
&None,
&None,
+ &None,
);
assert!(client.is_creator_registered(&creator));
@@ -193,6 +207,7 @@ fn test_register_creator_accepts_max_handle_length() {
&None,
&None,
&None,
+ &None,
);
assert!(client.is_creator_registered(&creator));
@@ -214,6 +229,7 @@ fn test_register_creator_rejects_handle_shorter_than_min() {
&None,
&None,
&None,
+ &None,
);
assert_eq!(result, Err(Ok(ContractError::HandleTooShort)));
}
@@ -234,6 +250,7 @@ fn test_register_creator_rejects_handle_longer_than_max() {
&None,
&None,
&None,
+ &None,
);
assert_eq!(result, Err(Ok(ContractError::HandleTooLong)));
}
@@ -248,7 +265,7 @@ fn test_register_creator_rejects_invalid_characters_in_handle() {
let creator = Address::generate(&env);
let invalid_handle = String::from_str(&env, "Alice-01");
- let result = client.try_register_creator(&creator, &invalid_handle, &None, &None, &None);
+ let result = client.try_register_creator(&creator, &invalid_handle, &None, &None, &None, &None);
assert_eq!(result, Err(Ok(ContractError::InvalidHandleCharacter)));
}
@@ -264,7 +281,7 @@ fn test_register_creator_max_length_handle_succeeds() {
let creator = Address::generate(&env);
let max_handle = String::from_str(&env, &"a".repeat(HANDLE_LEN_MAX as usize));
- client.register_creator(&creator, &max_handle, &None, &None, &None);
+ client.register_creator(&creator, &max_handle, &None, &None, &None, &None);
assert!(client.is_creator_registered(&creator));
}
@@ -279,7 +296,8 @@ fn test_register_creator_handle_one_over_max_rejected() {
let creator = Address::generate(&env);
let over_max_handle = String::from_str(&env, &"a".repeat((HANDLE_LEN_MAX + 1) as usize));
- let result = client.try_register_creator(&creator, &over_max_handle, &None, &None, &None);
+ let result =
+ client.try_register_creator(&creator, &over_max_handle, &None, &None, &None, &None);
assert_eq!(result, Err(Ok(ContractError::HandleTooLong)));
}
diff --git a/creator-keys/tests/creator_supply.rs b/creator-keys/tests/creator_supply.rs
index 758d579..6ede717 100644
--- a/creator-keys/tests/creator_supply.rs
+++ b/creator-keys/tests/creator_supply.rs
@@ -17,6 +17,7 @@ fn setup(env: &Env) -> (CreatorKeysContractClient<'_>, Address, Address) {
&None,
&None,
&None,
+ &None,
);
(client, admin, creator)
diff --git a/creator-keys/tests/creator_treasury_share.rs b/creator-keys/tests/creator_treasury_share.rs
index 604ac95..76433c3 100644
--- a/creator-keys/tests/creator_treasury_share.rs
+++ b/creator-keys/tests/creator_treasury_share.rs
@@ -19,6 +19,7 @@ fn test_get_creator_treasury_share_returns_configured_value() {
&None,
&None,
&None,
+ &None,
);
client.set_fee_config(&admin, &9000u32, &1000u32);
@@ -41,6 +42,7 @@ fn test_get_creator_treasury_share_is_read_only() {
&None,
&None,
&None,
+ &None,
);
client.set_fee_config(&admin, &8000u32, &2000u32);
diff --git a/creator-keys/tests/creator_treasury_share_invalid_reads.rs b/creator-keys/tests/creator_treasury_share_invalid_reads.rs
index 8c9140f..7379c00 100644
--- a/creator-keys/tests/creator_treasury_share_invalid_reads.rs
+++ b/creator-keys/tests/creator_treasury_share_invalid_reads.rs
@@ -48,6 +48,7 @@ fn test_get_creator_treasury_share_fails_when_fee_config_not_set() {
&None,
&None,
&None,
+ &None,
);
let result = client.try_get_creator_treasury_share(&creator);
diff --git a/creator-keys/tests/curve_preset_storage.rs b/creator-keys/tests/curve_preset_storage.rs
index 960a349..36270d5 100644
--- a/creator-keys/tests/curve_preset_storage.rs
+++ b/creator-keys/tests/curve_preset_storage.rs
@@ -22,6 +22,7 @@ fn test_curve_preset_variants_and_error_handling() {
&None,
&None,
&Some(CurvePreset::Linear),
+ &None,
);
// Register creator with Quadratic preset
@@ -31,6 +32,7 @@ fn test_curve_preset_variants_and_error_handling() {
&None,
&None,
&Some(CurvePreset::Quadratic),
+ &None,
);
// Register creator with Flat preset
@@ -40,6 +42,7 @@ fn test_curve_preset_variants_and_error_handling() {
&None,
&None,
&Some(CurvePreset::Flat),
+ &None,
);
// Assert each returns the correct variant
diff --git a/creator-keys/tests/emergency_pause.rs b/creator-keys/tests/emergency_pause.rs
index 46d124f..9027894 100644
--- a/creator-keys/tests/emergency_pause.rs
+++ b/creator-keys/tests/emergency_pause.rs
@@ -150,6 +150,7 @@ fn test_register_creator_reverts_when_paused() {
&None,
&None,
&None,
+ &None,
);
assert_eq!(result, Err(Ok(ContractError::ProtocolPaused)));
}
@@ -203,6 +204,8 @@ fn test_pause_blocks_registration_not_reads() {
&soroban_sdk::String::from_str(&env, "creatorb"),
&None,
&None,
+ &None,
+ &None,
);
assert_eq!(result, Err(Ok(ContractError::ProtocolPaused)));
@@ -220,6 +223,8 @@ fn test_pause_blocks_registration_not_reads() {
&soroban_sdk::String::from_str(&env, "creatorb"),
&None,
&None,
+ &None,
+ &None,
)
.unwrap();
}
diff --git a/creator-keys/tests/empty_handle_registration_regression.rs b/creator-keys/tests/empty_handle_registration_regression.rs
index 9efe6cb..ec5f9ed 100644
--- a/creator-keys/tests/empty_handle_registration_regression.rs
+++ b/creator-keys/tests/empty_handle_registration_regression.rs
@@ -15,8 +15,14 @@ fn test_register_creator_rejects_empty_handle() {
let client = CreatorKeysContractClient::new(&env, &contract_id);
let creator = Address::generate(&env);
- let result =
- client.try_register_creator(&creator, &String::from_str(&env, ""), &None, &None, &None);
+ let result = client.try_register_creator(
+ &creator,
+ &String::from_str(&env, ""),
+ &None,
+ &None,
+ &None,
+ &None,
+ );
assert_eq!(result, Err(Ok(ContractError::HandleTooShort)));
assert!(!client.is_creator_registered(&creator));
diff --git a/creator-keys/tests/events.rs b/creator-keys/tests/events.rs
index 577ecc7..519ae9a 100644
--- a/creator-keys/tests/events.rs
+++ b/creator-keys/tests/events.rs
@@ -47,6 +47,7 @@ impl<'a> EventFixture<'a> {
&None,
&None,
&None,
+ &None,
);
}
@@ -234,7 +235,7 @@ fn test_register_creator_event_data_is_indexer_friendly() {
fixture
.client
- .register_creator(&fixture.creator, &handle, &None, &None, &None);
+ .register_creator(&fixture.creator, &handle, &None, &None, &None, &None);
let events = env.events().all();
let last = events.last().unwrap();
diff --git a/creator-keys/tests/flat_curve_symmetry_regression.rs b/creator-keys/tests/flat_curve_symmetry_regression.rs
index 68d1c91..2f3077d 100644
--- a/creator-keys/tests/flat_curve_symmetry_regression.rs
+++ b/creator-keys/tests/flat_curve_symmetry_regression.rs
@@ -92,6 +92,7 @@ fn test_flat_curve_symmetry() {
&None,
&None,
&Some(CurvePreset::Flat),
+ &None,
);
let buyer = Address::generate(&env);
diff --git a/creator-keys/tests/get_locked_allocation_none.rs b/creator-keys/tests/get_locked_allocation_none.rs
index a4422b4..854e3ed 100644
--- a/creator-keys/tests/get_locked_allocation_none.rs
+++ b/creator-keys/tests/get_locked_allocation_none.rs
@@ -47,6 +47,7 @@ fn test_get_locked_allocation_returns_some_when_set() {
}),
&None,
&None,
+ &None,
);
let result = client.get_locked_allocation(&creator);
diff --git a/creator-keys/tests/holder_count_multiple_buyers.rs b/creator-keys/tests/holder_count_multiple_buyers.rs
index bb794a2..93e90ae 100644
--- a/creator-keys/tests/holder_count_multiple_buyers.rs
+++ b/creator-keys/tests/holder_count_multiple_buyers.rs
@@ -23,6 +23,7 @@ fn holder_count_tracks_distinct_buyers_and_decrements_on_exit() {
&None,
&None,
&None,
+ &None,
);
let buyer_a = Address::generate(&env);
diff --git a/creator-keys/tests/holder_count_unchanged_after_supply_cap_exceeded.rs b/creator-keys/tests/holder_count_unchanged_after_supply_cap_exceeded.rs
index 15fe931..6429254 100644
--- a/creator-keys/tests/holder_count_unchanged_after_supply_cap_exceeded.rs
+++ b/creator-keys/tests/holder_count_unchanged_after_supply_cap_exceeded.rs
@@ -24,6 +24,7 @@ fn test_holder_count_unchanged_after_failed_buy_supply_cap_exceeded() {
&None,
&Some(10u32),
&None,
+ &None,
);
// First wallet buys 10 keys to fill the cap.
diff --git a/creator-keys/tests/holder_key_count_view.rs b/creator-keys/tests/holder_key_count_view.rs
index 85042a1..46849ab 100644
--- a/creator-keys/tests/holder_key_count_view.rs
+++ b/creator-keys/tests/holder_key_count_view.rs
@@ -15,6 +15,7 @@ fn setup_with_creator(env: &Env) -> (CreatorKeysContractClient<'_>, Address, Add
&None,
&None,
&None,
+ &None,
);
(client, creator, admin)
}
@@ -184,6 +185,7 @@ fn test_holder_key_count_view_zero_keys_different_creators() {
&None,
&None,
&None,
+ &None,
);
client.register_creator(
&creator_b,
@@ -191,6 +193,7 @@ fn test_holder_key_count_view_zero_keys_different_creators() {
&None,
&None,
&None,
+ &None,
);
// Holder buys keys only from creator A
diff --git a/creator-keys/tests/key_balance.rs b/creator-keys/tests/key_balance.rs
index fbbbe29..bb4ff2e 100644
--- a/creator-keys/tests/key_balance.rs
+++ b/creator-keys/tests/key_balance.rs
@@ -36,6 +36,7 @@ fn test_key_balance_increments_on_buy() {
&None,
&None,
&None,
+ &None,
);
assert_eq!(client.get_key_balance(&creator, &buyer), 0);
@@ -67,6 +68,7 @@ fn test_key_balance_is_per_buyer() {
&None,
&None,
&None,
+ &None,
);
client.buy_key(&creator, &buyer_a, &100i128, &None);
@@ -97,6 +99,7 @@ fn test_key_balance_is_per_creator() {
&None,
&None,
&None,
+ &None,
);
client.register_creator(
&creator_b,
@@ -104,6 +107,7 @@ fn test_key_balance_is_per_creator() {
&None,
&None,
&None,
+ &None,
);
client.buy_key(&creator_a, &buyer, &100i128, &None);
@@ -132,6 +136,7 @@ fn test_key_balance_zero_for_unregistered_creator_even_when_other_balances_exist
&None,
&None,
&None,
+ &None,
);
client.buy_key(®istered_creator, &buyer, &100i128, &None);
@@ -158,6 +163,7 @@ fn test_key_balance_zero_for_registered_creator_and_unseen_wallet() {
&None,
&None,
&None,
+ &None,
);
client.buy_key(&creator, &buyer_with_balance, &100i128, &None);
@@ -185,6 +191,7 @@ fn test_key_balance_returns_zero_for_uninitialized_holder() {
&None,
&None,
&None,
+ &None,
);
client.buy_key(&creator, &buyer_a, &100i128, &None);
client.buy_key(&creator, &buyer_a, &100i128, &None);
diff --git a/creator-keys/tests/key_name.rs b/creator-keys/tests/key_name.rs
index 2675495..f0f6b06 100644
--- a/creator-keys/tests/key_name.rs
+++ b/creator-keys/tests/key_name.rs
@@ -13,7 +13,7 @@ fn test_get_key_name_success() {
let creator = soroban_sdk::Address::generate(&env);
let handle = String::from_str(&env, "alice");
- client.register_creator(&creator, &handle, &None, &None, &None);
+ client.register_creator(&creator, &handle, &None, &None, &None, &None);
let name = client.get_key_name(&creator);
assert_eq!(name, handle);
diff --git a/creator-keys/tests/key_supply.rs b/creator-keys/tests/key_supply.rs
index 471393b..225cf98 100644
--- a/creator-keys/tests/key_supply.rs
+++ b/creator-keys/tests/key_supply.rs
@@ -26,6 +26,7 @@ fn test_get_total_key_supply_returns_zero_for_new_creator() {
&None,
&None,
&None,
+ &None,
);
assert_eq!(client.get_total_key_supply(&creator), 0);
@@ -55,6 +56,7 @@ fn test_get_total_key_supply_increments_after_buy() {
&None,
&None,
&None,
+ &None,
);
assert_eq!(client.get_total_key_supply(&creator), 0);
@@ -80,6 +82,7 @@ fn test_get_total_key_supply_is_read_only() {
&None,
&None,
&None,
+ &None,
);
// Call multiple times — should not change state
@@ -106,6 +109,7 @@ fn test_buy_key_zero_payment_fails() {
&None,
&None,
&None,
+ &None,
);
let result = client.try_buy_key(&creator, &buyer, &0_i128, &None);
@@ -126,6 +130,7 @@ fn test_buy_key_negative_payment_fails() {
&None,
&None,
&None,
+ &None,
);
let result = client.try_buy_key(&creator, &buyer, &-50_i128, &None);
@@ -146,6 +151,7 @@ fn test_buy_key_positive_payment_succeeds() {
&None,
&None,
&None,
+ &None,
);
let supply = client.buy_key(&creator, &buyer, &100_i128, &None);
diff --git a/creator-keys/tests/key_symbol.rs b/creator-keys/tests/key_symbol.rs
index d2e024f..b9e3233 100644
--- a/creator-keys/tests/key_symbol.rs
+++ b/creator-keys/tests/key_symbol.rs
@@ -13,7 +13,7 @@ fn test_get_key_symbol_success() {
let creator = soroban_sdk::Address::generate(&env);
let handle = String::from_str(&env, "alice");
- client.register_creator(&creator, &handle, &None, &None, &None);
+ client.register_creator(&creator, &handle, &None, &None, &None, &None);
let symbol = client.get_key_symbol(&creator);
assert_eq!(symbol, handle);
diff --git a/creator-keys/tests/keys_transferred_event_fields.rs b/creator-keys/tests/keys_transferred_event_fields.rs
index 7040522..f177326 100644
--- a/creator-keys/tests/keys_transferred_event_fields.rs
+++ b/creator-keys/tests/keys_transferred_event_fields.rs
@@ -41,6 +41,7 @@ fn setup_transfer(
&None,
&None,
&None,
+ &None,
);
client.buy_key(&creator, &sender, &KEY_PRICE, &None);
client.transfer_keys(&creator, &sender, &recipient, &TRANSFER_AMOUNT);
diff --git a/creator-keys/tests/locked_allocation_bonding_curve_supply.rs b/creator-keys/tests/locked_allocation_bonding_curve_supply.rs
index f2ccb35..27fe019 100644
--- a/creator-keys/tests/locked_allocation_bonding_curve_supply.rs
+++ b/creator-keys/tests/locked_allocation_bonding_curve_supply.rs
@@ -51,6 +51,7 @@ fn setup(
}),
&None,
&None,
+ &None,
);
let creator_no_alloc = Address::generate(env);
@@ -60,6 +61,7 @@ fn setup(
&None,
&None,
&None,
+ &None,
);
(client, creator_with_alloc, creator_no_alloc)
diff --git a/creator-keys/tests/max_supply_zero_rejected.rs b/creator-keys/tests/max_supply_zero_rejected.rs
index c31a451..fd6805f 100644
--- a/creator-keys/tests/max_supply_zero_rejected.rs
+++ b/creator-keys/tests/max_supply_zero_rejected.rs
@@ -28,6 +28,7 @@ fn test_max_supply_zero_reverts_at_registration() {
&None,
&Some(0),
&None,
+ &None,
);
assert_eq!(
result,
@@ -53,6 +54,7 @@ fn test_no_creator_state_written_after_zero_supply_cap_rejection() {
&None,
&Some(0),
&None,
+ &None,
);
// Creator must not appear as registered
@@ -86,6 +88,7 @@ fn test_max_supply_one_accepted_as_minimum() {
&None,
&Some(1),
&None,
+ &None,
);
assert!(
result.is_ok(),
@@ -119,6 +122,7 @@ fn test_max_supply_none_accepted_no_cap() {
&None,
&None,
&None,
+ &None,
);
assert!(result.is_ok(), "max_supply: None must be accepted (no cap)");
assert!(client.is_creator_registered(&creator));
@@ -146,6 +150,7 @@ fn test_max_supply_two_accepted() {
&None,
&Some(2),
&None,
+ &None,
);
assert!(result.is_ok(), "max_supply: Some(2) must be accepted");
assert_eq!(client.get_max_supply(&creator), Some(2));
@@ -164,6 +169,7 @@ fn test_max_supply_large_value_accepted() {
&None,
&Some(1_000_000),
&None,
+ &None,
);
assert!(
result.is_ok(),
diff --git a/creator-keys/tests/protocol_fee_bps_read.rs b/creator-keys/tests/protocol_fee_bps_read.rs
index bfb6035..7d05a7d 100644
--- a/creator-keys/tests/protocol_fee_bps_read.rs
+++ b/creator-keys/tests/protocol_fee_bps_read.rs
@@ -85,6 +85,7 @@ fn test_get_protocol_fee_bps_persists_across_operations() {
&None,
&None,
&None,
+ &None,
);
client.set_key_price(&admin, &100);
client.buy_key(&creator, &buyer, &100, &None);
diff --git a/creator-keys/tests/protocol_state_version.rs b/creator-keys/tests/protocol_state_version.rs
index 2d4f36b..551d7db 100644
--- a/creator-keys/tests/protocol_state_version.rs
+++ b/creator-keys/tests/protocol_state_version.rs
@@ -108,6 +108,7 @@ fn test_get_protocol_state_version_increments_only_on_config_updates() {
&None,
&None,
&None,
+ &None,
);
client.buy_key(&creator, &buyer, &100i128, &None);
client.set_treasury_address(&admin, &Address::generate(&env));
diff --git a/creator-keys/tests/registration_event_details.rs b/creator-keys/tests/registration_event_details.rs
index d403310..6eab4e5 100644
--- a/creator-keys/tests/registration_event_details.rs
+++ b/creator-keys/tests/registration_event_details.rs
@@ -26,7 +26,7 @@ fn test_register_creator_event_field_values_match_fixtures() {
client.set_fee_config(&admin, &expected_creator_bps, &expected_protocol_bps);
// 3. Trigger registration
- client.register_creator(&creator, &handle, &None, &None, &None);
+ client.register_creator(&creator, &handle, &None, &None, &None, &None);
// 4. Capture the emitted event
let all_events = env.events().all();
@@ -90,6 +90,7 @@ fn test_register_creator_event_fields_update_with_fee_config() {
&None,
&None,
&None,
+ &None,
);
let event1: events::CreatorRegisteredEvent =
@@ -106,6 +107,7 @@ fn test_register_creator_event_fields_update_with_fee_config() {
&None,
&None,
&None,
+ &None,
);
let event2: events::CreatorRegisteredEvent =
diff --git a/creator-keys/tests/sell_event_seller_address.rs b/creator-keys/tests/sell_event_seller_address.rs
index 87232b5..265851d 100644
--- a/creator-keys/tests/sell_event_seller_address.rs
+++ b/creator-keys/tests/sell_event_seller_address.rs
@@ -32,6 +32,7 @@ fn test_sell_event_seller_address_matches_caller() {
&None,
&None,
&None,
+ &None,
);
// Buyer purchases keys
@@ -92,6 +93,7 @@ fn test_sell_event_seller_address_field_is_non_zero() {
&None,
&None,
&None,
+ &None,
);
client.buy_key(&creator, &seller, &KEY_PRICE, &None);
client.sell_key(&creator, &seller, &None);
diff --git a/creator-keys/tests/test_register_creator.rs b/creator-keys/tests/test_register_creator.rs
index a2d07ce..0c38979 100644
--- a/creator-keys/tests/test_register_creator.rs
+++ b/creator-keys/tests/test_register_creator.rs
@@ -13,7 +13,7 @@ fn test_register_creator_minimum_handle_length_success() {
let min_handle = "a".repeat(HANDLE_LEN_MIN as usize);
let handle = String::from_str(&env, &min_handle);
- let result = client.try_register_creator(&creator, &handle, &None, &None, &None);
+ let result = client.try_register_creator(&creator, &handle, &None, &None, &None, &None);
// Happy path: the function succeeds
assert_eq!(result, Ok(Ok(())));
@@ -34,7 +34,7 @@ fn test_register_creator_below_minimum_handle_length_fails() {
let short_handle = "a".repeat((HANDLE_LEN_MIN - 1) as usize);
let handle = String::from_str(&env, &short_handle);
- let result = client.try_register_creator(&creator, &handle, &None, &None, &None);
+ let result = client.try_register_creator(&creator, &handle, &None, &None, &None, &None);
// Error case: expected failure
assert_eq!(result, Err(Ok(ContractError::HandleTooShort)));
diff --git a/creator-keys/tests/total_supply_overflow.rs b/creator-keys/tests/total_supply_overflow.rs
index f563232..fcc2150 100644
--- a/creator-keys/tests/total_supply_overflow.rs
+++ b/creator-keys/tests/total_supply_overflow.rs
@@ -25,6 +25,7 @@ fn buy_at_max_supply_is_rejected_with_overflow_and_no_state_corruption() {
&None,
&None,
&None,
+ &None,
);
// Seed supply at the ceiling to simulate "many sequential buys" cheaply.
diff --git a/creator-keys/tests/transfer_keys.rs b/creator-keys/tests/transfer_keys.rs
index 26f98d7..fcae9b8 100644
--- a/creator-keys/tests/transfer_keys.rs
+++ b/creator-keys/tests/transfer_keys.rs
@@ -23,6 +23,7 @@ fn test_transfer_keys_sender_balance_decreases() {
&None,
&None,
&None,
+ &None,
);
client.buy_key(&creator, &sender, &100, &None);
client.buy_key(&creator, &sender, &100, &None);
@@ -53,6 +54,7 @@ fn test_transfer_keys_recipient_balance_increases() {
&None,
&None,
&None,
+ &None,
);
client.buy_key(&creator, &sender, &100, &None);
@@ -81,6 +83,7 @@ fn test_transfer_keys_total_supply_unchanged() {
&None,
&None,
&None,
+ &None,
);
client.buy_key(&creator, &sender, &100, &None);
client.buy_key(&creator, &sender, &100, &None);
@@ -108,6 +111,7 @@ fn test_transfer_keys_buy_quote_unchanged_after_transfer() {
&None,
&None,
&None,
+ &None,
);
client.buy_key(&creator, &sender, &100, &None);
client.buy_key(&creator, &sender, &100, &None);
@@ -142,6 +146,7 @@ fn test_transfer_keys_sell_quote_unchanged_after_transfer() {
&None,
&None,
&None,
+ &None,
);
client.buy_key(&creator, &sender, &100, &None);
client.buy_key(&creator, &sender, &100, &None);
@@ -172,6 +177,7 @@ fn test_transfer_keys_holder_count_unaffected_when_sender_zero_but_recipient_new
&None,
&None,
&None,
+ &None,
);
client.buy_key(&creator, &sender, &100, &None);
@@ -207,6 +213,7 @@ fn test_transfer_keys_holder_count_increments_when_recipient_new() {
&None,
&None,
&None,
+ &None,
);
client.buy_key(&creator, &sender_a, &100, &None);
client.buy_key(&creator, &sender_b, &100, &None);
@@ -239,6 +246,7 @@ fn test_transfer_keys_self_transfer_reverts() {
&None,
&None,
&None,
+ &None,
);
client.buy_key(&creator, &sender, &100, &None);
@@ -266,6 +274,7 @@ fn test_transfer_keys_zero_amount_reverts() {
&None,
&None,
&None,
+ &None,
);
client.buy_key(&creator, &sender, &100, &None);
@@ -293,6 +302,7 @@ fn test_transfer_keys_exceeding_balance_reverts() {
&None,
&None,
&None,
+ &None,
);
client.buy_key(&creator, &sender, &100, &None);
@@ -336,6 +346,7 @@ fn test_transfer_keys_self_transfer_sender_balance_unchanged() {
&None,
&None,
&None,
+ &None,
);
client.buy_key(&creator, &sender, &100, &None);
client.buy_key(&creator, &sender, &100, &None);
@@ -370,6 +381,7 @@ fn test_transfer_keys_self_transfer_total_supply_unchanged() {
&None,
&None,
&None,
+ &None,
);
client.buy_key(&creator, &sender, &100, &None);
client.buy_key(&creator, &sender, &100, &None);
@@ -406,6 +418,7 @@ fn test_transfer_keys_preserves_other_holders() {
&None,
&None,
&None,
+ &None,
);
client.buy_key(&creator, &sender, &100, &None);
client.buy_key(&creator, &bystander, &100, &None);
diff --git a/creator-keys/tests/transfer_keys_dividend_preservation.rs b/creator-keys/tests/transfer_keys_dividend_preservation.rs
index 0dd8d29..745b521 100644
--- a/creator-keys/tests/transfer_keys_dividend_preservation.rs
+++ b/creator-keys/tests/transfer_keys_dividend_preservation.rs
@@ -26,6 +26,7 @@ fn test_transfer_keys_preserves_claimable_dividends() {
&None,
&None,
&Some(CurvePreset::Flat),
+ &None,
);
let wallet_a = Address::generate(&env);
diff --git a/creator-keys/tests/whitelist_window.rs b/creator-keys/tests/whitelist_window.rs
new file mode 100644
index 0000000..cd34519
--- /dev/null
+++ b/creator-keys/tests/whitelist_window.rs
@@ -0,0 +1,152 @@
+mod contract_test_env;
+
+use contract_test_env::{
+ compute_expected_buy_price, register_creator_keys, set_key_price_for_tests, test_env_with_auths,
+};
+use creator_keys::{ContractError, WhitelistConfig, MAX_WHITELIST_SIZE};
+use soroban_sdk::{
+ testutils::{Address as _, Ledger},
+ vec, Address, String, Vec,
+};
+
+fn register_whitelisted_creator(
+ env: &soroban_sdk::Env,
+ client: &creator_keys::CreatorKeysContractClient<'_>,
+ whitelist: Vec,
+ window_ledgers: u32,
+) -> Address {
+ let creator = Address::generate(env);
+ client.register_creator(
+ &creator,
+ &String::from_str(env, "alice"),
+ &None,
+ &None,
+ &None,
+ &Some(WhitelistConfig {
+ addresses: whitelist,
+ window_ledgers,
+ }),
+ );
+ creator
+}
+
+fn advance_ledgers(env: &soroban_sdk::Env, ledgers: u32) {
+ let mut ledger = env.ledger().get();
+ ledger.sequence_number += ledgers;
+ env.ledger().set(ledger);
+}
+
+#[test]
+fn test_non_whitelisted_wallet_cannot_buy_during_window() {
+ let env = test_env_with_auths();
+ let (client, _) = register_creator_keys(&env);
+ set_key_price_for_tests(&env, &client, 100);
+ let approved = Address::generate(&env);
+ let creator = register_whitelisted_creator(&env, &client, vec![&env, approved], 10);
+ let buyer = Address::generate(&env);
+
+ let result = client.try_buy_key(&creator, &buyer, &100, &None);
+
+ assert_eq!(result, Err(Ok(ContractError::WhitelistOnly)));
+ assert_eq!(client.get_total_key_supply(&creator), 0);
+}
+
+#[test]
+fn test_whitelisted_wallet_can_buy_during_window() {
+ let env = test_env_with_auths();
+ let (client, _) = register_creator_keys(&env);
+ set_key_price_for_tests(&env, &client, 100);
+ let buyer = Address::generate(&env);
+ let creator = register_whitelisted_creator(&env, &client, vec![&env, buyer.clone()], 10);
+
+ let supply = client.buy_key(&creator, &buyer, &100, &None);
+
+ assert_eq!(supply, 1);
+ assert_eq!(client.get_key_balance(&creator, &buyer), 1);
+}
+
+#[test]
+fn test_anyone_can_buy_after_window_expires() {
+ let env = test_env_with_auths();
+ let (client, _) = register_creator_keys(&env);
+ set_key_price_for_tests(&env, &client, 100);
+ let approved = Address::generate(&env);
+ let creator = register_whitelisted_creator(&env, &client, vec![&env, approved], 5);
+ advance_ledgers(&env, 5);
+ let public_buyer = Address::generate(&env);
+
+ let supply = client.buy_key(&creator, &public_buyer, &100, &None);
+
+ assert_eq!(supply, 1);
+}
+
+#[test]
+fn test_get_whitelist_status_tracks_active_and_expired_state() {
+ let env = test_env_with_auths();
+ let (client, _) = register_creator_keys(&env);
+ let buyer = Address::generate(&env);
+ let registered_at = env.ledger().sequence();
+ let creator = register_whitelisted_creator(&env, &client, vec![&env, buyer], 7);
+
+ let active = client.get_whitelist_status(&creator);
+ assert!(active.active);
+ assert_eq!(active.expires_at_ledger, registered_at + 7);
+ assert_eq!(active.remaining_ledgers, 7);
+
+ advance_ledgers(&env, 7);
+ let expired = client.get_whitelist_status(&creator);
+ assert!(!expired.active);
+ assert_eq!(expired.expires_at_ledger, registered_at + 7);
+ assert_eq!(expired.remaining_ledgers, 0);
+}
+
+#[test]
+fn test_whitelist_over_500_addresses_reverts_at_registration() {
+ let env = test_env_with_auths();
+ let (client, _) = register_creator_keys(&env);
+ let creator = Address::generate(&env);
+ let mut addresses = Vec::new(&env);
+ for _ in 0..=MAX_WHITELIST_SIZE {
+ addresses.push_back(Address::generate(&env));
+ }
+
+ let result = client.try_register_creator(
+ &creator,
+ &String::from_str(&env, "alice"),
+ &None,
+ &None,
+ &None,
+ &Some(WhitelistConfig {
+ addresses,
+ window_ledgers: 10,
+ }),
+ );
+
+ assert_eq!(result, Err(Ok(ContractError::WhitelistTooLarge)));
+ assert!(!client.is_creator_registered(&creator));
+}
+
+#[test]
+fn test_none_whitelist_allows_public_buy_immediately() {
+ let env = test_env_with_auths();
+ let (client, _) = register_creator_keys(&env);
+ set_key_price_for_tests(&env, &client, 100);
+ let creator = Address::generate(&env);
+ client.register_creator(
+ &creator,
+ &String::from_str(&env, "alice"),
+ &None,
+ &None,
+ &None,
+ &None,
+ );
+ let buyer = Address::generate(&env);
+
+ let quote = compute_expected_buy_price(0, 100);
+ let supply = client.buy_key(&creator, &buyer, "e, &None);
+ let status = client.get_whitelist_status(&creator);
+
+ assert_eq!(supply, 1);
+ assert!(!status.active);
+ assert_eq!(status.remaining_ledgers, 0);
+}
From 2bbfbf459456fe3aa1b78f6ccfefb3a0583ae9b2 Mon Sep 17 00:00:00 2001
From: Okoli Johnpaul Sochimaobi <132228270+Johnpii1@users.noreply.github.com>
Date: Mon, 29 Jun 2026 08:57:06 +0100
Subject: [PATCH 02/10] Fix formatting and cleanup in emergency_pause tests
---
creator-keys/tests/emergency_pause.rs | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/creator-keys/tests/emergency_pause.rs b/creator-keys/tests/emergency_pause.rs
index e419423..517cfa5 100644
--- a/creator-keys/tests/emergency_pause.rs
+++ b/creator-keys/tests/emergency_pause.rs
@@ -205,10 +205,7 @@ fn test_pause_blocks_registration_not_reads() {
&None,
&None,
&None,
-
&None,
-
-
);
assert_eq!(result, Err(Ok(ContractError::ProtocolPaused)));
@@ -220,6 +217,7 @@ fn test_pause_blocks_registration_not_reads() {
// Unpause — creator_b registration must now succeed
client.unpause(&admin);
assert!(!client.get_is_paused());
+
let _ = client
.try_register_creator(
&creator_b,
@@ -227,9 +225,7 @@ fn test_pause_blocks_registration_not_reads() {
&None,
&None,
&None,
-
&None,
-
)
.unwrap();
}
From 14d4a92faff95bf560776ddfc52fe5e9a2725715 Mon Sep 17 00:00:00 2001
From: Okoli Johnpaul Sochimaobi <132228270+Johnpii1@users.noreply.github.com>
Date: Mon, 29 Jun 2026 10:25:17 +0100
Subject: [PATCH 03/10] Fix governance poll registration tests
---
creator-keys/tests/governance_polls.rs | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/creator-keys/tests/governance_polls.rs b/creator-keys/tests/governance_polls.rs
index cf5675f..ed65a67 100644
--- a/creator-keys/tests/governance_polls.rs
+++ b/creator-keys/tests/governance_polls.rs
@@ -26,6 +26,7 @@ fn creator_can_create_poll_and_view_empty_result() {
&None,
&None,
&None,
+ &None,
);
let question = String::from_str(&env, "Should we launch premium content?");
@@ -59,6 +60,7 @@ fn holder_vote_uses_liquid_key_balance_as_weight() {
&None,
&None,
&None,
+ &None,
);
let holder = Address::generate(&env);
@@ -96,6 +98,7 @@ fn changing_vote_before_expiry_updates_tally() {
&None,
&None,
&None,
+ &None,
);
let holder = Address::generate(&env);
@@ -136,6 +139,7 @@ fn vote_after_expiry_reverts_with_poll_expired() {
&None,
&None,
&None,
+ &None,
);
let holder = Address::generate(&env);
@@ -173,6 +177,7 @@ fn non_holder_vote_reverts_with_not_a_holder() {
&None,
&None,
&None,
+ &None,
);
let non_holder = Address::generate(&env);
@@ -204,6 +209,7 @@ fn invalid_vote_option_reverts() {
&None,
&None,
&None,
+ &None,
);
let holder = Address::generate(&env);
From d81197c553a46a956c7a85e0ecda24b714071cab Mon Sep 17 00:00:00 2001
From: Okoli Johnpaul Sochimaobi <132228270+Johnpii1@users.noreply.github.com>
Date: Mon, 29 Jun 2026 14:00:45 +0100
Subject: [PATCH 04/10] Fix creator keys contract compilation
---
creator-keys/src/lib.rs | 6 +++---
creator-keys/tests/treasury_withdrawal.rs | 3 +++
2 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/creator-keys/src/lib.rs b/creator-keys/src/lib.rs
index f823c15..3c1101f 100644
--- a/creator-keys/src/lib.rs
+++ b/creator-keys/src/lib.rs
@@ -76,8 +76,8 @@ pub enum ContractError {
ZeroTransferAmount = 27,
WhitelistOnly = 28,
WhitelistTooLarge = 29,
- InsufficientTreasuryBalance = 28,
- BatchClaimExceedsLimit = 29,
+ InsufficientTreasuryBalance = 30,
+ BatchClaimExceedsLimit = 31,
}
pub mod fee {
@@ -499,6 +499,7 @@ pub enum DataKey {
CurveSlope,
CurvePreset(Address),
Whitelist(Address),
+ TreasuryBalance,
}
/// Immutable early-access whitelist configuration set at creator registration.
@@ -516,7 +517,6 @@ pub struct WhitelistStatus {
pub active: bool,
pub expires_at_ledger: u32,
pub remaining_ledgers: u32,
- TreasuryBalance,
}
/// Time-locked key allocation for creator self-vesting.
diff --git a/creator-keys/tests/treasury_withdrawal.rs b/creator-keys/tests/treasury_withdrawal.rs
index cb9fec4..da6fcbb 100644
--- a/creator-keys/tests/treasury_withdrawal.rs
+++ b/creator-keys/tests/treasury_withdrawal.rs
@@ -37,6 +37,7 @@ fn buy_one_key(env: &Env, client: &CreatorKeysContractClient<'_>) -> i128 {
&None,
&None,
&None,
+ &None,
);
client.buy_key(&creator, &buyer, &100i128, &None);
// 10% of 100 = 10 stroops
@@ -73,6 +74,7 @@ fn get_treasury_balance_accumulates_across_multiple_buys() {
&None,
&None,
&None,
+ &None,
);
let buyer1 = Address::generate(&env);
@@ -203,6 +205,7 @@ fn withdraw_treasury_multiple_partial_withdrawals_track_correctly() {
&None,
&None,
&None,
+ &None,
);
let buyer = Address::generate(&env);
From 10233a8edf96b78a63a7a09f4efb705cf7114067 Mon Sep 17 00:00:00 2001
From: Okoli Johnpaul Sochimaobi <132228270+Johnpii1@users.noreply.github.com>
Date: Mon, 29 Jun 2026 18:52:33 +0100
Subject: [PATCH 05/10] Document creator registration merge boundaries
---
creator-keys/src/lib.rs | 2 ++
1 file changed, 2 insertions(+)
diff --git a/creator-keys/src/lib.rs b/creator-keys/src/lib.rs
index 3c1101f..0c8f0a1 100644
--- a/creator-keys/src/lib.rs
+++ b/creator-keys/src/lib.rs
@@ -1225,6 +1225,8 @@ impl CreatorKeysContract {
// Persist profile before event publication so indexers reading contract state
// after this tx observe the same registration payload that was emitted.
+ // Keep the registration TTL and event emission in this block so merge conflict
+ // resolutions do not accidentally splice registration state writes into trading flows.
env.storage().persistent().set(&key, &profile);
// Set initial TTL for creator storage
let extend_to = current_ledger + CREATOR_TTL_LEDGERS;
From 977399d40a336997ed800da98f8709b25b441bd6 Mon Sep 17 00:00:00 2001
From: Okoli Johnpaul Sochimaobi <132228270+Johnpii1@users.noreply.github.com>
Date: Mon, 29 Jun 2026 20:13:08 +0100
Subject: [PATCH 06/10] Fix CI regression coverage
---
creator-keys/src/lib.rs | 3 +-
...flat_curve_lower_than_linear_regression.rs | 46 +++++++++----------
2 files changed, 23 insertions(+), 26 deletions(-)
diff --git a/creator-keys/src/lib.rs b/creator-keys/src/lib.rs
index 0c8f0a1..ad2fcf6 100644
--- a/creator-keys/src/lib.rs
+++ b/creator-keys/src/lib.rs
@@ -1226,7 +1226,8 @@ impl CreatorKeysContract {
// Persist profile before event publication so indexers reading contract state
// after this tx observe the same registration payload that was emitted.
// Keep the registration TTL and event emission in this block so merge conflict
- // resolutions do not accidentally splice registration state writes into trading flows.
+ // resolutions do not accidentally splice registration state writes into trading flows
+ // or leave the `register_creator` implementation with an unclosed delimiter.
env.storage().persistent().set(&key, &profile);
// Set initial TTL for creator storage
let extend_to = current_ledger + CREATOR_TTL_LEDGERS;
diff --git a/creator-keys/tests/flat_curve_lower_than_linear_regression.rs b/creator-keys/tests/flat_curve_lower_than_linear_regression.rs
index eece476..5ddbf0f 100644
--- a/creator-keys/tests/flat_curve_lower_than_linear_regression.rs
+++ b/creator-keys/tests/flat_curve_lower_than_linear_regression.rs
@@ -14,45 +14,45 @@ use contract_test_env::{
register_creator_keys, register_test_creator, set_curve_slope, set_pricing_and_fees,
test_env_with_auths,
};
-use soroban_sdk::{testutils::Address as _, Address};
+use creator_keys::constants;
+use soroban_sdk::Address;
const KEY_PRICE: i128 = 1_000;
const CREATOR_BPS: u32 = 9_000;
const PROTOCOL_BPS: u32 = 1_000;
const LINEAR_SLOPE: i128 = 1;
-// Covers price + fees at any supply ≤ 10_000 with slope=1 (max price = 11_000)
-const SAFE_PAYMENT: i128 = KEY_PRICE * 30;
-
-fn advance_supply_to(
+fn set_registered_supply(
+ env: &soroban_sdk::Env,
+ contract_id: &Address,
client: &creator_keys::CreatorKeysContractClient<'_>,
creator: &Address,
- buyer: &Address,
target: u32,
) {
- let current = client.get_total_key_supply(creator);
- for _ in current..target {
- client.buy_key(creator, buyer, &SAFE_PAYMENT, &None);
- }
+ let mut profile = client.get_creator(creator);
+ profile.supply = target;
+ env.as_contract(contract_id, || {
+ env.storage()
+ .persistent()
+ .set(&constants::storage::creator(creator), &profile);
+ });
}
#[test]
fn test_flat_buy_price_lower_than_linear_at_supply_100() {
let env = test_env_with_auths();
- let (client, _) = register_creator_keys(&env);
+ let (client, contract_id) = register_creator_keys(&env);
set_pricing_and_fees(&env, &client, KEY_PRICE, CREATOR_BPS, PROTOCOL_BPS);
- let buyer = Address::generate(&env);
-
// Flat curve: slope = 0 → price stays at KEY_PRICE regardless of supply
set_curve_slope(&env, &client, 0);
let creator_flat = register_test_creator(&env, &client, "flat");
- advance_supply_to(&client, &creator_flat, &buyer, 100);
+ set_registered_supply(&env, &contract_id, &client, &creator_flat, 100);
let flat_quote = client.get_buy_quote(&creator_flat);
// Linear curve: slope > 0 → price grows with supply
set_curve_slope(&env, &client, LINEAR_SLOPE);
let creator_linear = register_test_creator(&env, &client, "linear");
- advance_supply_to(&client, &creator_linear, &buyer, 100);
+ set_registered_supply(&env, &contract_id, &client, &creator_linear, 100);
let linear_quote = client.get_buy_quote(&creator_linear);
assert!(
@@ -66,19 +66,17 @@ fn test_flat_buy_price_lower_than_linear_at_supply_100() {
#[test]
fn test_flat_buy_price_lower_than_linear_at_supply_1000() {
let env = test_env_with_auths();
- let (client, _) = register_creator_keys(&env);
+ let (client, contract_id) = register_creator_keys(&env);
set_pricing_and_fees(&env, &client, KEY_PRICE, CREATOR_BPS, PROTOCOL_BPS);
- let buyer = Address::generate(&env);
-
set_curve_slope(&env, &client, 0);
let creator_flat = register_test_creator(&env, &client, "flat");
- advance_supply_to(&client, &creator_flat, &buyer, 1000);
+ set_registered_supply(&env, &contract_id, &client, &creator_flat, 1000);
let flat_quote = client.get_buy_quote(&creator_flat);
set_curve_slope(&env, &client, LINEAR_SLOPE);
let creator_linear = register_test_creator(&env, &client, "linear");
- advance_supply_to(&client, &creator_linear, &buyer, 1000);
+ set_registered_supply(&env, &contract_id, &client, &creator_linear, 1000);
let linear_quote = client.get_buy_quote(&creator_linear);
assert!(
@@ -92,19 +90,17 @@ fn test_flat_buy_price_lower_than_linear_at_supply_1000() {
#[test]
fn test_flat_buy_price_lower_than_linear_at_supply_10000() {
let env = test_env_with_auths();
- let (client, _) = register_creator_keys(&env);
+ let (client, contract_id) = register_creator_keys(&env);
set_pricing_and_fees(&env, &client, KEY_PRICE, CREATOR_BPS, PROTOCOL_BPS);
- let buyer = Address::generate(&env);
-
set_curve_slope(&env, &client, 0);
let creator_flat = register_test_creator(&env, &client, "flat");
- advance_supply_to(&client, &creator_flat, &buyer, 10_000);
+ set_registered_supply(&env, &contract_id, &client, &creator_flat, 10_000);
let flat_quote = client.get_buy_quote(&creator_flat);
set_curve_slope(&env, &client, LINEAR_SLOPE);
let creator_linear = register_test_creator(&env, &client, "linear");
- advance_supply_to(&client, &creator_linear, &buyer, 10_000);
+ set_registered_supply(&env, &contract_id, &client, &creator_linear, 10_000);
let linear_quote = client.get_buy_quote(&creator_linear);
assert!(
From 4ef5ea04517d1854350d76f37646c8e714a6bc68 Mon Sep 17 00:00:00 2001
From: Okoli Johnpaul Sochimaobi <132228270+Johnpii1@users.noreply.github.com>
Date: Tue, 30 Jun 2026 05:31:34 +0100
Subject: [PATCH 07/10] Stabilize creator registration TTL handling
---
creator-keys/src/lib.rs | 38 ++++++++++++++++++++++----------------
1 file changed, 22 insertions(+), 16 deletions(-)
diff --git a/creator-keys/src/lib.rs b/creator-keys/src/lib.rs
index ad2fcf6..3f4e253 100644
--- a/creator-keys/src/lib.rs
+++ b/creator-keys/src/lib.rs
@@ -1054,6 +1054,27 @@ fn assert_whitelist_buy_allowed(
Err(ContractError::WhitelistOnly)
}
+fn extend_creator_registration_ttl(
+ env: &Env,
+ creator_key: &DataKey,
+ preset_key: &DataKey,
+ whitelist_key: &DataKey,
+ current_ledger: u32,
+) {
+ let extend_to = current_ledger + CREATOR_TTL_LEDGERS;
+ env.storage()
+ .persistent()
+ .extend_ttl(creator_key, current_ledger, extend_to);
+ env.storage()
+ .persistent()
+ .extend_ttl(preset_key, current_ledger, extend_to);
+ if env.storage().persistent().has(whitelist_key) {
+ env.storage()
+ .persistent()
+ .extend_ttl(whitelist_key, current_ledger, extend_to);
+ }
+}
+
fn extend_creator_ttl(env: &Env, creator: &Address) {
let current_ledger = env.ledger().sequence();
let extend_to = current_ledger + CREATOR_TTL_LEDGERS;
@@ -1225,23 +1246,8 @@ impl CreatorKeysContract {
// Persist profile before event publication so indexers reading contract state
// after this tx observe the same registration payload that was emitted.
- // Keep the registration TTL and event emission in this block so merge conflict
- // resolutions do not accidentally splice registration state writes into trading flows
- // or leave the `register_creator` implementation with an unclosed delimiter.
env.storage().persistent().set(&key, &profile);
- // Set initial TTL for creator storage
- let extend_to = current_ledger + CREATOR_TTL_LEDGERS;
- env.storage()
- .persistent()
- .extend_ttl(&key, current_ledger, extend_to);
- env.storage()
- .persistent()
- .extend_ttl(&preset_key, current_ledger, extend_to);
- if env.storage().persistent().has(&whitelist_key) {
- env.storage()
- .persistent()
- .extend_ttl(&whitelist_key, current_ledger, extend_to);
- }
+ extend_creator_registration_ttl(&env, &key, &preset_key, &whitelist_key, current_ledger);
env.events().publish(
events::register_event_topics(&profile.creator),
From be000b206bbd19118d0f17d987639c3981567a3d Mon Sep 17 00:00:00 2001
From: Okoli Johnpaul Sochimaobi <132228270+Johnpii1@users.noreply.github.com>
Date: Tue, 30 Jun 2026 06:06:59 +0100
Subject: [PATCH 08/10] Document registration TTL delimiter guard
---
creator-keys/src/lib.rs | 43 ++++++++++++++++++++++++++---------------
1 file changed, 27 insertions(+), 16 deletions(-)
diff --git a/creator-keys/src/lib.rs b/creator-keys/src/lib.rs
index ad2fcf6..cbbdee7 100644
--- a/creator-keys/src/lib.rs
+++ b/creator-keys/src/lib.rs
@@ -1054,6 +1054,32 @@ fn assert_whitelist_buy_allowed(
Err(ContractError::WhitelistOnly)
}
+/// Extends all storage entries written during creator registration in one place.
+///
+/// Keeping this outside `register_creator` avoids another nested storage block in
+/// the registration method, which makes delimiter issues easier to spot during
+/// merge conflict resolution and keeps `cargo fmt --all -- --check` reliable.
+fn extend_creator_registration_ttl(
+ env: &Env,
+ creator_key: &DataKey,
+ preset_key: &DataKey,
+ whitelist_key: &DataKey,
+ current_ledger: u32,
+) {
+ let extend_to = current_ledger + CREATOR_TTL_LEDGERS;
+ env.storage()
+ .persistent()
+ .extend_ttl(creator_key, current_ledger, extend_to);
+ env.storage()
+ .persistent()
+ .extend_ttl(preset_key, current_ledger, extend_to);
+ if env.storage().persistent().has(whitelist_key) {
+ env.storage()
+ .persistent()
+ .extend_ttl(whitelist_key, current_ledger, extend_to);
+ }
+}
+
fn extend_creator_ttl(env: &Env, creator: &Address) {
let current_ledger = env.ledger().sequence();
let extend_to = current_ledger + CREATOR_TTL_LEDGERS;
@@ -1225,23 +1251,8 @@ impl CreatorKeysContract {
// Persist profile before event publication so indexers reading contract state
// after this tx observe the same registration payload that was emitted.
- // Keep the registration TTL and event emission in this block so merge conflict
- // resolutions do not accidentally splice registration state writes into trading flows
- // or leave the `register_creator` implementation with an unclosed delimiter.
env.storage().persistent().set(&key, &profile);
- // Set initial TTL for creator storage
- let extend_to = current_ledger + CREATOR_TTL_LEDGERS;
- env.storage()
- .persistent()
- .extend_ttl(&key, current_ledger, extend_to);
- env.storage()
- .persistent()
- .extend_ttl(&preset_key, current_ledger, extend_to);
- if env.storage().persistent().has(&whitelist_key) {
- env.storage()
- .persistent()
- .extend_ttl(&whitelist_key, current_ledger, extend_to);
- }
+ extend_creator_registration_ttl(&env, &key, &preset_key, &whitelist_key, current_ledger);
env.events().publish(
events::register_event_topics(&profile.creator),
From dffbcd3d47f824d2b154c77eff4bf844cf105881 Mon Sep 17 00:00:00 2001
From: Johnpii1
Date: Tue, 30 Jun 2026 08:47:45 +0100
Subject: [PATCH 09/10] fixed build error
---
creator-keys/src/lib.rs | 148 +---------------------------------------
1 file changed, 2 insertions(+), 146 deletions(-)
diff --git a/creator-keys/src/lib.rs b/creator-keys/src/lib.rs
index 2b3be76..a50d994 100644
--- a/creator-keys/src/lib.rs
+++ b/creator-keys/src/lib.rs
@@ -1,7 +1,7 @@
#![no_std]
pub mod quote_view_errors;
-use soroban_sdk::{contract, contracterror, contractimpl, contracttype, Address, Env, String, Vec};
+use soroban_sdk::{contract, contracterror, contractimpl, contracttype, Address, Env, String};
pub mod events;
@@ -74,14 +74,9 @@ pub enum ContractError {
InsufficientSupply = 25,
SelfTransfer = 26,
ZeroTransferAmount = 27,
- WhitelistOnly = 28,
- WhitelistTooLarge = 29,
- InsufficientTreasuryBalance = 30,
- BatchClaimExceedsLimit = 31,
InsufficientTreasuryBalance = 28,
BatchClaimExceedsLimit = 29,
InvalidCoCreatorShare = 30,
-
}
pub mod fee {
@@ -345,10 +340,6 @@ pub mod constants {
pub fn max_supply(creator: &Address) -> DataKey {
DataKey::MaxSupply(creator.clone())
}
-
- pub fn whitelist(creator: &Address) -> DataKey {
- DataKey::Whitelist(creator.clone())
- }
}
fn creator_key(creator: &Address) -> DataKey {
@@ -490,7 +481,6 @@ pub const KEY_DECIMALS: u32 = 7;
pub const CREATOR_TTL_LEDGERS: u32 = 6311520; // ~2 years at 5s per ledger
pub const HANDLE_LEN_MIN: u32 = 3;
pub const HANDLE_LEN_MAX: u32 = 32;
-pub const MAX_WHITELIST_SIZE: u32 = 500;
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
#[contracttype]
@@ -525,29 +515,11 @@ pub enum DataKey {
MaxSupply(Address),
CurveSlope,
CurvePreset(Address),
- Whitelist(Address),
TreasuryBalance,
CoCreator(Address),
CoCreatorFeeBalance(Address, Address),
}
-/// Immutable early-access whitelist configuration set at creator registration.
-#[derive(Clone, Debug, PartialEq)]
-#[contracttype]
-pub struct WhitelistConfig {
- pub addresses: Vec,
- pub window_ledgers: u32,
-}
-
-/// Read-only whitelist window status for a creator.
-#[derive(Clone, Debug, PartialEq)]
-#[contracttype]
-pub struct WhitelistStatus {
- pub active: bool,
- pub expires_at_ledger: u32,
- pub remaining_ledgers: u32,
-}
-
/// Time-locked key allocation for creator self-vesting.
///
/// When a creator registers, they may optionally lock a portion of keys
@@ -1122,69 +1094,6 @@ fn compute_claimable_dividend(env: &Env, creator: &Address, holder: &Address) ->
/// This function extends the TTL of the creator's primary storage entries
/// to prevent active creator state from expiring. Called after successful
/// buy and sell operations.
-fn read_whitelist_config(env: &Env, creator: &Address) -> Option {
- env.storage()
- .persistent()
- .get(&constants::storage::whitelist(creator))
-}
-
-fn whitelist_expires_at(profile: &CreatorProfile, config: &WhitelistConfig) -> Option {
- profile.registered_at.checked_add(config.window_ledgers)
-}
-
-fn is_whitelist_window_active(
- env: &Env,
- profile: &CreatorProfile,
- config: &WhitelistConfig,
-) -> bool {
- if config.window_ledgers == 0 {
- return false;
- }
- whitelist_expires_at(profile, config)
- .map(|expires_at| env.ledger().sequence() < expires_at)
- .unwrap_or(false)
-}
-
-fn assert_whitelist_buy_allowed(
- env: &Env,
- profile: &CreatorProfile,
- buyer: &Address,
-) -> Result<(), ContractError> {
- let Some(config) = read_whitelist_config(env, &profile.creator) else {
- return Ok(());
- };
- if !is_whitelist_window_active(env, profile, &config) {
- return Ok(());
- }
- for address in config.addresses.iter() {
- if address == *buyer {
- return Ok(());
- }
- }
- Err(ContractError::WhitelistOnly)
-}
-
-fn extend_creator_registration_ttl(
- env: &Env,
- creator_key: &DataKey,
- preset_key: &DataKey,
- whitelist_key: &DataKey,
- current_ledger: u32,
-) {
- let extend_to = current_ledger + CREATOR_TTL_LEDGERS;
- env.storage()
- .persistent()
- .extend_ttl(creator_key, current_ledger, extend_to);
- env.storage()
- .persistent()
- .extend_ttl(preset_key, current_ledger, extend_to);
- if env.storage().persistent().has(whitelist_key) {
- env.storage()
- .persistent()
- .extend_ttl(whitelist_key, current_ledger, extend_to);
- }
-}
-
fn extend_creator_ttl(env: &Env, creator: &Address) {
let current_ledger = env.ledger().sequence();
let extend_to = current_ledger + CREATOR_TTL_LEDGERS;
@@ -1223,13 +1132,6 @@ fn extend_creator_ttl(env: &Env, creator: &Address) {
.extend_ttl(&max_supply_key, threshold, extend_to);
}
- let whitelist_key = constants::storage::whitelist(creator);
- if env.storage().persistent().has(&whitelist_key) {
- env.storage()
- .persistent()
- .extend_ttl(&whitelist_key, threshold, extend_to);
- }
-
let curve_preset_key = constants::storage::curve_preset(creator);
if env.storage().persistent().has(&curve_preset_key) {
env.storage()
@@ -1277,7 +1179,6 @@ impl CreatorKeysContract {
/// - `locked_allocation`: optional time-locked key allocation for creator self-vesting.
/// If provided, `unlock_ledger` must be strictly greater than current ledger.
/// - `max_supply`: optional maximum supply cap. If provided, must be greater than zero.
- /// - `whitelist_window`: optional immutable early-access address list and ledger duration.
/// - `co_creator`: optional immutable collaborator split. If provided, `share_bps`
/// must be in the inclusive range `1..=9999`.
pub fn register_creator(
@@ -1287,9 +1188,7 @@ impl CreatorKeysContract {
locked_allocation: Option,
max_supply: Option,
curve_preset: Option,
- whitelist_window: Option,
co_creator: Option,
-
) -> Result<(), ContractError> {
creator.require_auth();
assert_not_paused(&env)?;
@@ -1352,15 +1251,6 @@ impl CreatorKeysContract {
.set(&constants::storage::max_supply(&creator), &cap);
}
- // Handle immutable whitelist window
- let whitelist_key = constants::storage::whitelist(&creator);
- if let Some(config) = whitelist_window {
- if config.addresses.len() > MAX_WHITELIST_SIZE {
- return Err(ContractError::WhitelistTooLarge);
- }
- env.storage().persistent().set(&whitelist_key, &config);
- }
-
// Handle curve preset
let preset = curve_preset.unwrap_or(CurvePreset::Linear);
let preset_key = constants::storage::curve_preset(&creator);
@@ -1389,8 +1279,6 @@ impl CreatorKeysContract {
// Persist profile before event publication so indexers reading contract state
// after this tx observe the same registration payload that was emitted.
env.storage().persistent().set(&key, &profile);
- extend_creator_registration_ttl(&env, &key, &preset_key, &whitelist_key, current_ledger);
-
// Set initial TTL for creator storage
let extend_to = current_ledger + CREATOR_TTL_LEDGERS;
env.storage()
@@ -1406,8 +1294,6 @@ impl CreatorKeysContract {
.extend_ttl(&co_creator_key, current_ledger, extend_to);
}
-
-
env.events().publish(
events::register_event_topics(&profile.creator),
events::CreatorRegisteredEvent {
@@ -1446,7 +1332,6 @@ impl CreatorKeysContract {
let mut profile: CreatorProfile = read_registered_creator_profile(&env, &creator)?;
let price = compute_bonding_curve_price(&env, &creator, base_price, profile.supply)?;
- assert_whitelist_buy_allowed(&env, &profile, &buyer)?;
assert_buy_price_slippage(price, max_price)?;
if payment < price {
@@ -1734,35 +1619,6 @@ impl CreatorKeysContract {
read_registered_creator_profile(&env, &creator)
}
- /// Read-only view: returns whitelist window status for a registered creator.
- pub fn get_whitelist_status(
- env: Env,
- creator: Address,
- ) -> Result {
- let profile = read_registered_creator_profile(&env, &creator)?;
- let Some(config) = read_whitelist_config(&env, &creator) else {
- return Ok(WhitelistStatus {
- active: false,
- expires_at_ledger: profile.registered_at,
- remaining_ledgers: 0,
- });
- };
- let expires_at_ledger =
- whitelist_expires_at(&profile, &config).ok_or(ContractError::Overflow)?;
- let current = env.ledger().sequence();
- let active = config.window_ledgers > 0 && current < expires_at_ledger;
- let remaining_ledgers = if active {
- expires_at_ledger - current
- } else {
- 0
- };
- Ok(WhitelistStatus {
- active,
- expires_at_ledger,
- remaining_ledgers,
- })
- }
-
/// Read-only view: returns stable creator details.
///
/// Returns a [`CreatorDetailsView`] regardless of registration status.
@@ -3245,4 +3101,4 @@ mod tests {
}
#[cfg(test)]
-mod test_issues;
+mod test_issues;
\ No newline at end of file
From 6593cceb8fe0d5cd059e034500adc96a574435d8 Mon Sep 17 00:00:00 2001
From: Okoli Johnpaul Sochimaobi <132228270+Johnpii1@users.noreply.github.com>
Date: Tue, 30 Jun 2026 12:48:59 +0100
Subject: [PATCH 10/10] Refactor creator registration parameters
---
creator-keys/src/lib.rs | 131 ++++-
creator-keys/src/test.rs | 492 ++++++++++++++++--
creator-keys/src/test_issues.rs | 24 +-
...th_overflow_and_no_state_corruption.1.json | 24 +-
...tinct_buyers_and_decrements_on_exit.1.json | 24 +-
...invariant_100_creator_zero_protocol.1.json | 24 +-
...e_split_invariant_50_50_equal_split.1.json | 66 ++-
..._split_invariant_90_10_nominal_case.1.json | 66 ++-
...variant_across_multiple_fee_configs.1.json | 138 ++++-
..._split_invariant_across_price_range.1.json | 282 ++++++++--
...it_invariant_boundary_odd_price_999.1.json | 66 ++-
..._split_invariant_boundary_price_one.1.json | 24 +-
..._split_invariant_boundary_price_two.1.json | 66 ++-
..._invariant_deterministic_assertions.1.json | 66 ++-
...ll_fee_split_invariant_large_amount.1.json | 66 ++-
...t_invariant_max_protocol_50_percent.1.json | 66 ++-
...e_split_invariant_zero_net_boundary.1.json | 138 ++++-
..._net_is_zero_fees_absorb_full_price.1.json | 24 +-
...0_50_price_ten_equal_split_zero_net.1.json | 66 ++-
...ice_protocol_takes_first_floor_unit.1.json | 66 ++-
...ne_all_creator_no_protocol_rounding.1.json | 24 +-
...favors_creator_on_indivisible_price.1.json | 66 ++-
...price_floors_protocol_share_to_zero.1.json | 24 +-
...tly_across_sequential_distributions.1.json | 66 ++-
...tches_rejects_unexpected_identifier.1.json | 24 +-
.../test_balance_after_buys_then_sells.1.json | 24 +-
...ce_after_sequence_of_buys_and_sells.1.json | 24 +-
.../test_balance_with_non_zero_initial.1.json | 24 +-
...t_batch_length_matches_input_length.1.json | 48 +-
...ndividual_get_creator_details_calls.1.json | 48 +-
...h_mixed_registered_and_unregistered.1.json | 48 +-
.../test_batch_preserves_input_order.1.json | 72 ++-
...stered_creators_have_correct_fields.1.json | 24 +-
...fee_recipient_balance_by_bps_amount.1.json | 66 ++-
...ent_buyer_address_field_is_non_zero.1.json | 24 +-
..._event_buyer_address_matches_caller.1.json | 24 +-
...y_key_event_includes_payment_amount.1.json | 24 +-
...d_fields_are_validated_from_fixture.1.json | 24 +-
..._tracks_new_supply_across_purchases.1.json | 24 +-
...uy_key_event_present_after_purchase.1.json | 24 +-
...nt_topics_include_creator_and_buyer.1.json | 24 +-
..._buy_key_insufficient_payment_fails.1.json | 24 +-
...test_buy_key_negative_payment_fails.1.json | 24 +-
...t_buy_key_positive_payment_succeeds.1.json | 24 +-
.../test_buy_key_reverts_when_paused.1.json | 24 +-
...test_buy_key_succeeds_after_unpause.1.json | 24 +-
...buy_key_sufficient_payment_succeeds.1.json | 24 +-
...key_with_large_safe_amount_succeeds.1.json | 24 +-
...key_with_maximum_safe_i128_succeeds.1.json | 24 +-
.../test_buy_key_zero_payment_fails.1.json | 24 +-
..._stream_does_not_earn_retroactively.1.json | 66 ++-
...istic_across_zero_supply_transition.1.json | 68 ++-
...quote_fees_sum_to_total_minus_price.1.json | 66 ++-
..._identical_across_consecutive_calls.1.json | 24 +-
...ote_is_stable_across_multiple_calls.1.json | 24 +-
...ote_monotonic_with_zero_creator_fee.1.json | 66 ++-
...te_monotonic_with_zero_protocol_fee.1.json | 24 +-
...e_creators_independent_monotonicity.1.json | 90 +++-
...t_buy_quote_price_point_1_is_stable.1.json | 24 +-
...y_quote_price_point_large_is_stable.1.json | 66 ++-
..._across_multiple_buyers_small_range.1.json | 66 ++-
...ote_price_unchanged_after_five_buys.1.json | 66 ++-
...quote_price_unchanged_after_one_buy.1.json | 66 ++-
...ecomputed_after_sell_reduces_supply.1.json | 68 ++-
...tability_with_different_fee_configs.1.json | 24 +-
...able_across_50_sequential_purchases.1.json | 66 ++-
...e_stable_over_medium_volume_20_buys.1.json | 66 ++-
...uote_total_amount_never_below_price.1.json | 66 ++-
...dering_is_deterministic_small_range.1.json | 66 ++-
...nchanged_after_creator_registration.1.json | 48 +-
...e_updates_after_fee_config_mutation.1.json | 24 +-
...uy_quote_with_large_amount_succeeds.1.json | 24 +-
...mum_safe_amount_50_50_fees_succeeds.1.json | 24 +-
...e_with_maximum_safe_amount_succeeds.1.json | 24 +-
...zero_supply_consistent_across_calls.1.json | 24 +-
...zero_supply_returns_first_key_price.1.json | 24 +-
...uy_quote_zero_supply_various_prices.1.json | 144 ++++-
...t_buy_quote_zero_supply_well_formed.1.json | 24 +-
...everts_when_price_exceeds_max_price.1.json | 24 +-
...ds_when_price_at_or_below_max_price.1.json | 66 ++-
...s_symmetric_price_impact_after_fees.1.json | 68 ++-
...n_buy_price_under_fixed_price_model.1.json | 66 ++-
...ce_and_does_credit_protocol_balance.1.json | 66 ++-
...uyback_event_emits_expected_payload.1.json | 66 ++-
...ly_reverts_with_insufficient_supply.1.json | 66 ++-
...full_supply_clears_creator_position.1.json | 66 ++-
...te_matches_execution_at_supply_five.1.json | 68 ++-
...ote_matches_execution_at_supply_one.1.json | 68 ++-
..._reduces_supply_and_creator_balance.1.json | 66 ++-
..._buyback_rejects_non_creator_caller.1.json | 66 ++-
...low_amount_even_if_supply_is_higher.1.json | 66 ++-
.../test_buyback_zero_amount_reverts.1.json | 67 ++-
...ividend_after_sell_captures_pending.1.json | 68 ++-
...m_dividend_event_topics_and_payload.1.json | 66 ++-
...d_happy_path_returns_correct_amount.1.json | 66 ++-
...t_claim_dividend_no_claimable_fails.1.json | 66 ++-
...proportional_amounts_across_holders.1.json | 66 ++-
...m_dividend_resets_claimable_to_zero.1.json | 66 ++-
...t_claim_dividend_while_paused_fails.1.json | 66 ++-
...verts_at_every_ledger_before_unlock.1.json | 24 +-
...llocation_succeeds_at_unlock_ledger.1.json | 24 +-
...etails_consistency_across_ten_reads.1.json | 24 +-
...ss_five_consecutive_reads_after_buy.1.json | 24 +-
...ical_across_three_consecutive_reads.1.json | 24 +-
...ails_no_storage_writes_during_reads.1.json | 24 +-
...ibute_dividend_deducts_protocol_fee.1.json | 66 ++-
...e_dividend_event_topics_and_payload.1.json | 66 ++-
...bute_dividend_negative_amount_fails.1.json | 24 +-
...ribute_dividend_no_fee_config_fails.1.json | 24 +-
...ibute_dividend_no_key_holders_fails.1.json | 24 +-
...te_dividend_proportional_to_balance.1.json | 66 ++-
...end_single_holder_receives_full_net.1.json | 66 ++-
...dend_two_equal_holders_split_evenly.1.json | 66 ++-
...tribute_dividend_while_paused_fails.1.json | 66 ++-
...stribute_dividend_zero_amount_fails.1.json | 24 +-
...ouble_claim_fails_with_no_claimable.1.json | 66 ++-
...om_all_distributions_via_checkpoint.1.json | 66 ++-
...pdate_does_not_affect_other_creator.1.json | 48 +-
...uote_zero_amount_returns_noop_quote.1.json | 24 +-
...eturns_price_plus_protocol_fee_only.1.json | 66 ++-
...nd_accumulates_across_distributions.1.json | 66 ++-
...dividend_correct_after_distribution.1.json | 66 ++-
...get_claimable_dividend_is_read_only.1.json | 66 ++-
...aimable_dividend_works_while_paused.1.json | 66 ++-
...claimable_dividend_zero_after_claim.1.json | 66 ++-
...vidend_zero_before_any_distribution.1.json | 66 ++-
..._unregistered_does_not_mutate_state.1.json | 24 +-
...ts_latest_state_after_buy_then_sell.1.json | 24 +-
...ils_registered_returns_correct_data.1.json | 24 +-
...t_creator_details_updates_after_buy.1.json | 24 +-
...e_bps_fails_when_fee_config_not_set.1.json | 24 +-
...st_get_creator_fee_bps_is_read_only.1.json | 24 +-
...or_fee_bps_returns_configured_value.1.json | 24 +-
...r_fee_bps_tracks_fee_config_updates.1.json | 24 +-
...get_creator_fee_config_is_read_only.1.json | 24 +-
...onfig_multiple_creators_independent.1.json | 48 +-
...fee_config_registered_no_fee_config.1.json | 24 +-
...e_config_registered_with_fee_config.1.json | 24 +-
...g_updates_after_fee_reconfiguration.1.json | 24 +-
..._creator_fee_recipient_is_read_only.1.json | 24 +-
...e_recipient_returns_creator_address.1.json | 24 +-
...cceeds_after_supply_returns_to_zero.1.json | 24 +-
...est_get_creator_supply_is_read_only.1.json | 24 +-
...eator_supply_returns_current_supply.1.json | 24 +-
...share_fails_when_fee_config_not_set.1.json | 24 +-
...creator_treasury_share_is_read_only.1.json | 24 +-
...sury_share_returns_configured_value.1.json | 24 +-
.../test_get_creators_batch_success.1.json | 48 +-
...consistent_across_creator_instances.1.json | 48 +-
.../test_get_key_name_success.1.json | 24 +-
.../test_get_key_symbol_success.1.json | 24 +-
...n_increments_only_on_config_updates.1.json | 66 ++-
...uote_zero_amount_returns_noop_quote.1.json | 24 +-
...tal_key_supply_increments_after_buy.1.json | 24 +-
...t_get_total_key_supply_is_read_only.1.json | 24 +-
...supply_returns_zero_for_new_creator.1.json | 24 +-
...ount_reflects_mixed_trade_correctly.1.json | 24 +-
...ro_after_last_holder_exit_and_rebuy.1.json | 24 +-
...nchanged_when_holder_still_has_keys.1.json | 24 +-
...ew_consistency_with_get_key_balance.1.json | 24 +-
...er_key_count_view_increments_on_buy.1.json | 24 +-
...der_key_count_view_multiple_holders.1.json | 24 +-
...er_key_count_view_no_state_mutation.1.json | 24 +-
...ew_registered_creator_unseen_wallet.1.json | 24 +-
...older_key_count_view_starts_at_zero.1.json | 24 +-
...der_key_count_view_structure_fields.1.json | 24 +-
...t_view_zero_keys_different_creators.1.json | 48 +-
...cal_fee_configs_apply_independently.1.json | 90 +++-
...ered_different_creators_independent.1.json | 24 +-
..._is_creator_registered_is_read_only.1.json | 24 +-
...red_returns_true_after_registration.1.json | 24 +-
...s_correctly_after_each_partial_sell.1.json | 24 +-
.../test_key_balance_increments_on_buy.1.json | 24 +-
.../test_key_balance_is_per_buyer.1.json | 24 +-
.../test_key_balance_is_per_creator.1.json | 48 +-
...turns_zero_for_uninitialized_holder.1.json | 24 +-
...egistered_creator_and_unseen_wallet.1.json | 24 +-
...ator_even_when_other_balances_exist.1.json | 24 +-
...t_multiple_distributions_accumulate.1.json | 66 ++-
...tion_earns_no_retroactive_dividends.1.json | 66 ++-
...t_read_only_views_work_while_paused.1.json | 24 +-
...r_creator_accepts_max_handle_length.1.json | 24 +-
...r_creator_accepts_min_handle_length.1.json | 24 +-
...reator_different_addresses_succeeds.1.json | 48 +-
...or_duplicate_different_handle_fails.1.json | 24 +-
...st_register_creator_duplicate_fails.1.json | 24 +-
.../test_register_creator_emits_event.1.json | 24 +-
...ator_event_data_is_indexer_friendly.1.json | 24 +-
...r_event_field_values_match_fixtures.1.json | 24 +-
...event_fields_update_with_fee_config.1.json | 48 +-
...t_register_creator_event_fires_once.1.json | 24 +-
..._creator_max_length_handle_succeeds.1.json | 24 +-
...eator_minimum_handle_length_success.1.json | 24 +-
...tered_at_enables_chronological_sort.1.json | 72 ++-
...s_captured_at_registration_sequence.1.json | 24 +-
..._at_is_immutable_after_buy_and_sell.1.json | 24 +-
.../test_registered_at_is_read_only.1.json | 24 +-
...o_amount_quote_calls_no_state_drift.1.json | 24 +-
...uy_succeeds_without_underflow_error.1.json | 24 +-
..._then_rebuy_starts_fresh_on_pending.1.json | 68 ++-
...nt_seller_address_field_is_non_zero.1.json | 24 +-
...event_seller_address_matches_caller.1.json | 24 +-
...cution_applies_updated_protocol_fee.1.json | 68 ++-
...tches_quote_after_fee_config_update.1.json | 68 ++-
..._full_exit_then_rebuy_updates_state.1.json | 24 +-
...ol_fee_recipient_balance_by_bps_fee.1.json | 68 ++-
...l_key_decrements_supply_and_balance.1.json | 24 +-
...d_fields_are_validated_from_fixture.1.json | 24 +-
..._tracks_zero_supply_after_last_sale.1.json | 24 +-
...l_key_fails_when_seller_has_no_keys.1.json | 24 +-
...er_count_when_seller_still_has_keys.1.json | 24 +-
...emoves_holder_when_last_key_is_sold.1.json | 24 +-
.../test_sell_key_reverts_when_paused.1.json | 24 +-
...alance_accumulates_across_two_sells.1.json | 68 ++-
...eeds_match_execution_at_supply_five.1.json | 68 ++-
...ceeds_match_execution_at_supply_one.1.json | 68 ++-
...ll_quote_with_large_amount_succeeds.1.json | 66 ++-
...mum_safe_amount_50_50_fees_succeeds.1.json | 66 ++-
...e_with_maximum_safe_amount_succeeds.1.json | 66 ++-
...t_holder_no_keys_returns_zero_quote.1.json | 24 +-
...e_zero_amount_no_state_modification.1.json | 66 ++-
...uote_zero_amount_returns_zero_quote.1.json | 66 ++-
...te_zero_supply_boundary_is_rejected.1.json | 24 +-
...sell_underflow_without_state_change.1.json | 24 +-
...hen_seller_has_insufficient_balance.1.json | 24 +-
...g_last_returns_insufficient_balance.1.json | 24 +-
...ts_when_proceeds_below_min_proceeds.1.json | 66 ++-
...roceeds_meet_or_exceed_min_proceeds.1.json | 68 ++-
...ys_succeeds_without_underflow_error.1.json | 24 +-
...o_keys_returns_insufficient_balance.1.json | 24 +-
...through_preserves_existing_behavior.1.json | 68 ++-
...t_supply_alternating_buys_and_sells.1.json | 24 +-
...ce_decremented_correctly_after_sell.1.json | 24 +-
...upply_buy_then_sell_returns_to_zero.1.json | 24 +-
...y_buy_two_sell_one_conserves_supply.1.json | 24 +-
...r_one_creator_do_not_affect_another.1.json | 48 +-
...ply_mixed_trades_three_participants.1.json | 24 +-
...le_buys_per_holder_sum_equals_total.1.json | 24 +-
...ver_goes_below_zero_after_all_sells.1.json | 24 +-
...upply_three_buyers_sum_equals_total.1.json | 24 +-
...er_failed_sell_insufficient_balance.1.json | 24 +-
...ed_after_failed_sell_not_registered.1.json | 24 +-
..._buy_quote_unchanged_after_transfer.1.json | 66 ++-
...sfer_keys_exceeding_balance_reverts.1.json | 66 ++-
...count_increments_when_recipient_new.1.json | 66 ++-
..._when_sender_zero_but_recipient_new.1.json | 66 ++-
...ansfer_keys_preserves_other_holders.1.json | 66 ++-
...er_keys_recipient_balance_increases.1.json | 66 ++-
...transfer_keys_self_transfer_reverts.1.json | 66 ++-
...sell_quote_unchanged_after_transfer.1.json | 66 ++-
...nsfer_keys_sender_balance_decreases.1.json | 66 ++-
...ransfer_keys_total_supply_unchanged.1.json | 66 ++-
...t_transfer_keys_zero_amount_reverts.1.json | 66 ++-
...rotocol_fees_across_distinct_buyers.1.json | 66 ++-
...ter_failed_buy_insufficient_payment.1.json | 24 +-
...ter_failed_buy_unregistered_creator.1.json | 66 ++-
...er_failed_sell_insufficient_balance.1.json | 66 ++-
...yment_to_creator_after_protocol_fee.1.json | 66 ++-
...no_rounding_errors_with_odd_amounts.1.json | 66 ++-
...eator_bps_with_partial_protocol_fee.1.json | 66 ++-
...rotocol_bps_full_payment_to_creator.1.json | 24 +-
creator-keys/tests/buy_event_buyer_address.rs | 14 +-
creator-keys/tests/buy_key_event.rs | 14 +-
...claim_locked_allocation_ledger_boundary.rs | 14 +-
...m_locked_allocation_non_creator_reverts.rs | 7 +-
.../tests/co_creator_revenue_split.rs | 14 +-
creator-keys/tests/contract_test_env/mod.rs | 14 +-
.../tests/creator_detail_read_consistency.rs | 24 +-
creator-keys/tests/creator_details_view.rs | 12 +-
creator-keys/tests/creator_fee_bps.rs | 21 +-
.../tests/creator_fee_bps_invalid_reads.rs | 7 +-
creator-keys/tests/creator_fee_config_view.rs | 72 ++-
creator-keys/tests/creator_fee_recipient.rs | 14 +-
creator-keys/tests/creator_registration.rs | 138 ++++-
creator-keys/tests/creator_supply.rs | 7 +-
creator-keys/tests/creator_treasury_share.rs | 14 +-
.../creator_treasury_share_invalid_reads.rs | 7 +-
creator-keys/tests/curve_preset_storage.rs | 21 +-
creator-keys/tests/emergency_pause.rs | 21 +-
.../empty_handle_registration_regression.rs | 7 +-
creator-keys/tests/events.rs | 21 +-
.../tests/flat_curve_symmetry_regression.rs | 7 +-
.../tests/get_locked_allocation_none.rs | 7 +-
creator-keys/tests/governance_polls.rs | 42 +-
.../tests/holder_count_multiple_buyers.rs | 7 +-
...unt_unchanged_after_supply_cap_exceeded.rs | 7 +-
creator-keys/tests/holder_key_count_view.rs | 21 +-
creator-keys/tests/key_balance.rs | 49 +-
creator-keys/tests/key_name.rs | 12 +-
creator-keys/tests/key_supply.rs | 42 +-
creator-keys/tests/key_symbol.rs | 12 +-
.../tests/keys_transferred_event_fields.rs | 7 +-
.../locked_allocation_bonding_curve_supply.rs | 14 +-
.../tests/max_supply_zero_rejected.rs | 42 +-
creator-keys/tests/protocol_fee_bps_read.rs | 7 +-
creator-keys/tests/protocol_state_version.rs | 7 +-
.../tests/registration_event_details.rs | 26 +-
.../tests/sell_event_seller_address.rs | 14 +-
creator-keys/tests/test_register_creator.rs | 24 +-
creator-keys/tests/total_supply_overflow.rs | 7 +-
creator-keys/tests/transfer_keys.rs | 91 +++-
.../transfer_keys_dividend_preservation.rs | 7 +-
creator-keys/tests/treasury_withdrawal.rs | 21 +-
creator-keys/tests/whitelist_window.rs | 21 +-
304 files changed, 11482 insertions(+), 1481 deletions(-)
diff --git a/creator-keys/src/lib.rs b/creator-keys/src/lib.rs
index a50d994..b466266 100644
--- a/creator-keys/src/lib.rs
+++ b/creator-keys/src/lib.rs
@@ -1,7 +1,7 @@
#![no_std]
pub mod quote_view_errors;
-use soroban_sdk::{contract, contracterror, contractimpl, contracttype, Address, Env, String};
+use soroban_sdk::{contract, contracterror, contractimpl, contracttype, Address, Env, String, Vec};
pub mod events;
@@ -77,6 +77,8 @@ pub enum ContractError {
InsufficientTreasuryBalance = 28,
BatchClaimExceedsLimit = 29,
InvalidCoCreatorShare = 30,
+ WhitelistOnly = 31,
+ WhitelistTooLarge = 32,
}
pub mod fee {
@@ -313,6 +315,10 @@ pub mod constants {
DataKey::CoCreatorFeeBalance(creator.clone(), co_creator.clone())
}
+ pub fn whitelist(creator: &Address) -> DataKey {
+ DataKey::Whitelist(creator.clone())
+ }
+
pub fn creator(creator: &Address) -> DataKey {
creator_key(creator)
}
@@ -481,6 +487,7 @@ pub const KEY_DECIMALS: u32 = 7;
pub const CREATOR_TTL_LEDGERS: u32 = 6311520; // ~2 years at 5s per ledger
pub const HANDLE_LEN_MIN: u32 = 3;
pub const HANDLE_LEN_MAX: u32 = 32;
+pub const MAX_WHITELIST_SIZE: u32 = 500;
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
#[contracttype]
@@ -518,6 +525,7 @@ pub enum DataKey {
TreasuryBalance,
CoCreator(Address),
CoCreatorFeeBalance(Address, Address),
+ Whitelist(Address),
}
/// Time-locked key allocation for creator self-vesting.
@@ -543,6 +551,35 @@ pub struct CoCreatorConfig {
pub share_bps: u32,
}
+/// Required creator identity fields for registration.
+///
+/// Grouping these fields keeps the public contract entrypoint under Clippy's
+/// argument-count threshold without changing validation or storage behavior for
+/// any registration option.
+#[derive(Clone, Debug, Eq, PartialEq)]
+#[contracttype]
+pub struct RegisterCreatorParams {
+ pub creator: Address,
+ pub handle: String,
+}
+
+/// Optional whitelist window configured at creator registration.
+#[derive(Clone, Debug, PartialEq)]
+#[contracttype]
+pub struct WhitelistConfig {
+ pub addresses: Vec,
+ pub window_ledgers: u32,
+}
+
+/// Read-only status for a creator's whitelist window.
+#[derive(Clone, Debug, Eq, PartialEq)]
+#[contracttype]
+pub struct WhitelistStatus {
+ pub active: bool,
+ pub expires_at_ledger: u32,
+ pub remaining_ledgers: u32,
+}
+
#[derive(Clone, Debug, PartialEq)]
#[contracttype]
pub struct CreatorProfile {
@@ -566,6 +603,57 @@ pub struct ClaimResult {
pub amount_claimed: i128,
}
+fn validate_whitelist_config(config: &WhitelistConfig) -> Result<(), ContractError> {
+ if config.addresses.len() > MAX_WHITELIST_SIZE {
+ return Err(ContractError::WhitelistTooLarge);
+ }
+ Ok(())
+}
+
+fn read_whitelist_config(env: &Env, creator: &Address) -> Option {
+ env.storage()
+ .persistent()
+ .get::(&constants::storage::whitelist(creator))
+}
+
+fn whitelist_status(env: &Env, profile: &CreatorProfile) -> WhitelistStatus {
+ let Some(config) = read_whitelist_config(env, &profile.creator) else {
+ return WhitelistStatus {
+ active: false,
+ expires_at_ledger: 0,
+ remaining_ledgers: 0,
+ };
+ };
+ let expires_at_ledger = profile.registered_at.saturating_add(config.window_ledgers);
+ let current_ledger = env.ledger().sequence();
+ let remaining_ledgers = expires_at_ledger.saturating_sub(current_ledger);
+ WhitelistStatus {
+ active: remaining_ledgers > 0,
+ expires_at_ledger,
+ remaining_ledgers,
+ }
+}
+
+fn assert_whitelist_allows_buy(
+ env: &Env,
+ profile: &CreatorProfile,
+ buyer: &Address,
+) -> Result<(), ContractError> {
+ let status = whitelist_status(env, profile);
+ if !status.active {
+ return Ok(());
+ }
+ let Some(config) = read_whitelist_config(env, &profile.creator) else {
+ return Ok(());
+ };
+ for address in config.addresses.iter() {
+ if address == *buyer {
+ return Ok(());
+ }
+ }
+ Err(ContractError::WhitelistOnly)
+}
+
/// Reads a creator profile from storage, returning `None` for unregistered creators.
///
/// Use this helper wherever repeated creator read logic is needed to keep
@@ -1183,13 +1271,15 @@ impl CreatorKeysContract {
/// must be in the inclusive range `1..=9999`.
pub fn register_creator(
env: Env,
- creator: Address,
- handle: String,
+ params: RegisterCreatorParams,
locked_allocation: Option,
max_supply: Option,
curve_preset: Option,
co_creator: Option,
+ whitelist: Option,
) -> Result<(), ContractError> {
+ let RegisterCreatorParams { creator, handle } = params;
+
creator.require_auth();
assert_not_paused(&env)?;
@@ -1197,6 +1287,9 @@ impl CreatorKeysContract {
if let Some(config) = co_creator.as_ref() {
validate_co_creator_config(&env, config)?;
}
+ if let Some(config) = whitelist.as_ref() {
+ validate_whitelist_config(config)?;
+ }
let key = constants::storage::creator(&creator);
// Creator profile storage is a single source of truth keyed by creator address.
@@ -1262,6 +1355,12 @@ impl CreatorKeysContract {
.set(&constants::storage::co_creator(&creator), &config);
}
+ if let Some(config) = whitelist {
+ env.storage()
+ .persistent()
+ .set(&constants::storage::whitelist(&creator), &config);
+ }
+
let profile = CreatorProfile {
creator: creator.clone(),
handle,
@@ -1293,6 +1392,12 @@ impl CreatorKeysContract {
.persistent()
.extend_ttl(&co_creator_key, current_ledger, extend_to);
}
+ let whitelist_key = constants::storage::whitelist(&creator);
+ if env.storage().persistent().has(&whitelist_key) {
+ env.storage()
+ .persistent()
+ .extend_ttl(&whitelist_key, current_ledger, extend_to);
+ }
env.events().publish(
events::register_event_topics(&profile.creator),
@@ -1330,6 +1435,7 @@ impl CreatorKeysContract {
.ok_or(ContractError::KeyPriceNotSet)?;
let mut profile: CreatorProfile = read_registered_creator_profile(&env, &creator)?;
+ assert_whitelist_allows_buy(&env, &profile, &buyer)?;
let price = compute_bonding_curve_price(&env, &creator, base_price, profile.supply)?;
assert_buy_price_slippage(price, max_price)?;
@@ -1761,10 +1867,21 @@ impl CreatorKeysContract {
.unwrap_or(0)
}
- /// Read-only view: returns whether a creator is registered in the contract.
+ /// Read-only view: returns a creator's whitelist window status.
///
- /// Returns `true` if a [`CreatorProfile`] exists for the given address,
- /// `false` otherwise. Does not mutate state.
+ /// Returns inactive defaults for unregistered creators or creators without
+ /// a configured whitelist. Does not mutate state.
+ pub fn get_whitelist_status(env: Env, creator: Address) -> WhitelistStatus {
+ let Some(profile) = read_creator_profile(&env, &creator) else {
+ return WhitelistStatus {
+ active: false,
+ expires_at_ledger: 0,
+ remaining_ledgers: 0,
+ };
+ };
+ whitelist_status(&env, &profile)
+ }
+
pub fn is_creator_registered(env: Env, creator: Address) -> bool {
read_creator_profile(&env, &creator).is_some()
}
@@ -3101,4 +3218,4 @@ mod tests {
}
#[cfg(test)]
-mod test_issues;
\ No newline at end of file
+mod test_issues;
diff --git a/creator-keys/src/test.rs b/creator-keys/src/test.rs
index 8811800..0ff4498 100644
--- a/creator-keys/src/test.rs
+++ b/creator-keys/src/test.rs
@@ -19,7 +19,17 @@ fn test_register_creator_with_locked_allocation() {
claimed: false,
};
- client.register_creator(&creator, &handle, &Some(locked), &None, &None, &None);
+ client.register_creator(
+ &crate::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: handle.clone(),
+ },
+ &Some(locked),
+ &None,
+ &None,
+ &None,
+ &None
+);
let stored = client.get_locked_allocation(&creator).unwrap();
assert_eq!(stored.amount, 100);
@@ -47,7 +57,17 @@ fn test_register_creator_locked_allocation_reverts_past_ledger() {
claimed: false,
};
- let result = client.try_register_creator(&creator, &handle, &Some(locked), &None, &None, &None);
+ let result = client.try_register_creator(
+ &crate::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: handle.clone(),
+ },
+ &Some(locked),
+ &None,
+ &None,
+ &None,
+ &None
+);
assert_eq!(result, Err(Ok(ContractError::AllocationLocked)));
}
@@ -68,7 +88,17 @@ fn test_claim_locked_allocation_success() {
claimed: false,
};
- client.register_creator(&creator, &handle, &Some(locked), &None, &None, &None);
+ client.register_creator(
+ &crate::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: handle.clone(),
+ },
+ &Some(locked),
+ &None,
+ &None,
+ &None,
+ &None
+);
// Advance ledger past unlock
ledger_info.sequence_number = 250;
@@ -100,7 +130,17 @@ fn test_claim_locked_allocation_reverts_early() {
claimed: false,
};
- client.register_creator(&creator, &handle, &Some(locked), &None, &None, &None);
+ client.register_creator(
+ &crate::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: handle.clone(),
+ },
+ &Some(locked),
+ &None,
+ &None,
+ &None,
+ &None
+);
// Try to claim before unlock
let result = client.try_claim_locked_allocation(&creator);
@@ -124,7 +164,17 @@ fn test_claim_locked_allocation_reverts_double_claim() {
claimed: false,
};
- client.register_creator(&creator, &handle, &Some(locked), &None, &None, &None);
+ client.register_creator(
+ &crate::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: handle.clone(),
+ },
+ &Some(locked),
+ &None,
+ &None,
+ &None,
+ &None
+);
// Advance ledger past unlock
ledger_info.sequence_number = 250;
@@ -162,7 +212,17 @@ fn test_get_locked_allocation_returns_allocation_when_set() {
claimed: false,
};
- client.register_creator(&creator, &handle, &Some(locked), &None, &None, &None);
+ client.register_creator(
+ &crate::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: handle.clone(),
+ },
+ &Some(locked),
+ &None,
+ &None,
+ &None,
+ &None
+);
let result = client.get_locked_allocation(&creator).unwrap();
assert_eq!(result.amount, 100);
@@ -184,7 +244,17 @@ fn test_transfer_keys_basic() {
let recipient = Address::generate(&env);
client.set_key_price(&admin, &100i128);
- client.register_creator(&creator, &String::from_str(&env, "alice"), &None, &None, &None, &None);
+ client.register_creator(
+ &crate::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
+ &None,
+ &None,
+ &None,
+ &None,
+ &None
+);
client.buy_key(&creator, &sender, &100i128, &None);
client.buy_key(&creator, &sender, &100i128, &None);
client.buy_key(&creator, &sender, &100i128, &None);
@@ -208,7 +278,17 @@ fn test_transfer_keys_sender_zeroed_out() {
let recipient = Address::generate(&env);
client.set_key_price(&admin, &100i128);
- client.register_creator(&creator, &String::from_str(&env, "alice"), &None, &None, &None, &None);
+ client.register_creator(
+ &crate::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
+ &None,
+ &None,
+ &None,
+ &None,
+ &None
+);
client.buy_key(&creator, &sender, &100i128, &None);
client.transfer_keys(&creator, &sender, &recipient, &1);
@@ -230,7 +310,17 @@ fn test_transfer_keys_new_recipient() {
let recipient = Address::generate(&env);
client.set_key_price(&admin, &100i128);
- client.register_creator(&creator, &String::from_str(&env, "alice"), &None, &None, &None, &None);
+ client.register_creator(
+ &crate::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
+ &None,
+ &None,
+ &None,
+ &None,
+ &None
+);
client.buy_key(&creator, &sender, &100i128, &None);
let supply_before = client.get_total_key_supply(&creator);
@@ -252,7 +342,17 @@ fn test_transfer_keys_self_transfer_reverts() {
let sender = Address::generate(&env);
client.set_key_price(&admin, &100i128);
- client.register_creator(&creator, &String::from_str(&env, "alice"), &None, &None, &None, &None);
+ client.register_creator(
+ &crate::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
+ &None,
+ &None,
+ &None,
+ &None,
+ &None
+);
client.buy_key(&creator, &sender, &100i128, &None);
let result = client.try_transfer_keys(&creator, &sender, &sender, &1);
@@ -271,7 +371,17 @@ fn test_transfer_keys_zero_amount_reverts() {
let recipient = Address::generate(&env);
client.set_key_price(&admin, &100i128);
- client.register_creator(&creator, &String::from_str(&env, "alice"), &None, &None, &None, &None);
+ client.register_creator(
+ &crate::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
+ &None,
+ &None,
+ &None,
+ &None,
+ &None
+);
client.buy_key(&creator, &sender, &100i128, &None);
let result = client.try_transfer_keys(&creator, &sender, &recipient, &0);
@@ -290,7 +400,17 @@ fn test_transfer_keys_insufficient_balance_reverts() {
let recipient = Address::generate(&env);
client.set_key_price(&admin, &100i128);
- client.register_creator(&creator, &String::from_str(&env, "alice"), &None, &None, &None, &None);
+ client.register_creator(
+ &crate::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
+ &None,
+ &None,
+ &None,
+ &None,
+ &None
+);
client.buy_key(&creator, &sender, &100i128, &None);
let result = client.try_transfer_keys(&creator, &sender, &recipient, &2);
@@ -308,7 +428,17 @@ fn test_register_creator_with_max_supply() {
let creator = Address::generate(&env);
let handle = String::from_str(&env, "alice");
- client.register_creator(&creator, &handle, &None, &Some(1000), &None, &None);
+ client.register_creator(
+ &crate::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: handle.clone(),
+ },
+ &None,
+ &Some(1000),
+ &None,
+ &None,
+ &None
+);
let cap = client.get_max_supply(&creator).unwrap();
assert_eq!(cap, 1000);
@@ -323,7 +453,17 @@ fn test_register_creator_max_supply_zero_reverts() {
let creator = Address::generate(&env);
let handle = String::from_str(&env, "alice");
- let result = client.try_register_creator(&creator, &handle, &None, &Some(0), &None, &None);
+ let result = client.try_register_creator(
+ &crate::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: handle.clone(),
+ },
+ &None,
+ &Some(0),
+ &None,
+ &None,
+ &None
+);
assert_eq!(result, Err(Ok(ContractError::NotPositiveAmount)));
}
@@ -338,7 +478,17 @@ fn test_buy_exceeds_max_supply_reverts() {
let admin = Address::generate(&env);
let handle = String::from_str(&env, "alice");
- client.register_creator(&creator, &handle, &None, &Some(5), &None, &None);
+ client.register_creator(
+ &crate::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: handle.clone(),
+ },
+ &None,
+ &Some(5),
+ &None,
+ &None,
+ &None
+);
client.set_key_price(&admin, &100);
client.set_fee_config(&admin, &9000, &1000);
@@ -363,7 +513,17 @@ fn test_buy_within_max_supply_succeeds() {
let admin = Address::generate(&env);
let handle = String::from_str(&env, "alice");
- client.register_creator(&creator, &handle, &None, &Some(10), &None, &None);
+ client.register_creator(
+ &crate::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: handle.clone(),
+ },
+ &None,
+ &Some(10),
+ &None,
+ &None,
+ &None
+);
client.set_key_price(&admin, &100);
client.set_fee_config(&admin, &9000, &1000);
@@ -385,7 +545,17 @@ fn test_get_max_supply_returns_none_for_uncapped() {
let creator = Address::generate(&env);
let handle = String::from_str(&env, "alice");
- client.register_creator(&creator, &handle, &None, &None, &None, &None);
+ client.register_creator(
+ &crate::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: handle.clone(),
+ },
+ &None,
+ &None,
+ &None,
+ &None,
+ &None
+);
let cap = client.get_max_supply(&creator);
assert_eq!(cap, None);
@@ -484,7 +654,17 @@ fn test_update_creator_fee_recipient_success() {
let new_recipient = Address::generate(&env);
let handle = String::from_str(&env, "alice");
- client.register_creator(&creator, &handle, &None, &None, &None, &None);
+ client.register_creator(
+ &crate::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: handle.clone(),
+ },
+ &None,
+ &None,
+ &None,
+ &None,
+ &None
+);
client.update_creator_fee_recipient(&creator, &new_recipient);
let profile = client.get_creator(&creator);
@@ -502,7 +682,17 @@ fn test_update_creator_fee_recipient_unauthorized_reverts() {
let new_recipient = Address::generate(&env);
let handle = String::from_str(&env, "alice");
- client.register_creator(&creator, &handle, &None, &None, &None, &None);
+ client.register_creator(
+ &crate::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: handle.clone(),
+ },
+ &None,
+ &None,
+ &None,
+ &None,
+ &None
+);
let result = client.try_update_creator_fee_recipient(&unauthorized, &new_recipient);
// This should fail because unauthorized is not the current fee recipient
@@ -552,7 +742,17 @@ fn test_sell_key_accepts_exact_min_proceeds_boundary() {
client.set_key_price(&admin, &100);
client.set_fee_config(&admin, &9000, &1000);
- client.register_creator(&creator, &handle, &None, &None, &None, &None);
+ client.register_creator(
+ &crate::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: handle.clone(),
+ },
+ &None,
+ &None,
+ &None,
+ &None,
+ &None
+);
client.buy_key(&creator, &seller, &100, &None);
client.buy_key(&creator, &seller, &100, &None);
@@ -580,7 +780,17 @@ fn test_sell_extends_creator_ttl_after_successful_sell() {
client.set_key_price(&admin, &100);
client.set_fee_config(&admin, &9000, &1000);
- client.register_creator(&creator, &handle, &None, &None, &None, &None);
+ client.register_creator(
+ &crate::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: handle.clone(),
+ },
+ &None,
+ &None,
+ &None,
+ &None,
+ &None
+);
client.buy_key(&creator, &seller, &100, &None);
let creator_key = constants::storage::creator(&creator);
@@ -619,7 +829,17 @@ fn test_failed_sell_does_not_extend_creator_ttl() {
let handle = String::from_str(&env, "alice");
client.set_key_price(&admin, &100);
- client.register_creator(&creator, &handle, &None, &None, &None, &None);
+ client.register_creator(
+ &crate::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: handle.clone(),
+ },
+ &None,
+ &None,
+ &None,
+ &None,
+ &None
+);
let creator_key = constants::storage::creator(&creator);
let mut ledger_info = env.ledger().get();
@@ -651,7 +871,17 @@ fn test_register_creator_without_optional_params_succeeds() {
let handle = String::from_str(&env, "alice");
// Registration with None for both optional params should work (backwards compatible)
- client.register_creator(&creator, &handle, &None, &None, &None, &None);
+ client.register_creator(
+ &crate::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: handle.clone(),
+ },
+ &None,
+ &None,
+ &None,
+ &None,
+ &None
+);
let profile = client.get_creator(&creator);
assert_eq!(profile.supply, 0);
@@ -777,7 +1007,17 @@ fn test_get_fee_config_persists_across_repeated_reads() {
let creator = Address::generate(&env);
let handle = String::from_str(&env, "alice");
- client.register_creator(&creator, &handle, &None, &None, &None, &None);
+ client.register_creator(
+ &crate::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: handle.clone(),
+ },
+ &None,
+ &None,
+ &None,
+ &None,
+ &None
+);
// Repeatedly read the fee config and verify stability
for _ in 0..5 {
@@ -803,7 +1043,17 @@ fn test_register_creator() {
let creator = Address::generate(&env);
let handle = String::from_str(&env, "alice");
- client.register_creator(&creator, &handle, &None, &None, &None, &None);
+ client.register_creator(
+ &crate::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: handle.clone(),
+ },
+ &None,
+ &None,
+ &None,
+ &None,
+ &None
+);
let profile = client.get_creator(&creator);
assert_eq!(profile.handle, handle);
@@ -823,7 +1073,17 @@ fn test_register_creator_persists_registration_metadata() {
let creator = Address::generate(&env);
let handle = String::from_str(&env, "alice");
- client.register_creator(&creator, &handle, &None, &None, &None, &None);
+ client.register_creator(
+ &crate::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: handle.clone(),
+ },
+ &None,
+ &None,
+ &None,
+ &None,
+ &None
+);
let profile = client.get_creator(&creator);
assert_eq!(profile.creator, creator);
@@ -843,10 +1103,30 @@ fn test_duplicate_registration_fails() {
let creator = Address::generate(&env);
let handle = String::from_str(&env, "alice");
- client.register_creator(&creator, &handle, &None, &None, &None, &None);
+ client.register_creator(
+ &crate::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: handle.clone(),
+ },
+ &None,
+ &None,
+ &None,
+ &None,
+ &None
+);
// Second registration should fail with AlreadyRegistered error
- let result = client.try_register_creator(&creator, &handle, &None, &None, &None, &None);
+ let result = client.try_register_creator(
+ &crate::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: handle.clone(),
+ },
+ &None,
+ &None,
+ &None,
+ &None,
+ &None
+);
assert_eq!(result, Err(Ok(ContractError::AlreadyRegistered)));
assert_no_events(&env);
}
@@ -881,7 +1161,17 @@ fn test_buy_key_success() {
let creator = Address::generate(&env);
let handle = String::from_str(&env, "alice");
- client.register_creator(&creator, &handle, &None, &None, &None, &None);
+ client.register_creator(
+ &crate::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: handle.clone(),
+ },
+ &None,
+ &None,
+ &None,
+ &None,
+ &None
+);
let buyer = Address::generate(&env);
let supply = client.buy_key(&creator, &buyer, &100, &None);
@@ -904,7 +1194,17 @@ fn test_get_creator_holder_count_counts_unique_holders() {
let creator = Address::generate(&env);
let handle = String::from_str(&env, "alice");
- client.register_creator(&creator, &handle, &None, &None, &None, &None);
+ client.register_creator(
+ &crate::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: handle.clone(),
+ },
+ &None,
+ &None,
+ &None,
+ &None,
+ &None
+);
let holder_one = Address::generate(&env);
let holder_two = Address::generate(&env);
@@ -945,7 +1245,17 @@ fn test_buy_key_insufficient_payment() {
let creator = Address::generate(&env);
let handle = String::from_str(&env, "alice");
- client.register_creator(&creator, &handle, &None, &None, &None, &None);
+ client.register_creator(
+ &crate::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: handle.clone(),
+ },
+ &None,
+ &None,
+ &None,
+ &None,
+ &None
+);
let buyer = Address::generate(&env);
let result = client.try_buy_key(&creator, &buyer, &99, &None);
@@ -1016,7 +1326,17 @@ fn test_get_key_balance_returns_zero_for_unregistered_wallet() {
let creator = Address::generate(&env);
let handle = String::from_str(&env, "alice");
- client.register_creator(&creator, &handle, &None, &None, &None, &None);
+ client.register_creator(
+ &crate::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: handle.clone(),
+ },
+ &None,
+ &None,
+ &None,
+ &None,
+ &None
+);
let unregistered_wallet = Address::generate(&env);
@@ -1115,7 +1435,17 @@ fn test_get_buy_quote_success() {
let creator = Address::generate(&env);
let handle = String::from_str(&env, "alice");
- client.register_creator(&creator, &handle, &None, &None, &None, &None);
+ client.register_creator(
+ &crate::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: handle.clone(),
+ },
+ &None,
+ &None,
+ &None,
+ &None,
+ &None
+);
let quote = client.get_buy_quote(&creator);
assert_eq!(quote.price, 1000);
@@ -1137,7 +1467,17 @@ fn test_get_sell_quote_success() {
let creator = Address::generate(&env);
let handle = String::from_str(&env, "alice");
- client.register_creator(&creator, &handle, &None, &None, &None, &None);
+ client.register_creator(
+ &crate::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: handle.clone(),
+ },
+ &None,
+ &None,
+ &None,
+ &None,
+ &None
+);
let buyer = Address::generate(&env);
client.buy_key(&creator, &buyer, &1000, &None);
@@ -1162,7 +1502,17 @@ fn test_get_sell_quote_fails_if_insufficient_balance() {
let creator = Address::generate(&env);
let handle = String::from_str(&env, "alice");
- client.register_creator(&creator, &handle, &None, &None, &None, &None);
+ client.register_creator(
+ &crate::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: handle.clone(),
+ },
+ &None,
+ &None,
+ &None,
+ &None,
+ &None
+);
let holder = Address::generate(&env); // Zero balance
let result = client.try_get_sell_quote(&creator, &holder);
@@ -1197,7 +1547,17 @@ fn test_get_quote_fails_if_fee_not_set() {
let creator = Address::generate(&env);
let handle = String::from_str(&env, "alice");
- client.register_creator(&creator, &handle, &None, &None, &None, &None);
+ client.register_creator(
+ &crate::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: handle.clone(),
+ },
+ &None,
+ &None,
+ &None,
+ &None,
+ &None
+);
let result = client.try_get_buy_quote(&creator);
assert_eq!(result, Err(Ok(ContractError::FeeConfigNotSet)));
@@ -1227,7 +1587,17 @@ fn test_get_creator_fee_recipient_success() {
let creator = Address::generate(&env);
let handle = String::from_str(&env, "alice");
- client.register_creator(&creator, &handle, &None, &None, &None, &None);
+ client.register_creator(
+ &crate::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: handle.clone(),
+ },
+ &None,
+ &None,
+ &None,
+ &None,
+ &None
+);
let recipient = client.get_creator_fee_recipient(&creator);
assert_eq!(recipient, creator);
@@ -1259,7 +1629,17 @@ fn test_quote_overflow_guards() {
let creator = Address::generate(&env);
let handle = String::from_str(&env, "alice");
- client.register_creator(&creator, &handle, &None, &None, &None, &None);
+ client.register_creator(
+ &crate::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: handle.clone(),
+ },
+ &None,
+ &None,
+ &None,
+ &None,
+ &None
+);
// Buy quote: price + fees (will overflow)
let result = client.try_get_buy_quote(&creator);
@@ -1336,7 +1716,17 @@ fn test_register_event_field_order_is_stable() {
let creator = Address::generate(&env);
let handle = String::from_str(&env, "alice");
- client.register_creator(&creator, &handle, &None, &None, &None, &None);
+ client.register_creator(
+ &crate::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: handle.clone(),
+ },
+ &None,
+ &None,
+ &None,
+ &None,
+ &None
+);
let all_events = env.events().all();
assert_eq!(
@@ -1398,7 +1788,17 @@ fn test_buy_event_topic_and_data_order_is_stable() {
let creator = Address::generate(&env);
let handle = String::from_str(&env, "bob");
- client.register_creator(&creator, &handle, &None, &None, &None, &None);
+ client.register_creator(
+ &crate::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: handle.clone(),
+ },
+ &None,
+ &None,
+ &None,
+ &None,
+ &None
+);
let buyer = Address::generate(&env);
client.buy_key(&creator, &buyer, &500, &None);
@@ -1464,7 +1864,17 @@ fn test_register_event_fee_adjacent_fields_are_zero_and_ordered_after_identity_f
let creator = Address::generate(&env);
let handle = String::from_str(&env, "carol");
- client.register_creator(&creator, &handle, &None, &None, &None, &None);
+ client.register_creator(
+ &crate::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: handle.clone(),
+ },
+ &None,
+ &None,
+ &None,
+ &None,
+ &None
+);
let all_events = env.events().all();
let (_contract_id, _topics, data): (
diff --git a/creator-keys/src/test_issues.rs b/creator-keys/src/test_issues.rs
index 1188ecd..5dfb033 100644
--- a/creator-keys/src/test_issues.rs
+++ b/creator-keys/src/test_issues.rs
@@ -21,10 +21,30 @@ mod issue_tests {
let handle = String::from_str(env, "alice");
match cap {
Some(c) => {
- client.register_creator(&creator, &handle, &None, &Some(c), &None, &None);
+ client.register_creator(
+ &crate::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: handle.clone(),
+ },
+ &None,
+ &Some(c),
+ &None,
+ &None,
+ &None,
+ );
}
None => {
- client.register_creator(&creator, &handle, &None, &None, &None, &None);
+ client.register_creator(
+ &crate::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: handle.clone(),
+ },
+ &None,
+ &None,
+ &None,
+ &None,
+ &None,
+ );
}
}
creator
diff --git a/creator-keys/test_snapshots/buy_at_max_supply_is_rejected_with_overflow_and_no_state_corruption.1.json b/creator-keys/test_snapshots/buy_at_max_supply_is_rejected_with_overflow_and_no_state_corruption.1.json
index 0f56a5b..3db2f63 100644
--- a/creator-keys/test_snapshots/buy_at_max_supply_is_rejected_with_overflow_and_no_state_corruption.1.json
+++ b/creator-keys/test_snapshots/buy_at_max_supply_is_rejected_with_overflow_and_no_state_corruption.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "maxed"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "maxed"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/holder_count_tracks_distinct_buyers_and_decrements_on_exit.1.json b/creator-keys/test_snapshots/holder_count_tracks_distinct_buyers_and_decrements_on_exit.1.json
index 64700b4..38a5a83 100644
--- a/creator-keys/test_snapshots/holder_count_tracks_distinct_buyers_and_decrements_on_exit.1.json
+++ b/creator-keys/test_snapshots/holder_count_tracks_distinct_buyers_and_decrements_on_exit.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "creator"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "creator"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/sell_fee_split_invariant_100_creator_zero_protocol.1.json b/creator-keys/test_snapshots/sell_fee_split_invariant_100_creator_zero_protocol.1.json
index 6263f37..ec7c49d 100644
--- a/creator-keys/test_snapshots/sell_fee_split_invariant_100_creator_zero_protocol.1.json
+++ b/creator-keys/test_snapshots/sell_fee_split_invariant_100_creator_zero_protocol.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "creator3"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "creator3"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/sell_fee_split_invariant_50_50_equal_split.1.json b/creator-keys/test_snapshots/sell_fee_split_invariant_50_50_equal_split.1.json
index 3157093..c49be2b 100644
--- a/creator-keys/test_snapshots/sell_fee_split_invariant_50_50_equal_split.1.json
+++ b/creator-keys/test_snapshots/sell_fee_split_invariant_50_50_equal_split.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "creator2"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "creator2"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -647,6 +663,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 50
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/sell_fee_split_invariant_90_10_nominal_case.1.json b/creator-keys/test_snapshots/sell_fee_split_invariant_90_10_nominal_case.1.json
index b5633ac..1a40b6e 100644
--- a/creator-keys/test_snapshots/sell_fee_split_invariant_90_10_nominal_case.1.json
+++ b/creator-keys/test_snapshots/sell_fee_split_invariant_90_10_nominal_case.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "creator1"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "creator1"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -647,6 +663,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 100
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/sell_fee_split_invariant_across_multiple_fee_configs.1.json b/creator-keys/test_snapshots/sell_fee_split_invariant_across_multiple_fee_configs.1.json
index ea83f22..8a4e59c 100644
--- a/creator-keys/test_snapshots/sell_fee_split_invariant_across_multiple_fee_configs.1.json
+++ b/creator-keys/test_snapshots/sell_fee_split_invariant_across_multiple_fee_configs.1.json
@@ -15,13 +15,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "string": "creator0"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "creator0"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -121,13 +137,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "string": "creator1"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "creator1"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -227,13 +259,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- },
- {
- "string": "creator2"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "creator2"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -333,13 +381,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXI7N"
- },
- {
- "string": "creator3"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXI7N"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "creator3"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -2003,6 +2067,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 850
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/sell_fee_split_invariant_across_price_range.1.json b/creator-keys/test_snapshots/sell_fee_split_invariant_across_price_range.1.json
index f04c4ab..2225839 100644
--- a/creator-keys/test_snapshots/sell_fee_split_invariant_across_price_range.1.json
+++ b/creator-keys/test_snapshots/sell_fee_split_invariant_across_price_range.1.json
@@ -15,13 +15,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "string": "creator0"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "creator0"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -121,13 +137,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "string": "creator1"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "creator1"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -227,13 +259,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- },
- {
- "string": "creator2"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "creator2"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -333,13 +381,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXI7N"
- },
- {
- "string": "creator3"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXI7N"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "creator3"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -439,13 +503,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4BV5"
- },
- {
- "string": "creator4"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4BV5"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "creator4"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -545,13 +625,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABDWC6"
- },
- {
- "string": "creator5"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABDWC6"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "creator5"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -651,13 +747,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABI7IO"
- },
- {
- "string": "creator6"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABI7IO"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "creator6"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -757,13 +869,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOHR6"
- },
- {
- "string": "creator7"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOHR6"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "creator7"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -863,13 +991,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVM7P"
- },
- {
- "string": "creator8"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVM7P"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "creator8"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -969,13 +1113,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB2VE7"
- },
- {
- "string": "creator9"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB2VE7"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "creator9"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -4715,6 +4875,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 1229
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/sell_fee_split_invariant_boundary_odd_price_999.1.json b/creator-keys/test_snapshots/sell_fee_split_invariant_boundary_odd_price_999.1.json
index 1681b2b..c53f617 100644
--- a/creator-keys/test_snapshots/sell_fee_split_invariant_boundary_odd_price_999.1.json
+++ b/creator-keys/test_snapshots/sell_fee_split_invariant_boundary_odd_price_999.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "creator7"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "creator7"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -648,6 +664,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 99
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/sell_fee_split_invariant_boundary_price_one.1.json b/creator-keys/test_snapshots/sell_fee_split_invariant_boundary_price_one.1.json
index a8fe005..2db5ee8 100644
--- a/creator-keys/test_snapshots/sell_fee_split_invariant_boundary_price_one.1.json
+++ b/creator-keys/test_snapshots/sell_fee_split_invariant_boundary_price_one.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "creator5"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "creator5"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/sell_fee_split_invariant_boundary_price_two.1.json b/creator-keys/test_snapshots/sell_fee_split_invariant_boundary_price_two.1.json
index a67ab50..63e3f2c 100644
--- a/creator-keys/test_snapshots/sell_fee_split_invariant_boundary_price_two.1.json
+++ b/creator-keys/test_snapshots/sell_fee_split_invariant_boundary_price_two.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "creator6"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "creator6"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -648,6 +664,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 1
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/sell_fee_split_invariant_deterministic_assertions.1.json b/creator-keys/test_snapshots/sell_fee_split_invariant_deterministic_assertions.1.json
index c213df9..7d5b095 100644
--- a/creator-keys/test_snapshots/sell_fee_split_invariant_deterministic_assertions.1.json
+++ b/creator-keys/test_snapshots/sell_fee_split_invariant_deterministic_assertions.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "creator_det"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "creator_det"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -647,6 +663,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 15
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/sell_fee_split_invariant_large_amount.1.json b/creator-keys/test_snapshots/sell_fee_split_invariant_large_amount.1.json
index b1c704e..3375167 100644
--- a/creator-keys/test_snapshots/sell_fee_split_invariant_large_amount.1.json
+++ b/creator-keys/test_snapshots/sell_fee_split_invariant_large_amount.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "creator8"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "creator8"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -647,6 +663,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 100000000
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/sell_fee_split_invariant_max_protocol_50_percent.1.json b/creator-keys/test_snapshots/sell_fee_split_invariant_max_protocol_50_percent.1.json
index 4a28ec0..99afc39 100644
--- a/creator-keys/test_snapshots/sell_fee_split_invariant_max_protocol_50_percent.1.json
+++ b/creator-keys/test_snapshots/sell_fee_split_invariant_max_protocol_50_percent.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "creator4"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "creator4"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -647,6 +663,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 100
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/sell_fee_split_invariant_zero_net_boundary.1.json b/creator-keys/test_snapshots/sell_fee_split_invariant_zero_net_boundary.1.json
index e492d45..972537a 100644
--- a/creator-keys/test_snapshots/sell_fee_split_invariant_zero_net_boundary.1.json
+++ b/creator-keys/test_snapshots/sell_fee_split_invariant_zero_net_boundary.1.json
@@ -15,13 +15,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "string": "creator0"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "creator0"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -122,13 +138,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "string": "creator1"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "creator1"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -229,13 +261,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
- },
- {
- "string": "creator2"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "creator2"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -336,13 +384,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXI7N"
- },
- {
- "string": "creator3"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXI7N"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "creator3"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -2007,6 +2071,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 1
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/sell_quote_100_percent_creator_seller_net_is_zero_fees_absorb_full_price.1.json b/creator-keys/test_snapshots/sell_quote_100_percent_creator_seller_net_is_zero_fees_absorb_full_price.1.json
index aa70489..0b1e272 100644
--- a/creator-keys/test_snapshots/sell_quote_100_percent_creator_seller_net_is_zero_fees_absorb_full_price.1.json
+++ b/creator-keys/test_snapshots/sell_quote_100_percent_creator_seller_net_is_zero_fees_absorb_full_price.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "cr5"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "cr5"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/sell_quote_50_50_price_ten_equal_split_zero_net.1.json b/creator-keys/test_snapshots/sell_quote_50_50_price_ten_equal_split_zero_net.1.json
index fa87711..8866cd9 100644
--- a/creator-keys/test_snapshots/sell_quote_50_50_price_ten_equal_split_zero_net.1.json
+++ b/creator-keys/test_snapshots/sell_quote_50_50_price_ten_equal_split_zero_net.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "cr4"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "cr4"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -649,6 +665,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 5
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/sell_quote_50_50_small_price_protocol_takes_first_floor_unit.1.json b/creator-keys/test_snapshots/sell_quote_50_50_small_price_protocol_takes_first_floor_unit.1.json
index fe4dce4..216fbce 100644
--- a/creator-keys/test_snapshots/sell_quote_50_50_small_price_protocol_takes_first_floor_unit.1.json
+++ b/creator-keys/test_snapshots/sell_quote_50_50_small_price_protocol_takes_first_floor_unit.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "cr3"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "cr3"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -648,6 +664,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 1
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/sell_quote_90_10_dust_price_one_all_creator_no_protocol_rounding.1.json b/creator-keys/test_snapshots/sell_quote_90_10_dust_price_one_all_creator_no_protocol_rounding.1.json
index 1a2d2c6..ff367ed 100644
--- a/creator-keys/test_snapshots/sell_quote_90_10_dust_price_one_all_creator_no_protocol_rounding.1.json
+++ b/creator-keys/test_snapshots/sell_quote_90_10_dust_price_one_all_creator_no_protocol_rounding.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "cr2"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "cr2"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/sell_quote_90_10_remainder_favors_creator_on_indivisible_price.1.json b/creator-keys/test_snapshots/sell_quote_90_10_remainder_favors_creator_on_indivisible_price.1.json
index 746c5d3..cb2472a 100644
--- a/creator-keys/test_snapshots/sell_quote_90_10_remainder_favors_creator_on_indivisible_price.1.json
+++ b/creator-keys/test_snapshots/sell_quote_90_10_remainder_favors_creator_on_indivisible_price.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "cr1"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "cr1"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -648,6 +664,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 99
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/sell_quote_max_allowed_protocol_bps_50_50_dust_price_floors_protocol_share_to_zero.1.json b/creator-keys/test_snapshots/sell_quote_max_allowed_protocol_bps_50_50_dust_price_floors_protocol_share_to_zero.1.json
index f93d8cb..0a00a00 100644
--- a/creator-keys/test_snapshots/sell_quote_max_allowed_protocol_bps_50_50_dust_price_floors_protocol_share_to_zero.1.json
+++ b/creator-keys/test_snapshots/sell_quote_max_allowed_protocol_bps_50_50_dust_price_floors_protocol_share_to_zero.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "cr6"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "cr6"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_accumulator_grows_correctly_across_sequential_distributions.1.json b/creator-keys/test_snapshots/test_accumulator_grows_correctly_across_sequential_distributions.1.json
index b9fec3a..7c5e002 100644
--- a/creator-keys/test_snapshots/test_accumulator_grows_correctly_across_sequential_distributions.1.json
+++ b/creator-keys/test_snapshots/test_accumulator_grows_correctly_across_sequential_distributions.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -778,6 +794,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 10
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_assert_event_topic_matches_rejects_unexpected_identifier.1.json b/creator-keys/test_snapshots/test_assert_event_topic_matches_rejects_unexpected_identifier.1.json
index 719ba79..b8f189f 100644
--- a/creator-keys/test_snapshots/test_assert_event_topic_matches_rejects_unexpected_identifier.1.json
+++ b/creator-keys/test_snapshots/test_assert_event_topic_matches_rejects_unexpected_identifier.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_balance_after_buys_then_sells.1.json b/creator-keys/test_snapshots/test_balance_after_buys_then_sells.1.json
index 98932ec..1241911 100644
--- a/creator-keys/test_snapshots/test_balance_after_buys_then_sells.1.json
+++ b/creator-keys/test_snapshots/test_balance_after_buys_then_sells.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_balance_after_sequence_of_buys_and_sells.1.json b/creator-keys/test_snapshots/test_balance_after_sequence_of_buys_and_sells.1.json
index 10ea85f..5abcc2d 100644
--- a/creator-keys/test_snapshots/test_balance_after_sequence_of_buys_and_sells.1.json
+++ b/creator-keys/test_snapshots/test_balance_after_sequence_of_buys_and_sells.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_balance_with_non_zero_initial.1.json b/creator-keys/test_snapshots/test_balance_with_non_zero_initial.1.json
index 672a69e..2473803 100644
--- a/creator-keys/test_snapshots/test_balance_with_non_zero_initial.1.json
+++ b/creator-keys/test_snapshots/test_balance_with_non_zero_initial.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_batch_length_matches_input_length.1.json b/creator-keys/test_snapshots/test_batch_length_matches_input_length.1.json
index e887df7..159a266 100644
--- a/creator-keys/test_snapshots/test_batch_length_matches_input_length.1.json
+++ b/creator-keys/test_snapshots/test_batch_length_matches_input_length.1.json
@@ -15,13 +15,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -40,13 +56,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "bob"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "bob"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_batch_matches_individual_get_creator_details_calls.1.json b/creator-keys/test_snapshots/test_batch_matches_individual_get_creator_details_calls.1.json
index d631e6c..eb76c74 100644
--- a/creator-keys/test_snapshots/test_batch_matches_individual_get_creator_details_calls.1.json
+++ b/creator-keys/test_snapshots/test_batch_matches_individual_get_creator_details_calls.1.json
@@ -15,13 +15,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -40,13 +56,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "bob"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "bob"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_batch_mixed_registered_and_unregistered.1.json b/creator-keys/test_snapshots/test_batch_mixed_registered_and_unregistered.1.json
index f02945d..72e0bcd 100644
--- a/creator-keys/test_snapshots/test_batch_mixed_registered_and_unregistered.1.json
+++ b/creator-keys/test_snapshots/test_batch_mixed_registered_and_unregistered.1.json
@@ -15,13 +15,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -40,13 +56,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "string": "bob"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "bob"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_batch_preserves_input_order.1.json b/creator-keys/test_snapshots/test_batch_preserves_input_order.1.json
index 2965d4b..94bfb68 100644
--- a/creator-keys/test_snapshots/test_batch_preserves_input_order.1.json
+++ b/creator-keys/test_snapshots/test_batch_preserves_input_order.1.json
@@ -15,13 +15,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -40,13 +56,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "bob"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "bob"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -65,13 +97,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "string": "carol"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "carol"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_batch_registered_creators_have_correct_fields.1.json b/creator-keys/test_snapshots/test_batch_registered_creators_have_correct_fields.1.json
index e8b1ce6..96b1eae 100644
--- a/creator-keys/test_snapshots/test_batch_registered_creators_have_correct_fields.1.json
+++ b/creator-keys/test_snapshots/test_batch_registered_creators_have_correct_fields.1.json
@@ -15,13 +15,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_buy_credits_creator_fee_recipient_balance_by_bps_amount.1.json b/creator-keys/test_snapshots/test_buy_credits_creator_fee_recipient_balance_by_bps_amount.1.json
index a636cc5..1dbf10f 100644
--- a/creator-keys/test_snapshots/test_buy_credits_creator_fee_recipient_balance_by_bps_amount.1.json
+++ b/creator-keys/test_snapshots/test_buy_credits_creator_fee_recipient_balance_by_bps_amount.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -649,6 +665,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 100
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_buy_event_buyer_address_field_is_non_zero.1.json b/creator-keys/test_snapshots/test_buy_event_buyer_address_field_is_non_zero.1.json
index 306d21a..a51b02e 100644
--- a/creator-keys/test_snapshots/test_buy_event_buyer_address_field_is_non_zero.1.json
+++ b/creator-keys/test_snapshots/test_buy_event_buyer_address_field_is_non_zero.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_buy_event_buyer_address_matches_caller.1.json b/creator-keys/test_snapshots/test_buy_event_buyer_address_matches_caller.1.json
index 306d21a..a51b02e 100644
--- a/creator-keys/test_snapshots/test_buy_event_buyer_address_matches_caller.1.json
+++ b/creator-keys/test_snapshots/test_buy_event_buyer_address_matches_caller.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_buy_key_event_includes_payment_amount.1.json b/creator-keys/test_snapshots/test_buy_key_event_includes_payment_amount.1.json
index b1cdaff..6929575 100644
--- a/creator-keys/test_snapshots/test_buy_key_event_includes_payment_amount.1.json
+++ b/creator-keys/test_snapshots/test_buy_key_event_includes_payment_amount.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_buy_key_event_payload_fields_are_validated_from_fixture.1.json b/creator-keys/test_snapshots/test_buy_key_event_payload_fields_are_validated_from_fixture.1.json
index b1cdaff..6929575 100644
--- a/creator-keys/test_snapshots/test_buy_key_event_payload_fields_are_validated_from_fixture.1.json
+++ b/creator-keys/test_snapshots/test_buy_key_event_payload_fields_are_validated_from_fixture.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_buy_key_event_payload_tracks_new_supply_across_purchases.1.json b/creator-keys/test_snapshots/test_buy_key_event_payload_tracks_new_supply_across_purchases.1.json
index 386d634..a27eb91 100644
--- a/creator-keys/test_snapshots/test_buy_key_event_payload_tracks_new_supply_across_purchases.1.json
+++ b/creator-keys/test_snapshots/test_buy_key_event_payload_tracks_new_supply_across_purchases.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_buy_key_event_present_after_purchase.1.json b/creator-keys/test_snapshots/test_buy_key_event_present_after_purchase.1.json
index 306d21a..a51b02e 100644
--- a/creator-keys/test_snapshots/test_buy_key_event_present_after_purchase.1.json
+++ b/creator-keys/test_snapshots/test_buy_key_event_present_after_purchase.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_buy_key_event_topics_include_creator_and_buyer.1.json b/creator-keys/test_snapshots/test_buy_key_event_topics_include_creator_and_buyer.1.json
index 86e93d7..36ef002 100644
--- a/creator-keys/test_snapshots/test_buy_key_event_topics_include_creator_and_buyer.1.json
+++ b/creator-keys/test_snapshots/test_buy_key_event_topics_include_creator_and_buyer.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_buy_key_insufficient_payment_fails.1.json b/creator-keys/test_snapshots/test_buy_key_insufficient_payment_fails.1.json
index c9f19fc..c59f25e 100644
--- a/creator-keys/test_snapshots/test_buy_key_insufficient_payment_fails.1.json
+++ b/creator-keys/test_snapshots/test_buy_key_insufficient_payment_fails.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_buy_key_negative_payment_fails.1.json b/creator-keys/test_snapshots/test_buy_key_negative_payment_fails.1.json
index c9f19fc..c59f25e 100644
--- a/creator-keys/test_snapshots/test_buy_key_negative_payment_fails.1.json
+++ b/creator-keys/test_snapshots/test_buy_key_negative_payment_fails.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_buy_key_positive_payment_succeeds.1.json b/creator-keys/test_snapshots/test_buy_key_positive_payment_succeeds.1.json
index 306d21a..a51b02e 100644
--- a/creator-keys/test_snapshots/test_buy_key_positive_payment_succeeds.1.json
+++ b/creator-keys/test_snapshots/test_buy_key_positive_payment_succeeds.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_buy_key_reverts_when_paused.1.json b/creator-keys/test_snapshots/test_buy_key_reverts_when_paused.1.json
index 1580c5b..e7eb559 100644
--- a/creator-keys/test_snapshots/test_buy_key_reverts_when_paused.1.json
+++ b/creator-keys/test_snapshots/test_buy_key_reverts_when_paused.1.json
@@ -62,13 +62,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_buy_key_succeeds_after_unpause.1.json b/creator-keys/test_snapshots/test_buy_key_succeeds_after_unpause.1.json
index 4abfc0c..e938837 100644
--- a/creator-keys/test_snapshots/test_buy_key_succeeds_after_unpause.1.json
+++ b/creator-keys/test_snapshots/test_buy_key_succeeds_after_unpause.1.json
@@ -62,13 +62,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_buy_key_sufficient_payment_succeeds.1.json b/creator-keys/test_snapshots/test_buy_key_sufficient_payment_succeeds.1.json
index 235be87..7f6605c 100644
--- a/creator-keys/test_snapshots/test_buy_key_sufficient_payment_succeeds.1.json
+++ b/creator-keys/test_snapshots/test_buy_key_sufficient_payment_succeeds.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_buy_key_with_large_safe_amount_succeeds.1.json b/creator-keys/test_snapshots/test_buy_key_with_large_safe_amount_succeeds.1.json
index 8e8f62f..7380af7 100644
--- a/creator-keys/test_snapshots/test_buy_key_with_large_safe_amount_succeeds.1.json
+++ b/creator-keys/test_snapshots/test_buy_key_with_large_safe_amount_succeeds.1.json
@@ -16,13 +16,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "string": "creator1"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "creator1"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_buy_key_with_maximum_safe_i128_succeeds.1.json b/creator-keys/test_snapshots/test_buy_key_with_maximum_safe_i128_succeeds.1.json
index 2918409..53a1ab5 100644
--- a/creator-keys/test_snapshots/test_buy_key_with_maximum_safe_i128_succeeds.1.json
+++ b/creator-keys/test_snapshots/test_buy_key_with_maximum_safe_i128_succeeds.1.json
@@ -16,13 +16,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "string": "creator2"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "creator2"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_buy_key_zero_payment_fails.1.json b/creator-keys/test_snapshots/test_buy_key_zero_payment_fails.1.json
index c9f19fc..c59f25e 100644
--- a/creator-keys/test_snapshots/test_buy_key_zero_payment_fails.1.json
+++ b/creator-keys/test_snapshots/test_buy_key_zero_payment_fails.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_buy_more_keys_mid_stream_does_not_earn_retroactively.1.json b/creator-keys/test_snapshots/test_buy_more_keys_mid_stream_does_not_earn_retroactively.1.json
index 89d98db..74d32e5 100644
--- a/creator-keys/test_snapshots/test_buy_more_keys_mid_stream_does_not_earn_retroactively.1.json
+++ b/creator-keys/test_snapshots/test_buy_more_keys_mid_stream_does_not_earn_retroactively.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -779,6 +795,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 20
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_buy_quote_deterministic_across_zero_supply_transition.1.json b/creator-keys/test_snapshots/test_buy_quote_deterministic_across_zero_supply_transition.1.json
index bc22038..daea16e 100644
--- a/creator-keys/test_snapshots/test_buy_quote_deterministic_across_zero_supply_transition.1.json
+++ b/creator-keys/test_snapshots/test_buy_quote_deterministic_across_zero_supply_transition.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "edge1"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "edge1"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -278,7 +294,7 @@
"val": {
"i128": {
"hi": 0,
- "lo": 90
+ "lo": 180
}
}
}
@@ -671,6 +687,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 20
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_buy_quote_fees_sum_to_total_minus_price.1.json b/creator-keys/test_snapshots/test_buy_quote_fees_sum_to_total_minus_price.1.json
index 30d24d7..dff5c45 100644
--- a/creator-keys/test_snapshots/test_buy_quote_fees_sum_to_total_minus_price.1.json
+++ b/creator-keys/test_snapshots/test_buy_quote_fees_sum_to_total_minus_price.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -678,6 +694,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 200
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_buy_quote_is_identical_across_consecutive_calls.1.json b/creator-keys/test_snapshots/test_buy_quote_is_identical_across_consecutive_calls.1.json
index ac815f7..24982f6 100644
--- a/creator-keys/test_snapshots/test_buy_quote_is_identical_across_consecutive_calls.1.json
+++ b/creator-keys/test_snapshots/test_buy_quote_is_identical_across_consecutive_calls.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_buy_quote_is_stable_across_multiple_calls.1.json b/creator-keys/test_snapshots/test_buy_quote_is_stable_across_multiple_calls.1.json
index 57a22ab..d6ff04e 100644
--- a/creator-keys/test_snapshots/test_buy_quote_is_stable_across_multiple_calls.1.json
+++ b/creator-keys/test_snapshots/test_buy_quote_is_stable_across_multiple_calls.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_buy_quote_monotonic_with_zero_creator_fee.1.json b/creator-keys/test_snapshots/test_buy_quote_monotonic_with_zero_creator_fee.1.json
index 9b94661..40d4ab2 100644
--- a/creator-keys/test_snapshots/test_buy_quote_monotonic_with_zero_creator_fee.1.json
+++ b/creator-keys/test_snapshots/test_buy_quote_monotonic_with_zero_creator_fee.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -647,6 +663,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 500
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_buy_quote_monotonic_with_zero_protocol_fee.1.json b/creator-keys/test_snapshots/test_buy_quote_monotonic_with_zero_protocol_fee.1.json
index 905de66..89f747a 100644
--- a/creator-keys/test_snapshots/test_buy_quote_monotonic_with_zero_protocol_fee.1.json
+++ b/creator-keys/test_snapshots/test_buy_quote_monotonic_with_zero_protocol_fee.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "bob"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "bob"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_buy_quote_multiple_creators_independent_monotonicity.1.json b/creator-keys/test_snapshots/test_buy_quote_multiple_creators_independent_monotonicity.1.json
index 09a5564..a4c2d6d 100644
--- a/creator-keys/test_snapshots/test_buy_quote_multiple_creators_independent_monotonicity.1.json
+++ b/creator-keys/test_snapshots/test_buy_quote_multiple_creators_independent_monotonicity.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -90,13 +106,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "string": "bob"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "bob"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -1051,6 +1083,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 400
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_buy_quote_price_point_1_is_stable.1.json b/creator-keys/test_snapshots/test_buy_quote_price_point_1_is_stable.1.json
index 3d972f1..057debb 100644
--- a/creator-keys/test_snapshots/test_buy_quote_price_point_1_is_stable.1.json
+++ b/creator-keys/test_snapshots/test_buy_quote_price_point_1_is_stable.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_buy_quote_price_point_large_is_stable.1.json b/creator-keys/test_snapshots/test_buy_quote_price_point_large_is_stable.1.json
index d3739bd..ce9cb9b 100644
--- a/creator-keys/test_snapshots/test_buy_quote_price_point_large_is_stable.1.json
+++ b/creator-keys/test_snapshots/test_buy_quote_price_point_large_is_stable.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -647,6 +663,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 100000
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_buy_quote_price_unchanged_across_multiple_buyers_small_range.1.json b/creator-keys/test_snapshots/test_buy_quote_price_unchanged_across_multiple_buyers_small_range.1.json
index 34dec4d..b6722a6 100644
--- a/creator-keys/test_snapshots/test_buy_quote_price_unchanged_across_multiple_buyers_small_range.1.json
+++ b/creator-keys/test_snapshots/test_buy_quote_price_unchanged_across_multiple_buyers_small_range.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -2348,6 +2364,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 200
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_buy_quote_price_unchanged_after_five_buys.1.json b/creator-keys/test_snapshots/test_buy_quote_price_unchanged_after_five_buys.1.json
index 5132bfc..3a6e7eb 100644
--- a/creator-keys/test_snapshots/test_buy_quote_price_unchanged_after_five_buys.1.json
+++ b/creator-keys/test_snapshots/test_buy_quote_price_unchanged_after_five_buys.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -766,6 +782,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 250
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_buy_quote_price_unchanged_after_one_buy.1.json b/creator-keys/test_snapshots/test_buy_quote_price_unchanged_after_one_buy.1.json
index 63579a8..6d0c9de 100644
--- a/creator-keys/test_snapshots/test_buy_quote_price_unchanged_after_one_buy.1.json
+++ b/creator-keys/test_snapshots/test_buy_quote_price_unchanged_after_one_buy.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -647,6 +663,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 10
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_buy_quote_recomputed_after_sell_reduces_supply.1.json b/creator-keys/test_snapshots/test_buy_quote_recomputed_after_sell_reduces_supply.1.json
index d60f6bb..558754c 100644
--- a/creator-keys/test_snapshots/test_buy_quote_recomputed_after_sell_reduces_supply.1.json
+++ b/creator-keys/test_snapshots/test_buy_quote_recomputed_after_sell_reduces_supply.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "edge3"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "edge3"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -309,7 +325,7 @@
"val": {
"i128": {
"hi": 0,
- "lo": 450
+ "lo": 675
}
}
}
@@ -702,6 +718,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 75
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_buy_quote_stability_with_different_fee_configs.1.json b/creator-keys/test_snapshots/test_buy_quote_stability_with_different_fee_configs.1.json
index 5b67585..8611bc7 100644
--- a/creator-keys/test_snapshots/test_buy_quote_stability_with_different_fee_configs.1.json
+++ b/creator-keys/test_snapshots/test_buy_quote_stability_with_different_fee_configs.1.json
@@ -15,13 +15,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_buy_quote_stable_across_50_sequential_purchases.1.json b/creator-keys/test_snapshots/test_buy_quote_stable_across_50_sequential_purchases.1.json
index 1e8dcdd..2540a60 100644
--- a/creator-keys/test_snapshots/test_buy_quote_stable_across_50_sequential_purchases.1.json
+++ b/creator-keys/test_snapshots/test_buy_quote_stable_across_50_sequential_purchases.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -9908,6 +9924,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 3750
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_buy_quote_stable_over_medium_volume_20_buys.1.json b/creator-keys/test_snapshots/test_buy_quote_stable_over_medium_volume_20_buys.1.json
index 04e9a1e..2c118e3 100644
--- a/creator-keys/test_snapshots/test_buy_quote_stable_over_medium_volume_20_buys.1.json
+++ b/creator-keys/test_snapshots/test_buy_quote_stable_over_medium_volume_20_buys.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -4238,6 +4254,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 10000
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_buy_quote_total_amount_never_below_price.1.json b/creator-keys/test_snapshots/test_buy_quote_total_amount_never_below_price.1.json
index b260f89..e8bb272 100644
--- a/creator-keys/test_snapshots/test_buy_quote_total_amount_never_below_price.1.json
+++ b/creator-keys/test_snapshots/test_buy_quote_total_amount_never_below_price.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -910,6 +926,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 10000
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_buy_quote_total_amount_ordering_is_deterministic_small_range.1.json b/creator-keys/test_snapshots/test_buy_quote_total_amount_ordering_is_deterministic_small_range.1.json
index 65db80d..b7ec276 100644
--- a/creator-keys/test_snapshots/test_buy_quote_total_amount_ordering_is_deterministic_small_range.1.json
+++ b/creator-keys/test_snapshots/test_buy_quote_total_amount_ordering_is_deterministic_small_range.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -708,6 +724,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 300
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_buy_quote_unchanged_after_creator_registration.1.json b/creator-keys/test_snapshots/test_buy_quote_unchanged_after_creator_registration.1.json
index fbd917f..4b324b0 100644
--- a/creator-keys/test_snapshots/test_buy_quote_unchanged_after_creator_registration.1.json
+++ b/creator-keys/test_snapshots/test_buy_quote_unchanged_after_creator_registration.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -91,13 +107,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "string": "bob"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "bob"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_buy_quote_updates_after_fee_config_mutation.1.json b/creator-keys/test_snapshots/test_buy_quote_updates_after_fee_config_mutation.1.json
index 1a4a32d..2c0bb4d 100644
--- a/creator-keys/test_snapshots/test_buy_quote_updates_after_fee_config_mutation.1.json
+++ b/creator-keys/test_snapshots/test_buy_quote_updates_after_fee_config_mutation.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_buy_quote_with_large_amount_succeeds.1.json b/creator-keys/test_snapshots/test_buy_quote_with_large_amount_succeeds.1.json
index 1457f74..76036a5 100644
--- a/creator-keys/test_snapshots/test_buy_quote_with_large_amount_succeeds.1.json
+++ b/creator-keys/test_snapshots/test_buy_quote_with_large_amount_succeeds.1.json
@@ -41,13 +41,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "creator3"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "creator3"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_buy_quote_with_maximum_safe_amount_50_50_fees_succeeds.1.json b/creator-keys/test_snapshots/test_buy_quote_with_maximum_safe_amount_50_50_fees_succeeds.1.json
index ddc00d3..28e876a 100644
--- a/creator-keys/test_snapshots/test_buy_quote_with_maximum_safe_amount_50_50_fees_succeeds.1.json
+++ b/creator-keys/test_snapshots/test_buy_quote_with_maximum_safe_amount_50_50_fees_succeeds.1.json
@@ -41,13 +41,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "creator7"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "creator7"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_buy_quote_with_maximum_safe_amount_succeeds.1.json b/creator-keys/test_snapshots/test_buy_quote_with_maximum_safe_amount_succeeds.1.json
index a7fcdd9..e90cc1a 100644
--- a/creator-keys/test_snapshots/test_buy_quote_with_maximum_safe_amount_succeeds.1.json
+++ b/creator-keys/test_snapshots/test_buy_quote_with_maximum_safe_amount_succeeds.1.json
@@ -41,13 +41,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "creator4"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "creator4"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_buy_quote_zero_supply_consistent_across_calls.1.json b/creator-keys/test_snapshots/test_buy_quote_zero_supply_consistent_across_calls.1.json
index f37e059..8e47f51 100644
--- a/creator-keys/test_snapshots/test_buy_quote_zero_supply_consistent_across_calls.1.json
+++ b/creator-keys/test_snapshots/test_buy_quote_zero_supply_consistent_across_calls.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "charlie"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "charlie"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_buy_quote_zero_supply_returns_first_key_price.1.json b/creator-keys/test_snapshots/test_buy_quote_zero_supply_returns_first_key_price.1.json
index ac83ce7..8878b4f 100644
--- a/creator-keys/test_snapshots/test_buy_quote_zero_supply_returns_first_key_price.1.json
+++ b/creator-keys/test_snapshots/test_buy_quote_zero_supply_returns_first_key_price.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_buy_quote_zero_supply_various_prices.1.json b/creator-keys/test_snapshots/test_buy_quote_zero_supply_various_prices.1.json
index 0f3432a..c1f5985 100644
--- a/creator-keys/test_snapshots/test_buy_quote_zero_supply_various_prices.1.json
+++ b/creator-keys/test_snapshots/test_buy_quote_zero_supply_various_prices.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "creator0"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "creator0"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -141,13 +157,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "string": "creator1"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "creator1"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -217,13 +249,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
- },
- {
- "string": "creator2"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "creator2"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -293,13 +341,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATYON"
- },
- {
- "string": "creator3"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATYON"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "creator3"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -369,13 +433,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXI7N"
- },
- {
- "string": "creator4"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXI7N"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "creator4"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -445,13 +525,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2ZMN"
- },
- {
- "string": "creator5"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2ZMN"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "creator5"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_buy_quote_zero_supply_well_formed.1.json b/creator-keys/test_snapshots/test_buy_quote_zero_supply_well_formed.1.json
index ecbc377..5682030 100644
--- a/creator-keys/test_snapshots/test_buy_quote_zero_supply_well_formed.1.json
+++ b/creator-keys/test_snapshots/test_buy_quote_zero_supply_well_formed.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "bob"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "bob"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_buy_slippage_reverts_when_price_exceeds_max_price.1.json b/creator-keys/test_snapshots/test_buy_slippage_reverts_when_price_exceeds_max_price.1.json
index e5185ae..843960e 100644
--- a/creator-keys/test_snapshots/test_buy_slippage_reverts_when_price_exceeds_max_price.1.json
+++ b/creator-keys/test_snapshots/test_buy_slippage_reverts_when_price_exceeds_max_price.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_buy_slippage_succeeds_when_price_at_or_below_max_price.1.json b/creator-keys/test_snapshots/test_buy_slippage_succeeds_when_price_at_or_below_max_price.1.json
index b3d1556..b4ecf76 100644
--- a/creator-keys/test_snapshots/test_buy_slippage_succeeds_when_price_at_or_below_max_price.1.json
+++ b/creator-keys/test_snapshots/test_buy_slippage_succeeds_when_price_at_or_below_max_price.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -845,6 +861,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 200
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_buy_then_sell_has_symmetric_price_impact_after_fees.1.json b/creator-keys/test_snapshots/test_buy_then_sell_has_symmetric_price_impact_after_fees.1.json
index 99b684b..cee423e 100644
--- a/creator-keys/test_snapshots/test_buy_then_sell_has_symmetric_price_impact_after_fees.1.json
+++ b/creator-keys/test_snapshots/test_buy_then_sell_has_symmetric_price_impact_after_fees.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "carol"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "carol"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -281,7 +297,7 @@
"val": {
"i128": {
"hi": 0,
- "lo": 900
+ "lo": 1800
}
}
}
@@ -674,6 +690,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 200
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_buyback_does_not_change_follow_on_buy_price_under_fixed_price_model.1.json b/creator-keys/test_snapshots/test_buyback_does_not_change_follow_on_buy_price_under_fixed_price_model.1.json
index 5f5cebb..3c048a9 100644
--- a/creator-keys/test_snapshots/test_buyback_does_not_change_follow_on_buy_price_under_fixed_price_model.1.json
+++ b/creator-keys/test_snapshots/test_buyback_does_not_change_follow_on_buy_price_under_fixed_price_model.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -711,6 +727,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 200
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_buyback_does_not_credit_creator_fee_balance_and_does_credit_protocol_balance.1.json b/creator-keys/test_snapshots/test_buyback_does_not_credit_creator_fee_balance_and_does_credit_protocol_balance.1.json
index c4b8d29..7e29173 100644
--- a/creator-keys/test_snapshots/test_buyback_does_not_credit_creator_fee_balance_and_does_credit_protocol_balance.1.json
+++ b/creator-keys/test_snapshots/test_buyback_does_not_credit_creator_fee_balance_and_does_credit_protocol_balance.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -683,6 +699,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 100
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_buyback_event_emits_expected_payload.1.json b/creator-keys/test_snapshots/test_buyback_event_emits_expected_payload.1.json
index 92a8bbb..a2f1ab1 100644
--- a/creator-keys/test_snapshots/test_buyback_event_emits_expected_payload.1.json
+++ b/creator-keys/test_snapshots/test_buyback_event_emits_expected_payload.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -709,6 +725,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 200
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_buyback_exceeding_supply_reverts_with_insufficient_supply.1.json b/creator-keys/test_snapshots/test_buyback_exceeding_supply_reverts_with_insufficient_supply.1.json
index cf89e83..01e2496 100644
--- a/creator-keys/test_snapshots/test_buyback_exceeding_supply_reverts_with_insufficient_supply.1.json
+++ b/creator-keys/test_snapshots/test_buyback_exceeding_supply_reverts_with_insufficient_supply.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -648,6 +664,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 100
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_buyback_full_supply_clears_creator_position.1.json b/creator-keys/test_snapshots/test_buyback_full_supply_clears_creator_position.1.json
index df75f31..9e141df 100644
--- a/creator-keys/test_snapshots/test_buyback_full_supply_clears_creator_position.1.json
+++ b/creator-keys/test_snapshots/test_buyback_full_supply_clears_creator_position.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -712,6 +728,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 200
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_buyback_quote_matches_execution_at_supply_five.1.json b/creator-keys/test_snapshots/test_buyback_quote_matches_execution_at_supply_five.1.json
index 3853e7d..13537ba 100644
--- a/creator-keys/test_snapshots/test_buyback_quote_matches_execution_at_supply_five.1.json
+++ b/creator-keys/test_snapshots/test_buyback_quote_matches_execution_at_supply_five.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "bob"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "bob"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -397,7 +413,7 @@
"val": {
"i128": {
"hi": 0,
- "lo": 4500
+ "lo": 5400
}
}
}
@@ -790,6 +806,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 600
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_buyback_quote_matches_execution_at_supply_one.1.json b/creator-keys/test_snapshots/test_buyback_quote_matches_execution_at_supply_one.1.json
index e6be745..2126d8f 100644
--- a/creator-keys/test_snapshots/test_buyback_quote_matches_execution_at_supply_one.1.json
+++ b/creator-keys/test_snapshots/test_buyback_quote_matches_execution_at_supply_one.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -281,7 +297,7 @@
"val": {
"i128": {
"hi": 0,
- "lo": 900
+ "lo": 1800
}
}
}
@@ -674,6 +690,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 200
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_buyback_reduces_supply_and_creator_balance.1.json b/creator-keys/test_snapshots/test_buyback_reduces_supply_and_creator_balance.1.json
index 091d103..86a9d64 100644
--- a/creator-keys/test_snapshots/test_buyback_reduces_supply_and_creator_balance.1.json
+++ b/creator-keys/test_snapshots/test_buyback_reduces_supply_and_creator_balance.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -712,6 +728,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 200
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_buyback_rejects_non_creator_caller.1.json b/creator-keys/test_snapshots/test_buyback_rejects_non_creator_caller.1.json
index a94e354..d78cd2a 100644
--- a/creator-keys/test_snapshots/test_buyback_rejects_non_creator_caller.1.json
+++ b/creator-keys/test_snapshots/test_buyback_rejects_non_creator_caller.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -648,6 +664,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 100
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_buyback_rejects_when_creator_balance_is_below_amount_even_if_supply_is_higher.1.json b/creator-keys/test_snapshots/test_buyback_rejects_when_creator_balance_is_below_amount_even_if_supply_is_higher.1.json
index d716470..1251d1e 100644
--- a/creator-keys/test_snapshots/test_buyback_rejects_when_creator_balance_is_below_amount_even_if_supply_is_higher.1.json
+++ b/creator-keys/test_snapshots/test_buyback_rejects_when_creator_balance_is_below_amount_even_if_supply_is_higher.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -839,6 +855,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 200
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_buyback_zero_amount_reverts.1.json b/creator-keys/test_snapshots/test_buyback_zero_amount_reverts.1.json
index cf89e83..0524478 100644
--- a/creator-keys/test_snapshots/test_buyback_zero_amount_reverts.1.json
+++ b/creator-keys/test_snapshots/test_buyback_zero_amount_reverts.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -110,7 +126,6 @@
}
]
],
- [],
[]
],
"ledger": {
@@ -648,6 +663,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 100
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_claim_dividend_after_sell_captures_pending.1.json b/creator-keys/test_snapshots/test_claim_dividend_after_sell_captures_pending.1.json
index 00d9312..377433f 100644
--- a/creator-keys/test_snapshots/test_claim_dividend_after_sell_captures_pending.1.json
+++ b/creator-keys/test_snapshots/test_claim_dividend_after_sell_captures_pending.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -325,7 +341,7 @@
"val": {
"i128": {
"hi": 0,
- "lo": 90
+ "lo": 180
}
}
}
@@ -766,6 +782,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 20
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_claim_dividend_event_topics_and_payload.1.json b/creator-keys/test_snapshots/test_claim_dividend_event_topics_and_payload.1.json
index 57c29ee..8fe2855 100644
--- a/creator-keys/test_snapshots/test_claim_dividend_event_topics_and_payload.1.json
+++ b/creator-keys/test_snapshots/test_claim_dividend_event_topics_and_payload.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -743,6 +759,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 10
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_claim_dividend_happy_path_returns_correct_amount.1.json b/creator-keys/test_snapshots/test_claim_dividend_happy_path_returns_correct_amount.1.json
index 57c29ee..8fe2855 100644
--- a/creator-keys/test_snapshots/test_claim_dividend_happy_path_returns_correct_amount.1.json
+++ b/creator-keys/test_snapshots/test_claim_dividend_happy_path_returns_correct_amount.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -743,6 +759,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 10
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_claim_dividend_no_claimable_fails.1.json b/creator-keys/test_snapshots/test_claim_dividend_no_claimable_fails.1.json
index e84ac25..22c4bf8 100644
--- a/creator-keys/test_snapshots/test_claim_dividend_no_claimable_fails.1.json
+++ b/creator-keys/test_snapshots/test_claim_dividend_no_claimable_fails.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -646,6 +662,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 10
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_claim_dividend_proportional_amounts_across_holders.1.json b/creator-keys/test_snapshots/test_claim_dividend_proportional_amounts_across_holders.1.json
index 0c9c446..64026e3 100644
--- a/creator-keys/test_snapshots/test_claim_dividend_proportional_amounts_across_holders.1.json
+++ b/creator-keys/test_snapshots/test_claim_dividend_proportional_amounts_across_holders.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -982,6 +998,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 30
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_claim_dividend_resets_claimable_to_zero.1.json b/creator-keys/test_snapshots/test_claim_dividend_resets_claimable_to_zero.1.json
index a6d6a5c..7d88b29 100644
--- a/creator-keys/test_snapshots/test_claim_dividend_resets_claimable_to_zero.1.json
+++ b/creator-keys/test_snapshots/test_claim_dividend_resets_claimable_to_zero.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -744,6 +760,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 10
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_claim_dividend_while_paused_fails.1.json b/creator-keys/test_snapshots/test_claim_dividend_while_paused_fails.1.json
index 161f614..69e3198 100644
--- a/creator-keys/test_snapshots/test_claim_dividend_while_paused_fails.1.json
+++ b/creator-keys/test_snapshots/test_claim_dividend_while_paused_fails.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -841,6 +857,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 10
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_claim_locked_allocation_reverts_at_every_ledger_before_unlock.1.json b/creator-keys/test_snapshots/test_claim_locked_allocation_reverts_at_every_ledger_before_unlock.1.json
index 78e6277..8b20b52 100644
--- a/creator-keys/test_snapshots/test_claim_locked_allocation_reverts_at_every_ledger_before_unlock.1.json
+++ b/creator-keys/test_snapshots/test_claim_locked_allocation_reverts_at_every_ledger_before_unlock.1.json
@@ -15,10 +15,24 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
{
"map": [
@@ -49,6 +63,8 @@
]
},
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_claim_locked_allocation_succeeds_at_unlock_ledger.1.json b/creator-keys/test_snapshots/test_claim_locked_allocation_succeeds_at_unlock_ledger.1.json
index df574fb..314d612 100644
--- a/creator-keys/test_snapshots/test_claim_locked_allocation_succeeds_at_unlock_ledger.1.json
+++ b/creator-keys/test_snapshots/test_claim_locked_allocation_succeeds_at_unlock_ledger.1.json
@@ -15,10 +15,24 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
{
"map": [
@@ -49,6 +63,8 @@
]
},
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_creator_details_consistency_across_ten_reads.1.json b/creator-keys/test_snapshots/test_creator_details_consistency_across_ten_reads.1.json
index f600fee..251519d 100644
--- a/creator-keys/test_snapshots/test_creator_details_consistency_across_ten_reads.1.json
+++ b/creator-keys/test_snapshots/test_creator_details_consistency_across_ten_reads.1.json
@@ -15,13 +15,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "string": "dave"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "dave"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_creator_details_identical_across_five_consecutive_reads_after_buy.1.json b/creator-keys/test_snapshots/test_creator_details_identical_across_five_consecutive_reads_after_buy.1.json
index 0a923b9..7faf0ea 100644
--- a/creator-keys/test_snapshots/test_creator_details_identical_across_five_consecutive_reads_after_buy.1.json
+++ b/creator-keys/test_snapshots/test_creator_details_identical_across_five_consecutive_reads_after_buy.1.json
@@ -15,13 +15,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "string": "bob"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "bob"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_creator_details_identical_across_three_consecutive_reads.1.json b/creator-keys/test_snapshots/test_creator_details_identical_across_three_consecutive_reads.1.json
index 616da58..887fba5 100644
--- a/creator-keys/test_snapshots/test_creator_details_identical_across_three_consecutive_reads.1.json
+++ b/creator-keys/test_snapshots/test_creator_details_identical_across_three_consecutive_reads.1.json
@@ -15,13 +15,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_creator_details_no_storage_writes_during_reads.1.json b/creator-keys/test_snapshots/test_creator_details_no_storage_writes_during_reads.1.json
index b88c124..db51d95 100644
--- a/creator-keys/test_snapshots/test_creator_details_no_storage_writes_during_reads.1.json
+++ b/creator-keys/test_snapshots/test_creator_details_no_storage_writes_during_reads.1.json
@@ -15,13 +15,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "string": "charlie"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "charlie"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_distribute_dividend_deducts_protocol_fee.1.json b/creator-keys/test_snapshots/test_distribute_dividend_deducts_protocol_fee.1.json
index 486b4d7..0bd86d9 100644
--- a/creator-keys/test_snapshots/test_distribute_dividend_deducts_protocol_fee.1.json
+++ b/creator-keys/test_snapshots/test_distribute_dividend_deducts_protocol_fee.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -724,6 +740,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 10
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_distribute_dividend_event_topics_and_payload.1.json b/creator-keys/test_snapshots/test_distribute_dividend_event_topics_and_payload.1.json
index aed8781..b22b88b 100644
--- a/creator-keys/test_snapshots/test_distribute_dividend_event_topics_and_payload.1.json
+++ b/creator-keys/test_snapshots/test_distribute_dividend_event_topics_and_payload.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -721,6 +737,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 10
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_distribute_dividend_negative_amount_fails.1.json b/creator-keys/test_snapshots/test_distribute_dividend_negative_amount_fails.1.json
index 24efb85..db1bff8 100644
--- a/creator-keys/test_snapshots/test_distribute_dividend_negative_amount_fails.1.json
+++ b/creator-keys/test_snapshots/test_distribute_dividend_negative_amount_fails.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_distribute_dividend_no_fee_config_fails.1.json b/creator-keys/test_snapshots/test_distribute_dividend_no_fee_config_fails.1.json
index 94ddeef..c1ce4c8 100644
--- a/creator-keys/test_snapshots/test_distribute_dividend_no_fee_config_fails.1.json
+++ b/creator-keys/test_snapshots/test_distribute_dividend_no_fee_config_fails.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_distribute_dividend_no_key_holders_fails.1.json b/creator-keys/test_snapshots/test_distribute_dividend_no_key_holders_fails.1.json
index 24efb85..db1bff8 100644
--- a/creator-keys/test_snapshots/test_distribute_dividend_no_key_holders_fails.1.json
+++ b/creator-keys/test_snapshots/test_distribute_dividend_no_key_holders_fails.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_distribute_dividend_proportional_to_balance.1.json b/creator-keys/test_snapshots/test_distribute_dividend_proportional_to_balance.1.json
index 3bcc9ed..34e1d7d 100644
--- a/creator-keys/test_snapshots/test_distribute_dividend_proportional_to_balance.1.json
+++ b/creator-keys/test_snapshots/test_distribute_dividend_proportional_to_balance.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -969,6 +985,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 40
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_distribute_dividend_single_holder_receives_full_net.1.json b/creator-keys/test_snapshots/test_distribute_dividend_single_holder_receives_full_net.1.json
index 1e1cc0d..e305787 100644
--- a/creator-keys/test_snapshots/test_distribute_dividend_single_holder_receives_full_net.1.json
+++ b/creator-keys/test_snapshots/test_distribute_dividend_single_holder_receives_full_net.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -722,6 +738,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 10
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_distribute_dividend_two_equal_holders_split_evenly.1.json b/creator-keys/test_snapshots/test_distribute_dividend_two_equal_holders_split_evenly.1.json
index 853d542..5baf0b7 100644
--- a/creator-keys/test_snapshots/test_distribute_dividend_two_equal_holders_split_evenly.1.json
+++ b/creator-keys/test_snapshots/test_distribute_dividend_two_equal_holders_split_evenly.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -911,6 +927,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 20
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_distribute_dividend_while_paused_fails.1.json b/creator-keys/test_snapshots/test_distribute_dividend_while_paused_fails.1.json
index ca346e9..04227f0 100644
--- a/creator-keys/test_snapshots/test_distribute_dividend_while_paused_fails.1.json
+++ b/creator-keys/test_snapshots/test_distribute_dividend_while_paused_fails.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -765,6 +781,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 10
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_distribute_dividend_zero_amount_fails.1.json b/creator-keys/test_snapshots/test_distribute_dividend_zero_amount_fails.1.json
index 24efb85..db1bff8 100644
--- a/creator-keys/test_snapshots/test_distribute_dividend_zero_amount_fails.1.json
+++ b/creator-keys/test_snapshots/test_distribute_dividend_zero_amount_fails.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_double_claim_fails_with_no_claimable.1.json b/creator-keys/test_snapshots/test_double_claim_fails_with_no_claimable.1.json
index a6d6a5c..7d88b29 100644
--- a/creator-keys/test_snapshots/test_double_claim_fails_with_no_claimable.1.json
+++ b/creator-keys/test_snapshots/test_double_claim_fails_with_no_claimable.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -744,6 +760,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 10
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_existing_holder_earns_from_all_distributions_via_checkpoint.1.json b/creator-keys/test_snapshots/test_existing_holder_earns_from_all_distributions_via_checkpoint.1.json
index b4d16cf..c0ecf6d 100644
--- a/creator-keys/test_snapshots/test_existing_holder_earns_from_all_distributions_via_checkpoint.1.json
+++ b/creator-keys/test_snapshots/test_existing_holder_earns_from_all_distributions_via_checkpoint.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -750,6 +766,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 10
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_fee_config_update_does_not_affect_other_creator.1.json b/creator-keys/test_snapshots/test_fee_config_update_does_not_affect_other_creator.1.json
index 0144f3b..779e71e 100644
--- a/creator-keys/test_snapshots/test_fee_config_update_does_not_affect_other_creator.1.json
+++ b/creator-keys/test_snapshots/test_fee_config_update_does_not_affect_other_creator.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -90,13 +106,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "string": "bob"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "bob"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_get_buy_quote_zero_amount_returns_noop_quote.1.json b/creator-keys/test_snapshots/test_get_buy_quote_zero_amount_returns_noop_quote.1.json
index 0ab84d5..25a7644 100644
--- a/creator-keys/test_snapshots/test_get_buy_quote_zero_amount_returns_noop_quote.1.json
+++ b/creator-keys/test_snapshots/test_get_buy_quote_zero_amount_returns_noop_quote.1.json
@@ -15,13 +15,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_get_buyback_quote_returns_price_plus_protocol_fee_only.1.json b/creator-keys/test_snapshots/test_get_buyback_quote_returns_price_plus_protocol_fee_only.1.json
index bf89d3d..1eee7ee 100644
--- a/creator-keys/test_snapshots/test_get_buyback_quote_returns_price_plus_protocol_fee_only.1.json
+++ b/creator-keys/test_snapshots/test_get_buyback_quote_returns_price_plus_protocol_fee_only.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -677,6 +693,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 200
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_get_claimable_dividend_accumulates_across_distributions.1.json b/creator-keys/test_snapshots/test_get_claimable_dividend_accumulates_across_distributions.1.json
index f25ec8c..5027533 100644
--- a/creator-keys/test_snapshots/test_get_claimable_dividend_accumulates_across_distributions.1.json
+++ b/creator-keys/test_snapshots/test_get_claimable_dividend_accumulates_across_distributions.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -778,6 +794,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 10
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_get_claimable_dividend_correct_after_distribution.1.json b/creator-keys/test_snapshots/test_get_claimable_dividend_correct_after_distribution.1.json
index 1e1cc0d..e305787 100644
--- a/creator-keys/test_snapshots/test_get_claimable_dividend_correct_after_distribution.1.json
+++ b/creator-keys/test_snapshots/test_get_claimable_dividend_correct_after_distribution.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -722,6 +738,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 10
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_get_claimable_dividend_is_read_only.1.json b/creator-keys/test_snapshots/test_get_claimable_dividend_is_read_only.1.json
index 797e5e4..f5b6c01 100644
--- a/creator-keys/test_snapshots/test_get_claimable_dividend_is_read_only.1.json
+++ b/creator-keys/test_snapshots/test_get_claimable_dividend_is_read_only.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -728,6 +744,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 10
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_get_claimable_dividend_works_while_paused.1.json b/creator-keys/test_snapshots/test_get_claimable_dividend_works_while_paused.1.json
index 161f614..69e3198 100644
--- a/creator-keys/test_snapshots/test_get_claimable_dividend_works_while_paused.1.json
+++ b/creator-keys/test_snapshots/test_get_claimable_dividend_works_while_paused.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -841,6 +857,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 10
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_get_claimable_dividend_zero_after_claim.1.json b/creator-keys/test_snapshots/test_get_claimable_dividend_zero_after_claim.1.json
index a6d6a5c..7d88b29 100644
--- a/creator-keys/test_snapshots/test_get_claimable_dividend_zero_after_claim.1.json
+++ b/creator-keys/test_snapshots/test_get_claimable_dividend_zero_after_claim.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -744,6 +760,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 10
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_get_claimable_dividend_zero_before_any_distribution.1.json b/creator-keys/test_snapshots/test_get_claimable_dividend_zero_before_any_distribution.1.json
index e84ac25..22c4bf8 100644
--- a/creator-keys/test_snapshots/test_get_claimable_dividend_zero_before_any_distribution.1.json
+++ b/creator-keys/test_snapshots/test_get_claimable_dividend_zero_before_any_distribution.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -646,6 +662,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 10
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_get_creator_details_read_on_unregistered_does_not_mutate_state.1.json b/creator-keys/test_snapshots/test_get_creator_details_read_on_unregistered_does_not_mutate_state.1.json
index 0633671..265cd3c 100644
--- a/creator-keys/test_snapshots/test_get_creator_details_read_on_unregistered_does_not_mutate_state.1.json
+++ b/creator-keys/test_snapshots/test_get_creator_details_read_on_unregistered_does_not_mutate_state.1.json
@@ -15,13 +15,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "string": "anchor"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "anchor"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_get_creator_details_reflects_latest_state_after_buy_then_sell.1.json b/creator-keys/test_snapshots/test_get_creator_details_reflects_latest_state_after_buy_then_sell.1.json
index 810b013..8c10206 100644
--- a/creator-keys/test_snapshots/test_get_creator_details_reflects_latest_state_after_buy_then_sell.1.json
+++ b/creator-keys/test_snapshots/test_get_creator_details_reflects_latest_state_after_buy_then_sell.1.json
@@ -15,13 +15,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "string": "bob"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "bob"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_get_creator_details_registered_returns_correct_data.1.json b/creator-keys/test_snapshots/test_get_creator_details_registered_returns_correct_data.1.json
index d88c6c8..8252fb6 100644
--- a/creator-keys/test_snapshots/test_get_creator_details_registered_returns_correct_data.1.json
+++ b/creator-keys/test_snapshots/test_get_creator_details_registered_returns_correct_data.1.json
@@ -15,13 +15,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_get_creator_details_updates_after_buy.1.json b/creator-keys/test_snapshots/test_get_creator_details_updates_after_buy.1.json
index e8f36c1..06005ef 100644
--- a/creator-keys/test_snapshots/test_get_creator_details_updates_after_buy.1.json
+++ b/creator-keys/test_snapshots/test_get_creator_details_updates_after_buy.1.json
@@ -15,13 +15,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_get_creator_fee_bps_fails_when_fee_config_not_set.1.json b/creator-keys/test_snapshots/test_get_creator_fee_bps_fails_when_fee_config_not_set.1.json
index d88c6c8..8252fb6 100644
--- a/creator-keys/test_snapshots/test_get_creator_fee_bps_fails_when_fee_config_not_set.1.json
+++ b/creator-keys/test_snapshots/test_get_creator_fee_bps_fails_when_fee_config_not_set.1.json
@@ -15,13 +15,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_get_creator_fee_bps_is_read_only.1.json b/creator-keys/test_snapshots/test_get_creator_fee_bps_is_read_only.1.json
index 20bd363..42839a0 100644
--- a/creator-keys/test_snapshots/test_get_creator_fee_bps_is_read_only.1.json
+++ b/creator-keys/test_snapshots/test_get_creator_fee_bps_is_read_only.1.json
@@ -15,13 +15,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_get_creator_fee_bps_returns_configured_value.1.json b/creator-keys/test_snapshots/test_get_creator_fee_bps_returns_configured_value.1.json
index 97a403c..9dcb729 100644
--- a/creator-keys/test_snapshots/test_get_creator_fee_bps_returns_configured_value.1.json
+++ b/creator-keys/test_snapshots/test_get_creator_fee_bps_returns_configured_value.1.json
@@ -15,13 +15,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_get_creator_fee_bps_tracks_fee_config_updates.1.json b/creator-keys/test_snapshots/test_get_creator_fee_bps_tracks_fee_config_updates.1.json
index a4337e0..5b9ca55 100644
--- a/creator-keys/test_snapshots/test_get_creator_fee_bps_tracks_fee_config_updates.1.json
+++ b/creator-keys/test_snapshots/test_get_creator_fee_bps_tracks_fee_config_updates.1.json
@@ -15,13 +15,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_get_creator_fee_config_is_read_only.1.json b/creator-keys/test_snapshots/test_get_creator_fee_config_is_read_only.1.json
index 5b6c1b4..218986a 100644
--- a/creator-keys/test_snapshots/test_get_creator_fee_config_is_read_only.1.json
+++ b/creator-keys/test_snapshots/test_get_creator_fee_config_is_read_only.1.json
@@ -15,13 +15,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "test_creator"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "test_creator"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_get_creator_fee_config_multiple_creators_independent.1.json b/creator-keys/test_snapshots/test_get_creator_fee_config_multiple_creators_independent.1.json
index da90e69..d8a2dfb 100644
--- a/creator-keys/test_snapshots/test_get_creator_fee_config_multiple_creators_independent.1.json
+++ b/creator-keys/test_snapshots/test_get_creator_fee_config_multiple_creators_independent.1.json
@@ -15,13 +15,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "creator_one"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "creator_one"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -40,13 +56,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "string": "creator_two"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "creator_two"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_get_creator_fee_config_registered_no_fee_config.1.json b/creator-keys/test_snapshots/test_get_creator_fee_config_registered_no_fee_config.1.json
index fe43a79..b64bea7 100644
--- a/creator-keys/test_snapshots/test_get_creator_fee_config_registered_no_fee_config.1.json
+++ b/creator-keys/test_snapshots/test_get_creator_fee_config_registered_no_fee_config.1.json
@@ -15,13 +15,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "string": "test_creator"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "test_creator"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_get_creator_fee_config_registered_with_fee_config.1.json b/creator-keys/test_snapshots/test_get_creator_fee_config_registered_with_fee_config.1.json
index 0f65326..866bf56 100644
--- a/creator-keys/test_snapshots/test_get_creator_fee_config_registered_with_fee_config.1.json
+++ b/creator-keys/test_snapshots/test_get_creator_fee_config_registered_with_fee_config.1.json
@@ -15,13 +15,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "test_creator"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "test_creator"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_get_creator_fee_config_updates_after_fee_reconfiguration.1.json b/creator-keys/test_snapshots/test_get_creator_fee_config_updates_after_fee_reconfiguration.1.json
index f30aea0..b7106e2 100644
--- a/creator-keys/test_snapshots/test_get_creator_fee_config_updates_after_fee_reconfiguration.1.json
+++ b/creator-keys/test_snapshots/test_get_creator_fee_config_updates_after_fee_reconfiguration.1.json
@@ -15,13 +15,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "test_creator"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "test_creator"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_get_creator_fee_recipient_is_read_only.1.json b/creator-keys/test_snapshots/test_get_creator_fee_recipient_is_read_only.1.json
index 8ca1465..cf5a6a8 100644
--- a/creator-keys/test_snapshots/test_get_creator_fee_recipient_is_read_only.1.json
+++ b/creator-keys/test_snapshots/test_get_creator_fee_recipient_is_read_only.1.json
@@ -15,13 +15,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_get_creator_fee_recipient_returns_creator_address.1.json b/creator-keys/test_snapshots/test_get_creator_fee_recipient_returns_creator_address.1.json
index d88c6c8..8252fb6 100644
--- a/creator-keys/test_snapshots/test_get_creator_fee_recipient_returns_creator_address.1.json
+++ b/creator-keys/test_snapshots/test_get_creator_fee_recipient_returns_creator_address.1.json
@@ -15,13 +15,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_get_creator_succeeds_after_supply_returns_to_zero.1.json b/creator-keys/test_snapshots/test_get_creator_succeeds_after_supply_returns_to_zero.1.json
index fddb7ad..8d6bfa9 100644
--- a/creator-keys/test_snapshots/test_get_creator_succeeds_after_supply_returns_to_zero.1.json
+++ b/creator-keys/test_snapshots/test_get_creator_succeeds_after_supply_returns_to_zero.1.json
@@ -15,13 +15,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_get_creator_supply_is_read_only.1.json b/creator-keys/test_snapshots/test_get_creator_supply_is_read_only.1.json
index 0bd5aca..ee5f2da 100644
--- a/creator-keys/test_snapshots/test_get_creator_supply_is_read_only.1.json
+++ b/creator-keys/test_snapshots/test_get_creator_supply_is_read_only.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_get_creator_supply_returns_current_supply.1.json b/creator-keys/test_snapshots/test_get_creator_supply_returns_current_supply.1.json
index cea574b..694c18d 100644
--- a/creator-keys/test_snapshots/test_get_creator_supply_returns_current_supply.1.json
+++ b/creator-keys/test_snapshots/test_get_creator_supply_returns_current_supply.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_get_creator_treasury_share_fails_when_fee_config_not_set.1.json b/creator-keys/test_snapshots/test_get_creator_treasury_share_fails_when_fee_config_not_set.1.json
index d88c6c8..8252fb6 100644
--- a/creator-keys/test_snapshots/test_get_creator_treasury_share_fails_when_fee_config_not_set.1.json
+++ b/creator-keys/test_snapshots/test_get_creator_treasury_share_fails_when_fee_config_not_set.1.json
@@ -15,13 +15,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_get_creator_treasury_share_is_read_only.1.json b/creator-keys/test_snapshots/test_get_creator_treasury_share_is_read_only.1.json
index 02f90dd..0adc722 100644
--- a/creator-keys/test_snapshots/test_get_creator_treasury_share_is_read_only.1.json
+++ b/creator-keys/test_snapshots/test_get_creator_treasury_share_is_read_only.1.json
@@ -15,13 +15,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_get_creator_treasury_share_returns_configured_value.1.json b/creator-keys/test_snapshots/test_get_creator_treasury_share_returns_configured_value.1.json
index 97a403c..9dcb729 100644
--- a/creator-keys/test_snapshots/test_get_creator_treasury_share_returns_configured_value.1.json
+++ b/creator-keys/test_snapshots/test_get_creator_treasury_share_returns_configured_value.1.json
@@ -15,13 +15,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_get_creators_batch_success.1.json b/creator-keys/test_snapshots/test_get_creators_batch_success.1.json
index c7d7de6..0093ad7 100644
--- a/creator-keys/test_snapshots/test_get_creators_batch_success.1.json
+++ b/creator-keys/test_snapshots/test_get_creators_batch_success.1.json
@@ -15,13 +15,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -40,13 +56,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "bob"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "bob"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_get_key_decimals_consistent_across_creator_instances.1.json b/creator-keys/test_snapshots/test_get_key_decimals_consistent_across_creator_instances.1.json
index f87c018..3a5441d 100644
--- a/creator-keys/test_snapshots/test_get_key_decimals_consistent_across_creator_instances.1.json
+++ b/creator-keys/test_snapshots/test_get_key_decimals_consistent_across_creator_instances.1.json
@@ -15,13 +15,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -41,13 +57,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "bob"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "bob"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_get_key_name_success.1.json b/creator-keys/test_snapshots/test_get_key_name_success.1.json
index d88c6c8..8252fb6 100644
--- a/creator-keys/test_snapshots/test_get_key_name_success.1.json
+++ b/creator-keys/test_snapshots/test_get_key_name_success.1.json
@@ -15,13 +15,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_get_key_symbol_success.1.json b/creator-keys/test_snapshots/test_get_key_symbol_success.1.json
index d88c6c8..8252fb6 100644
--- a/creator-keys/test_snapshots/test_get_key_symbol_success.1.json
+++ b/creator-keys/test_snapshots/test_get_key_symbol_success.1.json
@@ -15,13 +15,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_get_protocol_state_version_increments_only_on_config_updates.1.json b/creator-keys/test_snapshots/test_get_protocol_state_version_increments_only_on_config_updates.1.json
index 5d5d56e..96e1b56 100644
--- a/creator-keys/test_snapshots/test_get_protocol_state_version_increments_only_on_config_updates.1.json
+++ b/creator-keys/test_snapshots/test_get_protocol_state_version_increments_only_on_config_updates.1.json
@@ -67,13 +67,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -709,6 +725,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 10
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_get_sell_quote_zero_amount_returns_noop_quote.1.json b/creator-keys/test_snapshots/test_get_sell_quote_zero_amount_returns_noop_quote.1.json
index 329f115..3176657 100644
--- a/creator-keys/test_snapshots/test_get_sell_quote_zero_amount_returns_noop_quote.1.json
+++ b/creator-keys/test_snapshots/test_get_sell_quote_zero_amount_returns_noop_quote.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_get_total_key_supply_increments_after_buy.1.json b/creator-keys/test_snapshots/test_get_total_key_supply_increments_after_buy.1.json
index a376ff2..9bf627f 100644
--- a/creator-keys/test_snapshots/test_get_total_key_supply_increments_after_buy.1.json
+++ b/creator-keys/test_snapshots/test_get_total_key_supply_increments_after_buy.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_get_total_key_supply_is_read_only.1.json b/creator-keys/test_snapshots/test_get_total_key_supply_is_read_only.1.json
index c924583..bf66497 100644
--- a/creator-keys/test_snapshots/test_get_total_key_supply_is_read_only.1.json
+++ b/creator-keys/test_snapshots/test_get_total_key_supply_is_read_only.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_get_total_key_supply_returns_zero_for_new_creator.1.json b/creator-keys/test_snapshots/test_get_total_key_supply_returns_zero_for_new_creator.1.json
index 9ee85b3..045035d 100644
--- a/creator-keys/test_snapshots/test_get_total_key_supply_returns_zero_for_new_creator.1.json
+++ b/creator-keys/test_snapshots/test_get_total_key_supply_returns_zero_for_new_creator.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_holder_count_reflects_mixed_trade_correctly.1.json b/creator-keys/test_snapshots/test_holder_count_reflects_mixed_trade_correctly.1.json
index 302f8ab..0abefab 100644
--- a/creator-keys/test_snapshots/test_holder_count_reflects_mixed_trade_correctly.1.json
+++ b/creator-keys/test_snapshots/test_holder_count_reflects_mixed_trade_correctly.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_holder_count_returns_to_zero_after_last_holder_exit_and_rebuy.1.json b/creator-keys/test_snapshots/test_holder_count_returns_to_zero_after_last_holder_exit_and_rebuy.1.json
index f6107a8..7f502dc 100644
--- a/creator-keys/test_snapshots/test_holder_count_returns_to_zero_after_last_holder_exit_and_rebuy.1.json
+++ b/creator-keys/test_snapshots/test_holder_count_returns_to_zero_after_last_holder_exit_and_rebuy.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_holder_count_unchanged_when_holder_still_has_keys.1.json b/creator-keys/test_snapshots/test_holder_count_unchanged_when_holder_still_has_keys.1.json
index b850e35..54f08a2 100644
--- a/creator-keys/test_snapshots/test_holder_count_unchanged_when_holder_still_has_keys.1.json
+++ b/creator-keys/test_snapshots/test_holder_count_unchanged_when_holder_still_has_keys.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_holder_key_count_view_consistency_with_get_key_balance.1.json b/creator-keys/test_snapshots/test_holder_key_count_view_consistency_with_get_key_balance.1.json
index c67e348..72c3a1c 100644
--- a/creator-keys/test_snapshots/test_holder_key_count_view_consistency_with_get_key_balance.1.json
+++ b/creator-keys/test_snapshots/test_holder_key_count_view_consistency_with_get_key_balance.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "test"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "test"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_holder_key_count_view_increments_on_buy.1.json b/creator-keys/test_snapshots/test_holder_key_count_view_increments_on_buy.1.json
index 0b7a74c..0d1d3db 100644
--- a/creator-keys/test_snapshots/test_holder_key_count_view_increments_on_buy.1.json
+++ b/creator-keys/test_snapshots/test_holder_key_count_view_increments_on_buy.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "test"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "test"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_holder_key_count_view_multiple_holders.1.json b/creator-keys/test_snapshots/test_holder_key_count_view_multiple_holders.1.json
index 3f20361..f9ed0a9 100644
--- a/creator-keys/test_snapshots/test_holder_key_count_view_multiple_holders.1.json
+++ b/creator-keys/test_snapshots/test_holder_key_count_view_multiple_holders.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "test"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "test"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_holder_key_count_view_no_state_mutation.1.json b/creator-keys/test_snapshots/test_holder_key_count_view_no_state_mutation.1.json
index 1da1209..9730c88 100644
--- a/creator-keys/test_snapshots/test_holder_key_count_view_no_state_mutation.1.json
+++ b/creator-keys/test_snapshots/test_holder_key_count_view_no_state_mutation.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "test"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "test"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_holder_key_count_view_registered_creator_unseen_wallet.1.json b/creator-keys/test_snapshots/test_holder_key_count_view_registered_creator_unseen_wallet.1.json
index 75e81f6..64abfc3 100644
--- a/creator-keys/test_snapshots/test_holder_key_count_view_registered_creator_unseen_wallet.1.json
+++ b/creator-keys/test_snapshots/test_holder_key_count_view_registered_creator_unseen_wallet.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "test"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "test"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_holder_key_count_view_starts_at_zero.1.json b/creator-keys/test_snapshots/test_holder_key_count_view_starts_at_zero.1.json
index 429e8bf..83a7843 100644
--- a/creator-keys/test_snapshots/test_holder_key_count_view_starts_at_zero.1.json
+++ b/creator-keys/test_snapshots/test_holder_key_count_view_starts_at_zero.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "test"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "test"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_holder_key_count_view_structure_fields.1.json b/creator-keys/test_snapshots/test_holder_key_count_view_structure_fields.1.json
index f572cdf..e1ee067 100644
--- a/creator-keys/test_snapshots/test_holder_key_count_view_structure_fields.1.json
+++ b/creator-keys/test_snapshots/test_holder_key_count_view_structure_fields.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "test"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "test"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_holder_key_count_view_zero_keys_different_creators.1.json b/creator-keys/test_snapshots/test_holder_key_count_view_zero_keys_different_creators.1.json
index 3ffb12a..c7e35f7 100644
--- a/creator-keys/test_snapshots/test_holder_key_count_view_zero_keys_different_creators.1.json
+++ b/creator-keys/test_snapshots/test_holder_key_count_view_zero_keys_different_creators.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -65,13 +81,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "string": "bob"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "bob"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_identical_fee_configs_apply_independently.1.json b/creator-keys/test_snapshots/test_identical_fee_configs_apply_independently.1.json
index a3acf8c..65eddd3 100644
--- a/creator-keys/test_snapshots/test_identical_fee_configs_apply_independently.1.json
+++ b/creator-keys/test_snapshots/test_identical_fee_configs_apply_independently.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -90,13 +106,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "string": "bob"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "bob"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -1051,6 +1083,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 200
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_is_creator_registered_different_creators_independent.1.json b/creator-keys/test_snapshots/test_is_creator_registered_different_creators_independent.1.json
index a4a3872..69fa44d 100644
--- a/creator-keys/test_snapshots/test_is_creator_registered_different_creators_independent.1.json
+++ b/creator-keys/test_snapshots/test_is_creator_registered_different_creators_independent.1.json
@@ -15,13 +15,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_is_creator_registered_is_read_only.1.json b/creator-keys/test_snapshots/test_is_creator_registered_is_read_only.1.json
index 616da58..887fba5 100644
--- a/creator-keys/test_snapshots/test_is_creator_registered_is_read_only.1.json
+++ b/creator-keys/test_snapshots/test_is_creator_registered_is_read_only.1.json
@@ -15,13 +15,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_is_creator_registered_returns_true_after_registration.1.json b/creator-keys/test_snapshots/test_is_creator_registered_returns_true_after_registration.1.json
index d88c6c8..8252fb6 100644
--- a/creator-keys/test_snapshots/test_is_creator_registered_returns_true_after_registration.1.json
+++ b/creator-keys/test_snapshots/test_is_creator_registered_returns_true_after_registration.1.json
@@ -15,13 +15,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_key_balance_decrements_correctly_after_each_partial_sell.1.json b/creator-keys/test_snapshots/test_key_balance_decrements_correctly_after_each_partial_sell.1.json
index d61ace9..44ed89d 100644
--- a/creator-keys/test_snapshots/test_key_balance_decrements_correctly_after_each_partial_sell.1.json
+++ b/creator-keys/test_snapshots/test_key_balance_decrements_correctly_after_each_partial_sell.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_key_balance_increments_on_buy.1.json b/creator-keys/test_snapshots/test_key_balance_increments_on_buy.1.json
index 6f38f3b..b0dcce0 100644
--- a/creator-keys/test_snapshots/test_key_balance_increments_on_buy.1.json
+++ b/creator-keys/test_snapshots/test_key_balance_increments_on_buy.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_key_balance_is_per_buyer.1.json b/creator-keys/test_snapshots/test_key_balance_is_per_buyer.1.json
index 1c14a71..0dc4d39 100644
--- a/creator-keys/test_snapshots/test_key_balance_is_per_buyer.1.json
+++ b/creator-keys/test_snapshots/test_key_balance_is_per_buyer.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_key_balance_is_per_creator.1.json b/creator-keys/test_snapshots/test_key_balance_is_per_creator.1.json
index 2f3032a..88c0c3e 100644
--- a/creator-keys/test_snapshots/test_key_balance_is_per_creator.1.json
+++ b/creator-keys/test_snapshots/test_key_balance_is_per_creator.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -65,13 +81,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "string": "bob"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "bob"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_key_balance_returns_zero_for_uninitialized_holder.1.json b/creator-keys/test_snapshots/test_key_balance_returns_zero_for_uninitialized_holder.1.json
index 8922b18..a362a88 100644
--- a/creator-keys/test_snapshots/test_key_balance_returns_zero_for_uninitialized_holder.1.json
+++ b/creator-keys/test_snapshots/test_key_balance_returns_zero_for_uninitialized_holder.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_key_balance_zero_for_registered_creator_and_unseen_wallet.1.json b/creator-keys/test_snapshots/test_key_balance_zero_for_registered_creator_and_unseen_wallet.1.json
index 94ddeef..c1ce4c8 100644
--- a/creator-keys/test_snapshots/test_key_balance_zero_for_registered_creator_and_unseen_wallet.1.json
+++ b/creator-keys/test_snapshots/test_key_balance_zero_for_registered_creator_and_unseen_wallet.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_key_balance_zero_for_unregistered_creator_even_when_other_balances_exist.1.json b/creator-keys/test_snapshots/test_key_balance_zero_for_unregistered_creator_even_when_other_balances_exist.1.json
index 1e05b06..50bb350 100644
--- a/creator-keys/test_snapshots/test_key_balance_zero_for_unregistered_creator_even_when_other_balances_exist.1.json
+++ b/creator-keys/test_snapshots/test_key_balance_zero_for_unregistered_creator_even_when_other_balances_exist.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_multiple_distributions_accumulate.1.json b/creator-keys/test_snapshots/test_multiple_distributions_accumulate.1.json
index b4d16cf..c0ecf6d 100644
--- a/creator-keys/test_snapshots/test_multiple_distributions_accumulate.1.json
+++ b/creator-keys/test_snapshots/test_multiple_distributions_accumulate.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -750,6 +766,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 10
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_new_buyer_after_distribution_earns_no_retroactive_dividends.1.json b/creator-keys/test_snapshots/test_new_buyer_after_distribution_earns_no_retroactive_dividends.1.json
index a9abaaa..c097352 100644
--- a/creator-keys/test_snapshots/test_new_buyer_after_distribution_earns_no_retroactive_dividends.1.json
+++ b/creator-keys/test_snapshots/test_new_buyer_after_distribution_earns_no_retroactive_dividends.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -910,6 +926,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 20
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_read_only_views_work_while_paused.1.json b/creator-keys/test_snapshots/test_read_only_views_work_while_paused.1.json
index fc0f87b..0569544 100644
--- a/creator-keys/test_snapshots/test_read_only_views_work_while_paused.1.json
+++ b/creator-keys/test_snapshots/test_read_only_views_work_while_paused.1.json
@@ -62,13 +62,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_register_creator_accepts_max_handle_length.1.json b/creator-keys/test_snapshots/test_register_creator_accepts_max_handle_length.1.json
index 3216b11..53a67af 100644
--- a/creator-keys/test_snapshots/test_register_creator_accepts_max_handle_length.1.json
+++ b/creator-keys/test_snapshots/test_register_creator_accepts_max_handle_length.1.json
@@ -15,13 +15,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "string": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_register_creator_accepts_min_handle_length.1.json b/creator-keys/test_snapshots/test_register_creator_accepts_min_handle_length.1.json
index 72e5fe6..51c58a0 100644
--- a/creator-keys/test_snapshots/test_register_creator_accepts_min_handle_length.1.json
+++ b/creator-keys/test_snapshots/test_register_creator_accepts_min_handle_length.1.json
@@ -15,13 +15,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "string": "aaa"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "aaa"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_register_creator_different_addresses_succeeds.1.json b/creator-keys/test_snapshots/test_register_creator_different_addresses_succeeds.1.json
index 7152bd4..08ae358 100644
--- a/creator-keys/test_snapshots/test_register_creator_different_addresses_succeeds.1.json
+++ b/creator-keys/test_snapshots/test_register_creator_different_addresses_succeeds.1.json
@@ -15,13 +15,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -40,13 +56,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "bob"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "bob"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_register_creator_duplicate_different_handle_fails.1.json b/creator-keys/test_snapshots/test_register_creator_duplicate_different_handle_fails.1.json
index d88c6c8..8252fb6 100644
--- a/creator-keys/test_snapshots/test_register_creator_duplicate_different_handle_fails.1.json
+++ b/creator-keys/test_snapshots/test_register_creator_duplicate_different_handle_fails.1.json
@@ -15,13 +15,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_register_creator_duplicate_fails.1.json b/creator-keys/test_snapshots/test_register_creator_duplicate_fails.1.json
index d88c6c8..8252fb6 100644
--- a/creator-keys/test_snapshots/test_register_creator_duplicate_fails.1.json
+++ b/creator-keys/test_snapshots/test_register_creator_duplicate_fails.1.json
@@ -15,13 +15,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_register_creator_emits_event.1.json b/creator-keys/test_snapshots/test_register_creator_emits_event.1.json
index 719ba79..b8f189f 100644
--- a/creator-keys/test_snapshots/test_register_creator_emits_event.1.json
+++ b/creator-keys/test_snapshots/test_register_creator_emits_event.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_register_creator_event_data_is_indexer_friendly.1.json b/creator-keys/test_snapshots/test_register_creator_event_data_is_indexer_friendly.1.json
index 719ba79..b8f189f 100644
--- a/creator-keys/test_snapshots/test_register_creator_event_data_is_indexer_friendly.1.json
+++ b/creator-keys/test_snapshots/test_register_creator_event_data_is_indexer_friendly.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_register_creator_event_field_values_match_fixtures.1.json b/creator-keys/test_snapshots/test_register_creator_event_field_values_match_fixtures.1.json
index b0a6bde..82bfeb0 100644
--- a/creator-keys/test_snapshots/test_register_creator_event_field_values_match_fixtures.1.json
+++ b/creator-keys/test_snapshots/test_register_creator_event_field_values_match_fixtures.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "fixture_handle"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "fixture_handle"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_register_creator_event_fields_update_with_fee_config.1.json b/creator-keys/test_snapshots/test_register_creator_event_fields_update_with_fee_config.1.json
index 0c3b7f7..5ce36ae 100644
--- a/creator-keys/test_snapshots/test_register_creator_event_fields_update_with_fee_config.1.json
+++ b/creator-keys/test_snapshots/test_register_creator_event_fields_update_with_fee_config.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "creator_1"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "creator_1"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -90,13 +106,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "string": "creator_2"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "creator_2"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_register_creator_event_fires_once.1.json b/creator-keys/test_snapshots/test_register_creator_event_fires_once.1.json
index d778e19..2352145 100644
--- a/creator-keys/test_snapshots/test_register_creator_event_fires_once.1.json
+++ b/creator-keys/test_snapshots/test_register_creator_event_fires_once.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "bob"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "bob"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_register_creator_max_length_handle_succeeds.1.json b/creator-keys/test_snapshots/test_register_creator_max_length_handle_succeeds.1.json
index 3216b11..53a67af 100644
--- a/creator-keys/test_snapshots/test_register_creator_max_length_handle_succeeds.1.json
+++ b/creator-keys/test_snapshots/test_register_creator_max_length_handle_succeeds.1.json
@@ -15,13 +15,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "string": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_register_creator_minimum_handle_length_success.1.json b/creator-keys/test_snapshots/test_register_creator_minimum_handle_length_success.1.json
index 83b32e3..6d7ac11 100644
--- a/creator-keys/test_snapshots/test_register_creator_minimum_handle_length_success.1.json
+++ b/creator-keys/test_snapshots/test_register_creator_minimum_handle_length_success.1.json
@@ -15,13 +15,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "string": "aaa"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "aaa"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_registered_at_enables_chronological_sort.1.json b/creator-keys/test_snapshots/test_registered_at_enables_chronological_sort.1.json
index 1bd7af8..d460af6 100644
--- a/creator-keys/test_snapshots/test_registered_at_enables_chronological_sort.1.json
+++ b/creator-keys/test_snapshots/test_registered_at_enables_chronological_sort.1.json
@@ -15,13 +15,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "string": "first"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "first"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -40,13 +56,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "second"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "second"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -65,13 +97,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "string": "third"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "third"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_registered_at_is_captured_at_registration_sequence.1.json b/creator-keys/test_snapshots/test_registered_at_is_captured_at_registration_sequence.1.json
index 959ce7d..4a58c5d 100644
--- a/creator-keys/test_snapshots/test_registered_at_is_captured_at_registration_sequence.1.json
+++ b/creator-keys/test_snapshots/test_registered_at_is_captured_at_registration_sequence.1.json
@@ -15,13 +15,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_registered_at_is_immutable_after_buy_and_sell.1.json b/creator-keys/test_snapshots/test_registered_at_is_immutable_after_buy_and_sell.1.json
index f4f8762..1333e18 100644
--- a/creator-keys/test_snapshots/test_registered_at_is_immutable_after_buy_and_sell.1.json
+++ b/creator-keys/test_snapshots/test_registered_at_is_immutable_after_buy_and_sell.1.json
@@ -15,13 +15,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_registered_at_is_read_only.1.json b/creator-keys/test_snapshots/test_registered_at_is_read_only.1.json
index 4c920f0..c5266d7 100644
--- a/creator-keys/test_snapshots/test_registered_at_is_read_only.1.json
+++ b/creator-keys/test_snapshots/test_registered_at_is_read_only.1.json
@@ -15,13 +15,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_repeated_zero_amount_quote_calls_no_state_drift.1.json b/creator-keys/test_snapshots/test_repeated_zero_amount_quote_calls_no_state_drift.1.json
index dd283cd..1c85b6b 100644
--- a/creator-keys/test_snapshots/test_repeated_zero_amount_quote_calls_no_state_drift.1.json
+++ b/creator-keys/test_snapshots/test_repeated_zero_amount_quote_calls_no_state_drift.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_sell_after_buy_succeeds_without_underflow_error.1.json b/creator-keys/test_snapshots/test_sell_after_buy_succeeds_without_underflow_error.1.json
index 86ffa0b..aaad312 100644
--- a/creator-keys/test_snapshots/test_sell_after_buy_succeeds_without_underflow_error.1.json
+++ b/creator-keys/test_snapshots/test_sell_after_buy_succeeds_without_underflow_error.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_sell_all_then_rebuy_starts_fresh_on_pending.1.json b/creator-keys/test_snapshots/test_sell_all_then_rebuy_starts_fresh_on_pending.1.json
index f5fdbf8..e647b88 100644
--- a/creator-keys/test_snapshots/test_sell_all_then_rebuy_starts_fresh_on_pending.1.json
+++ b/creator-keys/test_snapshots/test_sell_all_then_rebuy_starts_fresh_on_pending.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -361,7 +377,7 @@
"val": {
"i128": {
"hi": 0,
- "lo": 180
+ "lo": 270
}
}
}
@@ -802,6 +818,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 30
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_sell_event_seller_address_field_is_non_zero.1.json b/creator-keys/test_snapshots/test_sell_event_seller_address_field_is_non_zero.1.json
index 86ffa0b..aaad312 100644
--- a/creator-keys/test_snapshots/test_sell_event_seller_address_field_is_non_zero.1.json
+++ b/creator-keys/test_snapshots/test_sell_event_seller_address_field_is_non_zero.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_sell_event_seller_address_matches_caller.1.json b/creator-keys/test_snapshots/test_sell_event_seller_address_matches_caller.1.json
index 86ffa0b..aaad312 100644
--- a/creator-keys/test_snapshots/test_sell_event_seller_address_matches_caller.1.json
+++ b/creator-keys/test_snapshots/test_sell_event_seller_address_matches_caller.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_sell_execution_applies_updated_protocol_fee.1.json b/creator-keys/test_snapshots/test_sell_execution_applies_updated_protocol_fee.1.json
index 79b8a00..7318f75 100644
--- a/creator-keys/test_snapshots/test_sell_execution_applies_updated_protocol_fee.1.json
+++ b/creator-keys/test_snapshots/test_sell_execution_applies_updated_protocol_fee.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -303,7 +319,7 @@
"val": {
"i128": {
"hi": 0,
- "lo": 900
+ "lo": 1700
}
}
}
@@ -696,6 +712,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 300
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_sell_execution_fee_matches_quote_after_fee_config_update.1.json b/creator-keys/test_snapshots/test_sell_execution_fee_matches_quote_after_fee_config_update.1.json
index 7dfc587..0e9ba14 100644
--- a/creator-keys/test_snapshots/test_sell_execution_fee_matches_quote_after_fee_config_update.1.json
+++ b/creator-keys/test_snapshots/test_sell_execution_fee_matches_quote_after_fee_config_update.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "bob"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "bob"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -304,7 +320,7 @@
"val": {
"i128": {
"hi": 0,
- "lo": 450
+ "lo": 825
}
}
}
@@ -697,6 +713,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 175
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_sell_full_exit_then_rebuy_updates_state.1.json b/creator-keys/test_snapshots/test_sell_full_exit_then_rebuy_updates_state.1.json
index 6ac6572..47b3e1d 100644
--- a/creator-keys/test_snapshots/test_sell_full_exit_then_rebuy_updates_state.1.json
+++ b/creator-keys/test_snapshots/test_sell_full_exit_then_rebuy_updates_state.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_sell_increases_protocol_fee_recipient_balance_by_bps_fee.1.json b/creator-keys/test_snapshots/test_sell_increases_protocol_fee_recipient_balance_by_bps_fee.1.json
index e90bf32..0bd0714 100644
--- a/creator-keys/test_snapshots/test_sell_increases_protocol_fee_recipient_balance_by_bps_fee.1.json
+++ b/creator-keys/test_snapshots/test_sell_increases_protocol_fee_recipient_balance_by_bps_fee.1.json
@@ -87,13 +87,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -300,7 +316,7 @@
"val": {
"i128": {
"hi": 0,
- "lo": 900
+ "lo": 1800
}
}
}
@@ -732,6 +748,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 200
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_sell_key_decrements_supply_and_balance.1.json b/creator-keys/test_snapshots/test_sell_key_decrements_supply_and_balance.1.json
index b850e35..54f08a2 100644
--- a/creator-keys/test_snapshots/test_sell_key_decrements_supply_and_balance.1.json
+++ b/creator-keys/test_snapshots/test_sell_key_decrements_supply_and_balance.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_sell_key_event_payload_fields_are_validated_from_fixture.1.json b/creator-keys/test_snapshots/test_sell_key_event_payload_fields_are_validated_from_fixture.1.json
index 3ba8e03..9286ca0 100644
--- a/creator-keys/test_snapshots/test_sell_key_event_payload_fields_are_validated_from_fixture.1.json
+++ b/creator-keys/test_snapshots/test_sell_key_event_payload_fields_are_validated_from_fixture.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_sell_key_event_payload_tracks_zero_supply_after_last_sale.1.json b/creator-keys/test_snapshots/test_sell_key_event_payload_tracks_zero_supply_after_last_sale.1.json
index 86ffa0b..aaad312 100644
--- a/creator-keys/test_snapshots/test_sell_key_event_payload_tracks_zero_supply_after_last_sale.1.json
+++ b/creator-keys/test_snapshots/test_sell_key_event_payload_tracks_zero_supply_after_last_sale.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_sell_key_fails_when_seller_has_no_keys.1.json b/creator-keys/test_snapshots/test_sell_key_fails_when_seller_has_no_keys.1.json
index c9f19fc..c59f25e 100644
--- a/creator-keys/test_snapshots/test_sell_key_fails_when_seller_has_no_keys.1.json
+++ b/creator-keys/test_snapshots/test_sell_key_fails_when_seller_has_no_keys.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_sell_key_preserves_holder_count_when_seller_still_has_keys.1.json b/creator-keys/test_snapshots/test_sell_key_preserves_holder_count_when_seller_still_has_keys.1.json
index 20c5fc2..b5a6641 100644
--- a/creator-keys/test_snapshots/test_sell_key_preserves_holder_count_when_seller_still_has_keys.1.json
+++ b/creator-keys/test_snapshots/test_sell_key_preserves_holder_count_when_seller_still_has_keys.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_sell_key_removes_holder_when_last_key_is_sold.1.json b/creator-keys/test_snapshots/test_sell_key_removes_holder_when_last_key_is_sold.1.json
index 659ead1..c087b06 100644
--- a/creator-keys/test_snapshots/test_sell_key_removes_holder_when_last_key_is_sold.1.json
+++ b/creator-keys/test_snapshots/test_sell_key_removes_holder_when_last_key_is_sold.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_sell_key_reverts_when_paused.1.json b/creator-keys/test_snapshots/test_sell_key_reverts_when_paused.1.json
index 88be2c0..c6526fd 100644
--- a/creator-keys/test_snapshots/test_sell_key_reverts_when_paused.1.json
+++ b/creator-keys/test_snapshots/test_sell_key_reverts_when_paused.1.json
@@ -62,13 +62,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_sell_protocol_fee_recipient_balance_accumulates_across_two_sells.1.json b/creator-keys/test_snapshots/test_sell_protocol_fee_recipient_balance_accumulates_across_two_sells.1.json
index 2f357e9..134733e 100644
--- a/creator-keys/test_snapshots/test_sell_protocol_fee_recipient_balance_accumulates_across_two_sells.1.json
+++ b/creator-keys/test_snapshots/test_sell_protocol_fee_recipient_balance_accumulates_across_two_sells.1.json
@@ -87,13 +87,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "string": "bob"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "bob"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -352,7 +368,7 @@
"val": {
"i128": {
"hi": 0,
- "lo": 1800
+ "lo": 3600
}
}
}
@@ -784,6 +800,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 400
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_sell_quote_proceeds_match_execution_at_supply_five.1.json b/creator-keys/test_snapshots/test_sell_quote_proceeds_match_execution_at_supply_five.1.json
index 3853e7d..13537ba 100644
--- a/creator-keys/test_snapshots/test_sell_quote_proceeds_match_execution_at_supply_five.1.json
+++ b/creator-keys/test_snapshots/test_sell_quote_proceeds_match_execution_at_supply_five.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "bob"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "bob"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -397,7 +413,7 @@
"val": {
"i128": {
"hi": 0,
- "lo": 4500
+ "lo": 5400
}
}
}
@@ -790,6 +806,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 600
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_sell_quote_proceeds_match_execution_at_supply_one.1.json b/creator-keys/test_snapshots/test_sell_quote_proceeds_match_execution_at_supply_one.1.json
index e6be745..2126d8f 100644
--- a/creator-keys/test_snapshots/test_sell_quote_proceeds_match_execution_at_supply_one.1.json
+++ b/creator-keys/test_snapshots/test_sell_quote_proceeds_match_execution_at_supply_one.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -281,7 +297,7 @@
"val": {
"i128": {
"hi": 0,
- "lo": 900
+ "lo": 1800
}
}
}
@@ -674,6 +690,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 200
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_sell_quote_with_large_amount_succeeds.1.json b/creator-keys/test_snapshots/test_sell_quote_with_large_amount_succeeds.1.json
index c377e22..51f7d43 100644
--- a/creator-keys/test_snapshots/test_sell_quote_with_large_amount_succeeds.1.json
+++ b/creator-keys/test_snapshots/test_sell_quote_with_large_amount_succeeds.1.json
@@ -41,13 +41,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "creator5"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "creator5"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -623,6 +639,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 50000000000
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_sell_quote_with_maximum_safe_amount_50_50_fees_succeeds.1.json b/creator-keys/test_snapshots/test_sell_quote_with_maximum_safe_amount_50_50_fees_succeeds.1.json
index d4adffa..3a6dd5c 100644
--- a/creator-keys/test_snapshots/test_sell_quote_with_maximum_safe_amount_50_50_fees_succeeds.1.json
+++ b/creator-keys/test_snapshots/test_sell_quote_with_maximum_safe_amount_50_50_fees_succeeds.1.json
@@ -41,13 +41,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "creator8"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "creator8"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -623,6 +639,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 4611686018427387
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_sell_quote_with_maximum_safe_amount_succeeds.1.json b/creator-keys/test_snapshots/test_sell_quote_with_maximum_safe_amount_succeeds.1.json
index 7a65fbc..c998434 100644
--- a/creator-keys/test_snapshots/test_sell_quote_with_maximum_safe_amount_succeeds.1.json
+++ b/creator-keys/test_snapshots/test_sell_quote_with_maximum_safe_amount_succeeds.1.json
@@ -41,13 +41,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "creator6"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "creator6"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -623,6 +639,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 922337203685477
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_sell_quote_zero_amount_holder_no_keys_returns_zero_quote.1.json b/creator-keys/test_snapshots/test_sell_quote_zero_amount_holder_no_keys_returns_zero_quote.1.json
index 4a3597f..23c024c 100644
--- a/creator-keys/test_snapshots/test_sell_quote_zero_amount_holder_no_keys_returns_zero_quote.1.json
+++ b/creator-keys/test_snapshots/test_sell_quote_zero_amount_holder_no_keys_returns_zero_quote.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "string": "bob"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "bob"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_sell_quote_zero_amount_no_state_modification.1.json b/creator-keys/test_snapshots/test_sell_quote_zero_amount_no_state_modification.1.json
index e89b0c9..b637ca8 100644
--- a/creator-keys/test_snapshots/test_sell_quote_zero_amount_no_state_modification.1.json
+++ b/creator-keys/test_snapshots/test_sell_quote_zero_amount_no_state_modification.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "string": "charlie"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "charlie"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -657,6 +673,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 10
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_sell_quote_zero_amount_returns_zero_quote.1.json b/creator-keys/test_snapshots/test_sell_quote_zero_amount_returns_zero_quote.1.json
index 06fa439..fc85fcb 100644
--- a/creator-keys/test_snapshots/test_sell_quote_zero_amount_returns_zero_quote.1.json
+++ b/creator-keys/test_snapshots/test_sell_quote_zero_amount_returns_zero_quote.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -647,6 +663,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 10
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_sell_quote_zero_supply_boundary_is_rejected.1.json b/creator-keys/test_snapshots/test_sell_quote_zero_supply_boundary_is_rejected.1.json
index d5198c6..69dd03d 100644
--- a/creator-keys/test_snapshots/test_sell_quote_zero_supply_boundary_is_rejected.1.json
+++ b/creator-keys/test_snapshots/test_sell_quote_zero_supply_boundary_is_rejected.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "edge2"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "edge2"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_sell_registered_zero_supply_creator_returns_sell_underflow_without_state_change.1.json b/creator-keys/test_snapshots/test_sell_registered_zero_supply_creator_returns_sell_underflow_without_state_change.1.json
index 737b42e..51bd42e 100644
--- a/creator-keys/test_snapshots/test_sell_registered_zero_supply_creator_returns_sell_underflow_without_state_change.1.json
+++ b/creator-keys/test_snapshots/test_sell_registered_zero_supply_creator_returns_sell_underflow_without_state_change.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_sell_reverts_when_seller_has_insufficient_balance.1.json b/creator-keys/test_snapshots/test_sell_reverts_when_seller_has_insufficient_balance.1.json
index 96e5215..ad38724 100644
--- a/creator-keys/test_snapshots/test_sell_reverts_when_seller_has_insufficient_balance.1.json
+++ b/creator-keys/test_snapshots/test_sell_reverts_when_seller_has_insufficient_balance.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_sell_second_key_after_selling_last_returns_insufficient_balance.1.json b/creator-keys/test_snapshots/test_sell_second_key_after_selling_last_returns_insufficient_balance.1.json
index 2db87aa..06a165c 100644
--- a/creator-keys/test_snapshots/test_sell_second_key_after_selling_last_returns_insufficient_balance.1.json
+++ b/creator-keys/test_snapshots/test_sell_second_key_after_selling_last_returns_insufficient_balance.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_sell_slippage_reverts_when_proceeds_below_min_proceeds.1.json b/creator-keys/test_snapshots/test_sell_slippage_reverts_when_proceeds_below_min_proceeds.1.json
index 771dc7e..b6b7387 100644
--- a/creator-keys/test_snapshots/test_sell_slippage_reverts_when_proceeds_below_min_proceeds.1.json
+++ b/creator-keys/test_snapshots/test_sell_slippage_reverts_when_proceeds_below_min_proceeds.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -654,6 +670,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 100
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_sell_slippage_succeeds_when_proceeds_meet_or_exceed_min_proceeds.1.json b/creator-keys/test_snapshots/test_sell_slippage_succeeds_when_proceeds_meet_or_exceed_min_proceeds.1.json
index 2a06588..ec80c98 100644
--- a/creator-keys/test_snapshots/test_sell_slippage_succeeds_when_proceeds_meet_or_exceed_min_proceeds.1.json
+++ b/creator-keys/test_snapshots/test_sell_slippage_succeeds_when_proceeds_meet_or_exceed_min_proceeds.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -341,7 +357,7 @@
"val": {
"i128": {
"hi": 0,
- "lo": 1800
+ "lo": 3600
}
}
}
@@ -893,6 +909,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 400
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_sell_two_keys_succeeds_without_underflow_error.1.json b/creator-keys/test_snapshots/test_sell_two_keys_succeeds_without_underflow_error.1.json
index 10dd1ea..dd14e76 100644
--- a/creator-keys/test_snapshots/test_sell_two_keys_succeeds_without_underflow_error.1.json
+++ b/creator-keys/test_snapshots/test_sell_two_keys_succeeds_without_underflow_error.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_sell_with_no_keys_returns_insufficient_balance.1.json b/creator-keys/test_snapshots/test_sell_with_no_keys_returns_insufficient_balance.1.json
index c9f19fc..c59f25e 100644
--- a/creator-keys/test_snapshots/test_sell_with_no_keys_returns_insufficient_balance.1.json
+++ b/creator-keys/test_snapshots/test_sell_with_no_keys_returns_insufficient_balance.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_slippage_none_passthrough_preserves_existing_behavior.1.json b/creator-keys/test_snapshots/test_slippage_none_passthrough_preserves_existing_behavior.1.json
index 1256fcf..c908077 100644
--- a/creator-keys/test_snapshots/test_slippage_none_passthrough_preserves_existing_behavior.1.json
+++ b/creator-keys/test_snapshots/test_slippage_none_passthrough_preserves_existing_behavior.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -277,7 +293,7 @@
"val": {
"i128": {
"hi": 0,
- "lo": 900
+ "lo": 1800
}
}
}
@@ -670,6 +686,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 200
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_supply_alternating_buys_and_sells.1.json b/creator-keys/test_snapshots/test_supply_alternating_buys_and_sells.1.json
index dba6fc0..9275302 100644
--- a/creator-keys/test_snapshots/test_supply_alternating_buys_and_sells.1.json
+++ b/creator-keys/test_snapshots/test_supply_alternating_buys_and_sells.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_supply_and_balance_decremented_correctly_after_sell.1.json b/creator-keys/test_snapshots/test_supply_and_balance_decremented_correctly_after_sell.1.json
index b850e35..54f08a2 100644
--- a/creator-keys/test_snapshots/test_supply_and_balance_decremented_correctly_after_sell.1.json
+++ b/creator-keys/test_snapshots/test_supply_and_balance_decremented_correctly_after_sell.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_supply_buy_then_sell_returns_to_zero.1.json b/creator-keys/test_snapshots/test_supply_buy_then_sell_returns_to_zero.1.json
index 00c4040..d8467da 100644
--- a/creator-keys/test_snapshots/test_supply_buy_then_sell_returns_to_zero.1.json
+++ b/creator-keys/test_snapshots/test_supply_buy_then_sell_returns_to_zero.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_supply_buy_two_sell_one_conserves_supply.1.json b/creator-keys/test_snapshots/test_supply_buy_two_sell_one_conserves_supply.1.json
index dc8a10d..3707dcc 100644
--- a/creator-keys/test_snapshots/test_supply_buy_two_sell_one_conserves_supply.1.json
+++ b/creator-keys/test_snapshots/test_supply_buy_two_sell_one_conserves_supply.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_supply_changes_for_one_creator_do_not_affect_another.1.json b/creator-keys/test_snapshots/test_supply_changes_for_one_creator_do_not_affect_another.1.json
index 955be55..0983453 100644
--- a/creator-keys/test_snapshots/test_supply_changes_for_one_creator_do_not_affect_another.1.json
+++ b/creator-keys/test_snapshots/test_supply_changes_for_one_creator_do_not_affect_another.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -65,13 +81,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "string": "bob"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "bob"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_supply_mixed_trades_three_participants.1.json b/creator-keys/test_snapshots/test_supply_mixed_trades_three_participants.1.json
index 48c1d73..6e0d2b6 100644
--- a/creator-keys/test_snapshots/test_supply_mixed_trades_three_participants.1.json
+++ b/creator-keys/test_snapshots/test_supply_mixed_trades_three_participants.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_supply_multiple_buys_per_holder_sum_equals_total.1.json b/creator-keys/test_snapshots/test_supply_multiple_buys_per_holder_sum_equals_total.1.json
index 8f575bc..f247bb2 100644
--- a/creator-keys/test_snapshots/test_supply_multiple_buys_per_holder_sum_equals_total.1.json
+++ b/creator-keys/test_snapshots/test_supply_multiple_buys_per_holder_sum_equals_total.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_supply_never_goes_below_zero_after_all_sells.1.json b/creator-keys/test_snapshots/test_supply_never_goes_below_zero_after_all_sells.1.json
index 5965f4c..517ba40 100644
--- a/creator-keys/test_snapshots/test_supply_never_goes_below_zero_after_all_sells.1.json
+++ b/creator-keys/test_snapshots/test_supply_never_goes_below_zero_after_all_sells.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_supply_three_buyers_sum_equals_total.1.json b/creator-keys/test_snapshots/test_supply_three_buyers_sum_equals_total.1.json
index b72106a..6b7560d 100644
--- a/creator-keys/test_snapshots/test_supply_three_buyers_sum_equals_total.1.json
+++ b/creator-keys/test_snapshots/test_supply_three_buyers_sum_equals_total.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_total_supply_unchanged_after_failed_sell_insufficient_balance.1.json b/creator-keys/test_snapshots/test_total_supply_unchanged_after_failed_sell_insufficient_balance.1.json
index 97afcaf..a2f42b6 100644
--- a/creator-keys/test_snapshots/test_total_supply_unchanged_after_failed_sell_insufficient_balance.1.json
+++ b/creator-keys/test_snapshots/test_total_supply_unchanged_after_failed_sell_insufficient_balance.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_total_supply_unchanged_after_failed_sell_not_registered.1.json b/creator-keys/test_snapshots/test_total_supply_unchanged_after_failed_sell_not_registered.1.json
index 9297e69..fe204af 100644
--- a/creator-keys/test_snapshots/test_total_supply_unchanged_after_failed_sell_not_registered.1.json
+++ b/creator-keys/test_snapshots/test_total_supply_unchanged_after_failed_sell_not_registered.1.json
@@ -40,13 +40,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "bob"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "bob"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_transfer_keys_buy_quote_unchanged_after_transfer.1.json b/creator-keys/test_snapshots/test_transfer_keys_buy_quote_unchanged_after_transfer.1.json
index 9a809e7..a057e30 100644
--- a/creator-keys/test_snapshots/test_transfer_keys_buy_quote_unchanged_after_transfer.1.json
+++ b/creator-keys/test_snapshots/test_transfer_keys_buy_quote_unchanged_after_transfer.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -863,6 +879,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 20
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_transfer_keys_exceeding_balance_reverts.1.json b/creator-keys/test_snapshots/test_transfer_keys_exceeding_balance_reverts.1.json
index d4a41ef..1de3a5d 100644
--- a/creator-keys/test_snapshots/test_transfer_keys_exceeding_balance_reverts.1.json
+++ b/creator-keys/test_snapshots/test_transfer_keys_exceeding_balance_reverts.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -646,6 +662,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 10
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_transfer_keys_holder_count_increments_when_recipient_new.1.json b/creator-keys/test_snapshots/test_transfer_keys_holder_count_increments_when_recipient_new.1.json
index 1722e6d..e93ac97 100644
--- a/creator-keys/test_snapshots/test_transfer_keys_holder_count_increments_when_recipient_new.1.json
+++ b/creator-keys/test_snapshots/test_transfer_keys_holder_count_increments_when_recipient_new.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -1051,6 +1067,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 30
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_transfer_keys_holder_count_unaffected_when_sender_zero_but_recipient_new.1.json b/creator-keys/test_snapshots/test_transfer_keys_holder_count_unaffected_when_sender_zero_but_recipient_new.1.json
index ceb1d6b..453e4e5 100644
--- a/creator-keys/test_snapshots/test_transfer_keys_holder_count_unaffected_when_sender_zero_but_recipient_new.1.json
+++ b/creator-keys/test_snapshots/test_transfer_keys_holder_count_unaffected_when_sender_zero_but_recipient_new.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -835,6 +851,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 10
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_transfer_keys_preserves_other_holders.1.json b/creator-keys/test_snapshots/test_transfer_keys_preserves_other_holders.1.json
index c9ca74f..e47b553 100644
--- a/creator-keys/test_snapshots/test_transfer_keys_preserves_other_holders.1.json
+++ b/creator-keys/test_snapshots/test_transfer_keys_preserves_other_holders.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -1050,6 +1066,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 30
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_transfer_keys_recipient_balance_increases.1.json b/creator-keys/test_snapshots/test_transfer_keys_recipient_balance_increases.1.json
index eed6220..56dd0a7 100644
--- a/creator-keys/test_snapshots/test_transfer_keys_recipient_balance_increases.1.json
+++ b/creator-keys/test_snapshots/test_transfer_keys_recipient_balance_increases.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -833,6 +849,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 10
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_transfer_keys_self_transfer_reverts.1.json b/creator-keys/test_snapshots/test_transfer_keys_self_transfer_reverts.1.json
index e84ac25..22c4bf8 100644
--- a/creator-keys/test_snapshots/test_transfer_keys_self_transfer_reverts.1.json
+++ b/creator-keys/test_snapshots/test_transfer_keys_self_transfer_reverts.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -646,6 +662,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 10
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_transfer_keys_sell_quote_unchanged_after_transfer.1.json b/creator-keys/test_snapshots/test_transfer_keys_sell_quote_unchanged_after_transfer.1.json
index 9a809e7..a057e30 100644
--- a/creator-keys/test_snapshots/test_transfer_keys_sell_quote_unchanged_after_transfer.1.json
+++ b/creator-keys/test_snapshots/test_transfer_keys_sell_quote_unchanged_after_transfer.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -863,6 +879,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 20
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_transfer_keys_sender_balance_decreases.1.json b/creator-keys/test_snapshots/test_transfer_keys_sender_balance_decreases.1.json
index 541022c..ecf50c6 100644
--- a/creator-keys/test_snapshots/test_transfer_keys_sender_balance_decreases.1.json
+++ b/creator-keys/test_snapshots/test_transfer_keys_sender_balance_decreases.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -891,6 +907,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 30
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_transfer_keys_total_supply_unchanged.1.json b/creator-keys/test_snapshots/test_transfer_keys_total_supply_unchanged.1.json
index 9a809e7..a057e30 100644
--- a/creator-keys/test_snapshots/test_transfer_keys_total_supply_unchanged.1.json
+++ b/creator-keys/test_snapshots/test_transfer_keys_total_supply_unchanged.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -863,6 +879,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 20
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_transfer_keys_zero_amount_reverts.1.json b/creator-keys/test_snapshots/test_transfer_keys_zero_amount_reverts.1.json
index d4a41ef..1de3a5d 100644
--- a/creator-keys/test_snapshots/test_transfer_keys_zero_amount_reverts.1.json
+++ b/creator-keys/test_snapshots/test_transfer_keys_zero_amount_reverts.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -646,6 +662,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 10
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_treasury_accumulates_protocol_fees_across_distinct_buyers.1.json b/creator-keys/test_snapshots/test_treasury_accumulates_protocol_fees_across_distinct_buyers.1.json
index eef9df7..9e05821 100644
--- a/creator-keys/test_snapshots/test_treasury_accumulates_protocol_fees_across_distinct_buyers.1.json
+++ b/creator-keys/test_snapshots/test_treasury_accumulates_protocol_fees_across_distinct_buyers.1.json
@@ -87,13 +87,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -1092,6 +1108,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 300
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_treasury_balance_unchanged_after_failed_buy_insufficient_payment.1.json b/creator-keys/test_snapshots/test_treasury_balance_unchanged_after_failed_buy_insufficient_payment.1.json
index 1c731ca..a486737 100644
--- a/creator-keys/test_snapshots/test_treasury_balance_unchanged_after_failed_buy_insufficient_payment.1.json
+++ b/creator-keys/test_snapshots/test_treasury_balance_unchanged_after_failed_buy_insufficient_payment.1.json
@@ -87,13 +87,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/test_snapshots/test_treasury_balance_unchanged_after_failed_buy_unregistered_creator.1.json b/creator-keys/test_snapshots/test_treasury_balance_unchanged_after_failed_buy_unregistered_creator.1.json
index 4e0f40e..ab939e4 100644
--- a/creator-keys/test_snapshots/test_treasury_balance_unchanged_after_failed_buy_unregistered_creator.1.json
+++ b/creator-keys/test_snapshots/test_treasury_balance_unchanged_after_failed_buy_unregistered_creator.1.json
@@ -87,13 +87,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -709,6 +725,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 100
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_treasury_balance_unchanged_after_failed_sell_insufficient_balance.1.json b/creator-keys/test_snapshots/test_treasury_balance_unchanged_after_failed_sell_insufficient_balance.1.json
index 4e0f40e..ab939e4 100644
--- a/creator-keys/test_snapshots/test_treasury_balance_unchanged_after_failed_sell_insufficient_balance.1.json
+++ b/creator-keys/test_snapshots/test_treasury_balance_unchanged_after_failed_sell_insufficient_balance.1.json
@@ -87,13 +87,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -709,6 +725,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 100
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_zero_creator_bps_full_payment_to_creator_after_protocol_fee.1.json b/creator-keys/test_snapshots/test_zero_creator_bps_full_payment_to_creator_after_protocol_fee.1.json
index 895d273..c604903 100644
--- a/creator-keys/test_snapshots/test_zero_creator_bps_full_payment_to_creator_after_protocol_fee.1.json
+++ b/creator-keys/test_snapshots/test_zero_creator_bps_full_payment_to_creator_after_protocol_fee.1.json
@@ -66,13 +66,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "string": "alice"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "alice"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -647,6 +663,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 500
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_zero_creator_bps_no_rounding_errors_with_odd_amounts.1.json b/creator-keys/test_snapshots/test_zero_creator_bps_no_rounding_errors_with_odd_amounts.1.json
index 2bfcf3b..13ee6e0 100644
--- a/creator-keys/test_snapshots/test_zero_creator_bps_no_rounding_errors_with_odd_amounts.1.json
+++ b/creator-keys/test_snapshots/test_zero_creator_bps_no_rounding_errors_with_odd_amounts.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "string": "dave"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "dave"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -646,6 +662,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 332
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_zero_creator_bps_with_partial_protocol_fee.1.json b/creator-keys/test_snapshots/test_zero_creator_bps_with_partial_protocol_fee.1.json
index 0002fc1..9b460bb 100644
--- a/creator-keys/test_snapshots/test_zero_creator_bps_with_partial_protocol_fee.1.json
+++ b/creator-keys/test_snapshots/test_zero_creator_bps_with_partial_protocol_fee.1.json
@@ -66,13 +66,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "string": "bob"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "bob"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
@@ -647,6 +663,48 @@
4095
]
],
+ [
+ {
+ "contract_data": {
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent"
+ }
+ },
+ [
+ {
+ "last_modified_ledger_seq": 0,
+ "data": {
+ "contract_data": {
+ "ext": "v0",
+ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
+ "key": {
+ "vec": [
+ {
+ "symbol": "TreasuryBalance"
+ }
+ ]
+ },
+ "durability": "persistent",
+ "val": {
+ "i128": {
+ "hi": 0,
+ "lo": 200
+ }
+ }
+ }
+ },
+ "ext": "v0"
+ },
+ 4095
+ ]
+ ],
[
{
"contract_data": {
diff --git a/creator-keys/test_snapshots/test_zero_protocol_bps_full_payment_to_creator.1.json b/creator-keys/test_snapshots/test_zero_protocol_bps_full_payment_to_creator.1.json
index 92bb37e..906bdfe 100644
--- a/creator-keys/test_snapshots/test_zero_protocol_bps_full_payment_to_creator.1.json
+++ b/creator-keys/test_snapshots/test_zero_protocol_bps_full_payment_to_creator.1.json
@@ -65,13 +65,29 @@
"function_name": "register_creator",
"args": [
{
- "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
- },
- {
- "string": "charlie"
+ "map": [
+ {
+ "key": {
+ "symbol": "creator"
+ },
+ "val": {
+ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
+ }
+ },
+ {
+ "key": {
+ "symbol": "handle"
+ },
+ "val": {
+ "string": "charlie"
+ }
+ }
+ ]
},
"void",
"void",
+ "void",
+ "void",
"void"
]
}
diff --git a/creator-keys/tests/buy_event_buyer_address.rs b/creator-keys/tests/buy_event_buyer_address.rs
index ceb0535..bd78e49 100644
--- a/creator-keys/tests/buy_event_buyer_address.rs
+++ b/creator-keys/tests/buy_event_buyer_address.rs
@@ -26,8 +26,11 @@ fn test_buy_event_buyer_address_matches_caller() {
// Configure contract
client.set_key_price(&admin, &KEY_PRICE);
client.register_creator(
- &creator,
- &String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
+ &None,
&None,
&None,
&None,
@@ -84,8 +87,11 @@ fn test_buy_event_buyer_address_field_is_non_zero() {
// Configure and execute
client.set_key_price(&admin, &KEY_PRICE);
client.register_creator(
- &creator,
- &String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
+ &None,
&None,
&None,
&None,
diff --git a/creator-keys/tests/buy_key_event.rs b/creator-keys/tests/buy_key_event.rs
index 7484c64..92e6a35 100644
--- a/creator-keys/tests/buy_key_event.rs
+++ b/creator-keys/tests/buy_key_event.rs
@@ -17,8 +17,11 @@ fn test_buy_key_event_includes_payment_amount() {
client.set_key_price(&admin, &100i128);
client.register_creator(
- &creator,
- &String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
+ &None,
&None,
&None,
&None,
@@ -50,8 +53,11 @@ fn test_buy_key_event_topics_include_creator_and_buyer() {
client.set_key_price(&admin, &100i128);
client.register_creator(
- &creator,
- &String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
+ &None,
&None,
&None,
&None,
diff --git a/creator-keys/tests/claim_locked_allocation_ledger_boundary.rs b/creator-keys/tests/claim_locked_allocation_ledger_boundary.rs
index c85c72e..fb94772 100644
--- a/creator-keys/tests/claim_locked_allocation_ledger_boundary.rs
+++ b/creator-keys/tests/claim_locked_allocation_ledger_boundary.rs
@@ -22,8 +22,10 @@ fn test_claim_locked_allocation_reverts_at_every_ledger_before_unlock() {
env.ledger().set(ledger_info.clone());
client.register_creator(
- &creator,
- &handle,
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: handle.clone(),
+ },
&Some(LockedAllocation {
amount: 50,
unlock_ledger,
@@ -32,6 +34,7 @@ fn test_claim_locked_allocation_reverts_at_every_ledger_before_unlock() {
&None,
&None,
&None,
+ &None,
);
// Immediately after registration — must revert.
@@ -69,8 +72,10 @@ fn test_claim_locked_allocation_succeeds_at_unlock_ledger() {
env.ledger().set(ledger_info.clone());
client.register_creator(
- &creator,
- &handle,
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: handle.clone(),
+ },
&Some(LockedAllocation {
amount,
unlock_ledger,
@@ -79,6 +84,7 @@ fn test_claim_locked_allocation_succeeds_at_unlock_ledger() {
&None,
&None,
&None,
+ &None,
);
// Advance to exactly unlock_ledger.
diff --git a/creator-keys/tests/claim_locked_allocation_non_creator_reverts.rs b/creator-keys/tests/claim_locked_allocation_non_creator_reverts.rs
index b65f71a..8d37de1 100644
--- a/creator-keys/tests/claim_locked_allocation_non_creator_reverts.rs
+++ b/creator-keys/tests/claim_locked_allocation_non_creator_reverts.rs
@@ -24,8 +24,10 @@ fn setup_creator_with_locked_allocation(
ledger_info.sequence_number = 1;
env.ledger().set(ledger_info);
client.register_creator(
- &creator,
- &String::from_str(env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(env, "alice"),
+ },
&Some(LockedAllocation {
amount: ALLOCATION_AMOUNT,
unlock_ledger: UNLOCK_LEDGER,
@@ -34,6 +36,7 @@ fn setup_creator_with_locked_allocation(
&None,
&None,
&None,
+ &None,
);
creator
}
diff --git a/creator-keys/tests/co_creator_revenue_split.rs b/creator-keys/tests/co_creator_revenue_split.rs
index f27f57c..664a58f 100644
--- a/creator-keys/tests/co_creator_revenue_split.rs
+++ b/creator-keys/tests/co_creator_revenue_split.rs
@@ -52,12 +52,15 @@ fn register_creator_with_co_creator(
};
client.register_creator(
- &creator,
- &String::from_str(env, handle),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(env, handle),
+ },
&None,
&None,
&None,
&Some(config.clone()),
+ &None,
);
(creator, co_creator, config)
@@ -91,12 +94,15 @@ fn test_register_creator_rejects_invalid_co_creator_share_bps() {
};
let result = client.try_register_creator(
- &creator,
- &String::from_str(&env, handle),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, handle),
+ },
&None,
&None,
&None,
&Some(config),
+ &None,
);
assert_eq!(result, Err(Ok(ContractError::InvalidCoCreatorShare)));
diff --git a/creator-keys/tests/contract_test_env/mod.rs b/creator-keys/tests/contract_test_env/mod.rs
index bfbfbf5..e5e135c 100644
--- a/creator-keys/tests/contract_test_env/mod.rs
+++ b/creator-keys/tests/contract_test_env/mod.rs
@@ -106,8 +106,11 @@ pub fn register_test_creator(
) -> Address {
let creator = Address::generate(env);
client.register_creator(
- &creator,
- &String::from_str(env, handle),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(env, handle),
+ },
+ &None,
&None,
&None,
&None,
@@ -138,8 +141,11 @@ pub fn register_test_creator_with_fee_config(
client.set_fee_config(&admin, &creator_bps, &protocol_bps);
let creator = Address::generate(env);
client.register_creator(
- &creator,
- &String::from_str(env, handle),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(env, handle),
+ },
+ &None,
&None,
&None,
&None,
diff --git a/creator-keys/tests/creator_detail_read_consistency.rs b/creator-keys/tests/creator_detail_read_consistency.rs
index 48a1ff5..5f5292c 100644
--- a/creator-keys/tests/creator_detail_read_consistency.rs
+++ b/creator-keys/tests/creator_detail_read_consistency.rs
@@ -23,7 +23,17 @@ fn test_creator_details_identical_across_three_consecutive_reads() {
let handle = String::from_str(&env, "alice");
// Register creator to establish initial state
- client.register_creator(&creator, &handle, &None, &None, &None, &None);
+ client.register_creator(
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: handle.clone(),
+ },
+ &None,
+ &None,
+ &None,
+ &None,
+ &None,
+ );
// Perform three consecutive reads with NO state changes between them
let read1 = client.get_creator_details(&creator);
@@ -131,7 +141,17 @@ fn test_creator_details_no_storage_writes_during_reads() {
let creator = soroban_sdk::Address::generate(&env);
let handle = String::from_str(&env, "charlie");
- client.register_creator(&creator, &handle, &None, &None, &None, &None);
+ client.register_creator(
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: handle.clone(),
+ },
+ &None,
+ &None,
+ &None,
+ &None,
+ &None,
+ );
// Use a sentinel holder address — no keys held, so balance stays 0.
let sentinel = soroban_sdk::Address::generate(&env);
diff --git a/creator-keys/tests/creator_details_view.rs b/creator-keys/tests/creator_details_view.rs
index e7ba28b..5faf6ab 100644
--- a/creator-keys/tests/creator_details_view.rs
+++ b/creator-keys/tests/creator_details_view.rs
@@ -29,7 +29,17 @@ fn test_get_creator_details_registered_returns_correct_data() {
let creator = soroban_sdk::Address::generate(&env);
let handle = String::from_str(&env, "alice");
- client.register_creator(&creator, &handle, &None, &None, &None, &None);
+ client.register_creator(
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: handle.clone(),
+ },
+ &None,
+ &None,
+ &None,
+ &None,
+ &None,
+ );
let details = client.get_creator_details(&creator);
assert!(details.is_registered);
diff --git a/creator-keys/tests/creator_fee_bps.rs b/creator-keys/tests/creator_fee_bps.rs
index 3e5109d..dd823ad 100644
--- a/creator-keys/tests/creator_fee_bps.rs
+++ b/creator-keys/tests/creator_fee_bps.rs
@@ -14,8 +14,11 @@ fn test_get_creator_fee_bps_returns_configured_value() {
let creator = Address::generate(&env);
client.register_creator(
- &creator,
- &String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
+ &None,
&None,
&None,
&None,
@@ -37,8 +40,11 @@ fn test_get_creator_fee_bps_is_read_only() {
let creator = Address::generate(&env);
client.register_creator(
- &creator,
- &String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
+ &None,
&None,
&None,
&None,
@@ -63,8 +69,11 @@ fn test_get_creator_fee_bps_tracks_fee_config_updates() {
let creator = Address::generate(&env);
client.register_creator(
- &creator,
- &String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
+ &None,
&None,
&None,
&None,
diff --git a/creator-keys/tests/creator_fee_bps_invalid_reads.rs b/creator-keys/tests/creator_fee_bps_invalid_reads.rs
index 4e78167..dd43b27 100644
--- a/creator-keys/tests/creator_fee_bps_invalid_reads.rs
+++ b/creator-keys/tests/creator_fee_bps_invalid_reads.rs
@@ -43,8 +43,11 @@ fn test_get_creator_fee_bps_fails_when_fee_config_not_set() {
let creator = soroban_sdk::Address::generate(&env);
client.register_creator(
- &creator,
- &String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
+ &None,
&None,
&None,
&None,
diff --git a/creator-keys/tests/creator_fee_config_view.rs b/creator-keys/tests/creator_fee_config_view.rs
index 711a629..eb6bb4c 100644
--- a/creator-keys/tests/creator_fee_config_view.rs
+++ b/creator-keys/tests/creator_fee_config_view.rs
@@ -28,7 +28,17 @@ fn test_get_creator_fee_config_registered_no_fee_config() {
let creator = soroban_sdk::Address::generate(&env);
let handle = String::from_str(&env, "test_creator");
- client.register_creator(&creator, &handle, &None, &None, &None, &None);
+ client.register_creator(
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: handle.clone(),
+ },
+ &None,
+ &None,
+ &None,
+ &None,
+ &None,
+ );
let view = client.get_creator_fee_config(&creator);
@@ -50,7 +60,17 @@ fn test_get_creator_fee_config_registered_with_fee_config() {
let creator = soroban_sdk::Address::generate(&env);
let handle = String::from_str(&env, "test_creator");
- client.register_creator(&creator, &handle, &None, &None, &None, &None);
+ client.register_creator(
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: handle.clone(),
+ },
+ &None,
+ &None,
+ &None,
+ &None,
+ &None,
+ );
client.set_fee_config(&admin, &9000u32, &1000u32);
let view = client.get_creator_fee_config(&creator);
@@ -73,7 +93,17 @@ fn test_get_creator_fee_config_is_read_only() {
let creator = soroban_sdk::Address::generate(&env);
let handle = String::from_str(&env, "test_creator");
- client.register_creator(&creator, &handle, &None, &None, &None, &None);
+ client.register_creator(
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: handle.clone(),
+ },
+ &None,
+ &None,
+ &None,
+ &None,
+ &None,
+ );
client.set_fee_config(&admin, &8000u32, &2000u32);
let v1 = client.get_creator_fee_config(&creator);
@@ -97,7 +127,17 @@ fn test_get_creator_fee_config_updates_after_fee_reconfiguration() {
let creator = soroban_sdk::Address::generate(&env);
let handle = String::from_str(&env, "test_creator");
- client.register_creator(&creator, &handle, &None, &None, &None, &None);
+ client.register_creator(
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: handle.clone(),
+ },
+ &None,
+ &None,
+ &None,
+ &None,
+ &None,
+ );
client.set_fee_config(&admin, &9000u32, &1000u32);
let v1 = client.get_creator_fee_config(&creator);
@@ -124,8 +164,28 @@ fn test_get_creator_fee_config_multiple_creators_independent() {
let handle1 = String::from_str(&env, "creator_one");
let handle2 = String::from_str(&env, "creator_two");
- client.register_creator(&creator1, &handle1, &None, &None, &None, &None);
- client.register_creator(&creator2, &handle2, &None, &None, &None, &None);
+ client.register_creator(
+ &creator_keys::RegisterCreatorParams {
+ creator: creator1.clone(),
+ handle: handle1.clone(),
+ },
+ &None,
+ &None,
+ &None,
+ &None,
+ &None,
+ );
+ client.register_creator(
+ &creator_keys::RegisterCreatorParams {
+ creator: creator2.clone(),
+ handle: handle2.clone(),
+ },
+ &None,
+ &None,
+ &None,
+ &None,
+ &None,
+ );
client.set_fee_config(&admin, &9000u32, &1000u32);
let view1 = client.get_creator_fee_config(&creator1);
diff --git a/creator-keys/tests/creator_fee_recipient.rs b/creator-keys/tests/creator_fee_recipient.rs
index 9563488..ee90d32 100644
--- a/creator-keys/tests/creator_fee_recipient.rs
+++ b/creator-keys/tests/creator_fee_recipient.rs
@@ -14,8 +14,11 @@ fn test_get_creator_fee_recipient_returns_creator_address() {
let creator = Address::generate(&env);
client.register_creator(
- &creator,
- &String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
+ &None,
&None,
&None,
&None,
@@ -35,8 +38,11 @@ fn test_get_creator_fee_recipient_is_read_only() {
let creator = Address::generate(&env);
client.register_creator(
- &creator,
- &String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
+ &None,
&None,
&None,
&None,
diff --git a/creator-keys/tests/creator_registration.rs b/creator-keys/tests/creator_registration.rs
index d16c0b9..2b383d4 100644
--- a/creator-keys/tests/creator_registration.rs
+++ b/creator-keys/tests/creator_registration.rs
@@ -27,8 +27,11 @@ fn test_is_creator_registered_returns_true_after_registration() {
let creator = Address::generate(&env);
client.register_creator(
- &creator,
- &String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
+ &None,
&None,
&None,
&None,
@@ -48,8 +51,11 @@ fn test_is_creator_registered_is_read_only() {
let creator = Address::generate(&env);
client.register_creator(
- &creator,
- &String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
+ &None,
&None,
&None,
&None,
@@ -76,8 +82,11 @@ fn test_is_creator_registered_different_creators_independent() {
let bob = Address::generate(&env);
client.register_creator(
- &alice,
- &String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: alice.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
+ &None,
&None,
&None,
&None,
@@ -101,9 +110,29 @@ fn test_register_creator_duplicate_fails() {
let creator = Address::generate(&env);
let handle = String::from_str(&env, "alice");
- client.register_creator(&creator, &handle, &None, &None, &None, &None);
+ client.register_creator(
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: handle.clone(),
+ },
+ &None,
+ &None,
+ &None,
+ &None,
+ &None,
+ );
// Second registration with the same address should fail with error
- let result = client.try_register_creator(&creator, &handle, &None, &None, &None, &None);
+ let result = client.try_register_creator(
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: handle.clone(),
+ },
+ &None,
+ &None,
+ &None,
+ &None,
+ &None,
+ );
assert_eq!(result, Err(Ok(ContractError::AlreadyRegistered)));
}
@@ -118,8 +147,11 @@ fn test_register_creator_duplicate_different_handle_fails() {
let creator = Address::generate(&env);
client.register_creator(
- &creator,
- &String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
+ &None,
&None,
&None,
&None,
@@ -127,8 +159,11 @@ fn test_register_creator_duplicate_different_handle_fails() {
);
// Re-registering with a different handle should still fail
let result = client.try_register_creator(
- &creator,
- &String::from_str(&env, "alice_v2"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice_v2"),
+ },
+ &None,
&None,
&None,
&None,
@@ -149,16 +184,22 @@ fn test_register_creator_different_addresses_succeeds() {
let bob = Address::generate(&env);
client.register_creator(
- &alice,
- &String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: alice.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
+ &None,
&None,
&None,
&None,
&None,
);
client.register_creator(
- &bob,
- &String::from_str(&env, "bob"),
+ &creator_keys::RegisterCreatorParams {
+ creator: bob.clone(),
+ handle: String::from_str(&env, "bob"),
+ },
+ &None,
&None,
&None,
&None,
@@ -180,8 +221,11 @@ fn test_register_creator_accepts_min_handle_length() {
let creator = Address::generate(&env);
let min_handle = "a".repeat(HANDLE_LEN_MIN as usize);
client.register_creator(
- &creator,
- &String::from_str(&env, &min_handle),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, &min_handle),
+ },
+ &None,
&None,
&None,
&None,
@@ -202,8 +246,11 @@ fn test_register_creator_accepts_max_handle_length() {
let creator = Address::generate(&env);
let max_handle = "a".repeat(HANDLE_LEN_MAX as usize);
client.register_creator(
- &creator,
- &String::from_str(&env, &max_handle),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, &max_handle),
+ },
+ &None,
&None,
&None,
&None,
@@ -224,8 +271,11 @@ fn test_register_creator_rejects_handle_shorter_than_min() {
let creator = Address::generate(&env);
let short_handle = "a".repeat((HANDLE_LEN_MIN - 1) as usize);
let result = client.try_register_creator(
- &creator,
- &String::from_str(&env, &short_handle),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, &short_handle),
+ },
+ &None,
&None,
&None,
&None,
@@ -245,8 +295,11 @@ fn test_register_creator_rejects_handle_longer_than_max() {
let creator = Address::generate(&env);
let long_handle = "a".repeat((HANDLE_LEN_MAX + 1) as usize);
let result = client.try_register_creator(
- &creator,
- &String::from_str(&env, &long_handle),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, &long_handle),
+ },
+ &None,
&None,
&None,
&None,
@@ -265,7 +318,17 @@ fn test_register_creator_rejects_invalid_characters_in_handle() {
let creator = Address::generate(&env);
let invalid_handle = String::from_str(&env, "Alice-01");
- let result = client.try_register_creator(&creator, &invalid_handle, &None, &None, &None, &None);
+ let result = client.try_register_creator(
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: invalid_handle.clone(),
+ },
+ &None,
+ &None,
+ &None,
+ &None,
+ &None,
+ );
assert_eq!(result, Err(Ok(ContractError::InvalidHandleCharacter)));
}
@@ -281,7 +344,17 @@ fn test_register_creator_max_length_handle_succeeds() {
let creator = Address::generate(&env);
let max_handle = String::from_str(&env, &"a".repeat(HANDLE_LEN_MAX as usize));
- client.register_creator(&creator, &max_handle, &None, &None, &None, &None);
+ client.register_creator(
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: max_handle.clone(),
+ },
+ &None,
+ &None,
+ &None,
+ &None,
+ &None,
+ );
assert!(client.is_creator_registered(&creator));
}
@@ -296,8 +369,17 @@ fn test_register_creator_handle_one_over_max_rejected() {
let creator = Address::generate(&env);
let over_max_handle = String::from_str(&env, &"a".repeat((HANDLE_LEN_MAX + 1) as usize));
- let result =
- client.try_register_creator(&creator, &over_max_handle, &None, &None, &None, &None);
+ let result = client.try_register_creator(
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: over_max_handle.clone(),
+ },
+ &None,
+ &None,
+ &None,
+ &None,
+ &None,
+ );
assert_eq!(result, Err(Ok(ContractError::HandleTooLong)));
}
diff --git a/creator-keys/tests/creator_supply.rs b/creator-keys/tests/creator_supply.rs
index 6ede717..d46e24b 100644
--- a/creator-keys/tests/creator_supply.rs
+++ b/creator-keys/tests/creator_supply.rs
@@ -12,8 +12,11 @@ fn setup(env: &Env) -> (CreatorKeysContractClient<'_>, Address, Address) {
let creator = Address::generate(env);
client.register_creator(
- &creator,
- &String::from_str(env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(env, "alice"),
+ },
+ &None,
&None,
&None,
&None,
diff --git a/creator-keys/tests/creator_treasury_share.rs b/creator-keys/tests/creator_treasury_share.rs
index 76433c3..b0a1bf8 100644
--- a/creator-keys/tests/creator_treasury_share.rs
+++ b/creator-keys/tests/creator_treasury_share.rs
@@ -14,8 +14,11 @@ fn test_get_creator_treasury_share_returns_configured_value() {
let creator = Address::generate(&env);
client.register_creator(
- &creator,
- &String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
+ &None,
&None,
&None,
&None,
@@ -37,8 +40,11 @@ fn test_get_creator_treasury_share_is_read_only() {
let creator = Address::generate(&env);
client.register_creator(
- &creator,
- &String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
+ &None,
&None,
&None,
&None,
diff --git a/creator-keys/tests/creator_treasury_share_invalid_reads.rs b/creator-keys/tests/creator_treasury_share_invalid_reads.rs
index 7379c00..b4d5301 100644
--- a/creator-keys/tests/creator_treasury_share_invalid_reads.rs
+++ b/creator-keys/tests/creator_treasury_share_invalid_reads.rs
@@ -43,8 +43,11 @@ fn test_get_creator_treasury_share_fails_when_fee_config_not_set() {
// Register creator WITHOUT calling set_fee_config.
client.register_creator(
- &creator,
- &String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
+ &None,
&None,
&None,
&None,
diff --git a/creator-keys/tests/curve_preset_storage.rs b/creator-keys/tests/curve_preset_storage.rs
index 36270d5..d70643c 100644
--- a/creator-keys/tests/curve_preset_storage.rs
+++ b/creator-keys/tests/curve_preset_storage.rs
@@ -17,32 +17,41 @@ fn test_curve_preset_variants_and_error_handling() {
// Register creator with Linear preset
client.register_creator(
- &creator_linear,
- &String::from_str(&env, "linear_c"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator_linear.clone(),
+ handle: String::from_str(&env, "linear_c"),
+ },
&None,
&None,
&Some(CurvePreset::Linear),
&None,
+ &None,
);
// Register creator with Quadratic preset
client.register_creator(
- &creator_quadratic,
- &String::from_str(&env, "quadratic_c"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator_quadratic.clone(),
+ handle: String::from_str(&env, "quadratic_c"),
+ },
&None,
&None,
&Some(CurvePreset::Quadratic),
&None,
+ &None,
);
// Register creator with Flat preset
client.register_creator(
- &creator_flat,
- &String::from_str(&env, "flat_c"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator_flat.clone(),
+ handle: String::from_str(&env, "flat_c"),
+ },
&None,
&None,
&Some(CurvePreset::Flat),
&None,
+ &None,
);
// Assert each returns the correct variant
diff --git a/creator-keys/tests/emergency_pause.rs b/creator-keys/tests/emergency_pause.rs
index 517cfa5..d7df996 100644
--- a/creator-keys/tests/emergency_pause.rs
+++ b/creator-keys/tests/emergency_pause.rs
@@ -145,8 +145,11 @@ fn test_register_creator_reverts_when_paused() {
let creator = Address::generate(&env);
let result = client.try_register_creator(
- &creator,
- &soroban_sdk::String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: soroban_sdk::String::from_str(&env, "alice"),
+ },
+ &None,
&None,
&None,
&None,
@@ -200,8 +203,11 @@ fn test_pause_blocks_registration_not_reads() {
// Registration must revert while paused
let creator_b = Address::generate(&env);
let result = client.try_register_creator(
- &creator_b,
- &soroban_sdk::String::from_str(&env, "creatorb"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator_b.clone(),
+ handle: soroban_sdk::String::from_str(&env, "creatorb"),
+ },
+ &None,
&None,
&None,
&None,
@@ -220,8 +226,11 @@ fn test_pause_blocks_registration_not_reads() {
let _ = client
.try_register_creator(
- &creator_b,
- &soroban_sdk::String::from_str(&env, "creatorb"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator_b.clone(),
+ handle: soroban_sdk::String::from_str(&env, "creatorb"),
+ },
+ &None,
&None,
&None,
&None,
diff --git a/creator-keys/tests/empty_handle_registration_regression.rs b/creator-keys/tests/empty_handle_registration_regression.rs
index ec5f9ed..07de514 100644
--- a/creator-keys/tests/empty_handle_registration_regression.rs
+++ b/creator-keys/tests/empty_handle_registration_regression.rs
@@ -16,8 +16,11 @@ fn test_register_creator_rejects_empty_handle() {
let creator = Address::generate(&env);
let result = client.try_register_creator(
- &creator,
- &String::from_str(&env, ""),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, ""),
+ },
+ &None,
&None,
&None,
&None,
diff --git a/creator-keys/tests/events.rs b/creator-keys/tests/events.rs
index 519ae9a..cc2e8e1 100644
--- a/creator-keys/tests/events.rs
+++ b/creator-keys/tests/events.rs
@@ -42,8 +42,11 @@ impl<'a> EventFixture<'a> {
fn register_creator(&self, env: &Env, handle: &str) {
self.client.register_creator(
- &self.creator,
- &String::from_str(env, handle),
+ &creator_keys::RegisterCreatorParams {
+ creator: self.creator.clone(),
+ handle: String::from_str(env, handle),
+ },
+ &None,
&None,
&None,
&None,
@@ -233,9 +236,17 @@ fn test_register_creator_event_data_is_indexer_friendly() {
let fixture = EventFixture::new(&env);
let handle = String::from_str(&env, "alice");
- fixture
- .client
- .register_creator(&fixture.creator, &handle, &None, &None, &None, &None);
+ fixture.client.register_creator(
+ &creator_keys::RegisterCreatorParams {
+ creator: fixture.creator.clone(),
+ handle: handle.clone(),
+ },
+ &None,
+ &None,
+ &None,
+ &None,
+ &None,
+ );
let events = env.events().all();
let last = events.last().unwrap();
diff --git a/creator-keys/tests/flat_curve_symmetry_regression.rs b/creator-keys/tests/flat_curve_symmetry_regression.rs
index 2f3077d..70cee70 100644
--- a/creator-keys/tests/flat_curve_symmetry_regression.rs
+++ b/creator-keys/tests/flat_curve_symmetry_regression.rs
@@ -87,12 +87,15 @@ fn test_flat_curve_symmetry() {
let creator = Address::generate(&env);
client.register_creator(
- &creator,
- &String::from_str(&env, "flatcreator"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "flatcreator"),
+ },
&None,
&None,
&Some(CurvePreset::Flat),
&None,
+ &None,
);
let buyer = Address::generate(&env);
diff --git a/creator-keys/tests/get_locked_allocation_none.rs b/creator-keys/tests/get_locked_allocation_none.rs
index 854e3ed..ed79134 100644
--- a/creator-keys/tests/get_locked_allocation_none.rs
+++ b/creator-keys/tests/get_locked_allocation_none.rs
@@ -38,8 +38,10 @@ fn test_get_locked_allocation_returns_some_when_set() {
env.ledger().set(ledger_info);
client.register_creator(
- &creator,
- &handle,
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: handle.clone(),
+ },
&Some(LockedAllocation {
amount,
unlock_ledger,
@@ -48,6 +50,7 @@ fn test_get_locked_allocation_returns_some_when_set() {
&None,
&None,
&None,
+ &None,
);
let result = client.get_locked_allocation(&creator);
diff --git a/creator-keys/tests/governance_polls.rs b/creator-keys/tests/governance_polls.rs
index ed65a67..a63eede 100644
--- a/creator-keys/tests/governance_polls.rs
+++ b/creator-keys/tests/governance_polls.rs
@@ -21,8 +21,11 @@ fn creator_can_create_poll_and_view_empty_result() {
let creator = Address::generate(&env);
client.register_creator(
- &creator,
- &String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
+ &None,
&None,
&None,
&None,
@@ -55,8 +58,11 @@ fn holder_vote_uses_liquid_key_balance_as_weight() {
let creator = Address::generate(&env);
client.register_creator(
- &creator,
- &String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
+ &None,
&None,
&None,
&None,
@@ -93,8 +99,11 @@ fn changing_vote_before_expiry_updates_tally() {
let creator = Address::generate(&env);
client.register_creator(
- &creator,
- &String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
+ &None,
&None,
&None,
&None,
@@ -134,8 +143,11 @@ fn vote_after_expiry_reverts_with_poll_expired() {
let creator = Address::generate(&env);
client.register_creator(
- &creator,
- &String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
+ &None,
&None,
&None,
&None,
@@ -172,8 +184,11 @@ fn non_holder_vote_reverts_with_not_a_holder() {
let creator = Address::generate(&env);
client.register_creator(
- &creator,
- &String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
+ &None,
&None,
&None,
&None,
@@ -204,8 +219,11 @@ fn invalid_vote_option_reverts() {
let creator = Address::generate(&env);
client.register_creator(
- &creator,
- &String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
+ &None,
&None,
&None,
&None,
diff --git a/creator-keys/tests/holder_count_multiple_buyers.rs b/creator-keys/tests/holder_count_multiple_buyers.rs
index 93e90ae..e5c84a2 100644
--- a/creator-keys/tests/holder_count_multiple_buyers.rs
+++ b/creator-keys/tests/holder_count_multiple_buyers.rs
@@ -18,8 +18,11 @@ fn holder_count_tracks_distinct_buyers_and_decrements_on_exit() {
let creator = Address::generate(&env);
client.register_creator(
- &creator,
- &String::from_str(&env, "creator"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "creator"),
+ },
+ &None,
&None,
&None,
&None,
diff --git a/creator-keys/tests/holder_count_unchanged_after_supply_cap_exceeded.rs b/creator-keys/tests/holder_count_unchanged_after_supply_cap_exceeded.rs
index 6429254..f9df2da 100644
--- a/creator-keys/tests/holder_count_unchanged_after_supply_cap_exceeded.rs
+++ b/creator-keys/tests/holder_count_unchanged_after_supply_cap_exceeded.rs
@@ -19,12 +19,15 @@ fn test_holder_count_unchanged_after_failed_buy_supply_cap_exceeded() {
// Register creator with a supply cap of 10.
let creator = Address::generate(&env);
client.register_creator(
- &creator,
- &String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
&None,
&Some(10u32),
&None,
&None,
+ &None,
);
// First wallet buys 10 keys to fill the cap.
diff --git a/creator-keys/tests/holder_key_count_view.rs b/creator-keys/tests/holder_key_count_view.rs
index 46849ab..f2cb71a 100644
--- a/creator-keys/tests/holder_key_count_view.rs
+++ b/creator-keys/tests/holder_key_count_view.rs
@@ -10,8 +10,11 @@ fn setup_with_creator(env: &Env) -> (CreatorKeysContractClient<'_>, Address, Add
let creator = Address::generate(env);
client.set_key_price(&admin, &100i128);
client.register_creator(
- &creator,
- &String::from_str(env, "test"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(env, "test"),
+ },
+ &None,
&None,
&None,
&None,
@@ -180,16 +183,22 @@ fn test_holder_key_count_view_zero_keys_different_creators() {
client.set_key_price(&admin, &100i128);
client.register_creator(
- &creator_a,
- &String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator_a.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
+ &None,
&None,
&None,
&None,
&None,
);
client.register_creator(
- &creator_b,
- &String::from_str(&env, "bob"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator_b.clone(),
+ handle: String::from_str(&env, "bob"),
+ },
+ &None,
&None,
&None,
&None,
diff --git a/creator-keys/tests/key_balance.rs b/creator-keys/tests/key_balance.rs
index bb4ff2e..c5708ca 100644
--- a/creator-keys/tests/key_balance.rs
+++ b/creator-keys/tests/key_balance.rs
@@ -31,8 +31,11 @@ fn test_key_balance_increments_on_buy() {
client.set_key_price(&admin, &100i128);
client.register_creator(
- &creator,
- &String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
+ &None,
&None,
&None,
&None,
@@ -63,8 +66,11 @@ fn test_key_balance_is_per_buyer() {
client.set_key_price(&admin, &100i128);
client.register_creator(
- &creator,
- &String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
+ &None,
&None,
&None,
&None,
@@ -94,16 +100,22 @@ fn test_key_balance_is_per_creator() {
client.set_key_price(&admin, &100i128);
client.register_creator(
- &creator_a,
- &String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator_a.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
+ &None,
&None,
&None,
&None,
&None,
);
client.register_creator(
- &creator_b,
- &String::from_str(&env, "bob"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator_b.clone(),
+ handle: String::from_str(&env, "bob"),
+ },
+ &None,
&None,
&None,
&None,
@@ -131,8 +143,11 @@ fn test_key_balance_zero_for_unregistered_creator_even_when_other_balances_exist
client.set_key_price(&admin, &100i128);
client.register_creator(
- ®istered_creator,
- &String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: registered_creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
+ &None,
&None,
&None,
&None,
@@ -158,8 +173,11 @@ fn test_key_balance_zero_for_registered_creator_and_unseen_wallet() {
client.set_key_price(&admin, &100i128);
client.register_creator(
- &creator,
- &String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
+ &None,
&None,
&None,
&None,
@@ -186,8 +204,11 @@ fn test_key_balance_returns_zero_for_uninitialized_holder() {
client.set_key_price(&admin, &100i128);
client.register_creator(
- &creator,
- &String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
+ &None,
&None,
&None,
&None,
diff --git a/creator-keys/tests/key_name.rs b/creator-keys/tests/key_name.rs
index f0f6b06..727ee62 100644
--- a/creator-keys/tests/key_name.rs
+++ b/creator-keys/tests/key_name.rs
@@ -13,7 +13,17 @@ fn test_get_key_name_success() {
let creator = soroban_sdk::Address::generate(&env);
let handle = String::from_str(&env, "alice");
- client.register_creator(&creator, &handle, &None, &None, &None, &None);
+ client.register_creator(
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: handle.clone(),
+ },
+ &None,
+ &None,
+ &None,
+ &None,
+ &None,
+ );
let name = client.get_key_name(&creator);
assert_eq!(name, handle);
diff --git a/creator-keys/tests/key_supply.rs b/creator-keys/tests/key_supply.rs
index 225cf98..6dfb6f1 100644
--- a/creator-keys/tests/key_supply.rs
+++ b/creator-keys/tests/key_supply.rs
@@ -21,8 +21,11 @@ fn test_get_total_key_supply_returns_zero_for_new_creator() {
let creator = Address::generate(&env);
client.register_creator(
- &creator,
- &String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
+ &None,
&None,
&None,
&None,
@@ -51,8 +54,11 @@ fn test_get_total_key_supply_increments_after_buy() {
let creator = Address::generate(&env);
let buyer = Address::generate(&env);
client.register_creator(
- &creator,
- &String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
+ &None,
&None,
&None,
&None,
@@ -77,8 +83,11 @@ fn test_get_total_key_supply_is_read_only() {
let creator = Address::generate(&env);
client.register_creator(
- &creator,
- &String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
+ &None,
&None,
&None,
&None,
@@ -104,8 +113,11 @@ fn test_buy_key_zero_payment_fails() {
let creator = Address::generate(&env);
let buyer = Address::generate(&env);
client.register_creator(
- &creator,
- &String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
+ &None,
&None,
&None,
&None,
@@ -125,8 +137,11 @@ fn test_buy_key_negative_payment_fails() {
let creator = Address::generate(&env);
let buyer = Address::generate(&env);
client.register_creator(
- &creator,
- &String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
+ &None,
&None,
&None,
&None,
@@ -146,8 +161,11 @@ fn test_buy_key_positive_payment_succeeds() {
let creator = Address::generate(&env);
let buyer = Address::generate(&env);
client.register_creator(
- &creator,
- &String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
+ &None,
&None,
&None,
&None,
diff --git a/creator-keys/tests/key_symbol.rs b/creator-keys/tests/key_symbol.rs
index b9e3233..3b637d0 100644
--- a/creator-keys/tests/key_symbol.rs
+++ b/creator-keys/tests/key_symbol.rs
@@ -13,7 +13,17 @@ fn test_get_key_symbol_success() {
let creator = soroban_sdk::Address::generate(&env);
let handle = String::from_str(&env, "alice");
- client.register_creator(&creator, &handle, &None, &None, &None, &None);
+ client.register_creator(
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: handle.clone(),
+ },
+ &None,
+ &None,
+ &None,
+ &None,
+ &None,
+ );
let symbol = client.get_key_symbol(&creator);
assert_eq!(symbol, handle);
diff --git a/creator-keys/tests/keys_transferred_event_fields.rs b/creator-keys/tests/keys_transferred_event_fields.rs
index f177326..d075bf1 100644
--- a/creator-keys/tests/keys_transferred_event_fields.rs
+++ b/creator-keys/tests/keys_transferred_event_fields.rs
@@ -36,8 +36,11 @@ fn setup_transfer(
let recipient = Address::generate(env);
client.register_creator(
- &creator,
- &String::from_str(env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(env, "alice"),
+ },
+ &None,
&None,
&None,
&None,
diff --git a/creator-keys/tests/locked_allocation_bonding_curve_supply.rs b/creator-keys/tests/locked_allocation_bonding_curve_supply.rs
index 27fe019..f26e5e3 100644
--- a/creator-keys/tests/locked_allocation_bonding_curve_supply.rs
+++ b/creator-keys/tests/locked_allocation_bonding_curve_supply.rs
@@ -42,8 +42,10 @@ fn setup(
let creator_with_alloc = Address::generate(env);
client.register_creator(
- &creator_with_alloc,
- &String::from_str(env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator_with_alloc.clone(),
+ handle: String::from_str(env, "alice"),
+ },
&Some(LockedAllocation {
amount: ALLOCATION_AMOUNT,
unlock_ledger: UNLOCK_LEDGER,
@@ -52,12 +54,16 @@ fn setup(
&None,
&None,
&None,
+ &None,
);
let creator_no_alloc = Address::generate(env);
client.register_creator(
- &creator_no_alloc,
- &String::from_str(env, "bob"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator_no_alloc.clone(),
+ handle: String::from_str(env, "bob"),
+ },
+ &None,
&None,
&None,
&None,
diff --git a/creator-keys/tests/max_supply_zero_rejected.rs b/creator-keys/tests/max_supply_zero_rejected.rs
index fd6805f..e6b09aa 100644
--- a/creator-keys/tests/max_supply_zero_rejected.rs
+++ b/creator-keys/tests/max_supply_zero_rejected.rs
@@ -23,12 +23,15 @@ fn test_max_supply_zero_reverts_at_registration() {
let creator = Address::generate(&env);
let result = client.try_register_creator(
- &creator,
- &String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
&None,
&Some(0),
&None,
&None,
+ &None,
);
assert_eq!(
result,
@@ -49,12 +52,15 @@ fn test_no_creator_state_written_after_zero_supply_cap_rejection() {
let creator = Address::generate(&env);
let _ = client.try_register_creator(
- &creator,
- &String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
&None,
&Some(0),
&None,
&None,
+ &None,
);
// Creator must not appear as registered
@@ -83,12 +89,15 @@ fn test_max_supply_one_accepted_as_minimum() {
let creator = Address::generate(&env);
let result = client.try_register_creator(
- &creator,
- &String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
&None,
&Some(1),
&None,
&None,
+ &None,
);
assert!(
result.is_ok(),
@@ -117,8 +126,11 @@ fn test_max_supply_none_accepted_no_cap() {
let creator = Address::generate(&env);
let result = client.try_register_creator(
- &creator,
- &String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
+ &None,
&None,
&None,
&None,
@@ -145,12 +157,15 @@ fn test_max_supply_two_accepted() {
let creator = Address::generate(&env);
let result = client.try_register_creator(
- &creator,
- &String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
&None,
&Some(2),
&None,
&None,
+ &None,
);
assert!(result.is_ok(), "max_supply: Some(2) must be accepted");
assert_eq!(client.get_max_supply(&creator), Some(2));
@@ -164,12 +179,15 @@ fn test_max_supply_large_value_accepted() {
let creator = Address::generate(&env);
let result = client.try_register_creator(
- &creator,
- &String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
&None,
&Some(1_000_000),
&None,
&None,
+ &None,
);
assert!(
result.is_ok(),
diff --git a/creator-keys/tests/protocol_fee_bps_read.rs b/creator-keys/tests/protocol_fee_bps_read.rs
index 7d05a7d..53d5855 100644
--- a/creator-keys/tests/protocol_fee_bps_read.rs
+++ b/creator-keys/tests/protocol_fee_bps_read.rs
@@ -80,8 +80,11 @@ fn test_get_protocol_fee_bps_persists_across_operations() {
let creator = soroban_sdk::Address::generate(&env);
let buyer = soroban_sdk::Address::generate(&env);
client.register_creator(
- &creator,
- &soroban_sdk::String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: soroban_sdk::String::from_str(&env, "alice"),
+ },
+ &None,
&None,
&None,
&None,
diff --git a/creator-keys/tests/protocol_state_version.rs b/creator-keys/tests/protocol_state_version.rs
index 551d7db..03efe8b 100644
--- a/creator-keys/tests/protocol_state_version.rs
+++ b/creator-keys/tests/protocol_state_version.rs
@@ -103,8 +103,11 @@ fn test_get_protocol_state_version_increments_only_on_config_updates() {
// Other state changes should not increment version
client.set_key_price(&admin, &100i128);
client.register_creator(
- &creator,
- &String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
+ &None,
&None,
&None,
&None,
diff --git a/creator-keys/tests/registration_event_details.rs b/creator-keys/tests/registration_event_details.rs
index 6eab4e5..3caecb8 100644
--- a/creator-keys/tests/registration_event_details.rs
+++ b/creator-keys/tests/registration_event_details.rs
@@ -26,7 +26,17 @@ fn test_register_creator_event_field_values_match_fixtures() {
client.set_fee_config(&admin, &expected_creator_bps, &expected_protocol_bps);
// 3. Trigger registration
- client.register_creator(&creator, &handle, &None, &None, &None, &None);
+ client.register_creator(
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: handle.clone(),
+ },
+ &None,
+ &None,
+ &None,
+ &None,
+ &None,
+ );
// 4. Capture the emitted event
let all_events = env.events().all();
@@ -85,8 +95,11 @@ fn test_register_creator_event_fields_update_with_fee_config() {
client.set_fee_config(&admin, &9000, &1000);
let creator1 = Address::generate(&env);
client.register_creator(
- &creator1,
- &String::from_str(&env, "creator_1"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator1.clone(),
+ handle: String::from_str(&env, "creator_1"),
+ },
+ &None,
&None,
&None,
&None,
@@ -102,8 +115,11 @@ fn test_register_creator_event_fields_update_with_fee_config() {
client.set_fee_config(&admin, &8000, &2000);
let creator2 = Address::generate(&env);
client.register_creator(
- &creator2,
- &String::from_str(&env, "creator_2"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator2.clone(),
+ handle: String::from_str(&env, "creator_2"),
+ },
+ &None,
&None,
&None,
&None,
diff --git a/creator-keys/tests/sell_event_seller_address.rs b/creator-keys/tests/sell_event_seller_address.rs
index 265851d..44ed0c2 100644
--- a/creator-keys/tests/sell_event_seller_address.rs
+++ b/creator-keys/tests/sell_event_seller_address.rs
@@ -27,8 +27,11 @@ fn test_sell_event_seller_address_matches_caller() {
// Configure contract
client.set_key_price(&admin, &KEY_PRICE);
client.register_creator(
- &creator,
- &String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
+ &None,
&None,
&None,
&None,
@@ -88,8 +91,11 @@ fn test_sell_event_seller_address_field_is_non_zero() {
// Configure and execute
client.set_key_price(&admin, &KEY_PRICE);
client.register_creator(
- &creator,
- &String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
+ &None,
&None,
&None,
&None,
diff --git a/creator-keys/tests/test_register_creator.rs b/creator-keys/tests/test_register_creator.rs
index 0c38979..a45159a 100644
--- a/creator-keys/tests/test_register_creator.rs
+++ b/creator-keys/tests/test_register_creator.rs
@@ -13,7 +13,17 @@ fn test_register_creator_minimum_handle_length_success() {
let min_handle = "a".repeat(HANDLE_LEN_MIN as usize);
let handle = String::from_str(&env, &min_handle);
- let result = client.try_register_creator(&creator, &handle, &None, &None, &None, &None);
+ let result = client.try_register_creator(
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: handle.clone(),
+ },
+ &None,
+ &None,
+ &None,
+ &None,
+ &None,
+ );
// Happy path: the function succeeds
assert_eq!(result, Ok(Ok(())));
@@ -34,7 +44,17 @@ fn test_register_creator_below_minimum_handle_length_fails() {
let short_handle = "a".repeat((HANDLE_LEN_MIN - 1) as usize);
let handle = String::from_str(&env, &short_handle);
- let result = client.try_register_creator(&creator, &handle, &None, &None, &None, &None);
+ let result = client.try_register_creator(
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: handle.clone(),
+ },
+ &None,
+ &None,
+ &None,
+ &None,
+ &None,
+ );
// Error case: expected failure
assert_eq!(result, Err(Ok(ContractError::HandleTooShort)));
diff --git a/creator-keys/tests/total_supply_overflow.rs b/creator-keys/tests/total_supply_overflow.rs
index fcc2150..e56841e 100644
--- a/creator-keys/tests/total_supply_overflow.rs
+++ b/creator-keys/tests/total_supply_overflow.rs
@@ -20,8 +20,11 @@ fn buy_at_max_supply_is_rejected_with_overflow_and_no_state_corruption() {
let creator = Address::generate(&env);
client.register_creator(
- &creator,
- &String::from_str(&env, "maxed"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "maxed"),
+ },
+ &None,
&None,
&None,
&None,
diff --git a/creator-keys/tests/transfer_keys.rs b/creator-keys/tests/transfer_keys.rs
index fcae9b8..80e7836 100644
--- a/creator-keys/tests/transfer_keys.rs
+++ b/creator-keys/tests/transfer_keys.rs
@@ -18,8 +18,11 @@ fn test_transfer_keys_sender_balance_decreases() {
let recipient = Address::generate(&env);
client.register_creator(
- &creator,
- &String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
+ &None,
&None,
&None,
&None,
@@ -49,8 +52,11 @@ fn test_transfer_keys_recipient_balance_increases() {
let recipient = Address::generate(&env);
client.register_creator(
- &creator,
- &String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
+ &None,
&None,
&None,
&None,
@@ -78,8 +84,11 @@ fn test_transfer_keys_total_supply_unchanged() {
let recipient = Address::generate(&env);
client.register_creator(
- &creator,
- &String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
+ &None,
&None,
&None,
&None,
@@ -106,8 +115,11 @@ fn test_transfer_keys_buy_quote_unchanged_after_transfer() {
let recipient = Address::generate(&env);
client.register_creator(
- &creator,
- &String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
+ &None,
&None,
&None,
&None,
@@ -141,8 +153,11 @@ fn test_transfer_keys_sell_quote_unchanged_after_transfer() {
let recipient = Address::generate(&env);
client.register_creator(
- &creator,
- &String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
+ &None,
&None,
&None,
&None,
@@ -172,8 +187,11 @@ fn test_transfer_keys_holder_count_unaffected_when_sender_zero_but_recipient_new
let recipient = Address::generate(&env);
client.register_creator(
- &creator,
- &String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
+ &None,
&None,
&None,
&None,
@@ -208,8 +226,11 @@ fn test_transfer_keys_holder_count_increments_when_recipient_new() {
let recipient = Address::generate(&env);
client.register_creator(
- &creator,
- &String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
+ &None,
&None,
&None,
&None,
@@ -241,8 +262,11 @@ fn test_transfer_keys_self_transfer_reverts() {
let sender = Address::generate(&env);
client.register_creator(
- &creator,
- &String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
+ &None,
&None,
&None,
&None,
@@ -269,8 +293,11 @@ fn test_transfer_keys_zero_amount_reverts() {
let recipient = Address::generate(&env);
client.register_creator(
- &creator,
- &String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
+ &None,
&None,
&None,
&None,
@@ -297,8 +324,11 @@ fn test_transfer_keys_exceeding_balance_reverts() {
let recipient = Address::generate(&env);
client.register_creator(
- &creator,
- &String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
+ &None,
&None,
&None,
&None,
@@ -341,8 +371,11 @@ fn test_transfer_keys_self_transfer_sender_balance_unchanged() {
let sender = Address::generate(&env);
client.register_creator(
- &creator,
- &String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
+ &None,
&None,
&None,
&None,
@@ -376,8 +409,11 @@ fn test_transfer_keys_self_transfer_total_supply_unchanged() {
let sender = Address::generate(&env);
client.register_creator(
- &creator,
- &String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
+ &None,
&None,
&None,
&None,
@@ -413,8 +449,11 @@ fn test_transfer_keys_preserves_other_holders() {
let bystander = Address::generate(&env);
client.register_creator(
- &creator,
- &String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
+ &None,
&None,
&None,
&None,
diff --git a/creator-keys/tests/transfer_keys_dividend_preservation.rs b/creator-keys/tests/transfer_keys_dividend_preservation.rs
index 745b521..d7a56d5 100644
--- a/creator-keys/tests/transfer_keys_dividend_preservation.rs
+++ b/creator-keys/tests/transfer_keys_dividend_preservation.rs
@@ -21,12 +21,15 @@ fn test_transfer_keys_preserves_claimable_dividends() {
let creator = Address::generate(&env);
client.register_creator(
- &creator,
- &String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
&None,
&None,
&Some(CurvePreset::Flat),
&None,
+ &None,
);
let wallet_a = Address::generate(&env);
diff --git a/creator-keys/tests/treasury_withdrawal.rs b/creator-keys/tests/treasury_withdrawal.rs
index da6fcbb..838b303 100644
--- a/creator-keys/tests/treasury_withdrawal.rs
+++ b/creator-keys/tests/treasury_withdrawal.rs
@@ -32,8 +32,11 @@ fn buy_one_key(env: &Env, client: &CreatorKeysContractClient<'_>) -> i128 {
let creator = Address::generate(env);
let buyer = Address::generate(env);
client.register_creator(
- &creator,
- &soroban_sdk::String::from_str(env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: soroban_sdk::String::from_str(env, "alice"),
+ },
+ &None,
&None,
&None,
&None,
@@ -69,8 +72,11 @@ fn get_treasury_balance_accumulates_across_multiple_buys() {
let creator = Address::generate(&env);
client.register_creator(
- &creator,
- &soroban_sdk::String::from_str(&env, "bob"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: soroban_sdk::String::from_str(&env, "bob"),
+ },
+ &None,
&None,
&None,
&None,
@@ -200,8 +206,11 @@ fn withdraw_treasury_multiple_partial_withdrawals_track_correctly() {
let creator = Address::generate(&env);
client.register_creator(
- &creator,
- &soroban_sdk::String::from_str(&env, "charlie"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: soroban_sdk::String::from_str(&env, "charlie"),
+ },
+ &None,
&None,
&None,
&None,
diff --git a/creator-keys/tests/whitelist_window.rs b/creator-keys/tests/whitelist_window.rs
index cd34519..0bad6ef 100644
--- a/creator-keys/tests/whitelist_window.rs
+++ b/creator-keys/tests/whitelist_window.rs
@@ -17,8 +17,11 @@ fn register_whitelisted_creator(
) -> Address {
let creator = Address::generate(env);
client.register_creator(
- &creator,
- &String::from_str(env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(env, "alice"),
+ },
+ &None,
&None,
&None,
&None,
@@ -111,8 +114,11 @@ fn test_whitelist_over_500_addresses_reverts_at_registration() {
}
let result = client.try_register_creator(
- &creator,
- &String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
+ &None,
&None,
&None,
&None,
@@ -133,8 +139,11 @@ fn test_none_whitelist_allows_public_buy_immediately() {
set_key_price_for_tests(&env, &client, 100);
let creator = Address::generate(&env);
client.register_creator(
- &creator,
- &String::from_str(&env, "alice"),
+ &creator_keys::RegisterCreatorParams {
+ creator: creator.clone(),
+ handle: String::from_str(&env, "alice"),
+ },
+ &None,
&None,
&None,
&None,