diff --git a/scripts/verify.sh b/scripts/verify.sh index e399f460..0f2e3785 100755 --- a/scripts/verify.sh +++ b/scripts/verify.sh @@ -16,6 +16,23 @@ set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +SMARTCONTRACT_DIR="${SCRIPT_DIR}/../smartcontract" + +# --------------------------------------------------------------------------- +# Static analysis: run cargo clippy on the smart contract +# --------------------------------------------------------------------------- +echo "============================================" +echo "Running cargo clippy on smartcontract" +echo "============================================" + +if ! command -v cargo &>/dev/null; then + echo "ERROR: cargo not found. Install Rust toolchain to run clippy." + exit 1 +fi + +(cd "${SMARTCONTRACT_DIR}" && cargo clippy -- -D warnings) +echo " PASS cargo clippy passed" +echo "" CONFIG_FILE="${SCRIPT_DIR}/config/testnet.env" CONTRACT_ID="" diff --git a/smartcontract/src/htlc.rs b/smartcontract/src/htlc.rs index 60ac22fd..751a612b 100644 --- a/smartcontract/src/htlc.rs +++ b/smartcontract/src/htlc.rs @@ -2,7 +2,7 @@ use crate::crypto; use crate::error::Error; use crate::storage; use crate::types::{HTLCStatus, HashAlgorithm, OptMultiSig, HTLC}; -use soroban_sdk::{Address, Bytes, BytesN, Env}; +use soroban_sdk::{symbol_short, Address, Bytes, BytesN, Env}; /// Creates a new HTLC using SHA256 as the hash algorithm (default, Bitcoin-compatible). pub fn create_htlc( @@ -34,6 +34,7 @@ pub fn create_htlc( /// /// Callers that need Ethereum-compatible swaps should pass `HashAlgorithm::Keccak256`. /// The `claim_htlc` call for this HTLC must use the same algorithm. +#[allow(clippy::too_many_arguments)] pub fn create_htlc_with_algorithm( env: &Env, sender: &Address, @@ -108,6 +109,11 @@ pub fn claim_htlc(env: &Env, htlc_id: u64, secret: Bytes) -> Result<(), Error> { htlc.secret = Some(secret); storage::write_htlc(env, htlc_id, &htlc); + env.events().publish( + (symbol_short!("htlc"), symbol_short!("claimed")), + (htlc_id, htlc.receiver), + ); + Ok(()) } @@ -137,6 +143,11 @@ pub fn refund_htlc(env: &Env, htlc_id: u64, sender: &Address) -> Result<(), Erro htlc.status = HTLCStatus::Refunded; storage::write_htlc(env, htlc_id, &htlc); + env.events().publish( + (symbol_short!("htlc"), symbol_short!("refunded")), + (htlc_id, htlc.sender), + ); + Ok(()) } diff --git a/smartcontract/src/lib.rs b/smartcontract/src/lib.rs index bdd51c8e..911030cc 100644 --- a/smartcontract/src/lib.rs +++ b/smartcontract/src/lib.rs @@ -1,4 +1,5 @@ #![no_std] +#![allow(clippy::too_many_arguments)] mod crypto; mod error; @@ -16,8 +17,8 @@ use soroban_sdk::{contract, contractimpl, Address, Bytes, BytesN, Env, String, V use crate::error::Error; use crate::types::{ - AdvancedOrderType, Chain, ChainProof, CrossChainSwap, GovernanceConfig, GovernanceProposal, - HTLCStatus, HashAlgorithm, LiquidityPool, LiquidityPosition, OrderExecutionCondition, + AdvancedOrderConfig, Chain, ChainProof, CrossChainSwap, GovernanceConfig, GovernanceProposal, + HTLCStatus, HashAlgorithm, LiquidityPool, LiquidityPosition, OptMultiSig, OptOrderExecution, ReferralRecord, StorageMetrics, SwapOrder, VoteChoice, HTLC, }; @@ -206,9 +207,12 @@ impl ChainBridge { storage::get_storage_metrics(&env) } - /// Cleanup expired HTLCs - pub fn cleanup_expired_htlcs(env: Env) -> u64 { - storage::cleanup_expired_htlcs(&env) + /// Cleanup expired HTLCs. + /// + /// `limit` caps how many entries are removed per call; pass `0` to use the + /// default batch size. Returns the number of HTLCs actually cleaned up. + pub fn cleanup_expired_htlcs(env: Env, limit: u32) -> u64 { + storage::cleanup_expired_htlcs(&env, limit) } /// Mark HTLC for cleanup @@ -276,12 +280,11 @@ impl ChainBridge { to_amount, expiry, min_fill_amount, - AdvancedOrderType::Market, - None, + crate::types::AdvancedOrderType::Market, + OptOrderExecution::None, ) } - #[allow(clippy::too_many_arguments)] pub fn create_advanced_order( env: Env, creator: Address, @@ -292,9 +295,7 @@ impl ChainBridge { from_amount: i128, to_amount: i128, expiry: u64, - min_fill_amount: i128, - order_type: AdvancedOrderType, - execution: Option, + config: AdvancedOrderConfig, ) -> Result { creator.require_auth(); order::create_advanced_order( @@ -307,9 +308,9 @@ impl ChainBridge { from_amount, to_amount, expiry, - min_fill_amount, - order_type, - execution, + config.min_fill_amount, + config.order_type, + config.execution, ) } @@ -344,7 +345,7 @@ impl ChainBridge { order_id: u64, to_amount: i128, expiry: u64, - execution: Option, + execution: OptOrderExecution, ) -> Result<(), Error> { creator.require_auth(); order::amend_order(&env, &creator, order_id, to_amount, expiry, execution) diff --git a/smartcontract/src/order.rs b/smartcontract/src/order.rs index 2cd67a82..65e9fcfc 100644 --- a/smartcontract/src/order.rs +++ b/smartcontract/src/order.rs @@ -1,6 +1,6 @@ use crate::error::Error; use crate::storage; -use crate::types::{AdvancedOrderType, Chain, OrderExecutionCondition, SwapOrder, SwapStatus}; +use crate::types::{AdvancedOrderType, Chain, OptOrderExecution, SwapOrder, SwapStatus}; use soroban_sdk::{Address, Env, String}; #[allow(clippy::too_many_arguments)] @@ -32,7 +32,7 @@ pub fn create_order( expiry, from_amount, AdvancedOrderType::Market, - None, + OptOrderExecution::None, ) } @@ -57,7 +57,7 @@ pub fn create_order_with_min_fill( expiry: u64, min_fill_amount: i128, order_type: AdvancedOrderType, - execution: Option, + execution: OptOrderExecution, ) -> Result { if storage::is_paused(env) { return Err(Error::Paused); @@ -115,7 +115,7 @@ pub fn create_advanced_order( expiry: u64, min_fill_amount: i128, order_type: AdvancedOrderType, - execution: Option, + execution: OptOrderExecution, ) -> Result { create_order_with_min_fill( env, @@ -258,7 +258,7 @@ pub fn amend_order( order_id: u64, to_amount: i128, expiry: u64, - execution: Option, + execution: OptOrderExecution, ) -> Result<(), Error> { let mut order = storage::read_order(env, order_id).ok_or(Error::OrderNotFound)?; if order.creator != *creator { diff --git a/smartcontract/src/storage.rs b/smartcontract/src/storage.rs index f92cadd4..7d38068f 100644 --- a/smartcontract/src/storage.rs +++ b/smartcontract/src/storage.rs @@ -35,6 +35,8 @@ pub enum DataKey { Swap(u64), SupportedChain(u32), ExpiredHTLCs, + /// Read pointer: the next queue index to process in cleanup_expired_htlcs. + ExpiredHTLCHead, ExpiredHTLCQueue(u64), StorageMetrics, Paused, @@ -149,6 +151,7 @@ pub fn write_proposal_vote(env: &Env, proposal_id: u64, voter: &Address, voted: .set(&DataKey::ProposalVote(proposal_id, voter.clone()), &voted); } +#[allow(dead_code)] pub fn read_delegation(env: &Env, delegator: &Address) -> Option { env.storage() .persistent() @@ -374,6 +377,7 @@ pub fn get_orders_by_chain_pair(env: &Env, from: &Chain, to: &Chain) -> Vec // Expired HTLC cleanup queue // ============================================================================= +/// Append an HTLC id to the expired-cleanup queue. pub fn add_expired_htlc(env: &Env, htlc_id: u64) { let counter = get_expired_htlc_counter(env); env.storage() @@ -382,6 +386,7 @@ pub fn add_expired_htlc(env: &Env, htlc_id: u64) { set_expired_htlc_counter(env, counter + 1); } +/// Write pointer: total number of entries ever enqueued. pub fn get_expired_htlc_counter(env: &Env) -> u64 { env.storage() .instance() @@ -393,6 +398,20 @@ pub fn set_expired_htlc_counter(env: &Env, count: u64) { env.storage().instance().set(&DataKey::ExpiredHTLCs, &count); } +/// Read pointer: the next queue index to process in cleanup_expired_htlcs. +pub fn get_expired_htlc_head(env: &Env) -> u64 { + env.storage() + .instance() + .get(&DataKey::ExpiredHTLCHead) + .unwrap_or(0) +} + +fn set_expired_htlc_head(env: &Env, head: u64) { + env.storage() + .instance() + .set(&DataKey::ExpiredHTLCHead, &head); +} + pub fn get_expired_htlc(env: &Env, index: u64) -> Option { env.storage() .instance() @@ -405,17 +424,32 @@ pub fn remove_expired_htlc(env: &Env, index: u64) { .remove(&DataKey::ExpiredHTLCQueue(index)); } -pub fn cleanup_expired_htlcs(env: &Env) -> u64 { - let counter = get_expired_htlc_counter(env); - let mut cleaned = 0u64; +/// Process expired HTLCs from the cleanup queue. +/// +/// Uses a persistent read pointer so successive calls resume where the +/// previous call left off, enabling partial cleanup over multiple calls. +/// `limit` caps how many entries are removed per call; pass `0` to use the +/// default batch size (`CLEANUP_BATCH_SIZE`). Returns the number of HTLCs +/// actually removed. +pub fn cleanup_expired_htlcs(env: &Env, limit: u32) -> u64 { + let write_counter = get_expired_htlc_counter(env); + let head = get_expired_htlc_head(env); + + if head >= write_counter { + return 0; + } - let batch_end = if counter > CLEANUP_BATCH_SIZE { + let effective_limit = if limit == 0 { CLEANUP_BATCH_SIZE } else { - counter + limit as u64 }; - for i in 0..batch_end { + let pending = write_counter - head; + let batch_size = pending.min(effective_limit); + let mut cleaned = 0u64; + + for i in head..head + batch_size { if let Some(htlc_id) = get_expired_htlc(env, i) { remove_htlc(env, htlc_id); remove_expired_htlc(env, i); @@ -424,8 +458,7 @@ pub fn cleanup_expired_htlcs(env: &Env) -> u64 { } if cleaned > 0 { - let remaining = counter.saturating_sub(cleaned); - set_expired_htlc_counter(env, remaining); + set_expired_htlc_head(env, head + cleaned); } cleaned diff --git a/smartcontract/src/test.rs b/smartcontract/src/test.rs index d5d2dd21..5b3eafb3 100644 --- a/smartcontract/src/test.rs +++ b/smartcontract/src/test.rs @@ -2,11 +2,12 @@ use super::*; use crate::types::{ - AdvancedOrderType, GovernanceConfig, HashAlgorithm, ProposalStatus, VoteChoice, + AdvancedOrderConfig, AdvancedOrderType, GovernanceConfig, HashAlgorithm, OptMultiSig, + ProposalStatus, VoteChoice, }; use soroban_sdk::{ testutils::{Address as _, Ledger as _}, - Address, Bytes, BytesN, Env, String, Vec, + Address, Bytes, BytesN, Env, String, }; fn setup_contract() -> (Env, Address, ChainBridgeClient<'static>) { @@ -1133,8 +1134,6 @@ fn test_partial_fill_order_stays_open() { &2000, &expiry, &250, - &AdvancedOrderType::Market, - &None, ); client.match_order_partial(&counterparty, &order_id, &250); @@ -1168,8 +1167,6 @@ fn test_partial_fill_multiple_fills_completes_order() { &2000, &expiry, &250, - &AdvancedOrderType::Market, - &None, ); client.match_order_partial(&cp1, &order_id, &250); @@ -1203,8 +1200,6 @@ fn test_partial_fill_below_min_fill_rejected() { &2000, &expiry, &250, - &AdvancedOrderType::Market, - &None, ); // 249 < min_fill_amount (250) @@ -1232,8 +1227,6 @@ fn test_partial_fill_above_remaining_rejected() { &2000, &expiry, &250, - &AdvancedOrderType::Market, - &None, ); // 1001 > from_amount (1000) @@ -1561,8 +1554,6 @@ fn test_multi_party_partial_fill() { &15000, &expiry, &200, - &AdvancedOrderType::Market, - &None, ); for _ in 0..5 { @@ -1795,17 +1786,27 @@ fn test_advanced_order_amendment_and_referral_tracking() { &1_000, &2_000, &expiry, - &250, - &AdvancedOrderType::Limit, - &Some(crate::types::OrderExecutionCondition { - trigger_price_numerator: 2, - trigger_price_denominator: 1, - execute_after: env.ledger().timestamp(), - allow_partial_fills: true, - }), + &AdvancedOrderConfig { + min_fill_amount: 250, + order_type: AdvancedOrderType::Limit, + execution: crate::types::OptOrderExecution::Config( + crate::types::OrderExecutionCondition { + trigger_price_numerator: 2, + trigger_price_denominator: 1, + execute_after: env.ledger().timestamp(), + allow_partial_fills: true, + }, + ), + }, ); - client.amend_order(&creator, &order_id, &2_200, &(expiry + 100), &None); + client.amend_order( + &creator, + &order_id, + &2_200, + &(expiry + 100), + &crate::types::OptOrderExecution::None, + ); let order = client.get_order(&order_id); assert_eq!(order.amendment_count, 1); assert_eq!(order.to_amount, 2_200); @@ -1816,3 +1817,138 @@ fn test_advanced_order_amendment_and_referral_tracking() { assert_eq!(referral.uses, 1); assert_eq!(referral.rewards_earned, 100); } + +// ============================================================================= +// ISSUE #461: EMIT EVENT FOR HTLC CLAIM +// ============================================================================= + +#[test] +fn test_claim_htlc_emits_event() { + use soroban_sdk::testutils::Events as _; + + let (env, contract_id, client) = setup_contract(); + let admin = Address::generate(&env); + let sender = Address::generate(&env); + let receiver = Address::generate(&env); + + client.init(&admin); + + let secret = Bytes::from_slice(&env, &[1u8; 32]); + let hash_lock: BytesN<32> = env.crypto().sha256(&secret).into(); + let time_lock = env.ledger().timestamp() + 86400; + + let htlc_id = client.create_htlc( + &sender, + &receiver, + &1000, + &hash_lock, + &time_lock, + &OptMultiSig::None, + ); + + client.claim_htlc(&receiver, &htlc_id, &secret); + + // Verify the claim event was emitted + let events = env.events().all(); + assert!(!events.is_empty(), "claim_htlc must emit at least one event"); + + // The last emitted event belongs to our contract + let (emitted_contract, topics, _data) = events.last().unwrap(); + assert_eq!(emitted_contract, contract_id); + + // Event has two topics: the "htlc" namespace and the "claimed" action + assert_eq!(topics.len(), 2, "claim event must carry exactly two topics"); +} + +// ============================================================================= +// ISSUE #462: EMIT EVENT FOR HTLC REFUND +// ============================================================================= + +#[test] +fn test_refund_htlc_emits_event() { + use soroban_sdk::testutils::Events as _; + + let (env, contract_id, client) = setup_contract(); + let admin = Address::generate(&env); + let sender = Address::generate(&env); + let receiver = Address::generate(&env); + + client.init(&admin); + + let htlc_id = create_test_htlc(&env, &client, &sender, &receiver, 1000, &[1u8; 32], 100); + + // Advance past the timelock so the refund is valid + env.ledger().set_timestamp(env.ledger().timestamp() + 101); + client.refund_htlc(&sender, &htlc_id); + + // Verify the refund event was emitted + let events = env.events().all(); + assert!(!events.is_empty(), "refund_htlc must emit at least one event"); + + // The last emitted event belongs to our contract + let (emitted_contract, topics, _data) = events.last().unwrap(); + assert_eq!(emitted_contract, contract_id); + + // Event has two topics: the "htlc" namespace and the "refunded" action + assert_eq!(topics.len(), 2, "refund event must carry exactly two topics"); +} + +// ============================================================================= +// ISSUE #469: CLEANUP LIMIT — PARTIAL CLEANUP OVER MULTIPLE CALLS +// ============================================================================= + +#[test] +fn test_cleanup_expired_htlcs_partial_then_remainder() { + let (env, _, client) = setup_contract(); + let admin = Address::generate(&env); + let sender = Address::generate(&env); + let receiver = Address::generate(&env); + + client.init(&admin); + + // Create 5 HTLCs and mark all of them for cleanup + let mut htlc_ids = soroban_sdk::Vec::new(&env); + for i in 0u8..5 { + let htlc_id = + create_test_htlc(&env, &client, &sender, &receiver, 100, &[i + 1; 32], 100); + htlc_ids.push_back(htlc_id); + client.mark_htlc_expired(&htlc_id); + } + + // First pass: clean only 2 of the 5 + let cleaned_first = client.cleanup_expired_htlcs(&2u32); + assert_eq!(cleaned_first, 2, "first call should process exactly 2 HTLCs"); + + // Second pass: clean 2 more (of the remaining 3) + let cleaned_second = client.cleanup_expired_htlcs(&2u32); + assert_eq!(cleaned_second, 2, "second call should process exactly 2 more HTLCs"); + + // Third pass: clean the last 1 + let cleaned_third = client.cleanup_expired_htlcs(&2u32); + assert_eq!(cleaned_third, 1, "third call should process the final HTLC"); + + // Queue is now empty — further calls return 0 + let cleaned_empty = client.cleanup_expired_htlcs(&2u32); + assert_eq!(cleaned_empty, 0, "cleanup on empty queue must return 0"); +} + +#[test] +fn test_cleanup_expired_htlcs_zero_limit_uses_default_batch() { + let (env, _, client) = setup_contract(); + let admin = Address::generate(&env); + let sender = Address::generate(&env); + let receiver = Address::generate(&env); + + client.init(&admin); + + // Enqueue 3 HTLCs + for i in 0u8..3 { + let htlc_id = + create_test_htlc(&env, &client, &sender, &receiver, 100, &[i + 1; 32], 100); + client.mark_htlc_expired(&htlc_id); + } + + // limit = 0 should use the default batch (≥ 3) and clean all + let cleaned = client.cleanup_expired_htlcs(&0u32); + assert_eq!(cleaned, 3, "limit=0 should use default batch and clean all 3"); +} diff --git a/smartcontract/src/types.rs b/smartcontract/src/types.rs index 80ea082a..3262ca60 100644 --- a/smartcontract/src/types.rs +++ b/smartcontract/src/types.rs @@ -63,6 +63,7 @@ pub enum SwapStatus { #[contracttype] #[derive(Clone, Debug, Eq, PartialEq)] +#[allow(clippy::upper_case_acronyms)] pub enum AdvancedOrderType { Market, Limit, @@ -119,7 +120,7 @@ pub struct SwapOrder { /// Order execution mode for advanced order support. pub order_type: AdvancedOrderType, /// Optional trigger/conditional execution settings. - pub execution: Option, + pub execution: OptOrderExecution, /// Number of amendments applied to the order. pub amendment_count: u32, } @@ -173,6 +174,29 @@ pub struct HTLCCleanupQueue { pub htlc_ids: soroban_sdk::Vec, } +/// Soroban-compatible optional wrapper for `OrderExecutionCondition`. +/// +/// `Option` cannot be used directly as a `#[contracttype]` +/// field because the soroban XDR layer does not generate a `TryFrom` impl for +/// `Option`. This enum is the idiomatic workaround (same pattern +/// as `OptMultiSig`). +#[contracttype] +#[derive(Clone, Debug, Eq, PartialEq)] +pub enum OptOrderExecution { + None, + Config(OrderExecutionCondition), +} + +/// Groups the advanced-order parameters that would otherwise push `create_advanced_order` +/// past Soroban's 10-parameter contract-function limit. +#[contracttype] +#[derive(Clone, Debug, Eq, PartialEq)] +pub struct AdvancedOrderConfig { + pub min_fill_amount: i128, + pub order_type: AdvancedOrderType, + pub execution: OptOrderExecution, +} + #[contracttype] #[derive(Clone, Debug, Eq, PartialEq)] pub struct GovernanceConfig { diff --git a/smartcontract/test_snapshots/test/test_advanced_order_amendment_and_referral_tracking.1.json b/smartcontract/test_snapshots/test/test_advanced_order_amendment_and_referral_tracking.1.json new file mode 100644 index 00000000..66dc92d3 --- /dev/null +++ b/smartcontract/test_snapshots/test/test_advanced_order_amendment_and_referral_tracking.1.json @@ -0,0 +1,1457 @@ +{ + "generators": { + "address": 4, + "nonce": 0 + }, + "auth": [ + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "create_advanced_order", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "vec": [ + { + "symbol": "Bitcoin" + } + ] + }, + { + "vec": [ + { + "symbol": "Ethereum" + } + ] + }, + { + "string": "BTC" + }, + { + "string": "ETH" + }, + { + "i128": { + "hi": 0, + "lo": 1000 + } + }, + { + "i128": { + "hi": 0, + "lo": 2000 + } + }, + { + "u64": 1001000 + }, + { + "map": [ + { + "key": { + "symbol": "execution" + }, + "val": { + "vec": [ + { + "symbol": "Config" + }, + { + "map": [ + { + "key": { + "symbol": "allow_partial_fills" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "execute_after" + }, + "val": { + "u64": 1000000 + } + }, + { + "key": { + "symbol": "trigger_price_denominator" + }, + "val": { + "i128": { + "hi": 0, + "lo": 1 + } + } + }, + { + "key": { + "symbol": "trigger_price_numerator" + }, + "val": { + "i128": { + "hi": 0, + "lo": 2 + } + } + } + ] + } + ] + } + }, + { + "key": { + "symbol": "min_fill_amount" + }, + "val": { + "i128": { + "hi": 0, + "lo": 250 + } + } + }, + { + "key": { + "symbol": "order_type" + }, + "val": { + "vec": [ + { + "symbol": "Limit" + } + ] + } + } + ] + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "amend_order", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "u64": 1 + }, + { + "i128": { + "hi": 0, + "lo": 2200 + } + }, + { + "u64": 1001100 + }, + { + "vec": [ + { + "symbol": "None" + } + ] + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "register_referral_code", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "string": "FROST" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [] + ], + "ledger": { + "protocol_version": 21, + "sequence_number": 0, + "timestamp": 1000000, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "ChainPairOrders" + }, + { + "u64": 1 + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "ChainPairOrders" + }, + { + "u64": 1 + } + ] + }, + "durability": "persistent", + "val": { + "vec": [ + { + "u64": 1 + } + ] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Order" + }, + { + "u64": 1 + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Order" + }, + { + "u64": 1 + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amendment_count" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "counterparty" + }, + "val": "void" + }, + { + "key": { + "symbol": "created_ledger" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "creator" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "symbol": "execution" + }, + "val": { + "vec": [ + { + "symbol": "None" + } + ] + } + }, + { + "key": { + "symbol": "expiry" + }, + "val": { + "u64": 1001100 + } + }, + { + "key": { + "symbol": "filled_amount" + }, + "val": { + "i128": { + "hi": 0, + "lo": 0 + } + } + }, + { + "key": { + "symbol": "from_amount" + }, + "val": { + "i128": { + "hi": 0, + "lo": 1000 + } + } + }, + { + "key": { + "symbol": "from_asset" + }, + "val": { + "string": "BTC" + } + }, + { + "key": { + "symbol": "from_chain" + }, + "val": { + "vec": [ + { + "symbol": "Bitcoin" + } + ] + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "min_fill_amount" + }, + "val": { + "i128": { + "hi": 0, + "lo": 250 + } + } + }, + { + "key": { + "symbol": "order_type" + }, + "val": { + "vec": [ + { + "symbol": "Limit" + } + ] + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Open" + } + ] + } + }, + { + "key": { + "symbol": "to_amount" + }, + "val": { + "i128": { + "hi": 0, + "lo": 2200 + } + } + }, + { + "key": { + "symbol": "to_asset" + }, + "val": { + "string": "ETH" + } + }, + { + "key": { + "symbol": "to_chain" + }, + "val": { + "vec": [ + { + "symbol": "Ethereum" + } + ] + } + } + ] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "ReferralCode" + }, + { + "string": "FROST" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "ReferralCode" + }, + { + "string": "FROST" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "code" + }, + "val": { + "string": "FROST" + } + }, + { + "key": { + "symbol": "last_swap_id" + }, + "val": { + "u64": 77 + } + }, + { + "key": { + "symbol": "owner" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "rewards_earned" + }, + "val": { + "i128": { + "hi": 0, + "lo": 100 + } + } + }, + { + "key": { + "symbol": "uses" + }, + "val": { + "u64": 1 + } + } + ] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "OrderCounter" + } + ] + }, + "val": { + "u64": 1 + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [ + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "init" + } + ], + "data": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "init" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "create_advanced_order" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "vec": [ + { + "symbol": "Bitcoin" + } + ] + }, + { + "vec": [ + { + "symbol": "Ethereum" + } + ] + }, + { + "string": "BTC" + }, + { + "string": "ETH" + }, + { + "i128": { + "hi": 0, + "lo": 1000 + } + }, + { + "i128": { + "hi": 0, + "lo": 2000 + } + }, + { + "u64": 1001000 + }, + { + "map": [ + { + "key": { + "symbol": "execution" + }, + "val": { + "vec": [ + { + "symbol": "Config" + }, + { + "map": [ + { + "key": { + "symbol": "allow_partial_fills" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "execute_after" + }, + "val": { + "u64": 1000000 + } + }, + { + "key": { + "symbol": "trigger_price_denominator" + }, + "val": { + "i128": { + "hi": 0, + "lo": 1 + } + } + }, + { + "key": { + "symbol": "trigger_price_numerator" + }, + "val": { + "i128": { + "hi": 0, + "lo": 2 + } + } + } + ] + } + ] + } + }, + { + "key": { + "symbol": "min_fill_amount" + }, + "val": { + "i128": { + "hi": 0, + "lo": 250 + } + } + }, + { + "key": { + "symbol": "order_type" + }, + "val": { + "vec": [ + { + "symbol": "Limit" + } + ] + } + } + ] + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "create_advanced_order" + } + ], + "data": { + "u64": 1 + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "amend_order" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "u64": 1 + }, + { + "i128": { + "hi": 0, + "lo": 2200 + } + }, + { + "u64": 1001100 + }, + { + "vec": [ + { + "symbol": "None" + } + ] + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "amend_order" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "get_order" + } + ], + "data": { + "u64": 1 + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "get_order" + } + ], + "data": { + "map": [ + { + "key": { + "symbol": "amendment_count" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "counterparty" + }, + "val": "void" + }, + { + "key": { + "symbol": "created_ledger" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "creator" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "symbol": "execution" + }, + "val": { + "vec": [ + { + "symbol": "None" + } + ] + } + }, + { + "key": { + "symbol": "expiry" + }, + "val": { + "u64": 1001100 + } + }, + { + "key": { + "symbol": "filled_amount" + }, + "val": { + "i128": { + "hi": 0, + "lo": 0 + } + } + }, + { + "key": { + "symbol": "from_amount" + }, + "val": { + "i128": { + "hi": 0, + "lo": 1000 + } + } + }, + { + "key": { + "symbol": "from_asset" + }, + "val": { + "string": "BTC" + } + }, + { + "key": { + "symbol": "from_chain" + }, + "val": { + "vec": [ + { + "symbol": "Bitcoin" + } + ] + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "min_fill_amount" + }, + "val": { + "i128": { + "hi": 0, + "lo": 250 + } + } + }, + { + "key": { + "symbol": "order_type" + }, + "val": { + "vec": [ + { + "symbol": "Limit" + } + ] + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Open" + } + ] + } + }, + { + "key": { + "symbol": "to_amount" + }, + "val": { + "i128": { + "hi": 0, + "lo": 2200 + } + } + }, + { + "key": { + "symbol": "to_asset" + }, + "val": { + "string": "ETH" + } + }, + { + "key": { + "symbol": "to_chain" + }, + "val": { + "vec": [ + { + "symbol": "Ethereum" + } + ] + } + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "register_referral_code" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "string": "FROST" + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "register_referral_code" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "record_referral_swap" + } + ], + "data": { + "vec": [ + { + "string": "FROST" + }, + { + "u64": 77 + }, + { + "i128": { + "hi": 0, + "lo": 10000 + } + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "record_referral_swap" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "get_referral_record" + } + ], + "data": { + "string": "FROST" + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "get_referral_record" + } + ], + "data": { + "map": [ + { + "key": { + "symbol": "code" + }, + "val": { + "string": "FROST" + } + }, + { + "key": { + "symbol": "last_swap_id" + }, + "val": { + "u64": 77 + } + }, + { + "key": { + "symbol": "owner" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "rewards_earned" + }, + "val": { + "i128": { + "hi": 0, + "lo": 100 + } + } + }, + { + "key": { + "symbol": "uses" + }, + "val": { + "u64": 1 + } + } + ] + } + } + } + }, + "failed_call": false + } + ] +} \ No newline at end of file diff --git a/smartcontract/test_snapshots/test/test_chain_pair_index_populated_on_create.1.json b/smartcontract/test_snapshots/test/test_chain_pair_index_populated_on_create.1.json index 3b46203a..1718742d 100644 --- a/smartcontract/test_snapshots/test/test_chain_pair_index_populated_on_create.1.json +++ b/smartcontract/test_snapshots/test/test_chain_pair_index_populated_on_create.1.json @@ -157,6 +157,14 @@ "durability": "persistent", "val": { "map": [ + { + "key": { + "symbol": "amendment_count" + }, + "val": { + "u32": 0 + } + }, { "key": { "symbol": "counterparty" @@ -179,6 +187,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" } }, + { + "key": { + "symbol": "execution" + }, + "val": { + "vec": [ + { + "symbol": "None" + } + ] + } + }, { "key": { "symbol": "expiry" @@ -248,6 +268,18 @@ } } }, + { + "key": { + "symbol": "order_type" + }, + "val": { + "vec": [ + { + "symbol": "Market" + } + ] + } + }, { "key": { "symbol": "status" diff --git a/smartcontract/test_snapshots/test/test_chain_pair_index_removed_on_full_match.1.json b/smartcontract/test_snapshots/test/test_chain_pair_index_removed_on_full_match.1.json index 1603575d..3c288f8d 100644 --- a/smartcontract/test_snapshots/test/test_chain_pair_index_removed_on_full_match.1.json +++ b/smartcontract/test_snapshots/test/test_chain_pair_index_removed_on_full_match.1.json @@ -175,6 +175,14 @@ "durability": "persistent", "val": { "map": [ + { + "key": { + "symbol": "amendment_count" + }, + "val": { + "u32": 0 + } + }, { "key": { "symbol": "counterparty" @@ -199,6 +207,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" } }, + { + "key": { + "symbol": "execution" + }, + "val": { + "vec": [ + { + "symbol": "None" + } + ] + } + }, { "key": { "symbol": "expiry" @@ -268,6 +288,18 @@ } } }, + { + "key": { + "symbol": "order_type" + }, + "val": { + "vec": [ + { + "symbol": "Market" + } + ] + } + }, { "key": { "symbol": "status" diff --git a/smartcontract/test_snapshots/test/test_claim_different_htlcs_different_secrets.1.json b/smartcontract/test_snapshots/test/test_claim_different_htlcs_different_secrets.1.json index c07f071b..77e1ee99 100644 --- a/smartcontract/test_snapshots/test/test_claim_different_htlcs_different_secrets.1.json +++ b/smartcontract/test_snapshots/test/test_claim_different_htlcs_different_secrets.1.json @@ -878,6 +878,36 @@ }, "failed_call": false }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "contract", + "body": { + "v0": { + "topics": [ + { + "symbol": "htlc" + }, + { + "symbol": "claimed" + } + ], + "data": { + "vec": [ + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + } + } + }, + "failed_call": false + }, { "event": { "ext": "v0", @@ -935,6 +965,36 @@ }, "failed_call": false }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "contract", + "body": { + "v0": { + "topics": [ + { + "symbol": "htlc" + }, + { + "symbol": "claimed" + } + ], + "data": { + "vec": [ + { + "u64": 2 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + } + } + }, + "failed_call": false + }, { "event": { "ext": "v0", diff --git a/smartcontract/test_snapshots/test/test_claim_htlc_emits_event.1.json b/smartcontract/test_snapshots/test/test_claim_htlc_emits_event.1.json new file mode 100644 index 00000000..0db516a0 --- /dev/null +++ b/smartcontract/test_snapshots/test/test_claim_htlc_emits_event.1.json @@ -0,0 +1,583 @@ +{ + "generators": { + "address": 4, + "nonce": 0 + }, + "auth": [ + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "create_htlc", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 1000 + } + }, + { + "bytes": "72cd6e8422c407fb6d098690f1130b7ded7ec2f7f5e1d30bd9d521f015363793" + }, + { + "u64": 1086400 + }, + { + "vec": [ + { + "symbol": "None" + } + ] + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "claim_htlc", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + } + ] + } + }, + "sub_invocations": [] + } + ] + ] + ], + "ledger": { + "protocol_version": 21, + "sequence_number": 0, + "timestamp": 1000000, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "HTLC" + }, + { + "u64": 1 + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "HTLC" + }, + { + "u64": 1 + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": { + "hi": 0, + "lo": 1000 + } + } + }, + { + "key": { + "symbol": "created_at" + }, + "val": { + "u64": 1000000 + } + }, + { + "key": { + "symbol": "hash_algorithm" + }, + "val": { + "vec": [ + { + "symbol": "SHA256" + } + ] + } + }, + { + "key": { + "symbol": "hash_lock" + }, + "val": { + "bytes": "72cd6e8422c407fb6d098690f1130b7ded7ec2f7f5e1d30bd9d521f015363793" + } + }, + { + "key": { + "symbol": "multi_sig" + }, + "val": { + "vec": [ + { + "symbol": "None" + } + ] + } + }, + { + "key": { + "symbol": "receiver" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "secret" + }, + "val": { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + } + }, + { + "key": { + "symbol": "sender" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Claimed" + } + ] + } + }, + { + "key": { + "symbol": "time_lock" + }, + "val": { + "u64": 1086400 + } + } + ] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "HTLCCounter" + } + ] + }, + "val": { + "u64": 1 + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [ + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "init" + } + ], + "data": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "init" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "create_htlc" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 1000 + } + }, + { + "bytes": "72cd6e8422c407fb6d098690f1130b7ded7ec2f7f5e1d30bd9d521f015363793" + }, + { + "u64": 1086400 + }, + { + "vec": [ + { + "symbol": "None" + } + ] + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "create_htlc" + } + ], + "data": { + "u64": 1 + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "claim_htlc" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "bytes": "0101010101010101010101010101010101010101010101010101010101010101" + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "contract", + "body": { + "v0": { + "topics": [ + { + "symbol": "htlc" + }, + { + "symbol": "claimed" + } + ], + "data": { + "vec": [ + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "claim_htlc" + } + ], + "data": "void" + } + } + }, + "failed_call": false + } + ] +} \ No newline at end of file diff --git a/smartcontract/test_snapshots/test/test_cleanup_expired_htlcs_partial_then_remainder.1.json b/smartcontract/test_snapshots/test/test_cleanup_expired_htlcs_partial_then_remainder.1.json new file mode 100644 index 00000000..7f07e2c6 --- /dev/null +++ b/smartcontract/test_snapshots/test/test_cleanup_expired_htlcs_partial_then_remainder.1.json @@ -0,0 +1,1357 @@ +{ + "generators": { + "address": 4, + "nonce": 0 + }, + "auth": [ + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "create_htlc", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 100 + } + }, + { + "bytes": "72cd6e8422c407fb6d098690f1130b7ded7ec2f7f5e1d30bd9d521f015363793" + }, + { + "u64": 1000100 + }, + { + "vec": [ + { + "symbol": "None" + } + ] + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "create_htlc", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 100 + } + }, + { + "bytes": "75877bb41d393b5fb8455ce60ecd8dda001d06316496b14dfa7f895656eeca4a" + }, + { + "u64": 1000100 + }, + { + "vec": [ + { + "symbol": "None" + } + ] + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "create_htlc", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 100 + } + }, + { + "bytes": "648aa5c579fb30f38af744d97d6ec840c7a91277a499a0d780f3e7314eca090b" + }, + { + "u64": 1000100 + }, + { + "vec": [ + { + "symbol": "None" + } + ] + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "create_htlc", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 100 + } + }, + { + "bytes": "9f4fb68f3e1dac82202f9aa581ce0bbf1f765df0e9ac3c8c57e20f685abab8ed" + }, + { + "u64": 1000100 + }, + { + "vec": [ + { + "symbol": "None" + } + ] + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "create_htlc", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 100 + } + }, + { + "bytes": "f849d67325facf04177bc663b2dc544051831c589ef581d412f2eba44834e77c" + }, + { + "u64": 1000100 + }, + { + "vec": [ + { + "symbol": "None" + } + ] + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [], + [], + [] + ], + "ledger": { + "protocol_version": 21, + "sequence_number": 0, + "timestamp": 1000000, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "ExpiredHTLCHead" + } + ] + }, + "val": { + "u64": 5 + } + }, + { + "key": { + "vec": [ + { + "symbol": "ExpiredHTLCs" + } + ] + }, + "val": { + "u64": 5 + } + }, + { + "key": { + "vec": [ + { + "symbol": "HTLCCounter" + } + ] + }, + "val": { + "u64": 5 + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 2032731177588607455 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 2032731177588607455 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 4837995959683129791 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 4837995959683129791 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [ + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "init" + } + ], + "data": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "init" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "create_htlc" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 100 + } + }, + { + "bytes": "72cd6e8422c407fb6d098690f1130b7ded7ec2f7f5e1d30bd9d521f015363793" + }, + { + "u64": 1000100 + }, + { + "vec": [ + { + "symbol": "None" + } + ] + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "create_htlc" + } + ], + "data": { + "u64": 1 + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "mark_htlc_expired" + } + ], + "data": { + "u64": 1 + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "mark_htlc_expired" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "create_htlc" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 100 + } + }, + { + "bytes": "75877bb41d393b5fb8455ce60ecd8dda001d06316496b14dfa7f895656eeca4a" + }, + { + "u64": 1000100 + }, + { + "vec": [ + { + "symbol": "None" + } + ] + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "create_htlc" + } + ], + "data": { + "u64": 2 + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "mark_htlc_expired" + } + ], + "data": { + "u64": 2 + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "mark_htlc_expired" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "create_htlc" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 100 + } + }, + { + "bytes": "648aa5c579fb30f38af744d97d6ec840c7a91277a499a0d780f3e7314eca090b" + }, + { + "u64": 1000100 + }, + { + "vec": [ + { + "symbol": "None" + } + ] + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "create_htlc" + } + ], + "data": { + "u64": 3 + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "mark_htlc_expired" + } + ], + "data": { + "u64": 3 + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "mark_htlc_expired" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "create_htlc" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 100 + } + }, + { + "bytes": "9f4fb68f3e1dac82202f9aa581ce0bbf1f765df0e9ac3c8c57e20f685abab8ed" + }, + { + "u64": 1000100 + }, + { + "vec": [ + { + "symbol": "None" + } + ] + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "create_htlc" + } + ], + "data": { + "u64": 4 + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "mark_htlc_expired" + } + ], + "data": { + "u64": 4 + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "mark_htlc_expired" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "create_htlc" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 100 + } + }, + { + "bytes": "f849d67325facf04177bc663b2dc544051831c589ef581d412f2eba44834e77c" + }, + { + "u64": 1000100 + }, + { + "vec": [ + { + "symbol": "None" + } + ] + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "create_htlc" + } + ], + "data": { + "u64": 5 + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "mark_htlc_expired" + } + ], + "data": { + "u64": 5 + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "mark_htlc_expired" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "cleanup_expired_htlcs" + } + ], + "data": { + "u32": 2 + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "cleanup_expired_htlcs" + } + ], + "data": { + "u64": 2 + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "cleanup_expired_htlcs" + } + ], + "data": { + "u32": 2 + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "cleanup_expired_htlcs" + } + ], + "data": { + "u64": 2 + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "cleanup_expired_htlcs" + } + ], + "data": { + "u32": 2 + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "cleanup_expired_htlcs" + } + ], + "data": { + "u64": 1 + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "cleanup_expired_htlcs" + } + ], + "data": { + "u32": 2 + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "cleanup_expired_htlcs" + } + ], + "data": { + "u64": 0 + } + } + } + }, + "failed_call": false + } + ] +} \ No newline at end of file diff --git a/smartcontract/test_snapshots/test/test_cleanup_expired_htlcs_zero_limit_uses_default_batch.1.json b/smartcontract/test_snapshots/test/test_cleanup_expired_htlcs_zero_limit_uses_default_batch.1.json new file mode 100644 index 00000000..986e4df1 --- /dev/null +++ b/smartcontract/test_snapshots/test/test_cleanup_expired_htlcs_zero_limit_uses_default_batch.1.json @@ -0,0 +1,813 @@ +{ + "generators": { + "address": 4, + "nonce": 0 + }, + "auth": [ + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "create_htlc", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 100 + } + }, + { + "bytes": "72cd6e8422c407fb6d098690f1130b7ded7ec2f7f5e1d30bd9d521f015363793" + }, + { + "u64": 1000100 + }, + { + "vec": [ + { + "symbol": "None" + } + ] + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "create_htlc", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 100 + } + }, + { + "bytes": "75877bb41d393b5fb8455ce60ecd8dda001d06316496b14dfa7f895656eeca4a" + }, + { + "u64": 1000100 + }, + { + "vec": [ + { + "symbol": "None" + } + ] + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "create_htlc", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 100 + } + }, + { + "bytes": "648aa5c579fb30f38af744d97d6ec840c7a91277a499a0d780f3e7314eca090b" + }, + { + "u64": 1000100 + }, + { + "vec": [ + { + "symbol": "None" + } + ] + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [] + ], + "ledger": { + "protocol_version": 21, + "sequence_number": 0, + "timestamp": 1000000, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "ExpiredHTLCHead" + } + ] + }, + "val": { + "u64": 3 + } + }, + { + "key": { + "vec": [ + { + "symbol": "ExpiredHTLCs" + } + ] + }, + "val": { + "u64": 3 + } + }, + { + "key": { + "vec": [ + { + "symbol": "HTLCCounter" + } + ] + }, + "val": { + "u64": 3 + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [ + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "init" + } + ], + "data": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "init" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "create_htlc" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 100 + } + }, + { + "bytes": "72cd6e8422c407fb6d098690f1130b7ded7ec2f7f5e1d30bd9d521f015363793" + }, + { + "u64": 1000100 + }, + { + "vec": [ + { + "symbol": "None" + } + ] + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "create_htlc" + } + ], + "data": { + "u64": 1 + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "mark_htlc_expired" + } + ], + "data": { + "u64": 1 + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "mark_htlc_expired" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "create_htlc" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 100 + } + }, + { + "bytes": "75877bb41d393b5fb8455ce60ecd8dda001d06316496b14dfa7f895656eeca4a" + }, + { + "u64": 1000100 + }, + { + "vec": [ + { + "symbol": "None" + } + ] + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "create_htlc" + } + ], + "data": { + "u64": 2 + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "mark_htlc_expired" + } + ], + "data": { + "u64": 2 + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "mark_htlc_expired" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "create_htlc" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 100 + } + }, + { + "bytes": "648aa5c579fb30f38af744d97d6ec840c7a91277a499a0d780f3e7314eca090b" + }, + { + "u64": 1000100 + }, + { + "vec": [ + { + "symbol": "None" + } + ] + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "create_htlc" + } + ], + "data": { + "u64": 3 + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "mark_htlc_expired" + } + ], + "data": { + "u64": 3 + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "mark_htlc_expired" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "cleanup_expired_htlcs" + } + ], + "data": { + "u32": 0 + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "cleanup_expired_htlcs" + } + ], + "data": { + "u64": 3 + } + } + } + }, + "failed_call": false + } + ] +} \ No newline at end of file diff --git a/smartcontract/test_snapshots/test/test_error_already_claimed_cannot_refund.1.json b/smartcontract/test_snapshots/test/test_error_already_claimed_cannot_refund.1.json index e2a128ff..f7556c59 100644 --- a/smartcontract/test_snapshots/test/test_error_already_claimed_cannot_refund.1.json +++ b/smartcontract/test_snapshots/test/test_error_already_claimed_cannot_refund.1.json @@ -529,6 +529,36 @@ }, "failed_call": false }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "contract", + "body": { + "v0": { + "topics": [ + { + "symbol": "htlc" + }, + { + "symbol": "claimed" + } + ], + "data": { + "vec": [ + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + } + } + }, + "failed_call": false + }, { "event": { "ext": "v0", diff --git a/smartcontract/test_snapshots/test/test_error_already_claimed_double_claim.1.json b/smartcontract/test_snapshots/test/test_error_already_claimed_double_claim.1.json index a51e2b40..4da8c918 100644 --- a/smartcontract/test_snapshots/test/test_error_already_claimed_double_claim.1.json +++ b/smartcontract/test_snapshots/test/test_error_already_claimed_double_claim.1.json @@ -529,6 +529,36 @@ }, "failed_call": false }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "contract", + "body": { + "v0": { + "topics": [ + { + "symbol": "htlc" + }, + { + "symbol": "claimed" + } + ], + "data": { + "vec": [ + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + } + } + }, + "failed_call": false + }, { "event": { "ext": "v0", diff --git a/smartcontract/test_snapshots/test/test_error_already_refunded_double_refund.1.json b/smartcontract/test_snapshots/test/test_error_already_refunded_double_refund.1.json index 2de91f34..bb1182ba 100644 --- a/smartcontract/test_snapshots/test/test_error_already_refunded_double_refund.1.json +++ b/smartcontract/test_snapshots/test/test_error_already_refunded_double_refund.1.json @@ -521,6 +521,36 @@ }, "failed_call": false }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "contract", + "body": { + "v0": { + "topics": [ + { + "symbol": "htlc" + }, + { + "symbol": "refunded" + } + ], + "data": { + "vec": [ + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + } + } + } + }, + "failed_call": false + }, { "event": { "ext": "v0", diff --git a/smartcontract/test_snapshots/test/test_error_order_already_matched_cannot_cancel.1.json b/smartcontract/test_snapshots/test/test_error_order_already_matched_cannot_cancel.1.json index fdfb6c3f..ae1d1bac 100644 --- a/smartcontract/test_snapshots/test/test_error_order_already_matched_cannot_cancel.1.json +++ b/smartcontract/test_snapshots/test/test_error_order_already_matched_cannot_cancel.1.json @@ -175,6 +175,14 @@ "durability": "persistent", "val": { "map": [ + { + "key": { + "symbol": "amendment_count" + }, + "val": { + "u32": 0 + } + }, { "key": { "symbol": "counterparty" @@ -199,6 +207,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" } }, + { + "key": { + "symbol": "execution" + }, + "val": { + "vec": [ + { + "symbol": "None" + } + ] + } + }, { "key": { "symbol": "expiry" @@ -268,6 +288,18 @@ } } }, + { + "key": { + "symbol": "order_type" + }, + "val": { + "vec": [ + { + "symbol": "Market" + } + ] + } + }, { "key": { "symbol": "status" diff --git a/smartcontract/test_snapshots/test/test_error_order_already_matched_double_match.1.json b/smartcontract/test_snapshots/test/test_error_order_already_matched_double_match.1.json index 2b6de3cb..cee58c93 100644 --- a/smartcontract/test_snapshots/test/test_error_order_already_matched_double_match.1.json +++ b/smartcontract/test_snapshots/test/test_error_order_already_matched_double_match.1.json @@ -175,6 +175,14 @@ "durability": "persistent", "val": { "map": [ + { + "key": { + "symbol": "amendment_count" + }, + "val": { + "u32": 0 + } + }, { "key": { "symbol": "counterparty" @@ -199,6 +207,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" } }, + { + "key": { + "symbol": "execution" + }, + "val": { + "vec": [ + { + "symbol": "None" + } + ] + } + }, { "key": { "symbol": "expiry" @@ -268,6 +288,18 @@ } } }, + { + "key": { + "symbol": "order_type" + }, + "val": { + "vec": [ + { + "symbol": "Market" + } + ] + } + }, { "key": { "symbol": "status" diff --git a/smartcontract/test_snapshots/test/test_error_order_expired_match_after_expiry.1.json b/smartcontract/test_snapshots/test/test_error_order_expired_match_after_expiry.1.json index cd10eb03..64a4c957 100644 --- a/smartcontract/test_snapshots/test/test_error_order_expired_match_after_expiry.1.json +++ b/smartcontract/test_snapshots/test/test_error_order_expired_match_after_expiry.1.json @@ -157,6 +157,14 @@ "durability": "persistent", "val": { "map": [ + { + "key": { + "symbol": "amendment_count" + }, + "val": { + "u32": 0 + } + }, { "key": { "symbol": "counterparty" @@ -179,6 +187,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" } }, + { + "key": { + "symbol": "execution" + }, + "val": { + "vec": [ + { + "symbol": "None" + } + ] + } + }, { "key": { "symbol": "expiry" @@ -248,6 +268,18 @@ } } }, + { + "key": { + "symbol": "order_type" + }, + "val": { + "vec": [ + { + "symbol": "Market" + } + ] + } + }, { "key": { "symbol": "status" diff --git a/smartcontract/test_snapshots/test/test_error_order_expired_match_at_exact_expiry.1.json b/smartcontract/test_snapshots/test/test_error_order_expired_match_at_exact_expiry.1.json index fadcaf85..dc6970d3 100644 --- a/smartcontract/test_snapshots/test/test_error_order_expired_match_at_exact_expiry.1.json +++ b/smartcontract/test_snapshots/test/test_error_order_expired_match_at_exact_expiry.1.json @@ -157,6 +157,14 @@ "durability": "persistent", "val": { "map": [ + { + "key": { + "symbol": "amendment_count" + }, + "val": { + "u32": 0 + } + }, { "key": { "symbol": "counterparty" @@ -179,6 +187,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" } }, + { + "key": { + "symbol": "execution" + }, + "val": { + "vec": [ + { + "symbol": "None" + } + ] + } + }, { "key": { "symbol": "expiry" @@ -248,6 +268,18 @@ } } }, + { + "key": { + "symbol": "order_type" + }, + "val": { + "vec": [ + { + "symbol": "Market" + } + ] + } + }, { "key": { "symbol": "status" diff --git a/smartcontract/test_snapshots/test/test_error_unauthorized_cancel_order_wrong_creator.1.json b/smartcontract/test_snapshots/test/test_error_unauthorized_cancel_order_wrong_creator.1.json index 88afc3e6..afbaddbd 100644 --- a/smartcontract/test_snapshots/test/test_error_unauthorized_cancel_order_wrong_creator.1.json +++ b/smartcontract/test_snapshots/test/test_error_unauthorized_cancel_order_wrong_creator.1.json @@ -157,6 +157,14 @@ "durability": "persistent", "val": { "map": [ + { + "key": { + "symbol": "amendment_count" + }, + "val": { + "u32": 0 + } + }, { "key": { "symbol": "counterparty" @@ -179,6 +187,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" } }, + { + "key": { + "symbol": "execution" + }, + "val": { + "vec": [ + { + "symbol": "None" + } + ] + } + }, { "key": { "symbol": "expiry" @@ -248,6 +268,18 @@ } } }, + { + "key": { + "symbol": "order_type" + }, + "val": { + "vec": [ + { + "symbol": "Market" + } + ] + } + }, { "key": { "symbol": "status" diff --git a/smartcontract/test_snapshots/test/test_ethereum_compatible_swap_keccak256.1.json b/smartcontract/test_snapshots/test/test_ethereum_compatible_swap_keccak256.1.json index f729fd4e..14884074 100644 --- a/smartcontract/test_snapshots/test/test_ethereum_compatible_swap_keccak256.1.json +++ b/smartcontract/test_snapshots/test/test_ethereum_compatible_swap_keccak256.1.json @@ -529,6 +529,36 @@ }, "failed_call": false }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "contract", + "body": { + "v0": { + "topics": [ + { + "symbol": "htlc" + }, + { + "symbol": "claimed" + } + ], + "data": { + "vec": [ + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + } + } + }, + "failed_call": false + }, { "event": { "ext": "v0", diff --git a/smartcontract/test_snapshots/test/test_expire_order_before_expiry_fails.1.json b/smartcontract/test_snapshots/test/test_expire_order_before_expiry_fails.1.json index 4768906a..edfaf791 100644 --- a/smartcontract/test_snapshots/test/test_expire_order_before_expiry_fails.1.json +++ b/smartcontract/test_snapshots/test/test_expire_order_before_expiry_fails.1.json @@ -157,6 +157,14 @@ "durability": "persistent", "val": { "map": [ + { + "key": { + "symbol": "amendment_count" + }, + "val": { + "u32": 0 + } + }, { "key": { "symbol": "counterparty" @@ -179,6 +187,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" } }, + { + "key": { + "symbol": "execution" + }, + "val": { + "vec": [ + { + "symbol": "None" + } + ] + } + }, { "key": { "symbol": "expiry" @@ -248,6 +268,18 @@ } } }, + { + "key": { + "symbol": "order_type" + }, + "val": { + "vec": [ + { + "symbol": "Market" + } + ] + } + }, { "key": { "symbol": "status" diff --git a/smartcontract/test_snapshots/test/test_expire_order_removes_from_index.1.json b/smartcontract/test_snapshots/test/test_expire_order_removes_from_index.1.json index 012ef84e..e3c70512 100644 --- a/smartcontract/test_snapshots/test/test_expire_order_removes_from_index.1.json +++ b/smartcontract/test_snapshots/test/test_expire_order_removes_from_index.1.json @@ -155,6 +155,14 @@ "durability": "persistent", "val": { "map": [ + { + "key": { + "symbol": "amendment_count" + }, + "val": { + "u32": 0 + } + }, { "key": { "symbol": "counterparty" @@ -177,6 +185,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" } }, + { + "key": { + "symbol": "execution" + }, + "val": { + "vec": [ + { + "symbol": "None" + } + ] + } + }, { "key": { "symbol": "expiry" @@ -246,6 +266,18 @@ } } }, + { + "key": { + "symbol": "order_type" + }, + "val": { + "vec": [ + { + "symbol": "Market" + } + ] + } + }, { "key": { "symbol": "status" @@ -637,6 +669,14 @@ ], "data": { "map": [ + { + "key": { + "symbol": "amendment_count" + }, + "val": { + "u32": 0 + } + }, { "key": { "symbol": "counterparty" @@ -659,6 +699,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" } }, + { + "key": { + "symbol": "execution" + }, + "val": { + "vec": [ + { + "symbol": "None" + } + ] + } + }, { "key": { "symbol": "expiry" @@ -728,6 +780,18 @@ } } }, + { + "key": { + "symbol": "order_type" + }, + "val": { + "vec": [ + { + "symbol": "Market" + } + ] + } + }, { "key": { "symbol": "status" diff --git a/smartcontract/test_snapshots/test/test_full_atomic_swap_flow.1.json b/smartcontract/test_snapshots/test/test_full_atomic_swap_flow.1.json index 6a412ea5..79823dcf 100644 --- a/smartcontract/test_snapshots/test/test_full_atomic_swap_flow.1.json +++ b/smartcontract/test_snapshots/test/test_full_atomic_swap_flow.1.json @@ -383,6 +383,14 @@ "durability": "persistent", "val": { "map": [ + { + "key": { + "symbol": "amendment_count" + }, + "val": { + "u32": 0 + } + }, { "key": { "symbol": "counterparty" @@ -407,6 +415,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" } }, + { + "key": { + "symbol": "execution" + }, + "val": { + "vec": [ + { + "symbol": "None" + } + ] + } + }, { "key": { "symbol": "expiry" @@ -476,6 +496,18 @@ } } }, + { + "key": { + "symbol": "order_type" + }, + "val": { + "vec": [ + { + "symbol": "Market" + } + ] + } + }, { "key": { "symbol": "status" @@ -1185,6 +1217,36 @@ }, "failed_call": false }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "contract", + "body": { + "v0": { + "topics": [ + { + "symbol": "htlc" + }, + { + "symbol": "claimed" + } + ], + "data": { + "vec": [ + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + } + } + }, + "failed_call": false + }, { "event": { "ext": "v0", diff --git a/smartcontract/test_snapshots/test/test_get_revealed_secret_after_claim.1.json b/smartcontract/test_snapshots/test/test_get_revealed_secret_after_claim.1.json index 4b364998..9602ea7d 100644 --- a/smartcontract/test_snapshots/test/test_get_revealed_secret_after_claim.1.json +++ b/smartcontract/test_snapshots/test/test_get_revealed_secret_after_claim.1.json @@ -577,6 +577,36 @@ }, "failed_call": false }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "contract", + "body": { + "v0": { + "topics": [ + { + "symbol": "htlc" + }, + { + "symbol": "claimed" + } + ], + "data": { + "vec": [ + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + } + } + }, + "failed_call": false + }, { "event": { "ext": "v0", diff --git a/smartcontract/test_snapshots/test/test_governance_proposal_lifecycle.1.json b/smartcontract/test_snapshots/test/test_governance_proposal_lifecycle.1.json new file mode 100644 index 00000000..a3765c89 --- /dev/null +++ b/smartcontract/test_snapshots/test/test_governance_proposal_lifecycle.1.json @@ -0,0 +1,1101 @@ +{ + "generators": { + "address": 4, + "nonce": 0 + }, + "auth": [ + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "init_governance", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "map": [ + { + "key": { + "symbol": "proposal_threshold" + }, + "val": { + "i128": { + "hi": 0, + "lo": 100 + } + } + }, + { + "key": { + "symbol": "quorum_bps" + }, + "val": { + "u32": 2000 + } + }, + { + "key": { + "symbol": "timelock_secs" + }, + "val": { + "u64": 10 + } + }, + { + "key": { + "symbol": "token_symbol" + }, + "val": { + "string": "CBG" + } + }, + { + "key": { + "symbol": "voting_period_secs" + }, + "val": { + "u64": 100 + } + } + ] + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "create_proposal", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "string": "Lower protocol fee" + }, + { + "string": "Reduce taker fees via governance" + }, + { + "vec": [ + { + "string": "set_fee_rate:25" + } + ] + }, + { + "i128": { + "hi": 0, + "lo": 500 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "cast_vote", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "vec": [ + { + "symbol": "For" + } + ] + }, + { + "i128": { + "hi": 0, + "lo": 500 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [] + ], + "ledger": { + "protocol_version": 21, + "sequence_number": 0, + "timestamp": 1000120, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Proposal" + }, + { + "u64": 1 + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Proposal" + }, + { + "u64": 1 + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "abstain_votes" + }, + "val": { + "i128": { + "hi": 0, + "lo": 0 + } + } + }, + { + "key": { + "symbol": "actions" + }, + "val": { + "vec": [ + { + "string": "set_fee_rate:25" + } + ] + } + }, + { + "key": { + "symbol": "against_votes" + }, + "val": { + "i128": { + "hi": 0, + "lo": 0 + } + } + }, + { + "key": { + "symbol": "created_at" + }, + "val": { + "u64": 1000000 + } + }, + { + "key": { + "symbol": "description" + }, + "val": { + "string": "Reduce taker fees via governance" + } + }, + { + "key": { + "symbol": "executable_after" + }, + "val": { + "u64": 1000110 + } + }, + { + "key": { + "symbol": "for_votes" + }, + "val": { + "i128": { + "hi": 0, + "lo": 500 + } + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "proposer" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Executed" + } + ] + } + }, + { + "key": { + "symbol": "title" + }, + "val": { + "string": "Lower protocol fee" + } + }, + { + "key": { + "symbol": "voting_ends_at" + }, + "val": { + "u64": 1000100 + } + } + ] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "ProposalVote" + }, + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "ProposalVote" + }, + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "GovernanceConfig" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "proposal_threshold" + }, + "val": { + "i128": { + "hi": 0, + "lo": 100 + } + } + }, + { + "key": { + "symbol": "quorum_bps" + }, + "val": { + "u32": 2000 + } + }, + { + "key": { + "symbol": "timelock_secs" + }, + "val": { + "u64": 10 + } + }, + { + "key": { + "symbol": "token_symbol" + }, + "val": { + "string": "CBG" + } + }, + { + "key": { + "symbol": "voting_period_secs" + }, + "val": { + "u64": 100 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "ProposalCounter" + } + ] + }, + "val": { + "u64": 1 + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [ + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "init" + } + ], + "data": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "init" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "init_governance" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "map": [ + { + "key": { + "symbol": "proposal_threshold" + }, + "val": { + "i128": { + "hi": 0, + "lo": 100 + } + } + }, + { + "key": { + "symbol": "quorum_bps" + }, + "val": { + "u32": 2000 + } + }, + { + "key": { + "symbol": "timelock_secs" + }, + "val": { + "u64": 10 + } + }, + { + "key": { + "symbol": "token_symbol" + }, + "val": { + "string": "CBG" + } + }, + { + "key": { + "symbol": "voting_period_secs" + }, + "val": { + "u64": 100 + } + } + ] + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "init_governance" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "create_proposal" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "string": "Lower protocol fee" + }, + { + "string": "Reduce taker fees via governance" + }, + { + "vec": [ + { + "string": "set_fee_rate:25" + } + ] + }, + { + "i128": { + "hi": 0, + "lo": 500 + } + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "create_proposal" + } + ], + "data": { + "u64": 1 + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "cast_vote" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "vec": [ + { + "symbol": "For" + } + ] + }, + { + "i128": { + "hi": 0, + "lo": 500 + } + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "cast_vote" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "execute_proposal" + } + ], + "data": { + "u64": 1 + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "execute_proposal" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "get_proposal" + } + ], + "data": { + "u64": 1 + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "get_proposal" + } + ], + "data": { + "map": [ + { + "key": { + "symbol": "abstain_votes" + }, + "val": { + "i128": { + "hi": 0, + "lo": 0 + } + } + }, + { + "key": { + "symbol": "actions" + }, + "val": { + "vec": [ + { + "string": "set_fee_rate:25" + } + ] + } + }, + { + "key": { + "symbol": "against_votes" + }, + "val": { + "i128": { + "hi": 0, + "lo": 0 + } + } + }, + { + "key": { + "symbol": "created_at" + }, + "val": { + "u64": 1000000 + } + }, + { + "key": { + "symbol": "description" + }, + "val": { + "string": "Reduce taker fees via governance" + } + }, + { + "key": { + "symbol": "executable_after" + }, + "val": { + "u64": 1000110 + } + }, + { + "key": { + "symbol": "for_votes" + }, + "val": { + "i128": { + "hi": 0, + "lo": 500 + } + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "proposer" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Executed" + } + ] + } + }, + { + "key": { + "symbol": "title" + }, + "val": { + "string": "Lower protocol fee" + } + }, + { + "key": { + "symbol": "voting_ends_at" + }, + "val": { + "u64": 1000100 + } + } + ] + } + } + } + }, + "failed_call": false + } + ] +} \ No newline at end of file diff --git a/smartcontract/test_snapshots/test/test_htlc_claim_before_expiry.1.json b/smartcontract/test_snapshots/test/test_htlc_claim_before_expiry.1.json index 66be1c7a..13c39b0d 100644 --- a/smartcontract/test_snapshots/test/test_htlc_claim_before_expiry.1.json +++ b/smartcontract/test_snapshots/test/test_htlc_claim_before_expiry.1.json @@ -529,6 +529,36 @@ }, "failed_call": false }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "contract", + "body": { + "v0": { + "topics": [ + { + "symbol": "htlc" + }, + { + "symbol": "claimed" + } + ], + "data": { + "vec": [ + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + } + } + }, + "failed_call": false + }, { "event": { "ext": "v0", diff --git a/smartcontract/test_snapshots/test/test_htlc_claim_one_second_before_expiry.1.json b/smartcontract/test_snapshots/test/test_htlc_claim_one_second_before_expiry.1.json index 7850ab2b..b326836a 100644 --- a/smartcontract/test_snapshots/test/test_htlc_claim_one_second_before_expiry.1.json +++ b/smartcontract/test_snapshots/test/test_htlc_claim_one_second_before_expiry.1.json @@ -529,6 +529,36 @@ }, "failed_call": false }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "contract", + "body": { + "v0": { + "topics": [ + { + "symbol": "htlc" + }, + { + "symbol": "claimed" + } + ], + "data": { + "vec": [ + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + } + } + }, + "failed_call": false + }, { "event": { "ext": "v0", diff --git a/smartcontract/test_snapshots/test/test_htlc_refund_after_expiry.1.json b/smartcontract/test_snapshots/test/test_htlc_refund_after_expiry.1.json index 2d0c73b9..144c0dfc 100644 --- a/smartcontract/test_snapshots/test/test_htlc_refund_after_expiry.1.json +++ b/smartcontract/test_snapshots/test/test_htlc_refund_after_expiry.1.json @@ -521,6 +521,36 @@ }, "failed_call": false }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "contract", + "body": { + "v0": { + "topics": [ + { + "symbol": "htlc" + }, + { + "symbol": "refunded" + } + ], + "data": { + "vec": [ + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + } + } + } + }, + "failed_call": false + }, { "event": { "ext": "v0", diff --git a/smartcontract/test_snapshots/test/test_htlc_refund_one_second_after_expiry.1.json b/smartcontract/test_snapshots/test/test_htlc_refund_one_second_after_expiry.1.json index 2d0c73b9..144c0dfc 100644 --- a/smartcontract/test_snapshots/test/test_htlc_refund_one_second_after_expiry.1.json +++ b/smartcontract/test_snapshots/test/test_htlc_refund_one_second_after_expiry.1.json @@ -521,6 +521,36 @@ }, "failed_call": false }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "contract", + "body": { + "v0": { + "topics": [ + { + "symbol": "htlc" + }, + { + "symbol": "refunded" + } + ], + "data": { + "vec": [ + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + } + } + } + }, + "failed_call": false + }, { "event": { "ext": "v0", diff --git a/smartcontract/test_snapshots/test/test_htlc_timeout_and_refund.1.json b/smartcontract/test_snapshots/test/test_htlc_timeout_and_refund.1.json index 1f85d9ef..091afaee 100644 --- a/smartcontract/test_snapshots/test/test_htlc_timeout_and_refund.1.json +++ b/smartcontract/test_snapshots/test/test_htlc_timeout_and_refund.1.json @@ -521,6 +521,36 @@ }, "failed_call": false }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "contract", + "body": { + "v0": { + "topics": [ + { + "symbol": "htlc" + }, + { + "symbol": "refunded" + } + ], + "data": { + "vec": [ + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + } + } + } + }, + "failed_call": false + }, { "event": { "ext": "v0", diff --git a/smartcontract/test_snapshots/test/test_keccak256_htlc_create_and_claim.1.json b/smartcontract/test_snapshots/test/test_keccak256_htlc_create_and_claim.1.json index afb32884..a0bd4291 100644 --- a/smartcontract/test_snapshots/test/test_keccak256_htlc_create_and_claim.1.json +++ b/smartcontract/test_snapshots/test/test_keccak256_htlc_create_and_claim.1.json @@ -529,6 +529,36 @@ }, "failed_call": false }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "contract", + "body": { + "v0": { + "topics": [ + { + "symbol": "htlc" + }, + { + "symbol": "claimed" + } + ], + "data": { + "vec": [ + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + } + } + }, + "failed_call": false + }, { "event": { "ext": "v0", diff --git a/smartcontract/test_snapshots/test/test_liquidity_pool_quote_and_rewards.1.json b/smartcontract/test_snapshots/test/test_liquidity_pool_quote_and_rewards.1.json new file mode 100644 index 00000000..6e045812 --- /dev/null +++ b/smartcontract/test_snapshots/test/test_liquidity_pool_quote_and_rewards.1.json @@ -0,0 +1,822 @@ +{ + "generators": { + "address": 3, + "nonce": 0 + }, + "auth": [ + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "add_liquidity", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "u64": 1 + }, + { + "i128": { + "hi": 0, + "lo": 10000 + } + }, + { + "i128": { + "hi": 0, + "lo": 20000 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [] + ], + "ledger": { + "protocol_version": 21, + "sequence_number": 0, + "timestamp": 1000000, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Pool" + }, + { + "u64": 1 + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Pool" + }, + { + "u64": 1 + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "asset_a" + }, + "val": { + "string": "XLM" + } + }, + { + "key": { + "symbol": "asset_b" + }, + "val": { + "string": "USDC" + } + }, + { + "key": { + "symbol": "fee_bps" + }, + "val": { + "u32": 30 + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "reserve_a" + }, + "val": { + "i128": { + "hi": 0, + "lo": 10000 + } + } + }, + { + "key": { + "symbol": "reserve_b" + }, + "val": { + "i128": { + "hi": 0, + "lo": 20000 + } + } + }, + { + "key": { + "symbol": "reward_bps" + }, + "val": { + "u32": 500 + } + }, + { + "key": { + "symbol": "total_lp_tokens" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30000 + } + } + } + ] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "PoolRoute" + }, + { + "string": "USDC" + }, + { + "string": "XLM" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "PoolRoute" + }, + { + "string": "USDC" + }, + { + "string": "XLM" + } + ] + }, + "durability": "persistent", + "val": { + "u64": 1 + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "PoolRoute" + }, + { + "string": "XLM" + }, + { + "string": "USDC" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "PoolRoute" + }, + { + "string": "XLM" + }, + { + "string": "USDC" + } + ] + }, + "durability": "persistent", + "val": { + "u64": 1 + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Position" + }, + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "Position" + }, + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "lp_tokens" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30000 + } + } + }, + { + "key": { + "symbol": "pool_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "provider" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "symbol": "rewards_earned" + }, + "val": { + "i128": { + "hi": 0, + "lo": 1500 + } + } + } + ] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "PoolCounter" + } + ] + }, + "val": { + "u64": 1 + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [ + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "init" + } + ], + "data": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "init" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "create_pool" + } + ], + "data": { + "vec": [ + { + "string": "XLM" + }, + { + "string": "USDC" + }, + { + "u32": 30 + }, + { + "u32": 500 + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "create_pool" + } + ], + "data": { + "u64": 1 + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "add_liquidity" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "u64": 1 + }, + { + "i128": { + "hi": 0, + "lo": 10000 + } + }, + { + "i128": { + "hi": 0, + "lo": 20000 + } + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "add_liquidity" + } + ], + "data": { + "i128": { + "hi": 0, + "lo": 30000 + } + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "get_pool_quote" + } + ], + "data": { + "vec": [ + { + "string": "XLM" + }, + { + "string": "USDC" + }, + { + "i128": { + "hi": 0, + "lo": 1000 + } + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "get_pool_quote" + } + ], + "data": { + "i128": { + "hi": 0, + "lo": 1813 + } + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "get_position" + } + ], + "data": { + "vec": [ + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "get_position" + } + ], + "data": { + "map": [ + { + "key": { + "symbol": "lp_tokens" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30000 + } + } + }, + { + "key": { + "symbol": "pool_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "provider" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "symbol": "rewards_earned" + }, + "val": { + "i128": { + "hi": 0, + "lo": 1500 + } + } + } + ] + } + } + } + }, + "failed_call": false + } + ] +} \ No newline at end of file diff --git a/smartcontract/test_snapshots/test/test_multi_party_partial_fill.1.json b/smartcontract/test_snapshots/test/test_multi_party_partial_fill.1.json index 0c1a8c6d..2007f134 100644 --- a/smartcontract/test_snapshots/test/test_multi_party_partial_fill.1.json +++ b/smartcontract/test_snapshots/test/test_multi_party_partial_fill.1.json @@ -299,6 +299,14 @@ "durability": "persistent", "val": { "map": [ + { + "key": { + "symbol": "amendment_count" + }, + "val": { + "u32": 0 + } + }, { "key": { "symbol": "counterparty" @@ -323,6 +331,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" } }, + { + "key": { + "symbol": "execution" + }, + "val": { + "vec": [ + { + "symbol": "None" + } + ] + } + }, { "key": { "symbol": "expiry" @@ -392,6 +412,18 @@ } } }, + { + "key": { + "symbol": "order_type" + }, + "val": { + "vec": [ + { + "symbol": "Market" + } + ] + } + }, { "key": { "symbol": "status" @@ -1819,6 +1851,14 @@ ], "data": { "map": [ + { + "key": { + "symbol": "amendment_count" + }, + "val": { + "u32": 0 + } + }, { "key": { "symbol": "counterparty" @@ -1843,6 +1883,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" } }, + { + "key": { + "symbol": "execution" + }, + "val": { + "vec": [ + { + "symbol": "None" + } + ] + } + }, { "key": { "symbol": "expiry" @@ -1912,6 +1964,18 @@ } } }, + { + "key": { + "symbol": "order_type" + }, + "val": { + "vec": [ + { + "symbol": "Market" + } + ] + } + }, { "key": { "symbol": "status" diff --git a/smartcontract/test_snapshots/test/test_multiple_orders_same_chain_pair.1.json b/smartcontract/test_snapshots/test/test_multiple_orders_same_chain_pair.1.json index 98234020..dc1a82bf 100644 --- a/smartcontract/test_snapshots/test/test_multiple_orders_same_chain_pair.1.json +++ b/smartcontract/test_snapshots/test/test_multiple_orders_same_chain_pair.1.json @@ -271,6 +271,14 @@ "durability": "persistent", "val": { "map": [ + { + "key": { + "symbol": "amendment_count" + }, + "val": { + "u32": 0 + } + }, { "key": { "symbol": "counterparty" @@ -293,6 +301,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" } }, + { + "key": { + "symbol": "execution" + }, + "val": { + "vec": [ + { + "symbol": "None" + } + ] + } + }, { "key": { "symbol": "expiry" @@ -362,6 +382,18 @@ } } }, + { + "key": { + "symbol": "order_type" + }, + "val": { + "vec": [ + { + "symbol": "Market" + } + ] + } + }, { "key": { "symbol": "status" @@ -451,6 +483,14 @@ "durability": "persistent", "val": { "map": [ + { + "key": { + "symbol": "amendment_count" + }, + "val": { + "u32": 0 + } + }, { "key": { "symbol": "counterparty" @@ -473,6 +513,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } }, + { + "key": { + "symbol": "execution" + }, + "val": { + "vec": [ + { + "symbol": "None" + } + ] + } + }, { "key": { "symbol": "expiry" @@ -542,6 +594,18 @@ } } }, + { + "key": { + "symbol": "order_type" + }, + "val": { + "vec": [ + { + "symbol": "Market" + } + ] + } + }, { "key": { "symbol": "status" @@ -631,6 +695,14 @@ "durability": "persistent", "val": { "map": [ + { + "key": { + "symbol": "amendment_count" + }, + "val": { + "u32": 0 + } + }, { "key": { "symbol": "counterparty" @@ -653,6 +725,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" } }, + { + "key": { + "symbol": "execution" + }, + "val": { + "vec": [ + { + "symbol": "None" + } + ] + } + }, { "key": { "symbol": "expiry" @@ -722,6 +806,18 @@ } } }, + { + "key": { + "symbol": "order_type" + }, + "val": { + "vec": [ + { + "symbol": "Market" + } + ] + } + }, { "key": { "symbol": "status" diff --git a/smartcontract/test_snapshots/test/test_order_match_before_expiry.1.json b/smartcontract/test_snapshots/test/test_order_match_before_expiry.1.json index a9320f06..d8da725b 100644 --- a/smartcontract/test_snapshots/test/test_order_match_before_expiry.1.json +++ b/smartcontract/test_snapshots/test/test_order_match_before_expiry.1.json @@ -174,6 +174,14 @@ "durability": "persistent", "val": { "map": [ + { + "key": { + "symbol": "amendment_count" + }, + "val": { + "u32": 0 + } + }, { "key": { "symbol": "counterparty" @@ -198,6 +206,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" } }, + { + "key": { + "symbol": "execution" + }, + "val": { + "vec": [ + { + "symbol": "None" + } + ] + } + }, { "key": { "symbol": "expiry" @@ -267,6 +287,18 @@ } } }, + { + "key": { + "symbol": "order_type" + }, + "val": { + "vec": [ + { + "symbol": "Market" + } + ] + } + }, { "key": { "symbol": "status" diff --git a/smartcontract/test_snapshots/test/test_order_match_one_second_before_expiry.1.json b/smartcontract/test_snapshots/test/test_order_match_one_second_before_expiry.1.json index d2832eb2..e5939966 100644 --- a/smartcontract/test_snapshots/test/test_order_match_one_second_before_expiry.1.json +++ b/smartcontract/test_snapshots/test/test_order_match_one_second_before_expiry.1.json @@ -174,6 +174,14 @@ "durability": "persistent", "val": { "map": [ + { + "key": { + "symbol": "amendment_count" + }, + "val": { + "u32": 0 + } + }, { "key": { "symbol": "counterparty" @@ -198,6 +206,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" } }, + { + "key": { + "symbol": "execution" + }, + "val": { + "vec": [ + { + "symbol": "None" + } + ] + } + }, { "key": { "symbol": "expiry" @@ -267,6 +287,18 @@ } } }, + { + "key": { + "symbol": "order_type" + }, + "val": { + "vec": [ + { + "symbol": "Market" + } + ] + } + }, { "key": { "symbol": "status" diff --git a/smartcontract/test_snapshots/test/test_orders_different_chain_pairs_isolated.1.json b/smartcontract/test_snapshots/test/test_orders_different_chain_pairs_isolated.1.json index 8ab0d510..86e54f71 100644 --- a/smartcontract/test_snapshots/test/test_orders_different_chain_pairs_isolated.1.json +++ b/smartcontract/test_snapshots/test/test_orders_different_chain_pairs_isolated.1.json @@ -262,6 +262,14 @@ "durability": "persistent", "val": { "map": [ + { + "key": { + "symbol": "amendment_count" + }, + "val": { + "u32": 0 + } + }, { "key": { "symbol": "counterparty" @@ -284,6 +292,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" } }, + { + "key": { + "symbol": "execution" + }, + "val": { + "vec": [ + { + "symbol": "None" + } + ] + } + }, { "key": { "symbol": "expiry" @@ -353,6 +373,18 @@ } } }, + { + "key": { + "symbol": "order_type" + }, + "val": { + "vec": [ + { + "symbol": "Market" + } + ] + } + }, { "key": { "symbol": "status" @@ -442,6 +474,14 @@ "durability": "persistent", "val": { "map": [ + { + "key": { + "symbol": "amendment_count" + }, + "val": { + "u32": 0 + } + }, { "key": { "symbol": "counterparty" @@ -464,6 +504,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" } }, + { + "key": { + "symbol": "execution" + }, + "val": { + "vec": [ + { + "symbol": "None" + } + ] + } + }, { "key": { "symbol": "expiry" @@ -533,6 +585,18 @@ } } }, + { + "key": { + "symbol": "order_type" + }, + "val": { + "vec": [ + { + "symbol": "Market" + } + ] + } + }, { "key": { "symbol": "status" diff --git a/smartcontract/test_snapshots/test/test_partial_fill_above_remaining_rejected.1.json b/smartcontract/test_snapshots/test/test_partial_fill_above_remaining_rejected.1.json index f56c7922..66a7a925 100644 --- a/smartcontract/test_snapshots/test/test_partial_fill_above_remaining_rejected.1.json +++ b/smartcontract/test_snapshots/test/test_partial_fill_above_remaining_rejected.1.json @@ -163,6 +163,14 @@ "durability": "persistent", "val": { "map": [ + { + "key": { + "symbol": "amendment_count" + }, + "val": { + "u32": 0 + } + }, { "key": { "symbol": "counterparty" @@ -185,6 +193,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" } }, + { + "key": { + "symbol": "execution" + }, + "val": { + "vec": [ + { + "symbol": "None" + } + ] + } + }, { "key": { "symbol": "expiry" @@ -254,6 +274,18 @@ } } }, + { + "key": { + "symbol": "order_type" + }, + "val": { + "vec": [ + { + "symbol": "Market" + } + ] + } + }, { "key": { "symbol": "status" diff --git a/smartcontract/test_snapshots/test/test_partial_fill_below_min_fill_rejected.1.json b/smartcontract/test_snapshots/test/test_partial_fill_below_min_fill_rejected.1.json index 764347f0..9a7f3fb6 100644 --- a/smartcontract/test_snapshots/test/test_partial_fill_below_min_fill_rejected.1.json +++ b/smartcontract/test_snapshots/test/test_partial_fill_below_min_fill_rejected.1.json @@ -163,6 +163,14 @@ "durability": "persistent", "val": { "map": [ + { + "key": { + "symbol": "amendment_count" + }, + "val": { + "u32": 0 + } + }, { "key": { "symbol": "counterparty" @@ -185,6 +193,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" } }, + { + "key": { + "symbol": "execution" + }, + "val": { + "vec": [ + { + "symbol": "None" + } + ] + } + }, { "key": { "symbol": "expiry" @@ -254,6 +274,18 @@ } } }, + { + "key": { + "symbol": "order_type" + }, + "val": { + "vec": [ + { + "symbol": "Market" + } + ] + } + }, { "key": { "symbol": "status" diff --git a/smartcontract/test_snapshots/test/test_partial_fill_multiple_fills_completes_order.1.json b/smartcontract/test_snapshots/test/test_partial_fill_multiple_fills_completes_order.1.json index 64d99e07..a458aefc 100644 --- a/smartcontract/test_snapshots/test/test_partial_fill_multiple_fills_completes_order.1.json +++ b/smartcontract/test_snapshots/test/test_partial_fill_multiple_fills_completes_order.1.json @@ -271,6 +271,14 @@ "durability": "persistent", "val": { "map": [ + { + "key": { + "symbol": "amendment_count" + }, + "val": { + "u32": 0 + } + }, { "key": { "symbol": "counterparty" @@ -295,6 +303,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" } }, + { + "key": { + "symbol": "execution" + }, + "val": { + "vec": [ + { + "symbol": "None" + } + ] + } + }, { "key": { "symbol": "expiry" @@ -364,6 +384,18 @@ } } }, + { + "key": { + "symbol": "order_type" + }, + "val": { + "vec": [ + { + "symbol": "Market" + } + ] + } + }, { "key": { "symbol": "status" @@ -1578,6 +1610,14 @@ ], "data": { "map": [ + { + "key": { + "symbol": "amendment_count" + }, + "val": { + "u32": 0 + } + }, { "key": { "symbol": "counterparty" @@ -1602,6 +1642,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" } }, + { + "key": { + "symbol": "execution" + }, + "val": { + "vec": [ + { + "symbol": "None" + } + ] + } + }, { "key": { "symbol": "expiry" @@ -1671,6 +1723,18 @@ } } }, + { + "key": { + "symbol": "order_type" + }, + "val": { + "vec": [ + { + "symbol": "Market" + } + ] + } + }, { "key": { "symbol": "status" diff --git a/smartcontract/test_snapshots/test/test_partial_fill_order_stays_open.1.json b/smartcontract/test_snapshots/test/test_partial_fill_order_stays_open.1.json index fbc9a654..891ea60d 100644 --- a/smartcontract/test_snapshots/test/test_partial_fill_order_stays_open.1.json +++ b/smartcontract/test_snapshots/test/test_partial_fill_order_stays_open.1.json @@ -191,6 +191,14 @@ "durability": "persistent", "val": { "map": [ + { + "key": { + "symbol": "amendment_count" + }, + "val": { + "u32": 0 + } + }, { "key": { "symbol": "counterparty" @@ -215,6 +223,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" } }, + { + "key": { + "symbol": "execution" + }, + "val": { + "vec": [ + { + "symbol": "None" + } + ] + } + }, { "key": { "symbol": "expiry" @@ -284,6 +304,18 @@ } } }, + { + "key": { + "symbol": "order_type" + }, + "val": { + "vec": [ + { + "symbol": "Market" + } + ] + } + }, { "key": { "symbol": "status" @@ -859,6 +891,14 @@ ], "data": { "map": [ + { + "key": { + "symbol": "amendment_count" + }, + "val": { + "u32": 0 + } + }, { "key": { "symbol": "counterparty" @@ -883,6 +923,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" } }, + { + "key": { + "symbol": "execution" + }, + "val": { + "vec": [ + { + "symbol": "None" + } + ] + } + }, { "key": { "symbol": "expiry" @@ -952,6 +1004,18 @@ } } }, + { + "key": { + "symbol": "order_type" + }, + "val": { + "vec": [ + { + "symbol": "Market" + } + ] + } + }, { "key": { "symbol": "status" diff --git a/smartcontract/test_snapshots/test/test_refund_htlc_emits_event.1.json b/smartcontract/test_snapshots/test/test_refund_htlc_emits_event.1.json new file mode 100644 index 00000000..e2dc541c --- /dev/null +++ b/smartcontract/test_snapshots/test/test_refund_htlc_emits_event.1.json @@ -0,0 +1,575 @@ +{ + "generators": { + "address": 4, + "nonce": 0 + }, + "auth": [ + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "create_htlc", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 1000 + } + }, + { + "bytes": "72cd6e8422c407fb6d098690f1130b7ded7ec2f7f5e1d30bd9d521f015363793" + }, + { + "u64": 1000100 + }, + { + "vec": [ + { + "symbol": "None" + } + ] + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "refund_htlc", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "u64": 1 + } + ] + } + }, + "sub_invocations": [] + } + ] + ] + ], + "ledger": { + "protocol_version": 21, + "sequence_number": 0, + "timestamp": 1000101, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "HTLC" + }, + { + "u64": 1 + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "vec": [ + { + "symbol": "HTLC" + }, + { + "u64": 1 + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": { + "hi": 0, + "lo": 1000 + } + } + }, + { + "key": { + "symbol": "created_at" + }, + "val": { + "u64": 1000000 + } + }, + { + "key": { + "symbol": "hash_algorithm" + }, + "val": { + "vec": [ + { + "symbol": "SHA256" + } + ] + } + }, + { + "key": { + "symbol": "hash_lock" + }, + "val": { + "bytes": "72cd6e8422c407fb6d098690f1130b7ded7ec2f7f5e1d30bd9d521f015363793" + } + }, + { + "key": { + "symbol": "multi_sig" + }, + "val": { + "vec": [ + { + "symbol": "None" + } + ] + } + }, + { + "key": { + "symbol": "receiver" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "secret" + }, + "val": "void" + }, + { + "key": { + "symbol": "sender" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Refunded" + } + ] + } + }, + { + "key": { + "symbol": "time_lock" + }, + "val": { + "u64": 1000100 + } + } + ] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "HTLCCounter" + } + ] + }, + "val": { + "u64": 1 + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [ + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "init" + } + ], + "data": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "init" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "create_htlc" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 1000 + } + }, + { + "bytes": "72cd6e8422c407fb6d098690f1130b7ded7ec2f7f5e1d30bd9d521f015363793" + }, + { + "u64": 1000100 + }, + { + "vec": [ + { + "symbol": "None" + } + ] + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "create_htlc" + } + ], + "data": { + "u64": 1 + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "refund_htlc" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "u64": 1 + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "contract", + "body": { + "v0": { + "topics": [ + { + "symbol": "htlc" + }, + { + "symbol": "refunded" + } + ], + "data": { + "vec": [ + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "refund_htlc" + } + ], + "data": "void" + } + } + }, + "failed_call": false + } + ] +} \ No newline at end of file diff --git a/smartcontract/test_snapshots/test/test_storage_metrics_reflect_open_orders.1.json b/smartcontract/test_snapshots/test/test_storage_metrics_reflect_open_orders.1.json index 8d10bc11..68a7c472 100644 --- a/smartcontract/test_snapshots/test/test_storage_metrics_reflect_open_orders.1.json +++ b/smartcontract/test_snapshots/test/test_storage_metrics_reflect_open_orders.1.json @@ -291,6 +291,14 @@ "durability": "persistent", "val": { "map": [ + { + "key": { + "symbol": "amendment_count" + }, + "val": { + "u32": 0 + } + }, { "key": { "symbol": "counterparty" @@ -315,6 +323,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" } }, + { + "key": { + "symbol": "execution" + }, + "val": { + "vec": [ + { + "symbol": "None" + } + ] + } + }, { "key": { "symbol": "expiry" @@ -384,6 +404,18 @@ } } }, + { + "key": { + "symbol": "order_type" + }, + "val": { + "vec": [ + { + "symbol": "Market" + } + ] + } + }, { "key": { "symbol": "status" @@ -473,6 +505,14 @@ "durability": "persistent", "val": { "map": [ + { + "key": { + "symbol": "amendment_count" + }, + "val": { + "u32": 0 + } + }, { "key": { "symbol": "counterparty" @@ -495,6 +535,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" } }, + { + "key": { + "symbol": "execution" + }, + "val": { + "vec": [ + { + "symbol": "None" + } + ] + } + }, { "key": { "symbol": "expiry" @@ -564,6 +616,18 @@ } } }, + { + "key": { + "symbol": "order_type" + }, + "val": { + "vec": [ + { + "symbol": "Market" + } + ] + } + }, { "key": { "symbol": "status" @@ -653,6 +717,14 @@ "durability": "persistent", "val": { "map": [ + { + "key": { + "symbol": "amendment_count" + }, + "val": { + "u32": 0 + } + }, { "key": { "symbol": "counterparty" @@ -675,6 +747,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" } }, + { + "key": { + "symbol": "execution" + }, + "val": { + "vec": [ + { + "symbol": "None" + } + ] + } + }, { "key": { "symbol": "expiry" @@ -744,6 +828,18 @@ } } }, + { + "key": { + "symbol": "order_type" + }, + "val": { + "vec": [ + { + "symbol": "Market" + } + ] + } + }, { "key": { "symbol": "status" diff --git a/smartcontract/test_snapshots/test/test_stress_10_orders_chain_pair_index.1.json b/smartcontract/test_snapshots/test/test_stress_10_orders_chain_pair_index.1.json index 43043282..e2436a36 100644 --- a/smartcontract/test_snapshots/test/test_stress_10_orders_chain_pair_index.1.json +++ b/smartcontract/test_snapshots/test/test_stress_10_orders_chain_pair_index.1.json @@ -731,6 +731,14 @@ "durability": "persistent", "val": { "map": [ + { + "key": { + "symbol": "amendment_count" + }, + "val": { + "u32": 0 + } + }, { "key": { "symbol": "counterparty" @@ -753,6 +761,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } }, + { + "key": { + "symbol": "execution" + }, + "val": { + "vec": [ + { + "symbol": "None" + } + ] + } + }, { "key": { "symbol": "expiry" @@ -822,6 +842,18 @@ } } }, + { + "key": { + "symbol": "order_type" + }, + "val": { + "vec": [ + { + "symbol": "Market" + } + ] + } + }, { "key": { "symbol": "status" @@ -911,6 +943,14 @@ "durability": "persistent", "val": { "map": [ + { + "key": { + "symbol": "amendment_count" + }, + "val": { + "u32": 0 + } + }, { "key": { "symbol": "counterparty" @@ -933,6 +973,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" } }, + { + "key": { + "symbol": "execution" + }, + "val": { + "vec": [ + { + "symbol": "None" + } + ] + } + }, { "key": { "symbol": "expiry" @@ -1002,6 +1054,18 @@ } } }, + { + "key": { + "symbol": "order_type" + }, + "val": { + "vec": [ + { + "symbol": "Market" + } + ] + } + }, { "key": { "symbol": "status" @@ -1091,6 +1155,14 @@ "durability": "persistent", "val": { "map": [ + { + "key": { + "symbol": "amendment_count" + }, + "val": { + "u32": 0 + } + }, { "key": { "symbol": "counterparty" @@ -1113,6 +1185,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" } }, + { + "key": { + "symbol": "execution" + }, + "val": { + "vec": [ + { + "symbol": "None" + } + ] + } + }, { "key": { "symbol": "expiry" @@ -1182,6 +1266,18 @@ } } }, + { + "key": { + "symbol": "order_type" + }, + "val": { + "vec": [ + { + "symbol": "Market" + } + ] + } + }, { "key": { "symbol": "status" @@ -1271,6 +1367,14 @@ "durability": "persistent", "val": { "map": [ + { + "key": { + "symbol": "amendment_count" + }, + "val": { + "u32": 0 + } + }, { "key": { "symbol": "counterparty" @@ -1293,6 +1397,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATYON" } }, + { + "key": { + "symbol": "execution" + }, + "val": { + "vec": [ + { + "symbol": "None" + } + ] + } + }, { "key": { "symbol": "expiry" @@ -1362,6 +1478,18 @@ } } }, + { + "key": { + "symbol": "order_type" + }, + "val": { + "vec": [ + { + "symbol": "Market" + } + ] + } + }, { "key": { "symbol": "status" @@ -1451,6 +1579,14 @@ "durability": "persistent", "val": { "map": [ + { + "key": { + "symbol": "amendment_count" + }, + "val": { + "u32": 0 + } + }, { "key": { "symbol": "counterparty" @@ -1473,6 +1609,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAX5" } }, + { + "key": { + "symbol": "execution" + }, + "val": { + "vec": [ + { + "symbol": "None" + } + ] + } + }, { "key": { "symbol": "expiry" @@ -1542,6 +1690,18 @@ } } }, + { + "key": { + "symbol": "order_type" + }, + "val": { + "vec": [ + { + "symbol": "Market" + } + ] + } + }, { "key": { "symbol": "status" @@ -1631,6 +1791,14 @@ "durability": "persistent", "val": { "map": [ + { + "key": { + "symbol": "amendment_count" + }, + "val": { + "u32": 0 + } + }, { "key": { "symbol": "counterparty" @@ -1653,6 +1821,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXI7N" } }, + { + "key": { + "symbol": "execution" + }, + "val": { + "vec": [ + { + "symbol": "None" + } + ] + } + }, { "key": { "symbol": "expiry" @@ -1722,6 +1902,18 @@ } } }, + { + "key": { + "symbol": "order_type" + }, + "val": { + "vec": [ + { + "symbol": "Market" + } + ] + } + }, { "key": { "symbol": "status" @@ -1811,6 +2003,14 @@ "durability": "persistent", "val": { "map": [ + { + "key": { + "symbol": "amendment_count" + }, + "val": { + "u32": 0 + } + }, { "key": { "symbol": "counterparty" @@ -1833,6 +2033,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYRE5" } }, + { + "key": { + "symbol": "execution" + }, + "val": { + "vec": [ + { + "symbol": "None" + } + ] + } + }, { "key": { "symbol": "expiry" @@ -1902,6 +2114,18 @@ } } }, + { + "key": { + "symbol": "order_type" + }, + "val": { + "vec": [ + { + "symbol": "Market" + } + ] + } + }, { "key": { "symbol": "status" @@ -3529,6 +3753,14 @@ ], "data": { "map": [ + { + "key": { + "symbol": "amendment_count" + }, + "val": { + "u32": 0 + } + }, { "key": { "symbol": "counterparty" @@ -3551,6 +3783,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" } }, + { + "key": { + "symbol": "execution" + }, + "val": { + "vec": [ + { + "symbol": "None" + } + ] + } + }, { "key": { "symbol": "expiry" @@ -3620,6 +3864,18 @@ } } }, + { + "key": { + "symbol": "order_type" + }, + "val": { + "vec": [ + { + "symbol": "Market" + } + ] + } + }, { "key": { "symbol": "status" @@ -3767,6 +4023,14 @@ ], "data": { "map": [ + { + "key": { + "symbol": "amendment_count" + }, + "val": { + "u32": 0 + } + }, { "key": { "symbol": "counterparty" @@ -3789,6 +4053,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } }, + { + "key": { + "symbol": "execution" + }, + "val": { + "vec": [ + { + "symbol": "None" + } + ] + } + }, { "key": { "symbol": "expiry" @@ -3858,6 +4134,18 @@ } } }, + { + "key": { + "symbol": "order_type" + }, + "val": { + "vec": [ + { + "symbol": "Market" + } + ] + } + }, { "key": { "symbol": "status" @@ -4005,6 +4293,14 @@ ], "data": { "map": [ + { + "key": { + "symbol": "amendment_count" + }, + "val": { + "u32": 0 + } + }, { "key": { "symbol": "counterparty" @@ -4027,6 +4323,18 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" } }, + { + "key": { + "symbol": "execution" + }, + "val": { + "vec": [ + { + "symbol": "None" + } + ] + } + }, { "key": { "symbol": "expiry" @@ -4096,6 +4404,18 @@ } } }, + { + "key": { + "symbol": "order_type" + }, + "val": { + "vec": [ + { + "symbol": "Market" + } + ] + } + }, { "key": { "symbol": "status" diff --git a/smartcontract/test_snapshots/test/test_stress_20_htlcs.1.json b/smartcontract/test_snapshots/test/test_stress_20_htlcs.1.json index 6e5cf967..ee3e9581 100644 --- a/smartcontract/test_snapshots/test/test_stress_20_htlcs.1.json +++ b/smartcontract/test_snapshots/test/test_stress_20_htlcs.1.json @@ -6551,6 +6551,36 @@ }, "failed_call": false }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "contract", + "body": { + "v0": { + "topics": [ + { + "symbol": "htlc" + }, + { + "symbol": "claimed" + } + ], + "data": { + "vec": [ + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + } + } + }, + "failed_call": false + }, { "event": { "ext": "v0", @@ -6661,6 +6691,36 @@ }, "failed_call": false }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "contract", + "body": { + "v0": { + "topics": [ + { + "symbol": "htlc" + }, + { + "symbol": "claimed" + } + ], + "data": { + "vec": [ + { + "u64": 3 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + } + } + }, + "failed_call": false + }, { "event": { "ext": "v0", @@ -6771,6 +6831,36 @@ }, "failed_call": false }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "contract", + "body": { + "v0": { + "topics": [ + { + "symbol": "htlc" + }, + { + "symbol": "claimed" + } + ], + "data": { + "vec": [ + { + "u64": 5 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + } + } + }, + "failed_call": false + }, { "event": { "ext": "v0", @@ -6881,6 +6971,36 @@ }, "failed_call": false }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "contract", + "body": { + "v0": { + "topics": [ + { + "symbol": "htlc" + }, + { + "symbol": "claimed" + } + ], + "data": { + "vec": [ + { + "u64": 7 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + } + } + }, + "failed_call": false + }, { "event": { "ext": "v0", @@ -6991,6 +7111,36 @@ }, "failed_call": false }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "contract", + "body": { + "v0": { + "topics": [ + { + "symbol": "htlc" + }, + { + "symbol": "claimed" + } + ], + "data": { + "vec": [ + { + "u64": 9 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + } + } + }, + "failed_call": false + }, { "event": { "ext": "v0", @@ -7101,6 +7251,36 @@ }, "failed_call": false }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "contract", + "body": { + "v0": { + "topics": [ + { + "symbol": "htlc" + }, + { + "symbol": "claimed" + } + ], + "data": { + "vec": [ + { + "u64": 11 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + } + } + }, + "failed_call": false + }, { "event": { "ext": "v0", @@ -7211,6 +7391,36 @@ }, "failed_call": false }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "contract", + "body": { + "v0": { + "topics": [ + { + "symbol": "htlc" + }, + { + "symbol": "claimed" + } + ], + "data": { + "vec": [ + { + "u64": 13 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + } + } + }, + "failed_call": false + }, { "event": { "ext": "v0", @@ -7321,6 +7531,36 @@ }, "failed_call": false }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "contract", + "body": { + "v0": { + "topics": [ + { + "symbol": "htlc" + }, + { + "symbol": "claimed" + } + ], + "data": { + "vec": [ + { + "u64": 15 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + } + } + }, + "failed_call": false + }, { "event": { "ext": "v0", @@ -7431,6 +7671,36 @@ }, "failed_call": false }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "contract", + "body": { + "v0": { + "topics": [ + { + "symbol": "htlc" + }, + { + "symbol": "claimed" + } + ], + "data": { + "vec": [ + { + "u64": 17 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + } + } + }, + "failed_call": false + }, { "event": { "ext": "v0", @@ -7541,6 +7811,36 @@ }, "failed_call": false }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "contract", + "body": { + "v0": { + "topics": [ + { + "symbol": "htlc" + }, + { + "symbol": "claimed" + } + ], + "data": { + "vec": [ + { + "u64": 19 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + } + } + }, + "failed_call": false + }, { "event": { "ext": "v0",