From 9964293ff983f1f901576b1de87ec4815411dc45 Mon Sep 17 00:00:00 2001 From: auracule007 Date: Sat, 30 May 2026 10:18:10 +0100 Subject: [PATCH 1/5] Optimize liquidity pool guard gas usage --- contracts/liquidity_pool/src/lib.rs | 16 ++++++---------- contracts/liquidity_pool/src/test.rs | 22 +++++++++++----------- 2 files changed, 17 insertions(+), 21 deletions(-) diff --git a/contracts/liquidity_pool/src/lib.rs b/contracts/liquidity_pool/src/lib.rs index 4570f39..24b118e 100644 --- a/contracts/liquidity_pool/src/lib.rs +++ b/contracts/liquidity_pool/src/lib.rs @@ -202,7 +202,6 @@ fn guard_init(e: &Env, admin: Address) { let admins = vec![e, admin]; e.storage().instance().set(&DataKey::GuardAdmins, &admins); e.storage().instance().set(&DataKey::GuardThreshold, &1u32); - e.storage().instance().set(&DataKey::GuardPauseState, &0u32); } fn guard_pause_state(e: &Env) -> u32 { @@ -245,6 +244,7 @@ fn guard_require_multisig(e: &Env, approvers: &Vec
) -> Result<(), Error .instance() .get(&DataKey::GuardThreshold) .ok_or(Error::NotInitialized)?; + let admins = guard_admins(e); let mut valid = 0u32; let mut seen = Vec::new(e); @@ -254,7 +254,7 @@ fn guard_require_multisig(e: &Env, approvers: &Vec
) -> Result<(), Error continue; } seen.push_back(addr.clone()); - if guard_is_admin(e, &addr) { + if admins.iter().any(|a| a == addr) { addr.require_auth(); valid += 1; } @@ -267,15 +267,11 @@ fn guard_require_multisig(e: &Env, approvers: &Vec
) -> Result<(), Error } fn guard_set_ops(e: &Env, ops: u32, paused: bool) { - let mut state = guard_pause_state(e); - if paused { - state |= ops; - } else { - state &= !ops; + let state = guard_pause_state(e); + let next = if paused { state | ops } else { state & !ops }; + if next != state { + e.storage().instance().set(&DataKey::GuardPauseState, &next); } - e.storage() - .instance() - .set(&DataKey::GuardPauseState, &state); } fn set_primary_admin(e: &Env, admin: Address) -> Result<(), Error> { diff --git a/contracts/liquidity_pool/src/test.rs b/contracts/liquidity_pool/src/test.rs index 87168dd..73c0e92 100644 --- a/contracts/liquidity_pool/src/test.rs +++ b/contracts/liquidity_pool/src/test.rs @@ -767,13 +767,13 @@ fn test_pause_and_unpause() { assert_eq!(shares, 1000); // Admin pauses deposits only. - client.guard_pause(&admin, &emergency_guard::PauseType::DEPOSIT, &true); - assert!(client.guard_is_paused(&emergency_guard::PauseType::DEPOSIT)); - assert!(!client.guard_is_paused(&emergency_guard::PauseType::SWAP)); + client.guard_pause(&admin, &pause_op::DEPOSIT, &true); + assert!(client.guard_is_paused(&pause_op::DEPOSIT)); + assert!(!client.guard_is_paused(&pause_op::SWAP)); // Unpause deposits. - client.guard_pause(&admin, &emergency_guard::PauseType::DEPOSIT, &false); - assert!(!client.guard_is_paused(&emergency_guard::PauseType::DEPOSIT)); + client.guard_pause(&admin, &pause_op::DEPOSIT, &false); + assert!(!client.guard_is_paused(&pause_op::DEPOSIT)); // Operations should work again token_a_admin.mint(&user, &500); @@ -813,7 +813,7 @@ fn test_deposit_when_paused() { token_b_admin.mint(&user, &1000); // Pause deposits only. - client.guard_pause(&admin, &emergency_guard::PauseType::DEPOSIT, &true); + client.guard_pause(&admin, &pause_op::DEPOSIT, &true); // Try to deposit - should panic with Paused error client.deposit(&user, &1000, &1000); @@ -851,7 +851,7 @@ fn test_swap_when_paused() { client.deposit(&user, &1000, &1000); // Pause swaps only. - client.guard_pause(&admin, &emergency_guard::PauseType::SWAP, &true); + client.guard_pause(&admin, &pause_op::SWAP, &true); // Try to swap - should panic with Paused error client.swap(&user, &false, &100, &200); @@ -889,7 +889,7 @@ fn test_withdraw_when_paused() { let shares = client.deposit(&user, &1000, &1000); // Pause withdrawals only. - client.guard_pause(&admin, &emergency_guard::PauseType::WITHDRAW, &true); + client.guard_pause(&admin, &pause_op::WITHDRAW, &true); // Try to withdraw - should panic with Paused error client.withdraw(&user, &shares); @@ -1182,13 +1182,13 @@ fn test_rotate_admin_replaces_guard_and_pool_admin() { assert_eq!(client.get_admin(), new_admin); assert_eq!( - client.try_set_operation_paused(&admin, &emergency_guard::PauseType::SWAP, &true), + client.try_set_operation_paused(&admin, &pause_op::SWAP, &true), Err(Ok(Error::Unauthorized)) ); - client.set_operation_paused(&new_admin, &emergency_guard::PauseType::SWAP, &true); + client.set_operation_paused(&new_admin, &pause_op::SWAP, &true); assert_eq!( - client.try_set_operation_paused(&new_admin, &emergency_guard::PauseType::SWAP, &false), + client.try_set_operation_paused(&new_admin, &pause_op::SWAP, &false), Ok(Ok(())) ); } From 145583a37ae5b2e764f03c01a69e6dc6433a6581 Mon Sep 17 00:00:00 2001 From: auracule007 Date: Sat, 30 May 2026 12:36:48 +0100 Subject: [PATCH 2/5] Fix Rust workflow issues --- Cargo.lock | 51 +- contracts/cross_chain_verifier/src/lib.rs | 16 +- contracts/cross_chain_verifier/src/test.rs | 14 +- contracts/emergency_guard/src/lib.rs | 7 +- .../fuzz_test/test_swap_invariant.1.json | 151 ++--- .../fuzz_test/test_swap_invariant.10.json | 55 +- .../fuzz_test/test_swap_invariant.100.json | 55 +- .../fuzz_test/test_swap_invariant.101.json | 55 +- .../fuzz_test/test_swap_invariant.102.json | 151 ++++- .../fuzz_test/test_swap_invariant.103.json | 151 ++++- .../fuzz_test/test_swap_invariant.104.json | 55 +- .../fuzz_test/test_swap_invariant.105.json | 55 +- .../fuzz_test/test_swap_invariant.106.json | 151 ++++- .../fuzz_test/test_swap_invariant.107.json | 55 +- .../fuzz_test/test_swap_invariant.108.json | 151 ++--- .../fuzz_test/test_swap_invariant.109.json | 55 +- .../fuzz_test/test_swap_invariant.11.json | 55 +- .../fuzz_test/test_swap_invariant.110.json | 151 ++--- .../fuzz_test/test_swap_invariant.111.json | 151 ++++- .../fuzz_test/test_swap_invariant.112.json | 151 ++--- .../fuzz_test/test_swap_invariant.113.json | 151 ++++- .../fuzz_test/test_swap_invariant.114.json | 55 +- .../fuzz_test/test_swap_invariant.115.json | 55 +- .../fuzz_test/test_swap_invariant.116.json | 55 +- .../fuzz_test/test_swap_invariant.117.json | 55 +- .../fuzz_test/test_swap_invariant.118.json | 151 ++--- .../fuzz_test/test_swap_invariant.119.json | 151 ++--- .../fuzz_test/test_swap_invariant.12.json | 67 ++- .../fuzz_test/test_swap_invariant.120.json | 151 ++++- .../fuzz_test/test_swap_invariant.121.json | 151 ++++- .../fuzz_test/test_swap_invariant.122.json | 63 ++- .../fuzz_test/test_swap_invariant.123.json | 55 +- .../fuzz_test/test_swap_invariant.124.json | 55 +- .../fuzz_test/test_swap_invariant.125.json | 55 +- .../fuzz_test/test_swap_invariant.126.json | 55 +- .../fuzz_test/test_swap_invariant.127.json | 55 +- .../fuzz_test/test_swap_invariant.128.json | 55 +- .../fuzz_test/test_swap_invariant.129.json | 55 +- .../fuzz_test/test_swap_invariant.13.json | 55 +- .../fuzz_test/test_swap_invariant.130.json | 67 ++- .../fuzz_test/test_swap_invariant.131.json | 151 ++++- .../fuzz_test/test_swap_invariant.132.json | 55 +- .../fuzz_test/test_swap_invariant.133.json | 55 +- .../fuzz_test/test_swap_invariant.134.json | 55 +- .../fuzz_test/test_swap_invariant.135.json | 151 ++--- .../fuzz_test/test_swap_invariant.136.json | 151 ++++- .../fuzz_test/test_swap_invariant.137.json | 151 ++--- .../fuzz_test/test_swap_invariant.138.json | 55 +- .../fuzz_test/test_swap_invariant.139.json | 55 +- .../fuzz_test/test_swap_invariant.14.json | 151 ++--- .../fuzz_test/test_swap_invariant.140.json | 151 ++--- .../fuzz_test/test_swap_invariant.141.json | 67 ++- .../fuzz_test/test_swap_invariant.142.json | 151 ++++- .../fuzz_test/test_swap_invariant.143.json | 55 +- .../fuzz_test/test_swap_invariant.144.json | 55 +- .../fuzz_test/test_swap_invariant.145.json | 151 ++--- .../fuzz_test/test_swap_invariant.146.json | 55 +- .../fuzz_test/test_swap_invariant.147.json | 55 +- .../fuzz_test/test_swap_invariant.148.json | 151 ++--- .../fuzz_test/test_swap_invariant.149.json | 151 ++++- .../fuzz_test/test_swap_invariant.15.json | 55 +- .../fuzz_test/test_swap_invariant.150.json | 55 +- .../fuzz_test/test_swap_invariant.151.json | 151 ++++- .../fuzz_test/test_swap_invariant.152.json | 151 ++--- .../fuzz_test/test_swap_invariant.153.json | 151 ++--- .../fuzz_test/test_swap_invariant.154.json | 55 +- .../fuzz_test/test_swap_invariant.155.json | 55 +- .../fuzz_test/test_swap_invariant.156.json | 55 +- .../fuzz_test/test_swap_invariant.157.json | 151 ++++- .../fuzz_test/test_swap_invariant.158.json | 67 ++- .../fuzz_test/test_swap_invariant.159.json | 151 ++--- .../fuzz_test/test_swap_invariant.16.json | 151 ++++- .../fuzz_test/test_swap_invariant.160.json | 55 +- .../fuzz_test/test_swap_invariant.161.json | 55 +- .../fuzz_test/test_swap_invariant.162.json | 151 ++++- .../fuzz_test/test_swap_invariant.163.json | 55 +- .../fuzz_test/test_swap_invariant.164.json | 55 +- .../fuzz_test/test_swap_invariant.165.json | 151 ++--- .../fuzz_test/test_swap_invariant.166.json | 55 +- .../fuzz_test/test_swap_invariant.167.json | 151 ++--- .../fuzz_test/test_swap_invariant.168.json | 55 +- .../fuzz_test/test_swap_invariant.169.json | 63 ++- .../fuzz_test/test_swap_invariant.17.json | 151 ++--- .../fuzz_test/test_swap_invariant.170.json | 151 ++++- .../fuzz_test/test_swap_invariant.171.json | 55 +- .../fuzz_test/test_swap_invariant.172.json | 151 ++++- .../fuzz_test/test_swap_invariant.173.json | 151 ++--- .../fuzz_test/test_swap_invariant.174.json | 151 ++--- .../fuzz_test/test_swap_invariant.175.json | 55 +- .../fuzz_test/test_swap_invariant.176.json | 151 ++--- .../fuzz_test/test_swap_invariant.177.json | 55 +- .../fuzz_test/test_swap_invariant.178.json | 151 ++--- .../fuzz_test/test_swap_invariant.179.json | 55 +- .../fuzz_test/test_swap_invariant.18.json | 55 +- .../fuzz_test/test_swap_invariant.180.json | 151 ++--- .../fuzz_test/test_swap_invariant.181.json | 55 +- .../fuzz_test/test_swap_invariant.182.json | 55 +- .../fuzz_test/test_swap_invariant.183.json | 67 ++- .../fuzz_test/test_swap_invariant.184.json | 151 ++++- .../fuzz_test/test_swap_invariant.185.json | 55 +- .../fuzz_test/test_swap_invariant.186.json | 55 +- .../fuzz_test/test_swap_invariant.187.json | 55 +- .../fuzz_test/test_swap_invariant.188.json | 151 ++--- .../fuzz_test/test_swap_invariant.189.json | 55 +- .../fuzz_test/test_swap_invariant.19.json | 55 +- .../fuzz_test/test_swap_invariant.190.json | 151 ++++- .../fuzz_test/test_swap_invariant.191.json | 151 ++++- .../fuzz_test/test_swap_invariant.192.json | 55 +- .../fuzz_test/test_swap_invariant.193.json | 151 ++--- .../fuzz_test/test_swap_invariant.194.json | 151 ++++- .../fuzz_test/test_swap_invariant.195.json | 151 ++++- .../fuzz_test/test_swap_invariant.196.json | 55 +- .../fuzz_test/test_swap_invariant.197.json | 67 ++- .../fuzz_test/test_swap_invariant.198.json | 55 +- .../fuzz_test/test_swap_invariant.199.json | 55 +- .../fuzz_test/test_swap_invariant.2.json | 55 +- .../fuzz_test/test_swap_invariant.20.json | 55 +- .../fuzz_test/test_swap_invariant.200.json | 151 ++++- .../fuzz_test/test_swap_invariant.201.json | 151 ++++- .../fuzz_test/test_swap_invariant.202.json | 55 +- .../fuzz_test/test_swap_invariant.203.json | 55 +- .../fuzz_test/test_swap_invariant.204.json | 151 ++--- .../fuzz_test/test_swap_invariant.205.json | 55 +- .../fuzz_test/test_swap_invariant.206.json | 67 ++- .../fuzz_test/test_swap_invariant.207.json | 55 +- .../fuzz_test/test_swap_invariant.208.json | 151 ++--- .../fuzz_test/test_swap_invariant.209.json | 151 ++++- .../fuzz_test/test_swap_invariant.21.json | 151 ++--- .../fuzz_test/test_swap_invariant.210.json | 55 +- .../fuzz_test/test_swap_invariant.211.json | 55 +- .../fuzz_test/test_swap_invariant.212.json | 55 +- .../fuzz_test/test_swap_invariant.213.json | 55 +- .../fuzz_test/test_swap_invariant.214.json | 151 ++++- .../fuzz_test/test_swap_invariant.215.json | 55 +- .../fuzz_test/test_swap_invariant.216.json | 151 ++++- .../fuzz_test/test_swap_invariant.217.json | 55 +- .../fuzz_test/test_swap_invariant.218.json | 55 +- .../fuzz_test/test_swap_invariant.219.json | 151 ++--- .../fuzz_test/test_swap_invariant.22.json | 63 ++- .../fuzz_test/test_swap_invariant.220.json | 55 +- .../fuzz_test/test_swap_invariant.221.json | 55 +- .../fuzz_test/test_swap_invariant.222.json | 63 ++- .../fuzz_test/test_swap_invariant.223.json | 55 +- .../fuzz_test/test_swap_invariant.224.json | 55 +- .../fuzz_test/test_swap_invariant.225.json | 55 +- .../fuzz_test/test_swap_invariant.226.json | 55 +- .../fuzz_test/test_swap_invariant.227.json | 55 +- .../fuzz_test/test_swap_invariant.228.json | 55 +- .../fuzz_test/test_swap_invariant.229.json | 151 ++--- .../fuzz_test/test_swap_invariant.23.json | 151 ++++- .../fuzz_test/test_swap_invariant.230.json | 55 +- .../fuzz_test/test_swap_invariant.231.json | 151 ++++- .../fuzz_test/test_swap_invariant.232.json | 151 ++--- .../fuzz_test/test_swap_invariant.233.json | 55 +- .../fuzz_test/test_swap_invariant.234.json | 55 +- .../fuzz_test/test_swap_invariant.235.json | 55 +- .../fuzz_test/test_swap_invariant.236.json | 55 +- .../fuzz_test/test_swap_invariant.237.json | 55 +- .../fuzz_test/test_swap_invariant.238.json | 151 ++--- .../fuzz_test/test_swap_invariant.239.json | 55 +- .../fuzz_test/test_swap_invariant.24.json | 55 +- .../fuzz_test/test_swap_invariant.240.json | 55 +- .../fuzz_test/test_swap_invariant.241.json | 55 +- .../fuzz_test/test_swap_invariant.242.json | 55 +- .../fuzz_test/test_swap_invariant.243.json | 55 +- .../fuzz_test/test_swap_invariant.244.json | 63 ++- .../fuzz_test/test_swap_invariant.245.json | 151 ++--- .../fuzz_test/test_swap_invariant.246.json | 151 ++--- .../fuzz_test/test_swap_invariant.247.json | 151 ++--- .../fuzz_test/test_swap_invariant.248.json | 55 +- .../fuzz_test/test_swap_invariant.249.json | 151 ++--- .../fuzz_test/test_swap_invariant.25.json | 55 +- .../fuzz_test/test_swap_invariant.250.json | 55 +- .../fuzz_test/test_swap_invariant.251.json | 55 +- .../fuzz_test/test_swap_invariant.252.json | 55 +- .../fuzz_test/test_swap_invariant.253.json | 151 ++++- .../fuzz_test/test_swap_invariant.254.json | 55 +- .../fuzz_test/test_swap_invariant.255.json | 151 ++++- .../fuzz_test/test_swap_invariant.256.json | 55 +- .../fuzz_test/test_swap_invariant.26.json | 151 ++++- .../fuzz_test/test_swap_invariant.27.json | 55 +- .../fuzz_test/test_swap_invariant.28.json | 55 +- .../fuzz_test/test_swap_invariant.29.json | 55 +- .../fuzz_test/test_swap_invariant.3.json | 55 +- .../fuzz_test/test_swap_invariant.30.json | 55 +- .../fuzz_test/test_swap_invariant.31.json | 55 +- .../fuzz_test/test_swap_invariant.32.json | 55 +- .../fuzz_test/test_swap_invariant.33.json | 55 +- .../fuzz_test/test_swap_invariant.34.json | 55 +- .../fuzz_test/test_swap_invariant.35.json | 151 ++--- .../fuzz_test/test_swap_invariant.36.json | 55 +- .../fuzz_test/test_swap_invariant.37.json | 151 ++--- .../fuzz_test/test_swap_invariant.38.json | 55 +- .../fuzz_test/test_swap_invariant.39.json | 55 +- .../fuzz_test/test_swap_invariant.4.json | 151 ++--- .../fuzz_test/test_swap_invariant.40.json | 151 ++--- .../fuzz_test/test_swap_invariant.41.json | 55 +- .../fuzz_test/test_swap_invariant.42.json | 55 +- .../fuzz_test/test_swap_invariant.43.json | 151 ++--- .../fuzz_test/test_swap_invariant.44.json | 151 ++--- .../fuzz_test/test_swap_invariant.45.json | 55 +- .../fuzz_test/test_swap_invariant.46.json | 55 +- .../fuzz_test/test_swap_invariant.47.json | 55 +- .../fuzz_test/test_swap_invariant.48.json | 55 +- .../fuzz_test/test_swap_invariant.49.json | 55 +- .../fuzz_test/test_swap_invariant.5.json | 55 +- .../fuzz_test/test_swap_invariant.50.json | 55 +- .../fuzz_test/test_swap_invariant.51.json | 55 +- .../fuzz_test/test_swap_invariant.52.json | 151 ++++- .../fuzz_test/test_swap_invariant.53.json | 151 ++++- .../fuzz_test/test_swap_invariant.54.json | 55 +- .../fuzz_test/test_swap_invariant.55.json | 67 ++- .../fuzz_test/test_swap_invariant.56.json | 63 ++- .../fuzz_test/test_swap_invariant.57.json | 151 ++++- .../fuzz_test/test_swap_invariant.58.json | 55 +- .../fuzz_test/test_swap_invariant.59.json | 55 +- .../fuzz_test/test_swap_invariant.6.json | 55 +- .../fuzz_test/test_swap_invariant.60.json | 55 +- .../fuzz_test/test_swap_invariant.61.json | 55 +- .../fuzz_test/test_swap_invariant.62.json | 55 +- .../fuzz_test/test_swap_invariant.63.json | 55 +- .../fuzz_test/test_swap_invariant.64.json | 55 +- .../fuzz_test/test_swap_invariant.65.json | 55 +- .../fuzz_test/test_swap_invariant.66.json | 55 +- .../fuzz_test/test_swap_invariant.67.json | 151 ++--- .../fuzz_test/test_swap_invariant.68.json | 55 +- .../fuzz_test/test_swap_invariant.69.json | 151 ++--- .../fuzz_test/test_swap_invariant.7.json | 55 +- .../fuzz_test/test_swap_invariant.70.json | 55 +- .../fuzz_test/test_swap_invariant.71.json | 151 ++++- .../fuzz_test/test_swap_invariant.72.json | 55 +- .../fuzz_test/test_swap_invariant.73.json | 55 +- .../fuzz_test/test_swap_invariant.74.json | 67 ++- .../fuzz_test/test_swap_invariant.75.json | 151 ++--- .../fuzz_test/test_swap_invariant.76.json | 55 +- .../fuzz_test/test_swap_invariant.77.json | 55 +- .../fuzz_test/test_swap_invariant.78.json | 151 ++++- .../fuzz_test/test_swap_invariant.79.json | 55 +- .../fuzz_test/test_swap_invariant.8.json | 151 ++--- .../fuzz_test/test_swap_invariant.80.json | 55 +- .../fuzz_test/test_swap_invariant.81.json | 55 +- .../fuzz_test/test_swap_invariant.82.json | 55 +- .../fuzz_test/test_swap_invariant.83.json | 55 +- .../fuzz_test/test_swap_invariant.84.json | 55 +- .../fuzz_test/test_swap_invariant.85.json | 55 +- .../fuzz_test/test_swap_invariant.86.json | 63 ++- .../fuzz_test/test_swap_invariant.87.json | 55 +- .../fuzz_test/test_swap_invariant.88.json | 55 +- .../fuzz_test/test_swap_invariant.89.json | 55 +- .../fuzz_test/test_swap_invariant.9.json | 151 ++--- .../fuzz_test/test_swap_invariant.90.json | 55 +- .../fuzz_test/test_swap_invariant.91.json | 55 +- .../fuzz_test/test_swap_invariant.92.json | 55 +- .../fuzz_test/test_swap_invariant.93.json | 151 ++--- .../fuzz_test/test_swap_invariant.94.json | 151 ++++- .../fuzz_test/test_swap_invariant.95.json | 151 ++--- .../fuzz_test/test_swap_invariant.96.json | 55 +- .../fuzz_test/test_swap_invariant.97.json | 55 +- .../fuzz_test/test_swap_invariant.98.json | 55 +- .../fuzz_test/test_swap_invariant.99.json | 55 +- .../test_snapshots/test/test_approve.1.json | 31 +- .../test/test_approve_expired.1.json | 31 +- .../test/test_basic_flow.1.json | 31 +- .../test_snapshots/test/test_burn.1.json | 31 +- .../test/test_burn_insufficient_shares.1.json | 31 +- .../test/test_deposit_when_paused.1.json | 29 +- .../test/test_deposit_zero_amount.1.json | 31 +- .../test/test_double_initialization.1.json | 31 +- .../test_snapshots/test/test_events.1.json | 31 +- .../test/test_get_fee_default.1.json | 31 +- .../test/test_pause_and_unpause.1.json | 38 +- .../test/test_set_fee_above_max.1.json | 31 +- .../test/test_set_fee_valid.1.json | 31 +- .../test_swap_insufficient_liquidity.1.json | 31 +- .../test/test_swap_slippage_exceeded.1.json | 31 +- .../test/test_swap_when_paused.1.json | 29 +- .../test/test_token_interface.1.json | 31 +- .../test_snapshots/test/test_transfer.1.json | 31 +- .../test/test_transfer_from.1.json | 31 +- ...ransfer_from_insufficient_allowance.1.json | 31 +- ..._transfer_from_insufficient_balance.1.json | 31 +- .../test_transfer_insufficient_balance.1.json | 31 +- .../test_withdraw_insufficient_shares.1.json | 31 +- .../test/test_withdraw_when_paused.1.json | 29 +- contracts/math/src/lib.rs | 7 +- contracts/staking_rewards/src/lib.rs | 8 +- contracts/token/src/lib.rs | 2 +- contracts/token/src/test_granular_pause.rs | 14 +- core/Cargo.toml | 3 + core/src/auth.rs | 35 +- core/src/cache.rs | 156 ------ core/src/cache/disk.rs | 13 +- core/src/cache/mod.rs | 164 +++++- core/src/comparison.rs | 15 +- core/src/errors.rs | 8 +- core/src/fuzz_simulation.rs | 39 +- core/src/gas_golfing.rs | 49 +- core/src/jobs.rs | 102 ++-- core/src/lib.rs | 4 +- core/src/main.rs | 148 +++-- core/src/rpc_provider.rs | 247 ++++++++- core/src/runner/local.rs | 5 +- core/src/simulation.rs | 524 +++++++++++------- core/src/wasm_branch_analysis.rs | 26 +- core/src/ws.rs | 20 +- 305 files changed, 13296 insertions(+), 11722 deletions(-) delete mode 100644 core/src/cache.rs diff --git a/Cargo.lock b/Cargo.lock index fbbe8fe..57f67bd 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -672,6 +672,13 @@ dependencies = [ "soroban-sdk", ] +[[package]] +name = "cross-chain-verifier" +version = "0.1.0" +dependencies = [ + "soroban-sdk", +] + [[package]] name = "crossbeam-channel" version = "0.5.15" @@ -1442,6 +1449,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" dependencies = [ "foldhash", + "serde", ] [[package]] @@ -3698,6 +3706,7 @@ dependencies = [ "tempfile", "thiserror 1.0.69", "tokio", + "tokio-util", "tower 0.4.13", "tower-http 0.5.2", "tracing", @@ -3705,6 +3714,8 @@ dependencies = [ "utoipa", "utoipa-swagger-ui", "uuid", + "wasm-encoder 0.240.0", + "wasmparser 0.240.0", ] [[package]] @@ -4260,6 +4271,19 @@ dependencies = [ "tungstenite", ] +[[package]] +name = "tokio-util" +version = "0.7.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ae9cec805b01e8fc3fd2fe289f89149a9b66dd16786abd8b19cfa7b48cb0098" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "pin-project-lite", + "tokio", +] + [[package]] name = "toml" version = "0.8.23" @@ -4788,6 +4812,16 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "wasm-encoder" +version = "0.240.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06d642d8c5ecc083aafe9ceb32809276a304547a3a6eeecceb5d8152598bc71f" +dependencies = [ + "leb128fmt", + "wasmparser 0.240.0", +] + [[package]] name = "wasm-encoder" version = "0.244.0" @@ -4806,7 +4840,7 @@ checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" dependencies = [ "anyhow", "indexmap 2.14.0", - "wasm-encoder", + "wasm-encoder 0.244.0", "wasmparser 0.244.0", ] @@ -4838,6 +4872,19 @@ dependencies = [ "semver", ] +[[package]] +name = "wasmparser" +version = "0.240.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b722dcf61e0ea47440b53ff83ccb5df8efec57a69d150e4f24882e4eba7e24a4" +dependencies = [ + "bitflags 2.11.1", + "hashbrown 0.15.5", + "indexmap 2.14.0", + "semver", + "serde", +] + [[package]] name = "wasmparser" version = "0.244.0" @@ -5298,7 +5345,7 @@ dependencies = [ "serde", "serde_derive", "serde_json", - "wasm-encoder", + "wasm-encoder 0.244.0", "wasm-metadata", "wasmparser 0.244.0", "wit-parser", diff --git a/contracts/cross_chain_verifier/src/lib.rs b/contracts/cross_chain_verifier/src/lib.rs index 3e42644..6cfc219 100644 --- a/contracts/cross_chain_verifier/src/lib.rs +++ b/contracts/cross_chain_verifier/src/lib.rs @@ -1,6 +1,6 @@ #![no_std] -use soroban_sdk::{contract, contractimpl, contracttype, Address, BytesN, Env, Vec, Bytes}; +use soroban_sdk::{contract, contractimpl, contracttype, Address, Bytes, BytesN, Env, Vec}; #[contracttype] #[derive(Clone, Debug, Eq, PartialEq)] @@ -27,19 +27,23 @@ impl CrossChainVerifier { pub fn update_root(env: Env, block_height: u32, new_root: BytesN<32>) { let admin: Address = env.storage().instance().get(&DataKey::Admin).unwrap(); admin.require_auth(); - - env.storage().persistent().set(&DataKey::StateRoot(block_height), &new_root); + + env.storage() + .persistent() + .set(&DataKey::StateRoot(block_height), &new_root); } /// Retrieve a stored state root by block height. pub fn get_root(env: Env, block_height: u32) -> Option> { - env.storage().persistent().get(&DataKey::StateRoot(block_height)) + env.storage() + .persistent() + .get(&DataKey::StateRoot(block_height)) } /// Verifies a Binary Merkle Tree proof. /// In a cross-chain context, this allows proving that a specific message or transaction /// (the `leaf`) was included in the block matching `block_height` state root. - /// + /// /// * `block_height`: The block height of the state root to verify against. /// * `leaf`: The hash of the cross-chain message to be verified. /// * `proof`: A list of sibling hashes forming the Merkle proof. @@ -75,7 +79,7 @@ impl CrossChainVerifier { combined[0..32].copy_from_slice(¤t_hash); combined[32..64].copy_from_slice(&sibling); } - + // Compute sha256 of the combined 64 bytes let combined_bytes = Bytes::from_slice(&env, &combined); current_hash = env.crypto().sha256(&combined_bytes).to_array(); diff --git a/contracts/cross_chain_verifier/src/test.rs b/contracts/cross_chain_verifier/src/test.rs index 0159b2b..ec77306 100644 --- a/contracts/cross_chain_verifier/src/test.rs +++ b/contracts/cross_chain_verifier/src/test.rs @@ -1,7 +1,7 @@ #![cfg(test)] use crate::{CrossChainVerifier, CrossChainVerifierClient}; -use soroban_sdk::{testutils::Address as _, Address, BytesN, Env, Vec, Bytes}; +use soroban_sdk::{testutils::Address as _, Address, Bytes, BytesN, Env, Vec}; #[test] fn test_initialization() { @@ -65,13 +65,19 @@ fn test_verify_message_success() { let mut combined_1 = [0u8; 64]; combined_1[0..32].copy_from_slice(&sibling1.to_array()); combined_1[32..64].copy_from_slice(&leaf.to_array()); - let hash_1 = env.crypto().sha256(&Bytes::from_slice(&env, &combined_1)).to_array(); + let hash_1 = env + .crypto() + .sha256(&Bytes::from_slice(&env, &combined_1)) + .to_array(); // Level 2: Hash(hash_1 || sibling2) since proof_flags = false (right sibling) let mut combined_2 = [0u8; 64]; combined_2[0..32].copy_from_slice(&hash_1); combined_2[32..64].copy_from_slice(&sibling2.to_array()); - let final_root = env.crypto().sha256(&Bytes::from_slice(&env, &combined_2)).to_array(); + let final_root = env + .crypto() + .sha256(&Bytes::from_slice(&env, &combined_2)) + .to_array(); let expected_root_bytes = BytesN::from_array(&env, &final_root); @@ -83,7 +89,7 @@ fn test_verify_message_success() { proof.push_back(sibling2); let mut proof_flags = Vec::new(&env); - proof_flags.push_back(true); // left + proof_flags.push_back(true); // left proof_flags.push_back(false); // right let result = client.verify_message(&block_height, &leaf, &proof, &proof_flags); diff --git a/contracts/emergency_guard/src/lib.rs b/contracts/emergency_guard/src/lib.rs index 3b3749d..b0cc0ca 100644 --- a/contracts/emergency_guard/src/lib.rs +++ b/contracts/emergency_guard/src/lib.rs @@ -74,9 +74,6 @@ pub enum GuardError { AlreadyInitialized = 6, } -/// Result type for guard operations -// Result type for guard operations replaced inline - /// EmergencyGuard trait for standardized pause and admin management pub trait EmergencyGuardTrait { /// Check if an operation is paused. Returns Err if paused. @@ -125,7 +122,7 @@ impl EmergencyGuard { } // Verify threshold is valid - if threshold == 0 || threshold > admins.len() as u32 { + if threshold == 0 || threshold > admins.len() { return Err(GuardError::InvalidThreshold); } @@ -264,7 +261,7 @@ impl EmergencyGuard { let admins = Self::get_admins(env.clone()); let threshold = Self::get_threshold(env.clone()); - if admins.len() as u32 <= threshold { + if admins.len() <= threshold { return Err(GuardError::InvalidThreshold); } diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.1.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.1.json index 15c59cb..aeaf324 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.1.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.1.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 276103996238642964 + "lo": 227201763049792127 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 31464962089469553 + "lo": 701231736286785486 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 276103996238642964 + "lo": 227201763049792127 } }, { "i128": { "hi": 0, - "lo": 31464962089469553 + "lo": 701231736286785486 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 276103996238642964 + "lo": 227201763049792127 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 31464962089469553 + "lo": 701231736286785486 } } ] @@ -222,65 +222,6 @@ } ] ], - [ - [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - { - "function": { - "contract_fn": { - "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "swap", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "bool": false - }, - { - "i128": { - "hi": 0, - "lo": 24993927798524592 - } - }, - { - "i128": { - "hi": 2, - "lo": 13106511852580896768 - } - } - ] - } - }, - "sub_invocations": [ - { - "function": { - "contract_fn": { - "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", - "function_name": "transfer", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "i128": { - "hi": 0, - "lo": 1069641745183567133 - } - } - ] - } - }, - "sub_invocations": [] - } - ] - } - ] - ], - [], [] ], "ledger": { @@ -585,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 93207305370340714 + "lo": 399150456332977973 } } } @@ -646,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 1345745741422210097 + "lo": 227201763049792127 } } }, @@ -709,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 6471034290944961 + "lo": 701231736286785486 } } }, @@ -736,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 93207305370340714 + "lo": 399150456332977973 } } } @@ -786,39 +734,6 @@ 6311999 ] ], - [ - { - "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary", - "val": "void" - } - }, - "ext": "v0" - }, - 6311999 - ] - ], [ { "contract_data": { @@ -863,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 1345745741422210097 + "lo": 227201763049792127 } } }, @@ -1009,7 +924,7 @@ "val": { "i128": { "hi": 2, - "lo": 12036870107397329635 + "lo": 13106511852580896768 } } }, @@ -1194,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 6471034290944961 + "lo": 701231736286785486 } } }, @@ -1340,7 +1255,7 @@ "val": { "i128": { "hi": 2, - "lo": 13131505780379421360 + "lo": 13106511852580896768 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.10.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.10.json index 4530dd5..c51702c 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.10.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.10.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 560254398983047041 + "lo": 490880394077269050 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 124019359975353107 + "lo": 44024532909750699 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 560254398983047041 + "lo": 490880394077269050 } }, { "i128": { "hi": 0, - "lo": 124019359975353107 + "lo": 44024532909750699 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 560254398983047041 + "lo": 490880394077269050 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 124019359975353107 + "lo": 44024532909750699 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 263595128910330235 + "lo": 147006054514112184 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 560254398983047041 + "lo": 490880394077269050 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 124019359975353107 + "lo": 44024532909750699 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 263595128910330235 + "lo": 147006054514112184 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 560254398983047041 + "lo": 490880394077269050 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 124019359975353107 + "lo": 44024532909750699 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.100.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.100.json index fbc7894..ee8c682 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.100.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.100.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 186131490776213552 + "lo": 209532800553219464 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 272822591707544410 + "lo": 799808193460936046 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 186131490776213552 + "lo": 209532800553219464 } }, { "i128": { "hi": 0, - "lo": 272822591707544410 + "lo": 799808193460936046 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 186131490776213552 + "lo": 209532800553219464 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 272822591707544410 + "lo": 799808193460936046 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 225346124244362095 + "lo": 409372752734327789 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 186131490776213552 + "lo": 209532800553219464 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 272822591707544410 + "lo": 799808193460936046 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 225346124244362095 + "lo": 409372752734327789 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 186131490776213552 + "lo": 209532800553219464 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 272822591707544410 + "lo": 799808193460936046 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.101.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.101.json index 1a69901..2ae811d 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.101.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.101.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 688924357083704783 + "lo": 556740970112378412 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 96554321813713904 + "lo": 513737948790088378 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 688924357083704783 + "lo": 556740970112378412 } }, { "i128": { "hi": 0, - "lo": 96554321813713904 + "lo": 513737948790088378 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 688924357083704783 + "lo": 556740970112378412 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 96554321813713904 + "lo": 513737948790088378 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 257912047177261542 + "lo": 534807408319048236 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 688924357083704783 + "lo": 556740970112378412 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 96554321813713904 + "lo": 513737948790088378 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 257912047177261542 + "lo": 534807408319048236 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 688924357083704783 + "lo": 556740970112378412 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 96554321813713904 + "lo": 513737948790088378 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.102.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.102.json index 3294ad3..9d58da8 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.102.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.102.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 620145810671028914 + "lo": 147392807783660326 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 366578044133788176 + "lo": 47962324466215078 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 620145810671028914 + "lo": 147392807783660326 } }, { "i128": { "hi": 0, - "lo": 366578044133788176 + "lo": 47962324466215078 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 620145810671028914 + "lo": 147392807783660326 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 366578044133788176 + "lo": 47962324466215078 } } ] @@ -222,6 +222,65 @@ } ] ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "swap", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "bool": true + }, + { + "i128": { + "hi": 0, + "lo": 146103453277170470 + } + }, + { + "i128": { + "hi": 2, + "lo": 13106511852580896768 + } + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 5451213639812438409 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [], [] ], "ledger": { @@ -526,7 +585,7 @@ "val": { "i128": { "hi": 0, - "lo": 476793286816780048 + "lo": 84079139332573973 } } } @@ -587,18 +646,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +668,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +705,7 @@ "val": { "i128": { "hi": 0, - "lo": 620145810671028914 + "lo": 1289354506489856 } } }, @@ -650,7 +716,7 @@ "val": { "i128": { "hi": 0, - "lo": 366578044133788176 + "lo": 5499175964278653487 } } }, @@ -677,7 +743,7 @@ "val": { "i128": { "hi": 0, - "lo": 476793286816780048 + "lo": 84079139332573973 } } } @@ -727,6 +793,39 @@ 6311999 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], [ { "contract_data": { @@ -771,7 +870,7 @@ "val": { "i128": { "hi": 0, - "lo": 620145810671028914 + "lo": 1289354506489856 } } }, @@ -917,7 +1016,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13252615305858067238 } } }, @@ -1102,7 +1201,7 @@ "val": { "i128": { "hi": 0, - "lo": 366578044133788176 + "lo": 5499175964278653487 } } }, @@ -1248,7 +1347,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 7655298212768458359 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.103.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.103.json index 22996da..ea26bc7 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.103.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.103.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 969914357808475257 + "lo": 389210748898414667 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 701162981153225671 + "lo": 34342140635931593 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 969914357808475257 + "lo": 389210748898414667 } }, { "i128": { "hi": 0, - "lo": 701162981153225671 + "lo": 34342140635931593 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 969914357808475257 + "lo": 389210748898414667 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 701162981153225671 + "lo": 34342140635931593 } } ] @@ -222,6 +222,65 @@ } ] ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "swap", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "bool": true + }, + { + "i128": { + "hi": 0, + "lo": 4510703695344704 + } + }, + { + "i128": { + "hi": 2, + "lo": 13106511852580896768 + } + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 403881784346066 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [], [] ], "ledger": { @@ -526,7 +585,7 @@ "val": { "i128": { "hi": 0, - "lo": 824662380968300818 + "lo": 115612846499364480 } } } @@ -587,18 +646,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +668,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +705,7 @@ "val": { "i128": { "hi": 0, - "lo": 969914357808475257 + "lo": 384700045203069963 } } }, @@ -650,7 +716,7 @@ "val": { "i128": { "hi": 0, - "lo": 701162981153225671 + "lo": 34746022420277659 } } }, @@ -677,7 +743,7 @@ "val": { "i128": { "hi": 0, - "lo": 824662380968300818 + "lo": 115612846499364480 } } } @@ -727,6 +793,39 @@ 6311999 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], [ { "contract_data": { @@ -771,7 +870,7 @@ "val": { "i128": { "hi": 0, - "lo": 969914357808475257 + "lo": 384700045203069963 } } }, @@ -917,7 +1016,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13111022556276241472 } } }, @@ -1102,7 +1201,7 @@ "val": { "i128": { "hi": 0, - "lo": 701162981153225671 + "lo": 34746022420277659 } } }, @@ -1248,7 +1347,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13106107970796550702 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.104.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.104.json index 6025a58..bc5902f 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.104.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.104.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 227199969819840639 + "lo": 482251789509398226 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 902538145947396852 + "lo": 781246883723014054 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 227199969819840639 + "lo": 482251789509398226 } }, { "i128": { "hi": 0, - "lo": 902538145947396852 + "lo": 781246883723014054 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 227199969819840639 + "lo": 482251789509398226 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 902538145947396852 + "lo": 781246883723014054 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 452831800473976750 + "lo": 613805920241947719 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 227199969819840639 + "lo": 482251789509398226 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 902538145947396852 + "lo": 781246883723014054 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 452831800473976750 + "lo": 613805920241947719 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 227199969819840639 + "lo": 482251789509398226 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 902538145947396852 + "lo": 781246883723014054 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.105.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.105.json index 6c58853..6221273 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.105.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.105.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 886114887013121631 + "lo": 567667052422565932 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 186703695224945884 + "lo": 393758262939835915 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 886114887013121631 + "lo": 567667052422565932 } }, { "i128": { "hi": 0, - "lo": 186703695224945884 + "lo": 393758262939835915 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 886114887013121631 + "lo": 567667052422565932 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 186703695224945884 + "lo": 393758262939835915 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 406744297807830636 + "lo": 472782817464939534 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 886114887013121631 + "lo": 567667052422565932 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 186703695224945884 + "lo": 393758262939835915 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 406744297807830636 + "lo": 472782817464939534 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 886114887013121631 + "lo": 567667052422565932 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 186703695224945884 + "lo": 393758262939835915 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.106.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.106.json index 0e10acb..5b1dd81 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.106.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.106.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 399789858506866734 + "lo": 701576567691568712 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 541585138393509432 + "lo": 334100289194770330 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 399789858506866734 + "lo": 701576567691568712 } }, { "i128": { "hi": 0, - "lo": 541585138393509432 + "lo": 334100289194770330 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 399789858506866734 + "lo": 701576567691568712 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 541585138393509432 + "lo": 334100289194770330 } } ] @@ -222,6 +222,65 @@ } ] ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "swap", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "bool": true + }, + { + "i128": { + "hi": 0, + "lo": 1869468167018271 + } + }, + { + "i128": { + "hi": 2, + "lo": 13106511852580896768 + } + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 895330722606641 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [], [] ], "ledger": { @@ -526,7 +585,7 @@ "val": { "i128": { "hi": 0, - "lo": 465317360355019393 + "lo": 484145571246941666 } } } @@ -587,18 +646,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +668,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +705,7 @@ "val": { "i128": { "hi": 0, - "lo": 399789858506866734 + "lo": 699707099524550441 } } }, @@ -650,7 +716,7 @@ "val": { "i128": { "hi": 0, - "lo": 541585138393509432 + "lo": 334995619917376971 } } }, @@ -677,7 +743,7 @@ "val": { "i128": { "hi": 0, - "lo": 465317360355019393 + "lo": 484145571246941666 } } } @@ -727,6 +793,39 @@ 6311999 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], [ { "contract_data": { @@ -771,7 +870,7 @@ "val": { "i128": { "hi": 0, - "lo": 399789858506866734 + "lo": 699707099524550441 } } }, @@ -917,7 +1016,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13108381320747915039 } } }, @@ -1102,7 +1201,7 @@ "val": { "i128": { "hi": 0, - "lo": 541585138393509432 + "lo": 334995619917376971 } } }, @@ -1248,7 +1347,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13105616521858290127 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.107.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.107.json index 1be3baf..16ebdb4 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.107.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.107.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 872303425352792912 + "lo": 978622054852692223 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 586868147147188985 + "lo": 121493995474033428 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 872303425352792912 + "lo": 978622054852692223 } }, { "i128": { "hi": 0, - "lo": 586868147147188985 + "lo": 121493995474033428 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 872303425352792912 + "lo": 978622054852692223 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 586868147147188985 + "lo": 121493995474033428 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 715490807059699302 + "lo": 344814012915748947 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 872303425352792912 + "lo": 978622054852692223 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 586868147147188985 + "lo": 121493995474033428 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 715490807059699302 + "lo": 344814012915748947 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 872303425352792912 + "lo": 978622054852692223 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 586868147147188985 + "lo": 121493995474033428 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.108.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.108.json index 6fe683b..403ac3e 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.108.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.108.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 870711180131164528 + "lo": 855029632532525914 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 345485276288628227 + "lo": 321770860732785344 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 870711180131164528 + "lo": 855029632532525914 } }, { "i128": { "hi": 0, - "lo": 345485276288628227 + "lo": 321770860732785344 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 870711180131164528 + "lo": 855029632532525914 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 345485276288628227 + "lo": 321770860732785344 } } ] @@ -222,65 +222,6 @@ } ] ], - [ - [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - { - "function": { - "contract_fn": { - "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "swap", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "bool": false - }, - { - "i128": { - "hi": 0, - "lo": 11400106152102168 - } - }, - { - "i128": { - "hi": 2, - "lo": 13106511852580896768 - } - } - ] - } - }, - "sub_invocations": [ - { - "function": { - "contract_fn": { - "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", - "function_name": "transfer", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "i128": { - "hi": 0, - "lo": 29800987818482152 - } - } - ] - } - }, - "sub_invocations": [] - } - ] - } - ] - ], - [], [] ], "ledger": { @@ -585,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 548468679721288111 + "lo": 524522278661286249 } } } @@ -646,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 900512167949646680 + "lo": 855029632532525914 } } }, @@ -709,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 334085170136526059 + "lo": 321770860732785344 } } }, @@ -736,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 548468679721288111 + "lo": 524522278661286249 } } } @@ -786,39 +734,6 @@ 6311999 ] ], - [ - { - "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary", - "val": "void" - } - }, - "ext": "v0" - }, - 6311999 - ] - ], [ { "contract_data": { @@ -863,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 900512167949646680 + "lo": 855029632532525914 } } }, @@ -1009,7 +924,7 @@ "val": { "i128": { "hi": 2, - "lo": 13076710864762414616 + "lo": 13106511852580896768 } } }, @@ -1194,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 334085170136526059 + "lo": 321770860732785344 } } }, @@ -1340,7 +1255,7 @@ "val": { "i128": { "hi": 2, - "lo": 13117911958732998936 + "lo": 13106511852580896768 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.109.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.109.json index e15eed4..04c2859 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.109.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.109.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 967829143192374422 + "lo": 740966360524278960 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 723830065330994462 + "lo": 333858187343061905 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 967829143192374422 + "lo": 740966360524278960 } }, { "i128": { "hi": 0, - "lo": 723830065330994462 + "lo": 333858187343061905 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 967829143192374422 + "lo": 740966360524278960 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 723830065330994462 + "lo": 333858187343061905 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 836984965185263511 + "lo": 497370773173114258 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 967829143192374422 + "lo": 740966360524278960 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 723830065330994462 + "lo": 333858187343061905 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 836984965185263511 + "lo": 497370773173114258 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 967829143192374422 + "lo": 740966360524278960 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 723830065330994462 + "lo": 333858187343061905 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.11.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.11.json index 89eeaee..8674eb6 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.11.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.11.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 344768743826754806 + "lo": 463018173309783650 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 143239240364290395 + "lo": 345942599661010281 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 344768743826754806 + "lo": 463018173309783650 } }, { "i128": { "hi": 0, - "lo": 143239240364290395 + "lo": 345942599661010281 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 344768743826754806 + "lo": 463018173309783650 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 143239240364290395 + "lo": 345942599661010281 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 222226040254275763 + "lo": 400222076558850962 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 344768743826754806 + "lo": 463018173309783650 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 143239240364290395 + "lo": 345942599661010281 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 222226040254275763 + "lo": 400222076558850962 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 344768743826754806 + "lo": 463018173309783650 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 143239240364290395 + "lo": 345942599661010281 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.110.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.110.json index 9ea9d16..8477a20 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.110.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.110.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 710761484973750882 + "lo": 346023536845143614 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 128062347301540219 + "lo": 658839633305759850 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 710761484973750882 + "lo": 346023536845143614 } }, { "i128": { "hi": 0, - "lo": 128062347301540219 + "lo": 658839633305759850 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 710761484973750882 + "lo": 346023536845143614 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 128062347301540219 + "lo": 658839633305759850 } } ] @@ -222,65 +222,6 @@ } ] ], - [ - [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - { - "function": { - "contract_fn": { - "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "swap", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "bool": true - }, - { - "i128": { - "hi": 0, - "lo": 6580696067067033 - } - }, - { - "i128": { - "hi": 2, - "lo": 13106511852580896768 - } - } - ] - } - }, - "sub_invocations": [ - { - "function": { - "contract_fn": { - "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", - "function_name": "transfer", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "i128": { - "hi": 0, - "lo": 1200366758331446 - } - } - ] - } - }, - "sub_invocations": [] - } - ] - } - ] - ], - [], [] ], "ledger": { @@ -585,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 301698167275286816 + "lo": 477466250252535128 } } } @@ -646,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 704180788906683849 + "lo": 346023536845143614 } } }, @@ -709,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 129262714059871665 + "lo": 658839633305759850 } } }, @@ -736,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 301698167275286816 + "lo": 477466250252535128 } } } @@ -786,39 +734,6 @@ 6311999 ] ], - [ - { - "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary", - "val": "void" - } - }, - "ext": "v0" - }, - 6311999 - ] - ], [ { "contract_data": { @@ -863,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 704180788906683849 + "lo": 346023536845143614 } } }, @@ -1009,7 +924,7 @@ "val": { "i128": { "hi": 2, - "lo": 13113092548647963801 + "lo": 13106511852580896768 } } }, @@ -1194,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 129262714059871665 + "lo": 658839633305759850 } } }, @@ -1340,7 +1255,7 @@ "val": { "i128": { "hi": 2, - "lo": 13105311485822565322 + "lo": 13106511852580896768 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.111.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.111.json index d8ca624..eb51499 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.111.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.111.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 744220766368599747 + "lo": 322869058464588013 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 185462654255427675 + "lo": 41060513336510961 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 744220766368599747 + "lo": 322869058464588013 } }, { "i128": { "hi": 0, - "lo": 185462654255427675 + "lo": 41060513336510961 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 744220766368599747 + "lo": 322869058464588013 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 185462654255427675 + "lo": 41060513336510961 } } ] @@ -222,6 +222,65 @@ } ] ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "swap", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "bool": false + }, + { + "i128": { + "hi": 0, + "lo": 5447966832499317 + } + }, + { + "i128": { + "hi": 2, + "lo": 13106511852580896768 + } + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 49540763387323182 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [], [] ], "ledger": { @@ -526,7 +585,7 @@ "val": { "i128": { "hi": 0, - "lo": 371517373325567416 + "lo": 115139781487685451 } } } @@ -587,18 +646,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +668,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +705,7 @@ "val": { "i128": { "hi": 0, - "lo": 744220766368599747 + "lo": 372409821851911195 } } }, @@ -650,7 +716,7 @@ "val": { "i128": { "hi": 0, - "lo": 185462654255427675 + "lo": 35612546504011644 } } }, @@ -677,7 +743,7 @@ "val": { "i128": { "hi": 0, - "lo": 371517373325567416 + "lo": 115139781487685451 } } } @@ -727,6 +793,39 @@ 6311999 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], [ { "contract_data": { @@ -771,7 +870,7 @@ "val": { "i128": { "hi": 0, - "lo": 744220766368599747 + "lo": 372409821851911195 } } }, @@ -917,7 +1016,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13056971089193573586 } } }, @@ -1102,7 +1201,7 @@ "val": { "i128": { "hi": 0, - "lo": 185462654255427675 + "lo": 35612546504011644 } } }, @@ -1248,7 +1347,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13111959819413396085 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.112.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.112.json index 013104a..69869a7 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.112.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.112.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 91541067455218092 + "lo": 390813026385844347 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 143445911073526430 + "lo": 574966777072102677 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 91541067455218092 + "lo": 390813026385844347 } }, { "i128": { "hi": 0, - "lo": 143445911073526430 + "lo": 574966777072102677 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 91541067455218092 + "lo": 390813026385844347 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 143445911073526430 + "lo": 574966777072102677 } } ] @@ -222,65 +222,6 @@ } ] ], - [ - [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - { - "function": { - "contract_fn": { - "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "swap", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "bool": true - }, - { - "i128": { - "hi": 0, - "lo": 51694008618875226 - } - }, - { - "i128": { - "hi": 2, - "lo": 13106511852580896768 - } - } - ] - } - }, - "sub_invocations": [ - { - "function": { - "contract_fn": { - "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", - "function_name": "transfer", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "i128": { - "hi": 0, - "lo": 186653851037726766 - } - } - ] - } - }, - "sub_invocations": [] - } - ] - } - ] - ], - [], [] ], "ledger": { @@ -585,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 114591412513141222 + "lo": 474030068897389196 } } } @@ -646,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 39847058836342866 + "lo": 390813026385844347 } } }, @@ -709,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 330099762111253196 + "lo": 574966777072102677 } } }, @@ -736,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 114591412513141222 + "lo": 474030068897389196 } } } @@ -786,39 +734,6 @@ 6311999 ] ], - [ - { - "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary", - "val": "void" - } - }, - "ext": "v0" - }, - 6311999 - ] - ], [ { "contract_data": { @@ -863,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 39847058836342866 + "lo": 390813026385844347 } } }, @@ -1009,7 +924,7 @@ "val": { "i128": { "hi": 2, - "lo": 13158205861199771994 + "lo": 13106511852580896768 } } }, @@ -1194,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 330099762111253196 + "lo": 574966777072102677 } } }, @@ -1340,7 +1255,7 @@ "val": { "i128": { "hi": 2, - "lo": 12919858001543170002 + "lo": 13106511852580896768 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.113.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.113.json index 0dace1f..cc43776 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.113.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.113.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 507816185757589606 + "lo": 400061755265920475 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 76726877458221791 + "lo": 347789996431159659 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 507816185757589606 + "lo": 400061755265920475 } }, { "i128": { "hi": 0, - "lo": 76726877458221791 + "lo": 347789996431159659 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 507816185757589606 + "lo": 400061755265920475 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 76726877458221791 + "lo": 347789996431159659 } } ] @@ -222,6 +222,65 @@ } ] ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "swap", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "bool": true + }, + { + "i128": { + "hi": 0, + "lo": 10791606763252458 + } + }, + { + "i128": { + "hi": 2, + "lo": 13106511852580896768 + } + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 9670678348568142 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [], [] ], "ledger": { @@ -526,7 +585,7 @@ "val": { "i128": { "hi": 0, - "lo": 197390856566164613 + "lo": 373011362341923776 } } } @@ -587,18 +646,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +668,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +705,7 @@ "val": { "i128": { "hi": 0, - "lo": 507816185757589606 + "lo": 389270148502668017 } } }, @@ -650,7 +716,7 @@ "val": { "i128": { "hi": 0, - "lo": 76726877458221791 + "lo": 357460674779727801 } } }, @@ -677,7 +743,7 @@ "val": { "i128": { "hi": 0, - "lo": 197390856566164613 + "lo": 373011362341923776 } } } @@ -727,6 +793,39 @@ 6311999 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], [ { "contract_data": { @@ -771,7 +870,7 @@ "val": { "i128": { "hi": 0, - "lo": 507816185757589606 + "lo": 389270148502668017 } } }, @@ -917,7 +1016,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13117303459344149226 } } }, @@ -1102,7 +1201,7 @@ "val": { "i128": { "hi": 0, - "lo": 76726877458221791 + "lo": 357460674779727801 } } }, @@ -1248,7 +1347,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13096841174232328626 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.114.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.114.json index c77a732..ab83e4a 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.114.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.114.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 62173077735805327 + "lo": 407134272598059218 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 717830352064241687 + "lo": 204185687397946180 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 62173077735805327 + "lo": 407134272598059218 } }, { "i128": { "hi": 0, - "lo": 717830352064241687 + "lo": 204185687397946180 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 62173077735805327 + "lo": 407134272598059218 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 717830352064241687 + "lo": 204185687397946180 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 211257478636877147 + "lo": 288324454935230086 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 62173077735805327 + "lo": 407134272598059218 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 717830352064241687 + "lo": 204185687397946180 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 211257478636877147 + "lo": 288324454935230086 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 62173077735805327 + "lo": 407134272598059218 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 717830352064241687 + "lo": 204185687397946180 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.115.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.115.json index 9942b47..8cf200d 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.115.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.115.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 938990088704811802 + "lo": 70908032021750235 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 300784496072054519 + "lo": 851668043731636475 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 938990088704811802 + "lo": 70908032021750235 } }, { "i128": { "hi": 0, - "lo": 300784496072054519 + "lo": 851668043731636475 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 938990088704811802 + "lo": 70908032021750235 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 300784496072054519 + "lo": 851668043731636475 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 531444880159486144 + "lo": 245743982463099711 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 938990088704811802 + "lo": 70908032021750235 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 300784496072054519 + "lo": 851668043731636475 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 531444880159486144 + "lo": 245743982463099711 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 938990088704811802 + "lo": 70908032021750235 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 300784496072054519 + "lo": 851668043731636475 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.116.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.116.json index 6dd8267..d13fc1f 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.116.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.116.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 196218732677046696 + "lo": 363532015953920498 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 855630163540308380 + "lo": 576014531582531612 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 196218732677046696 + "lo": 363532015953920498 } }, { "i128": { "hi": 0, - "lo": 855630163540308380 + "lo": 576014531582531612 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 196218732677046696 + "lo": 363532015953920498 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 855630163540308380 + "lo": 576014531582531612 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 409744635511111379 + "lo": 457602145848280441 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 196218732677046696 + "lo": 363532015953920498 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 855630163540308380 + "lo": 576014531582531612 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 409744635511111379 + "lo": 457602145848280441 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 196218732677046696 + "lo": 363532015953920498 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 855630163540308380 + "lo": 576014531582531612 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.117.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.117.json index c9ead4f..acd7a14 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.117.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.117.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 802375505928146953 + "lo": 485134822606860807 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 785348506013849990 + "lo": 392792553256331759 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 802375505928146953 + "lo": 485134822606860807 } }, { "i128": { "hi": 0, - "lo": 785348506013849990 + "lo": 392792553256331759 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 802375505928146953 + "lo": 485134822606860807 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 785348506013849990 + "lo": 392792553256331759 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 793816354607775289 + "lo": 436528745497139551 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 802375505928146953 + "lo": 485134822606860807 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 785348506013849990 + "lo": 392792553256331759 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 793816354607775289 + "lo": 436528745497139551 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 802375505928146953 + "lo": 485134822606860807 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 785348506013849990 + "lo": 392792553256331759 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.118.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.118.json index cbfa1eb..6a5ef40 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.118.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.118.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 566925291307648191 + "lo": 818854867883933252 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 156142324989668393 + "lo": 124520942321347775 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 566925291307648191 + "lo": 818854867883933252 } }, { "i128": { "hi": 0, - "lo": 156142324989668393 + "lo": 124520942321347775 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 566925291307648191 + "lo": 818854867883933252 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 156142324989668393 + "lo": 124520942321347775 } } ] @@ -222,65 +222,6 @@ } ] ], - [ - [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - { - "function": { - "contract_fn": { - "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "swap", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "bool": true - }, - { - "i128": { - "hi": 0, - "lo": 67697798770389538 - } - }, - { - "i128": { - "hi": 2, - "lo": 13106511852580896768 - } - } - ] - } - }, - "sub_invocations": [ - { - "function": { - "contract_fn": { - "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", - "function_name": "transfer", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "i128": { - "hi": 0, - "lo": 21237409299283464 - } - } - ] - } - }, - "sub_invocations": [] - } - ] - } - ] - ], - [], [] ], "ledger": { @@ -585,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 297524844475585314 + "lo": 319318931122678827 } } } @@ -646,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 499227492537258653 + "lo": 818854867883933252 } } }, @@ -709,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 177379734288951857 + "lo": 124520942321347775 } } }, @@ -736,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 297524844475585314 + "lo": 319318931122678827 } } } @@ -786,39 +734,6 @@ 6311999 ] ], - [ - { - "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary", - "val": "void" - } - }, - "ext": "v0" - }, - 6311999 - ] - ], [ { "contract_data": { @@ -863,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 499227492537258653 + "lo": 818854867883933252 } } }, @@ -1009,7 +924,7 @@ "val": { "i128": { "hi": 2, - "lo": 13174209651351286306 + "lo": 13106511852580896768 } } }, @@ -1194,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 177379734288951857 + "lo": 124520942321347775 } } }, @@ -1340,7 +1255,7 @@ "val": { "i128": { "hi": 2, - "lo": 13085274443281613304 + "lo": 13106511852580896768 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.119.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.119.json index b60ea48..0b1f453 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.119.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.119.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 22825292473514824 + "lo": 439421519483844600 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 61356680308790449 + "lo": 710871129778375175 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 22825292473514824 + "lo": 439421519483844600 } }, { "i128": { "hi": 0, - "lo": 61356680308790449 + "lo": 710871129778375175 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 22825292473514824 + "lo": 439421519483844600 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 61356680308790449 + "lo": 710871129778375175 } } ] @@ -222,65 +222,6 @@ } ] ], - [ - [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - { - "function": { - "contract_fn": { - "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "swap", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "bool": true - }, - { - "i128": { - "hi": 0, - "lo": 11954735748136992 - } - }, - { - "i128": { - "hi": 2, - "lo": 13106511852580896768 - } - } - ] - } - }, - "sub_invocations": [ - { - "function": { - "contract_fn": { - "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", - "function_name": "transfer", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "i128": { - "hi": 0, - "lo": 67679149113462585 - } - } - ] - } - }, - "sub_invocations": [] - } - ] - } - ] - ], - [], [] ], "ledger": { @@ -585,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 37423043345672594 + "lo": 558902560384554787 } } } @@ -646,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 10870556725377832 + "lo": 439421519483844600 } } }, @@ -709,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 129035829422253034 + "lo": 710871129778375175 } } }, @@ -736,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 37423043345672594 + "lo": 558902560384554787 } } } @@ -786,39 +734,6 @@ 6311999 ] ], - [ - { - "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary", - "val": "void" - } - }, - "ext": "v0" - }, - 6311999 - ] - ], [ { "contract_data": { @@ -863,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 10870556725377832 + "lo": 439421519483844600 } } }, @@ -1009,7 +924,7 @@ "val": { "i128": { "hi": 2, - "lo": 13118466588329033760 + "lo": 13106511852580896768 } } }, @@ -1194,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 129035829422253034 + "lo": 710871129778375175 } } }, @@ -1340,7 +1255,7 @@ "val": { "i128": { "hi": 2, - "lo": 13038832703467434183 + "lo": 13106511852580896768 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.12.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.12.json index d055a38..0130253 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.12.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.12.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 338390666217705755 + "lo": 741887445270915417 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 55632429256572433 + "lo": 633575948829216870 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 338390666217705755 + "lo": 741887445270915417 } }, { "i128": { "hi": 0, - "lo": 55632429256572433 + "lo": 633575948829216870 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 338390666217705755 + "lo": 741887445270915417 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 55632429256572433 + "lo": 633575948829216870 } } ] @@ -235,12 +235,12 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" }, { - "bool": false + "bool": true }, { "i128": { "hi": 0, - "lo": 41926164549769359 + "lo": 15847048545027205 } }, { @@ -256,7 +256,7 @@ { "function": { "contract_fn": { - "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", "function_name": "transfer", "args": [ { @@ -268,7 +268,7 @@ { "i128": { "hi": 0, - "lo": 1038219631506621477 + "lo": 13870468399016534 } } ] @@ -585,7 +585,7 @@ "val": { "i128": { "hi": 0, - "lo": 137206030477675909 + "lo": 685596121679523459 } } } @@ -646,18 +646,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +668,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +705,7 @@ "val": { "i128": { "hi": 0, - "lo": 1376610297724327232 + "lo": 726040396725888212 } } }, @@ -709,7 +716,7 @@ "val": { "i128": { "hi": 0, - "lo": 13706264706803074 + "lo": 647446417228233404 } } }, @@ -736,7 +743,7 @@ "val": { "i128": { "hi": 0, - "lo": 137206030477675909 + "lo": 685596121679523459 } } } @@ -863,7 +870,7 @@ "val": { "i128": { "hi": 0, - "lo": 1376610297724327232 + "lo": 726040396725888212 } } }, @@ -1009,7 +1016,7 @@ "val": { "i128": { "hi": 2, - "lo": 12068292221074275291 + "lo": 13122358901125923973 } } }, @@ -1194,7 +1201,7 @@ "val": { "i128": { "hi": 0, - "lo": 13706264706803074 + "lo": 647446417228233404 } } }, @@ -1340,7 +1347,7 @@ "val": { "i128": { "hi": 2, - "lo": 13148438017130666127 + "lo": 13092641384181880234 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.120.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.120.json index 332f7ed..01dca29 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.120.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.120.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 655329857537193451 + "lo": 950259326799654492 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 561661765596906051 + "lo": 558581692201213201 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 655329857537193451 + "lo": 950259326799654492 } }, { "i128": { "hi": 0, - "lo": 561661765596906051 + "lo": 558581692201213201 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 655329857537193451 + "lo": 950259326799654492 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 561661765596906051 + "lo": 558581692201213201 } } ] @@ -222,6 +222,65 @@ } ] ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "swap", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "bool": true + }, + { + "i128": { + "hi": 0, + "lo": 13281764487132997 + } + }, + { + "i128": { + "hi": 2, + "lo": 13106511852580896768 + } + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 7941784952877476 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [], [] ], "ledger": { @@ -526,7 +585,7 @@ "val": { "i128": { "hi": 0, - "lo": 606690798374846776 + "lo": 728558482754635609 } } } @@ -587,18 +646,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +668,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +705,7 @@ "val": { "i128": { "hi": 0, - "lo": 655329857537193451 + "lo": 936977562312521495 } } }, @@ -650,7 +716,7 @@ "val": { "i128": { "hi": 0, - "lo": 561661765596906051 + "lo": 566523477154090677 } } }, @@ -677,7 +743,7 @@ "val": { "i128": { "hi": 0, - "lo": 606690798374846776 + "lo": 728558482754635609 } } } @@ -727,6 +793,39 @@ 6311999 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], [ { "contract_data": { @@ -771,7 +870,7 @@ "val": { "i128": { "hi": 0, - "lo": 655329857537193451 + "lo": 936977562312521495 } } }, @@ -917,7 +1016,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13119793617068029765 } } }, @@ -1102,7 +1201,7 @@ "val": { "i128": { "hi": 0, - "lo": 561661765596906051 + "lo": 566523477154090677 } } }, @@ -1248,7 +1347,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13098570067628019292 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.121.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.121.json index 82e7404..192db9f 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.121.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.121.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 522685133586158105 + "lo": 500289604745165097 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 487510785645537017 + "lo": 1688069064553412 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 522685133586158105 + "lo": 500289604745165097 } }, { "i128": { "hi": 0, - "lo": 487510785645537017 + "lo": 1688069064553412 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 522685133586158105 + "lo": 500289604745165097 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 487510785645537017 + "lo": 1688069064553412 } } ] @@ -222,6 +222,65 @@ } ] ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "swap", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "bool": false + }, + { + "i128": { + "hi": 0, + "lo": 632169203900621 + } + }, + { + "i128": { + "hi": 2, + "lo": 13106511852580896768 + } + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 300425590522286160 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [], [] ], "ledger": { @@ -526,7 +585,7 @@ "val": { "i128": { "hi": 0, - "lo": 504791679923342639 + "lo": 29060684869561609 } } } @@ -587,18 +646,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +668,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +705,7 @@ "val": { "i128": { "hi": 0, - "lo": 522685133586158105 + "lo": 800715195267451257 } } }, @@ -650,7 +716,7 @@ "val": { "i128": { "hi": 0, - "lo": 487510785645537017 + "lo": 1055899860652791 } } }, @@ -677,7 +743,7 @@ "val": { "i128": { "hi": 0, - "lo": 504791679923342639 + "lo": 29060684869561609 } } } @@ -727,6 +793,39 @@ 6311999 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], [ { "contract_data": { @@ -771,7 +870,7 @@ "val": { "i128": { "hi": 0, - "lo": 522685133586158105 + "lo": 800715195267451257 } } }, @@ -917,7 +1016,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 12806086262058610608 } } }, @@ -1102,7 +1201,7 @@ "val": { "i128": { "hi": 0, - "lo": 487510785645537017 + "lo": 1055899860652791 } } }, @@ -1248,7 +1347,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13107144021784797389 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.122.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.122.json index 0c5e583..bd78296 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.122.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.122.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 733535541588435671 + "lo": 411238024887174653 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 111874112590979420 + "lo": 129836815783757332 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 733535541588435671 + "lo": 411238024887174653 } }, { "i128": { "hi": 0, - "lo": 111874112590979420 + "lo": 129836815783757332 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 733535541588435671 + "lo": 411238024887174653 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 111874112590979420 + "lo": 129836815783757332 } } ] @@ -240,7 +240,7 @@ { "i128": { "hi": 0, - "lo": 19543363445228513 + "lo": 6707476617117988 } }, { @@ -268,7 +268,7 @@ { "i128": { "hi": 0, - "lo": 155732391292744208 + "lo": 22469619857125905 } } ] @@ -585,7 +585,7 @@ "val": { "i128": { "hi": 0, - "lo": 286467516080182674 + "lo": 231071061971317188 } } } @@ -646,18 +646,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +668,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +705,7 @@ "val": { "i128": { "hi": 0, - "lo": 889267932881179879 + "lo": 433707644744300558 } } }, @@ -709,7 +716,7 @@ "val": { "i128": { "hi": 0, - "lo": 92330749145750907 + "lo": 123129339166639344 } } }, @@ -736,7 +743,7 @@ "val": { "i128": { "hi": 0, - "lo": 286467516080182674 + "lo": 231071061971317188 } } } @@ -863,7 +870,7 @@ "val": { "i128": { "hi": 0, - "lo": 889267932881179879 + "lo": 433707644744300558 } } }, @@ -1009,7 +1016,7 @@ "val": { "i128": { "hi": 2, - "lo": 12950779461288152560 + "lo": 13084042232723770863 } } }, @@ -1194,7 +1201,7 @@ "val": { "i128": { "hi": 0, - "lo": 92330749145750907 + "lo": 123129339166639344 } } }, @@ -1340,7 +1347,7 @@ "val": { "i128": { "hi": 2, - "lo": 13126055216026125281 + "lo": 13113219329198014756 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.123.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.123.json index ed44c16..c27a145 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.123.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.123.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 182214528068165787 + "lo": 972100918728922238 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 121041044446542260 + "lo": 147503354281797997 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 182214528068165787 + "lo": 972100918728922238 } }, { "i128": { "hi": 0, - "lo": 121041044446542260 + "lo": 147503354281797997 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 182214528068165787 + "lo": 972100918728922238 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 121041044446542260 + "lo": 147503354281797997 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 148510729547412085 + "lo": 378666272874854196 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 182214528068165787 + "lo": 972100918728922238 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 121041044446542260 + "lo": 147503354281797997 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 148510729547412085 + "lo": 378666272874854196 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 182214528068165787 + "lo": 972100918728922238 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 121041044446542260 + "lo": 147503354281797997 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.124.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.124.json index 44fc51c..28436a9 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.124.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.124.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 720556019930567347 + "lo": 426997349590798405 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 758479000307011717 + "lo": 436407805874501111 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 720556019930567347 + "lo": 426997349590798405 } }, { "i128": { "hi": 0, - "lo": 758479000307011717 + "lo": 436407805874501111 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 720556019930567347 + "lo": 426997349590798405 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 758479000307011717 + "lo": 436407805874501111 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 739274380498970038 + "lo": 431676935275846810 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 720556019930567347 + "lo": 426997349590798405 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 758479000307011717 + "lo": 436407805874501111 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 739274380498970038 + "lo": 431676935275846810 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 720556019930567347 + "lo": 426997349590798405 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 758479000307011717 + "lo": 436407805874501111 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.125.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.125.json index 15cceb0..2ae1545 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.125.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.125.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 255579477264680643 + "lo": 849140003574424492 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 203175174770096902 + "lo": 288092426032548026 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 255579477264680643 + "lo": 849140003574424492 } }, { "i128": { "hi": 0, - "lo": 203175174770096902 + "lo": 288092426032548026 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 255579477264680643 + "lo": 849140003574424492 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 203175174770096902 + "lo": 288092426032548026 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 227875854273552855 + "lo": 494601661613709557 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 255579477264680643 + "lo": 849140003574424492 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 203175174770096902 + "lo": 288092426032548026 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 227875854273552855 + "lo": 494601661613709557 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 255579477264680643 + "lo": 849140003574424492 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 203175174770096902 + "lo": 288092426032548026 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.126.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.126.json index 5d80e3f..83c991e 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.126.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.126.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 645863834535367871 + "lo": 154444081497410098 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 570881789117035941 + "lo": 949373653125950250 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 645863834535367871 + "lo": 154444081497410098 } }, { "i128": { "hi": 0, - "lo": 570881789117035941 + "lo": 949373653125950250 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 645863834535367871 + "lo": 154444081497410098 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 570881789117035941 + "lo": 949373653125950250 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 607216519361537195 + "lo": 382916625200419060 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 645863834535367871 + "lo": 154444081497410098 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 570881789117035941 + "lo": 949373653125950250 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 607216519361537195 + "lo": 382916625200419060 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 645863834535367871 + "lo": 154444081497410098 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 570881789117035941 + "lo": 949373653125950250 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.127.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.127.json index 977bb01..d3dcde0 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.127.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.127.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 436412424210391840 + "lo": 636720305818213144 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 957478944152722097 + "lo": 871291855331584931 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 436412424210391840 + "lo": 636720305818213144 } }, { "i128": { "hi": 0, - "lo": 957478944152722097 + "lo": 871291855331584931 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 436412424210391840 + "lo": 636720305818213144 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 957478944152722097 + "lo": 871291855331584931 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 646417595017412744 + "lo": 744828313494891976 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 436412424210391840 + "lo": 636720305818213144 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 957478944152722097 + "lo": 871291855331584931 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 646417595017412744 + "lo": 744828313494891976 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 436412424210391840 + "lo": 636720305818213144 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 957478944152722097 + "lo": 871291855331584931 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.128.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.128.json index bf9f244..63546e1 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.128.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.128.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 73365629068523039 + "lo": 968627053176386701 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 912223403954117455 + "lo": 627488042658515597 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 73365629068523039 + "lo": 968627053176386701 } }, { "i128": { "hi": 0, - "lo": 912223403954117455 + "lo": 627488042658515597 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 73365629068523039 + "lo": 968627053176386701 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 912223403954117455 + "lo": 627488042658515597 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 258700297414060260 + "lo": 779616504227390502 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 73365629068523039 + "lo": 968627053176386701 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 912223403954117455 + "lo": 627488042658515597 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 258700297414060260 + "lo": 779616504227390502 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 73365629068523039 + "lo": 968627053176386701 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 912223403954117455 + "lo": 627488042658515597 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.129.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.129.json index a1ef02d..a635f7a 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.129.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.129.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 661550081047974535 + "lo": 463288611980719714 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 949419867095032175 + "lo": 683202006791076361 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 661550081047974535 + "lo": 463288611980719714 } }, { "i128": { "hi": 0, - "lo": 949419867095032175 + "lo": 683202006791076361 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 661550081047974535 + "lo": 463288611980719714 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 949419867095032175 + "lo": 683202006791076361 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 792520529718489845 + "lo": 562600843785965194 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 661550081047974535 + "lo": 463288611980719714 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 949419867095032175 + "lo": 683202006791076361 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 792520529718489845 + "lo": 562600843785965194 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 661550081047974535 + "lo": 463288611980719714 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 949419867095032175 + "lo": 683202006791076361 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.13.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.13.json index d812ec5..6d5e78b 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.13.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.13.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 266472967836258871 + "lo": 667321015665900902 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 717037361981941066 + "lo": 905842822303786190 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 266472967836258871 + "lo": 667321015665900902 } }, { "i128": { "hi": 0, - "lo": 717037361981941066 + "lo": 905842822303786190 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 266472967836258871 + "lo": 667321015665900902 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 717037361981941066 + "lo": 905842822303786190 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 437116773753661495 + "lo": 777488232845635285 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 266472967836258871 + "lo": 667321015665900902 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 717037361981941066 + "lo": 905842822303786190 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 437116773753661495 + "lo": 777488232845635285 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 266472967836258871 + "lo": 667321015665900902 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 717037361981941066 + "lo": 905842822303786190 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.130.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.130.json index 56bb082..a38577b 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.130.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.130.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 50239259674217764 + "lo": 644127999212384573 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 384026402450400727 + "lo": 667010477148915819 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 50239259674217764 + "lo": 644127999212384573 } }, { "i128": { "hi": 0, - "lo": 384026402450400727 + "lo": 667010477148915819 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 50239259674217764 + "lo": 644127999212384573 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 384026402450400727 + "lo": 667010477148915819 } } ] @@ -235,12 +235,12 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" }, { - "bool": true + "bool": false }, { "i128": { "hi": 0, - "lo": 2740433910423279 + "lo": 7055560762964893 } }, { @@ -256,7 +256,7 @@ { "function": { "contract_fn": { - "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", "function_name": "transfer", "args": [ { @@ -268,7 +268,7 @@ { "i128": { "hi": 0, - "lo": 22222984585776942 + "lo": 6907076835610297 } } ] @@ -585,7 +585,7 @@ "val": { "i128": { "hi": 0, - "lo": 138899971758317284 + "lo": 655469392191297599 } } } @@ -646,18 +646,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +668,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +705,7 @@ "val": { "i128": { "hi": 0, - "lo": 47498825763794485 + "lo": 651035076047994870 } } }, @@ -709,7 +716,7 @@ "val": { "i128": { "hi": 0, - "lo": 406249387036177669 + "lo": 659954916385950926 } } }, @@ -736,7 +743,7 @@ "val": { "i128": { "hi": 0, - "lo": 138899971758317284 + "lo": 655469392191297599 } } } @@ -863,7 +870,7 @@ "val": { "i128": { "hi": 0, - "lo": 47498825763794485 + "lo": 651035076047994870 } } }, @@ -1009,7 +1016,7 @@ "val": { "i128": { "hi": 2, - "lo": 13109252286491320047 + "lo": 13099604775745286471 } } }, @@ -1194,7 +1201,7 @@ "val": { "i128": { "hi": 0, - "lo": 406249387036177669 + "lo": 659954916385950926 } } }, @@ -1340,7 +1347,7 @@ "val": { "i128": { "hi": 2, - "lo": 13084288867995119826 + "lo": 13113567413343861661 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.131.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.131.json index f0c0abb..0bc9454 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.131.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.131.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 166454560508781518 + "lo": 804437940747377658 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 727321594213278723 + "lo": 92035543442859399 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 166454560508781518 + "lo": 804437940747377658 } }, { "i128": { "hi": 0, - "lo": 727321594213278723 + "lo": 92035543442859399 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 166454560508781518 + "lo": 804437940747377658 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 727321594213278723 + "lo": 92035543442859399 } } ] @@ -222,6 +222,65 @@ } ] ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "swap", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "bool": false + }, + { + "i128": { + "hi": 0, + "lo": 4366533133200549 + } + }, + { + "i128": { + "hi": 2, + "lo": 13106511852580896768 + } + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 40187227308353910 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [], [] ], "ledger": { @@ -526,7 +585,7 @@ "val": { "i128": { "hi": 0, - "lo": 347945392717474620 + "lo": 272097194110375992 } } } @@ -587,18 +646,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +668,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +705,7 @@ "val": { "i128": { "hi": 0, - "lo": 166454560508781518 + "lo": 844625168055731568 } } }, @@ -650,7 +716,7 @@ "val": { "i128": { "hi": 0, - "lo": 727321594213278723 + "lo": 87669010309658850 } } }, @@ -677,7 +743,7 @@ "val": { "i128": { "hi": 0, - "lo": 347945392717474620 + "lo": 272097194110375992 } } } @@ -727,6 +793,39 @@ 6311999 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], [ { "contract_data": { @@ -771,7 +870,7 @@ "val": { "i128": { "hi": 0, - "lo": 166454560508781518 + "lo": 844625168055731568 } } }, @@ -917,7 +1016,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13066324625272542858 } } }, @@ -1102,7 +1201,7 @@ "val": { "i128": { "hi": 0, - "lo": 727321594213278723 + "lo": 87669010309658850 } } }, @@ -1248,7 +1347,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13110878385714097317 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.132.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.132.json index 66fb598..c572562 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.132.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.132.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 876357851964670326 + "lo": 276762026430997866 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 809105594342979717 + "lo": 281318902875497521 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 876357851964670326 + "lo": 276762026430997866 } }, { "i128": { "hi": 0, - "lo": 809105594342979717 + "lo": 281318902875497521 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 876357851964670326 + "lo": 276762026430997866 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 809105594342979717 + "lo": 281318902875497521 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 842060592042527316 + "lo": 279031162476824022 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 876357851964670326 + "lo": 276762026430997866 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 809105594342979717 + "lo": 281318902875497521 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 842060592042527316 + "lo": 279031162476824022 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 876357851964670326 + "lo": 276762026430997866 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 809105594342979717 + "lo": 281318902875497521 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.133.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.133.json index 56f4aee..07b8957 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.133.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.133.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 792849478567779810 + "lo": 738974423761584934 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 565291272063665119 + "lo": 524399404138609640 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 792849478567779810 + "lo": 738974423761584934 } }, { "i128": { "hi": 0, - "lo": 565291272063665119 + "lo": 524399404138609640 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 792849478567779810 + "lo": 738974423761584934 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 565291272063665119 + "lo": 524399404138609640 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 669470604503733116 + "lo": 622509234866638389 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 792849478567779810 + "lo": 738974423761584934 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 565291272063665119 + "lo": 524399404138609640 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 669470604503733116 + "lo": 622509234866638389 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 792849478567779810 + "lo": 738974423761584934 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 565291272063665119 + "lo": 524399404138609640 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.134.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.134.json index 922f9f1..d0b3bf4 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.134.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.134.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 997943551163810748 + "lo": 311825106521992429 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 387185833803877213 + "lo": 456276633204955677 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 997943551163810748 + "lo": 311825106521992429 } }, { "i128": { "hi": 0, - "lo": 387185833803877213 + "lo": 456276633204955677 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 997943551163810748 + "lo": 311825106521992429 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 387185833803877213 + "lo": 456276633204955677 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 621602450080887522 + "lo": 377198236677521295 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 997943551163810748 + "lo": 311825106521992429 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 387185833803877213 + "lo": 456276633204955677 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 621602450080887522 + "lo": 377198236677521295 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 997943551163810748 + "lo": 311825106521992429 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 387185833803877213 + "lo": 456276633204955677 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.135.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.135.json index 70a12ea..f467601 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.135.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.135.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 18968363559871707 + "lo": 118847167787983359 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 161383886726746924 + "lo": 522191489284717054 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 18968363559871707 + "lo": 118847167787983359 } }, { "i128": { "hi": 0, - "lo": 161383886726746924 + "lo": 522191489284717054 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 18968363559871707 + "lo": 118847167787983359 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 161383886726746924 + "lo": 522191489284717054 } } ] @@ -222,65 +222,6 @@ } ] ], - [ - [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - { - "function": { - "contract_fn": { - "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "swap", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "bool": false - }, - { - "i128": { - "hi": 0, - "lo": 114852482331026298 - } - }, - { - "i128": { - "hi": 2, - "lo": 13106511852580896768 - } - } - ] - } - }, - "sub_invocations": [ - { - "function": { - "contract_fn": { - "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", - "function_name": "transfer", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "i128": { - "hi": 0, - "lo": 46960091275526008 - } - } - ] - } - }, - "sub_invocations": [] - } - ] - } - ] - ], - [], [] ], "ledger": { @@ -585,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 55328005893381785 + "lo": 249120411737933834 } } } @@ -646,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 65928454835397715 + "lo": 118847167787983359 } } }, @@ -709,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 46531404395720626 + "lo": 522191489284717054 } } }, @@ -736,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 55328005893381785 + "lo": 249120411737933834 } } } @@ -786,39 +734,6 @@ 6311999 ] ], - [ - { - "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary", - "val": "void" - } - }, - "ext": "v0" - }, - 6311999 - ] - ], [ { "contract_data": { @@ -863,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 65928454835397715 + "lo": 118847167787983359 } } }, @@ -1009,7 +924,7 @@ "val": { "i128": { "hi": 2, - "lo": 13059551761305370760 + "lo": 13106511852580896768 } } }, @@ -1194,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 46531404395720626 + "lo": 522191489284717054 } } }, @@ -1340,7 +1255,7 @@ "val": { "i128": { "hi": 2, - "lo": 13221364334911923066 + "lo": 13106511852580896768 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.136.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.136.json index 8a6759e..c182e45 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.136.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.136.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 727646484573900852 + "lo": 23531957603468966 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 536493109260384529 + "lo": 575344313409109082 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 727646484573900852 + "lo": 23531957603468966 } }, { "i128": { "hi": 0, - "lo": 536493109260384529 + "lo": 575344313409109082 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 727646484573900852 + "lo": 23531957603468966 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 536493109260384529 + "lo": 575344313409109082 } } ] @@ -222,6 +222,65 @@ } ] ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "swap", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "bool": true + }, + { + "i128": { + "hi": 0, + "lo": 20152247191681582 + } + }, + { + "i128": { + "hi": 2, + "lo": 13106511852580896768 + } + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 3440936504613493243 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [], [] ], "ledger": { @@ -526,7 +585,7 @@ "val": { "i128": { "hi": 0, - "lo": 624801828543611494 + "lo": 116357114052128829 } } } @@ -587,18 +646,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +668,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +705,7 @@ "val": { "i128": { "hi": 0, - "lo": 727646484573900852 + "lo": 3379710411787384 } } }, @@ -650,7 +716,7 @@ "val": { "i128": { "hi": 0, - "lo": 536493109260384529 + "lo": 4016280818022602325 } } }, @@ -677,7 +743,7 @@ "val": { "i128": { "hi": 0, - "lo": 624801828543611494 + "lo": 116357114052128829 } } } @@ -727,6 +793,39 @@ 6311999 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], [ { "contract_data": { @@ -771,7 +870,7 @@ "val": { "i128": { "hi": 0, - "lo": 727646484573900852 + "lo": 3379710411787384 } } }, @@ -917,7 +1016,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13126664099772578350 } } }, @@ -1102,7 +1201,7 @@ "val": { "i128": { "hi": 0, - "lo": 536493109260384529 + "lo": 4016280818022602325 } } }, @@ -1248,7 +1347,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 9665575347967403525 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.137.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.137.json index c913a14..d33e677 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.137.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.137.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 470823916317454545 + "lo": 962675942994124986 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 231969755927341940 + "lo": 509075788684350293 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 470823916317454545 + "lo": 962675942994124986 } }, { "i128": { "hi": 0, - "lo": 231969755927341940 + "lo": 509075788684350293 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 470823916317454545 + "lo": 962675942994124986 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 231969755927341940 + "lo": 509075788684350293 } } ] @@ -222,65 +222,6 @@ } ] ], - [ - [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - { - "function": { - "contract_fn": { - "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "swap", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "bool": true - }, - { - "i128": { - "hi": 0, - "lo": 30473593152395671 - } - }, - { - "i128": { - "hi": 2, - "lo": 13106511852580896768 - } - } - ] - } - }, - "sub_invocations": [ - { - "function": { - "contract_fn": { - "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", - "function_name": "transfer", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "i128": { - "hi": 0, - "lo": 16101322653131677 - } - } - ] - } - }, - "sub_invocations": [] - } - ] - } - ] - ], - [], [] ], "ledger": { @@ -585,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 330479816256477601 + "lo": 700053580040260075 } } } @@ -646,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 440350323165058874 + "lo": 962675942994124986 } } }, @@ -709,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 248071078580473617 + "lo": 509075788684350293 } } }, @@ -736,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 330479816256477601 + "lo": 700053580040260075 } } } @@ -786,39 +734,6 @@ 6311999 ] ], - [ - { - "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary", - "val": "void" - } - }, - "ext": "v0" - }, - 6311999 - ] - ], [ { "contract_data": { @@ -863,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 440350323165058874 + "lo": 962675942994124986 } } }, @@ -1009,7 +924,7 @@ "val": { "i128": { "hi": 2, - "lo": 13136985445733292439 + "lo": 13106511852580896768 } } }, @@ -1194,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 248071078580473617 + "lo": 509075788684350293 } } }, @@ -1340,7 +1255,7 @@ "val": { "i128": { "hi": 2, - "lo": 13090410529927765091 + "lo": 13106511852580896768 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.138.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.138.json index ba987f6..d2742dd 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.138.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.138.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 99176823539492668 + "lo": 825669831483443243 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 833741956677068112 + "lo": 189161371591773328 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 99176823539492668 + "lo": 825669831483443243 } }, { "i128": { "hi": 0, - "lo": 833741956677068112 + "lo": 189161371591773328 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 99176823539492668 + "lo": 825669831483443243 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 833741956677068112 + "lo": 189161371591773328 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 287555001547239523 + "lo": 395202274544765837 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 99176823539492668 + "lo": 825669831483443243 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 833741956677068112 + "lo": 189161371591773328 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 287555001547239523 + "lo": 395202274544765837 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 99176823539492668 + "lo": 825669831483443243 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 833741956677068112 + "lo": 189161371591773328 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.139.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.139.json index 445dd17..f0d68ee 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.139.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.139.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 597025441904849795 + "lo": 221711119377350051 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 978197387617465355 + "lo": 566067072283284227 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 597025441904849795 + "lo": 221711119377350051 } }, { "i128": { "hi": 0, - "lo": 978197387617465355 + "lo": 566067072283284227 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 597025441904849795 + "lo": 221711119377350051 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 978197387617465355 + "lo": 566067072283284227 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 764204637261831131 + "lo": 354264539911329919 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 597025441904849795 + "lo": 221711119377350051 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 978197387617465355 + "lo": 566067072283284227 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 764204637261831131 + "lo": 354264539911329919 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 597025441904849795 + "lo": 221711119377350051 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 978197387617465355 + "lo": 566067072283284227 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.14.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.14.json index bb40c56..6602626 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.14.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.14.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 220097530881557006 + "lo": 129684760771807651 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 87617110253280478 + "lo": 777660822066867986 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 220097530881557006 + "lo": 129684760771807651 } }, { "i128": { "hi": 0, - "lo": 87617110253280478 + "lo": 777660822066867986 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 220097530881557006 + "lo": 129684760771807651 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 87617110253280478 + "lo": 777660822066867986 } } ] @@ -222,65 +222,6 @@ } ] ], - [ - [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - { - "function": { - "contract_fn": { - "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "swap", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "bool": false - }, - { - "i128": { - "hi": 0, - "lo": 57722130312054158 - } - }, - { - "i128": { - "hi": 2, - "lo": 13106511852580896768 - } - } - ] - } - }, - "sub_invocations": [ - { - "function": { - "contract_fn": { - "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", - "function_name": "transfer", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "i128": { - "hi": 0, - "lo": 426249710271571627 - } - } - ] - } - }, - "sub_invocations": [] - } - ] - } - ] - ], - [], [] ], "ledger": { @@ -585,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 138867957534213719 + "lo": 317570083086157615 } } } @@ -646,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 646347241153128633 + "lo": 129684760771807651 } } }, @@ -709,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 29894979941226320 + "lo": 777660822066867986 } } }, @@ -736,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 138867957534213719 + "lo": 317570083086157615 } } } @@ -786,39 +734,6 @@ 6311999 ] ], - [ - { - "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary", - "val": "void" - } - }, - "ext": "v0" - }, - 6311999 - ] - ], [ { "contract_data": { @@ -863,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 646347241153128633 + "lo": 129684760771807651 } } }, @@ -1009,7 +924,7 @@ "val": { "i128": { "hi": 2, - "lo": 12680262142309325141 + "lo": 13106511852580896768 } } }, @@ -1194,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 29894979941226320 + "lo": 777660822066867986 } } }, @@ -1340,7 +1255,7 @@ "val": { "i128": { "hi": 2, - "lo": 13164233982892950926 + "lo": 13106511852580896768 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.140.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.140.json index 4c0fdec..93a18dc 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.140.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.140.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 905445093887310554 + "lo": 905808479571147613 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 193634744876816494 + "lo": 59856720390144494 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 905445093887310554 + "lo": 905808479571147613 } }, { "i128": { "hi": 0, - "lo": 193634744876816494 + "lo": 59856720390144494 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 905445093887310554 + "lo": 905808479571147613 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 193634744876816494 + "lo": 59856720390144494 } } ] @@ -222,65 +222,6 @@ } ] ], - [ - [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - { - "function": { - "contract_fn": { - "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "swap", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "bool": false - }, - { - "i128": { - "hi": 0, - "lo": 8494797731872873 - } - }, - { - "i128": { - "hi": 2, - "lo": 13106511852580896768 - } - } - ] - } - }, - "sub_invocations": [ - { - "function": { - "contract_fn": { - "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", - "function_name": "transfer", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "i128": { - "hi": 0, - "lo": 41669651526328861 - } - } - ] - } - }, - "sub_invocations": [] - } - ] - } - ] - ], - [], [] ], "ledger": { @@ -585,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 418719034383241928 + "lo": 232849146205675604 } } } @@ -646,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 947114745413639415 + "lo": 905808479571147613 } } }, @@ -709,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 185139947144943621 + "lo": 59856720390144494 } } }, @@ -736,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 418719034383241928 + "lo": 232849146205675604 } } } @@ -786,39 +734,6 @@ 6311999 ] ], - [ - { - "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary", - "val": "void" - } - }, - "ext": "v0" - }, - 6311999 - ] - ], [ { "contract_data": { @@ -863,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 947114745413639415 + "lo": 905808479571147613 } } }, @@ -1009,7 +924,7 @@ "val": { "i128": { "hi": 2, - "lo": 13064842201054567907 + "lo": 13106511852580896768 } } }, @@ -1194,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 185139947144943621 + "lo": 59856720390144494 } } }, @@ -1340,7 +1255,7 @@ "val": { "i128": { "hi": 2, - "lo": 13115006650312769641 + "lo": 13106511852580896768 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.141.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.141.json index fc0da07..abf326f 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.141.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.141.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 867039607066557213 + "lo": 224039893464302760 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 509882589350539605 + "lo": 153590132110238359 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 867039607066557213 + "lo": 224039893464302760 } }, { "i128": { "hi": 0, - "lo": 509882589350539605 + "lo": 153590132110238359 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 867039607066557213 + "lo": 224039893464302760 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 509882589350539605 + "lo": 153590132110238359 } } ] @@ -235,12 +235,12 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" }, { - "bool": true + "bool": false }, { "i128": { "hi": 0, - "lo": 26706350671217118 + "lo": 4629785233442465 } }, { @@ -256,7 +256,7 @@ { "function": { "contract_fn": { - "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", "function_name": "transfer", "args": [ { @@ -268,7 +268,7 @@ { "i128": { "hi": 0, - "lo": 16253167848342766 + "lo": 6984259539180876 } } ] @@ -585,7 +585,7 @@ "val": { "i128": { "hi": 0, - "lo": 664897285240788607 + "lo": 185500180148554002 } } } @@ -646,18 +646,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +668,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +705,7 @@ "val": { "i128": { "hi": 0, - "lo": 840333256395340095 + "lo": 231024153003483636 } } }, @@ -709,7 +716,7 @@ "val": { "i128": { "hi": 0, - "lo": 526135757198882371 + "lo": 148960346876795894 } } }, @@ -736,7 +743,7 @@ "val": { "i128": { "hi": 0, - "lo": 664897285240788607 + "lo": 185500180148554002 } } } @@ -863,7 +870,7 @@ "val": { "i128": { "hi": 0, - "lo": 840333256395340095 + "lo": 231024153003483636 } } }, @@ -1009,7 +1016,7 @@ "val": { "i128": { "hi": 2, - "lo": 13133218203252113886 + "lo": 13099527593041715892 } } }, @@ -1194,7 +1201,7 @@ "val": { "i128": { "hi": 0, - "lo": 526135757198882371 + "lo": 148960346876795894 } } }, @@ -1340,7 +1347,7 @@ "val": { "i128": { "hi": 2, - "lo": 13090258684732554002 + "lo": 13111141637814339233 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.142.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.142.json index e98cfcc..2ff724e 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.142.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.142.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 768080456308720645 + "lo": 157426497834651791 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 68402551206809831 + "lo": 995903253666161466 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 768080456308720645 + "lo": 157426497834651791 } }, { "i128": { "hi": 0, - "lo": 68402551206809831 + "lo": 995903253666161466 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 768080456308720645 + "lo": 157426497834651791 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 68402551206809831 + "lo": 995903253666161466 } } ] @@ -222,6 +222,65 @@ } ] ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "swap", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "bool": false + }, + { + "i128": { + "hi": 0, + "lo": 40179534756641807 + } + }, + { + "i128": { + "hi": 2, + "lo": 13106511852580896768 + } + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 6638274624109346 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [], [] ], "ledger": { @@ -526,7 +585,7 @@ "val": { "i128": { "hi": 0, - "lo": 229213138243877994 + "lo": 395956514540168465 } } } @@ -587,18 +646,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +668,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +705,7 @@ "val": { "i128": { "hi": 0, - "lo": 768080456308720645 + "lo": 164064772458761137 } } }, @@ -650,7 +716,7 @@ "val": { "i128": { "hi": 0, - "lo": 68402551206809831 + "lo": 955723718909519659 } } }, @@ -677,7 +743,7 @@ "val": { "i128": { "hi": 0, - "lo": 229213138243877994 + "lo": 395956514540168465 } } } @@ -727,6 +793,39 @@ 6311999 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], [ { "contract_data": { @@ -771,7 +870,7 @@ "val": { "i128": { "hi": 0, - "lo": 768080456308720645 + "lo": 164064772458761137 } } }, @@ -917,7 +1016,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13099873577956787422 } } }, @@ -1102,7 +1201,7 @@ "val": { "i128": { "hi": 0, - "lo": 68402551206809831 + "lo": 955723718909519659 } } }, @@ -1248,7 +1347,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13146691387337538575 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.143.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.143.json index c7629af..1042677 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.143.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.143.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 431916312081835309 + "lo": 358015465116075504 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 893061969298100238 + "lo": 489257264151632252 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 431916312081835309 + "lo": 358015465116075504 } }, { "i128": { "hi": 0, - "lo": 893061969298100238 + "lo": 489257264151632252 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 431916312081835309 + "lo": 358015465116075504 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 893061969298100238 + "lo": 489257264151632252 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 621070070313951520 + "lo": 418523197668498698 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 431916312081835309 + "lo": 358015465116075504 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 893061969298100238 + "lo": 489257264151632252 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 621070070313951520 + "lo": 418523197668498698 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 431916312081835309 + "lo": 358015465116075504 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 893061969298100238 + "lo": 489257264151632252 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.144.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.144.json index d4cbb8a..bfbd2a3 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.144.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.144.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 861083825211015228 + "lo": 460859217946455270 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 892058020733098054 + "lo": 348903662551588215 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 861083825211015228 + "lo": 460859217946455270 } }, { "i128": { "hi": 0, - "lo": 892058020733098054 + "lo": 348903662551588215 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 861083825211015228 + "lo": 460859217946455270 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 892058020733098054 + "lo": 348903662551588215 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 876434100661894147 + "lo": 400993103509497875 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 861083825211015228 + "lo": 460859217946455270 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 892058020733098054 + "lo": 348903662551588215 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 876434100661894147 + "lo": 400993103509497875 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 861083825211015228 + "lo": 460859217946455270 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 892058020733098054 + "lo": 348903662551588215 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.145.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.145.json index 0f826d9..31a8c10 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.145.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.145.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 225094696660945356 + "lo": 531140712291830583 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 242589849728297354 + "lo": 549351450230510001 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 225094696660945356 + "lo": 531140712291830583 } }, { "i128": { "hi": 0, - "lo": 242589849728297354 + "lo": 549351450230510001 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 225094696660945356 + "lo": 531140712291830583 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 242589849728297354 + "lo": 549351450230510001 } } ] @@ -222,65 +222,6 @@ } ] ], - [ - [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - { - "function": { - "contract_fn": { - "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "swap", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "bool": false - }, - { - "i128": { - "hi": 0, - "lo": 56861488034381442 - } - }, - { - "i128": { - "hi": 2, - "lo": 13106511852580896768 - } - } - ] - } - }, - "sub_invocations": [ - { - "function": { - "contract_fn": { - "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", - "function_name": "transfer", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "i128": { - "hi": 0, - "lo": 69121013514035415 - } - } - ] - } - }, - "sub_invocations": [] - } - ] - } - ] - ], - [], [] ], "ledger": { @@ -585,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 233678601154695827 + "lo": 540169344348587779 } } } @@ -646,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 294215710174980771 + "lo": 531140712291830583 } } }, @@ -709,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 185728361693915912 + "lo": 549351450230510001 } } }, @@ -736,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 233678601154695827 + "lo": 540169344348587779 } } } @@ -786,39 +734,6 @@ 6311999 ] ], - [ - { - "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary", - "val": "void" - } - }, - "ext": "v0" - }, - 6311999 - ] - ], [ { "contract_data": { @@ -863,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 294215710174980771 + "lo": 531140712291830583 } } }, @@ -1009,7 +924,7 @@ "val": { "i128": { "hi": 2, - "lo": 13037390839066861353 + "lo": 13106511852580896768 } } }, @@ -1194,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 185728361693915912 + "lo": 549351450230510001 } } }, @@ -1340,7 +1255,7 @@ "val": { "i128": { "hi": 2, - "lo": 13163373340615278210 + "lo": 13106511852580896768 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.146.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.146.json index 8b91278..dcecc74 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.146.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.146.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 594653602162927413 + "lo": 138447915010052776 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 443061156453349839 + "lo": 804368964703953043 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 594653602162927413 + "lo": 138447915010052776 } }, { "i128": { "hi": 0, - "lo": 443061156453349839 + "lo": 804368964703953043 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 594653602162927413 + "lo": 138447915010052776 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 443061156453349839 + "lo": 804368964703953043 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 513291255198699868 + "lo": 333711261515186256 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 594653602162927413 + "lo": 138447915010052776 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 443061156453349839 + "lo": 804368964703953043 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 513291255198699868 + "lo": 333711261515186256 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 594653602162927413 + "lo": 138447915010052776 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 443061156453349839 + "lo": 804368964703953043 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.147.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.147.json index 3f505a2..ae9eb76 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.147.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.147.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 170973828634879460 + "lo": 643200566086831812 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 726189004613524616 + "lo": 611038371151634656 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 170973828634879460 + "lo": 643200566086831812 } }, { "i128": { "hi": 0, - "lo": 726189004613524616 + "lo": 611038371151634656 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 170973828634879460 + "lo": 643200566086831812 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 726189004613524616 + "lo": 611038371151634656 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 352362475912697672 + "lo": 626913252552143015 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 170973828634879460 + "lo": 643200566086831812 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 726189004613524616 + "lo": 611038371151634656 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 352362475912697672 + "lo": 626913252552143015 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 170973828634879460 + "lo": 643200566086831812 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 726189004613524616 + "lo": 611038371151634656 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.148.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.148.json index 6aa1697..678c48d 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.148.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.148.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 195488273176422266 + "lo": 285447137365504069 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 284641609169839692 + "lo": 730911244727738106 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 195488273176422266 + "lo": 285447137365504069 } }, { "i128": { "hi": 0, - "lo": 284641609169839692 + "lo": 730911244727738106 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 195488273176422266 + "lo": 285447137365504069 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 284641609169839692 + "lo": 730911244727738106 } } ] @@ -222,65 +222,6 @@ } ] ], - [ - [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - { - "function": { - "contract_fn": { - "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "swap", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "bool": true - }, - { - "i128": { - "hi": 0, - "lo": 27242410790379725 - } - }, - { - "i128": { - "hi": 2, - "lo": 13106511852580896768 - } - } - ] - } - }, - "sub_invocations": [ - { - "function": { - "contract_fn": { - "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", - "function_name": "transfer", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "i128": { - "hi": 0, - "lo": 46227922069418844 - } - } - ] - } - }, - "sub_invocations": [] - } - ] - } - ] - ], - [], [] ], "ledger": { @@ -585,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 235890009645957755 + "lo": 456767470903730425 } } } @@ -646,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 168245862386042541 + "lo": 285447137365504069 } } }, @@ -709,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 330869531239258536 + "lo": 730911244727738106 } } }, @@ -736,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 235890009645957755 + "lo": 456767470903730425 } } } @@ -786,39 +734,6 @@ 6311999 ] ], - [ - { - "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary", - "val": "void" - } - }, - "ext": "v0" - }, - 6311999 - ] - ], [ { "contract_data": { @@ -863,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 168245862386042541 + "lo": 285447137365504069 } } }, @@ -1009,7 +924,7 @@ "val": { "i128": { "hi": 2, - "lo": 13133754263371276493 + "lo": 13106511852580896768 } } }, @@ -1194,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 330869531239258536 + "lo": 730911244727738106 } } }, @@ -1340,7 +1255,7 @@ "val": { "i128": { "hi": 2, - "lo": 13060283930511477924 + "lo": 13106511852580896768 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.149.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.149.json index f5c6205..de68d01 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.149.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.149.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 412311962666206714 + "lo": 416198635567389929 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 520449872104434008 + "lo": 14256347259463674 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 412311962666206714 + "lo": 416198635567389929 } }, { "i128": { "hi": 0, - "lo": 520449872104434008 + "lo": 14256347259463674 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 412311962666206714 + "lo": 416198635567389929 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 520449872104434008 + "lo": 14256347259463674 } } ] @@ -222,6 +222,65 @@ } ] ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "swap", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "bool": true + }, + { + "i128": { + "hi": 0, + "lo": 229871656302446441 + } + }, + { + "i128": { + "hi": 2, + "lo": 13106511852580896768 + } + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 17640983306417147 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [], [] ], "ledger": { @@ -526,7 +585,7 @@ "val": { "i128": { "hi": 0, - "lo": 463236125789813001 + "lo": 77029035289062784 } } } @@ -587,18 +646,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +668,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +705,7 @@ "val": { "i128": { "hi": 0, - "lo": 412311962666206714 + "lo": 186326979264943488 } } }, @@ -650,7 +716,7 @@ "val": { "i128": { "hi": 0, - "lo": 520449872104434008 + "lo": 31897330565880821 } } }, @@ -677,7 +743,7 @@ "val": { "i128": { "hi": 0, - "lo": 463236125789813001 + "lo": 77029035289062784 } } } @@ -727,6 +793,39 @@ 6311999 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], [ { "contract_data": { @@ -771,7 +870,7 @@ "val": { "i128": { "hi": 0, - "lo": 412311962666206714 + "lo": 186326979264943488 } } }, @@ -917,7 +1016,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13336383508883343209 } } }, @@ -1102,7 +1201,7 @@ "val": { "i128": { "hi": 0, - "lo": 520449872104434008 + "lo": 31897330565880821 } } }, @@ -1248,7 +1347,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13088870869274479621 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.15.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.15.json index 1af85fc..ed9fb27 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.15.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.15.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 484515488138588868 + "lo": 389645193285157936 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 813889243129396862 + "lo": 545176774556732279 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 484515488138588868 + "lo": 389645193285157936 } }, { "i128": { "hi": 0, - "lo": 813889243129396862 + "lo": 545176774556732279 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 484515488138588868 + "lo": 389645193285157936 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 813889243129396862 + "lo": 545176774556732279 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 627966514971607667 + "lo": 460896419704836633 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 484515488138588868 + "lo": 389645193285157936 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 813889243129396862 + "lo": 545176774556732279 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 627966514971607667 + "lo": 460896419704836633 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 484515488138588868 + "lo": 389645193285157936 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 813889243129396862 + "lo": 545176774556732279 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.150.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.150.json index cb1b013..d24cdbe 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.150.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.150.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 374558221433268323 + "lo": 241969943877771214 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 483234782657718173 + "lo": 422862830085327573 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 374558221433268323 + "lo": 241969943877771214 } }, { "i128": { "hi": 0, - "lo": 483234782657718173 + "lo": 422862830085327573 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 374558221433268323 + "lo": 241969943877771214 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 483234782657718173 + "lo": 422862830085327573 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 425440431467164266 + "lo": 319875124484137118 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 374558221433268323 + "lo": 241969943877771214 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 483234782657718173 + "lo": 422862830085327573 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 425440431467164266 + "lo": 319875124484137118 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 374558221433268323 + "lo": 241969943877771214 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 483234782657718173 + "lo": 422862830085327573 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.151.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.151.json index 9f2075b..43f3b07 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.151.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.151.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 331521274397701144 + "lo": 82523239189871006 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 315490342495152315 + "lo": 681665010421580283 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 331521274397701144 + "lo": 82523239189871006 } }, { "i128": { "hi": 0, - "lo": 315490342495152315 + "lo": 681665010421580283 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 331521274397701144 + "lo": 82523239189871006 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 315490342495152315 + "lo": 681665010421580283 } } ] @@ -222,6 +222,65 @@ } ] ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "swap", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "bool": false + }, + { + "i128": { + "hi": 0, + "lo": 190620376577090092 + } + }, + { + "i128": { + "hi": 2, + "lo": 13106511852580896768 + } + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 32131386186833527 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [], [] ], "ledger": { @@ -526,7 +585,7 @@ "val": { "i128": { "hi": 0, - "lo": 323406494066152147 + "lo": 237177580522244938 } } } @@ -587,18 +646,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +668,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +705,7 @@ "val": { "i128": { "hi": 0, - "lo": 331521274397701144 + "lo": 114654625376704533 } } }, @@ -650,7 +716,7 @@ "val": { "i128": { "hi": 0, - "lo": 315490342495152315 + "lo": 491044633844490191 } } }, @@ -677,7 +743,7 @@ "val": { "i128": { "hi": 0, - "lo": 323406494066152147 + "lo": 237177580522244938 } } } @@ -727,6 +793,39 @@ 6311999 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], [ { "contract_data": { @@ -771,7 +870,7 @@ "val": { "i128": { "hi": 0, - "lo": 331521274397701144 + "lo": 114654625376704533 } } }, @@ -917,7 +1016,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13074380466394063241 } } }, @@ -1102,7 +1201,7 @@ "val": { "i128": { "hi": 0, - "lo": 315490342495152315 + "lo": 491044633844490191 } } }, @@ -1248,7 +1347,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13297132229157986860 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.152.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.152.json index 07007a4..9b2cc6f 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.152.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.152.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 839266741790740830 + "lo": 291898097998873183 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 352935047575331125 + "lo": 356924136820401079 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 839266741790740830 + "lo": 291898097998873183 } }, { "i128": { "hi": 0, - "lo": 352935047575331125 + "lo": 356924136820401079 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 839266741790740830 + "lo": 291898097998873183 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 352935047575331125 + "lo": 356924136820401079 } } ] @@ -222,65 +222,6 @@ } ] ], - [ - [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - { - "function": { - "contract_fn": { - "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "swap", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "bool": true - }, - { - "i128": { - "hi": 0, - "lo": 11667112342517624 - } - }, - { - "i128": { - "hi": 2, - "lo": 13106511852580896768 - } - } - ] - } - }, - "sub_invocations": [ - { - "function": { - "contract_fn": { - "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", - "function_name": "transfer", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "i128": { - "hi": 0, - "lo": 4990484616438045 - } - } - ] - } - }, - "sub_invocations": [] - } - ] - } - ] - ], - [], [] ], "ledger": { @@ -585,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 544248699991381015 + "lo": 322777751196956966 } } } @@ -646,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 827599629448223206 + "lo": 291898097998873183 } } }, @@ -709,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 357925532191769170 + "lo": 356924136820401079 } } }, @@ -736,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 544248699991381015 + "lo": 322777751196956966 } } } @@ -786,39 +734,6 @@ 6311999 ] ], - [ - { - "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary", - "val": "void" - } - }, - "ext": "v0" - }, - 6311999 - ] - ], [ { "contract_data": { @@ -863,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 827599629448223206 + "lo": 291898097998873183 } } }, @@ -1009,7 +924,7 @@ "val": { "i128": { "hi": 2, - "lo": 13118178964923414392 + "lo": 13106511852580896768 } } }, @@ -1194,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 357925532191769170 + "lo": 356924136820401079 } } }, @@ -1340,7 +1255,7 @@ "val": { "i128": { "hi": 2, - "lo": 13101521367964458723 + "lo": 13106511852580896768 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.153.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.153.json index 67878c8..325c227 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.153.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.153.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 542291652020617529 + "lo": 334327080584248269 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 976077977035807801 + "lo": 160304459070182241 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 542291652020617529 + "lo": 334327080584248269 } }, { "i128": { "hi": 0, - "lo": 976077977035807801 + "lo": 160304459070182241 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 542291652020617529 + "lo": 334327080584248269 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 976077977035807801 + "lo": 160304459070182241 } } ] @@ -222,65 +222,6 @@ } ] ], - [ - [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - { - "function": { - "contract_fn": { - "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "swap", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "bool": true - }, - { - "i128": { - "hi": 0, - "lo": 4560957020609015 - } - }, - { - "i128": { - "hi": 2, - "lo": 13106511852580896768 - } - } - ] - } - }, - "sub_invocations": [ - { - "function": { - "contract_fn": { - "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", - "function_name": "transfer", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "i128": { - "hi": 0, - "lo": 8303869352926295 - } - } - ] - } - }, - "sub_invocations": [] - } - ] - } - ] - ], - [], [] ], "ledger": { @@ -585,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 727543083719232803 + "lo": 231504042741311855 } } } @@ -646,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 537730695000008514 + "lo": 334327080584248269 } } }, @@ -709,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 984381846388734096 + "lo": 160304459070182241 } } }, @@ -736,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 727543083719232803 + "lo": 231504042741311855 } } } @@ -786,39 +734,6 @@ 6311999 ] ], - [ - { - "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary", - "val": "void" - } - }, - "ext": "v0" - }, - 6311999 - ] - ], [ { "contract_data": { @@ -863,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 537730695000008514 + "lo": 334327080584248269 } } }, @@ -1009,7 +924,7 @@ "val": { "i128": { "hi": 2, - "lo": 13111072809601505783 + "lo": 13106511852580896768 } } }, @@ -1194,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 984381846388734096 + "lo": 160304459070182241 } } }, @@ -1340,7 +1255,7 @@ "val": { "i128": { "hi": 2, - "lo": 13098207983227970473 + "lo": 13106511852580896768 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.154.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.154.json index 7d5bf0b..fde699f 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.154.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.154.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 706705912845984056 + "lo": 126695892383434536 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 289349207527975604 + "lo": 727099803761067052 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 706705912845984056 + "lo": 126695892383434536 } }, { "i128": { "hi": 0, - "lo": 289349207527975604 + "lo": 727099803761067052 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 706705912845984056 + "lo": 126695892383434536 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 289349207527975604 + "lo": 727099803761067052 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 452199951169081928 + "lo": 303513687482671069 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 706705912845984056 + "lo": 126695892383434536 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 289349207527975604 + "lo": 727099803761067052 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 452199951169081928 + "lo": 303513687482671069 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 706705912845984056 + "lo": 126695892383434536 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 289349207527975604 + "lo": 727099803761067052 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.155.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.155.json index c64a146..d6bb189 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.155.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.155.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 936637066927577846 + "lo": 836779240651864172 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 281523878860849200 + "lo": 777997065562448634 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 936637066927577846 + "lo": 836779240651864172 } }, { "i128": { "hi": 0, - "lo": 281523878860849200 + "lo": 777997065562448634 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 936637066927577846 + "lo": 836779240651864172 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 281523878860849200 + "lo": 777997065562448634 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 513503359449868185 + "lo": 806853018678572183 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 936637066927577846 + "lo": 836779240651864172 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 281523878860849200 + "lo": 777997065562448634 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 513503359449868185 + "lo": 806853018678572183 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 936637066927577846 + "lo": 836779240651864172 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 281523878860849200 + "lo": 777997065562448634 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.156.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.156.json index 98622ec..6a2374d 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.156.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.156.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 173949798761340950 + "lo": 260062943781951686 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 589585359497379065 + "lo": 957055633166586821 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 173949798761340950 + "lo": 260062943781951686 } }, { "i128": { "hi": 0, - "lo": 589585359497379065 + "lo": 957055633166586821 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 173949798761340950 + "lo": 260062943781951686 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 589585359497379065 + "lo": 957055633166586821 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 320247177407080276 + "lo": 498893480939972038 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 173949798761340950 + "lo": 260062943781951686 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 589585359497379065 + "lo": 957055633166586821 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 320247177407080276 + "lo": 498893480939972038 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 173949798761340950 + "lo": 260062943781951686 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 589585359497379065 + "lo": 957055633166586821 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.157.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.157.json index 5274364..4de417b 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.157.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.157.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 281755902200178519 + "lo": 130734829502779449 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 585036063920120733 + "lo": 298778511327523616 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 281755902200178519 + "lo": 130734829502779449 } }, { "i128": { "hi": 0, - "lo": 585036063920120733 + "lo": 298778511327523616 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 281755902200178519 + "lo": 130734829502779449 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 585036063920120733 + "lo": 298778511327523616 } } ] @@ -222,6 +222,65 @@ } ] ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "swap", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "bool": false + }, + { + "i128": { + "hi": 0, + "lo": 8483837315452802 + } + }, + { + "i128": { + "hi": 2, + "lo": 13106511852580896768 + } + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 3832210976862786 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [], [] ], "ledger": { @@ -526,7 +585,7 @@ "val": { "i128": { "hi": 0, - "lo": 406001679811124581 + "lo": 197637946097145166 } } } @@ -587,18 +646,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +668,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +705,7 @@ "val": { "i128": { "hi": 0, - "lo": 281755902200178519 + "lo": 134567040479642235 } } }, @@ -650,7 +716,7 @@ "val": { "i128": { "hi": 0, - "lo": 585036063920120733 + "lo": 290294674012070814 } } }, @@ -677,7 +743,7 @@ "val": { "i128": { "hi": 0, - "lo": 406001679811124581 + "lo": 197637946097145166 } } } @@ -727,6 +793,39 @@ 6311999 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], [ { "contract_data": { @@ -771,7 +870,7 @@ "val": { "i128": { "hi": 0, - "lo": 281755902200178519 + "lo": 134567040479642235 } } }, @@ -917,7 +1016,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13102679641604033982 } } }, @@ -1102,7 +1201,7 @@ "val": { "i128": { "hi": 0, - "lo": 585036063920120733 + "lo": 290294674012070814 } } }, @@ -1248,7 +1347,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13114995689896349570 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.158.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.158.json index 63870c5..83fd355 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.158.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.158.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 256725379868821567 + "lo": 689181699602001646 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 32789112430877893 + "lo": 598997801500602254 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 256725379868821567 + "lo": 689181699602001646 } }, { "i128": { "hi": 0, - "lo": 32789112430877893 + "lo": 598997801500602254 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 256725379868821567 + "lo": 689181699602001646 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 32789112430877893 + "lo": 598997801500602254 } } ] @@ -235,12 +235,12 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" }, { - "bool": false + "bool": true }, { "i128": { "hi": 0, - "lo": 10112501603093858 + "lo": 17357793120280877 } }, { @@ -256,7 +256,7 @@ { "function": { "contract_fn": { - "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", "function_name": "transfer", "args": [ { @@ -268,7 +268,7 @@ { "i128": { "hi": 0, - "lo": 114829666488929968 + "lo": 15522766478210542 } } ] @@ -585,7 +585,7 @@ "val": { "i128": { "hi": 0, - "lo": 91748554998858845 + "lo": 642509395181150229 } } } @@ -646,18 +646,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +668,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +705,7 @@ "val": { "i128": { "hi": 0, - "lo": 371555046357751535 + "lo": 671823906481720769 } } }, @@ -709,7 +716,7 @@ "val": { "i128": { "hi": 0, - "lo": 22676610827784035 + "lo": 614520567978812796 } } }, @@ -736,7 +743,7 @@ "val": { "i128": { "hi": 0, - "lo": 91748554998858845 + "lo": 642509395181150229 } } } @@ -863,7 +870,7 @@ "val": { "i128": { "hi": 0, - "lo": 371555046357751535 + "lo": 671823906481720769 } } }, @@ -1009,7 +1016,7 @@ "val": { "i128": { "hi": 2, - "lo": 12991682186091966800 + "lo": 13123869645701177645 } } }, @@ -1194,7 +1201,7 @@ "val": { "i128": { "hi": 0, - "lo": 22676610827784035 + "lo": 614520567978812796 } } }, @@ -1340,7 +1347,7 @@ "val": { "i128": { "hi": 2, - "lo": 13116624354183990626 + "lo": 13090989086102686226 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.159.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.159.json index 8dd5df3..f5c3c79 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.159.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.159.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 10604888480479205 + "lo": 608658453452373286 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 655038639648936602 + "lo": 577472277658799445 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 10604888480479205 + "lo": 608658453452373286 } }, { "i128": { "hi": 0, - "lo": 655038639648936602 + "lo": 577472277658799445 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 10604888480479205 + "lo": 608658453452373286 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 655038639648936602 + "lo": 577472277658799445 } } ] @@ -222,65 +222,6 @@ } ] ], - [ - [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - { - "function": { - "contract_fn": { - "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "swap", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "bool": false - }, - { - "i128": { - "hi": 0, - "lo": 82915290186928233 - } - }, - { - "i128": { - "hi": 2, - "lo": 13106511852580896768 - } - } - ] - } - }, - "sub_invocations": [ - { - "function": { - "contract_fn": { - "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", - "function_name": "transfer", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "i128": { - "hi": 0, - "lo": 1541543910740491 - } - } - ] - } - }, - "sub_invocations": [] - } - ] - } - ] - ], - [], [] ], "ledger": { @@ -585,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 83346335995541980 + "lo": 592860340578980172 } } } @@ -646,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 12146432391219696 + "lo": 608658453452373286 } } }, @@ -709,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 572123349462008369 + "lo": 577472277658799445 } } }, @@ -736,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 83346335995541980 + "lo": 592860340578980172 } } } @@ -786,39 +734,6 @@ 6311999 ] ], - [ - { - "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary", - "val": "void" - } - }, - "ext": "v0" - }, - 6311999 - ] - ], [ { "contract_data": { @@ -863,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 12146432391219696 + "lo": 608658453452373286 } } }, @@ -1009,7 +924,7 @@ "val": { "i128": { "hi": 2, - "lo": 13104970308670156277 + "lo": 13106511852580896768 } } }, @@ -1194,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 572123349462008369 + "lo": 577472277658799445 } } }, @@ -1340,7 +1255,7 @@ "val": { "i128": { "hi": 2, - "lo": 13189427142767825001 + "lo": 13106511852580896768 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.16.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.16.json index 97785a2..61de55a 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.16.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.16.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 723910123868042009 + "lo": 936749654771481133 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 411405826796630943 + "lo": 5285443664570446 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 723910123868042009 + "lo": 936749654771481133 } }, { "i128": { "hi": 0, - "lo": 411405826796630943 + "lo": 5285443664570446 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 723910123868042009 + "lo": 936749654771481133 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 411405826796630943 + "lo": 5285443664570446 } } ] @@ -222,6 +222,65 @@ } ] ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "swap", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "bool": false + }, + { + "i128": { + "hi": 0, + "lo": 4691184923550719 + } + }, + { + "i128": { + "hi": 2, + "lo": 13106511852580896768 + } + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 7417120893863521541 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [], [] ], "ledger": { @@ -526,7 +585,7 @@ "val": { "i128": { "hi": 0, - "lo": 545729642805284439 + "lo": 70364319993164699 } } } @@ -587,18 +646,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +668,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +705,7 @@ "val": { "i128": { "hi": 0, - "lo": 723910123868042009 + "lo": 8353870548635002674 } } }, @@ -650,7 +716,7 @@ "val": { "i128": { "hi": 0, - "lo": 411405826796630943 + "lo": 594258741019727 } } }, @@ -677,7 +743,7 @@ "val": { "i128": { "hi": 0, - "lo": 545729642805284439 + "lo": 70364319993164699 } } } @@ -727,6 +793,39 @@ 6311999 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], [ { "contract_data": { @@ -771,7 +870,7 @@ "val": { "i128": { "hi": 0, - "lo": 723910123868042009 + "lo": 8353870548635002674 } } }, @@ -917,7 +1016,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 5689390958717375227 } } }, @@ -1102,7 +1201,7 @@ "val": { "i128": { "hi": 0, - "lo": 411405826796630943 + "lo": 594258741019727 } } }, @@ -1248,7 +1347,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13111203037504447487 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.160.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.160.json index b65a202..dca5379 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.160.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.160.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 854521214402378402 + "lo": 738085708767471162 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 215313711548380145 + "lo": 829313125753351791 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 854521214402378402 + "lo": 738085708767471162 } }, { "i128": { "hi": 0, - "lo": 215313711548380145 + "lo": 829313125753351791 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 854521214402378402 + "lo": 738085708767471162 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 215313711548380145 + "lo": 829313125753351791 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 428940711835336525 + "lo": 782370862322868973 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 854521214402378402 + "lo": 738085708767471162 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 215313711548380145 + "lo": 829313125753351791 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 428940711835336525 + "lo": 782370862322868973 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 854521214402378402 + "lo": 738085708767471162 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 215313711548380145 + "lo": 829313125753351791 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.161.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.161.json index d005e7d..ea1e905 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.161.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.161.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 203344378456535193 + "lo": 639532224017696947 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 407797515743514223 + "lo": 467156696949321132 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 203344378456535193 + "lo": 639532224017696947 } }, { "i128": { "hi": 0, - "lo": 407797515743514223 + "lo": 467156696949321132 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 203344378456535193 + "lo": 639532224017696947 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 407797515743514223 + "lo": 467156696949321132 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 287964116471104824 + "lo": 546591036667050190 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 203344378456535193 + "lo": 639532224017696947 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 407797515743514223 + "lo": 467156696949321132 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 287964116471104824 + "lo": 546591036667050190 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 203344378456535193 + "lo": 639532224017696947 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 407797515743514223 + "lo": 467156696949321132 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.162.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.162.json index ffd8e2b..73982c7 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.162.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.162.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 373006597860401084 + "lo": 172982960239340887 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 431250154446498480 + "lo": 270067305236351433 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 373006597860401084 + "lo": 172982960239340887 } }, { "i128": { "hi": 0, - "lo": 431250154446498480 + "lo": 270067305236351433 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 373006597860401084 + "lo": 172982960239340887 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 431250154446498480 + "lo": 270067305236351433 } } ] @@ -222,6 +222,65 @@ } ] ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "swap", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "bool": true + }, + { + "i128": { + "hi": 0, + "lo": 17892696726661097 + } + }, + { + "i128": { + "hi": 2, + "lo": 13106511852580896768 + } + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 31251302285032801 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [], [] ], "ledger": { @@ -526,7 +585,7 @@ "val": { "i128": { "hi": 0, - "lo": 401072503341803421 + "lo": 216141254562024134 } } } @@ -587,18 +646,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +668,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +705,7 @@ "val": { "i128": { "hi": 0, - "lo": 373006597860401084 + "lo": 155090263512679790 } } }, @@ -650,7 +716,7 @@ "val": { "i128": { "hi": 0, - "lo": 431250154446498480 + "lo": 301318607521384234 } } }, @@ -677,7 +743,7 @@ "val": { "i128": { "hi": 0, - "lo": 401072503341803421 + "lo": 216141254562024134 } } } @@ -727,6 +793,39 @@ 6311999 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], [ { "contract_data": { @@ -771,7 +870,7 @@ "val": { "i128": { "hi": 0, - "lo": 373006597860401084 + "lo": 155090263512679790 } } }, @@ -917,7 +1016,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13124404549307557865 } } }, @@ -1102,7 +1201,7 @@ "val": { "i128": { "hi": 0, - "lo": 431250154446498480 + "lo": 301318607521384234 } } }, @@ -1248,7 +1347,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13075260550295863967 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.163.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.163.json index c435f64..8d2868e 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.163.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.163.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 644884529330713697 + "lo": 401220776491974233 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 367230084381395408 + "lo": 668137366690162459 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 644884529330713697 + "lo": 401220776491974233 } }, { "i128": { "hi": 0, - "lo": 367230084381395408 + "lo": 668137366690162459 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 644884529330713697 + "lo": 401220776491974233 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 367230084381395408 + "lo": 668137366690162459 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 486642579438312665 + "lo": 517755340935011410 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 644884529330713697 + "lo": 401220776491974233 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 367230084381395408 + "lo": 668137366690162459 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 486642579438312665 + "lo": 517755340935011410 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 644884529330713697 + "lo": 401220776491974233 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 367230084381395408 + "lo": 668137366690162459 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.164.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.164.json index 6338260..5ef3c2e 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.164.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.164.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 468372829685249134 + "lo": 690654919722276230 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 641437558208877270 + "lo": 249549374834065203 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 468372829685249134 + "lo": 690654919722276230 } }, { "i128": { "hi": 0, - "lo": 641437558208877270 + "lo": 249549374834065203 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 468372829685249134 + "lo": 690654919722276230 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 641437558208877270 + "lo": 249549374834065203 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 548116706737432471 + "lo": 415153590184121523 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 468372829685249134 + "lo": 690654919722276230 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 641437558208877270 + "lo": 249549374834065203 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 548116706737432471 + "lo": 415153590184121523 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 468372829685249134 + "lo": 690654919722276230 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 641437558208877270 + "lo": 249549374834065203 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.165.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.165.json index 51526b4..ae99be3 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.165.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.165.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 351117690348066517 + "lo": 185311544651328881 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 227515855232588188 + "lo": 823592754741234953 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 351117690348066517 + "lo": 185311544651328881 } }, { "i128": { "hi": 0, - "lo": 227515855232588188 + "lo": 823592754741234953 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 351117690348066517 + "lo": 185311544651328881 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 227515855232588188 + "lo": 823592754741234953 } } ] @@ -222,65 +222,6 @@ } ] ], - [ - [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - { - "function": { - "contract_fn": { - "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "swap", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "bool": false - }, - { - "i128": { - "hi": 0, - "lo": 12895640084277667 - } - }, - { - "i128": { - "hi": 2, - "lo": 13106511852580896768 - } - } - ] - } - }, - "sub_invocations": [ - { - "function": { - "contract_fn": { - "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", - "function_name": "transfer", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "i128": { - "hi": 0, - "lo": 21160690266320443 - } - } - ] - } - }, - "sub_invocations": [] - } - ] - } - ] - ], - [], [] ], "ledger": { @@ -585,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 282639065960159563 + "lo": 390667691964335997 } } } @@ -646,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 372278380614386960 + "lo": 185311544651328881 } } }, @@ -709,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 214620215148310521 + "lo": 823592754741234953 } } }, @@ -736,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 282639065960159563 + "lo": 390667691964335997 } } } @@ -786,39 +734,6 @@ 6311999 ] ], - [ - { - "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary", - "val": "void" - } - }, - "ext": "v0" - }, - 6311999 - ] - ], [ { "contract_data": { @@ -863,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 372278380614386960 + "lo": 185311544651328881 } } }, @@ -1009,7 +924,7 @@ "val": { "i128": { "hi": 2, - "lo": 13085351162314576325 + "lo": 13106511852580896768 } } }, @@ -1194,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 214620215148310521 + "lo": 823592754741234953 } } }, @@ -1340,7 +1255,7 @@ "val": { "i128": { "hi": 2, - "lo": 13119407492665174435 + "lo": 13106511852580896768 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.166.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.166.json index 9432510..6763bc6 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.166.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.166.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 121262933656017409 + "lo": 178615145914635809 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 467959385562348707 + "lo": 761963106694368625 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 121262933656017409 + "lo": 178615145914635809 } }, { "i128": { "hi": 0, - "lo": 467959385562348707 + "lo": 761963106694368625 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 121262933656017409 + "lo": 178615145914635809 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 467959385562348707 + "lo": 761963106694368625 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 238214457842419300 + "lo": 368914829579652253 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 121262933656017409 + "lo": 178615145914635809 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 467959385562348707 + "lo": 761963106694368625 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 238214457842419300 + "lo": 368914829579652253 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 121262933656017409 + "lo": 178615145914635809 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 467959385562348707 + "lo": 761963106694368625 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.167.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.167.json index 689b9e1..5ccebab 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.167.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.167.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 644597081915584942 + "lo": 508390557163093503 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 13496985168362284 + "lo": 324697103015424024 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 644597081915584942 + "lo": 508390557163093503 } }, { "i128": { "hi": 0, - "lo": 13496985168362284 + "lo": 324697103015424024 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 644597081915584942 + "lo": 508390557163093503 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 13496985168362284 + "lo": 324697103015424024 } } ] @@ -222,65 +222,6 @@ } ] ], - [ - [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - { - "function": { - "contract_fn": { - "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "swap", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "bool": false - }, - { - "i128": { - "hi": 0, - "lo": 10136793376823448 - } - }, - { - "i128": { - "hi": 2, - "lo": 13106511852580896768 - } - } - ] - } - }, - "sub_invocations": [ - { - "function": { - "contract_fn": { - "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", - "function_name": "transfer", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "i128": { - "hi": 0, - "lo": 1950427018408968807 - } - } - ] - } - }, - "sub_invocations": [] - } - ] - } - ] - ], - [], [] ], "ledger": { @@ -585,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 93274419077173877 + "lo": 406291694612692996 } } } @@ -646,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 2595024100324553749 + "lo": 508390557163093503 } } }, @@ -709,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 3360191791538836 + "lo": 324697103015424024 } } }, @@ -736,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 93274419077173877 + "lo": 406291694612692996 } } } @@ -786,39 +734,6 @@ 6311999 ] ], - [ - { - "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary", - "val": "void" - } - }, - "ext": "v0" - }, - 6311999 - ] - ], [ { "contract_data": { @@ -863,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 2595024100324553749 + "lo": 508390557163093503 } } }, @@ -1009,7 +924,7 @@ "val": { "i128": { "hi": 2, - "lo": 11156084834171927961 + "lo": 13106511852580896768 } } }, @@ -1194,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 3360191791538836 + "lo": 324697103015424024 } } }, @@ -1340,7 +1255,7 @@ "val": { "i128": { "hi": 2, - "lo": 13116648645957720216 + "lo": 13106511852580896768 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.168.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.168.json index cea2bf7..fb8e1d9 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.168.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.168.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 724511609091991095 + "lo": 252335505200450103 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 596945442241186473 + "lo": 914545364028606738 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 724511609091991095 + "lo": 252335505200450103 } }, { "i128": { "hi": 0, - "lo": 596945442241186473 + "lo": 914545364028606738 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 724511609091991095 + "lo": 252335505200450103 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 596945442241186473 + "lo": 914545364028606738 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 657642686341368995 + "lo": 480387621052924331 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 724511609091991095 + "lo": 252335505200450103 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 596945442241186473 + "lo": 914545364028606738 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 657642686341368995 + "lo": 480387621052924331 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 724511609091991095 + "lo": 252335505200450103 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 596945442241186473 + "lo": 914545364028606738 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.169.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.169.json index 3d6f20f..52c7fb9 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.169.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.169.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 199892250613873352 + "lo": 182254004798861654 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 122418008278141824 + "lo": 888793369450974904 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 199892250613873352 + "lo": 182254004798861654 } }, { "i128": { "hi": 0, - "lo": 122418008278141824 + "lo": 888793369450974904 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 199892250613873352 + "lo": 182254004798861654 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 122418008278141824 + "lo": 888793369450974904 } } ] @@ -240,7 +240,7 @@ { "i128": { "hi": 0, - "lo": 41907425897477135 + "lo": 72907731163577760 } }, { @@ -268,7 +268,7 @@ { "i128": { "hi": 0, - "lo": 104361140613545007 + "lo": 16335266227598683 } } ] @@ -585,7 +585,7 @@ "val": { "i128": { "hi": 0, - "lo": 156430211884998570 + "lo": 402475031549926583 } } } @@ -646,18 +646,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +668,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +705,7 @@ "val": { "i128": { "hi": 0, - "lo": 304253391227418359 + "lo": 198589271026460337 } } }, @@ -709,7 +716,7 @@ "val": { "i128": { "hi": 0, - "lo": 80510582380664689 + "lo": 815885638287397144 } } }, @@ -736,7 +743,7 @@ "val": { "i128": { "hi": 0, - "lo": 156430211884998570 + "lo": 402475031549926583 } } } @@ -863,7 +870,7 @@ "val": { "i128": { "hi": 0, - "lo": 304253391227418359 + "lo": 198589271026460337 } } }, @@ -1009,7 +1016,7 @@ "val": { "i128": { "hi": 2, - "lo": 13002150711967351761 + "lo": 13090176586353298085 } } }, @@ -1194,7 +1201,7 @@ "val": { "i128": { "hi": 0, - "lo": 80510582380664689 + "lo": 815885638287397144 } } }, @@ -1340,7 +1347,7 @@ "val": { "i128": { "hi": 2, - "lo": 13148419278478373903 + "lo": 13179419583744474528 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.17.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.17.json index 12402ea..ad76990 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.17.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.17.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 11936481020976879 + "lo": 493361339277586932 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 329952485385028661 + "lo": 574661963584900709 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 11936481020976879 + "lo": 493361339277586932 } }, { "i128": { "hi": 0, - "lo": 329952485385028661 + "lo": 574661963584900709 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 11936481020976879 + "lo": 493361339277586932 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 329952485385028661 + "lo": 574661963584900709 } } ] @@ -222,65 +222,6 @@ } ] ], - [ - [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - { - "function": { - "contract_fn": { - "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "swap", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "bool": false - }, - { - "i128": { - "hi": 0, - "lo": 201031457723756119 - } - }, - { - "i128": { - "hi": 2, - "lo": 13106511852580896768 - } - } - ] - } - }, - "sub_invocations": [ - { - "function": { - "contract_fn": { - "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", - "function_name": "transfer", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "i128": { - "hi": 0, - "lo": 18669015515916049 - } - } - ] - } - }, - "sub_invocations": [] - } - ] - } - ] - ], - [], [] ], "ledger": { @@ -585,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 62757243244286516 + "lo": 532462201462352166 } } } @@ -646,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 30605496536892928 + "lo": 493361339277586932 } } }, @@ -709,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 128921027661272542 + "lo": 574661963584900709 } } }, @@ -736,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 62757243244286516 + "lo": 532462201462352166 } } } @@ -786,39 +734,6 @@ 6311999 ] ], - [ - { - "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary", - "val": "void" - } - }, - "ext": "v0" - }, - 6311999 - ] - ], [ { "contract_data": { @@ -863,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 30605496536892928 + "lo": 493361339277586932 } } }, @@ -1009,7 +924,7 @@ "val": { "i128": { "hi": 2, - "lo": 13087842837064980719 + "lo": 13106511852580896768 } } }, @@ -1194,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 128921027661272542 + "lo": 574661963584900709 } } }, @@ -1340,7 +1255,7 @@ "val": { "i128": { "hi": 2, - "lo": 13307543310304652887 + "lo": 13106511852580896768 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.170.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.170.json index dcbfa8f..4895bc8 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.170.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.170.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 398421225047380936 + "lo": 439567156214961702 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 917367342395511333 + "lo": 987665257755318439 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 398421225047380936 + "lo": 439567156214961702 } }, { "i128": { "hi": 0, - "lo": 917367342395511333 + "lo": 987665257755318439 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 398421225047380936 + "lo": 439567156214961702 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 917367342395511333 + "lo": 987665257755318439 } } ] @@ -222,6 +222,65 @@ } ] ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "swap", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "bool": false + }, + { + "i128": { + "hi": 0, + "lo": 4336213624403300 + } + }, + { + "i128": { + "hi": 2, + "lo": 13106511852580896768 + } + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 1944204211639339 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [], [] ], "ledger": { @@ -526,7 +585,7 @@ "val": { "i128": { "hi": 0, - "lo": 604564819002627528 + "lo": 658896963601914373 } } } @@ -587,18 +646,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +668,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +705,7 @@ "val": { "i128": { "hi": 0, - "lo": 398421225047380936 + "lo": 441511360426601041 } } }, @@ -650,7 +716,7 @@ "val": { "i128": { "hi": 0, - "lo": 917367342395511333 + "lo": 983329044130915139 } } }, @@ -677,7 +743,7 @@ "val": { "i128": { "hi": 0, - "lo": 604564819002627528 + "lo": 658896963601914373 } } } @@ -727,6 +793,39 @@ 6311999 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], [ { "contract_data": { @@ -771,7 +870,7 @@ "val": { "i128": { "hi": 0, - "lo": 398421225047380936 + "lo": 441511360426601041 } } }, @@ -917,7 +1016,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13104567648369257429 } } }, @@ -1102,7 +1201,7 @@ "val": { "i128": { "hi": 0, - "lo": 917367342395511333 + "lo": 983329044130915139 } } }, @@ -1248,7 +1347,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13110848066205300068 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.171.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.171.json index ee5d645..ff8eddb 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.171.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.171.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 475815247694452947 + "lo": 151340425813554043 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 331200662643441498 + "lo": 656172346830914057 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 475815247694452947 + "lo": 151340425813554043 } }, { "i128": { "hi": 0, - "lo": 331200662643441498 + "lo": 656172346830914057 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 475815247694452947 + "lo": 151340425813554043 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 331200662643441498 + "lo": 656172346830914057 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 396976479570586228 + "lo": 315127596976954086 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 475815247694452947 + "lo": 151340425813554043 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 331200662643441498 + "lo": 656172346830914057 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 396976479570586228 + "lo": 315127596976954086 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 475815247694452947 + "lo": 151340425813554043 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 331200662643441498 + "lo": 656172346830914057 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.172.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.172.json index 213ae91..0d444fb 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.172.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.172.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 930914805547800124 + "lo": 539144356285689299 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 629200071415329248 + "lo": 6063322362682468 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 930914805547800124 + "lo": 539144356285689299 } }, { "i128": { "hi": 0, - "lo": 629200071415329248 + "lo": 6063322362682468 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 930914805547800124 + "lo": 539144356285689299 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 629200071415329248 + "lo": 6063322362682468 } } ] @@ -222,6 +222,65 @@ } ] ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "swap", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "bool": false + }, + { + "i128": { + "hi": 0, + "lo": 3431862581004832 + } + }, + { + "i128": { + "hi": 2, + "lo": 13106511852580896768 + } + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 705249939815384899 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [], [] ], "ledger": { @@ -526,7 +585,7 @@ "val": { "i128": { "hi": 0, - "lo": 765331080077284707 + "lo": 57175222187421921 } } } @@ -587,18 +646,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +668,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +705,7 @@ "val": { "i128": { "hi": 0, - "lo": 930914805547800124 + "lo": 1244394296101074198 } } }, @@ -650,7 +716,7 @@ "val": { "i128": { "hi": 0, - "lo": 629200071415329248 + "lo": 2631459781677636 } } }, @@ -677,7 +743,7 @@ "val": { "i128": { "hi": 0, - "lo": 765331080077284707 + "lo": 57175222187421921 } } } @@ -727,6 +793,39 @@ 6311999 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], [ { "contract_data": { @@ -771,7 +870,7 @@ "val": { "i128": { "hi": 0, - "lo": 930914805547800124 + "lo": 1244394296101074198 } } }, @@ -917,7 +1016,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 12401261912765511869 } } }, @@ -1102,7 +1201,7 @@ "val": { "i128": { "hi": 0, - "lo": 629200071415329248 + "lo": 2631459781677636 } } }, @@ -1248,7 +1347,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13109943715161901600 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.173.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.173.json index d362afe..4596a41 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.173.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.173.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 71327855665505072 + "lo": 719258829687577769 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 683057022828935144 + "lo": 134135458080732746 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 71327855665505072 + "lo": 719258829687577769 } }, { "i128": { "hi": 0, - "lo": 683057022828935144 + "lo": 134135458080732746 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 71327855665505072 + "lo": 719258829687577769 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 683057022828935144 + "lo": 134135458080732746 } } ] @@ -222,65 +222,6 @@ } ] ], - [ - [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - { - "function": { - "contract_fn": { - "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "swap", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "bool": true - }, - { - "i128": { - "hi": 0, - "lo": 21888299734782993 - } - }, - { - "i128": { - "hi": 2, - "lo": 13106511852580896768 - } - } - ] - } - }, - "sub_invocations": [ - { - "function": { - "contract_fn": { - "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", - "function_name": "transfer", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "i128": { - "hi": 0, - "lo": 303318757690675676 - } - } - ] - } - }, - "sub_invocations": [] - } - ] - } - ] - ], - [], [] ], "ledger": { @@ -585,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 220728323365289686 + "lo": 310609260323569524 } } } @@ -646,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 49439555930722079 + "lo": 719258829687577769 } } }, @@ -709,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 986375780519610820 + "lo": 134135458080732746 } } }, @@ -736,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 220728323365289686 + "lo": 310609260323569524 } } } @@ -786,39 +734,6 @@ 6311999 ] ], - [ - { - "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary", - "val": "void" - } - }, - "ext": "v0" - }, - 6311999 - ] - ], [ { "contract_data": { @@ -863,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 49439555930722079 + "lo": 719258829687577769 } } }, @@ -1009,7 +924,7 @@ "val": { "i128": { "hi": 2, - "lo": 13128400152315679761 + "lo": 13106511852580896768 } } }, @@ -1194,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 986375780519610820 + "lo": 134135458080732746 } } }, @@ -1340,7 +1255,7 @@ "val": { "i128": { "hi": 2, - "lo": 12803193094890221092 + "lo": 13106511852580896768 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.174.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.174.json index f8a7d36..f10cdae 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.174.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.174.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 814672361080474554 + "lo": 527602160134771324 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 86638447766264660 + "lo": 401756715251867475 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 814672361080474554 + "lo": 527602160134771324 } }, { "i128": { "hi": 0, - "lo": 86638447766264660 + "lo": 401756715251867475 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 814672361080474554 + "lo": 527602160134771324 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 86638447766264660 + "lo": 401756715251867475 } } ] @@ -222,65 +222,6 @@ } ] ], - [ - [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - { - "function": { - "contract_fn": { - "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "swap", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "bool": true - }, - { - "i128": { - "hi": 0, - "lo": 116323923482578107 - } - }, - { - "i128": { - "hi": 2, - "lo": 13106511852580896768 - } - } - ] - } - }, - "sub_invocations": [ - { - "function": { - "contract_fn": { - "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", - "function_name": "transfer", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "i128": { - "hi": 0, - "lo": 14474793631577033 - } - } - ] - } - }, - "sub_invocations": [] - } - ] - } - ] - ], - [], [] ], "ledger": { @@ -585,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 265672634650409934 + "lo": 460399512179949543 } } } @@ -646,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 698348437597896447 + "lo": 527602160134771324 } } }, @@ -709,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 101113241397841693 + "lo": 401756715251867475 } } }, @@ -736,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 265672634650409934 + "lo": 460399512179949543 } } } @@ -786,39 +734,6 @@ 6311999 ] ], - [ - { - "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary", - "val": "void" - } - }, - "ext": "v0" - }, - 6311999 - ] - ], [ { "contract_data": { @@ -863,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 698348437597896447 + "lo": 527602160134771324 } } }, @@ -1009,7 +924,7 @@ "val": { "i128": { "hi": 2, - "lo": 13222835776063474875 + "lo": 13106511852580896768 } } }, @@ -1194,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 101113241397841693 + "lo": 401756715251867475 } } }, @@ -1340,7 +1255,7 @@ "val": { "i128": { "hi": 2, - "lo": 13092037058949319735 + "lo": 13106511852580896768 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.175.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.175.json index 8c9c91b..e3510e7 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.175.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.175.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 297482103229538118 + "lo": 718464688512307500 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 402507305820766192 + "lo": 203678089031517445 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 297482103229538118 + "lo": 718464688512307500 } }, { "i128": { "hi": 0, - "lo": 402507305820766192 + "lo": 203678089031517445 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 297482103229538118 + "lo": 718464688512307500 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 402507305820766192 + "lo": 203678089031517445 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 346032830669022556 + "lo": 382538252718353927 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 297482103229538118 + "lo": 718464688512307500 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 402507305820766192 + "lo": 203678089031517445 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 346032830669022556 + "lo": 382538252718353927 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 297482103229538118 + "lo": 718464688512307500 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 402507305820766192 + "lo": 203678089031517445 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.176.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.176.json index ff6965e..2346fc9 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.176.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.176.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 55817439780035718 + "lo": 434402931626628908 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 384975270400131712 + "lo": 902908141355851553 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 55817439780035718 + "lo": 434402931626628908 } }, { "i128": { "hi": 0, - "lo": 384975270400131712 + "lo": 902908141355851553 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 55817439780035718 + "lo": 434402931626628908 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 384975270400131712 + "lo": 902908141355851553 } } ] @@ -222,65 +222,6 @@ } ] ], - [ - [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - { - "function": { - "contract_fn": { - "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "swap", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "bool": false - }, - { - "i128": { - "hi": 0, - "lo": 78894769594934743 - } - }, - { - "i128": { - "hi": 2, - "lo": 13106511852580896768 - } - } - ] - } - }, - "sub_invocations": [ - { - "function": { - "contract_fn": { - "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", - "function_name": "transfer", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "i128": { - "hi": 0, - "lo": 14430696839400828 - } - } - ] - } - }, - "sub_invocations": [] - } - ] - } - ] - ], - [], [] ], "ledger": { @@ -585,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 146588996764294416 + "lo": 626279445291423061 } } } @@ -646,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 70248136619436546 + "lo": 434402931626628908 } } }, @@ -709,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 306080500805196969 + "lo": 902908141355851553 } } }, @@ -736,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 146588996764294416 + "lo": 626279445291423061 } } } @@ -786,39 +734,6 @@ 6311999 ] ], - [ - { - "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary", - "val": "void" - } - }, - "ext": "v0" - }, - 6311999 - ] - ], [ { "contract_data": { @@ -863,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 70248136619436546 + "lo": 434402931626628908 } } }, @@ -1009,7 +924,7 @@ "val": { "i128": { "hi": 2, - "lo": 13092081155741495940 + "lo": 13106511852580896768 } } }, @@ -1194,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 306080500805196969 + "lo": 902908141355851553 } } }, @@ -1340,7 +1255,7 @@ "val": { "i128": { "hi": 2, - "lo": 13185406622175831511 + "lo": 13106511852580896768 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.177.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.177.json index 5cda606..69a8cdf 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.177.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.177.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 151675385212155452 + "lo": 862204748840870966 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 489594215015606619 + "lo": 864104266851607404 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 151675385212155452 + "lo": 862204748840870966 } }, { "i128": { "hi": 0, - "lo": 489594215015606619 + "lo": 864104266851607404 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 151675385212155452 + "lo": 862204748840870966 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 489594215015606619 + "lo": 864104266851607404 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 272505763535626888 + "lo": 863153985319603969 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 151675385212155452 + "lo": 862204748840870966 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 489594215015606619 + "lo": 864104266851607404 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 272505763535626888 + "lo": 863153985319603969 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 151675385212155452 + "lo": 862204748840870966 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 489594215015606619 + "lo": 864104266851607404 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.178.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.178.json index c60c414..37b4a6c 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.178.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.178.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 879009923051286504 + "lo": 993662465813757587 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 104619927672917357 + "lo": 426975968346072776 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 879009923051286504 + "lo": 993662465813757587 } }, { "i128": { "hi": 0, - "lo": 104619927672917357 + "lo": 426975968346072776 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 879009923051286504 + "lo": 993662465813757587 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 104619927672917357 + "lo": 426975968346072776 } } ] @@ -222,65 +222,6 @@ } ] ], - [ - [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - { - "function": { - "contract_fn": { - "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "swap", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "bool": true - }, - { - "i128": { - "hi": 0, - "lo": 30625541390621634 - } - }, - { - "i128": { - "hi": 2, - "lo": 13106511852580896768 - } - } - ] - } - }, - "sub_invocations": [ - { - "function": { - "contract_fn": { - "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", - "function_name": "transfer", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "i128": { - "hi": 0, - "lo": 3788003461193649 - } - } - ] - } - }, - "sub_invocations": [] - } - ] - } - ] - ], - [], [] ], "ledger": { @@ -585,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 303252295248366167 + "lo": 651360110499542013 } } } @@ -646,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 848384381660664870 + "lo": 993662465813757587 } } }, @@ -709,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 108407931134111006 + "lo": 426975968346072776 } } }, @@ -736,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 303252295248366167 + "lo": 651360110499542013 } } } @@ -786,39 +734,6 @@ 6311999 ] ], - [ - { - "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary", - "val": "void" - } - }, - "ext": "v0" - }, - 6311999 - ] - ], [ { "contract_data": { @@ -863,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 848384381660664870 + "lo": 993662465813757587 } } }, @@ -1009,7 +924,7 @@ "val": { "i128": { "hi": 2, - "lo": 13137137393971518402 + "lo": 13106511852580896768 } } }, @@ -1194,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 108407931134111006 + "lo": 426975968346072776 } } }, @@ -1340,7 +1255,7 @@ "val": { "i128": { "hi": 2, - "lo": 13102723849119703119 + "lo": 13106511852580896768 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.179.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.179.json index b5fc972..fd03c4e 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.179.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.179.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 966809802273811195 + "lo": 235436880853818353 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 501714070633753806 + "lo": 691031912727492390 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 966809802273811195 + "lo": 235436880853818353 } }, { "i128": { "hi": 0, - "lo": 501714070633753806 + "lo": 691031912727492390 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 966809802273811195 + "lo": 235436880853818353 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 501714070633753806 + "lo": 691031912727492390 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 696463984300271237 + "lo": 403353936516068760 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 966809802273811195 + "lo": 235436880853818353 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 501714070633753806 + "lo": 691031912727492390 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 696463984300271237 + "lo": 403353936516068760 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 966809802273811195 + "lo": 235436880853818353 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 501714070633753806 + "lo": 691031912727492390 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.18.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.18.json index a3ba5e2..98c0c45 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.18.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.18.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 784490589104057363 + "lo": 903313724239798429 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 222061726952502799 + "lo": 634647778065458457 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 784490589104057363 + "lo": 903313724239798429 } }, { "i128": { "hi": 0, - "lo": 222061726952502799 + "lo": 634647778065458457 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 784490589104057363 + "lo": 903313724239798429 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 222061726952502799 + "lo": 634647778065458457 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 417379126208335020 + "lo": 757156554475243471 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 784490589104057363 + "lo": 903313724239798429 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 222061726952502799 + "lo": 634647778065458457 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 417379126208335020 + "lo": 757156554475243471 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 784490589104057363 + "lo": 903313724239798429 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 222061726952502799 + "lo": 634647778065458457 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.180.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.180.json index b54c3a3..d38c635 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.180.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.180.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 324522115227788692 + "lo": 957333669278168149 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 69997726946289 + "lo": 594165421303288591 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 324522115227788692 + "lo": 957333669278168149 } }, { "i128": { "hi": 0, - "lo": 69997726946289 + "lo": 594165421303288591 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 324522115227788692 + "lo": 957333669278168149 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 69997726946289 + "lo": 594165421303288591 } } ] @@ -222,65 +222,6 @@ } ] ], - [ - [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - { - "function": { - "contract_fn": { - "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "swap", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "bool": true - }, - { - "i128": { - "hi": 0, - "lo": 205366549239401784 - } - }, - { - "i128": { - "hi": 2, - "lo": 13106511852580896768 - } - } - ] - } - }, - "sub_invocations": [ - { - "function": { - "contract_fn": { - "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", - "function_name": "transfer", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "i128": { - "hi": 0, - "lo": 121005232604090 - } - } - ] - } - }, - "sub_invocations": [] - } - ] - } - ] - ], - [], [] ], "ledger": { @@ -585,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 4766110616608356 + "lo": 754197960043970103 } } } @@ -646,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 119155565988386908 + "lo": 957333669278168149 } } }, @@ -709,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 191002959550379 + "lo": 594165421303288591 } } }, @@ -736,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 4766110616608356 + "lo": 754197960043970103 } } } @@ -786,39 +734,6 @@ 6311999 ] ], - [ - { - "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary", - "val": "void" - } - }, - "ext": "v0" - }, - 6311999 - ] - ], [ { "contract_data": { @@ -863,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 119155565988386908 + "lo": 957333669278168149 } } }, @@ -1009,7 +924,7 @@ "val": { "i128": { "hi": 2, - "lo": 13311878401820298552 + "lo": 13106511852580896768 } } }, @@ -1194,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 191002959550379 + "lo": 594165421303288591 } } }, @@ -1340,7 +1255,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106390847348292678 + "lo": 13106511852580896768 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.181.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.181.json index c6fa503..ad7f402 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.181.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.181.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 245311638892296165 + "lo": 385861862783888630 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 935840540215356048 + "lo": 201164597985084411 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 245311638892296165 + "lo": 385861862783888630 } }, { "i128": { "hi": 0, - "lo": 935840540215356048 + "lo": 201164597985084411 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 245311638892296165 + "lo": 385861862783888630 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 935840540215356048 + "lo": 201164597985084411 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 479137325473690047 + "lo": 278606795510620595 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 245311638892296165 + "lo": 385861862783888630 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 935840540215356048 + "lo": 201164597985084411 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 479137325473690047 + "lo": 278606795510620595 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 245311638892296165 + "lo": 385861862783888630 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 935840540215356048 + "lo": 201164597985084411 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.182.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.182.json index 799f22c..f7bcab6 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.182.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.182.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 458573003360656746 + "lo": 42535471549856602 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 400019646918086861 + "lo": 833864245261277017 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 458573003360656746 + "lo": 42535471549856602 } }, { "i128": { "hi": 0, - "lo": 400019646918086861 + "lo": 833864245261277017 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 458573003360656746 + "lo": 42535471549856602 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 400019646918086861 + "lo": 833864245261277017 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 428296872380007663 + "lo": 188331645988542500 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 458573003360656746 + "lo": 42535471549856602 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 400019646918086861 + "lo": 833864245261277017 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 428296872380007663 + "lo": 188331645988542500 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 458573003360656746 + "lo": 42535471549856602 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 400019646918086861 + "lo": 833864245261277017 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.183.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.183.json index 5035a47..74caa55 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.183.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.183.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 158886619141938891 + "lo": 735343729566362637 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 503444577532885833 + "lo": 6249766163183271 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 158886619141938891 + "lo": 735343729566362637 } }, { "i128": { "hi": 0, - "lo": 503444577532885833 + "lo": 6249766163183271 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 158886619141938891 + "lo": 735343729566362637 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 503444577532885833 + "lo": 6249766163183271 } } ] @@ -235,12 +235,12 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" }, { - "bool": false + "bool": true }, { "i128": { "hi": 0, - "lo": 68791716610426747 + "lo": 85220433094560402 } }, { @@ -256,7 +256,7 @@ { "function": { "contract_fn": { - "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", "function_name": "transfer", "args": [ { @@ -268,7 +268,7 @@ { "i128": { "hi": 0, - "lo": 25222362900167770 + "lo": 821706302937523 } } ] @@ -585,7 +585,7 @@ "val": { "i128": { "hi": 0, - "lo": 282826107086212881 + "lo": 67791786813395345 } } } @@ -646,18 +646,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +668,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +705,7 @@ "val": { "i128": { "hi": 0, - "lo": 184108982042106661 + "lo": 650123296471802235 } } }, @@ -709,7 +716,7 @@ "val": { "i128": { "hi": 0, - "lo": 434652860922459086 + "lo": 7071472466120794 } } }, @@ -736,7 +743,7 @@ "val": { "i128": { "hi": 0, - "lo": 282826107086212881 + "lo": 67791786813395345 } } } @@ -863,7 +870,7 @@ "val": { "i128": { "hi": 0, - "lo": 184108982042106661 + "lo": 650123296471802235 } } }, @@ -1009,7 +1016,7 @@ "val": { "i128": { "hi": 2, - "lo": 13081289489680728998 + "lo": 13191732285675457170 } } }, @@ -1194,7 +1201,7 @@ "val": { "i128": { "hi": 0, - "lo": 434652860922459086 + "lo": 7071472466120794 } } }, @@ -1340,7 +1347,7 @@ "val": { "i128": { "hi": 2, - "lo": 13175303569191323515 + "lo": 13105690146277959245 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.184.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.184.json index 71e1037..5f4f6ef 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.184.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.184.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 388746632081556147 + "lo": 526425551927471178 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 364469987350317129 + "lo": 85963985925935032 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 388746632081556147 + "lo": 526425551927471178 } }, { "i128": { "hi": 0, - "lo": 364469987350317129 + "lo": 85963985925935032 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 388746632081556147 + "lo": 526425551927471178 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 364469987350317129 + "lo": 85963985925935032 } } ] @@ -222,6 +222,65 @@ } ] ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "swap", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "bool": false + }, + { + "i128": { + "hi": 0, + "lo": 867408954828469 + } + }, + { + "i128": { + "hi": 2, + "lo": 13106511852580896768 + } + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 5382122933845383 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [], [] ], "ledger": { @@ -526,7 +585,7 @@ "val": { "i128": { "hi": 0, - "lo": 376412646011319810 + "lo": 212729026550082520 } } } @@ -587,18 +646,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +668,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +705,7 @@ "val": { "i128": { "hi": 0, - "lo": 388746632081556147 + "lo": 531807674861316561 } } }, @@ -650,7 +716,7 @@ "val": { "i128": { "hi": 0, - "lo": 364469987350317129 + "lo": 85096576971106563 } } }, @@ -677,7 +743,7 @@ "val": { "i128": { "hi": 0, - "lo": 376412646011319810 + "lo": 212729026550082520 } } } @@ -727,6 +793,39 @@ 6311999 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], [ { "contract_data": { @@ -771,7 +870,7 @@ "val": { "i128": { "hi": 0, - "lo": 388746632081556147 + "lo": 531807674861316561 } } }, @@ -917,7 +1016,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13101129729647051385 } } }, @@ -1102,7 +1201,7 @@ "val": { "i128": { "hi": 0, - "lo": 364469987350317129 + "lo": 85096576971106563 } } }, @@ -1248,7 +1347,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13107379261535725237 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.185.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.185.json index 89152c2..62f24c4 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.185.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.185.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 636014802903217147 + "lo": 409793706579925864 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 129352275236906095 + "lo": 362331351541355510 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 636014802903217147 + "lo": 409793706579925864 } }, { "i128": { "hi": 0, - "lo": 129352275236906095 + "lo": 362331351541355510 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 636014802903217147 + "lo": 409793706579925864 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 129352275236906095 + "lo": 362331351541355510 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 286827407755750437 + "lo": 385332463670330025 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 636014802903217147 + "lo": 409793706579925864 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 129352275236906095 + "lo": 362331351541355510 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 286827407755750437 + "lo": 385332463670330025 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 636014802903217147 + "lo": 409793706579925864 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 129352275236906095 + "lo": 362331351541355510 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.186.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.186.json index ffd17b7..a5dddb5 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.186.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.186.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 870852741742269548 + "lo": 313959078076008603 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 641189241083446551 + "lo": 516387021162067016 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 870852741742269548 + "lo": 313959078076008603 } }, { "i128": { "hi": 0, - "lo": 641189241083446551 + "lo": 516387021162067016 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 870852741742269548 + "lo": 313959078076008603 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 641189241083446551 + "lo": 516387021162067016 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 747249227883953378 + "lo": 402646734861291163 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 870852741742269548 + "lo": 313959078076008603 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 641189241083446551 + "lo": 516387021162067016 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 747249227883953378 + "lo": 402646734861291163 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 870852741742269548 + "lo": 313959078076008603 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 641189241083446551 + "lo": 516387021162067016 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.187.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.187.json index c413ae2..34de6bb 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.187.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.187.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 690214925117991578 + "lo": 93742305145087937 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 571312529792481890 + "lo": 301883840433806755 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 690214925117991578 + "lo": 93742305145087937 } }, { "i128": { "hi": 0, - "lo": 571312529792481890 + "lo": 301883840433806755 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 690214925117991578 + "lo": 93742305145087937 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 571312529792481890 + "lo": 301883840433806755 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 627955758767835666 + "lo": 168223919489224090 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 690214925117991578 + "lo": 93742305145087937 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 571312529792481890 + "lo": 301883840433806755 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 627955758767835666 + "lo": 168223919489224090 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 690214925117991578 + "lo": 93742305145087937 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 571312529792481890 + "lo": 301883840433806755 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.188.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.188.json index 759d9cb..599aca5 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.188.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.188.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 960762083376781459 + "lo": 795272708136456763 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 150780562192482993 + "lo": 514081621784528672 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 960762083376781459 + "lo": 795272708136456763 } }, { "i128": { "hi": 0, - "lo": 150780562192482993 + "lo": 514081621784528672 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 960762083376781459 + "lo": 795272708136456763 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 150780562192482993 + "lo": 514081621784528672 } } ] @@ -222,65 +222,6 @@ } ] ], - [ - [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - { - "function": { - "contract_fn": { - "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "swap", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "bool": true - }, - { - "i128": { - "hi": 0, - "lo": 8194490720665657 - } - }, - { - "i128": { - "hi": 2, - "lo": 13106511852580896768 - } - } - ] - } - }, - "sub_invocations": [ - { - "function": { - "contract_fn": { - "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", - "function_name": "transfer", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "i128": { - "hi": 0, - "lo": 1300997210739359 - } - } - ] - } - }, - "sub_invocations": [] - } - ] - } - ] - ], - [], [] ], "ledger": { @@ -585,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 380610361215735070 + "lo": 639402129774185084 } } } @@ -646,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 952567592656115802 + "lo": 795272708136456763 } } }, @@ -709,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 152081559403222352 + "lo": 514081621784528672 } } }, @@ -736,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 380610361215735070 + "lo": 639402129774185084 } } } @@ -786,39 +734,6 @@ 6311999 ] ], - [ - { - "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary", - "val": "void" - } - }, - "ext": "v0" - }, - 6311999 - ] - ], [ { "contract_data": { @@ -863,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 952567592656115802 + "lo": 795272708136456763 } } }, @@ -1009,7 +924,7 @@ "val": { "i128": { "hi": 2, - "lo": 13114706343301562425 + "lo": 13106511852580896768 } } }, @@ -1194,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 152081559403222352 + "lo": 514081621784528672 } } }, @@ -1340,7 +1255,7 @@ "val": { "i128": { "hi": 2, - "lo": 13105210855370157409 + "lo": 13106511852580896768 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.189.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.189.json index a6e7b56..41d0b65 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.189.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.189.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 750190215198431253 + "lo": 931500009676326303 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 771387898482993157 + "lo": 62686994550030030 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 750190215198431253 + "lo": 931500009676326303 } }, { "i128": { "hi": 0, - "lo": 771387898482993157 + "lo": 62686994550030030 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 750190215198431253 + "lo": 931500009676326303 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 771387898482993157 + "lo": 62686994550030030 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 760715225011582292 + "lo": 241646303571837794 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 750190215198431253 + "lo": 931500009676326303 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 771387898482993157 + "lo": 62686994550030030 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 760715225011582292 + "lo": 241646303571837794 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 750190215198431253 + "lo": 931500009676326303 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 771387898482993157 + "lo": 62686994550030030 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.19.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.19.json index b7b8cec..b4a2c79 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.19.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.19.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 101165852011032265 + "lo": 503775665204939680 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 886267679353777143 + "lo": 858635958416379995 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 101165852011032265 + "lo": 503775665204939680 } }, { "i128": { "hi": 0, - "lo": 886267679353777143 + "lo": 858635958416379995 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 101165852011032265 + "lo": 503775665204939680 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 886267679353777143 + "lo": 858635958416379995 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 299432838699540792 + "lo": 657692862299791693 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 101165852011032265 + "lo": 503775665204939680 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 886267679353777143 + "lo": 858635958416379995 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 299432838699540792 + "lo": 657692862299791693 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 101165852011032265 + "lo": 503775665204939680 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 886267679353777143 + "lo": 858635958416379995 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.190.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.190.json index 286c279..fba5c90 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.190.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.190.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 127832156428865552 + "lo": 210248996999578769 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 756287012135462396 + "lo": 39241688301145729 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 127832156428865552 + "lo": 210248996999578769 } }, { "i128": { "hi": 0, - "lo": 756287012135462396 + "lo": 39241688301145729 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 127832156428865552 + "lo": 210248996999578769 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 756287012135462396 + "lo": 39241688301145729 } } ] @@ -222,6 +222,65 @@ } ] ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "swap", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "bool": true + }, + { + "i128": { + "hi": 0, + "lo": 52338567454384193 + } + }, + { + "i128": { + "hi": 2, + "lo": 13106511852580896768 + } + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 13045584497881637 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [], [] ], "ledger": { @@ -526,7 +585,7 @@ "val": { "i128": { "hi": 0, - "lo": 310930538288569797 + "lo": 90832403942018366 } } } @@ -587,18 +646,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +668,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +705,7 @@ "val": { "i128": { "hi": 0, - "lo": 127832156428865552 + "lo": 157910429545194576 } } }, @@ -650,7 +716,7 @@ "val": { "i128": { "hi": 0, - "lo": 756287012135462396 + "lo": 52287272799027366 } } }, @@ -677,7 +743,7 @@ "val": { "i128": { "hi": 0, - "lo": 310930538288569797 + "lo": 90832403942018366 } } } @@ -727,6 +793,39 @@ 6311999 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], [ { "contract_data": { @@ -771,7 +870,7 @@ "val": { "i128": { "hi": 0, - "lo": 127832156428865552 + "lo": 157910429545194576 } } }, @@ -917,7 +1016,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13158850420035280961 } } }, @@ -1102,7 +1201,7 @@ "val": { "i128": { "hi": 0, - "lo": 756287012135462396 + "lo": 52287272799027366 } } }, @@ -1248,7 +1347,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13093466268083015131 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.191.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.191.json index 8680dda..eeda56f 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.191.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.191.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 745492453256878544 + "lo": 88280635648752449 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 832839438464094917 + "lo": 206965036317597002 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 745492453256878544 + "lo": 88280635648752449 } }, { "i128": { "hi": 0, - "lo": 832839438464094917 + "lo": 206965036317597002 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 745492453256878544 + "lo": 88280635648752449 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 832839438464094917 + "lo": 206965036317597002 } } ] @@ -222,6 +222,65 @@ } ] ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "swap", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "bool": true + }, + { + "i128": { + "hi": 0, + "lo": 68532708957551613 + } + }, + { + "i128": { + "hi": 2, + "lo": 13106511852580896768 + } + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 720407488015708387 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [], [] ], "ledger": { @@ -526,7 +585,7 @@ "val": { "i128": { "hi": 0, - "lo": 787956544582046894 + "lo": 135170281360898998 } } } @@ -587,18 +646,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +668,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +705,7 @@ "val": { "i128": { "hi": 0, - "lo": 745492453256878544 + "lo": 19747926691200836 } } }, @@ -650,7 +716,7 @@ "val": { "i128": { "hi": 0, - "lo": 832839438464094917 + "lo": 927372524333305389 } } }, @@ -677,7 +743,7 @@ "val": { "i128": { "hi": 0, - "lo": 787956544582046894 + "lo": 135170281360898998 } } } @@ -727,6 +793,39 @@ 6311999 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], [ { "contract_data": { @@ -771,7 +870,7 @@ "val": { "i128": { "hi": 0, - "lo": 745492453256878544 + "lo": 19747926691200836 } } }, @@ -917,7 +1016,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13175044561538448381 } } }, @@ -1102,7 +1201,7 @@ "val": { "i128": { "hi": 0, - "lo": 832839438464094917 + "lo": 927372524333305389 } } }, @@ -1248,7 +1347,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 12386104364565188381 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.192.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.192.json index 809ca22..639fd06 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.192.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.192.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 974055629037813409 + "lo": 209209461975353994 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 168654413051747052 + "lo": 748045368921145386 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 974055629037813409 + "lo": 209209461975353994 } }, { "i128": { "hi": 0, - "lo": 168654413051747052 + "lo": 748045368921145386 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 974055629037813409 + "lo": 209209461975353994 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 168654413051747052 + "lo": 748045368921145386 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 405313188035033820 + "lo": 395598494897475584 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 974055629037813409 + "lo": 209209461975353994 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 168654413051747052 + "lo": 748045368921145386 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 405313188035033820 + "lo": 395598494897475584 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 974055629037813409 + "lo": 209209461975353994 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 168654413051747052 + "lo": 748045368921145386 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.193.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.193.json index ab4faf0..19f3e67 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.193.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.193.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 115736518214129957 + "lo": 207259697464264193 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 980198879798552510 + "lo": 515029500997020822 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 115736518214129957 + "lo": 207259697464264193 } }, { "i128": { "hi": 0, - "lo": 980198879798552510 + "lo": 515029500997020822 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 115736518214129957 + "lo": 207259697464264193 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 980198879798552510 + "lo": 515029500997020822 } } ] @@ -222,65 +222,6 @@ } ] ], - [ - [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - { - "function": { - "contract_fn": { - "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "swap", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "bool": false - }, - { - "i128": { - "hi": 0, - "lo": 53684954650248154 - } - }, - { - "i128": { - "hi": 2, - "lo": 13106511852580896768 - } - } - ] - } - }, - "sub_invocations": [ - { - "function": { - "contract_fn": { - "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", - "function_name": "transfer", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "i128": { - "hi": 0, - "lo": 6726294748298033 - } - } - ] - } - }, - "sub_invocations": [] - } - ] - } - ] - ], - [], [] ], "ledger": { @@ -585,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 336815684767314470 + "lo": 326718316844668947 } } } @@ -646,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 122462812962427990 + "lo": 207259697464264193 } } }, @@ -709,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 926513925148304356 + "lo": 515029500997020822 } } }, @@ -736,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 336815684767314470 + "lo": 326718316844668947 } } } @@ -786,39 +734,6 @@ 6311999 ] ], - [ - { - "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary", - "val": "void" - } - }, - "ext": "v0" - }, - 6311999 - ] - ], [ { "contract_data": { @@ -863,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 122462812962427990 + "lo": 207259697464264193 } } }, @@ -1009,7 +924,7 @@ "val": { "i128": { "hi": 2, - "lo": 13099785557832598735 + "lo": 13106511852580896768 } } }, @@ -1194,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 926513925148304356 + "lo": 515029500997020822 } } }, @@ -1340,7 +1255,7 @@ "val": { "i128": { "hi": 2, - "lo": 13160196807231144922 + "lo": 13106511852580896768 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.194.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.194.json index 5226542..f070715 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.194.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.194.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 436969943941885328 + "lo": 67119494323612274 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 531470006490800692 + "lo": 717672927787023821 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 436969943941885328 + "lo": 67119494323612274 } }, { "i128": { "hi": 0, - "lo": 531470006490800692 + "lo": 717672927787023821 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 436969943941885328 + "lo": 67119494323612274 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 531470006490800692 + "lo": 717672927787023821 } } ] @@ -222,6 +222,65 @@ } ] ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "swap", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "bool": true + }, + { + "i128": { + "hi": 0, + "lo": 9680894464315067 + } + }, + { + "i128": { + "hi": 2, + "lo": 13106511852580896768 + } + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 121322973681282704 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [], [] ], "ledger": { @@ -526,7 +585,7 @@ "val": { "i128": { "hi": 0, - "lo": 481909139717310829 + "lo": 219476294853934844 } } } @@ -587,18 +646,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +668,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +705,7 @@ "val": { "i128": { "hi": 0, - "lo": 436969943941885328 + "lo": 57438599859297207 } } }, @@ -650,7 +716,7 @@ "val": { "i128": { "hi": 0, - "lo": 531470006490800692 + "lo": 838995901468306525 } } }, @@ -677,7 +743,7 @@ "val": { "i128": { "hi": 0, - "lo": 481909139717310829 + "lo": 219476294853934844 } } } @@ -727,6 +793,39 @@ 6311999 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], [ { "contract_data": { @@ -771,7 +870,7 @@ "val": { "i128": { "hi": 0, - "lo": 436969943941885328 + "lo": 57438599859297207 } } }, @@ -917,7 +1016,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13116192747045211835 } } }, @@ -1102,7 +1201,7 @@ "val": { "i128": { "hi": 0, - "lo": 531470006490800692 + "lo": 838995901468306525 } } }, @@ -1248,7 +1347,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 12985188878899614064 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.195.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.195.json index ae738cd..ff5d627 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.195.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.195.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 408627926869768060 + "lo": 13525919519244461 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 336088731856130806 + "lo": 591048269075866346 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 408627926869768060 + "lo": 13525919519244461 } }, { "i128": { "hi": 0, - "lo": 336088731856130806 + "lo": 591048269075866346 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 408627926869768060 + "lo": 13525919519244461 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 336088731856130806 + "lo": 591048269075866346 } } ] @@ -222,6 +222,65 @@ } ] ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "swap", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "bool": false + }, + { + "i128": { + "hi": 0, + "lo": 254067774747634257 + } + }, + { + "i128": { + "hi": 2, + "lo": 13106511852580896768 + } + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 10228606266749817 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [], [] ], "ledger": { @@ -526,7 +585,7 @@ "val": { "i128": { "hi": 0, - "lo": 370587697775654859 + "lo": 89411807494921569 } } } @@ -587,18 +646,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +668,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +705,7 @@ "val": { "i128": { "hi": 0, - "lo": 408627926869768060 + "lo": 23754525785994278 } } }, @@ -650,7 +716,7 @@ "val": { "i128": { "hi": 0, - "lo": 336088731856130806 + "lo": 336980494328232089 } } }, @@ -677,7 +743,7 @@ "val": { "i128": { "hi": 0, - "lo": 370587697775654859 + "lo": 89411807494921569 } } } @@ -727,6 +793,39 @@ 6311999 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], [ { "contract_data": { @@ -771,7 +870,7 @@ "val": { "i128": { "hi": 0, - "lo": 408627926869768060 + "lo": 23754525785994278 } } }, @@ -917,7 +1016,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13096283246314146951 } } }, @@ -1102,7 +1201,7 @@ "val": { "i128": { "hi": 0, - "lo": 336088731856130806 + "lo": 336980494328232089 } } }, @@ -1248,7 +1347,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13360579627328531025 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.196.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.196.json index 863d037..89c1d4d 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.196.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.196.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 420730556371194968 + "lo": 181225315030583781 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 138091659662097869 + "lo": 948038434473944358 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 420730556371194968 + "lo": 181225315030583781 } }, { "i128": { "hi": 0, - "lo": 138091659662097869 + "lo": 948038434473944358 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 420730556371194968 + "lo": 181225315030583781 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 138091659662097869 + "lo": 948038434473944358 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 241038131422926811 + "lo": 414497966157425222 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 420730556371194968 + "lo": 181225315030583781 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 138091659662097869 + "lo": 948038434473944358 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 241038131422926811 + "lo": 414497966157425222 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 420730556371194968 + "lo": 181225315030583781 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 138091659662097869 + "lo": 948038434473944358 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.197.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.197.json index d1c9ed1..2bc618d 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.197.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.197.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 358841538987303730 + "lo": 333836393197795107 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 945794337085609051 + "lo": 904937422309297064 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 358841538987303730 + "lo": 333836393197795107 } }, { "i128": { "hi": 0, - "lo": 945794337085609051 + "lo": 904937422309297064 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 358841538987303730 + "lo": 333836393197795107 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 945794337085609051 + "lo": 904937422309297064 } } ] @@ -235,12 +235,12 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" }, { - "bool": true + "bool": false }, { "i128": { "hi": 0, - "lo": 12745568659606858 + "lo": 10914965109750404 } }, { @@ -256,7 +256,7 @@ { "function": { "contract_fn": { - "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", "function_name": "transfer", "args": [ { @@ -268,7 +268,7 @@ { "i128": { "hi": 0, - "lo": 34935279738632136 + "lo": 4088014663872914 } } ] @@ -585,7 +585,7 @@ "val": { "i128": { "hi": 0, - "lo": 582572137580640451 + "lo": 549637194095746814 } } } @@ -646,18 +646,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +668,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +705,7 @@ "val": { "i128": { "hi": 0, - "lo": 346095970327696872 + "lo": 337924407861668021 } } }, @@ -709,7 +716,7 @@ "val": { "i128": { "hi": 0, - "lo": 980729616824241187 + "lo": 894022457199546660 } } }, @@ -736,7 +743,7 @@ "val": { "i128": { "hi": 0, - "lo": 582572137580640451 + "lo": 549637194095746814 } } } @@ -863,7 +870,7 @@ "val": { "i128": { "hi": 0, - "lo": 346095970327696872 + "lo": 337924407861668021 } } }, @@ -1009,7 +1016,7 @@ "val": { "i128": { "hi": 2, - "lo": 13119257421240503626 + "lo": 13102423837917023854 } } }, @@ -1194,7 +1201,7 @@ "val": { "i128": { "hi": 0, - "lo": 980729616824241187 + "lo": 894022457199546660 } } }, @@ -1340,7 +1347,7 @@ "val": { "i128": { "hi": 2, - "lo": 13071576572842264632 + "lo": 13117426817690647172 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.198.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.198.json index a64c126..1f80aad 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.198.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.198.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 333430000500065727 + "lo": 234452657971828272 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 363457393437977437 + "lo": 940995499721247690 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 333430000500065727 + "lo": 234452657971828272 } }, { "i128": { "hi": 0, - "lo": 363457393437977437 + "lo": 940995499721247690 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 333430000500065727 + "lo": 234452657971828272 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 363457393437977437 + "lo": 940995499721247690 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 348120092605665900 + "lo": 469700858046028388 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 333430000500065727 + "lo": 234452657971828272 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 363457393437977437 + "lo": 940995499721247690 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 348120092605665900 + "lo": 469700858046028388 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 333430000500065727 + "lo": 234452657971828272 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 363457393437977437 + "lo": 940995499721247690 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.199.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.199.json index 3868350..16cd202 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.199.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.199.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 487698413138768481 + "lo": 487173552038959238 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 848707259746600902 + "lo": 57938541492932008 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 487698413138768481 + "lo": 487173552038959238 } }, { "i128": { "hi": 0, - "lo": 848707259746600902 + "lo": 57938541492932008 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 487698413138768481 + "lo": 487173552038959238 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 848707259746600902 + "lo": 57938541492932008 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 643360850376963689 + "lo": 168006324461516360 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 487698413138768481 + "lo": 487173552038959238 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 848707259746600902 + "lo": 57938541492932008 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 643360850376963689 + "lo": 168006324461516360 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 487698413138768481 + "lo": 487173552038959238 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 848707259746600902 + "lo": 57938541492932008 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.2.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.2.json index 0cffde8..f51b9a9 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.2.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.2.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 896957749741007387 + "lo": 895095232926997862 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 633379677562672862 + "lo": 432549926182198576 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 896957749741007387 + "lo": 895095232926997862 } }, { "i128": { "hi": 0, - "lo": 633379677562672862 + "lo": 432549926182198576 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 896957749741007387 + "lo": 895095232926997862 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 633379677562672862 + "lo": 432549926182198576 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 753733912145592581 + "lo": 622232574628338439 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 896957749741007387 + "lo": 895095232926997862 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 633379677562672862 + "lo": 432549926182198576 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 753733912145592581 + "lo": 622232574628338439 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 896957749741007387 + "lo": 895095232926997862 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 633379677562672862 + "lo": 432549926182198576 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.20.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.20.json index 99afaeb..08e0eac 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.20.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.20.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 555455980524323645 + "lo": 751478473385047670 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 559261087265277329 + "lo": 859346254998068953 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 555455980524323645 + "lo": 751478473385047670 } }, { "i128": { "hi": 0, - "lo": 559261087265277329 + "lo": 859346254998068953 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 555455980524323645 + "lo": 751478473385047670 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 559261087265277329 + "lo": 859346254998068953 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 557355286685282954 + "lo": 803604512067414133 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 555455980524323645 + "lo": 751478473385047670 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 559261087265277329 + "lo": 859346254998068953 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 557355286685282954 + "lo": 803604512067414133 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 555455980524323645 + "lo": 751478473385047670 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 559261087265277329 + "lo": 859346254998068953 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.200.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.200.json index dc4fc98..32c9aff 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.200.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.200.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 221010784218922181 + "lo": 70136720307199806 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 486243011862518528 + "lo": 938635686614676714 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 221010784218922181 + "lo": 70136720307199806 } }, { "i128": { "hi": 0, - "lo": 486243011862518528 + "lo": 938635686614676714 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 221010784218922181 + "lo": 70136720307199806 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 486243011862518528 + "lo": 938635686614676714 } } ] @@ -222,6 +222,65 @@ } ] ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "swap", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "bool": true + }, + { + "i128": { + "hi": 0, + "lo": 13991458026704527 + } + }, + { + "i128": { + "hi": 2, + "lo": 13106511852580896768 + } + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 234612832385650427 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [], [] ], "ledger": { @@ -526,7 +585,7 @@ "val": { "i128": { "hi": 0, - "lo": 327818470151859961 + "lo": 256579088435612829 } } } @@ -587,18 +646,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +668,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +705,7 @@ "val": { "i128": { "hi": 0, - "lo": 221010784218922181 + "lo": 56145262280495279 } } }, @@ -650,7 +716,7 @@ "val": { "i128": { "hi": 0, - "lo": 486243011862518528 + "lo": 1173248519000327141 } } }, @@ -677,7 +743,7 @@ "val": { "i128": { "hi": 0, - "lo": 327818470151859961 + "lo": 256579088435612829 } } } @@ -727,6 +793,39 @@ 6311999 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], [ { "contract_data": { @@ -771,7 +870,7 @@ "val": { "i128": { "hi": 0, - "lo": 221010784218922181 + "lo": 56145262280495279 } } }, @@ -917,7 +1016,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13120503310607601295 } } }, @@ -1102,7 +1201,7 @@ "val": { "i128": { "hi": 0, - "lo": 486243011862518528 + "lo": 1173248519000327141 } } }, @@ -1248,7 +1347,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 12871899020195246341 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.201.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.201.json index ab89499..24a227b 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.201.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.201.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 527103085709821333 + "lo": 103467336007991689 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 222715660717877524 + "lo": 898127125857939384 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 527103085709821333 + "lo": 103467336007991689 } }, { "i128": { "hi": 0, - "lo": 222715660717877524 + "lo": 898127125857939384 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 527103085709821333 + "lo": 103467336007991689 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 222715660717877524 + "lo": 898127125857939384 } } ] @@ -222,6 +222,65 @@ } ] ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "swap", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "bool": false + }, + { + "i128": { + "hi": 0, + "lo": 154230422728000296 + } + }, + { + "i128": { + "hi": 2, + "lo": 13106511852580896768 + } + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 21516197597162997 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [], [] ], "ledger": { @@ -526,7 +585,7 @@ "val": { "i128": { "hi": 0, - "lo": 342628241685204468 + "lo": 304839008509467592 } } } @@ -587,18 +646,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +668,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +705,7 @@ "val": { "i128": { "hi": 0, - "lo": 527103085709821333 + "lo": 124983533605154686 } } }, @@ -650,7 +716,7 @@ "val": { "i128": { "hi": 0, - "lo": 222715660717877524 + "lo": 743896703129939088 } } }, @@ -677,7 +743,7 @@ "val": { "i128": { "hi": 0, - "lo": 342628241685204468 + "lo": 304839008509467592 } } } @@ -727,6 +793,39 @@ 6311999 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], [ { "contract_data": { @@ -771,7 +870,7 @@ "val": { "i128": { "hi": 0, - "lo": 527103085709821333 + "lo": 124983533605154686 } } }, @@ -917,7 +1016,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13084995654983733771 } } }, @@ -1102,7 +1201,7 @@ "val": { "i128": { "hi": 0, - "lo": 222715660717877524 + "lo": 743896703129939088 } } }, @@ -1248,7 +1347,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13260742275308897064 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.202.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.202.json index 65fa92a..9a0399b 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.202.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.202.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 868482088686287937 + "lo": 570151051747953485 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 635041230004848500 + "lo": 947995371323474895 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 868482088686287937 + "lo": 570151051747953485 } }, { "i128": { "hi": 0, - "lo": 635041230004848500 + "lo": 947995371323474895 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 868482088686287937 + "lo": 570151051747953485 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 635041230004848500 + "lo": 947995371323474895 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 742645227438054846 + "lo": 735187430532018082 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 868482088686287937 + "lo": 570151051747953485 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 635041230004848500 + "lo": 947995371323474895 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 742645227438054846 + "lo": 735187430532018082 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 868482088686287937 + "lo": 570151051747953485 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 635041230004848500 + "lo": 947995371323474895 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.203.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.203.json index 3530660..d4ba317 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.203.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.203.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 411431737725580183 + "lo": 347354305988160005 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 260384720114554271 + "lo": 451372491262807927 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 411431737725580183 + "lo": 347354305988160005 } }, { "i128": { "hi": 0, - "lo": 260384720114554271 + "lo": 451372491262807927 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 411431737725580183 + "lo": 347354305988160005 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 260384720114554271 + "lo": 451372491262807927 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 327308016818897815 + "lo": 395962344730833544 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 411431737725580183 + "lo": 347354305988160005 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 260384720114554271 + "lo": 451372491262807927 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 327308016818897815 + "lo": 395962344730833544 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 411431737725580183 + "lo": 347354305988160005 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 260384720114554271 + "lo": 451372491262807927 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.204.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.204.json index c5a4354..b820a37 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.204.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.204.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 255127989779587439 + "lo": 810519850793352495 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 294529204652189644 + "lo": 536137545595864188 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 255127989779587439 + "lo": 810519850793352495 } }, { "i128": { "hi": 0, - "lo": 294529204652189644 + "lo": 536137545595864188 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 255127989779587439 + "lo": 810519850793352495 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 294529204652189644 + "lo": 536137545595864188 } } ] @@ -222,65 +222,6 @@ } ] ], - [ - [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - { - "function": { - "contract_fn": { - "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "swap", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "bool": false - }, - { - "i128": { - "hi": 0, - "lo": 13336556844373600 - } - }, - { - "i128": { - "hi": 2, - "lo": 13106511852580896768 - } - } - ] - } - }, - "sub_invocations": [ - { - "function": { - "contract_fn": { - "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", - "function_name": "transfer", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "i128": { - "hi": 0, - "lo": 12136758434519041 - } - } - ] - } - }, - "sub_invocations": [] - } - ] - } - ] - ], - [], [] ], "ledger": { @@ -585,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 274121586005724577 + "lo": 659204159165484984 } } } @@ -646,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 267264748214106480 + "lo": 810519850793352495 } } }, @@ -709,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 281192647807816044 + "lo": 536137545595864188 } } }, @@ -736,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 274121586005724577 + "lo": 659204159165484984 } } } @@ -786,39 +734,6 @@ 6311999 ] ], - [ - { - "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary", - "val": "void" - } - }, - "ext": "v0" - }, - 6311999 - ] - ], [ { "contract_data": { @@ -863,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 267264748214106480 + "lo": 810519850793352495 } } }, @@ -1009,7 +924,7 @@ "val": { "i128": { "hi": 2, - "lo": 13094375094146377727 + "lo": 13106511852580896768 } } }, @@ -1194,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 281192647807816044 + "lo": 536137545595864188 } } }, @@ -1340,7 +1255,7 @@ "val": { "i128": { "hi": 2, - "lo": 13119848409425270368 + "lo": 13106511852580896768 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.205.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.205.json index 776eaa8..66ac7e9 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.205.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.205.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 561664061032051040 + "lo": 53934536893136531 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 781715093262085764 + "lo": 895842854918598703 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 561664061032051040 + "lo": 53934536893136531 } }, { "i128": { "hi": 0, - "lo": 781715093262085764 + "lo": 895842854918598703 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 561664061032051040 + "lo": 53934536893136531 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 781715093262085764 + "lo": 895842854918598703 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 662616988803963287 + "lo": 219810985869814792 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 561664061032051040 + "lo": 53934536893136531 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 781715093262085764 + "lo": 895842854918598703 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 662616988803963287 + "lo": 219810985869814792 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 561664061032051040 + "lo": 53934536893136531 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 781715093262085764 + "lo": 895842854918598703 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.206.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.206.json index 46774a3..1dd3b32 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.206.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.206.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 87415073006609489 + "lo": 909584226061396127 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 186839866070385623 + "lo": 31855392654077763 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 87415073006609489 + "lo": 909584226061396127 } }, { "i128": { "hi": 0, - "lo": 186839866070385623 + "lo": 31855392654077763 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 87415073006609489 + "lo": 909584226061396127 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 186839866070385623 + "lo": 31855392654077763 } } ] @@ -235,12 +235,12 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" }, { - "bool": true + "bool": false }, { "i128": { "hi": 0, - "lo": 22310957481880842 + "lo": 7510020202033103 } }, { @@ -256,7 +256,7 @@ { "function": { "contract_fn": { - "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", "function_name": "transfer", "args": [ { @@ -268,7 +268,7 @@ { "i128": { "hi": 0, - "lo": 64222048531310001 + "lo": 281431330671258529 } } ] @@ -585,7 +585,7 @@ "val": { "i128": { "hi": 0, - "lo": 127799141362874181 + "lo": 170220923135615750 } } } @@ -646,18 +646,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +668,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +705,7 @@ "val": { "i128": { "hi": 0, - "lo": 65104115524728647 + "lo": 1191015556732654656 } } }, @@ -709,7 +716,7 @@ "val": { "i128": { "hi": 0, - "lo": 251061914601695624 + "lo": 24345372452044660 } } }, @@ -736,7 +743,7 @@ "val": { "i128": { "hi": 0, - "lo": 127799141362874181 + "lo": 170220923135615750 } } } @@ -863,7 +870,7 @@ "val": { "i128": { "hi": 0, - "lo": 65104115524728647 + "lo": 1191015556732654656 } } }, @@ -1009,7 +1016,7 @@ "val": { "i128": { "hi": 2, - "lo": 13128822810062777610 + "lo": 12825080521909638239 } } }, @@ -1194,7 +1201,7 @@ "val": { "i128": { "hi": 0, - "lo": 251061914601695624 + "lo": 24345372452044660 } } }, @@ -1340,7 +1347,7 @@ "val": { "i128": { "hi": 2, - "lo": 13042289804049586767 + "lo": 13114021872782929871 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.207.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.207.json index ed55e30..4306baa 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.207.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.207.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 891782295829274434 + "lo": 515364798775327112 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 62756669007758531 + "lo": 925910063452586101 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 891782295829274434 + "lo": 515364798775327112 } }, { "i128": { "hi": 0, - "lo": 62756669007758531 + "lo": 925910063452586101 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 891782295829274434 + "lo": 515364798775327112 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 62756669007758531 + "lo": 925910063452586101 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 236569834015955586 + "lo": 690783217467891582 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 891782295829274434 + "lo": 515364798775327112 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 62756669007758531 + "lo": 925910063452586101 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 236569834015955586 + "lo": 690783217467891582 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 891782295829274434 + "lo": 515364798775327112 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 62756669007758531 + "lo": 925910063452586101 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.208.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.208.json index 323325d..d19e448 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.208.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.208.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 26902940388286802 + "lo": 982561990522617598 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 743002170499331948 + "lo": 670985809428936179 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 26902940388286802 + "lo": 982561990522617598 } }, { "i128": { "hi": 0, - "lo": 743002170499331948 + "lo": 670985809428936179 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 26902940388286802 + "lo": 982561990522617598 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 743002170499331948 + "lo": 670985809428936179 } } ] @@ -222,65 +222,6 @@ } ] ], - [ - [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - { - "function": { - "contract_fn": { - "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "swap", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "bool": true - }, - { - "i128": { - "hi": 0, - "lo": 12082014624754924 - } - }, - { - "i128": { - "hi": 2, - "lo": 13106511852580896768 - } - } - ] - } - }, - "sub_invocations": [ - { - "function": { - "contract_fn": { - "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", - "function_name": "transfer", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "i128": { - "hi": 0, - "lo": 607517719129147815 - } - } - ] - } - }, - "sub_invocations": [] - } - ] - } - ] - ], - [], [] ], "ledger": { @@ -585,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 141382258792647792 + "lo": 811963763061459096 } } } @@ -646,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 14820925763531878 + "lo": 982561990522617598 } } }, @@ -709,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 1350519889628479763 + "lo": 670985809428936179 } } }, @@ -736,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 141382258792647792 + "lo": 811963763061459096 } } } @@ -786,39 +734,6 @@ 6311999 ] ], - [ - { - "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary", - "val": "void" - } - }, - "ext": "v0" - }, - 6311999 - ] - ], [ { "contract_data": { @@ -863,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 14820925763531878 + "lo": 982561990522617598 } } }, @@ -1009,7 +924,7 @@ "val": { "i128": { "hi": 2, - "lo": 13118593867205651692 + "lo": 13106511852580896768 } } }, @@ -1194,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 1350519889628479763 + "lo": 670985809428936179 } } }, @@ -1340,7 +1255,7 @@ "val": { "i128": { "hi": 2, - "lo": 12498994133451748953 + "lo": 13106511852580896768 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.209.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.209.json index 8b2ba7e..98a3dfa 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.209.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.209.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 949163125257847891 + "lo": 761701068382087854 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 172868452321701082 + "lo": 11345414265621114 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 949163125257847891 + "lo": 761701068382087854 } }, { "i128": { "hi": 0, - "lo": 172868452321701082 + "lo": 11345414265621114 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 949163125257847891 + "lo": 761701068382087854 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 172868452321701082 + "lo": 11345414265621114 } } ] @@ -222,6 +222,65 @@ } ] ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "swap", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "bool": true + }, + { + "i128": { + "hi": 0, + "lo": 688022205724533089 + } + }, + { + "i128": { + "hi": 2, + "lo": 13106511852580896768 + } + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 106263653112973619 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [], [] ], "ledger": { @@ -526,7 +585,7 @@ "val": { "i128": { "hi": 0, - "lo": 405068340486087693 + "lo": 92961358463401249 } } } @@ -587,18 +646,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +668,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +705,7 @@ "val": { "i128": { "hi": 0, - "lo": 949163125257847891 + "lo": 73678862657554765 } } }, @@ -650,7 +716,7 @@ "val": { "i128": { "hi": 0, - "lo": 172868452321701082 + "lo": 117609067378594733 } } }, @@ -677,7 +743,7 @@ "val": { "i128": { "hi": 0, - "lo": 405068340486087693 + "lo": 92961358463401249 } } } @@ -727,6 +793,39 @@ 6311999 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], [ { "contract_data": { @@ -771,7 +870,7 @@ "val": { "i128": { "hi": 0, - "lo": 949163125257847891 + "lo": 73678862657554765 } } }, @@ -917,7 +1016,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13794534058305429857 } } }, @@ -1102,7 +1201,7 @@ "val": { "i128": { "hi": 0, - "lo": 172868452321701082 + "lo": 117609067378594733 } } }, @@ -1248,7 +1347,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13000248199467923149 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.21.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.21.json index aaaab67..04e7ddf 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.21.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.21.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 274719502412260647 + "lo": 682810949225714160 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 26684003449775251 + "lo": 376845119642719895 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 274719502412260647 + "lo": 682810949225714160 } }, { "i128": { "hi": 0, - "lo": 26684003449775251 + "lo": 376845119642719895 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 274719502412260647 + "lo": 682810949225714160 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 26684003449775251 + "lo": 376845119642719895 } } ] @@ -222,65 +222,6 @@ } ] ], - [ - [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - { - "function": { - "contract_fn": { - "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "swap", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "bool": true - }, - { - "i128": { - "hi": 0, - "lo": 32555121583753922 - } - }, - { - "i128": { - "hi": 2, - "lo": 13106511852580896768 - } - } - ] - } - }, - "sub_invocations": [ - { - "function": { - "contract_fn": { - "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", - "function_name": "transfer", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "i128": { - "hi": 0, - "lo": 3598030884773346 - } - } - ] - } - }, - "sub_invocations": [] - } - ] - } - ] - ], - [], [] ], "ledger": { @@ -585,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 85619017455757476 + "lo": 507261248129919137 } } } @@ -646,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 242164380828506725 + "lo": 682810949225714160 } } }, @@ -709,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 30282034334548597 + "lo": 376845119642719895 } } }, @@ -736,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 85619017455757476 + "lo": 507261248129919137 } } } @@ -786,39 +734,6 @@ 6311999 ] ], - [ - { - "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary", - "val": "void" - } - }, - "ext": "v0" - }, - 6311999 - ] - ], [ { "contract_data": { @@ -863,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 242164380828506725 + "lo": 682810949225714160 } } }, @@ -1009,7 +924,7 @@ "val": { "i128": { "hi": 2, - "lo": 13139066974164650690 + "lo": 13106511852580896768 } } }, @@ -1194,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 30282034334548597 + "lo": 376845119642719895 } } }, @@ -1340,7 +1255,7 @@ "val": { "i128": { "hi": 2, - "lo": 13102913821696123422 + "lo": 13106511852580896768 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.210.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.210.json index 2eec76e..b71bba2 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.210.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.210.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 944453616679931140 + "lo": 766624932951292535 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 503627643351795841 + "lo": 877227794755066963 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 944453616679931140 + "lo": 766624932951292535 } }, { "i128": { "hi": 0, - "lo": 503627643351795841 + "lo": 877227794755066963 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 944453616679931140 + "lo": 766624932951292535 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 503627643351795841 + "lo": 877227794755066963 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 689675974080287981 + "lo": 820063838574237718 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 944453616679931140 + "lo": 766624932951292535 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 503627643351795841 + "lo": 877227794755066963 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 689675974080287981 + "lo": 820063838574237718 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 944453616679931140 + "lo": 766624932951292535 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 503627643351795841 + "lo": 877227794755066963 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.211.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.211.json index bb6d213..fb7b16b 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.211.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.211.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 692579589396836255 + "lo": 661418117825960477 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 534997807678776535 + "lo": 453034541037585888 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 692579589396836255 + "lo": 661418117825960477 } }, { "i128": { "hi": 0, - "lo": 534997807678776535 + "lo": 453034541037585888 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 692579589396836255 + "lo": 661418117825960477 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 534997807678776535 + "lo": 453034541037585888 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 608710573236882934 + "lo": 547398623895994015 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 692579589396836255 + "lo": 661418117825960477 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 534997807678776535 + "lo": 453034541037585888 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 608710573236882934 + "lo": 547398623895994015 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 692579589396836255 + "lo": 661418117825960477 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 534997807678776535 + "lo": 453034541037585888 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.212.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.212.json index c706b17..5421b1d 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.212.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.212.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 356624397506189443 + "lo": 375726772509304226 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 956561179671967968 + "lo": 901764826651507295 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 356624397506189443 + "lo": 375726772509304226 } }, { "i128": { "hi": 0, - "lo": 956561179671967968 + "lo": 901764826651507295 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 356624397506189443 + "lo": 375726772509304226 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 956561179671967968 + "lo": 901764826651507295 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 584065967488540976 + "lo": 582080052810765060 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 356624397506189443 + "lo": 375726772509304226 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 956561179671967968 + "lo": 901764826651507295 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 584065967488540976 + "lo": 582080052810765060 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 356624397506189443 + "lo": 375726772509304226 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 956561179671967968 + "lo": 901764826651507295 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.213.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.213.json index 2065436..5823938 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.213.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.213.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 932679053242005919 + "lo": 670738641282225227 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 435392150049755894 + "lo": 369086025021667182 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 932679053242005919 + "lo": 670738641282225227 } }, { "i128": { "hi": 0, - "lo": 435392150049755894 + "lo": 369086025021667182 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 932679053242005919 + "lo": 670738641282225227 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 435392150049755894 + "lo": 369086025021667182 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 637244959413103327 + "lo": 497554277380157217 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 932679053242005919 + "lo": 670738641282225227 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 435392150049755894 + "lo": 369086025021667182 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 637244959413103327 + "lo": 497554277380157217 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 932679053242005919 + "lo": 670738641282225227 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 435392150049755894 + "lo": 369086025021667182 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.214.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.214.json index 80b9b05..da56ada 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.214.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.214.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 598321190567678164 + "lo": 127960704481600978 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 328411979639114354 + "lo": 304993615552320064 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 598321190567678164 + "lo": 127960704481600978 } }, { "i128": { "hi": 0, - "lo": 328411979639114354 + "lo": 304993615552320064 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 598321190567678164 + "lo": 127960704481600978 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 328411979639114354 + "lo": 304993615552320064 } } ] @@ -222,6 +222,65 @@ } ] ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "swap", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "bool": false + }, + { + "i128": { + "hi": 0, + "lo": 130466353620404474 + } + }, + { + "i128": { + "hi": 2, + "lo": 13106511852580896768 + } + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 95943755364216104 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [], [] ], "ledger": { @@ -526,7 +585,7 @@ "val": { "i128": { "hi": 0, - "lo": 443278520407162273 + "lo": 197553025561405785 } } } @@ -587,18 +646,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +668,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +705,7 @@ "val": { "i128": { "hi": 0, - "lo": 598321190567678164 + "lo": 223904459845817082 } } }, @@ -650,7 +716,7 @@ "val": { "i128": { "hi": 0, - "lo": 328411979639114354 + "lo": 174527261931915590 } } }, @@ -677,7 +743,7 @@ "val": { "i128": { "hi": 0, - "lo": 443278520407162273 + "lo": 197553025561405785 } } } @@ -727,6 +793,39 @@ 6311999 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], [ { "contract_data": { @@ -771,7 +870,7 @@ "val": { "i128": { "hi": 0, - "lo": 598321190567678164 + "lo": 223904459845817082 } } }, @@ -917,7 +1016,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13010568097216680664 } } }, @@ -1102,7 +1201,7 @@ "val": { "i128": { "hi": 0, - "lo": 328411979639114354 + "lo": 174527261931915590 } } }, @@ -1248,7 +1347,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13236978206201301242 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.215.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.215.json index 5999611..0ee2262 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.215.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.215.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 980340511208328392 + "lo": 969270410542232855 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 156536081295377681 + "lo": 69679143941847229 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 980340511208328392 + "lo": 969270410542232855 } }, { "i128": { "hi": 0, - "lo": 156536081295377681 + "lo": 69679143941847229 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 980340511208328392 + "lo": 969270410542232855 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 156536081295377681 + "lo": 69679143941847229 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 391738001679258847 + "lo": 259880611925448568 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 980340511208328392 + "lo": 969270410542232855 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 156536081295377681 + "lo": 69679143941847229 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 391738001679258847 + "lo": 259880611925448568 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 980340511208328392 + "lo": 969270410542232855 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 156536081295377681 + "lo": 69679143941847229 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.216.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.216.json index 73dc583..378e106 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.216.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.216.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 446341570386975560 + "lo": 336435334059081644 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 956397334948903402 + "lo": 51260250947550214 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 446341570386975560 + "lo": 336435334059081644 } }, { "i128": { "hi": 0, - "lo": 956397334948903402 + "lo": 51260250947550214 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 446341570386975560 + "lo": 336435334059081644 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 956397334948903402 + "lo": 51260250947550214 } } ] @@ -222,6 +222,65 @@ } ] ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "swap", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "bool": true + }, + { + "i128": { + "hi": 0, + "lo": 330194781918050613 + } + }, + { + "i128": { + "hi": 2, + "lo": 13106511852580896768 + } + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 2720399956984275811 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [], [] ], "ledger": { @@ -526,7 +585,7 @@ "val": { "i128": { "hi": 0, - "lo": 653360458242624144 + "lo": 131323111642587165 } } } @@ -587,18 +646,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +668,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +705,7 @@ "val": { "i128": { "hi": 0, - "lo": 446341570386975560 + "lo": 6240552141031031 } } }, @@ -650,7 +716,7 @@ "val": { "i128": { "hi": 0, - "lo": 956397334948903402 + "lo": 2771660207931826025 } } }, @@ -677,7 +743,7 @@ "val": { "i128": { "hi": 0, - "lo": 653360458242624144 + "lo": 131323111642587165 } } } @@ -727,6 +793,39 @@ 6311999 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], [ { "contract_data": { @@ -771,7 +870,7 @@ "val": { "i128": { "hi": 0, - "lo": 446341570386975560 + "lo": 6240552141031031 } } }, @@ -917,7 +1016,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13436706634498947381 } } }, @@ -1102,7 +1201,7 @@ "val": { "i128": { "hi": 0, - "lo": 956397334948903402 + "lo": 2771660207931826025 } } }, @@ -1248,7 +1347,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 10386111895596620957 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.217.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.217.json index e8f07e6..f10fb8d 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.217.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.217.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 406186579066369650 + "lo": 293762123380140535 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 619195324674567831 + "lo": 427325726218979267 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 406186579066369650 + "lo": 293762123380140535 } }, { "i128": { "hi": 0, - "lo": 619195324674567831 + "lo": 427325726218979267 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 406186579066369650 + "lo": 293762123380140535 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 619195324674567831 + "lo": 427325726218979267 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 501506560977473925 + "lo": 354305112451186544 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 406186579066369650 + "lo": 293762123380140535 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 619195324674567831 + "lo": 427325726218979267 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 501506560977473925 + "lo": 354305112451186544 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 406186579066369650 + "lo": 293762123380140535 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 619195324674567831 + "lo": 427325726218979267 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.218.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.218.json index dc63035..b3afad4 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.218.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.218.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 790115046131207572 + "lo": 420475132055012481 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 646369012997963261 + "lo": 794310664911570294 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 790115046131207572 + "lo": 420475132055012481 } }, { "i128": { "hi": 0, - "lo": 646369012997963261 + "lo": 794310664911570294 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 790115046131207572 + "lo": 420475132055012481 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 646369012997963261 + "lo": 794310664911570294 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 714636888582354702 + "lo": 577916846718796810 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 790115046131207572 + "lo": 420475132055012481 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 646369012997963261 + "lo": 794310664911570294 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 714636888582354702 + "lo": 577916846718796810 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 790115046131207572 + "lo": 420475132055012481 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 646369012997963261 + "lo": 794310664911570294 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.219.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.219.json index ebada2b..6d683a5 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.219.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.219.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 68353533669476046 + "lo": 833904967982060317 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 371606427704210080 + "lo": 683965303576860305 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 68353533669476046 + "lo": 833904967982060317 } }, { "i128": { "hi": 0, - "lo": 371606427704210080 + "lo": 683965303576860305 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 68353533669476046 + "lo": 833904967982060317 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 371606427704210080 + "lo": 683965303576860305 } } ] @@ -222,65 +222,6 @@ } ] ], - [ - [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - { - "function": { - "contract_fn": { - "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "swap", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "bool": false - }, - { - "i128": { - "hi": 0, - "lo": 196508113780136632 - } - }, - { - "i128": { - "hi": 2, - "lo": 13106511852580896768 - } - } - ] - } - }, - "sub_invocations": [ - { - "function": { - "contract_fn": { - "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", - "function_name": "transfer", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "i128": { - "hi": 0, - "lo": 76942153202709869 - } - } - ] - } - }, - "sub_invocations": [] - } - ] - } - ] - ], - [], [] ], "ledger": { @@ -585,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 159375695976122531 + "lo": 755223188587388289 } } } @@ -646,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 145295686872185915 + "lo": 833904967982060317 } } }, @@ -709,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 175098313924073448 + "lo": 683965303576860305 } } }, @@ -736,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 159375695976122531 + "lo": 755223188587388289 } } } @@ -786,39 +734,6 @@ 6311999 ] ], - [ - { - "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary", - "val": "void" - } - }, - "ext": "v0" - }, - 6311999 - ] - ], [ { "contract_data": { @@ -863,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 145295686872185915 + "lo": 833904967982060317 } } }, @@ -1009,7 +924,7 @@ "val": { "i128": { "hi": 2, - "lo": 13029569699378186899 + "lo": 13106511852580896768 } } }, @@ -1194,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 175098313924073448 + "lo": 683965303576860305 } } }, @@ -1340,7 +1255,7 @@ "val": { "i128": { "hi": 2, - "lo": 13303019966361033400 + "lo": 13106511852580896768 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.22.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.22.json index ce56fea..8f57585 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.22.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.22.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 193894960883253866 + "lo": 355533051989870418 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 53686216666399099 + "lo": 67537337168191921 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 193894960883253866 + "lo": 355533051989870418 } }, { "i128": { "hi": 0, - "lo": 53686216666399099 + "lo": 67537337168191921 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 193894960883253866 + "lo": 355533051989870418 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 53686216666399099 + "lo": 67537337168191921 } } ] @@ -240,7 +240,7 @@ { "i128": { "hi": 0, - "lo": 92189865480748667 + "lo": 139866516617241802 } }, { @@ -268,7 +268,7 @@ { "i128": { "hi": 0, - "lo": 48809921727491261 + "lo": 43931878364656131 } } ] @@ -585,7 +585,7 @@ "val": { "i128": { "hi": 0, - "lo": 102026892927802839 + "lo": 154957270260792171 } } } @@ -646,18 +646,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +668,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +705,7 @@ "val": { "i128": { "hi": 0, - "lo": 101705095402505199 + "lo": 215666535372628616 } } }, @@ -709,7 +716,7 @@ "val": { "i128": { "hi": 0, - "lo": 102496138393890360 + "lo": 111469215532848052 } } }, @@ -736,7 +743,7 @@ "val": { "i128": { "hi": 0, - "lo": 102026892927802839 + "lo": 154957270260792171 } } } @@ -863,7 +870,7 @@ "val": { "i128": { "hi": 0, - "lo": 101705095402505199 + "lo": 215666535372628616 } } }, @@ -1009,7 +1016,7 @@ "val": { "i128": { "hi": 2, - "lo": 13198701718061645435 + "lo": 13246378369198138570 } } }, @@ -1194,7 +1201,7 @@ "val": { "i128": { "hi": 0, - "lo": 102496138393890360 + "lo": 111469215532848052 } } }, @@ -1340,7 +1347,7 @@ "val": { "i128": { "hi": 2, - "lo": 13057701930853405507 + "lo": 13062579974216240637 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.220.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.220.json index 8fa3003..2625b69 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.220.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.220.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 951190194630048562 + "lo": 109609857643909654 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 826537417494519434 + "lo": 666439674837160320 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 951190194630048562 + "lo": 109609857643909654 } }, { "i128": { "hi": 0, - "lo": 826537417494519434 + "lo": 666439674837160320 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 951190194630048562 + "lo": 109609857643909654 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 826537417494519434 + "lo": 666439674837160320 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 886675976338385772 + "lo": 270274597191734949 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 951190194630048562 + "lo": 109609857643909654 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 826537417494519434 + "lo": 666439674837160320 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 886675976338385772 + "lo": 270274597191734949 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 951190194630048562 + "lo": 109609857643909654 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 826537417494519434 + "lo": 666439674837160320 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.221.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.221.json index 1ed6189..42be50b 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.221.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.221.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 659075726436638378 + "lo": 261484884417749858 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 909734707279685883 + "lo": 531048849796526668 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 659075726436638378 + "lo": 261484884417749858 } }, { "i128": { "hi": 0, - "lo": 909734707279685883 + "lo": 531048849796526668 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 659075726436638378 + "lo": 261484884417749858 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 909734707279685883 + "lo": 531048849796526668 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 774328136557739677 + "lo": 372640909065582573 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 659075726436638378 + "lo": 261484884417749858 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 909734707279685883 + "lo": 531048849796526668 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 774328136557739677 + "lo": 372640909065582573 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 659075726436638378 + "lo": 261484884417749858 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 909734707279685883 + "lo": 531048849796526668 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.222.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.222.json index c3a04fc..a560f16 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.222.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.222.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 359903328324542977 + "lo": 996585475643502040 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 488157152998109989 + "lo": 2915796685085912 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 359903328324542977 + "lo": 996585475643502040 } }, { "i128": { "hi": 0, - "lo": 488157152998109989 + "lo": 2915796685085912 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 359903328324542977 + "lo": 996585475643502040 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 488157152998109989 + "lo": 2915796685085912 } } ] @@ -240,7 +240,7 @@ { "i128": { "hi": 0, - "lo": 2837468119969741 + "lo": 1259765316239659 } }, { @@ -268,7 +268,7 @@ { "i128": { "hi": 0, - "lo": 2110540976498808 + "lo": 760397155028360667 } } ] @@ -585,7 +585,7 @@ "val": { "i128": { "hi": 0, - "lo": 419153174996269041 + "lo": 53905849648123441 } } } @@ -646,18 +646,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +668,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +705,7 @@ "val": { "i128": { "hi": 0, - "lo": 362013869301041785 + "lo": 1756982630671862707 } } }, @@ -709,7 +716,7 @@ "val": { "i128": { "hi": 0, - "lo": 485319684878140248 + "lo": 1656031368846253 } } }, @@ -736,7 +743,7 @@ "val": { "i128": { "hi": 0, - "lo": 419153174996269041 + "lo": 53905849648123441 } } } @@ -863,7 +870,7 @@ "val": { "i128": { "hi": 0, - "lo": 362013869301041785 + "lo": 1756982630671862707 } } }, @@ -1009,7 +1016,7 @@ "val": { "i128": { "hi": 2, - "lo": 13104401311604397960 + "lo": 12346114697552536101 } } }, @@ -1194,7 +1201,7 @@ "val": { "i128": { "hi": 0, - "lo": 485319684878140248 + "lo": 1656031368846253 } } }, @@ -1340,7 +1347,7 @@ "val": { "i128": { "hi": 2, - "lo": 13109349320700866509 + "lo": 13107771617897136427 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.223.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.223.json index 227d279..04d9c5e 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.223.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.223.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 969015149457406203 + "lo": 941129475135343620 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 503098834690403647 + "lo": 679937834922464764 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 969015149457406203 + "lo": 941129475135343620 } }, { "i128": { "hi": 0, - "lo": 503098834690403647 + "lo": 679937834922464764 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 969015149457406203 + "lo": 941129475135343620 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 503098834690403647 + "lo": 679937834922464764 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 698219444364999324 + "lo": 799943459067727596 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 969015149457406203 + "lo": 941129475135343620 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 503098834690403647 + "lo": 679937834922464764 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 698219444364999324 + "lo": 799943459067727596 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 969015149457406203 + "lo": 941129475135343620 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 503098834690403647 + "lo": 679937834922464764 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.224.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.224.json index 8b54737..9a5ce27 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.224.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.224.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 131333083873366170 + "lo": 536033291583112662 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 635444947285929665 + "lo": 215983036932745429 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 131333083873366170 + "lo": 536033291583112662 } }, { "i128": { "hi": 0, - "lo": 635444947285929665 + "lo": 215983036932745429 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 131333083873366170 + "lo": 536033291583112662 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 635444947285929665 + "lo": 215983036932745429 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 288885694624724789 + "lo": 340255930459964976 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 131333083873366170 + "lo": 536033291583112662 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 635444947285929665 + "lo": 215983036932745429 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 288885694624724789 + "lo": 340255930459964976 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 131333083873366170 + "lo": 536033291583112662 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 635444947285929665 + "lo": 215983036932745429 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.225.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.225.json index 5ef64d4..7bb7349 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.225.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.225.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 634314066159273408 + "lo": 620990888653680105 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 982607865751519294 + "lo": 565424028716054072 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 634314066159273408 + "lo": 620990888653680105 } }, { "i128": { "hi": 0, - "lo": 982607865751519294 + "lo": 565424028716054072 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 634314066159273408 + "lo": 620990888653680105 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 982607865751519294 + "lo": 565424028716054072 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 789482102878166360 + "lo": 592556469932213596 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 634314066159273408 + "lo": 620990888653680105 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 982607865751519294 + "lo": 565424028716054072 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 789482102878166360 + "lo": 592556469932213596 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 634314066159273408 + "lo": 620990888653680105 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 982607865751519294 + "lo": 565424028716054072 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.226.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.226.json index 494938e..612343a 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.226.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.226.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 254587442625929835 + "lo": 422013378163585606 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 224383921099550440 + "lo": 845717915226397661 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 254587442625929835 + "lo": 422013378163585606 } }, { "i128": { "hi": 0, - "lo": 224383921099550440 + "lo": 845717915226397661 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 254587442625929835 + "lo": 422013378163585606 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 224383921099550440 + "lo": 845717915226397661 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 239009055558807153 + "lo": 597414658656913932 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 254587442625929835 + "lo": 422013378163585606 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 224383921099550440 + "lo": 845717915226397661 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 239009055558807153 + "lo": 597414658656913932 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 254587442625929835 + "lo": 422013378163585606 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 224383921099550440 + "lo": 845717915226397661 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.227.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.227.json index b6554c6..46009c5 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.227.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.227.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 137553088062169629 + "lo": 443536828323967283 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 389806751112250579 + "lo": 623963916977060888 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 137553088062169629 + "lo": 443536828323967283 } }, { "i128": { "hi": 0, - "lo": 389806751112250579 + "lo": 623963916977060888 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 137553088062169629 + "lo": 443536828323967283 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 389806751112250579 + "lo": 623963916977060888 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 231558032387070612 + "lo": 526071265822991733 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 137553088062169629 + "lo": 443536828323967283 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 389806751112250579 + "lo": 623963916977060888 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 231558032387070612 + "lo": 526071265822991733 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 137553088062169629 + "lo": 443536828323967283 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 389806751112250579 + "lo": 623963916977060888 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.228.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.228.json index 68c15e3..a4f39e0 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.228.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.228.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 108660224848257976 + "lo": 51108893379304112 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 878336839536714691 + "lo": 672768744354125015 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 108660224848257976 + "lo": 51108893379304112 } }, { "i128": { "hi": 0, - "lo": 878336839536714691 + "lo": 672768744354125015 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 108660224848257976 + "lo": 51108893379304112 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 878336839536714691 + "lo": 672768744354125015 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 308934100540176212 + "lo": 185430488388838799 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 108660224848257976 + "lo": 51108893379304112 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 878336839536714691 + "lo": 672768744354125015 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 308934100540176212 + "lo": 185430488388838799 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 108660224848257976 + "lo": 51108893379304112 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 878336839536714691 + "lo": 672768744354125015 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.229.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.229.json index cafbf4f..fd42044 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.229.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.229.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 995265795398028787 + "lo": 540689156381833455 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 16666752375622588 + "lo": 760582033813477000 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 995265795398028787 + "lo": 540689156381833455 } }, { "i128": { "hi": 0, - "lo": 16666752375622588 + "lo": 760582033813477000 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 995265795398028787 + "lo": 540689156381833455 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 16666752375622588 + "lo": 760582033813477000 } } ] @@ -222,65 +222,6 @@ } ] ], - [ - [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - { - "function": { - "contract_fn": { - "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "swap", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "bool": false - }, - { - "i128": { - "hi": 0, - "lo": 12146929937224920 - } - }, - { - "i128": { - "hi": 2, - "lo": 13106511852580896768 - } - } - ] - } - }, - "sub_invocations": [ - { - "function": { - "contract_fn": { - "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", - "function_name": "transfer", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "i128": { - "hi": 0, - "lo": 2682804790398687892 - } - } - ] - } - }, - "sub_invocations": [] - } - ] - } - ] - ], - [], [] ], "ledger": { @@ -585,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 128793821900842747 + "lo": 641278767948688603 } } } @@ -646,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 3678070585796716679 + "lo": 540689156381833455 } } }, @@ -709,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 4519822438397668 + "lo": 760582033813477000 } } }, @@ -736,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 128793821900842747 + "lo": 641278767948688603 } } } @@ -786,39 +734,6 @@ 6311999 ] ], - [ - { - "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary", - "val": "void" - } - }, - "ext": "v0" - }, - 6311999 - ] - ], [ { "contract_data": { @@ -863,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 3678070585796716679 + "lo": 540689156381833455 } } }, @@ -1009,7 +924,7 @@ "val": { "i128": { "hi": 2, - "lo": 10423707062182208876 + "lo": 13106511852580896768 } } }, @@ -1194,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 4519822438397668 + "lo": 760582033813477000 } } }, @@ -1340,7 +1255,7 @@ "val": { "i128": { "hi": 2, - "lo": 13118658782518121688 + "lo": 13106511852580896768 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.23.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.23.json index 450caee..c1affca 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.23.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.23.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 819936275987288609 + "lo": 11731660741853363 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 988246857434514688 + "lo": 258408832758853624 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 819936275987288609 + "lo": 11731660741853363 } }, { "i128": { "hi": 0, - "lo": 988246857434514688 + "lo": 258408832758853624 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 819936275987288609 + "lo": 11731660741853363 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 988246857434514688 + "lo": 258408832758853624 } } ] @@ -222,6 +222,65 @@ } ] ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "swap", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "bool": true + }, + { + "i128": { + "hi": 0, + "lo": 9551956402518568 + } + }, + { + "i128": { + "hi": 2, + "lo": 13106511852580896768 + } + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 1135813271189563367 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [], [] ], "ledger": { @@ -526,7 +585,7 @@ "val": { "i128": { "hi": 0, - "lo": 900166344650252348 + "lo": 55059647280246849 } } } @@ -587,18 +646,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +668,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +705,7 @@ "val": { "i128": { "hi": 0, - "lo": 819936275987288609 + "lo": 2179704339334795 } } }, @@ -650,7 +716,7 @@ "val": { "i128": { "hi": 0, - "lo": 988246857434514688 + "lo": 1394222103948416991 } } }, @@ -677,7 +743,7 @@ "val": { "i128": { "hi": 0, - "lo": 900166344650252348 + "lo": 55059647280246849 } } } @@ -727,6 +793,39 @@ 6311999 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], [ { "contract_data": { @@ -771,7 +870,7 @@ "val": { "i128": { "hi": 0, - "lo": 819936275987288609 + "lo": 2179704339334795 } } }, @@ -917,7 +1016,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13116063808983415336 } } }, @@ -1102,7 +1201,7 @@ "val": { "i128": { "hi": 0, - "lo": 988246857434514688 + "lo": 1394222103948416991 } } }, @@ -1248,7 +1347,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 11970698581391333401 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.230.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.230.json index 2e9d4e5..2bdfe93 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.230.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.230.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 156438833888516973 + "lo": 682980021578530634 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 183927604948550144 + "lo": 787740196506703003 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 156438833888516973 + "lo": 682980021578530634 } }, { "i128": { "hi": 0, - "lo": 183927604948550144 + "lo": 787740196506703003 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 156438833888516973 + "lo": 682980021578530634 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 183927604948550144 + "lo": 787740196506703003 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 169627297443716317 + "lo": 733492206099304083 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 156438833888516973 + "lo": 682980021578530634 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 183927604948550144 + "lo": 787740196506703003 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 169627297443716317 + "lo": 733492206099304083 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 156438833888516973 + "lo": 682980021578530634 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 183927604948550144 + "lo": 787740196506703003 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.231.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.231.json index 921d334..97f04b6 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.231.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.231.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 511451689339849373 + "lo": 281746390494101078 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 715522842952331414 + "lo": 67411043693283259 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 511451689339849373 + "lo": 281746390494101078 } }, { "i128": { "hi": 0, - "lo": 715522842952331414 + "lo": 67411043693283259 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 511451689339849373 + "lo": 281746390494101078 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 715522842952331414 + "lo": 67411043693283259 } } ] @@ -222,6 +222,65 @@ } ] ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "swap", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "bool": false + }, + { + "i128": { + "hi": 0, + "lo": 23137644281549643 + } + }, + { + "i128": { + "hi": 2, + "lo": 13106511852580896768 + } + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 147686049368141570 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [], [] ], "ledger": { @@ -526,7 +585,7 @@ "val": { "i128": { "hi": 0, - "lo": 604942449154646146 + "lo": 137814434077213751 } } } @@ -587,18 +646,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +668,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +705,7 @@ "val": { "i128": { "hi": 0, - "lo": 511451689339849373 + "lo": 429432439862242648 } } }, @@ -650,7 +716,7 @@ "val": { "i128": { "hi": 0, - "lo": 715522842952331414 + "lo": 44273399411733616 } } }, @@ -677,7 +743,7 @@ "val": { "i128": { "hi": 0, - "lo": 604942449154646146 + "lo": 137814434077213751 } } } @@ -727,6 +793,39 @@ 6311999 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], [ { "contract_data": { @@ -771,7 +870,7 @@ "val": { "i128": { "hi": 0, - "lo": 511451689339849373 + "lo": 429432439862242648 } } }, @@ -917,7 +1016,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 12958825803212755198 } } }, @@ -1102,7 +1201,7 @@ "val": { "i128": { "hi": 0, - "lo": 715522842952331414 + "lo": 44273399411733616 } } }, @@ -1248,7 +1347,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13129649496862446411 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.232.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.232.json index 1875ce2..d8984dd 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.232.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.232.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 110683500808972545 + "lo": 479477680533041827 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 646935264743933804 + "lo": 317125788776575172 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 110683500808972545 + "lo": 479477680533041827 } }, { "i128": { "hi": 0, - "lo": 646935264743933804 + "lo": 317125788776575172 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 110683500808972545 + "lo": 479477680533041827 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 646935264743933804 + "lo": 317125788776575172 } } ] @@ -222,65 +222,6 @@ } ] ], - [ - [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - { - "function": { - "contract_fn": { - "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "swap", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "bool": false - }, - { - "i128": { - "hi": 0, - "lo": 36036988587126722 - } - }, - { - "i128": { - "hi": 2, - "lo": 13106511852580896768 - } - } - ] - } - }, - "sub_invocations": [ - { - "function": { - "contract_fn": { - "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", - "function_name": "transfer", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "i128": { - "hi": 0, - "lo": 6548884352875518 - } - } - ] - } - }, - "sub_invocations": [] - } - ] - } - ] - ], - [], [] ], "ledger": { @@ -585,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 267591217902677188 + "lo": 389941967015354236 } } } @@ -646,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 117232385161848063 + "lo": 479477680533041827 } } }, @@ -709,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 610898276156807082 + "lo": 317125788776575172 } } }, @@ -736,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 267591217902677188 + "lo": 389941967015354236 } } } @@ -786,39 +734,6 @@ 6311999 ] ], - [ - { - "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary", - "val": "void" - } - }, - "ext": "v0" - }, - 6311999 - ] - ], [ { "contract_data": { @@ -863,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 117232385161848063 + "lo": 479477680533041827 } } }, @@ -1009,7 +924,7 @@ "val": { "i128": { "hi": 2, - "lo": 13099962968228021250 + "lo": 13106511852580896768 } } }, @@ -1194,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 610898276156807082 + "lo": 317125788776575172 } } }, @@ -1340,7 +1255,7 @@ "val": { "i128": { "hi": 2, - "lo": 13142548841168023490 + "lo": 13106511852580896768 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.233.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.233.json index 739bdfb..5a11bba 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.233.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.233.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 858644300896899951 + "lo": 650647341128002513 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 100732712216585082 + "lo": 576056121048032054 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 858644300896899951 + "lo": 650647341128002513 } }, { "i128": { "hi": 0, - "lo": 100732712216585082 + "lo": 576056121048032054 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 858644300896899951 + "lo": 650647341128002513 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 100732712216585082 + "lo": 576056121048032054 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 294097890605591237 + "lo": 612216778192506596 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 858644300896899951 + "lo": 650647341128002513 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 100732712216585082 + "lo": 576056121048032054 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 294097890605591237 + "lo": 612216778192506596 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 858644300896899951 + "lo": 650647341128002513 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 100732712216585082 + "lo": 576056121048032054 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.234.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.234.json index 8253400..794865c 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.234.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.234.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 491928239803720079 + "lo": 286414571643084560 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 89203073230843569 + "lo": 257066192286673018 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 491928239803720079 + "lo": 286414571643084560 } }, { "i128": { "hi": 0, - "lo": 89203073230843569 + "lo": 257066192286673018 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 491928239803720079 + "lo": 286414571643084560 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 89203073230843569 + "lo": 257066192286673018 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 209479141681292981 + "lo": 271343883932743655 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 491928239803720079 + "lo": 286414571643084560 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 89203073230843569 + "lo": 257066192286673018 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 209479141681292981 + "lo": 271343883932743655 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 491928239803720079 + "lo": 286414571643084560 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 89203073230843569 + "lo": 257066192286673018 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.235.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.235.json index 09a7b2c..1050fb0 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.235.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.235.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 703837444563071563 + "lo": 903566712651845333 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 809786597681432116 + "lo": 449580304428633646 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 703837444563071563 + "lo": 903566712651845333 } }, { "i128": { "hi": 0, - "lo": 809786597681432116 + "lo": 449580304428633646 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 703837444563071563 + "lo": 903566712651845333 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 809786597681432116 + "lo": 449580304428633646 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 754955713637245951 + "lo": 637358453105939723 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 703837444563071563 + "lo": 903566712651845333 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 809786597681432116 + "lo": 449580304428633646 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 754955713637245951 + "lo": 637358453105939723 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 703837444563071563 + "lo": 903566712651845333 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 809786597681432116 + "lo": 449580304428633646 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.236.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.236.json index f19630c..9839254 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.236.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.236.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 533306681566707513 + "lo": 958738492554717015 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 440985847553856441 + "lo": 500092380981700955 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 533306681566707513 + "lo": 958738492554717015 } }, { "i128": { "hi": 0, - "lo": 440985847553856441 + "lo": 500092380981700955 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 533306681566707513 + "lo": 958738492554717015 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 440985847553856441 + "lo": 500092380981700955 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 484954326691523745 + "lo": 692428924497305503 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 533306681566707513 + "lo": 958738492554717015 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 440985847553856441 + "lo": 500092380981700955 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 484954326691523745 + "lo": 692428924497305503 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 533306681566707513 + "lo": 958738492554717015 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 440985847553856441 + "lo": 500092380981700955 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.237.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.237.json index 9079d30..6f3e0e5 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.237.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.237.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 214361619387905853 + "lo": 430601889373830082 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 922796523888650830 + "lo": 872251188355511513 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 214361619387905853 + "lo": 430601889373830082 } }, { "i128": { "hi": 0, - "lo": 922796523888650830 + "lo": 872251188355511513 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 214361619387905853 + "lo": 430601889373830082 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 922796523888650830 + "lo": 872251188355511513 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 444760786520463762 + "lo": 612856434831561342 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 214361619387905853 + "lo": 430601889373830082 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 922796523888650830 + "lo": 872251188355511513 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 444760786520463762 + "lo": 612856434831561342 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 214361619387905853 + "lo": 430601889373830082 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 922796523888650830 + "lo": 872251188355511513 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.238.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.238.json index 72b570a..54d822c 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.238.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.238.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 217213338146679647 + "lo": 620626057197934471 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 140474348908342144 + "lo": 622418344209186355 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 217213338146679647 + "lo": 620626057197934471 } }, { "i128": { "hi": 0, - "lo": 140474348908342144 + "lo": 622418344209186355 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 217213338146679647 + "lo": 620626057197934471 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 140474348908342144 + "lo": 622418344209186355 } } ] @@ -222,65 +222,6 @@ } ] ], - [ - [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - { - "function": { - "contract_fn": { - "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "swap", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "bool": false - }, - { - "i128": { - "hi": 0, - "lo": 50235618044383091 - } - }, - { - "i128": { - "hi": 2, - "lo": 13106511852580896768 - } - } - ] - } - }, - "sub_invocations": [ - { - "function": { - "contract_fn": { - "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", - "function_name": "transfer", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "i128": { - "hi": 0, - "lo": 121285840630590043 - } - } - ] - } - }, - "sub_invocations": [] - } - ] - } - ] - ], - [], [] ], "ledger": { @@ -585,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 174679427095357686 + "lo": 621521554649727458 } } } @@ -646,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 338499178777269690 + "lo": 620626057197934471 } } }, @@ -709,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 90238730863959053 + "lo": 622418344209186355 } } }, @@ -736,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 174679427095357686 + "lo": 621521554649727458 } } } @@ -786,39 +734,6 @@ 6311999 ] ], - [ - { - "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary", - "val": "void" - } - }, - "ext": "v0" - }, - 6311999 - ] - ], [ { "contract_data": { @@ -863,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 338499178777269690 + "lo": 620626057197934471 } } }, @@ -1009,7 +924,7 @@ "val": { "i128": { "hi": 2, - "lo": 12985226011950306725 + "lo": 13106511852580896768 } } }, @@ -1194,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 90238730863959053 + "lo": 622418344209186355 } } }, @@ -1340,7 +1255,7 @@ "val": { "i128": { "hi": 2, - "lo": 13156747470625279859 + "lo": 13106511852580896768 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.239.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.239.json index f159183..dc3033f 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.239.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.239.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 463594316733110714 + "lo": 284091972232187755 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 605294145683711568 + "lo": 245690639225576224 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 463594316733110714 + "lo": 284091972232187755 } }, { "i128": { "hi": 0, - "lo": 605294145683711568 + "lo": 245690639225576224 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 463594316733110714 + "lo": 284091972232187755 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 605294145683711568 + "lo": 245690639225576224 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 529727218378282163 + "lo": 264194508377030540 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 463594316733110714 + "lo": 284091972232187755 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 605294145683711568 + "lo": 245690639225576224 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 529727218378282163 + "lo": 264194508377030540 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 463594316733110714 + "lo": 284091972232187755 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 605294145683711568 + "lo": 245690639225576224 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.24.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.24.json index b988e09..a89bcbe 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.24.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.24.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 286471053305250678 + "lo": 930967306296981835 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 729105368663853385 + "lo": 613814456496531423 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 286471053305250678 + "lo": 930967306296981835 } }, { "i128": { "hi": 0, - "lo": 729105368663853385 + "lo": 613814456496531423 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 286471053305250678 + "lo": 930967306296981835 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 729105368663853385 + "lo": 613814456496531423 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 457020330982820927 + "lo": 755937293120746756 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 286471053305250678 + "lo": 930967306296981835 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 729105368663853385 + "lo": 613814456496531423 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 457020330982820927 + "lo": 755937293120746756 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 286471053305250678 + "lo": 930967306296981835 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 729105368663853385 + "lo": 613814456496531423 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.240.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.240.json index ecf92ee..fec61cc 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.240.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.240.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 112082503055019110 + "lo": 88451322757257232 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 454613716420780023 + "lo": 917511436053427276 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 112082503055019110 + "lo": 88451322757257232 } }, { "i128": { "hi": 0, - "lo": 454613716420780023 + "lo": 917511436053427276 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 112082503055019110 + "lo": 88451322757257232 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 454613716420780023 + "lo": 917511436053427276 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 225730465953503202 + "lo": 284877342313909330 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 112082503055019110 + "lo": 88451322757257232 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 454613716420780023 + "lo": 917511436053427276 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 225730465953503202 + "lo": 284877342313909330 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 112082503055019110 + "lo": 88451322757257232 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 454613716420780023 + "lo": 917511436053427276 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.241.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.241.json index 7355360..3fdefaf 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.241.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.241.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 594785682611494929 + "lo": 601231342558940597 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 788013274330934885 + "lo": 777283085981117351 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 594785682611494929 + "lo": 601231342558940597 } }, { "i128": { "hi": 0, - "lo": 788013274330934885 + "lo": 777283085981117351 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 594785682611494929 + "lo": 601231342558940597 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 788013274330934885 + "lo": 777283085981117351 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 684615960433179150 + "lo": 683613160590683511 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 594785682611494929 + "lo": 601231342558940597 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 788013274330934885 + "lo": 777283085981117351 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 684615960433179150 + "lo": 683613160590683511 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 594785682611494929 + "lo": 601231342558940597 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 788013274330934885 + "lo": 777283085981117351 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.242.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.242.json index e190e93..edd874a 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.242.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.242.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 459882406874909395 + "lo": 581273716939117236 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 603981539743667547 + "lo": 747364582276472881 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 459882406874909395 + "lo": 581273716939117236 } }, { "i128": { "hi": 0, - "lo": 603981539743667547 + "lo": 747364582276472881 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 459882406874909395 + "lo": 581273716939117236 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 603981539743667547 + "lo": 747364582276472881 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 527029870316030169 + "lo": 659108025022071849 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 459882406874909395 + "lo": 581273716939117236 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 603981539743667547 + "lo": 747364582276472881 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 527029870316030169 + "lo": 659108025022071849 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 459882406874909395 + "lo": 581273716939117236 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 603981539743667547 + "lo": 747364582276472881 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.243.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.243.json index d9d8127..5147635 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.243.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.243.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 986201115306486821 + "lo": 865264676414183870 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 583482621458723919 + "lo": 977068737272396101 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 986201115306486821 + "lo": 865264676414183870 } }, { "i128": { "hi": 0, - "lo": 583482621458723919 + "lo": 977068737272396101 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 986201115306486821 + "lo": 865264676414183870 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 583482621458723919 + "lo": 977068737272396101 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 758571823919492931 + "lo": 919468903656026339 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 986201115306486821 + "lo": 865264676414183870 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 583482621458723919 + "lo": 977068737272396101 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 758571823919492931 + "lo": 919468903656026339 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 986201115306486821 + "lo": 865264676414183870 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 583482621458723919 + "lo": 977068737272396101 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.244.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.244.json index 8204778..19bd121 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.244.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.244.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 369282029794770763 + "lo": 360282336019804537 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 168203325911599486 + "lo": 5932904899490697 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 369282029794770763 + "lo": 360282336019804537 } }, { "i128": { "hi": 0, - "lo": 168203325911599486 + "lo": 5932904899490697 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 369282029794770763 + "lo": 360282336019804537 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 168203325911599486 + "lo": 5932904899490697 } } ] @@ -240,7 +240,7 @@ { "i128": { "hi": 0, - "lo": 30230185502295584 + "lo": 2871144802193634 } }, { @@ -268,7 +268,7 @@ { "i128": { "hi": 0, - "lo": 81153878185511422 + "lo": 338868928166123147 } } ] @@ -585,7 +585,7 @@ "val": { "i128": { "hi": 0, - "lo": 249227738445917810 + "lo": 46233330364271314 } } } @@ -646,18 +646,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +668,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +705,7 @@ "val": { "i128": { "hi": 0, - "lo": 450435907980282185 + "lo": 699151264185927684 } } }, @@ -709,7 +716,7 @@ "val": { "i128": { "hi": 0, - "lo": 137973140409303902 + "lo": 3061760097297063 } } }, @@ -736,7 +743,7 @@ "val": { "i128": { "hi": 0, - "lo": 249227738445917810 + "lo": 46233330364271314 } } } @@ -863,7 +870,7 @@ "val": { "i128": { "hi": 0, - "lo": 450435907980282185 + "lo": 699151264185927684 } } }, @@ -1009,7 +1016,7 @@ "val": { "i128": { "hi": 2, - "lo": 13025357974395385346 + "lo": 12767642924414773621 } } }, @@ -1194,7 +1201,7 @@ "val": { "i128": { "hi": 0, - "lo": 137973140409303902 + "lo": 3061760097297063 } } }, @@ -1340,7 +1347,7 @@ "val": { "i128": { "hi": 2, - "lo": 13136742038083192352 + "lo": 13109382997383090402 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.245.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.245.json index 37fa9e6..48ead54 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.245.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.245.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 925690657690560191 + "lo": 327348099339912450 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 73533417232792656 + "lo": 955336874607833765 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 925690657690560191 + "lo": 327348099339912450 } }, { "i128": { "hi": 0, - "lo": 73533417232792656 + "lo": 955336874607833765 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 925690657690560191 + "lo": 327348099339912450 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 73533417232792656 + "lo": 955336874607833765 } } ] @@ -222,65 +222,6 @@ } ] ], - [ - [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - { - "function": { - "contract_fn": { - "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "swap", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "bool": false - }, - { - "i128": { - "hi": 0, - "lo": 2670604726412907 - } - }, - { - "i128": { - "hi": 2, - "lo": 13106511852580896768 - } - } - ] - } - }, - "sub_invocations": [ - { - "function": { - "contract_fn": { - "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", - "function_name": "transfer", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "i128": { - "hi": 0, - "lo": 34991450886484802 - } - } - ] - } - }, - "sub_invocations": [] - } - ] - } - ] - ], - [], [] ], "ledger": { @@ -585,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 260900742353214101 + "lo": 559220627420168265 } } } @@ -646,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 960682108577044993 + "lo": 327348099339912450 } } }, @@ -709,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 70862812506379749 + "lo": 955336874607833765 } } }, @@ -736,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 260900742353214101 + "lo": 559220627420168265 } } } @@ -786,39 +734,6 @@ 6311999 ] ], - [ - { - "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary", - "val": "void" - } - }, - "ext": "v0" - }, - 6311999 - ] - ], [ { "contract_data": { @@ -863,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 960682108577044993 + "lo": 327348099339912450 } } }, @@ -1009,7 +924,7 @@ "val": { "i128": { "hi": 2, - "lo": 13071520401694411966 + "lo": 13106511852580896768 } } }, @@ -1194,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 70862812506379749 + "lo": 955336874607833765 } } }, @@ -1340,7 +1255,7 @@ "val": { "i128": { "hi": 2, - "lo": 13109182457307309675 + "lo": 13106511852580896768 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.246.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.246.json index eab4028..90c957a 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.246.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.246.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 31656031482310760 + "lo": 220078732307800699 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 245270953969243774 + "lo": 473233394557482086 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 31656031482310760 + "lo": 220078732307800699 } }, { "i128": { "hi": 0, - "lo": 245270953969243774 + "lo": 473233394557482086 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 31656031482310760 + "lo": 220078732307800699 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 245270953969243774 + "lo": 473233394557482086 } } ] @@ -222,65 +222,6 @@ } ] ], - [ - [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - { - "function": { - "contract_fn": { - "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "swap", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "bool": true - }, - { - "i128": { - "hi": 0, - "lo": 11882400411406592 - } - }, - { - "i128": { - "hi": 2, - "lo": 13106511852580896768 - } - } - ] - } - }, - "sub_invocations": [ - { - "function": { - "contract_fn": { - "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", - "function_name": "transfer", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "i128": { - "hi": 0, - "lo": 147832090399396692 - } - } - ] - } - }, - "sub_invocations": [] - } - ] - } - ] - ], - [], [] ], "ledger": { @@ -585,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 88115294021791552 + "lo": 322720630824755187 } } } @@ -646,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 19773631070904168 + "lo": 220078732307800699 } } }, @@ -709,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 393103044368640466 + "lo": 473233394557482086 } } }, @@ -736,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 88115294021791552 + "lo": 322720630824755187 } } } @@ -786,39 +734,6 @@ 6311999 ] ], - [ - { - "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary", - "val": "void" - } - }, - "ext": "v0" - }, - 6311999 - ] - ], [ { "contract_data": { @@ -863,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 19773631070904168 + "lo": 220078732307800699 } } }, @@ -1009,7 +924,7 @@ "val": { "i128": { "hi": 2, - "lo": 13118394252992303360 + "lo": 13106511852580896768 } } }, @@ -1194,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 393103044368640466 + "lo": 473233394557482086 } } }, @@ -1340,7 +1255,7 @@ "val": { "i128": { "hi": 2, - "lo": 12958679762181500076 + "lo": 13106511852580896768 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.247.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.247.json index 30653ce..0a8e962 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.247.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.247.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 210950673628880520 + "lo": 795412847054325698 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 524410905941058300 + "lo": 489759824808106149 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 210950673628880520 + "lo": 795412847054325698 } }, { "i128": { "hi": 0, - "lo": 524410905941058300 + "lo": 489759824808106149 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 210950673628880520 + "lo": 795412847054325698 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 524410905941058300 + "lo": 489759824808106149 } } ] @@ -222,65 +222,6 @@ } ] ], - [ - [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - { - "function": { - "contract_fn": { - "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "swap", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "bool": true - }, - { - "i128": { - "hi": 0, - "lo": 3175263642123719 - } - }, - { - "i128": { - "hi": 2, - "lo": 13106511852580896768 - } - } - ] - } - }, - "sub_invocations": [ - { - "function": { - "contract_fn": { - "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", - "function_name": "transfer", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "i128": { - "hi": 0, - "lo": 8038262772788408 - } - } - ] - } - }, - "sub_invocations": [] - } - ] - } - ] - ], - [], [] ], "ledger": { @@ -585,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 332603117644134162 + "lo": 624148425154981453 } } } @@ -646,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 207775409986756801 + "lo": 795412847054325698 } } }, @@ -709,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 532449168713846708 + "lo": 489759824808106149 } } }, @@ -736,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 332603117644134162 + "lo": 624148425154981453 } } } @@ -786,39 +734,6 @@ 6311999 ] ], - [ - { - "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary", - "val": "void" - } - }, - "ext": "v0" - }, - 6311999 - ] - ], [ { "contract_data": { @@ -863,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 207775409986756801 + "lo": 795412847054325698 } } }, @@ -1009,7 +924,7 @@ "val": { "i128": { "hi": 2, - "lo": 13109687116223020487 + "lo": 13106511852580896768 } } }, @@ -1194,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 532449168713846708 + "lo": 489759824808106149 } } }, @@ -1340,7 +1255,7 @@ "val": { "i128": { "hi": 2, - "lo": 13098473589808108360 + "lo": 13106511852580896768 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.248.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.248.json index b3d77f1..595ccfe 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.248.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.248.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 788347801179803660 + "lo": 188290488964636156 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 542759135759924676 + "lo": 897623603033339679 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 788347801179803660 + "lo": 188290488964636156 } }, { "i128": { "hi": 0, - "lo": 542759135759924676 + "lo": 897623603033339679 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 788347801179803660 + "lo": 188290488964636156 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 542759135759924676 + "lo": 897623603033339679 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 654127641402339120 + "lo": 411113107455048178 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 788347801179803660 + "lo": 188290488964636156 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 542759135759924676 + "lo": 897623603033339679 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 654127641402339120 + "lo": 411113107455048178 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 788347801179803660 + "lo": 188290488964636156 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 542759135759924676 + "lo": 897623603033339679 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.249.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.249.json index 66f9ea9..84e27d6 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.249.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.249.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 208184934562281630 + "lo": 913852155105282806 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 304871691071064476 + "lo": 792807420808982488 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 208184934562281630 + "lo": 913852155105282806 } }, { "i128": { "hi": 0, - "lo": 304871691071064476 + "lo": 792807420808982488 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 208184934562281630 + "lo": 913852155105282806 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 304871691071064476 + "lo": 792807420808982488 } } ] @@ -222,65 +222,6 @@ } ] ], - [ - [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - { - "function": { - "contract_fn": { - "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "swap", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "bool": true - }, - { - "i128": { - "hi": 0, - "lo": 1538415393664094 - } - }, - { - "i128": { - "hi": 2, - "lo": 13106511852580896768 - } - } - ] - } - }, - "sub_invocations": [ - { - "function": { - "contract_fn": { - "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", - "function_name": "transfer", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "i128": { - "hi": 0, - "lo": 2276499000864033 - } - } - ] - } - }, - "sub_invocations": [] - } - ] - } - ] - ], - [], [] ], "ledger": { @@ -585,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 251931921469911586 + "lo": 851180809281876067 } } } @@ -646,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 206646519168617536 + "lo": 913852155105282806 } } }, @@ -709,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 307148190071928509 + "lo": 792807420808982488 } } }, @@ -736,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 251931921469911586 + "lo": 851180809281876067 } } } @@ -786,39 +734,6 @@ 6311999 ] ], - [ - { - "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary", - "val": "void" - } - }, - "ext": "v0" - }, - 6311999 - ] - ], [ { "contract_data": { @@ -863,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 206646519168617536 + "lo": 913852155105282806 } } }, @@ -1009,7 +924,7 @@ "val": { "i128": { "hi": 2, - "lo": 13108050267974560862 + "lo": 13106511852580896768 } } }, @@ -1194,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 307148190071928509 + "lo": 792807420808982488 } } }, @@ -1340,7 +1255,7 @@ "val": { "i128": { "hi": 2, - "lo": 13104235353580032735 + "lo": 13106511852580896768 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.25.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.25.json index 09885b0..65bc776 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.25.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.25.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 529858036086981054 + "lo": 642902982598080405 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 253223093399875520 + "lo": 674168481153679760 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 529858036086981054 + "lo": 642902982598080405 } }, { "i128": { "hi": 0, - "lo": 253223093399875520 + "lo": 674168481153679760 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 529858036086981054 + "lo": 642902982598080405 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 253223093399875520 + "lo": 674168481153679760 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 366295360277369903 + "lo": 658350155545905887 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 529858036086981054 + "lo": 642902982598080405 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 253223093399875520 + "lo": 674168481153679760 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 366295360277369903 + "lo": 658350155545905887 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 529858036086981054 + "lo": 642902982598080405 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 253223093399875520 + "lo": 674168481153679760 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.250.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.250.json index af9ee3b..ca12f3e 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.250.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.250.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 971497440961193554 + "lo": 950763674125320557 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 136280444844562845 + "lo": 35604889880755678 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 971497440961193554 + "lo": 950763674125320557 } }, { "i128": { "hi": 0, - "lo": 136280444844562845 + "lo": 35604889880755678 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 971497440961193554 + "lo": 950763674125320557 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 136280444844562845 + "lo": 35604889880755678 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 363862753548018276 + "lo": 183988684216868932 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 971497440961193554 + "lo": 950763674125320557 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 136280444844562845 + "lo": 35604889880755678 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 363862753548018276 + "lo": 183988684216868932 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 971497440961193554 + "lo": 950763674125320557 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 136280444844562845 + "lo": 35604889880755678 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.251.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.251.json index d31f21b..68c9282 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.251.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.251.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 920667879774175221 + "lo": 302877327709830009 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 368696045473671543 + "lo": 150767622431813135 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 920667879774175221 + "lo": 302877327709830009 } }, { "i128": { "hi": 0, - "lo": 368696045473671543 + "lo": 150767622431813135 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 920667879774175221 + "lo": 302877327709830009 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 368696045473671543 + "lo": 150767622431813135 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 582620465197857663 + "lo": 213691587544554932 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 920667879774175221 + "lo": 302877327709830009 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 368696045473671543 + "lo": 150767622431813135 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 582620465197857663 + "lo": 213691587544554932 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 920667879774175221 + "lo": 302877327709830009 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 368696045473671543 + "lo": 150767622431813135 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.252.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.252.json index ad7dc1b..144a92c 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.252.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.252.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 754769054568078591 + "lo": 896053533982505331 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 369177233845348447 + "lo": 653056595939182578 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 754769054568078591 + "lo": 896053533982505331 } }, { "i128": { "hi": 0, - "lo": 369177233845348447 + "lo": 653056595939182578 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 754769054568078591 + "lo": 896053533982505331 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 369177233845348447 + "lo": 653056595939182578 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 527866983015145693 + "lo": 764966450690413996 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 754769054568078591 + "lo": 896053533982505331 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 369177233845348447 + "lo": 653056595939182578 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 527866983015145693 + "lo": 764966450690413996 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 754769054568078591 + "lo": 896053533982505331 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 369177233845348447 + "lo": 653056595939182578 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.253.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.253.json index bd73c26..f8ceb4d 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.253.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.253.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 831773200886353411 + "lo": 511907211580703786 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 799455062845932098 + "lo": 766958825480577981 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 831773200886353411 + "lo": 511907211580703786 } }, { "i128": { "hi": 0, - "lo": 799455062845932098 + "lo": 766958825480577981 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 831773200886353411 + "lo": 511907211580703786 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 799455062845932098 + "lo": 766958825480577981 } } ] @@ -222,6 +222,65 @@ } ] ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "swap", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "bool": false + }, + { + "i128": { + "hi": 0, + "lo": 13596272441562888 + } + }, + { + "i128": { + "hi": 2, + "lo": 13106511852580896768 + } + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 9266418676886823 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [], [] ], "ledger": { @@ -526,7 +585,7 @@ "val": { "i128": { "hi": 0, - "lo": 815454043210383358 + "lo": 626587387160780872 } } } @@ -587,18 +646,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +668,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +705,7 @@ "val": { "i128": { "hi": 0, - "lo": 831773200886353411 + "lo": 521173630257590609 } } }, @@ -650,7 +716,7 @@ "val": { "i128": { "hi": 0, - "lo": 799455062845932098 + "lo": 753362553039015093 } } }, @@ -677,7 +743,7 @@ "val": { "i128": { "hi": 0, - "lo": 815454043210383358 + "lo": 626587387160780872 } } } @@ -727,6 +793,39 @@ 6311999 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], [ { "contract_data": { @@ -771,7 +870,7 @@ "val": { "i128": { "hi": 0, - "lo": 831773200886353411 + "lo": 521173630257590609 } } }, @@ -917,7 +1016,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13097245433904009945 } } }, @@ -1102,7 +1201,7 @@ "val": { "i128": { "hi": 0, - "lo": 799455062845932098 + "lo": 753362553039015093 } } }, @@ -1248,7 +1347,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13120108125022459656 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.254.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.254.json index cebfa13..f8fbf77 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.254.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.254.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 728366170055576689 + "lo": 714845307972746199 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 826851070830448668 + "lo": 685087989599505715 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 728366170055576689 + "lo": 714845307972746199 } }, { "i128": { "hi": 0, - "lo": 826851070830448668 + "lo": 685087989599505715 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 728366170055576689 + "lo": 714845307972746199 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 826851070830448668 + "lo": 685087989599505715 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 776047902946155934 + "lo": 699808498743540701 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 728366170055576689 + "lo": 714845307972746199 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 826851070830448668 + "lo": 685087989599505715 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 776047902946155934 + "lo": 699808498743540701 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 728366170055576689 + "lo": 714845307972746199 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 826851070830448668 + "lo": 685087989599505715 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.255.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.255.json index fc8dfab..d4d7f49 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.255.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.255.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 860296990610015788 + "lo": 43006761666324243 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 966533375344584619 + "lo": 29789160372686679 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 860296990610015788 + "lo": 43006761666324243 } }, { "i128": { "hi": 0, - "lo": 966533375344584619 + "lo": 29789160372686679 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 860296990610015788 + "lo": 43006761666324243 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 966533375344584619 + "lo": 29789160372686679 } } ] @@ -222,6 +222,65 @@ } ] ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "swap", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "bool": true + }, + { + "i128": { + "hi": 0, + "lo": 29647033208697161 + } + }, + { + "i128": { + "hi": 2, + "lo": 13106511852580896768 + } + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 66305066205304259 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [], [] ], "ledger": { @@ -526,7 +585,7 @@ "val": { "i128": { "hi": 0, - "lo": 911869373393517904 + "lo": 35792950708038121 } } } @@ -587,18 +646,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +668,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +705,7 @@ "val": { "i128": { "hi": 0, - "lo": 860296990610015788 + "lo": 13359728457627082 } } }, @@ -650,7 +716,7 @@ "val": { "i128": { "hi": 0, - "lo": 966533375344584619 + "lo": 96094226577990938 } } }, @@ -677,7 +743,7 @@ "val": { "i128": { "hi": 0, - "lo": 911869373393517904 + "lo": 35792950708038121 } } } @@ -727,6 +793,39 @@ 6311999 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], [ { "contract_data": { @@ -771,7 +870,7 @@ "val": { "i128": { "hi": 0, - "lo": 860296990610015788 + "lo": 13359728457627082 } } }, @@ -917,7 +1016,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13136158885789593929 } } }, @@ -1102,7 +1201,7 @@ "val": { "i128": { "hi": 0, - "lo": 966533375344584619 + "lo": 96094226577990938 } } }, @@ -1248,7 +1347,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13040206786375592509 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.256.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.256.json index 746f891..fc34d98 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.256.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.256.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 446872409405711279 + "lo": 619243173184745993 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 251795729816977122 + "lo": 805564224758172921 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 446872409405711279 + "lo": 619243173184745993 } }, { "i128": { "hi": 0, - "lo": 251795729816977122 + "lo": 805564224758172921 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 446872409405711279 + "lo": 619243173184745993 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 251795729816977122 + "lo": 805564224758172921 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 335440850913215492 + "lo": 706286164910060318 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 446872409405711279 + "lo": 619243173184745993 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 251795729816977122 + "lo": 805564224758172921 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 335440850913215492 + "lo": 706286164910060318 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 446872409405711279 + "lo": 619243173184745993 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 251795729816977122 + "lo": 805564224758172921 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.26.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.26.json index 188e474..eeee441 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.26.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.26.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 678513597208883250 + "lo": 86048177262297159 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 416530759931455236 + "lo": 277861624413988821 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 678513597208883250 + "lo": 86048177262297159 } }, { "i128": { "hi": 0, - "lo": 416530759931455236 + "lo": 277861624413988821 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 678513597208883250 + "lo": 86048177262297159 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 416530759931455236 + "lo": 277861624413988821 } } ] @@ -222,6 +222,65 @@ } ] ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "swap", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "bool": false + }, + { + "i128": { + "hi": 0, + "lo": 149682458033834301 + } + }, + { + "i128": { + "hi": 2, + "lo": 13106511852580896768 + } + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 100785946911304390 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [], [] ], "ledger": { @@ -526,7 +585,7 @@ "val": { "i128": { "hi": 0, - "lo": 531621843295816302 + "lo": 154626926219092727 } } } @@ -587,18 +646,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +668,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +705,7 @@ "val": { "i128": { "hi": 0, - "lo": 678513597208883250 + "lo": 186834124173601549 } } }, @@ -650,7 +716,7 @@ "val": { "i128": { "hi": 0, - "lo": 416530759931455236 + "lo": 128179166380154520 } } }, @@ -677,7 +743,7 @@ "val": { "i128": { "hi": 0, - "lo": 531621843295816302 + "lo": 154626926219092727 } } } @@ -727,6 +793,39 @@ 6311999 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], [ { "contract_data": { @@ -771,7 +870,7 @@ "val": { "i128": { "hi": 0, - "lo": 678513597208883250 + "lo": 186834124173601549 } } }, @@ -917,7 +1016,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13005725905669592378 } } }, @@ -1102,7 +1201,7 @@ "val": { "i128": { "hi": 0, - "lo": 416530759931455236 + "lo": 128179166380154520 } } }, @@ -1248,7 +1347,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13256194310614731069 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.27.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.27.json index 928b599..d7c7207 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.27.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.27.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 394828194336989423 + "lo": 750625821617992010 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 698350944359566976 + "lo": 755662112066942222 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 394828194336989423 + "lo": 750625821617992010 } }, { "i128": { "hi": 0, - "lo": 698350944359566976 + "lo": 755662112066942222 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 394828194336989423 + "lo": 750625821617992010 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 698350944359566976 + "lo": 755662112066942222 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 525098697746451469 + "lo": 753139757107428010 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 394828194336989423 + "lo": 750625821617992010 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 698350944359566976 + "lo": 755662112066942222 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 525098697746451469 + "lo": 753139757107428010 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 394828194336989423 + "lo": 750625821617992010 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 698350944359566976 + "lo": 755662112066942222 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.28.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.28.json index eb2022a..6898e22 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.28.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.28.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 205777826136417829 + "lo": 52656462121921549 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 732089358949302216 + "lo": 566491175911863298 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 205777826136417829 + "lo": 52656462121921549 } }, { "i128": { "hi": 0, - "lo": 732089358949302216 + "lo": 566491175911863298 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 205777826136417829 + "lo": 52656462121921549 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 732089358949302216 + "lo": 566491175911863298 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 388133684214847674 + "lo": 172711960057217307 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 205777826136417829 + "lo": 52656462121921549 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 732089358949302216 + "lo": 566491175911863298 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 388133684214847674 + "lo": 172711960057217307 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 205777826136417829 + "lo": 52656462121921549 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 732089358949302216 + "lo": 566491175911863298 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.29.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.29.json index ad1f7d8..ff975f8 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.29.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.29.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 417128972072287476 + "lo": 464382873368931916 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 575661837371412062 + "lo": 502721489671883294 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 417128972072287476 + "lo": 464382873368931916 } }, { "i128": { "hi": 0, - "lo": 575661837371412062 + "lo": 502721489671883294 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 417128972072287476 + "lo": 464382873368931916 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 575661837371412062 + "lo": 502721489671883294 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 490025744715501082 + "lo": 483172070672694194 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 417128972072287476 + "lo": 464382873368931916 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 575661837371412062 + "lo": 502721489671883294 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 490025744715501082 + "lo": 483172070672694194 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 417128972072287476 + "lo": 464382873368931916 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 575661837371412062 + "lo": 502721489671883294 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.3.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.3.json index 7fccabc..d016ba3 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.3.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.3.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 208994649017816170 + "lo": 181312858858755257 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 988804136801037389 + "lo": 281420752962161581 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 208994649017816170 + "lo": 181312858858755257 } }, { "i128": { "hi": 0, - "lo": 988804136801037389 + "lo": 281420752962161581 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 208994649017816170 + "lo": 181312858858755257 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 988804136801037389 + "lo": 281420752962161581 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 454592975658552707 + "lo": 225887585452926193 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 208994649017816170 + "lo": 181312858858755257 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 988804136801037389 + "lo": 281420752962161581 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 454592975658552707 + "lo": 225887585452926193 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 208994649017816170 + "lo": 181312858858755257 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 988804136801037389 + "lo": 281420752962161581 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.30.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.30.json index 78dee91..895f4df 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.30.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.30.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 485216358882809812 + "lo": 785209908098193940 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 569660132085754936 + "lo": 553680269347058352 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 485216358882809812 + "lo": 785209908098193940 } }, { "i128": { "hi": 0, - "lo": 569660132085754936 + "lo": 553680269347058352 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 485216358882809812 + "lo": 785209908098193940 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 569660132085754936 + "lo": 553680269347058352 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 525745580191931340 + "lo": 659359714730727961 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 485216358882809812 + "lo": 785209908098193940 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 569660132085754936 + "lo": 553680269347058352 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 525745580191931340 + "lo": 659359714730727961 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 485216358882809812 + "lo": 785209908098193940 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 569660132085754936 + "lo": 553680269347058352 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.31.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.31.json index 4d4ddd7..dfd2e73 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.31.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.31.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 374931864990519143 + "lo": 345310266892392719 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 937623669831175454 + "lo": 180129409110923065 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 374931864990519143 + "lo": 345310266892392719 } }, { "i128": { "hi": 0, - "lo": 937623669831175454 + "lo": 180129409110923065 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 374931864990519143 + "lo": 345310266892392719 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 937623669831175454 + "lo": 180129409110923065 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 592912296371948565 + "lo": 249400349509101210 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 374931864990519143 + "lo": 345310266892392719 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 937623669831175454 + "lo": 180129409110923065 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 592912296371948565 + "lo": 249400349509101210 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 374931864990519143 + "lo": 345310266892392719 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 937623669831175454 + "lo": 180129409110923065 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.32.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.32.json index c8ca7ed..30199b6 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.32.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.32.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 799174512891117288 + "lo": 388794676546976628 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 821409728631111778 + "lo": 734013959320346855 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 799174512891117288 + "lo": 388794676546976628 } }, { "i128": { "hi": 0, - "lo": 821409728631111778 + "lo": 734013959320346855 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 799174512891117288 + "lo": 388794676546976628 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 821409728631111778 + "lo": 734013959320346855 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 810215847637401864 + "lo": 534210370448683742 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 799174512891117288 + "lo": 388794676546976628 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 821409728631111778 + "lo": 734013959320346855 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 810215847637401864 + "lo": 534210370448683742 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 799174512891117288 + "lo": 388794676546976628 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 821409728631111778 + "lo": 734013959320346855 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.33.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.33.json index 77c5106..4c171f8 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.33.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.33.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 141090467425785892 + "lo": 811715560210984223 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 871195888490556763 + "lo": 279150877210814953 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 141090467425785892 + "lo": 811715560210984223 } }, { "i128": { "hi": 0, - "lo": 871195888490556763 + "lo": 279150877210814953 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 141090467425785892 + "lo": 811715560210984223 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 871195888490556763 + "lo": 279150877210814953 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 350595828735248213 + "lo": 476015872296885000 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 141090467425785892 + "lo": 811715560210984223 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 871195888490556763 + "lo": 279150877210814953 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 350595828735248213 + "lo": 476015872296885000 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 141090467425785892 + "lo": 811715560210984223 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 871195888490556763 + "lo": 279150877210814953 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.34.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.34.json index 5376c9c..f8d7beb 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.34.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.34.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 223675485726760329 + "lo": 325769999776786820 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 757762832439851267 + "lo": 414087554449280785 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 223675485726760329 + "lo": 325769999776786820 } }, { "i128": { "hi": 0, - "lo": 757762832439851267 + "lo": 414087554449280785 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 223675485726760329 + "lo": 325769999776786820 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 757762832439851267 + "lo": 414087554449280785 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 411695238752732518 + "lo": 367283681260837399 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 223675485726760329 + "lo": 325769999776786820 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 757762832439851267 + "lo": 414087554449280785 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 411695238752732518 + "lo": 367283681260837399 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 223675485726760329 + "lo": 325769999776786820 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 757762832439851267 + "lo": 414087554449280785 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.35.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.35.json index 9b5dda4..12d0334 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.35.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.35.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 4842150284733943 + "lo": 704988084541370766 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 549111886124267972 + "lo": 637968024477448037 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 4842150284733943 + "lo": 704988084541370766 } }, { "i128": { "hi": 0, - "lo": 549111886124267972 + "lo": 637968024477448037 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 4842150284733943 + "lo": 704988084541370766 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 549111886124267972 + "lo": 637968024477448037 } } ] @@ -222,65 +222,6 @@ } ] ], - [ - [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - { - "function": { - "contract_fn": { - "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "swap", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "bool": false - }, - { - "i128": { - "hi": 0, - "lo": 181208255355925223 - } - }, - { - "i128": { - "hi": 2, - "lo": 13106511852580896768 - } - } - ] - } - }, - "sub_invocations": [ - { - "function": { - "contract_fn": { - "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", - "function_name": "transfer", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "i128": { - "hi": 0, - "lo": 2392142303532591 - } - } - ] - } - }, - "sub_invocations": [] - } - ] - } - ] - ], - [], [] ], "ledger": { @@ -585,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 51564350822515128 + "lo": 670641376277216011 } } } @@ -646,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 7234292588266534 + "lo": 704988084541370766 } } }, @@ -709,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 367903630768342749 + "lo": 637968024477448037 } } }, @@ -736,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 51564350822515128 + "lo": 670641376277216011 } } } @@ -786,39 +734,6 @@ 6311999 ] ], - [ - { - "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary", - "val": "void" - } - }, - "ext": "v0" - }, - 6311999 - ] - ], [ { "contract_data": { @@ -863,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 7234292588266534 + "lo": 704988084541370766 } } }, @@ -1009,7 +924,7 @@ "val": { "i128": { "hi": 2, - "lo": 13104119710277364177 + "lo": 13106511852580896768 } } }, @@ -1194,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 367903630768342749 + "lo": 637968024477448037 } } }, @@ -1340,7 +1255,7 @@ "val": { "i128": { "hi": 2, - "lo": 13287720107936821991 + "lo": 13106511852580896768 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.36.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.36.json index 4c8b927..795b978 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.36.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.36.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 293848695576281919 + "lo": 868608666490608421 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 530975233842265412 + "lo": 900578727257499900 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 293848695576281919 + "lo": 868608666490608421 } }, { "i128": { "hi": 0, - "lo": 530975233842265412 + "lo": 900578727257499900 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 293848695576281919 + "lo": 868608666490608421 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 530975233842265412 + "lo": 900578727257499900 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 395001746639000260 + "lo": 884449256516701660 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 293848695576281919 + "lo": 868608666490608421 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 530975233842265412 + "lo": 900578727257499900 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 395001746639000260 + "lo": 884449256516701660 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 293848695576281919 + "lo": 868608666490608421 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 530975233842265412 + "lo": 900578727257499900 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.37.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.37.json index 552bff6..cda6817 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.37.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.37.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 50412562567489561 + "lo": 140651618404506761 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 162227196833694639 + "lo": 533180290314010634 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 50412562567489561 + "lo": 140651618404506761 } }, { "i128": { "hi": 0, - "lo": 162227196833694639 + "lo": 533180290314010634 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 50412562567489561 + "lo": 140651618404506761 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 162227196833694639 + "lo": 533180290314010634 } } ] @@ -222,65 +222,6 @@ } ] ], - [ - [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - { - "function": { - "contract_fn": { - "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "swap", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "bool": false - }, - { - "i128": { - "hi": 0, - "lo": 26918661874349251 - } - }, - { - "i128": { - "hi": 2, - "lo": 13106511852580896768 - } - } - ] - } - }, - "sub_invocations": [ - { - "function": { - "contract_fn": { - "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", - "function_name": "transfer", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "i128": { - "hi": 0, - "lo": 10059395681576478 - } - } - ] - } - }, - "sub_invocations": [] - } - ] - } - ] - ], - [], [] ], "ledger": { @@ -585,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 90433891382197390 + "lo": 273847897078013648 } } } @@ -646,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 60471958249066039 + "lo": 140651618404506761 } } }, @@ -709,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 135308534959345388 + "lo": 533180290314010634 } } }, @@ -736,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 90433891382197390 + "lo": 273847897078013648 } } } @@ -786,39 +734,6 @@ 6311999 ] ], - [ - { - "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary", - "val": "void" - } - }, - "ext": "v0" - }, - 6311999 - ] - ], [ { "contract_data": { @@ -863,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 60471958249066039 + "lo": 140651618404506761 } } }, @@ -1009,7 +924,7 @@ "val": { "i128": { "hi": 2, - "lo": 13096452456899320290 + "lo": 13106511852580896768 } } }, @@ -1194,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 135308534959345388 + "lo": 533180290314010634 } } }, @@ -1340,7 +1255,7 @@ "val": { "i128": { "hi": 2, - "lo": 13133430514455246019 + "lo": 13106511852580896768 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.38.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.38.json index 375ce22..8055103 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.38.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.38.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 650121302775482719 + "lo": 663074984460874159 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 146020835659191920 + "lo": 234413266199163792 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 650121302775482719 + "lo": 663074984460874159 } }, { "i128": { "hi": 0, - "lo": 146020835659191920 + "lo": 234413266199163792 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 650121302775482719 + "lo": 663074984460874159 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 146020835659191920 + "lo": 234413266199163792 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 308109162329065628 + "lo": 394250647231470362 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 650121302775482719 + "lo": 663074984460874159 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 146020835659191920 + "lo": 234413266199163792 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 308109162329065628 + "lo": 394250647231470362 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 650121302775482719 + "lo": 663074984460874159 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 146020835659191920 + "lo": 234413266199163792 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.39.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.39.json index c221b1a..8dbb854 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.39.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.39.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 985636940066478736 + "lo": 638202828920398522 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 591258315187951587 + "lo": 307669578971476050 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 985636940066478736 + "lo": 638202828920398522 } }, { "i128": { "hi": 0, - "lo": 591258315187951587 + "lo": 307669578971476050 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 985636940066478736 + "lo": 638202828920398522 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 591258315187951587 + "lo": 307669578971476050 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 763391142580731173 + "lo": 443120294809822462 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 985636940066478736 + "lo": 638202828920398522 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 591258315187951587 + "lo": 307669578971476050 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 763391142580731173 + "lo": 443120294809822462 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 985636940066478736 + "lo": 638202828920398522 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 591258315187951587 + "lo": 307669578971476050 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.4.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.4.json index 95e27b8..7b567d3 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.4.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.4.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 317523304228541036 + "lo": 257396256751778283 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 680470544887856815 + "lo": 551722018470853997 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 317523304228541036 + "lo": 257396256751778283 } }, { "i128": { "hi": 0, - "lo": 680470544887856815 + "lo": 551722018470853997 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 317523304228541036 + "lo": 257396256751778283 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 680470544887856815 + "lo": 551722018470853997 } } ] @@ -222,65 +222,6 @@ } ] ], - [ - [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - { - "function": { - "contract_fn": { - "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "swap", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "bool": true - }, - { - "i128": { - "hi": 0, - "lo": 2776640851641378 - } - }, - { - "i128": { - "hi": 2, - "lo": 13106511852580896768 - } - } - ] - } - }, - "sub_invocations": [ - { - "function": { - "contract_fn": { - "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", - "function_name": "transfer", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "i128": { - "hi": 0, - "lo": 6021057112568992 - } - } - ] - } - }, - "sub_invocations": [] - } - ] - } - ] - ], - [], [] ], "ledger": { @@ -585,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 464828200352547509 + "lo": 376843710736869397 } } } @@ -646,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 314746663376899658 + "lo": 257396256751778283 } } }, @@ -709,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 686491602000425807 + "lo": 551722018470853997 } } }, @@ -736,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 464828200352547509 + "lo": 376843710736869397 } } } @@ -786,39 +734,6 @@ 6311999 ] ], - [ - { - "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary", - "val": "void" - } - }, - "ext": "v0" - }, - 6311999 - ] - ], [ { "contract_data": { @@ -863,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 314746663376899658 + "lo": 257396256751778283 } } }, @@ -1009,7 +924,7 @@ "val": { "i128": { "hi": 2, - "lo": 13109288493432538146 + "lo": 13106511852580896768 } } }, @@ -1194,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 686491602000425807 + "lo": 551722018470853997 } } }, @@ -1340,7 +1255,7 @@ "val": { "i128": { "hi": 2, - "lo": 13100490795468327776 + "lo": 13106511852580896768 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.40.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.40.json index 70ed61e..20ce1d3 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.40.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.40.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 468819283893324431 + "lo": 518694444624085084 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 10342493189486284 + "lo": 764919817563285660 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 468819283893324431 + "lo": 518694444624085084 } }, { "i128": { "hi": 0, - "lo": 10342493189486284 + "lo": 764919817563285660 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 468819283893324431 + "lo": 518694444624085084 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 10342493189486284 + "lo": 764919817563285660 } } ] @@ -222,65 +222,6 @@ } ] ], - [ - [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - { - "function": { - "contract_fn": { - "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "swap", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "bool": true - }, - { - "i128": { - "hi": 0, - "lo": 438069071735956717 - } - }, - { - "i128": { - "hi": 2, - "lo": 13106511852580896768 - } - } - ] - } - }, - "sub_invocations": [ - { - "function": { - "contract_fn": { - "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", - "function_name": "transfer", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "i128": { - "hi": 0, - "lo": 147783028165969029 - } - } - ] - } - }, - "sub_invocations": [] - } - ] - } - ] - ], - [], [] ], "ledger": { @@ -585,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 69633039936272670 + "lo": 629888609162719292 } } } @@ -646,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 30750212157367714 + "lo": 518694444624085084 } } }, @@ -709,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 158125521355455313 + "lo": 764919817563285660 } } }, @@ -736,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 69633039936272670 + "lo": 629888609162719292 } } } @@ -786,39 +734,6 @@ 6311999 ] ], - [ - { - "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary", - "val": "void" - } - }, - "ext": "v0" - }, - 6311999 - ] - ], [ { "contract_data": { @@ -863,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 30750212157367714 + "lo": 518694444624085084 } } }, @@ -1009,7 +924,7 @@ "val": { "i128": { "hi": 2, - "lo": 13544580924316853485 + "lo": 13106511852580896768 } } }, @@ -1194,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 158125521355455313 + "lo": 764919817563285660 } } }, @@ -1340,7 +1255,7 @@ "val": { "i128": { "hi": 2, - "lo": 12958728824414927739 + "lo": 13106511852580896768 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.41.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.41.json index 08523d5..196a88e 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.41.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.41.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 908565019447851209 + "lo": 97202922054898456 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 695913163190893140 + "lo": 445788338697489164 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 908565019447851209 + "lo": 97202922054898456 } }, { "i128": { "hi": 0, - "lo": 695913163190893140 + "lo": 445788338697489164 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 908565019447851209 + "lo": 97202922054898456 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 695913163190893140 + "lo": 445788338697489164 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 795161843053695250 + "lo": 208163227154545027 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 908565019447851209 + "lo": 97202922054898456 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 695913163190893140 + "lo": 445788338697489164 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 795161843053695250 + "lo": 208163227154545027 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 908565019447851209 + "lo": 97202922054898456 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 695913163190893140 + "lo": 445788338697489164 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.42.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.42.json index 10cb53a..cfae91a 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.42.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.42.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 527764912999497270 + "lo": 81128648653399597 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 954783809824518218 + "lo": 406046121710297233 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 527764912999497270 + "lo": 81128648653399597 } }, { "i128": { "hi": 0, - "lo": 954783809824518218 + "lo": 406046121710297233 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 527764912999497270 + "lo": 81128648653399597 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 954783809824518218 + "lo": 406046121710297233 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 709860123070288689 + "lo": 181499237313301772 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 527764912999497270 + "lo": 81128648653399597 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 954783809824518218 + "lo": 406046121710297233 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 709860123070288689 + "lo": 181499237313301772 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 527764912999497270 + "lo": 81128648653399597 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 954783809824518218 + "lo": 406046121710297233 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.43.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.43.json index 5560a22..5eca491 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.43.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.43.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 26738547531934302 + "lo": 432914331576299306 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 354087507649003757 + "lo": 521261832205191335 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 26738547531934302 + "lo": 432914331576299306 } }, { "i128": { "hi": 0, - "lo": 354087507649003757 + "lo": 521261832205191335 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 26738547531934302 + "lo": 432914331576299306 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 354087507649003757 + "lo": 521261832205191335 } } ] @@ -222,65 +222,6 @@ } ] ], - [ - [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - { - "function": { - "contract_fn": { - "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "swap", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "bool": false - }, - { - "i128": { - "hi": 0, - "lo": 321149458430632202 - } - }, - { - "i128": { - "hi": 2, - "lo": 13106511852580896768 - } - } - ] - } - }, - "sub_invocations": [ - { - "function": { - "contract_fn": { - "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", - "function_name": "transfer", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "i128": { - "hi": 0, - "lo": 261488126645182474 - } - } - ] - } - }, - "sub_invocations": [] - } - ] - } - ] - ], - [], [] ], "ledger": { @@ -585,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 97302547005394661 + "lo": 475038648601719030 } } } @@ -646,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 288226674177116776 + "lo": 432914331576299306 } } }, @@ -709,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 32938049218371555 + "lo": 521261832205191335 } } }, @@ -736,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 97302547005394661 + "lo": 475038648601719030 } } } @@ -786,39 +734,6 @@ 6311999 ] ], - [ - { - "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary", - "val": "void" - } - }, - "ext": "v0" - }, - 6311999 - ] - ], [ { "contract_data": { @@ -863,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 288226674177116776 + "lo": 432914331576299306 } } }, @@ -1009,7 +924,7 @@ "val": { "i128": { "hi": 2, - "lo": 12845023725935714294 + "lo": 13106511852580896768 } } }, @@ -1194,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 32938049218371555 + "lo": 521261832205191335 } } }, @@ -1340,7 +1255,7 @@ "val": { "i128": { "hi": 2, - "lo": 13427661311011528970 + "lo": 13106511852580896768 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.44.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.44.json index dea3468..e6e013f 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.44.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.44.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 74702721760906442 + "lo": 946244437482914821 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 422788621779108095 + "lo": 277103966586536370 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 74702721760906442 + "lo": 946244437482914821 } }, { "i128": { "hi": 0, - "lo": 422788621779108095 + "lo": 277103966586536370 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 74702721760906442 + "lo": 946244437482914821 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 422788621779108095 + "lo": 277103966586536370 } } ] @@ -222,65 +222,6 @@ } ] ], - [ - [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - { - "function": { - "contract_fn": { - "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "swap", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "bool": true - }, - { - "i128": { - "hi": 0, - "lo": 37239394080870491 - } - }, - { - "i128": { - "hi": 2, - "lo": 13106511852580896768 - } - } - ] - } - }, - "sub_invocations": [ - { - "function": { - "contract_fn": { - "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", - "function_name": "transfer", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "i128": { - "hi": 0, - "lo": 421526019696331240 - } - } - ] - } - }, - "sub_invocations": [] - } - ] - } - ] - ], - [], [] ], "ledger": { @@ -585,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 177717362056839628 + "lo": 512062581123598145 } } } @@ -646,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 37463327680035951 + "lo": 946244437482914821 } } }, @@ -709,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 844314641475439335 + "lo": 277103966586536370 } } }, @@ -736,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 177717362056839628 + "lo": 512062581123598145 } } } @@ -786,39 +734,6 @@ 6311999 ] ], - [ - { - "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary", - "val": "void" - } - }, - "ext": "v0" - }, - 6311999 - ] - ], [ { "contract_data": { @@ -863,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 37463327680035951 + "lo": 946244437482914821 } } }, @@ -1009,7 +924,7 @@ "val": { "i128": { "hi": 2, - "lo": 13143751246661767259 + "lo": 13106511852580896768 } } }, @@ -1194,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 844314641475439335 + "lo": 277103966586536370 } } }, @@ -1340,7 +1255,7 @@ "val": { "i128": { "hi": 2, - "lo": 12684985832884565528 + "lo": 13106511852580896768 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.45.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.45.json index 1c42efe..0dc3072 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.45.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.45.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 379009349014171862 + "lo": 696136921529323120 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 930658188857679244 + "lo": 549577955840556585 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 379009349014171862 + "lo": 696136921529323120 } }, { "i128": { "hi": 0, - "lo": 930658188857679244 + "lo": 549577955840556585 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 379009349014171862 + "lo": 696136921529323120 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 930658188857679244 + "lo": 549577955840556585 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 593909213864928368 + "lo": 618531734286304299 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 379009349014171862 + "lo": 696136921529323120 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 930658188857679244 + "lo": 549577955840556585 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 593909213864928368 + "lo": 618531734286304299 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 379009349014171862 + "lo": 696136921529323120 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 930658188857679244 + "lo": 549577955840556585 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.46.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.46.json index b2a5381..9ab4b29 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.46.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.46.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 756589306188544289 + "lo": 813153780666386196 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 450175838774752315 + "lo": 600901116672142815 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 756589306188544289 + "lo": 813153780666386196 } }, { "i128": { "hi": 0, - "lo": 450175838774752315 + "lo": 600901116672142815 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 756589306188544289 + "lo": 813153780666386196 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 450175838774752315 + "lo": 600901116672142815 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 583607938192615597 + "lo": 699017177777918530 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 756589306188544289 + "lo": 813153780666386196 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 450175838774752315 + "lo": 600901116672142815 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 583607938192615597 + "lo": 699017177777918530 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 756589306188544289 + "lo": 813153780666386196 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 450175838774752315 + "lo": 600901116672142815 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.47.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.47.json index 455e5e3..6d60f8b 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.47.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.47.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 182666838424731303 + "lo": 878351084589900955 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 614041395635036811 + "lo": 251612882552619337 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 182666838424731303 + "lo": 878351084589900955 } }, { "i128": { "hi": 0, - "lo": 614041395635036811 + "lo": 251612882552619337 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 182666838424731303 + "lo": 878351084589900955 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 614041395635036811 + "lo": 251612882552619337 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 334910436389434986 + "lo": 470111102067250227 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 182666838424731303 + "lo": 878351084589900955 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 614041395635036811 + "lo": 251612882552619337 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 334910436389434986 + "lo": 470111102067250227 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 182666838424731303 + "lo": 878351084589900955 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 614041395635036811 + "lo": 251612882552619337 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.48.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.48.json index ecd7628..72edba1 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.48.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.48.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 550521919875222679 + "lo": 878837372096953628 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 77046233973358950 + "lo": 140438501118121504 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 550521919875222679 + "lo": 878837372096953628 } }, { "i128": { "hi": 0, - "lo": 77046233973358950 + "lo": 140438501118121504 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 550521919875222679 + "lo": 878837372096953628 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 77046233973358950 + "lo": 140438501118121504 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 205950578164202237 + "lo": 351315532340779072 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 550521919875222679 + "lo": 878837372096953628 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 77046233973358950 + "lo": 140438501118121504 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 205950578164202237 + "lo": 351315532340779072 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 550521919875222679 + "lo": 878837372096953628 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 77046233973358950 + "lo": 140438501118121504 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.49.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.49.json index 0f18208..c511fb6 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.49.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.49.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 223180377339252799 + "lo": 35030924997457766 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 386094932916859952 + "lo": 924212304087065716 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 223180377339252799 + "lo": 35030924997457766 } }, { "i128": { "hi": 0, - "lo": 386094932916859952 + "lo": 924212304087065716 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 223180377339252799 + "lo": 35030924997457766 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 386094932916859952 + "lo": 924212304087065716 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 293545248330062907 + "lo": 179933354068114977 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 223180377339252799 + "lo": 35030924997457766 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 386094932916859952 + "lo": 924212304087065716 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 293545248330062907 + "lo": 179933354068114977 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 223180377339252799 + "lo": 35030924997457766 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 386094932916859952 + "lo": 924212304087065716 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.5.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.5.json index 55312f4..63f27f5 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.5.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.5.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 886019342430734066 + "lo": 741134360628556481 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 836968209007615382 + "lo": 736027778939966300 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 886019342430734066 + "lo": 741134360628556481 } }, { "i128": { "hi": 0, - "lo": 836968209007615382 + "lo": 736027778939966300 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 886019342430734066 + "lo": 741134360628556481 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 836968209007615382 + "lo": 736027778939966300 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 861144600041338338 + "lo": 738576656380045924 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 886019342430734066 + "lo": 741134360628556481 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 836968209007615382 + "lo": 736027778939966300 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 861144600041338338 + "lo": 738576656380045924 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 886019342430734066 + "lo": 741134360628556481 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 836968209007615382 + "lo": 736027778939966300 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.50.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.50.json index 79d1d27..cfb3e10 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.50.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.50.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 642037543911823313 + "lo": 846626416564746088 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 881094121316349327 + "lo": 941617219149981091 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 642037543911823313 + "lo": 846626416564746088 } }, { "i128": { "hi": 0, - "lo": 881094121316349327 + "lo": 941617219149981091 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 642037543911823313 + "lo": 846626416564746088 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 881094121316349327 + "lo": 941617219149981091 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 752127320076258769 + "lo": 892859458159350910 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 642037543911823313 + "lo": 846626416564746088 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 881094121316349327 + "lo": 941617219149981091 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 752127320076258769 + "lo": 892859458159350910 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 642037543911823313 + "lo": 846626416564746088 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 881094121316349327 + "lo": 941617219149981091 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.51.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.51.json index 6aecc9e..d3b8641 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.51.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.51.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 492304347643566159 + "lo": 550075133285520521 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 713485120515943327 + "lo": 842857494529639467 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 492304347643566159 + "lo": 550075133285520521 } }, { "i128": { "hi": 0, - "lo": 713485120515943327 + "lo": 842857494529639467 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 492304347643566159 + "lo": 550075133285520521 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 713485120515943327 + "lo": 842857494529639467 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 592665020740209250 + "lo": 680907444990940977 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 492304347643566159 + "lo": 550075133285520521 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 713485120515943327 + "lo": 842857494529639467 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 592665020740209250 + "lo": 680907444990940977 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 492304347643566159 + "lo": 550075133285520521 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 713485120515943327 + "lo": 842857494529639467 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.52.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.52.json index 65757d3..561181e 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.52.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.52.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 994276369286987540 + "lo": 282915815136871278 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 324571832102261544 + "lo": 884657129011789606 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 994276369286987540 + "lo": 282915815136871278 } }, { "i128": { "hi": 0, - "lo": 324571832102261544 + "lo": 884657129011789606 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 994276369286987540 + "lo": 282915815136871278 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 324571832102261544 + "lo": 884657129011789606 } } ] @@ -222,6 +222,65 @@ } ] ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "swap", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "bool": false + }, + { + "i128": { + "hi": 0, + "lo": 50665106872032481 + } + }, + { + "i128": { + "hi": 2, + "lo": 13106511852580896768 + } + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 17238883468766751 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [], [] ], "ledger": { @@ -526,7 +585,7 @@ "val": { "i128": { "hi": 0, - "lo": 568079310303994715 + "lo": 500283412448398845 } } } @@ -587,18 +646,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +668,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +705,7 @@ "val": { "i128": { "hi": 0, - "lo": 994276369286987540 + "lo": 300154698605638029 } } }, @@ -650,7 +716,7 @@ "val": { "i128": { "hi": 0, - "lo": 324571832102261544 + "lo": 833992022139757125 } } }, @@ -677,7 +743,7 @@ "val": { "i128": { "hi": 0, - "lo": 568079310303994715 + "lo": 500283412448398845 } } } @@ -727,6 +793,39 @@ 6311999 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], [ { "contract_data": { @@ -771,7 +870,7 @@ "val": { "i128": { "hi": 0, - "lo": 994276369286987540 + "lo": 300154698605638029 } } }, @@ -917,7 +1016,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13089272969112130017 } } }, @@ -1102,7 +1201,7 @@ "val": { "i128": { "hi": 0, - "lo": 324571832102261544 + "lo": 833992022139757125 } } }, @@ -1248,7 +1347,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13157176959452929249 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.53.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.53.json index 9c3ac26..e550d6d 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.53.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.53.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 626733210528779745 + "lo": 50130926446945349 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 880333417591798888 + "lo": 870064092811774438 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 626733210528779745 + "lo": 50130926446945349 } }, { "i128": { "hi": 0, - "lo": 880333417591798888 + "lo": 870064092811774438 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 626733210528779745 + "lo": 50130926446945349 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 880333417591798888 + "lo": 870064092811774438 } } ] @@ -222,6 +222,65 @@ } ] ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "swap", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "bool": false + }, + { + "i128": { + "hi": 0, + "lo": 291417319641333908 + } + }, + { + "i128": { + "hi": 2, + "lo": 13106511852580896768 + } + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 25322839136356741 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [], [] ], "ledger": { @@ -526,7 +585,7 @@ "val": { "i128": { "hi": 0, - "lo": 742788118606565399 + "lo": 208847118823495613 } } } @@ -587,18 +646,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +668,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +705,7 @@ "val": { "i128": { "hi": 0, - "lo": 626733210528779745 + "lo": 75453765583302090 } } }, @@ -650,7 +716,7 @@ "val": { "i128": { "hi": 0, - "lo": 880333417591798888 + "lo": 578646773170440530 } } }, @@ -677,7 +743,7 @@ "val": { "i128": { "hi": 0, - "lo": 742788118606565399 + "lo": 208847118823495613 } } } @@ -727,6 +793,39 @@ 6311999 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], [ { "contract_data": { @@ -771,7 +870,7 @@ "val": { "i128": { "hi": 0, - "lo": 626733210528779745 + "lo": 75453765583302090 } } }, @@ -917,7 +1016,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13081189013444540027 } } }, @@ -1102,7 +1201,7 @@ "val": { "i128": { "hi": 0, - "lo": 880333417591798888 + "lo": 578646773170440530 } } }, @@ -1248,7 +1347,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13397929172222230676 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.54.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.54.json index f3efe5c..6dd6f40 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.54.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.54.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 734975383586771503 + "lo": 442635230934397631 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 549285136168749453 + "lo": 947829685094873059 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 734975383586771503 + "lo": 442635230934397631 } }, { "i128": { "hi": 0, - "lo": 549285136168749453 + "lo": 947829685094873059 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 734975383586771503 + "lo": 442635230934397631 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 549285136168749453 + "lo": 947829685094873059 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 635382604148192466 + "lo": 647721245250182079 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 734975383586771503 + "lo": 442635230934397631 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 549285136168749453 + "lo": 947829685094873059 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 635382604148192466 + "lo": 647721245250182079 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 734975383586771503 + "lo": 442635230934397631 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 549285136168749453 + "lo": 947829685094873059 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.55.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.55.json index e3ccf6c..06680ae 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.55.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.55.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 18876992109466508 + "lo": 37899303696817527 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 774834496656912902 + "lo": 799121671327293604 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 18876992109466508 + "lo": 37899303696817527 } }, { "i128": { "hi": 0, - "lo": 774834496656912902 + "lo": 799121671327293604 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 18876992109466508 + "lo": 37899303696817527 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 774834496656912902 + "lo": 799121671327293604 } } ] @@ -235,12 +235,12 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" }, { - "bool": true + "bool": false }, { "i128": { "hi": 0, - "lo": 12226941704255300 + "lo": 194665813649240268 } }, { @@ -256,7 +256,7 @@ { "function": { "contract_fn": { - "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", "function_name": "transfer", "args": [ { @@ -268,7 +268,7 @@ { "i128": { "hi": 0, - "lo": 1428915982885889562 + "lo": 12242247953002738 } } ] @@ -585,7 +585,7 @@ "val": { "i128": { "hi": 0, - "lo": 120940252519725616 + "lo": 174029178336109773 } } } @@ -646,18 +646,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +668,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +705,7 @@ "val": { "i128": { "hi": 0, - "lo": 6650050405211208 + "lo": 50141551649820265 } } }, @@ -709,7 +716,7 @@ "val": { "i128": { "hi": 0, - "lo": 2203750479542802464 + "lo": 604455857678053336 } } }, @@ -736,7 +743,7 @@ "val": { "i128": { "hi": 0, - "lo": 120940252519725616 + "lo": 174029178336109773 } } } @@ -863,7 +870,7 @@ "val": { "i128": { "hi": 0, - "lo": 6650050405211208 + "lo": 50141551649820265 } } }, @@ -1009,7 +1016,7 @@ "val": { "i128": { "hi": 2, - "lo": 13118738794285152068 + "lo": 13094269604627894030 } } }, @@ -1194,7 +1201,7 @@ "val": { "i128": { "hi": 0, - "lo": 2203750479542802464 + "lo": 604455857678053336 } } }, @@ -1340,7 +1347,7 @@ "val": { "i128": { "hi": 2, - "lo": 11677595869695007206 + "lo": 13301177666230137036 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.56.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.56.json index fd7d40b..2090349 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.56.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.56.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 506643609843986156 + "lo": 126967849123387252 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 288811279822018144 + "lo": 429722439584459014 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 506643609843986156 + "lo": 126967849123387252 } }, { "i128": { "hi": 0, - "lo": 288811279822018144 + "lo": 429722439584459014 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 506643609843986156 + "lo": 126967849123387252 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 288811279822018144 + "lo": 429722439584459014 } } ] @@ -240,7 +240,7 @@ { "i128": { "hi": 0, - "lo": 8113007383509037 + "lo": 2468564267960602 } }, { @@ -268,7 +268,7 @@ { "i128": { "hi": 0, - "lo": 4714211263624864 + "lo": 8546148911762399 } } ] @@ -585,7 +585,7 @@ "val": { "i128": { "hi": 0, - "lo": 382523710863377555 + "lo": 233582820160416518 } } } @@ -646,18 +646,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +668,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +705,7 @@ "val": { "i128": { "hi": 0, - "lo": 498530602460477119 + "lo": 124499284855426650 } } }, @@ -709,7 +716,7 @@ "val": { "i128": { "hi": 0, - "lo": 293525491085643008 + "lo": 438268588496221413 } } }, @@ -736,7 +743,7 @@ "val": { "i128": { "hi": 0, - "lo": 382523710863377555 + "lo": 233582820160416518 } } } @@ -863,7 +870,7 @@ "val": { "i128": { "hi": 0, - "lo": 498530602460477119 + "lo": 124499284855426650 } } }, @@ -1009,7 +1016,7 @@ "val": { "i128": { "hi": 2, - "lo": 13114624859964405805 + "lo": 13108980416848857370 } } }, @@ -1194,7 +1201,7 @@ "val": { "i128": { "hi": 0, - "lo": 293525491085643008 + "lo": 438268588496221413 } } }, @@ -1340,7 +1347,7 @@ "val": { "i128": { "hi": 2, - "lo": 13101797641317271904 + "lo": 13097965703669134369 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.57.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.57.json index b885988..775c647 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.57.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.57.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 634128028704069570 + "lo": 193541124640764018 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 111866243106602042 + "lo": 96848044719818303 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 634128028704069570 + "lo": 193541124640764018 } }, { "i128": { "hi": 0, - "lo": 111866243106602042 + "lo": 96848044719818303 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 634128028704069570 + "lo": 193541124640764018 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 111866243106602042 + "lo": 96848044719818303 } } ] @@ -222,6 +222,65 @@ } ] ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "swap", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "bool": false + }, + { + "i128": { + "hi": 0, + "lo": 18040378960638541 + } + }, + { + "i128": { + "hi": 2, + "lo": 13106511852580896768 + } + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 44438080781898398 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [], [] ], "ledger": { @@ -526,7 +585,7 @@ "val": { "i128": { "hi": 0, - "lo": 266340984866617485 + "lo": 136909019039406756 } } } @@ -587,18 +646,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +668,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +705,7 @@ "val": { "i128": { "hi": 0, - "lo": 634128028704069570 + "lo": 237979205422662416 } } }, @@ -650,7 +716,7 @@ "val": { "i128": { "hi": 0, - "lo": 111866243106602042 + "lo": 78807665759179762 } } }, @@ -677,7 +743,7 @@ "val": { "i128": { "hi": 0, - "lo": 266340984866617485 + "lo": 136909019039406756 } } } @@ -727,6 +793,39 @@ 6311999 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], [ { "contract_data": { @@ -771,7 +870,7 @@ "val": { "i128": { "hi": 0, - "lo": 634128028704069570 + "lo": 237979205422662416 } } }, @@ -917,7 +1016,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13062073771798998370 } } }, @@ -1102,7 +1201,7 @@ "val": { "i128": { "hi": 0, - "lo": 111866243106602042 + "lo": 78807665759179762 } } }, @@ -1248,7 +1347,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13124552231541535309 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.58.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.58.json index a861d58..9c3d5be 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.58.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.58.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 750666933135150493 + "lo": 414298471541300023 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 849569352135547422 + "lo": 929770127580795764 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 750666933135150493 + "lo": 414298471541300023 } }, { "i128": { "hi": 0, - "lo": 849569352135547422 + "lo": 929770127580795764 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 750666933135150493 + "lo": 414298471541300023 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 849569352135547422 + "lo": 929770127580795764 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 798588517356221507 + "lo": 620646713309176563 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 750666933135150493 + "lo": 414298471541300023 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 849569352135547422 + "lo": 929770127580795764 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 798588517356221507 + "lo": 620646713309176563 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 750666933135150493 + "lo": 414298471541300023 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 849569352135547422 + "lo": 929770127580795764 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.59.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.59.json index b5ecf67..b6c77a9 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.59.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.59.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 314474910237499674 + "lo": 485997202383960972 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 434527104097651784 + "lo": 411335226827206389 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 314474910237499674 + "lo": 485997202383960972 } }, { "i128": { "hi": 0, - "lo": 434527104097651784 + "lo": 411335226827206389 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 314474910237499674 + "lo": 485997202383960972 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 434527104097651784 + "lo": 411335226827206389 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 369659129546220894 + "lo": 447110466752898009 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 314474910237499674 + "lo": 485997202383960972 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 434527104097651784 + "lo": 411335226827206389 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 369659129546220894 + "lo": 447110466752898009 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 314474910237499674 + "lo": 485997202383960972 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 434527104097651784 + "lo": 411335226827206389 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.6.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.6.json index 630d917..e12cc66 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.6.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.6.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 944602806107912396 + "lo": 631522957642980943 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 858515907004944118 + "lo": 465813472747611920 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 944602806107912396 + "lo": 631522957642980943 } }, { "i128": { "hi": 0, - "lo": 858515907004944118 + "lo": 465813472747611920 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 944602806107912396 + "lo": 631522957642980943 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 858515907004944118 + "lo": 465813472747611920 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 900531251453912496 + "lo": 542376162842284192 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 944602806107912396 + "lo": 631522957642980943 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 858515907004944118 + "lo": 465813472747611920 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 900531251453912496 + "lo": 542376162842284192 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 944602806107912396 + "lo": 631522957642980943 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 858515907004944118 + "lo": 465813472747611920 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.60.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.60.json index 05565c4..a689853 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.60.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.60.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 946125865592064640 + "lo": 61973693117600382 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 335927758168809774 + "lo": 578412379295728177 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 946125865592064640 + "lo": 61973693117600382 } }, { "i128": { "hi": 0, - "lo": 335927758168809774 + "lo": 578412379295728177 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 946125865592064640 + "lo": 61973693117600382 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 335927758168809774 + "lo": 578412379295728177 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 563764082727754935 + "lo": 189331326752586115 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 946125865592064640 + "lo": 61973693117600382 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 335927758168809774 + "lo": 578412379295728177 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 563764082727754935 + "lo": 189331326752586115 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 946125865592064640 + "lo": 61973693117600382 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 335927758168809774 + "lo": 578412379295728177 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.61.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.61.json index 5444f23..eefa463 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.61.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.61.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 340882490007621318 + "lo": 783682389236239745 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 448296436206566171 + "lo": 522976040492116035 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 340882490007621318 + "lo": 783682389236239745 } }, { "i128": { "hi": 0, - "lo": 448296436206566171 + "lo": 522976040492116035 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 340882490007621318 + "lo": 783682389236239745 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 448296436206566171 + "lo": 522976040492116035 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 390917389528320983 + "lo": 640193027864385568 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 340882490007621318 + "lo": 783682389236239745 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 448296436206566171 + "lo": 522976040492116035 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 390917389528320983 + "lo": 640193027864385568 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 340882490007621318 + "lo": 783682389236239745 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 448296436206566171 + "lo": 522976040492116035 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.62.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.62.json index 61bfa19..c48b48b 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.62.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.62.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 175788016734474876 + "lo": 766643851809970366 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 349411504523243031 + "lo": 90270329138068508 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 175788016734474876 + "lo": 766643851809970366 } }, { "i128": { "hi": 0, - "lo": 349411504523243031 + "lo": 90270329138068508 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 175788016734474876 + "lo": 766643851809970366 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 349411504523243031 + "lo": 90270329138068508 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 247835339296779646 + "lo": 263068798671683303 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 175788016734474876 + "lo": 766643851809970366 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 349411504523243031 + "lo": 90270329138068508 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 247835339296779646 + "lo": 263068798671683303 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 175788016734474876 + "lo": 766643851809970366 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 349411504523243031 + "lo": 90270329138068508 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.63.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.63.json index 834f26b..ff32338 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.63.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.63.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 508113907419039307 + "lo": 499142039560610478 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 470117006737206243 + "lo": 113032984365374427 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 508113907419039307 + "lo": 499142039560610478 } }, { "i128": { "hi": 0, - "lo": 470117006737206243 + "lo": 113032984365374427 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 508113907419039307 + "lo": 499142039560610478 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 470117006737206243 + "lo": 113032984365374427 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 488746344474702635 + "lo": 237527923313777127 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 508113907419039307 + "lo": 499142039560610478 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 470117006737206243 + "lo": 113032984365374427 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 488746344474702635 + "lo": 237527923313777127 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 508113907419039307 + "lo": 499142039560610478 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 470117006737206243 + "lo": 113032984365374427 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.64.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.64.json index 3c3c8f4..c855667 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.64.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.64.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 780866634012314492 + "lo": 216521662953105726 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 162475160881886175 + "lo": 738975091357598507 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 780866634012314492 + "lo": 216521662953105726 } }, { "i128": { "hi": 0, - "lo": 162475160881886175 + "lo": 738975091357598507 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 780866634012314492 + "lo": 216521662953105726 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 162475160881886175 + "lo": 738975091357598507 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 356190162677814177 + "lo": 400005144544005153 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 780866634012314492 + "lo": 216521662953105726 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 162475160881886175 + "lo": 738975091357598507 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 356190162677814177 + "lo": 400005144544005153 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 780866634012314492 + "lo": 216521662953105726 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 162475160881886175 + "lo": 738975091357598507 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.65.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.65.json index 9e4ab7a..645655d 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.65.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.65.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 720958001017501746 + "lo": 458760447334063595 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 385815567695593326 + "lo": 470790011659991292 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 720958001017501746 + "lo": 458760447334063595 } }, { "i128": { "hi": 0, - "lo": 385815567695593326 + "lo": 470790011659991292 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 720958001017501746 + "lo": 458760447334063595 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 385815567695593326 + "lo": 470790011659991292 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 527405745557675534 + "lo": 464736308404611981 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 720958001017501746 + "lo": 458760447334063595 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 385815567695593326 + "lo": 470790011659991292 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 527405745557675534 + "lo": 464736308404611981 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 720958001017501746 + "lo": 458760447334063595 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 385815567695593326 + "lo": 470790011659991292 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.66.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.66.json index da44f08..d6657d8 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.66.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.66.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 805641843899222381 + "lo": 165733324736729518 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 823307411045706522 + "lo": 485520805559192673 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 805641843899222381 + "lo": 165733324736729518 } }, { "i128": { "hi": 0, - "lo": 823307411045706522 + "lo": 485520805559192673 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 805641843899222381 + "lo": 165733324736729518 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 823307411045706522 + "lo": 485520805559192673 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 814426731345894619 + "lo": 283667018410988677 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 805641843899222381 + "lo": 165733324736729518 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 823307411045706522 + "lo": 485520805559192673 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 814426731345894619 + "lo": 283667018410988677 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 805641843899222381 + "lo": 165733324736729518 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 823307411045706522 + "lo": 485520805559192673 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.67.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.67.json index b512328..b6a05c2 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.67.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.67.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 190638199224102072 + "lo": 992428367021929828 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 594628224244671569 + "lo": 287213096919354455 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 190638199224102072 + "lo": 992428367021929828 } }, { "i128": { "hi": 0, - "lo": 594628224244671569 + "lo": 287213096919354455 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 190638199224102072 + "lo": 992428367021929828 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 594628224244671569 + "lo": 287213096919354455 } } ] @@ -222,65 +222,6 @@ } ] ], - [ - [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - { - "function": { - "contract_fn": { - "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "swap", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "bool": false - }, - { - "i128": { - "hi": 0, - "lo": 18457893188541786 - } - }, - { - "i128": { - "hi": 2, - "lo": 13106511852580896768 - } - } - ] - } - }, - "sub_invocations": [ - { - "function": { - "contract_fn": { - "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", - "function_name": "transfer", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "i128": { - "hi": 0, - "lo": 6125562930896556 - } - } - ] - } - }, - "sub_invocations": [] - } - ] - } - ] - ], - [], [] ], "ledger": { @@ -585,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 336688066135153861 + "lo": 533889899476461538 } } } @@ -646,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 196763762154998628 + "lo": 992428367021929828 } } }, @@ -709,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 576170331056129783 + "lo": 287213096919354455 } } }, @@ -736,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 336688066135153861 + "lo": 533889899476461538 } } } @@ -786,39 +734,6 @@ 6311999 ] ], - [ - { - "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary", - "val": "void" - } - }, - "ext": "v0" - }, - 6311999 - ] - ], [ { "contract_data": { @@ -863,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 196763762154998628 + "lo": 992428367021929828 } } }, @@ -1009,7 +924,7 @@ "val": { "i128": { "hi": 2, - "lo": 13100386289650000212 + "lo": 13106511852580896768 } } }, @@ -1194,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 576170331056129783 + "lo": 287213096919354455 } } }, @@ -1340,7 +1255,7 @@ "val": { "i128": { "hi": 2, - "lo": 13124969745769438554 + "lo": 13106511852580896768 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.68.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.68.json index 8a3e244..fb84a69 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.68.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.68.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 828725502676291906 + "lo": 701170170070319474 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 279179391134616716 + "lo": 604950057025413969 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 828725502676291906 + "lo": 701170170070319474 } }, { "i128": { "hi": 0, - "lo": 279179391134616716 + "lo": 604950057025413969 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 828725502676291906 + "lo": 701170170070319474 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 279179391134616716 + "lo": 604950057025413969 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 481002163461762768 + "lo": 651285601229260231 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 828725502676291906 + "lo": 701170170070319474 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 279179391134616716 + "lo": 604950057025413969 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 481002163461762768 + "lo": 651285601229260231 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 828725502676291906 + "lo": 701170170070319474 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 279179391134616716 + "lo": 604950057025413969 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.69.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.69.json index 5b7fbf8..be632eb 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.69.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.69.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 679369758260688930 + "lo": 498987379283810711 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 7153549668212498 + "lo": 812409750331315477 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 679369758260688930 + "lo": 498987379283810711 } }, { "i128": { "hi": 0, - "lo": 7153549668212498 + "lo": 812409750331315477 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 679369758260688930 + "lo": 498987379283810711 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 7153549668212498 + "lo": 812409750331315477 } } ] @@ -222,65 +222,6 @@ } ] ], - [ - [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - { - "function": { - "contract_fn": { - "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "swap", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "bool": false - }, - { - "i128": { - "hi": 0, - "lo": 4615794767464772 - } - }, - { - "i128": { - "hi": 2, - "lo": 13106511852580896768 - } - } - ] - } - }, - "sub_invocations": [ - { - "function": { - "contract_fn": { - "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", - "function_name": "transfer", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "i128": { - "hi": 0, - "lo": 1239389657353207593 - } - } - ] - } - }, - "sub_invocations": [] - } - ] - } - ] - ], - [], [] ], "ledger": { @@ -585,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 69713021085012204 + "lo": 636696326534430446 } } } @@ -646,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 1918759415613896523 + "lo": 498987379283810711 } } }, @@ -709,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 2537754900747726 + "lo": 812409750331315477 } } }, @@ -736,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 69713021085012204 + "lo": 636696326534430446 } } } @@ -786,39 +734,6 @@ 6311999 ] ], - [ - { - "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary", - "val": "void" - } - }, - "ext": "v0" - }, - 6311999 - ] - ], [ { "contract_data": { @@ -863,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 1918759415613896523 + "lo": 498987379283810711 } } }, @@ -1009,7 +924,7 @@ "val": { "i128": { "hi": 2, - "lo": 11867122195227689175 + "lo": 13106511852580896768 } } }, @@ -1194,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 2537754900747726 + "lo": 812409750331315477 } } }, @@ -1340,7 +1255,7 @@ "val": { "i128": { "hi": 2, - "lo": 13111127647348361540 + "lo": 13106511852580896768 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.7.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.7.json index 380e49f..b5323dc 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.7.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.7.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 907088187418670303 + "lo": 756828808954506828 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 806734702229764530 + "lo": 345179657333868341 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 907088187418670303 + "lo": 756828808954506828 } }, { "i128": { "hi": 0, - "lo": 806734702229764530 + "lo": 345179657333868341 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 907088187418670303 + "lo": 756828808954506828 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 806734702229764530 + "lo": 345179657333868341 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 855441125252543506 + "lo": 511118292507044179 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 907088187418670303 + "lo": 756828808954506828 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 806734702229764530 + "lo": 345179657333868341 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 855441125252543506 + "lo": 511118292507044179 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 907088187418670303 + "lo": 756828808954506828 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 806734702229764530 + "lo": 345179657333868341 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.70.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.70.json index eef5cf6..a1b7443 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.70.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.70.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 453556694354851109 + "lo": 423724746818122637 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 616848892293053700 + "lo": 826436977642875022 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 453556694354851109 + "lo": 423724746818122637 } }, { "i128": { "hi": 0, - "lo": 616848892293053700 + "lo": 826436977642875022 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 453556694354851109 + "lo": 423724746818122637 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 616848892293053700 + "lo": 826436977642875022 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 528938507300129387 + "lo": 591761606656651641 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 453556694354851109 + "lo": 423724746818122637 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 616848892293053700 + "lo": 826436977642875022 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 528938507300129387 + "lo": 591761606656651641 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 453556694354851109 + "lo": 423724746818122637 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 616848892293053700 + "lo": 826436977642875022 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.71.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.71.json index 51821c1..28e08f6 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.71.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.71.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 678864713505872785 + "lo": 791865837768962886 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 525233321726771087 + "lo": 123781554187778587 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 678864713505872785 + "lo": 791865837768962886 } }, { "i128": { "hi": 0, - "lo": 525233321726771087 + "lo": 123781554187778587 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 678864713505872785 + "lo": 791865837768962886 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 525233321726771087 + "lo": 123781554187778587 } } ] @@ -222,6 +222,65 @@ } ] ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "swap", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "bool": false + }, + { + "i128": { + "hi": 0, + "lo": 4653860283842174 + } + }, + { + "i128": { + "hi": 2, + "lo": 13106511852580896768 + } + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 31028233798600082 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [], [] ], "ledger": { @@ -526,7 +585,7 @@ "val": { "i128": { "hi": 0, - "lo": 597128435495900966 + "lo": 313078878411255279 } } } @@ -587,18 +646,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +668,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +705,7 @@ "val": { "i128": { "hi": 0, - "lo": 678864713505872785 + "lo": 822894071567562968 } } }, @@ -650,7 +716,7 @@ "val": { "i128": { "hi": 0, - "lo": 525233321726771087 + "lo": 119127693903936413 } } }, @@ -677,7 +743,7 @@ "val": { "i128": { "hi": 0, - "lo": 597128435495900966 + "lo": 313078878411255279 } } } @@ -727,6 +793,39 @@ 6311999 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], [ { "contract_data": { @@ -771,7 +870,7 @@ "val": { "i128": { "hi": 0, - "lo": 678864713505872785 + "lo": 822894071567562968 } } }, @@ -917,7 +1016,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13075483618782296686 } } }, @@ -1102,7 +1201,7 @@ "val": { "i128": { "hi": 0, - "lo": 525233321726771087 + "lo": 119127693903936413 } } }, @@ -1248,7 +1347,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13111165712864738942 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.72.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.72.json index 3c03ad5..f8127da 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.72.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.72.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 487988796920775707 + "lo": 488998326552669344 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 588037418910515842 + "lo": 115454202942642429 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 487988796920775707 + "lo": 488998326552669344 } }, { "i128": { "hi": 0, - "lo": 588037418910515842 + "lo": 115454202942642429 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 487988796920775707 + "lo": 488998326552669344 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 588037418910515842 + "lo": 115454202942642429 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 535682436335690240 + "lo": 237606632972281353 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 487988796920775707 + "lo": 488998326552669344 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 588037418910515842 + "lo": 115454202942642429 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 535682436335690240 + "lo": 237606632972281353 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 487988796920775707 + "lo": 488998326552669344 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 588037418910515842 + "lo": 115454202942642429 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.73.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.73.json index 97637f9..e062a6b 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.73.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.73.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 464272480282435076 + "lo": 683998373022037488 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 681646697167081309 + "lo": 886291554157088152 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 464272480282435076 + "lo": 683998373022037488 } }, { "i128": { "hi": 0, - "lo": 681646697167081309 + "lo": 886291554157088152 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 464272480282435076 + "lo": 683998373022037488 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 681646697167081309 + "lo": 886291554157088152 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 562556488514789730 + "lo": 778602582237319144 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 464272480282435076 + "lo": 683998373022037488 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 681646697167081309 + "lo": 886291554157088152 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 562556488514789730 + "lo": 778602582237319144 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 464272480282435076 + "lo": 683998373022037488 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 681646697167081309 + "lo": 886291554157088152 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.74.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.74.json index b4d7c1f..cf5dbed 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.74.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.74.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 155895776594867782 + "lo": 367744313860202159 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 141421631203689965 + "lo": 132005706694972210 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 155895776594867782 + "lo": 367744313860202159 } }, { "i128": { "hi": 0, - "lo": 141421631203689965 + "lo": 132005706694972210 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 155895776594867782 + "lo": 367744313860202159 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 141421631203689965 + "lo": 132005706694972210 } } ] @@ -235,12 +235,12 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" }, { - "bool": false + "bool": true }, { "i128": { "hi": 0, - "lo": 32787506435367756 + "lo": 120226135840223493 } }, { @@ -256,7 +256,7 @@ { "function": { "contract_fn": { - "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", "function_name": "transfer", "args": [ { @@ -268,7 +268,7 @@ { "i128": { "hi": 0, - "lo": 47193404760682585 + "lo": 64311603393436540 } } ] @@ -585,7 +585,7 @@ "val": { "i128": { "hi": 0, - "lo": 148482440119403456 + "lo": 220327819474013879 } } } @@ -646,18 +646,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +668,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +705,7 @@ "val": { "i128": { "hi": 0, - "lo": 203089181355550367 + "lo": 247518178019978666 } } }, @@ -709,7 +716,7 @@ "val": { "i128": { "hi": 0, - "lo": 108634124768322209 + "lo": 196317310088408750 } } }, @@ -736,7 +743,7 @@ "val": { "i128": { "hi": 0, - "lo": 148482440119403456 + "lo": 220327819474013879 } } } @@ -863,7 +870,7 @@ "val": { "i128": { "hi": 0, - "lo": 203089181355550367 + "lo": 247518178019978666 } } }, @@ -1009,7 +1016,7 @@ "val": { "i128": { "hi": 2, - "lo": 13059318447820214183 + "lo": 13226737988421120261 } } }, @@ -1194,7 +1201,7 @@ "val": { "i128": { "hi": 0, - "lo": 108634124768322209 + "lo": 196317310088408750 } } }, @@ -1340,7 +1347,7 @@ "val": { "i128": { "hi": 2, - "lo": 13139299359016264524 + "lo": 13042200249187460228 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.75.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.75.json index 574cfff..b4bf8eb 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.75.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.75.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 13412066516012395 + "lo": 454770467774768421 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 698928927714975681 + "lo": 120449727718457475 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 13412066516012395 + "lo": 454770467774768421 } }, { "i128": { "hi": 0, - "lo": 698928927714975681 + "lo": 120449727718457475 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 13412066516012395 + "lo": 454770467774768421 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 698928927714975681 + "lo": 120449727718457475 } } ] @@ -222,65 +222,6 @@ } ] ], - [ - [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - { - "function": { - "contract_fn": { - "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "swap", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "bool": true - }, - { - "i128": { - "hi": 0, - "lo": 8259189553298152 - } - }, - { - "i128": { - "hi": 2, - "lo": 13106511852580896768 - } - } - ] - } - }, - "sub_invocations": [ - { - "function": { - "contract_fn": { - "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", - "function_name": "transfer", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "i128": { - "hi": 0, - "lo": 1123635671738169502 - } - } - ] - } - }, - "sub_invocations": [] - } - ] - } - ] - ], - [], [] ], "ledger": { @@ -585,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 96819839229769809 + "lo": 234044822668364949 } } } @@ -646,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 5152876962714243 + "lo": 454770467774768421 } } }, @@ -709,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 1822564599453145183 + "lo": 120449727718457475 } } }, @@ -736,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 96819839229769809 + "lo": 234044822668364949 } } } @@ -786,39 +734,6 @@ 6311999 ] ], - [ - { - "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary", - "val": "void" - } - }, - "ext": "v0" - }, - 6311999 - ] - ], [ { "contract_data": { @@ -863,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 5152876962714243 + "lo": 454770467774768421 } } }, @@ -1009,7 +924,7 @@ "val": { "i128": { "hi": 2, - "lo": 13114771042134194920 + "lo": 13106511852580896768 } } }, @@ -1194,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 1822564599453145183 + "lo": 120449727718457475 } } }, @@ -1340,7 +1255,7 @@ "val": { "i128": { "hi": 2, - "lo": 11982876180842727266 + "lo": 13106511852580896768 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.76.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.76.json index 9cb9a10..db54934 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.76.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.76.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 488947962428229609 + "lo": 846579281485395908 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 666765418065702447 + "lo": 279673125760100157 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 488947962428229609 + "lo": 846579281485395908 } }, { "i128": { "hi": 0, - "lo": 666765418065702447 + "lo": 279673125760100157 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 488947962428229609 + "lo": 846579281485395908 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 666765418065702447 + "lo": 279673125760100157 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 570976000004231253 + "lo": 486585525737007882 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 488947962428229609 + "lo": 846579281485395908 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 666765418065702447 + "lo": 279673125760100157 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 570976000004231253 + "lo": 486585525737007882 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 488947962428229609 + "lo": 846579281485395908 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 666765418065702447 + "lo": 279673125760100157 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.77.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.77.json index 9492843..052ae85 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.77.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.77.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 417861895928669151 + "lo": 764774497635578693 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 843544096828687528 + "lo": 564377532481146604 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 417861895928669151 + "lo": 764774497635578693 } }, { "i128": { "hi": 0, - "lo": 843544096828687528 + "lo": 564377532481146604 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 417861895928669151 + "lo": 764774497635578693 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 843544096828687528 + "lo": 564377532481146604 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 593704417703180174 + "lo": 656979104599283576 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 417861895928669151 + "lo": 764774497635578693 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 843544096828687528 + "lo": 564377532481146604 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 593704417703180174 + "lo": 656979104599283576 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 417861895928669151 + "lo": 764774497635578693 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 843544096828687528 + "lo": 564377532481146604 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.78.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.78.json index 1438ab7..46f8591 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.78.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.78.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 867009100047648172 + "lo": 13309721424991847 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 643384562975433674 + "lo": 825335327147558041 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 867009100047648172 + "lo": 13309721424991847 } }, { "i128": { "hi": 0, - "lo": 643384562975433674 + "lo": 825335327147558041 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 867009100047648172 + "lo": 13309721424991847 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 643384562975433674 + "lo": 825335327147558041 } } ] @@ -222,6 +222,65 @@ } ] ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "swap", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "bool": true + }, + { + "i128": { + "hi": 0, + "lo": 12180674091316564 + } + }, + { + "i128": { + "hi": 2, + "lo": 13106511852580896768 + } + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 8930884036222284946 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [], [] ], "ledger": { @@ -526,7 +585,7 @@ "val": { "i128": { "hi": 0, - "lo": 746873664638056554 + "lo": 104809270995167733 } } } @@ -587,18 +646,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +668,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +705,7 @@ "val": { "i128": { "hi": 0, - "lo": 867009100047648172 + "lo": 1129047333675283 } } }, @@ -650,7 +716,7 @@ "val": { "i128": { "hi": 0, - "lo": 643384562975433674 + "lo": 9756219363369842987 } } }, @@ -677,7 +743,7 @@ "val": { "i128": { "hi": 0, - "lo": 746873664638056554 + "lo": 104809270995167733 } } } @@ -727,6 +793,39 @@ 6311999 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], [ { "contract_data": { @@ -771,7 +870,7 @@ "val": { "i128": { "hi": 0, - "lo": 867009100047648172 + "lo": 1129047333675283 } } }, @@ -917,7 +1016,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13118692526672213332 } } }, @@ -1102,7 +1201,7 @@ "val": { "i128": { "hi": 0, - "lo": 643384562975433674 + "lo": 9756219363369842987 } } }, @@ -1248,7 +1347,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 4175627816358611822 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.79.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.79.json index ff435d7..99291ca 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.79.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.79.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 982931110535250151 + "lo": 851484799713190161 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 640725340648316202 + "lo": 822800825538235561 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 982931110535250151 + "lo": 851484799713190161 } }, { "i128": { "hi": 0, - "lo": 640725340648316202 + "lo": 822800825538235561 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 982931110535250151 + "lo": 851484799713190161 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 640725340648316202 + "lo": 822800825538235561 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 793592383173834336 + "lo": 837019949665043543 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 982931110535250151 + "lo": 851484799713190161 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 640725340648316202 + "lo": 822800825538235561 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 793592383173834336 + "lo": 837019949665043543 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 982931110535250151 + "lo": 851484799713190161 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 640725340648316202 + "lo": 822800825538235561 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.8.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.8.json index 26ce045..a2be14a 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.8.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.8.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 768892452156073632 + "lo": 583794396677863793 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 669011252286361451 + "lo": 80482875012734716 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 768892452156073632 + "lo": 583794396677863793 } }, { "i128": { "hi": 0, - "lo": 669011252286361451 + "lo": 80482875012734716 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 768892452156073632 + "lo": 583794396677863793 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 669011252286361451 + "lo": 80482875012734716 } } ] @@ -222,65 +222,6 @@ } ] ], - [ - [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - { - "function": { - "contract_fn": { - "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "swap", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "bool": false - }, - { - "i128": { - "hi": 0, - "lo": 8387977326913825 - } - }, - { - "i128": { - "hi": 2, - "lo": 13106511852580896768 - } - } - ] - } - }, - "sub_invocations": [ - { - "function": { - "contract_fn": { - "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", - "function_name": "transfer", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "i128": { - "hi": 0, - "lo": 9792054379275790 - } - } - ] - } - }, - "sub_invocations": [] - } - ] - } - ] - ], - [], [] ], "ledger": { @@ -585,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 717215241256393043 + "lo": 216761277586563838 } } } @@ -646,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 778684506535349422 + "lo": 583794396677863793 } } }, @@ -709,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 660623274959447626 + "lo": 80482875012734716 } } }, @@ -736,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 717215241256393043 + "lo": 216761277586563838 } } } @@ -786,39 +734,6 @@ 6311999 ] ], - [ - { - "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary", - "val": "void" - } - }, - "ext": "v0" - }, - 6311999 - ] - ], [ { "contract_data": { @@ -863,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 778684506535349422 + "lo": 583794396677863793 } } }, @@ -1009,7 +924,7 @@ "val": { "i128": { "hi": 2, - "lo": 13096719798201620978 + "lo": 13106511852580896768 } } }, @@ -1194,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 660623274959447626 + "lo": 80482875012734716 } } }, @@ -1340,7 +1255,7 @@ "val": { "i128": { "hi": 2, - "lo": 13114899829907810593 + "lo": 13106511852580896768 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.80.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.80.json index 376b709..7129a7a 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.80.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.80.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 470641085082315921 + "lo": 660553750170212754 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 488420911426583383 + "lo": 68457326562079432 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 470641085082315921 + "lo": 660553750170212754 } }, { "i128": { "hi": 0, - "lo": 488420911426583383 + "lo": 68457326562079432 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 470641085082315921 + "lo": 660553750170212754 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 488420911426583383 + "lo": 68457326562079432 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 479448587161022843 + "lo": 212649344666774100 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 470641085082315921 + "lo": 660553750170212754 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 488420911426583383 + "lo": 68457326562079432 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 479448587161022843 + "lo": 212649344666774100 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 470641085082315921 + "lo": 660553750170212754 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 488420911426583383 + "lo": 68457326562079432 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.81.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.81.json index af3fdf7..220bf79 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.81.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.81.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 252141909424841270 + "lo": 819930723168893963 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 141579287273153736 + "lo": 197222710226908331 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 252141909424841270 + "lo": 819930723168893963 } }, { "i128": { "hi": 0, - "lo": 141579287273153736 + "lo": 197222710226908331 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 252141909424841270 + "lo": 819930723168893963 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 141579287273153736 + "lo": 197222710226908331 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 188939333723979008 + "lo": 402130525354241377 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 252141909424841270 + "lo": 819930723168893963 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 141579287273153736 + "lo": 197222710226908331 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 188939333723979008 + "lo": 402130525354241377 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 252141909424841270 + "lo": 819930723168893963 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 141579287273153736 + "lo": 197222710226908331 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.82.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.82.json index e99d152..25125a8 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.82.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.82.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 212214601779214713 + "lo": 670029322906592385 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 382345698501161230 + "lo": 487773628510502581 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 212214601779214713 + "lo": 670029322906592385 } }, { "i128": { "hi": 0, - "lo": 382345698501161230 + "lo": 487773628510502581 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 212214601779214713 + "lo": 670029322906592385 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 382345698501161230 + "lo": 487773628510502581 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 284849679918057169 + "lo": 571684033398330770 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 212214601779214713 + "lo": 670029322906592385 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 382345698501161230 + "lo": 487773628510502581 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 284849679918057169 + "lo": 571684033398330770 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 212214601779214713 + "lo": 670029322906592385 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 382345698501161230 + "lo": 487773628510502581 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.83.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.83.json index 35fa7b7..1e9c721 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.83.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.83.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 646395526783587997 + "lo": 384517480515070575 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 77875680681705744 + "lo": 255224052380320305 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 646395526783587997 + "lo": 384517480515070575 } }, { "i128": { "hi": 0, - "lo": 77875680681705744 + "lo": 255224052380320305 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 646395526783587997 + "lo": 384517480515070575 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 77875680681705744 + "lo": 255224052380320305 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 224362411374725761 + "lo": 313270026635372769 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 646395526783587997 + "lo": 384517480515070575 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 77875680681705744 + "lo": 255224052380320305 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 224362411374725761 + "lo": 313270026635372769 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 646395526783587997 + "lo": 384517480515070575 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 77875680681705744 + "lo": 255224052380320305 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.84.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.84.json index e1a383c..2eacd7d 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.84.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.84.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 676646979992558856 + "lo": 352937274803333803 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 286316999447240794 + "lo": 466981963628304551 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 676646979992558856 + "lo": 352937274803333803 } }, { "i128": { "hi": 0, - "lo": 286316999447240794 + "lo": 466981963628304551 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 676646979992558856 + "lo": 352937274803333803 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 286316999447240794 + "lo": 466981963628304551 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 440153987823019304 + "lo": 405974557854655904 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 676646979992558856 + "lo": 352937274803333803 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 286316999447240794 + "lo": 466981963628304551 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 440153987823019304 + "lo": 405974557854655904 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 676646979992558856 + "lo": 352937274803333803 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 286316999447240794 + "lo": 466981963628304551 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.85.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.85.json index 11a2d60..97c7e2e 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.85.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.85.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 181737775197930509 + "lo": 859199180947967945 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 541297727764055836 + "lo": 408528330497926688 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 181737775197930509 + "lo": 859199180947967945 } }, { "i128": { "hi": 0, - "lo": 541297727764055836 + "lo": 408528330497926688 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 181737775197930509 + "lo": 859199180947967945 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 541297727764055836 + "lo": 408528330497926688 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 313646687793023836 + "lo": 592458612021008066 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 181737775197930509 + "lo": 859199180947967945 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 541297727764055836 + "lo": 408528330497926688 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 313646687793023836 + "lo": 592458612021008066 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 181737775197930509 + "lo": 859199180947967945 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 541297727764055836 + "lo": 408528330497926688 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.86.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.86.json index 1f0402d..6fc00c7 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.86.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.86.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 444233911682491108 + "lo": 89888553960456276 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 214985590716688936 + "lo": 476764580967144942 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 444233911682491108 + "lo": 89888553960456276 } }, { "i128": { "hi": 0, - "lo": 214985590716688936 + "lo": 476764580967144942 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 444233911682491108 + "lo": 89888553960456276 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 214985590716688936 + "lo": 476764580967144942 } } ] @@ -240,7 +240,7 @@ { "i128": { "hi": 0, - "lo": 22160428966896082 + "lo": 98527090586106359 } }, { @@ -268,7 +268,7 @@ { "i128": { "hi": 0, - "lo": 51207197563757754 + "lo": 23485527600202769 } } ] @@ -585,7 +585,7 @@ "val": { "i128": { "hi": 0, - "lo": 309037036485023543 + "lo": 207016131648476934 } } } @@ -646,18 +646,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +668,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +705,7 @@ "val": { "i128": { "hi": 0, - "lo": 495441109246248862 + "lo": 113374081560659045 } } }, @@ -709,7 +716,7 @@ "val": { "i128": { "hi": 0, - "lo": 192825161749792854 + "lo": 378237490381038583 } } }, @@ -736,7 +743,7 @@ "val": { "i128": { "hi": 0, - "lo": 309037036485023543 + "lo": 207016131648476934 } } } @@ -863,7 +870,7 @@ "val": { "i128": { "hi": 0, - "lo": 495441109246248862 + "lo": 113374081560659045 } } }, @@ -1009,7 +1016,7 @@ "val": { "i128": { "hi": 2, - "lo": 13055304655017139014 + "lo": 13083026324980693999 } } }, @@ -1194,7 +1201,7 @@ "val": { "i128": { "hi": 0, - "lo": 192825161749792854 + "lo": 378237490381038583 } } }, @@ -1340,7 +1347,7 @@ "val": { "i128": { "hi": 2, - "lo": 13128672281547792850 + "lo": 13205038943167003127 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.87.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.87.json index 328f22c..b3f4ec9 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.87.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.87.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 161199930746643795 + "lo": 831674084724154350 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 379089114594508405 + "lo": 671892821475297293 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 161199930746643795 + "lo": 831674084724154350 } }, { "i128": { "hi": 0, - "lo": 379089114594508405 + "lo": 671892821475297293 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 161199930746643795 + "lo": 831674084724154350 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 379089114594508405 + "lo": 671892821475297293 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 247202627452544016 + "lo": 747526486041262295 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 161199930746643795 + "lo": 831674084724154350 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 379089114594508405 + "lo": 671892821475297293 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 247202627452544016 + "lo": 747526486041262295 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 161199930746643795 + "lo": 831674084724154350 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 379089114594508405 + "lo": 671892821475297293 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.88.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.88.json index 1d82f2b..b26ef9c 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.88.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.88.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 569006433702276772 + "lo": 646276203464374762 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 735301228403273325 + "lo": 246989855025995735 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 569006433702276772 + "lo": 646276203464374762 } }, { "i128": { "hi": 0, - "lo": 735301228403273325 + "lo": 246989855025995735 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 569006433702276772 + "lo": 646276203464374762 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 735301228403273325 + "lo": 246989855025995735 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 646831608435031422 + "lo": 399529305308655481 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 569006433702276772 + "lo": 646276203464374762 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 735301228403273325 + "lo": 246989855025995735 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 646831608435031422 + "lo": 399529305308655481 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 569006433702276772 + "lo": 646276203464374762 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 735301228403273325 + "lo": 246989855025995735 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.89.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.89.json index ab4343b..8a900e7 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.89.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.89.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 117965758532976064 + "lo": 732964768295910843 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 385614393936653796 + "lo": 503725626546480540 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 117965758532976064 + "lo": 732964768295910843 } }, { "i128": { "hi": 0, - "lo": 385614393936653796 + "lo": 503725626546480540 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 117965758532976064 + "lo": 732964768295910843 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 385614393936653796 + "lo": 503725626546480540 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 213282194479452998 + "lo": 607629111503352532 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 117965758532976064 + "lo": 732964768295910843 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 385614393936653796 + "lo": 503725626546480540 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 213282194479452998 + "lo": 607629111503352532 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 117965758532976064 + "lo": 732964768295910843 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 385614393936653796 + "lo": 503725626546480540 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.9.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.9.json index 3d682e2..5107d2c 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.9.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.9.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 261825561408591154 + "lo": 374824315696153584 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 139671099162150482 + "lo": 304740549852665170 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 261825561408591154 + "lo": 374824315696153584 } }, { "i128": { "hi": 0, - "lo": 139671099162150482 + "lo": 304740549852665170 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 261825561408591154 + "lo": 374824315696153584 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 139671099162150482 + "lo": 304740549852665170 } } ] @@ -222,65 +222,6 @@ } ] ], - [ - [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - { - "function": { - "contract_fn": { - "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "swap", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "bool": true - }, - { - "i128": { - "hi": 0, - "lo": 119618588571381911 - } - }, - { - "i128": { - "hi": 2, - "lo": 13106511852580896768 - } - } - ] - } - }, - "sub_invocations": [ - { - "function": { - "contract_fn": { - "contract_address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF", - "function_name": "transfer", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "i128": { - "hi": 0, - "lo": 117839034251872628 - } - } - ] - } - }, - "sub_invocations": [] - } - ] - } - ] - ], - [], [] ], "ledger": { @@ -585,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 191231440800630520 + "lo": 337970661542381218 } } } @@ -646,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 142206972837209243 + "lo": 374824315696153584 } } }, @@ -709,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 257510133414023110 + "lo": 304740549852665170 } } }, @@ -736,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 191231440800630520 + "lo": 337970661542381218 } } } @@ -786,39 +734,6 @@ 6311999 ] ], - [ - { - "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary", - "val": "void" - } - }, - "ext": "v0" - }, - 6311999 - ] - ], [ { "contract_data": { @@ -863,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 142206972837209243 + "lo": 374824315696153584 } } }, @@ -1009,7 +924,7 @@ "val": { "i128": { "hi": 2, - "lo": 13226130441152278679 + "lo": 13106511852580896768 } } }, @@ -1194,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 257510133414023110 + "lo": 304740549852665170 } } }, @@ -1340,7 +1255,7 @@ "val": { "i128": { "hi": 2, - "lo": 12988672818329024140 + "lo": 13106511852580896768 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.90.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.90.json index 312c2b9..f4249ee 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.90.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.90.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 750929443186818032 + "lo": 646516864732864840 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 210898663110917538 + "lo": 803824166431877905 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 750929443186818032 + "lo": 646516864732864840 } }, { "i128": { "hi": 0, - "lo": 210898663110917538 + "lo": 803824166431877905 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 750929443186818032 + "lo": 646516864732864840 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 210898663110917538 + "lo": 803824166431877905 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 397957303813770488 + "lo": 720892419073779858 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 750929443186818032 + "lo": 646516864732864840 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 210898663110917538 + "lo": 803824166431877905 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 397957303813770488 + "lo": 720892419073779858 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 750929443186818032 + "lo": 646516864732864840 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 210898663110917538 + "lo": 803824166431877905 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.91.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.91.json index db74dd7..79e2b8f 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.91.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.91.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 329411168001562172 + "lo": 809797986742909879 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 573338909088772672 + "lo": 865513545505692305 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 329411168001562172 + "lo": 809797986742909879 } }, { "i128": { "hi": 0, - "lo": 573338909088772672 + "lo": 865513545505692305 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 329411168001562172 + "lo": 809797986742909879 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 573338909088772672 + "lo": 865513545505692305 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 434585135161885254 + "lo": 837192407185604821 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 329411168001562172 + "lo": 809797986742909879 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 573338909088772672 + "lo": 865513545505692305 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 434585135161885254 + "lo": 837192407185604821 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 329411168001562172 + "lo": 809797986742909879 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 573338909088772672 + "lo": 865513545505692305 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.92.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.92.json index 3bd130c..b56a8c8 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.92.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.92.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 328196134699888464 + "lo": 989572725149068250 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 773661276799216669 + "lo": 730165390233802900 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 328196134699888464 + "lo": 989572725149068250 } }, { "i128": { "hi": 0, - "lo": 773661276799216669 + "lo": 730165390233802900 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 328196134699888464 + "lo": 989572725149068250 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 773661276799216669 + "lo": 730165390233802900 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 503897450492144688 + "lo": 850030443586108979 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 328196134699888464 + "lo": 989572725149068250 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 773661276799216669 + "lo": 730165390233802900 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 503897450492144688 + "lo": 850030443586108979 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 328196134699888464 + "lo": 989572725149068250 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 773661276799216669 + "lo": 730165390233802900 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.93.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.93.json index 4ecf18d..d118c1d 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.93.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.93.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 347668239477692257 + "lo": 155505385963429642 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 171746700257797439 + "lo": 518195360154788385 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 347668239477692257 + "lo": 155505385963429642 } }, { "i128": { "hi": 0, - "lo": 171746700257797439 + "lo": 518195360154788385 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 347668239477692257 + "lo": 155505385963429642 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 171746700257797439 + "lo": 518195360154788385 } } ] @@ -222,65 +222,6 @@ } ] ], - [ - [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - { - "function": { - "contract_fn": { - "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "swap", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "bool": false - }, - { - "i128": { - "hi": 0, - "lo": 4583797823479076 - } - }, - { - "i128": { - "hi": 2, - "lo": 13106511852580896768 - } - } - ] - } - }, - "sub_invocations": [ - { - "function": { - "contract_fn": { - "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", - "function_name": "transfer", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "i128": { - "hi": 0, - "lo": 9562146892747273 - } - } - ] - } - }, - "sub_invocations": [] - } - ] - } - ] - ], - [], [] ], "ledger": { @@ -585,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 244358083383241796 + "lo": 283869986940022945 } } } @@ -646,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 357230386370439530 + "lo": 155505385963429642 } } }, @@ -709,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 167162902434318363 + "lo": 518195360154788385 } } }, @@ -736,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 244358083383241796 + "lo": 283869986940022945 } } } @@ -786,39 +734,6 @@ 6311999 ] ], - [ - { - "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary", - "val": "void" - } - }, - "ext": "v0" - }, - 6311999 - ] - ], [ { "contract_data": { @@ -863,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 357230386370439530 + "lo": 155505385963429642 } } }, @@ -1009,7 +924,7 @@ "val": { "i128": { "hi": 2, - "lo": 13096949705688149495 + "lo": 13106511852580896768 } } }, @@ -1194,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 167162902434318363 + "lo": 518195360154788385 } } }, @@ -1340,7 +1255,7 @@ "val": { "i128": { "hi": 2, - "lo": 13111095650404375844 + "lo": 13106511852580896768 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.94.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.94.json index 5fb7cfa..c260fa3 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.94.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.94.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 105308898148927219 + "lo": 30700418419057332 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 715265666267844550 + "lo": 35503436451411531 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 105308898148927219 + "lo": 30700418419057332 } }, { "i128": { "hi": 0, - "lo": 715265666267844550 + "lo": 35503436451411531 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 105308898148927219 + "lo": 30700418419057332 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 715265666267844550 + "lo": 35503436451411531 } } ] @@ -222,6 +222,65 @@ } ] ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "function_name": "swap", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "bool": false + }, + { + "i128": { + "hi": 0, + "lo": 12945197295093427 + } + }, + { + "i128": { + "hi": 2, + "lo": 13106511852580896768 + } + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 17670653600410648 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [], [] ], "ledger": { @@ -526,7 +585,7 @@ "val": { "i128": { "hi": 0, - "lo": 274451888677095842 + "lo": 33014699065306441 } } } @@ -587,18 +646,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +668,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +705,7 @@ "val": { "i128": { "hi": 0, - "lo": 105308898148927219 + "lo": 48371072019467980 } } }, @@ -650,7 +716,7 @@ "val": { "i128": { "hi": 0, - "lo": 715265666267844550 + "lo": 22558239156318104 } } }, @@ -677,7 +743,7 @@ "val": { "i128": { "hi": 0, - "lo": 274451888677095842 + "lo": 33014699065306441 } } } @@ -727,6 +793,39 @@ 6311999 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], [ { "contract_data": { @@ -771,7 +870,7 @@ "val": { "i128": { "hi": 0, - "lo": 105308898148927219 + "lo": 48371072019467980 } } }, @@ -917,7 +1016,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13088841198980486120 } } }, @@ -1102,7 +1201,7 @@ "val": { "i128": { "hi": 0, - "lo": 715265666267844550 + "lo": 22558239156318104 } } }, @@ -1248,7 +1347,7 @@ "val": { "i128": { "hi": 2, - "lo": 13106511852580896768 + "lo": 13119457049875990195 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.95.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.95.json index f712419..aa8b9d2 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.95.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.95.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 32450783522611674 + "lo": 397815222304489818 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 30280032594629019 + "lo": 242250977812301352 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 32450783522611674 + "lo": 397815222304489818 } }, { "i128": { "hi": 0, - "lo": 30280032594629019 + "lo": 242250977812301352 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 32450783522611674 + "lo": 397815222304489818 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 30280032594629019 + "lo": 242250977812301352 } } ] @@ -222,65 +222,6 @@ } ] ], - [ - [ - "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - { - "function": { - "contract_fn": { - "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", - "function_name": "swap", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "bool": false - }, - { - "i128": { - "hi": 0, - "lo": 18678591573963767 - } - }, - { - "i128": { - "hi": 2, - "lo": 13106511852580896768 - } - } - ] - } - }, - "sub_invocations": [ - { - "function": { - "contract_fn": { - "contract_address": "CBEPDNVYXQGWB5YUBXKJWYJA7OXTZW5LFLNO5JRRGE6Z6C5OSUZPCCEL", - "function_name": "transfer", - "args": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "i128": { - "hi": 0, - "lo": 52403732175626731 - } - } - ] - } - }, - "sub_invocations": [] - } - ] - } - ] - ], - [], [] ], "ledger": { @@ -585,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 31346623148051079 + "lo": 310436992950068199 } } } @@ -646,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -680,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -698,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 84854515698238405 + "lo": 397815222304489818 } } }, @@ -709,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 11601441020665252 + "lo": 242250977812301352 } } }, @@ -736,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 31346623148051079 + "lo": 310436992950068199 } } } @@ -786,39 +734,6 @@ 6311999 ] ], - [ - { - "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", - "key": { - "ledger_key_nonce": { - "nonce": 6277191135259896685 - } - }, - "durability": "temporary", - "val": "void" - } - }, - "ext": "v0" - }, - 6311999 - ] - ], [ { "contract_data": { @@ -863,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 84854515698238405 + "lo": 397815222304489818 } } }, @@ -1009,7 +924,7 @@ "val": { "i128": { "hi": 2, - "lo": 13054108120405270037 + "lo": 13106511852580896768 } } }, @@ -1194,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 11601441020665252 + "lo": 242250977812301352 } } }, @@ -1340,7 +1255,7 @@ "val": { "i128": { "hi": 2, - "lo": 13125190444154860535 + "lo": 13106511852580896768 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.96.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.96.json index e45450b..1d33842 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.96.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.96.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 856609522200628917 + "lo": 276468562356045880 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 56949155686376915 + "lo": 431851398724040295 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 856609522200628917 + "lo": 276468562356045880 } }, { "i128": { "hi": 0, - "lo": 56949155686376915 + "lo": 431851398724040295 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 856609522200628917 + "lo": 276468562356045880 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 56949155686376915 + "lo": 431851398724040295 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 220869167251195472 + "lo": 345533407005289383 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 856609522200628917 + "lo": 276468562356045880 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 56949155686376915 + "lo": 431851398724040295 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 220869167251195472 + "lo": 345533407005289383 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 856609522200628917 + "lo": 276468562356045880 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 56949155686376915 + "lo": 431851398724040295 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.97.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.97.json index 2f4b764..3ea9e50 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.97.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.97.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 751797474268131627 + "lo": 906381023448444390 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 617359773864537652 + "lo": 401407430792568170 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 751797474268131627 + "lo": 906381023448444390 } }, { "i128": { "hi": 0, - "lo": 617359773864537652 + "lo": 401407430792568170 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 751797474268131627 + "lo": 906381023448444390 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 617359773864537652 + "lo": 401407430792568170 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 681270518007424350 + "lo": 603181629313740414 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 751797474268131627 + "lo": 906381023448444390 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 617359773864537652 + "lo": 401407430792568170 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 681270518007424350 + "lo": 603181629313740414 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 751797474268131627 + "lo": 906381023448444390 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 617359773864537652 + "lo": 401407430792568170 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.98.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.98.json index 5d16d95..2dc7ae0 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.98.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.98.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 364863489716034891 + "lo": 312041917894601439 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 759971856022642405 + "lo": 814491630648341539 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 364863489716034891 + "lo": 312041917894601439 } }, { "i128": { "hi": 0, - "lo": 759971856022642405 + "lo": 814491630648341539 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 364863489716034891 + "lo": 312041917894601439 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 759971856022642405 + "lo": 814491630648341539 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 526579512964939926 + "lo": 504138404147719965 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 364863489716034891 + "lo": 312041917894601439 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 759971856022642405 + "lo": 814491630648341539 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 526579512964939926 + "lo": 504138404147719965 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 364863489716034891 + "lo": 312041917894601439 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 759971856022642405 + "lo": 814491630648341539 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.99.json b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.99.json index ba232e3..fd585bc 100644 --- a/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.99.json +++ b/contracts/liquidity_pool/test_snapshots/fuzz_test/test_swap_invariant.99.json @@ -59,7 +59,7 @@ { "i128": { "hi": 0, - "lo": 125400515194093888 + "lo": 505301472815841035 } } ] @@ -84,7 +84,7 @@ { "i128": { "hi": 0, - "lo": 600601237134802553 + "lo": 695089030576034613 } } ] @@ -109,13 +109,13 @@ { "i128": { "hi": 0, - "lo": 125400515194093888 + "lo": 505301472815841035 } }, { "i128": { "hi": 0, - "lo": 600601237134802553 + "lo": 695089030576034613 } } ] @@ -137,7 +137,7 @@ { "i128": { "hi": 0, - "lo": 125400515194093888 + "lo": 505301472815841035 } } ] @@ -160,7 +160,7 @@ { "i128": { "hi": 0, - "lo": 600601237134802553 + "lo": 695089030576034613 } } ] @@ -526,7 +526,7 @@ "val": { "i128": { "hi": 0, - "lo": 274437068492786509 + "lo": 592646193684060922 } } } @@ -587,18 +587,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -621,6 +609,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" @@ -639,7 +646,7 @@ "val": { "i128": { "hi": 0, - "lo": 125400515194093888 + "lo": 505301472815841035 } } }, @@ -650,7 +657,7 @@ "val": { "i128": { "hi": 0, - "lo": 600601237134802553 + "lo": 695089030576034613 } } }, @@ -677,7 +684,7 @@ "val": { "i128": { "hi": 0, - "lo": 274437068492786509 + "lo": 592646193684060922 } } } @@ -771,7 +778,7 @@ "val": { "i128": { "hi": 0, - "lo": 125400515194093888 + "lo": 505301472815841035 } } }, @@ -1102,7 +1109,7 @@ "val": { "i128": { "hi": 0, - "lo": 600601237134802553 + "lo": 695089030576034613 } } }, diff --git a/contracts/liquidity_pool/test_snapshots/test/test_approve.1.json b/contracts/liquidity_pool/test_snapshots/test/test_approve.1.json index f72c4fd..e1388df 100644 --- a/contracts/liquidity_pool/test_snapshots/test/test_approve.1.json +++ b/contracts/liquidity_pool/test_snapshots/test/test_approve.1.json @@ -567,18 +567,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -601,6 +589,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" diff --git a/contracts/liquidity_pool/test_snapshots/test/test_approve_expired.1.json b/contracts/liquidity_pool/test_snapshots/test/test_approve_expired.1.json index 09a7a46..af70bd4 100644 --- a/contracts/liquidity_pool/test_snapshots/test/test_approve_expired.1.json +++ b/contracts/liquidity_pool/test_snapshots/test/test_approve_expired.1.json @@ -535,18 +535,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -569,6 +557,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" diff --git a/contracts/liquidity_pool/test_snapshots/test/test_basic_flow.1.json b/contracts/liquidity_pool/test_snapshots/test/test_basic_flow.1.json index ff6f2d1..dbdc930 100644 --- a/contracts/liquidity_pool/test_snapshots/test/test_basic_flow.1.json +++ b/contracts/liquidity_pool/test_snapshots/test/test_basic_flow.1.json @@ -539,18 +539,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -573,6 +561,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" diff --git a/contracts/liquidity_pool/test_snapshots/test/test_burn.1.json b/contracts/liquidity_pool/test_snapshots/test/test_burn.1.json index b9f717f..1bf7fee 100644 --- a/contracts/liquidity_pool/test_snapshots/test/test_burn.1.json +++ b/contracts/liquidity_pool/test_snapshots/test/test_burn.1.json @@ -433,18 +433,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -467,6 +455,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" diff --git a/contracts/liquidity_pool/test_snapshots/test/test_burn_insufficient_shares.1.json b/contracts/liquidity_pool/test_snapshots/test/test_burn_insufficient_shares.1.json index cecc358..180c2ee 100644 --- a/contracts/liquidity_pool/test_snapshots/test/test_burn_insufficient_shares.1.json +++ b/contracts/liquidity_pool/test_snapshots/test/test_burn_insufficient_shares.1.json @@ -405,18 +405,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -439,6 +427,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" diff --git a/contracts/liquidity_pool/test_snapshots/test/test_deposit_when_paused.1.json b/contracts/liquidity_pool/test_snapshots/test/test_deposit_when_paused.1.json index 2c8de7c..4d5fd96 100644 --- a/contracts/liquidity_pool/test_snapshots/test/test_deposit_when_paused.1.json +++ b/contracts/liquidity_pool/test_snapshots/test/test_deposit_when_paused.1.json @@ -101,8 +101,14 @@ "function": { "contract_fn": { "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", - "function_name": "set_paused", + "function_name": "guard_pause", "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "u32": 2 + }, { "bool": true } @@ -307,7 +313,7 @@ ] }, "val": { - "u32": 39 + "u32": 2 } }, { @@ -332,6 +338,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" diff --git a/contracts/liquidity_pool/test_snapshots/test/test_deposit_zero_amount.1.json b/contracts/liquidity_pool/test_snapshots/test/test_deposit_zero_amount.1.json index d9d9fe0..16d587f 100644 --- a/contracts/liquidity_pool/test_snapshots/test/test_deposit_zero_amount.1.json +++ b/contracts/liquidity_pool/test_snapshots/test/test_deposit_zero_amount.1.json @@ -644,18 +644,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -678,6 +666,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" diff --git a/contracts/liquidity_pool/test_snapshots/test/test_double_initialization.1.json b/contracts/liquidity_pool/test_snapshots/test/test_double_initialization.1.json index 5941b6e..56819b4 100644 --- a/contracts/liquidity_pool/test_snapshots/test/test_double_initialization.1.json +++ b/contracts/liquidity_pool/test_snapshots/test/test_double_initialization.1.json @@ -229,18 +229,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -263,6 +251,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" diff --git a/contracts/liquidity_pool/test_snapshots/test/test_events.1.json b/contracts/liquidity_pool/test_snapshots/test/test_events.1.json index 3661764..7dfe7c1 100644 --- a/contracts/liquidity_pool/test_snapshots/test/test_events.1.json +++ b/contracts/liquidity_pool/test_snapshots/test/test_events.1.json @@ -537,18 +537,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -571,6 +559,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" diff --git a/contracts/liquidity_pool/test_snapshots/test/test_get_fee_default.1.json b/contracts/liquidity_pool/test_snapshots/test/test_get_fee_default.1.json index 5941b6e..56819b4 100644 --- a/contracts/liquidity_pool/test_snapshots/test/test_get_fee_default.1.json +++ b/contracts/liquidity_pool/test_snapshots/test/test_get_fee_default.1.json @@ -229,18 +229,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -263,6 +251,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" diff --git a/contracts/liquidity_pool/test_snapshots/test/test_pause_and_unpause.1.json b/contracts/liquidity_pool/test_snapshots/test/test_pause_and_unpause.1.json index 14879eb..26566d1 100644 --- a/contracts/liquidity_pool/test_snapshots/test/test_pause_and_unpause.1.json +++ b/contracts/liquidity_pool/test_snapshots/test/test_pause_and_unpause.1.json @@ -179,8 +179,14 @@ "function": { "contract_fn": { "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", - "function_name": "set_paused", + "function_name": "guard_pause", "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "u32": 2 + }, { "bool": true } @@ -191,6 +197,8 @@ } ] ], + [], + [], [ [ "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", @@ -198,8 +206,14 @@ "function": { "contract_fn": { "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", - "function_name": "set_paused", + "function_name": "guard_pause", "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "u32": 2 + }, { "bool": false } @@ -210,6 +224,7 @@ } ] ], + [], [ [ "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", @@ -604,6 +619,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" diff --git a/contracts/liquidity_pool/test_snapshots/test/test_set_fee_above_max.1.json b/contracts/liquidity_pool/test_snapshots/test/test_set_fee_above_max.1.json index 5941b6e..56819b4 100644 --- a/contracts/liquidity_pool/test_snapshots/test/test_set_fee_above_max.1.json +++ b/contracts/liquidity_pool/test_snapshots/test/test_set_fee_above_max.1.json @@ -229,18 +229,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -263,6 +251,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" diff --git a/contracts/liquidity_pool/test_snapshots/test/test_set_fee_valid.1.json b/contracts/liquidity_pool/test_snapshots/test/test_set_fee_valid.1.json index 98d762d..1dba91c 100644 --- a/contracts/liquidity_pool/test_snapshots/test/test_set_fee_valid.1.json +++ b/contracts/liquidity_pool/test_snapshots/test/test_set_fee_valid.1.json @@ -297,18 +297,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -331,6 +319,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 100 + } + } + }, { "key": { "symbol": "fee_bps" diff --git a/contracts/liquidity_pool/test_snapshots/test/test_swap_insufficient_liquidity.1.json b/contracts/liquidity_pool/test_snapshots/test/test_swap_insufficient_liquidity.1.json index cecc358..180c2ee 100644 --- a/contracts/liquidity_pool/test_snapshots/test/test_swap_insufficient_liquidity.1.json +++ b/contracts/liquidity_pool/test_snapshots/test/test_swap_insufficient_liquidity.1.json @@ -405,18 +405,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -439,6 +427,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" diff --git a/contracts/liquidity_pool/test_snapshots/test/test_swap_slippage_exceeded.1.json b/contracts/liquidity_pool/test_snapshots/test/test_swap_slippage_exceeded.1.json index cecc358..180c2ee 100644 --- a/contracts/liquidity_pool/test_snapshots/test/test_swap_slippage_exceeded.1.json +++ b/contracts/liquidity_pool/test_snapshots/test/test_swap_slippage_exceeded.1.json @@ -405,18 +405,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -439,6 +427,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" diff --git a/contracts/liquidity_pool/test_snapshots/test/test_swap_when_paused.1.json b/contracts/liquidity_pool/test_snapshots/test/test_swap_when_paused.1.json index d27e974..5e7a430 100644 --- a/contracts/liquidity_pool/test_snapshots/test/test_swap_when_paused.1.json +++ b/contracts/liquidity_pool/test_snapshots/test/test_swap_when_paused.1.json @@ -179,8 +179,14 @@ "function": { "contract_fn": { "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", - "function_name": "set_paused", + "function_name": "guard_pause", "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "u32": 1 + }, { "bool": true } @@ -433,7 +439,7 @@ ] }, "val": { - "u32": 39 + "u32": 1 } }, { @@ -458,6 +464,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" diff --git a/contracts/liquidity_pool/test_snapshots/test/test_token_interface.1.json b/contracts/liquidity_pool/test_snapshots/test/test_token_interface.1.json index c2dd87b..0fcc5d3 100644 --- a/contracts/liquidity_pool/test_snapshots/test/test_token_interface.1.json +++ b/contracts/liquidity_pool/test_snapshots/test/test_token_interface.1.json @@ -411,18 +411,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -445,6 +433,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" diff --git a/contracts/liquidity_pool/test_snapshots/test/test_transfer.1.json b/contracts/liquidity_pool/test_snapshots/test/test_transfer.1.json index d18f4ba..3000433 100644 --- a/contracts/liquidity_pool/test_snapshots/test/test_transfer.1.json +++ b/contracts/liquidity_pool/test_snapshots/test/test_transfer.1.json @@ -483,18 +483,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -517,6 +505,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" diff --git a/contracts/liquidity_pool/test_snapshots/test/test_transfer_from.1.json b/contracts/liquidity_pool/test_snapshots/test/test_transfer_from.1.json index ede790f..4c141b5 100644 --- a/contracts/liquidity_pool/test_snapshots/test/test_transfer_from.1.json +++ b/contracts/liquidity_pool/test_snapshots/test/test_transfer_from.1.json @@ -609,18 +609,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -643,6 +631,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" diff --git a/contracts/liquidity_pool/test_snapshots/test/test_transfer_from_insufficient_allowance.1.json b/contracts/liquidity_pool/test_snapshots/test/test_transfer_from_insufficient_allowance.1.json index 5f256e0..aceebf1 100644 --- a/contracts/liquidity_pool/test_snapshots/test/test_transfer_from_insufficient_allowance.1.json +++ b/contracts/liquidity_pool/test_snapshots/test/test_transfer_from_insufficient_allowance.1.json @@ -535,18 +535,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -569,6 +557,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" diff --git a/contracts/liquidity_pool/test_snapshots/test/test_transfer_from_insufficient_balance.1.json b/contracts/liquidity_pool/test_snapshots/test/test_transfer_from_insufficient_balance.1.json index d757804..72cabf7 100644 --- a/contracts/liquidity_pool/test_snapshots/test/test_transfer_from_insufficient_balance.1.json +++ b/contracts/liquidity_pool/test_snapshots/test/test_transfer_from_insufficient_balance.1.json @@ -535,18 +535,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -569,6 +557,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" diff --git a/contracts/liquidity_pool/test_snapshots/test/test_transfer_insufficient_balance.1.json b/contracts/liquidity_pool/test_snapshots/test/test_transfer_insufficient_balance.1.json index ebcf06a..0ec07f8 100644 --- a/contracts/liquidity_pool/test_snapshots/test/test_transfer_insufficient_balance.1.json +++ b/contracts/liquidity_pool/test_snapshots/test/test_transfer_insufficient_balance.1.json @@ -405,18 +405,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -439,6 +427,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" diff --git a/contracts/liquidity_pool/test_snapshots/test/test_withdraw_insufficient_shares.1.json b/contracts/liquidity_pool/test_snapshots/test/test_withdraw_insufficient_shares.1.json index cecc358..180c2ee 100644 --- a/contracts/liquidity_pool/test_snapshots/test/test_withdraw_insufficient_shares.1.json +++ b/contracts/liquidity_pool/test_snapshots/test/test_withdraw_insufficient_shares.1.json @@ -405,18 +405,6 @@ ] } }, - { - "key": { - "vec": [ - { - "symbol": "GuardPauseState" - } - ] - }, - "val": { - "u32": 0 - } - }, { "key": { "vec": [ @@ -439,6 +427,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" diff --git a/contracts/liquidity_pool/test_snapshots/test/test_withdraw_when_paused.1.json b/contracts/liquidity_pool/test_snapshots/test/test_withdraw_when_paused.1.json index aa8c20d..e8f917a 100644 --- a/contracts/liquidity_pool/test_snapshots/test/test_withdraw_when_paused.1.json +++ b/contracts/liquidity_pool/test_snapshots/test/test_withdraw_when_paused.1.json @@ -179,8 +179,14 @@ "function": { "contract_fn": { "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", - "function_name": "set_paused", + "function_name": "guard_pause", "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "u32": 4 + }, { "bool": true } @@ -433,7 +439,7 @@ ] }, "val": { - "u32": 39 + "u32": 4 } }, { @@ -458,6 +464,25 @@ }, "val": { "map": [ + { + "key": { + "symbol": "admin" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "symbol": "base_fee_bps" + }, + "val": { + "i128": { + "hi": 0, + "lo": 30 + } + } + }, { "key": { "symbol": "fee_bps" diff --git a/contracts/math/src/lib.rs b/contracts/math/src/lib.rs index 43b29dd..85cf7b4 100644 --- a/contracts/math/src/lib.rs +++ b/contracts/math/src/lib.rs @@ -10,6 +10,7 @@ pub struct Fixed(pub i128); pub const SCALE: i128 = 1_000_000_000_000_000_000; // 18 decimals pub const LN2: i128 = 693_147_180_559_945_309; // ln(2) * SCALE +#[allow(clippy::should_implement_trait)] impl Fixed { pub const ZERO: Fixed = Fixed(0); pub const ONE: Fixed = Fixed(SCALE); @@ -154,9 +155,9 @@ fn mul_div(a: i128, b: i128, d: i128) -> Option { if d == 0 { return None; } - let a_abs = a.abs() as u128; - let b_abs = b.abs() as u128; - let d_abs = d.abs() as u128; + let a_abs = a.unsigned_abs(); + let b_abs = b.unsigned_abs(); + let d_abs = d.unsigned_abs(); let (res_abs, overflow) = mul_div_u128(a_abs, b_abs, d_abs); if overflow || res_abs > (i128::MAX as u128) { diff --git a/contracts/staking_rewards/src/lib.rs b/contracts/staking_rewards/src/lib.rs index 9daa544..a28da77 100644 --- a/contracts/staking_rewards/src/lib.rs +++ b/contracts/staking_rewards/src/lib.rs @@ -94,9 +94,9 @@ fn mul_div(a: i128, b: i128, d: i128) -> Option { if d == 0 { return None; } - let a_abs = a.abs() as u128; - let b_abs = b.abs() as u128; - let d_abs = d.abs() as u128; + let a_abs = a.unsigned_abs(); + let b_abs = b.unsigned_abs(); + let d_abs = d.unsigned_abs(); let (res_abs, overflow) = mul_div_u128(a_abs, b_abs, d_abs); if overflow || res_abs > (i128::MAX as u128) { @@ -225,7 +225,7 @@ impl StakingRewards { return Err(ContractError::AlreadyInitialized); } - if decay_rate < 0 || decay_rate > SCALE { + if !(0..=SCALE).contains(&decay_rate) { return Err(ContractError::InvalidInput); } diff --git a/contracts/token/src/lib.rs b/contracts/token/src/lib.rs index 7f3061b..263aa57 100644 --- a/contracts/token/src/lib.rs +++ b/contracts/token/src/lib.rs @@ -12,9 +12,9 @@ pub use emergency_guard; #[cfg(test)] mod test; +mod test_admin_rotation; #[cfg(test)] mod test_granular_pause; -mod test_admin_rotation; mod test_multisig; pub use crate::contract::Token; diff --git a/contracts/token/src/test_granular_pause.rs b/contracts/token/src/test_granular_pause.rs index bfc1ff0..89ee841 100644 --- a/contracts/token/src/test_granular_pause.rs +++ b/contracts/token/src/test_granular_pause.rs @@ -6,8 +6,8 @@ //! works independently — pausing MINT does not affect BURN or TRANSFER, //! and vice versa. -use soroban_sdk::{testutils::Address as _, vec, Address, Env}; use emergency_guard::{EmergencyGuard, EmergencyGuardClient, PauseType}; +use soroban_sdk::{testutils::Address as _, vec, Address, Env}; fn setup_guard(env: &Env, admin: &Address) -> EmergencyGuardClient { let contract_id = env.register(EmergencyGuard, ()); @@ -54,7 +54,9 @@ fn test_pause_transfer_only() { let admin = Address::generate(&env); let client = setup_guard(&env, &admin); - client.set_pause(&admin, &PauseType::TRANSFER, &true).unwrap(); + client + .set_pause(&admin, &PauseType::TRANSFER, &true) + .unwrap(); assert!(!client.is_paused(&PauseType::MINT)); assert!(!client.is_paused(&PauseType::BURN)); @@ -71,7 +73,9 @@ fn test_pause_all_three_then_unpause_individually() { client.set_pause(&admin, &PauseType::MINT, &true).unwrap(); client.set_pause(&admin, &PauseType::BURN, &true).unwrap(); - client.set_pause(&admin, &PauseType::TRANSFER, &true).unwrap(); + client + .set_pause(&admin, &PauseType::TRANSFER, &true) + .unwrap(); assert!(client.is_paused(&PauseType::MINT)); assert!(client.is_paused(&PauseType::BURN)); @@ -90,7 +94,9 @@ fn test_pause_all_three_then_unpause_individually() { assert!(client.is_paused(&PauseType::TRANSFER)); // Unpause TRANSFER - client.set_pause(&admin, &PauseType::TRANSFER, &false).unwrap(); + client + .set_pause(&admin, &PauseType::TRANSFER, &false) + .unwrap(); assert!(!client.is_paused(&PauseType::TRANSFER)); } diff --git a/core/Cargo.toml b/core/Cargo.toml index c285e8e..472647c 100644 --- a/core/Cargo.toml +++ b/core/Cargo.toml @@ -15,6 +15,7 @@ soroban-sdk = { version = "22.0.0", features = ["testutils"] } # Version aligned with the soroban-sdk 22 workspace pin. soroban-env-host = { version = "22", features = ["testutils"] } tokio = { version = "1", features = ["full"] } +tokio-util = "0.7" serde = { version = "1.0", features = ["derive"] } rusqlite = { version = "0.29", features = ["bundled"] } serde_json = "1.0" @@ -44,6 +45,8 @@ uuid = { version = "1", features = ["v4", "serde"] } chrono = { version = "0.4", features = ["serde"] } clap = { version = "4", features = ["derive"] } rsa = "0.9" +wasm-encoder = { version = "0.240", features = ["wasmparser"] } +wasmparser = "0.240" [dev-dependencies] proptest = "1.4.0" diff --git a/core/src/auth.rs b/core/src/auth.rs index 4102157..8779648 100644 --- a/core/src/auth.rs +++ b/core/src/auth.rs @@ -1,10 +1,17 @@ use crate::errors::AppError; use axum::{extract::Request, http::header, middleware::Next, response::Response, Extension, Json}; -use base64::{engine::general_purpose::STANDARD as BASE64, engine::general_purpose::URL_SAFE_NO_PAD as BASE64_URL, Engine}; +use base64::{ + engine::general_purpose::STANDARD as BASE64, + engine::general_purpose::URL_SAFE_NO_PAD as BASE64_URL, Engine, +}; use ed25519_dalek::{Signature as Ed25519Signature, Signer, SigningKey, Verifier, VerifyingKey}; use jsonwebtoken::{decode, encode, Algorithm, DecodingKey, EncodingKey, Header, Validation}; use rand::RngCore; -use rsa::{pkcs8::{DecodePrivateKey, EncodePrivateKey, EncodePublicKey}, RsaPrivateKey, RsaPublicKey, traits::PublicKeyParts}; +use rsa::{ + pkcs8::{DecodePrivateKey, EncodePrivateKey, EncodePublicKey}, + traits::PublicKeyParts, + RsaPrivateKey, RsaPublicKey, +}; use serde::{Deserialize, Serialize}; use sha2::{Digest, Sha256}; use soroban_sdk::xdr::{ @@ -59,7 +66,9 @@ impl AuthState { let encoding_key = EncodingKey::from_rsa_pem(pem_str.as_bytes()).unwrap(); let pub_key = RsaPublicKey::from(&priv_key); - let pub_pem = pub_key.to_public_key_pem(rsa::pkcs8::LineEnding::LF).unwrap(); + let pub_pem = pub_key + .to_public_key_pem(rsa::pkcs8::LineEnding::LF) + .unwrap(); let decoding_key = DecodingKey::from_rsa_pem(pub_pem.as_bytes()).unwrap(); let n = BASE64_URL.encode(pub_key.n().to_bytes_be()); @@ -336,12 +345,8 @@ fn verify_challenge_envelope(state: &AuthState, signed_xdr_b64: &str) -> Result< }; let header = Header::new(Algorithm::RS256); - encode( - &header, - &claims, - &state.encoding_key, - ) - .map_err(|e| AppError::Internal(format!("JWT encode error: {e}"))) + encode(&header, &claims, &state.encoding_key) + .map_err(|e| AppError::Internal(format!("JWT encode error: {e}"))) } #[utoipa::path( @@ -408,15 +413,13 @@ pub async fn auth_middleware( .ok_or_else(|| AppError::Unauthorized("Expected Bearer token".into()))?; let validation = Validation::new(Algorithm::RS256); - let token_data = decode::( - token, - &state.decoding_key, - &validation, - ) - .map_err(|e| AppError::Unauthorized(format!("Invalid token: {e}")))?; + let token_data = decode::(token, &state.decoding_key, &validation) + .map_err(|e| AppError::Unauthorized(format!("Invalid token: {e}")))?; if !token_data.claims.scopes.contains(&"simulate".to_string()) { - return Err(AppError::Unauthorized("Missing required scope 'simulate'".into())); + return Err(AppError::Unauthorized( + "Missing required scope 'simulate'".into(), + )); } Ok(next.run(req).await) diff --git a/core/src/cache.rs b/core/src/cache.rs deleted file mode 100644 index d608274..0000000 --- a/core/src/cache.rs +++ /dev/null @@ -1,156 +0,0 @@ -use moka::future::Cache; -use serde::{Deserialize, Serialize}; -use std::sync::atomic::{AtomicU64, Ordering}; -use std::sync::Arc; -use std::time::Duration; -use sled::{Db, Tree}; -use crate::simulation::{SimulationResult, SorobanResources}; -use sha2::{Digest, Sha256}; - -const CACHE_TTL_SECS: u64 = 3_600; -const CACHE_MAX_CAPACITY: u64 = 1_000; - -#[derive(Debug, Serialize, Deserialize)] -struct CacheEntry { - data: T, - ledger_sequence: u64, - timestamp: u64, -} - -pub struct SimulationCache { - l1: Cache, - l2: Tree, - hits: AtomicU64, - misses: AtomicU64, -} - -impl SimulationCache { - pub fn new(db: &Db) -> Arc { - let l1 = Cache::builder() - .max_capacity(CACHE_MAX_CAPACITY) - .time_to_live(Duration::from_secs(CACHE_TTL_SECS)) - .build(); - - let l2 = db.open_tree("simulation_results").expect("Failed to open simulation_results tree"); - - Arc::new(Self { - l1, - l2, - hits: AtomicU64::new(0), - misses: AtomicU64::new(0), - }) - } - - pub fn generate_key(contract_id: &str, function_name: &str, args: &[String]) -> String { - let args_json = serde_json::to_string(args).unwrap_or_else(|_| "[]".to_string()); - let input = format!("{}{}{}", contract_id, function_name, args_json); - let digest = Sha256::digest(input.as_bytes()); - hex::encode(digest) - } - - pub async fn get(&self, key: &str) -> Option { - // Try L1 - if let Some(result) = self.l1.get(key).await { - self.hits.fetch_add(1, Ordering::Relaxed); - tracing::debug!(cache.key = %key, "Cache HIT (L1)"); - return Some(result); - } - - // Try L2 - if let Ok(Some(bytes)) = self.l2.get(key) { - if let Ok(entry) = serde_json::from_slice::>(&bytes) { - // For simulation results, we might want to check if they are too old - // but for now we just return them and let the caller decide - self.l1.insert(key.to_string(), entry.data.clone()).await; - self.hits.fetch_add(1, Ordering::Relaxed); - tracing::debug!(cache.key = %key, "Cache HIT (L2)"); - return Some(entry.data); - } - } - - self.misses.fetch_add(1, Ordering::Relaxed); - tracing::debug!(cache.key = %key, "Cache MISS"); - None - } - - pub async fn set(&self, key: String, result: SimulationResult) { - let entry = CacheEntry { - ledger_sequence: result.latest_ledger, - timestamp: std::time::SystemTime::now() - .duration_since(std::time::UNIX_EPOCH) - .unwrap_or_default() - .as_secs(), - data: result.clone(), - }; - - if let Ok(bytes) = serde_json::to_vec(&entry) { - let _ = self.l2.insert(&key, bytes); - } - self.l1.insert(key, result).await; - } - - pub fn log_stats(&self) { - let hits = self.hits.load(Ordering::Relaxed); - let misses = self.misses.load(Ordering::Relaxed); - let total = hits + misses; - let hit_rate_pct = if total > 0 { hits * 100 / total } else { 0 }; - tracing::info!( - cache.hits = hits, - cache.misses = misses, - cache.total = total, - cache.hit_rate_pct = hit_rate_pct, - "Cache statistics" - ); - } -} - -pub struct ContractCache { - wasm_tree: Tree, - ledger_tree: Tree, -} - -impl ContractCache { - pub fn new(db: &Db) -> Self { - let wasm_tree = db.open_tree("wasm_bytes").expect("Failed to open wasm_bytes tree"); - let ledger_tree = db.open_tree("ledger_entries").expect("Failed to open ledger_entries tree"); - Self { - wasm_tree, - ledger_tree, - } - } - - pub fn get_wasm(&self, hash_hex: &str) -> Option> { - self.wasm_tree.get(hash_hex).ok().flatten().map(|v| v.to_vec()) - } - - pub fn set_wasm(&self, hash_hex: String, wasm_bytes: Vec) { - let _ = self.wasm_tree.insert(hash_hex, wasm_bytes); - } - - pub fn get_ledger_entry(&self, key_64: &str, current_ledger: u64) -> Option> { - if let Ok(Some(bytes)) = self.ledger_tree.get(key_64) { - if let Ok(entry) = serde_json::from_slice::>>(&bytes) { - // If the cached entry is from the current ledger or newer, it's definitely valid - // In Soroban, entries can change every ledger, so this is strict - if entry.ledger_sequence >= current_ledger { - return Some(entry.data); - } - } - } - None - } - - pub fn set_ledger_entry(&self, key_64: String, entry_bytes: Vec, ledger_sequence: u64) { - let entry = CacheEntry { - data: entry_bytes, - ledger_sequence, - timestamp: std::time::SystemTime::now() - .duration_since(std::time::UNIX_EPOCH) - .unwrap_or_default() - .as_secs(), - }; - if let Ok(bytes) = serde_json::to_vec(&entry) { - let _ = self.ledger_tree.insert(key_64, bytes); - } - } -} diff --git a/core/src/cache/disk.rs b/core/src/cache/disk.rs index c7e12af..1c5c92d 100644 --- a/core/src/cache/disk.rs +++ b/core/src/cache/disk.rs @@ -92,7 +92,7 @@ impl DiskCache { } }; - let entry: DiskCacheEntry = match bincode::deserialize(raw.as_ref()) { + let entry: DiskCacheEntry = match serde_json::from_slice(raw.as_ref()) { Ok(entry) => entry, Err(e) => { // Corrupt / schema-mismatched entry — drop it so the next @@ -114,17 +114,12 @@ impl DiskCache { /// Insert `payload` tagged with `current_ledger`. Returns an error on /// backend or serialisation failure — the caller decides whether to /// propagate it or log-and-continue. - pub fn set( - &self, - key: &[u8], - payload: Vec, - current_ledger: u32, - ) -> Result<(), CacheError> { + pub fn set(&self, key: &[u8], payload: Vec, current_ledger: u32) -> Result<(), CacheError> { let entry = DiskCacheEntry { written_at_ledger: current_ledger, payload, }; - let raw = bincode::serialize(&entry)?; + let raw = serde_json::to_vec(&entry)?; self.db.insert(key, raw)?; Ok(()) } @@ -151,7 +146,7 @@ impl DiskCache { break; } }; - match bincode::deserialize::(value.as_ref()) { + match serde_json::from_slice::(value.as_ref()) { Ok(entry) => { if self.is_stale(current_ledger, entry.written_at_ledger) && self.db.remove(&key).is_ok() diff --git a/core/src/cache/mod.rs b/core/src/cache/mod.rs index 08cd6ae..67978cd 100644 --- a/core/src/cache/mod.rs +++ b/core/src/cache/mod.rs @@ -11,11 +11,171 @@ pub mod disk; pub use disk::{DiskCache, DiskCacheConfig}; +use crate::simulation::SimulationResult; +use moka::future::Cache; +use serde::{Deserialize, Serialize}; +use sha2::{Digest, Sha256}; +use sled::{Db, Tree}; +use std::sync::atomic::{AtomicU64, Ordering}; +use std::sync::Arc; +use std::time::Duration; use thiserror::Error; +const CACHE_TTL_SECS: u64 = 3_600; +const CACHE_MAX_CAPACITY: u64 = 1_000; + +#[derive(Debug, Serialize, Deserialize)] +struct CacheEntry { + data: T, + ledger_sequence: u64, + timestamp: u64, +} + +pub struct SimulationCache { + l1: Cache, + l2: Tree, + hits: AtomicU64, + misses: AtomicU64, +} + +impl SimulationCache { + pub fn new(db: &Db) -> Arc { + let l1 = Cache::builder() + .max_capacity(CACHE_MAX_CAPACITY) + .time_to_live(Duration::from_secs(CACHE_TTL_SECS)) + .build(); + + let l2 = db + .open_tree("simulation_results") + .expect("Failed to open simulation_results tree"); + + Arc::new(Self { + l1, + l2, + hits: AtomicU64::new(0), + misses: AtomicU64::new(0), + }) + } + + pub fn generate_key(contract_id: &str, function_name: &str, args: &[String]) -> String { + let args_json = serde_json::to_string(args).unwrap_or_else(|_| "[]".to_string()); + let input = format!("{}{}{}", contract_id, function_name, args_json); + let digest = Sha256::digest(input.as_bytes()); + hex::encode(digest) + } + + pub async fn get(&self, key: &str) -> Option { + if let Some(result) = self.l1.get(key).await { + self.hits.fetch_add(1, Ordering::Relaxed); + tracing::debug!(cache.key = %key, "Cache HIT (L1)"); + return Some(result); + } + + if let Ok(Some(bytes)) = self.l2.get(key) { + if let Ok(entry) = serde_json::from_slice::>(&bytes) { + self.l1.insert(key.to_string(), entry.data.clone()).await; + self.hits.fetch_add(1, Ordering::Relaxed); + tracing::debug!(cache.key = %key, "Cache HIT (L2)"); + return Some(entry.data); + } + } + + self.misses.fetch_add(1, Ordering::Relaxed); + tracing::debug!(cache.key = %key, "Cache MISS"); + None + } + + pub async fn set(&self, key: String, result: SimulationResult) { + let entry = CacheEntry { + ledger_sequence: result.latest_ledger, + timestamp: std::time::SystemTime::now() + .duration_since(std::time::UNIX_EPOCH) + .unwrap_or_default() + .as_secs(), + data: result.clone(), + }; + + if let Ok(bytes) = serde_json::to_vec(&entry) { + let _ = self.l2.insert(&key, bytes); + } + self.l1.insert(key, result).await; + } + + pub fn log_stats(&self) { + let hits = self.hits.load(Ordering::Relaxed); + let misses = self.misses.load(Ordering::Relaxed); + let total = hits + misses; + let hit_rate_pct = if total > 0 { hits * 100 / total } else { 0 }; + tracing::info!( + cache.hits = hits, + cache.misses = misses, + cache.total = total, + cache.hit_rate_pct = hit_rate_pct, + "Cache statistics" + ); + } +} + +pub struct ContractCache { + wasm_tree: Tree, + ledger_tree: Tree, +} + +impl ContractCache { + pub fn new(db: &Db) -> Self { + let wasm_tree = db + .open_tree("wasm_bytes") + .expect("Failed to open wasm_bytes tree"); + let ledger_tree = db + .open_tree("ledger_entries") + .expect("Failed to open ledger_entries tree"); + Self { + wasm_tree, + ledger_tree, + } + } + + pub fn get_wasm(&self, hash_hex: &str) -> Option> { + self.wasm_tree + .get(hash_hex) + .ok() + .flatten() + .map(|v| v.to_vec()) + } + + pub fn set_wasm(&self, hash_hex: String, wasm_bytes: Vec) { + let _ = self.wasm_tree.insert(hash_hex, wasm_bytes); + } + + pub fn get_ledger_entry(&self, key_64: &str, current_ledger: u64) -> Option> { + if let Ok(Some(bytes)) = self.ledger_tree.get(key_64) { + if let Ok(entry) = serde_json::from_slice::>>(&bytes) { + if entry.ledger_sequence >= current_ledger { + return Some(entry.data); + } + } + } + None + } + + pub fn set_ledger_entry(&self, key_64: String, entry_bytes: Vec, ledger_sequence: u64) { + let entry = CacheEntry { + data: entry_bytes, + ledger_sequence, + timestamp: std::time::SystemTime::now() + .duration_since(std::time::UNIX_EPOCH) + .unwrap_or_default() + .as_secs(), + }; + if let Ok(bytes) = serde_json::to_vec(&entry) { + let _ = self.ledger_tree.insert(key_64, bytes); + } + } +} + /// Errors surfaced by the cache subsystem. /// -/// These bubble up from Sled's disk store, bincode (de)serialisation, and +/// These bubble up from Sled's disk store, JSON (de)serialisation, and /// I/O when opening a backing directory. The main service converts them /// into HTTP 500 via the `AppError` layer; callers inside the cache path /// normally treat L2 errors as misses and log-and-continue rather than @@ -29,5 +189,5 @@ pub enum CacheError { Backend(#[from] sled::Error), #[error("cache payload (de)serialisation error: {0}")] - Serialization(#[from] bincode::Error), + Serialization(#[from] serde_json::Error), } diff --git a/core/src/comparison.rs b/core/src/comparison.rs index ace486e..0131f3e 100644 --- a/core/src/comparison.rs +++ b/core/src/comparison.rs @@ -97,8 +97,8 @@ pub async fn run_comparison( let base_id = base_wasm.to_string_lossy().to_string(); let (current_result, base_result) = tokio::join!( - engine.simulate_from_contract_id(¤t_id, "compare", vec![], None), - engine.simulate_from_contract_id(&base_id, "compare", vec![], None) + engine.simulate_from_contract_id(¤t_id, "compare", vec![], None, None, None), + engine.simulate_from_contract_id(&base_id, "compare", vec![], None, None, None) ); (current_result?.resources, base_result?.resources) @@ -112,8 +112,15 @@ pub async fn run_comparison( let current_id = current_wasm.to_string_lossy().to_string(); let (current_result, base_result) = tokio::join!( - engine.simulate_from_contract_id(¤t_id, &function_name, args.clone(), None), - engine.simulate_from_contract_id(&contract_id, &function_name, args, None) + engine.simulate_from_contract_id( + ¤t_id, + &function_name, + args.clone(), + None, + None, + None, + ), + engine.simulate_from_contract_id(&contract_id, &function_name, args, None, None, None) ); (current_result?.resources, base_result?.resources) diff --git a/core/src/errors.rs b/core/src/errors.rs index e000d60..d9827e8 100644 --- a/core/src/errors.rs +++ b/core/src/errors.rs @@ -28,10 +28,8 @@ pub enum AppError { #[derive(Serialize, ToSchema)] pub struct ErrorResponse { /// Error type identifier (e.g., "NOT_FOUND", "BAD_REQUEST") - #[schema(description = "Error type identifier (e.g., 'NOT_FOUND', 'BAD_REQUEST')")] error: String, /// Human-readable error message - #[schema(description = "Human-readable error message")] message: String, } @@ -111,6 +109,12 @@ impl From for AppError { SimulationError::ExecutionFailed(msg) => { AppError::BadRequest(format!("Contract execution failed: {}", msg)) } + SimulationError::InsufficientConsensusProviders(msg) => { + AppError::Internal(format!("Insufficient consensus providers: {}", msg)) + } + SimulationError::ConsensusMismatch(msg) => { + AppError::Internal(format!("Consensus mismatch: {}", msg)) + } } } } diff --git a/core/src/fuzz_simulation.rs b/core/src/fuzz_simulation.rs index 93a8447..cc51747 100644 --- a/core/src/fuzz_simulation.rs +++ b/core/src/fuzz_simulation.rs @@ -9,9 +9,9 @@ #[cfg(test)] mod tests { use crate::simulation::{ - CallGraph, CallNode, SimulationCache, SimulationEngine, - SimulationStateSnapshot, SorobanResources, TtlEntryReport, - SimulationResult, ExtendTtlSuggestion, TtlAnalysisReport, + CallGraph, CallNode, ExtendTtlSuggestion, SimulationCache, SimulationEngine, + SimulationResult, SimulationStateSnapshot, SorobanResources, TtlAnalysisReport, + TtlEntryReport, }; use proptest::prelude::*; use std::collections::HashMap; @@ -30,7 +30,13 @@ mod tests { /// Arbitrary `SorobanResources`. fn arb_resources() -> impl Strategy { - (any::(), any::(), any::(), any::(), any::()) + ( + any::(), + any::(), + any::(), + any::(), + any::(), + ) .prop_map(|(cpu, ram, lr, lw, tx)| SorobanResources { cpu_instructions: cpu, ram_bytes: ram, @@ -42,22 +48,22 @@ mod tests { /// Arbitrary `TtlEntryReport`. fn arb_ttl_report() -> impl Strategy { - ("[a-zA-Z0-9]{1,16}", any::(), -500_000i64..500_000i64) - .prop_map(|(key, live, rem)| TtlEntryReport { + ("[a-zA-Z0-9]{1,16}", any::(), -500_000i64..500_000i64).prop_map(|(key, live, rem)| { + TtlEntryReport { key, live_until_ledger: live, remaining_ledgers: rem, - }) + } + }) } /// Arbitrary `CallNode` tree with bounded depth. fn arb_call_node() -> impl Strategy { - let leaf = ("[a-zA-Z0-9]{4,8}", "[a-zA-Z]{3,10}") - .prop_map(|(cid, func)| CallNode { - contract_id: cid, - function: func, - children: vec![], - }); + let leaf = ("[a-zA-Z0-9]{4,8}", "[a-zA-Z]{3,10}").prop_map(|(cid, func)| CallNode { + contract_id: cid, + function: func, + children: vec![], + }); leaf.prop_recursive(3, 15, 4, |inner| { ( @@ -75,7 +81,12 @@ mod tests { /// Arbitrary `SimulationResult`. fn arb_simulation_result() -> impl Strategy { - (arb_resources(), any::(), any::(), "[a-zA-Z0-9+/=]{0,64}") + ( + arb_resources(), + any::(), + any::(), + "[a-zA-Z0-9+/=]{0,64}", + ) .prop_map(|(res, ledger, cost, td)| SimulationResult { resources: res, transaction_hash: None, diff --git a/core/src/gas_golfing.rs b/core/src/gas_golfing.rs index b26e812..fc66a35 100644 --- a/core/src/gas_golfing.rs +++ b/core/src/gas_golfing.rs @@ -7,7 +7,7 @@ pub struct GasGolfingSuggestion { pub pattern_type: String, pub description: String, pub location: Option, // WASM offset or function name - pub severity: String, // "low", "medium", "high" + pub severity: String, // "low", "medium", "high" pub gas_saved_estimate: Option, pub suggested_fix: String, pub code_example: Option, @@ -90,8 +90,12 @@ impl GasGolfingAnalyzer { location: None, severity: "high".to_string(), gas_saved_estimate: Some(1000), - suggested_fix: "Reuse memory buffers and minimize allocations in hot paths".to_string(), - code_example: Some("Use a pre-allocated buffer instead of creating new vectors in loops".to_string()), + suggested_fix: "Reuse memory buffers and minimize allocations in hot paths" + .to_string(), + code_example: Some( + "Use a pre-allocated buffer instead of creating new vectors in loops" + .to_string(), + ), }); } @@ -102,7 +106,10 @@ impl GasGolfingAnalyzer { let mut suggestions = Vec::new(); // Look for expensive division operations - let div_count = wasm_bytes.iter().filter(|&&b| b == 0x6D || b == 0x6E).count(); + let div_count = wasm_bytes + .iter() + .filter(|&&b| b == 0x6D || b == 0x6E) + .count(); if div_count > 5 { suggestions.push(GasGolfingSuggestion { pattern_type: "arithmetic_optimization".to_string(), @@ -110,7 +117,9 @@ impl GasGolfingAnalyzer { location: None, severity: "medium".to_string(), gas_saved_estimate: Some(200), - suggested_fix: "Replace divisions with multiplications by reciprocals or use bitwise shifts".to_string(), + suggested_fix: + "Replace divisions with multiplications by reciprocals or use bitwise shifts" + .to_string(), code_example: Some("Replace: x / 2\nWith: x >> 1".to_string()), }); } @@ -123,7 +132,8 @@ impl GasGolfingAnalyzer { location: None, severity: "low".to_string(), gas_saved_estimate: Some(50), - suggested_fix: "Use bitwise shifts for multiplication/division by powers of 2".to_string(), + suggested_fix: "Use bitwise shifts for multiplication/division by powers of 2" + .to_string(), code_example: Some("Replace: x * 8\nWith: x << 3".to_string()), }); } @@ -135,7 +145,10 @@ impl GasGolfingAnalyzer { let mut suggestions = Vec::new(); // Look for repeated storage operations that could be batched - let storage_ops = wasm_bytes.iter().filter(|&&b| b == 0xFC || b == 0xFD).count(); + let storage_ops = wasm_bytes + .iter() + .filter(|&&b| b == 0xFC || b == 0xFD) + .count(); if storage_ops > 15 { suggestions.push(GasGolfingSuggestion { pattern_type: "storage_batching".to_string(), @@ -143,8 +156,11 @@ impl GasGolfingAnalyzer { location: None, severity: "high".to_string(), gas_saved_estimate: Some(2000), - suggested_fix: "Batch storage operations and minimize redundant reads/writes".to_string(), - code_example: Some("Use a single storage update instead of multiple separate calls".to_string()), + suggested_fix: "Batch storage operations and minimize redundant reads/writes" + .to_string(), + code_example: Some( + "Use a single storage update instead of multiple separate calls".to_string(), + ), }); } @@ -155,7 +171,10 @@ impl GasGolfingAnalyzer { let mut suggestions = Vec::new(); // Look for deeply nested conditionals - let branch_count = wasm_bytes.iter().filter(|&&b| b == 0x04 || b == 0x05).count(); + let branch_count = wasm_bytes + .iter() + .filter(|&&b| b == 0x04 || b == 0x05) + .count(); if branch_count > 20 { suggestions.push(GasGolfingSuggestion { pattern_type: "branch_optimization".to_string(), @@ -163,8 +182,12 @@ impl GasGolfingAnalyzer { location: None, severity: "medium".to_string(), gas_saved_estimate: Some(300), - suggested_fix: "Simplify conditional logic and consider lookup tables for complex decisions".to_string(), - code_example: Some("Replace nested if-else with a lookup table or early returns".to_string()), + suggested_fix: + "Simplify conditional logic and consider lookup tables for complex decisions" + .to_string(), + code_example: Some( + "Replace nested if-else with a lookup table or early returns".to_string(), + ), }); } @@ -194,4 +217,4 @@ mod tests { assert_eq!(report.contract_name, "test_contract"); assert!(report.total_suggestions > 0); } -} \ No newline at end of file +} diff --git a/core/src/jobs.rs b/core/src/jobs.rs index aa50d5d..33087df 100644 --- a/core/src/jobs.rs +++ b/core/src/jobs.rs @@ -2,8 +2,9 @@ use crate::insights::InsightsEngine; use crate::simulation::{SimulationEngine, SimulationResult, SorobanResources}; -use crate::ws::{SimulationBus}; +use crate::ws::SimulationBus; use chrono::{DateTime, Utc}; +use redis::{AsyncCommands, Client as RedisClient}; use reqwest::Client; use serde::{Deserialize, Serialize}; use serde_json::Value; @@ -17,7 +18,6 @@ use tokio::time::interval; use tracing; use utoipa::ToSchema; use uuid::Uuid; -use redis::{AsyncCommands, Client as RedisClient}; /// Database pool type - supports both PostgreSQL and SQLite #[derive(Clone)] @@ -287,7 +287,11 @@ impl JobQueue { // Run migrations Self::run_migrations(&pool).await?; - Ok(Self { pool, redis, config }) + Ok(Self { + pool, + redis, + config, + }) } async fn run_migrations(pool: &DbPool) -> Result<(), JobError> { @@ -366,9 +370,13 @@ impl JobQueue { } // Push JobId to Redis queue - let mut conn = self.redis.get_multiplexed_async_connection().await.map_err(|e| { - JobError::ProcessingFailed(format!("Failed to get Redis connection: {}", e)) - })?; + let mut conn = self + .redis + .get_multiplexed_async_connection() + .await + .map_err(|e| { + JobError::ProcessingFailed(format!("Failed to get Redis connection: {}", e)) + })?; conn.lpush::<_, _, ()>("soroscope:jobs:queue", id.0.to_string()) .await @@ -639,9 +647,13 @@ impl JobQueue { // Push back to Redis queue after delay (using a simple sleep for now or a delayed set) // For a robust implementation, we'd use a sorted set for delayed jobs. // For now, let's just push it back to the queue. - let mut conn = self.redis.get_multiplexed_async_connection().await.map_err(|e| { - JobError::ProcessingFailed(format!("Failed to get Redis connection: {}", e)) - })?; + let mut conn = self + .redis + .get_multiplexed_async_connection() + .await + .map_err(|e| { + JobError::ProcessingFailed(format!("Failed to get Redis connection: {}", e)) + })?; let queue = self.clone(); let id_str = job.id.0.to_string(); @@ -813,15 +825,11 @@ pub async fn cancel_job_handler( Path(id): Path, ) -> Result, AppError> { let job_id = JobId::from_str(&id).map_err(|_| AppError::BadRequest("Invalid job ID".into()))?; - let job = state - .job_queue - .cancel(&job_id) - .await - .map_err(|e| match e { - JobError::NotFound(_) => AppError::NotFound(format!("Job {} not found", id)), - JobError::CannotCancel(_) => AppError::BadRequest(e.to_string()), - _ => AppError::Internal(e.to_string()), - })?; + let job = state.job_queue.cancel(&job_id).await.map_err(|e| match e { + JobError::NotFound(_) => AppError::NotFound(format!("Job {} not found", id)), + JobError::CannotCancel(_) => AppError::BadRequest(e.to_string()), + _ => AppError::Internal(e.to_string()), + })?; Ok(Json(job)) } @@ -928,19 +936,36 @@ impl JobWorker { tokio::spawn(async move { let _permit = permit; - - let result = Self::process_job(&queue, job_id, engine, insights, config, http_client).await; - + + let result = Self::process_job( + &queue, + job_id, + engine, + insights, + config, + http_client, + ) + .await; + // Clean up processing list after completion let mut conn = match queue.redis.get_multiplexed_async_connection().await { Ok(c) => c, Err(_) => return, }; - let _: Result<(), _> = conn.lrem("soroscope:jobs:processing", 1, id_str_clone).await; - - if let Err(e) = - Self::process_job(&queue, job, engine, insights, config, http_client, bus) - .await + let _: Result<(), _> = conn + .lrem("soroscope:jobs:processing", 1, id_str_clone) + .await; + + if let Err(e) = Self::process_job( + &queue, + job, + engine, + insights, + config, + http_client, + bus, + ) + .await { tracing::error!("Job processing error: {}", e); } @@ -964,7 +989,10 @@ impl JobWorker { http_client: Client, bus: Option>, ) -> Result<(), JobError> { - let job = queue.get(&job_id).await?.ok_or(JobError::NotFound(job_id))?; + let job = queue + .get(&job_id) + .await? + .ok_or(JobError::NotFound(job_id))?; tracing::info!(job_id = %job.id, "Processing job"); // Mark as processing and emit first progress event @@ -988,7 +1016,11 @@ impl JobWorker { // Emit completed event with resource summary if let Some(b) = &bus { - if let JobResult::Success { simulation_result: Some(ref sim), .. } = job_result { + if let JobResult::Success { + simulation_result: Some(ref sim), + .. + } = job_result + { b.publish(SimulationBus::completed( &job.id, &sim.resources, @@ -1016,12 +1048,16 @@ impl JobWorker { Ok(Err(e)) => { let error_msg = e.to_string(); queue.fail(&job.id, &error_msg, "ProcessingError").await?; - + // Attempt retry let _ = queue.retry_job(&job).await; if let Some(b) = &bus { - b.publish(SimulationBus::failed(&job.id, &error_msg, "ProcessingError")); + b.publish(SimulationBus::failed( + &job.id, + &error_msg, + "ProcessingError", + )); } if let Some(webhook_config) = job.get_webhook_config() { @@ -1040,7 +1076,7 @@ impl JobWorker { Err(_) => { let error_msg = format!("Job timed out after {} seconds", job.timeout_secs); queue.fail(&job.id, &error_msg, "Timeout").await?; - + // Attempt retry let _ = queue.retry_job(&job).await; @@ -1100,6 +1136,8 @@ impl JobWorker { &function_name, args.unwrap_or_default(), ledger_overrides, + None, + None, ) .await .map_err(|e| { @@ -1127,7 +1165,7 @@ impl JobWorker { if let Some(ref b) = bus { b.publish(SimulationBus::consensus_check( &job.id, - true, // reached this point → consensus passed (or failover mode) + true, // reached this point → consensus passed (or failover mode) vec![], // provider names are opaque at this layer None, )); diff --git a/core/src/lib.rs b/core/src/lib.rs index 10a02cc..e8da74f 100644 --- a/core/src/lib.rs +++ b/core/src/lib.rs @@ -10,7 +10,7 @@ pub mod runner; pub mod simulation; pub mod wasm_branch_analysis; -#[cfg(test)] -pub mod fuzz_tests; #[cfg(test)] pub mod fuzz_simulation; +#[cfg(test)] +pub mod fuzz_tests; diff --git a/core/src/main.rs b/core/src/main.rs index 32f3e1c..e9f8cc5 100644 --- a/core/src/main.rs +++ b/core/src/main.rs @@ -1,8 +1,8 @@ mod auth; mod benchmarks; +mod cache; mod comparison; mod errors; -mod simulation_service; pub mod fee_analytics; pub mod fee_collector; pub mod fee_store; @@ -11,48 +11,29 @@ mod jobs; mod parser; mod routing; pub mod rpc_provider; -mod cache; mod simulation; +mod simulation_service; mod wasm_branch_analysis; mod ws; -use crate::cache::{SimulationCache, ContractCache}; +use crate::cache::{ContractCache, SimulationCache}; +use crate::cache::{DiskCache, DiskCacheConfig}; use crate::comparison::{CompareMode, RegressionFlag, RegressionReport, ResourceDelta}; use crate::errors::AppError; -use axum::{ - extract::State, - routing::{get, post}, - Json, Router, -}; -use simulation_service::{AnalysisResult, SimulationMetric, SimulationService}; -use std::env; -use std::path::PathBuf; -use std::sync::Arc; - -#[tokio::main] -async fn main() { - let db_path = - env::var("SOROSCOPE_DB_PATH").unwrap_or_else(|_| "soroscope_metrics.db".to_string()); - let webhook_url = env::var("SOROSCOPE_ALERT_WEBHOOK_URL").ok(); - let simulation_service = match SimulationService::new(db_path, webhook_url) { - Ok(service) => Arc::new(service), - Err(err) => { - eprintln!("Failed to initialize simulation service: {}", err); - return; - } - }; - - // CLI Argument Handling use crate::fee_analytics::{FeeAnalyticsEngine, MarketConditions, ModelBreakdown}; use crate::fee_collector::{FeeCollector, FeeCollectorConfig}; use crate::fee_store::FeeStore; -use crate::cache::{DiskCache, DiskCacheConfig}; use crate::insights::InsightsEngine; use crate::jobs::{ JobId, JobQueue, JobQueueConfig, JobWorker, SubmitJobRequest, SubmitJobResponse, }; use crate::rpc_provider::{ProviderRegistry, RpcProvider}; use crate::simulation::{SimulationEngine, SimulationResult}; +use axum::{ + extract::State, + routing::{get, post}, + Json, Router, +}; use axum::{ extract::{Json, Multipart, Path, State}, http::{HeaderMap, HeaderName, HeaderValue, StatusCode}, @@ -64,6 +45,7 @@ use axum::{ use config::{Config, ConfigError}; use prometheus::{Encoder, HistogramVec, IntCounterVec, Opts, Registry, TextEncoder}; use serde::{Deserialize, Serialize}; +use simulation_service::{AnalysisResult, SimulationMetric, SimulationService}; use std::collections::HashMap; use std::env; use std::path::PathBuf; @@ -402,16 +384,28 @@ pub struct AnalyzeRequest { #[derive(Serialize, ToSchema)] pub struct ResourceReport { /// CPU instructions consumed - #[schema(example = 1500, description = "CPU instructions consumed by the contract call")] + #[schema( + example = 1500, + description = "CPU instructions consumed by the contract call" + )] pub cpu_instructions: u64, /// RAM bytes consumed - #[schema(example = 3000, description = "RAM bytes consumed by the contract call")] + #[schema( + example = 3000, + description = "RAM bytes consumed by the contract call" + )] pub ram_bytes: u64, /// Ledger read bytes - #[schema(example = 1024, description = "Ledger read bytes during the contract call")] + #[schema( + example = 1024, + description = "Ledger read bytes during the contract call" + )] pub ledger_read_bytes: u64, /// Ledger write bytes - #[schema(example = 512, description = "Ledger write bytes during the contract call")] + #[schema( + example = 512, + description = "Ledger write bytes during the contract call" + )] pub ledger_write_bytes: u64, /// Transaction size in bytes #[schema(example = 450, description = "Transaction size in bytes")] @@ -420,22 +414,16 @@ pub struct ResourceReport { #[schema(example = 1000, description = "Estimated cost in stroops")] pub cost_stroops: u64, /// Report showing which data was injected vs live - #[schema(description = "State dependency report for the simulation")] pub state_dependency: Option>, /// TTL status for touched ledger entries and extension suggestions. - #[schema(description = "TTL analysis report for touched ledger entries")] pub ttl_analysis: Option, /// Efficiency score (0–100) and optimisation insights. - #[schema(description = "Efficiency score and optimisation insights")] pub nutrition: NutritionReport, /// Cross-contract call graph - #[schema(description = "Cross-contract call graph")] pub call_graph: Option, /// Call graph in Mermaid format - #[schema(description = "Call graph in Mermaid format")] pub call_graph_mermaid: Option, /// Snapshot of the ledger state used/touched during simulation - #[schema(description = "Snapshot of the ledger state used/touched during simulation")] pub state_snapshot: Option, /// Protocol version used for this simulation #[schema(example = 20)] @@ -889,7 +877,13 @@ async fn analyze_wasm( let start_time = std::time::Instant::now(); let resources = tokio::task::spawn_blocking(move || { - simulation::profile_contract(wasm_bytes, function_name, args, payload.protocol_version, payload.enable_experimental) + simulation::profile_contract( + wasm_bytes, + function_name, + args, + payload.protocol_version, + payload.enable_experimental, + ) }) .await .map_err(|e| { @@ -1018,8 +1012,8 @@ async fn analyze_wasm_branches( State(_state): State>, Json(payload): Json, ) -> Result, AppError> { - use base64::{engine::general_purpose::STANDARD as BASE64, Engine}; use crate::wasm_branch_analysis::analyze_wasm_branches as run_analysis; + use base64::{engine::general_purpose::STANDARD as BASE64, Engine}; tracing::info!( function_name = %payload.function_name, @@ -1033,12 +1027,10 @@ async fn analyze_wasm_branches( let function_name = payload.function_name.clone(); let args = payload.args.clone().unwrap_or_default(); - let report = tokio::task::spawn_blocking(move || { - run_analysis(wasm_bytes, function_name, args) - }) - .await - .map_err(|e| AppError::Internal(format!("Branch analysis task panicked: {}", e)))? - .map_err(|e| AppError::Internal(format!("Branch analysis failed: {}", e)))?; + let report = tokio::task::spawn_blocking(move || run_analysis(wasm_bytes, function_name, args)) + .await + .map_err(|e| AppError::Internal(format!("Branch analysis task panicked: {}", e)))? + .map_err(|e| AppError::Internal(format!("Branch analysis failed: {}", e)))?; tracing::info!( function_name = %payload.function_name, @@ -1311,7 +1303,9 @@ async fn analyze_gas_golfing( let contract_name = payload.contract_name.clone(); let report = tokio::task::spawn_blocking(move || { - state.gas_golfing_analyzer.analyze_wasm(&wasm_bytes, &contract_name) + state + .gas_golfing_analyzer + .analyze_wasm(&wasm_bytes, &contract_name) }) .await .map_err(|e| AppError::Internal(format!("Gas golfing analysis task panicked: {}", e)))?; @@ -1564,10 +1558,12 @@ async fn main() { } if let Some(path) = wasm_path { - if let Err(e) = benchmarks::run_token_benchmark(path, simulation_service.as_ref()).await - { - eprintln!("Benchmark failed: {}", e); - if let Err(e) = benchmarks::run_token_benchmark(path) { + let db_path = env::var("SOROSCOPE_DB_PATH") + .unwrap_or_else(|_| "soroscope_metrics.db".to_string()); + let webhook_url = env::var("SOROSCOPE_ALERT_WEBHOOK_URL").ok(); + let simulation_service = SimulationService::new(db_path, webhook_url) + .expect("initialize simulation service"); + if let Err(e) = benchmarks::run_token_benchmark(path, &simulation_service).await { tracing::error!("Benchmark failed: {}", e); } } else { @@ -1579,24 +1575,6 @@ async fn main() { return; } - // Default Web Server - println!("SoroScope CLI Initialized. Run with 'benchmark' argument to profile token contract."); - - // build our application with a single route - let app = Router::new() - .route( - "/", - get(|| async { - "Hello from SoroScope! Use POST /simulations/analyze to persist + compare simulation metrics." - }), - ) - .route("/health", get(|| async { "ok" })) - .route( - "/error", - get(|| async { Err::<&str, AppError>(AppError::BadRequest("Test error".to_string())) }), - ) - .route("/simulations/analyze", post(analyze_simulation)) - .with_state(simulation_service); // ── CLI: compare subcommand ────────────────────────────────────────── if args.len() > 1 && args[1] == "compare" { if args.len() < 4 { @@ -1648,7 +1626,9 @@ async fn main() { // ── CLI: export subcommand ────────────────────────────────────────── if args.len() > 1 && args[1] == "export" { if args.len() < 6 { - eprintln!("Usage: soroscope-core export "); + eprintln!( + "Usage: soroscope-core export " + ); eprintln!("\nSimulate a transaction and export the touched state to a JSON file."); std::process::exit(1); } @@ -1664,7 +1644,10 @@ async fn main() { let registry = rpc_provider::ProviderRegistry::new(providers); let engine = SimulationEngine::with_registry(std::sync::Arc::clone(®istry)); - match engine.simulate_from_contract_id(contract_id, function, parsed_args, None).await { + match engine + .simulate_from_contract_id(contract_id, function, parsed_args, None, None, None) + .await + { Ok(result) => { if let Some(snapshot) = result.state_snapshot { let json = serde_json::to_string_pretty(&snapshot).unwrap(); @@ -1700,8 +1683,10 @@ async fn main() { let function = &args[4]; let args_json = &args[5]; - let snapshot_json = std::fs::read_to_string(snapshot_file).expect("Failed to read snapshot file"); - let snapshot: crate::simulation::SimulationStateSnapshot = serde_json::from_str(&snapshot_json).expect("Failed to parse snapshot JSON"); + let snapshot_json = + std::fs::read_to_string(snapshot_file).expect("Failed to read snapshot file"); + let snapshot: crate::simulation::SimulationStateSnapshot = + serde_json::from_str(&snapshot_json).expect("Failed to parse snapshot JSON"); let parsed_args: Vec = serde_json::from_str(args_json).unwrap_or_default(); @@ -1709,7 +1694,17 @@ async fn main() { let registry = rpc_provider::ProviderRegistry::new(providers); let engine = SimulationEngine::with_registry(std::sync::Arc::clone(®istry)); - match engine.simulate_from_contract_id(contract_id, function, parsed_args, Some(snapshot.ledger_entries)).await { + match engine + .simulate_from_contract_id( + contract_id, + function, + parsed_args, + Some(snapshot.ledger_entries), + None, + None, + ) + .await + { Ok(result) => { println!("Simulation successful with restored state."); println!("Resources: {:?}", result.resources); @@ -2096,8 +2091,8 @@ mod tests { /// returns i32 (i32.const 42; end). Mirrors the helper in simulation.rs. fn minimal_wasm_bytes() -> Vec { use wasm_encoder::{ - CodeSection, ExportKind, ExportSection, Function, FunctionSection, - Module, TypeSection, ValType, + CodeSection, ExportKind, ExportSection, Function, FunctionSection, Module, TypeSection, + ValType, }; let mut module = Module::new(); let mut types = TypeSection::new(); @@ -2280,7 +2275,6 @@ mod tests { let resp = app.oneshot(req).await.unwrap(); assert_eq!(resp.status(), StatusCode::UNAUTHORIZED); } - } async fn analyze_simulation( diff --git a/core/src/rpc_provider.rs b/core/src/rpc_provider.rs index c687425..733a73a 100644 --- a/core/src/rpc_provider.rs +++ b/core/src/rpc_provider.rs @@ -2,7 +2,7 @@ use chrono::{DateTime, Utc}; use reqwest::Client; use serde::{Deserialize, Serialize}; use std::collections::{HashMap, HashSet}; -use std::sync::atomic::{AtomicI64, AtomicU64, Ordering}; +use std::sync::atomic::{AtomicI64, AtomicU64, AtomicUsize, Ordering}; use std::sync::Arc; use std::time::{Duration, Instant}; use tokio::sync::RwLock; @@ -26,6 +26,60 @@ const PEER_FAILURE_PENALTY: i64 = 20; const MIN_PROVIDER_SCORE: i64 = 25; const MAX_GOSSIP_PROVIDERS: usize = 64; const MAX_GOSSIP_PEERS: usize = 64; +pub const MIN_SAMPLES_FOR_EMA: u64 = 5; + +#[derive(Debug)] +pub struct ProviderStats { + ema_rtt_us: AtomicU64, + sample_count: AtomicU64, + window: u64, +} + +impl ProviderStats { + pub fn new(window: u64) -> Self { + Self { + ema_rtt_us: AtomicU64::new(0), + sample_count: AtomicU64::new(0), + window: window.max(1), + } + } + + pub fn record(&self, rtt_us: u64) { + let count = self.sample_count.fetch_add(1, Ordering::Relaxed); + if count == 0 { + self.ema_rtt_us.store(rtt_us, Ordering::Relaxed); + return; + } + + let previous = self.ema_rtt_us.load(Ordering::Relaxed); + let alpha_num = 2u128; + let alpha_den = (self.window + 1) as u128; + let next = ((rtt_us as u128 * alpha_num) + + (previous as u128 * (alpha_den - alpha_num))) + / alpha_den; + self.ema_rtt_us.store(next as u64, Ordering::Relaxed); + } + + pub fn ema_rtt_us(&self) -> u64 { + self.ema_rtt_us.load(Ordering::Relaxed) + } + + pub fn sample_count(&self) -> u64 { + self.sample_count.load(Ordering::Relaxed) + } + + pub fn is_warmed(&self) -> bool { + self.sample_count() >= MIN_SAMPLES_FOR_EMA + } +} + +#[derive(Debug, Clone, Serialize)] +pub struct ProviderStatsSnapshot { + pub name: String, + pub url: String, + pub ema_rtt_us: u64, + pub sample_count: u64, +} #[derive(Debug, Clone, Deserialize, Serialize, PartialEq, Eq)] pub struct RpcProvider { @@ -142,6 +196,7 @@ struct RemoteProviderObservation { struct ProviderState { provider: RwLock, source: &'static str, + stats: ProviderStats, local_score: AtomicI64, consecutive_failures: AtomicU64, tripped_at: RwLock>, @@ -155,6 +210,7 @@ impl ProviderState { Self { provider: RwLock::new(provider), source, + stats: ProviderStats::new(20), local_score: AtomicI64::new(local_score), consecutive_failures: AtomicU64::new(0), tripped_at: RwLock::new(None), @@ -196,6 +252,7 @@ pub struct ProviderRegistry { client: Client, instance_id: String, public_base_url: Option, + latency_cursor: AtomicUsize, } impl ProviderRegistry { @@ -237,6 +294,7 @@ impl ProviderRegistry { client: Client::new(), instance_id: config.instance_id, public_base_url: config.public_base_url.map(|url| normalize_base_url(&url)), + latency_cursor: AtomicUsize::new(0), }) } @@ -244,14 +302,94 @@ impl ProviderRegistry { /// in priority order (skipping tripped providers whose cooldown hasn't elapsed). pub async fn healthy_providers(&self) -> Vec { let mut available = Vec::new(); - for state in &self.states { - if self.is_available(state).await { - available.push(state.provider.clone()); + let states = self.states.read().await; + let provider_states = states.values().cloned().collect::>(); + drop(states); + + for state in provider_states { + if self.is_available(state.clone()).await { + available.push(state.provider.read().await.clone()); } } available } + pub async fn providers_by_latency(&self) -> Vec { + let states = self.states.read().await; + let provider_states = states.values().cloned().collect::>(); + drop(states); + + let mut available = Vec::new(); + for state in provider_states { + if self.is_available(state.clone()).await { + available.push(state); + } + } + + if available.is_empty() { + return Vec::new(); + } + + if available.iter().all(|state| state.stats.is_warmed()) { + available.sort_by_key(|state| state.stats.ema_rtt_us()); + } else { + let offset = self.latency_cursor.fetch_add(1, Ordering::Relaxed) % available.len(); + available.rotate_left(offset); + } + + let mut providers = Vec::with_capacity(available.len()); + for state in available { + providers.push(state.provider.read().await.clone()); + } + providers + } + + pub fn record_rtt(&self, url: &str, rtt_us: u64) { + if let Ok(states) = self.states.try_read() { + if let Some(state) = states.get(url) { + state.stats.record(rtt_us); + } + } + } + + pub fn stats_snapshot(&self) -> Vec { + let Ok(states) = self.states.try_read() else { + return Vec::new(); + }; + + states + .values() + .filter_map(|state| { + state.provider.try_read().ok().map(|provider| ProviderStatsSnapshot { + name: provider.name.clone(), + url: provider.url.clone(), + ema_rtt_us: state.stats.ema_rtt_us(), + sample_count: state.stats.sample_count(), + }) + }) + .collect() + } + + pub async fn provider_reports(&self) -> Vec { + self.collect_provider_reports() + .await + .into_iter() + .map(|(_, report)| report) + .collect() + } + + pub async fn peer_reports(&self) -> Vec { + let peers = self.peers.read().await; + let peer_states = peers.values().cloned().collect::>(); + drop(peers); + + let mut reports = Vec::with_capacity(peer_states.len()); + for peer in peer_states { + reports.push(self.build_peer_report(peer).await); + } + reports + } + pub async fn report_success(&self, url: &str) { if let Some(state) = self.find_by_url(url).await { state.consecutive_failures.store(0, Ordering::Relaxed); @@ -672,6 +810,95 @@ impl ProviderRegistry { } } + async fn is_available(&self, state: Arc) -> bool { + if self.is_provider_tripped(&state).await { + return false; + } + + state.local_score.load(Ordering::Relaxed) >= MIN_PROVIDER_SCORE + || state.consecutive_failures.load(Ordering::Relaxed) < CIRCUIT_BREAKER_THRESHOLD + } + + pub async fn registry_snapshot(&self) -> RegistrySnapshot { + let reports = self.collect_provider_reports().await; + let providers = reports + .into_iter() + .filter(|(provider, report)| provider.should_advertise() && report.healthy) + .take(MAX_GOSSIP_PROVIDERS) + .map(|(provider, report)| GossipProviderSnapshot { + provider: provider.public_provider(), + score: report.effective_score, + latest_ledger: Some(report.latest_ledger), + consecutive_failures: report.consecutive_failures, + healthy: report.healthy, + observed_at: Utc::now(), + }) + .collect(); + + let peers = self + .peer_reports() + .await + .into_iter() + .filter(|peer| peer.healthy) + .take(MAX_GOSSIP_PEERS) + .map(|peer| PeerAdvertisement { + instance_id: peer.instance_id, + base_url: peer.base_url, + }) + .collect(); + + RegistrySnapshot { + instance_id: self.instance_id.clone(), + base_url: self.public_base_url.clone(), + generated_at: Utc::now(), + peers, + providers, + } + } + + pub async fn merge_snapshot(&self, snapshot: RegistrySnapshot) { + if let Some(base_url) = snapshot.base_url.as_deref() { + self.register_peer(base_url, Some(snapshot.instance_id.clone()), None) + .await; + } + + for peer in snapshot.peers { + self.register_peer( + &peer.base_url, + peer.instance_id, + snapshot.base_url.as_deref(), + ) + .await; + } + + for snapshot_provider in snapshot.providers { + let provider = RpcProvider { + name: snapshot_provider.provider.name, + url: snapshot_provider.provider.url, + auth_header: None, + auth_value: None, + advertise: Some(true), + }; + let state = self + .get_or_insert_provider(provider, "gossip", DISCOVERED_PROVIDER_STARTING_SCORE) + .await; + let source = snapshot + .base_url + .clone() + .unwrap_or_else(|| snapshot.instance_id.clone()); + state.remote_observations.write().await.insert( + source, + RemoteProviderObservation { + score: snapshot_provider.score, + latest_ledger: snapshot_provider.latest_ledger.unwrap_or(0), + consecutive_failures: snapshot_provider.consecutive_failures, + healthy: snapshot_provider.healthy, + observed_at: snapshot_provider.observed_at, + }, + ); + } + } + async fn is_provider_tripped(&self, state: &ProviderState) -> bool { let tripped_at = *state.tripped_at.read().await; match tripped_at { @@ -906,9 +1133,17 @@ mod tests { for _ in 0..MIN_SAMPLES_FOR_EMA - 1 { stats.record(100); } - assert!(!stats.is_warmed(), "{} samples is below threshold", stats.sample_count()); + assert!( + !stats.is_warmed(), + "{} samples is below threshold", + stats.sample_count() + ); stats.record(100); - assert!(stats.is_warmed(), "{} samples should be warmed", stats.sample_count()); + assert!( + stats.is_warmed(), + "{} samples should be warmed", + stats.sample_count() + ); } #[tokio::test] diff --git a/core/src/runner/local.rs b/core/src/runner/local.rs index 44f299e..cb091f5 100644 --- a/core/src/runner/local.rs +++ b/core/src/runner/local.rs @@ -127,6 +127,9 @@ impl LocalRunner { state_dependency: None, ttl_analysis: None, transaction_data: String::new(), + call_graph: None, + state_snapshot: None, + protocol_version: 0, }) } } @@ -145,7 +148,7 @@ fn execute_wasm_invocation( function_name: String, args: Vec, ) -> Result { - crate::simulation::profile_contract(wasm_bytes, function_name, args) + crate::simulation::profile_contract(wasm_bytes, function_name, args, None, None) } /// Match the fee shape of `SimulationEngine::calculate_cost` so results from diff --git a/core/src/simulation.rs b/core/src/simulation.rs index 8394e23..5607829 100644 --- a/core/src/simulation.rs +++ b/core/src/simulation.rs @@ -1,29 +1,24 @@ use crate::parser::ArgParser; use crate::rpc_provider::ProviderRegistry; use base64::{engine::general_purpose::STANDARD as BASE64, Engine}; -<<<<<<< Updated upstream -// use moka::future::Cache; -======= use ed25519_dalek::Signer as Ed25519Signer; -use moka::future::Cache; ->>>>>>> Stashed changes use reqwest::Client; use serde::{Deserialize, Serialize}; use sha2::{Digest, Sha256}; use soroban_sdk::xdr::{ AccountId, Hash, HashIdPreimage, HashIdPreimageSorobanAuthorization, HostFunction, - InvokeContractArgs, InvokeHostFunctionOp, LedgerEntry, LedgerKey, Limits, Memo, MuxedAccount, - Operation, OperationBody, Preconditions, ReadXdr, ScAddress, ScMapEntry, ScSymbol, ScVal, - SequenceNumber, SorobanAddressCredentials, SorobanAuthorizationEntry, + InvokeContractArgs, InvokeHostFunctionOp, LedgerEntry, LedgerKey, LedgerKeyContractCode, + LedgerKeyContractData, Limits, Memo, MuxedAccount, Operation, OperationBody, Preconditions, + PublicKey, ReadXdr, ScAddress, ScMapEntry, ScSymbol, ScVal, SequenceNumber, + SorobanAddressCredentials, SorobanAuthorizationEntry, SorobanAuthorizedFunction, SorobanAuthorizedInvocation, SorobanCredentials, SorobanTransactionData, Transaction, TransactionExt, TransactionV1Envelope, Uint256, VecM, - WriteXdr, + WriteXdr, DiagnosticEvent, }; use std::collections::HashMap; // use std::sync::atomic::{AtomicU64, Ordering}; use std::sync::Arc; -use std::time::Duration; -use stellar_strkey::Strkey; +use stellar_strkey::{Contract as StrkeyContract, Strkey}; use thiserror::Error; use tokio_util::sync::CancellationToken; use utoipa::ToSchema; @@ -72,6 +67,12 @@ pub enum SimulationError { /// panic, budget exhaustion, malformed WASM). #[error("Contract execution failed: {0}")] ExecutionFailed(String), + + #[error("Insufficient consensus providers: {0}")] + InsufficientConsensusProviders(String), + + #[error("Consensus mismatch: {0}")] + ConsensusMismatch(String), } impl SimulationError { @@ -103,19 +104,14 @@ impl From for SimulationError { #[derive(Debug, Clone, Serialize, Deserialize, ToSchema, PartialEq, Eq, Default)] pub struct SorobanResources { /// CPU instructions consumed by the contract call - #[schema(description = "CPU instructions consumed by the contract call")] pub cpu_instructions: u64, /// RAM bytes consumed by the contract call - #[schema(description = "RAM bytes consumed by the contract call")] pub ram_bytes: u64, /// Ledger read bytes during the contract call - #[schema(description = "Ledger read bytes during the contract call")] pub ledger_read_bytes: u64, /// Ledger write bytes during the contract call - #[schema(description = "Ledger write bytes during the contract call")] pub ledger_write_bytes: u64, /// Transaction size in bytes - #[schema(description = "Transaction size in bytes")] pub transaction_size_bytes: u64, } @@ -166,12 +162,11 @@ impl WasmInstrumenter { let mut export_names: HashMap = HashMap::new(); for payload in Parser::new(0).parse_all(wasm_bytes) { - let payload = payload.map_err(|e| { - SimulationError::InvalidContract(format!("WASM parse error: {e}")) - })?; + let payload = payload + .map_err(|e| SimulationError::InvalidContract(format!("WASM parse error: {e}")))?; match payload { Payload::ImportSection(reader) => { - for import in reader.into_imports() { + for import in reader.into_iter() { let import = import.map_err(|e| { SimulationError::InvalidContract(format!( "WASM import parse error: {e}" @@ -193,8 +188,7 @@ impl WasmInstrumenter { )) })?; if export.kind == ExternalKind::Func { - export_names - .insert(export.index, export.name.to_string()); + export_names.insert(export.index, export.name.to_string()); } } } @@ -219,7 +213,11 @@ impl WasmInstrumenter { .map(|(idx, name)| (name, idx)) .collect(); - Ok(WasmInstrumenter { func_names, export_map, import_func_count }) + Ok(WasmInstrumenter { + func_names, + export_map, + import_func_count, + }) } /// Return the function name map (defined-function index → name). @@ -252,11 +250,11 @@ impl WasmInstrumenter { /// /// Returns the re-encoded WASM bytes. pub fn instrument(&self, wasm_bytes: &[u8]) -> Result, SimulationError> { + use wasm_encoder::reencode::{Reencode, RoundtripReencoder}; use wasm_encoder::{ CodeSection, ConstExpr, ExportKind, ExportSection, Function, FunctionSection, GlobalSection, GlobalType, Instruction, Module, TypeSection, ValType, }; - use wasm_encoder::reencode::{RoundtripReencoder, Reencode}; use wasmparser::{Parser, Payload}; let n = self.func_names.len() as u32; @@ -271,9 +269,8 @@ impl WasmInstrumenter { let mut type_returns: Vec = Vec::new(); for payload in Parser::new(0).parse_all(wasm_bytes) { - let payload = payload.map_err(|e| { - SimulationError::InvalidContract(format!("WASM parse error: {e}")) - })?; + let payload = payload + .map_err(|e| SimulationError::InvalidContract(format!("WASM parse error: {e}")))?; match payload { Payload::TypeSection(reader) => { existing_type_count = reader.count(); @@ -286,7 +283,7 @@ impl WasmInstrumenter { } } Payload::ImportSection(reader) => { - for import in reader.into_imports() { + for import in reader.into_iter() { let import = import.map_err(|e| { SimulationError::InvalidContract(format!( "WASM import parse error: {e}" @@ -346,12 +343,14 @@ impl WasmInstrumenter { }; for payload in Parser::new(0).parse_all(wasm_bytes) { - let payload = payload.map_err(|e| { - SimulationError::InvalidContract(format!("WASM parse error: {e}")) - })?; + let payload = payload + .map_err(|e| SimulationError::InvalidContract(format!("WASM parse error: {e}")))?; match payload { - Payload::Version { encoding: wasmparser::Encoding::Module, .. } => {} + Payload::Version { + encoding: wasmparser::Encoding::Module, + .. + } => {} Payload::Version { .. } => { return Err(SimulationError::InvalidContract( "Not a core WASM module".to_string(), @@ -361,9 +360,11 @@ impl WasmInstrumenter { Payload::TypeSection(reader) => { saw_type_section = true; let mut types = TypeSection::new(); - reencoder.parse_type_section(&mut types, reader).map_err(|e| { - SimulationError::InvalidContract(format!("Type section error: {e}")) - })?; + reencoder + .parse_type_section(&mut types, reader) + .map_err(|e| { + SimulationError::InvalidContract(format!("Type section error: {e}")) + })?; // Append the accessor function type: () -> i64 types.ty().function([], [ValType::I64]); module.section(&types); @@ -371,18 +372,22 @@ impl WasmInstrumenter { Payload::ImportSection(reader) => { let mut imports = wasm_encoder::ImportSection::new(); - reencoder.parse_import_section(&mut imports, reader).map_err(|e| { - SimulationError::InvalidContract(format!("Import section error: {e}")) - })?; + reencoder + .parse_import_section(&mut imports, reader) + .map_err(|e| { + SimulationError::InvalidContract(format!("Import section error: {e}")) + })?; module.section(&imports); } Payload::FunctionSection(reader) => { total_func_count = import_func_count + reader.count(); let mut functions = FunctionSection::new(); - reencoder.parse_function_section(&mut functions, reader).map_err(|e| { - SimulationError::InvalidContract(format!("Function section error: {e}")) - })?; + reencoder + .parse_function_section(&mut functions, reader) + .map_err(|e| { + SimulationError::InvalidContract(format!("Function section error: {e}")) + })?; // Append N wrapper functions, each using the wrapper type () -> i64 for _ in 0..n { functions.function(wrapper_type_idx); @@ -392,38 +397,50 @@ impl WasmInstrumenter { Payload::TableSection(reader) => { let mut tables = wasm_encoder::TableSection::new(); - reencoder.parse_table_section(&mut tables, reader).map_err(|e| { - SimulationError::InvalidContract(format!("Table section error: {e}")) - })?; + reencoder + .parse_table_section(&mut tables, reader) + .map_err(|e| { + SimulationError::InvalidContract(format!("Table section error: {e}")) + })?; module.section(&tables); } Payload::MemorySection(reader) => { let mut memories = wasm_encoder::MemorySection::new(); - reencoder.parse_memory_section(&mut memories, reader).map_err(|e| { - SimulationError::InvalidContract(format!("Memory section error: {e}")) - })?; + reencoder + .parse_memory_section(&mut memories, reader) + .map_err(|e| { + SimulationError::InvalidContract(format!("Memory section error: {e}")) + })?; module.section(&memories); } Payload::TagSection(reader) => { let mut tags = wasm_encoder::TagSection::new(); - reencoder.parse_tag_section(&mut tags, reader).map_err(|e| { - SimulationError::InvalidContract(format!("Tag section error: {e}")) - })?; + reencoder + .parse_tag_section(&mut tags, reader) + .map_err(|e| { + SimulationError::InvalidContract(format!("Tag section error: {e}")) + })?; module.section(&tags); } Payload::GlobalSection(reader) => { saw_global_section = true; let mut globals = GlobalSection::new(); - reencoder.parse_global_section(&mut globals, reader).map_err(|e| { - SimulationError::InvalidContract(format!("Global section error: {e}")) - })?; + reencoder + .parse_global_section(&mut globals, reader) + .map_err(|e| { + SimulationError::InvalidContract(format!("Global section error: {e}")) + })?; // Append N counter globals (mutable i64, init 0) for _ in 0..n { globals.global( - GlobalType { val_type: ValType::I64, mutable: true, shared: false }, + GlobalType { + val_type: ValType::I64, + mutable: true, + shared: false, + }, &ConstExpr::i64_const(0), ); } @@ -441,7 +458,11 @@ impl WasmInstrumenter { let mut globals = GlobalSection::new(); for _ in 0..n { globals.global( - GlobalType { val_type: ValType::I64, mutable: true, shared: false }, + GlobalType { + val_type: ValType::I64, + mutable: true, + shared: false, + }, &ConstExpr::i64_const(0), ); } @@ -449,9 +470,11 @@ impl WasmInstrumenter { } let mut exports = ExportSection::new(); - reencoder.parse_export_section(&mut exports, reader).map_err(|e| { - SimulationError::InvalidContract(format!("Export section error: {e}")) - })?; + reencoder + .parse_export_section(&mut exports, reader) + .map_err(|e| { + SimulationError::InvalidContract(format!("Export section error: {e}")) + })?; // Append N accessor function exports for i in 0..n { let name = format!("soroscope_count_{i}"); @@ -470,9 +493,11 @@ impl WasmInstrumenter { Payload::ElementSection(reader) => { let mut elements = wasm_encoder::ElementSection::new(); - reencoder.parse_element_section(&mut elements, reader).map_err(|e| { - SimulationError::InvalidContract(format!("Element section error: {e}")) - })?; + reencoder + .parse_element_section(&mut elements, reader) + .map_err(|e| { + SimulationError::InvalidContract(format!("Element section error: {e}")) + })?; module.section(&elements); } @@ -485,9 +510,11 @@ impl WasmInstrumenter { Payload::DataSection(reader) => { let mut data = wasm_encoder::DataSection::new(); - reencoder.parse_data_section(&mut data, reader).map_err(|e| { - SimulationError::InvalidContract(format!("Data section error: {e}")) - })?; + reencoder + .parse_data_section(&mut data, reader) + .map_err(|e| { + SimulationError::InvalidContract(format!("Data section error: {e}")) + })?; module.section(&data); } @@ -501,7 +528,11 @@ impl WasmInstrumenter { let mut globals = GlobalSection::new(); for _ in 0..n { globals.global( - GlobalType { val_type: ValType::I64, mutable: true, shared: false }, + GlobalType { + val_type: ValType::I64, + mutable: true, + shared: false, + }, &ConstExpr::i64_const(0), ); } @@ -561,9 +592,7 @@ impl WasmInstrumenter { // Re-encode original instructions let mut ops = func_body.get_operators_reader().map_err(|e| { - SimulationError::InvalidContract(format!( - "Operators reader error: {e}" - )) + SimulationError::InvalidContract(format!("Operators reader error: {e}")) })?; while !ops.eof() { let instr = reencoder.parse_instruction(&mut ops).map_err(|e| { @@ -613,9 +642,11 @@ impl WasmInstrumenter { } Payload::CustomSection(reader) => { - reencoder.parse_custom_section(&mut module, reader).map_err(|e| { - SimulationError::InvalidContract(format!("Custom section error: {e}")) - })?; + reencoder + .parse_custom_section(&mut module, reader) + .map_err(|e| { + SimulationError::InvalidContract(format!("Custom section error: {e}")) + })?; } Payload::End(_) => { @@ -712,13 +743,10 @@ impl FlamegraphBuilder { #[derive(Debug, Clone, Serialize, Deserialize, ToSchema)] pub struct OptimizationBuffer { /// The original RPC estimation - #[schema(description = "The original RPC estimation")] pub estimated: u64, /// The absolute minimum found - #[schema(description = "The absolute minimum found")] pub absolute_minimum: u64, /// The percentage buffer between estimate and minimum - #[schema(description = "The percentage buffer between estimate and minimum")] pub buffer_percentage: f64, } @@ -826,8 +854,11 @@ impl CallGraph { fn append_mermaid_nodes(&self, node: &CallNode, mermaid: &mut String, id_gen: &mut usize) { let current_id = *id_gen; - mermaid.push_str(&format!(" n{current_id}[\"{}:{}\"]\n", node.contract_id, node.function)); - + mermaid.push_str(&format!( + " n{current_id}[\"{}:{}\"]\n", + node.contract_id, node.function + )); + for child in &node.children { *id_gen += 1; let child_id = *id_gen; @@ -991,7 +1022,7 @@ struct GetLedgerEntriesResult { entries: Vec, } -#[derive(Debug, Deserialize)] +#[derive(Debug, Deserialize, Serialize)] #[serde(rename_all = "camelCase")] struct LedgerEntryWithMeta { key: String, @@ -1009,6 +1040,26 @@ pub struct SimulationEngine { /// When set, the engine will iterate healthy providers and failover automatically. registry: Option>, contract_cache: Option>, + mode: SimulationMode, + local_runner: Option>, +} + +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub enum SimulationMode { + Failover, + Consensus, +} + +impl SimulationMode { + pub fn from_config(value: &str) -> Result { + match value.to_ascii_lowercase().as_str() { + "failover" => Ok(Self::Failover), + "consensus" => Ok(Self::Consensus), + other => Err(SimulationError::InvalidContract(format!( + "Unknown simulation mode: {other}" + ))), + } + } } #[derive(Debug, Clone, PartialEq, Eq)] @@ -1031,6 +1082,8 @@ impl SimulationEngine { request_timeout: std::time::Duration::from_secs(30), registry: None, contract_cache: None, + mode: SimulationMode::Failover, + local_runner: None, } } @@ -1047,6 +1100,8 @@ impl SimulationEngine { request_timeout: std::time::Duration::from_secs(30), registry: Some(registry), contract_cache: None, + mode, + local_runner: None, } } @@ -1061,6 +1116,8 @@ impl SimulationEngine { request_timeout: std::time::Duration::from_secs(30), registry: Some(registry), contract_cache: Some(cache), + mode: SimulationMode::Failover, + local_runner: None, } } @@ -1084,6 +1141,8 @@ impl SimulationEngine { request_timeout: timeout, registry: Some(registry), contract_cache: None, + mode, + local_runner: None, } } @@ -1126,20 +1185,31 @@ impl SimulationEngine { } tracing::info!(contract_id = %contract_id, "WASM cache MISS, fetching from RPC"); - + // 1. Fetch contract instance to get the WASM hash - let instance_key = LedgerKey::ContractData(soroban_sdk::xdr::ContractDataLedgerKey { + let instance_key = LedgerKey::ContractData(LedgerKeyContractData { contract: ScAddress::Contract(Hash(contract_hash_bytes)), key: ScVal::LedgerKeyContractInstance, durability: soroban_sdk::xdr::ContractDataDurability::Persistent, }); - let key_xdr = BASE64.encode(instance_key.to_xdr(Limits::none()).map_err(|e| SimulationError::XdrError(e.to_string()))?); - + let key_xdr = BASE64.encode( + instance_key + .to_xdr(Limits::none()) + .map_err(|e| SimulationError::XdrError(e.to_string()))?, + ); + // We need a provider URL to fetch from. let (url, auth_h, auth_v) = match &self.registry { Some(reg) => { - let p = reg.healthy_providers().await.into_iter().next().ok_or_else(|| SimulationError::RpcRequestFailed("No healthy providers".to_string()))?; + let p = reg + .healthy_providers() + .await + .into_iter() + .next() + .ok_or_else(|| { + SimulationError::RpcRequestFailed("No healthy providers".to_string()) + })?; (p.url.clone(), p.auth_header.clone(), p.auth_value.clone()) } None => (self.rpc_url.clone(), None, None), @@ -1154,37 +1224,64 @@ impl SimulationEngine { }, }; - let response: GetLedgerEntriesResponse = self.client.post(&url).json(&req).send().await?.json().await.map_err(|e| SimulationError::RpcRequestFailed(e.to_string()))?; + let response: GetLedgerEntriesResponse = self + .client + .post(&url) + .json(&req) + .send() + .await? + .json() + .await + .map_err(|e| SimulationError::RpcRequestFailed(e.to_string()))?; let entries = match response.result { LedgerEntriesResponseResult::Success { result } => result.entries, - LedgerEntriesResponseResult::Error { error } => return Err(SimulationError::NodeError(error.message)), + LedgerEntriesResponseResult::Error { error } => { + return Err(SimulationError::NodeError(error.message)) + } }; - let entry_meta = entries.first().ok_or_else(|| SimulationError::InvalidContract("Contract instance not found".to_string()))?; - let entry_xdr = entry_meta.xdr.as_ref().ok_or_else(|| SimulationError::InvalidContract("No XDR in ledger entry".to_string()))?; + let entry_meta = entries.first().ok_or_else(|| { + SimulationError::InvalidContract("Contract instance not found".to_string()) + })?; + let entry_xdr = entry_meta.xdr.as_ref().ok_or_else(|| { + SimulationError::InvalidContract("No XDR in ledger entry".to_string()) + })?; let entry_bytes = BASE64.decode(entry_xdr)?; - let entry = LedgerEntry::from_xdr(&entry_bytes, Limits::none()).map_err(|e| SimulationError::XdrError(e.to_string()))?; + let entry = LedgerEntry::from_xdr(&entry_bytes, Limits::none()) + .map_err(|e| SimulationError::XdrError(e.to_string()))?; let wasm_hash = match entry.data { - soroban_sdk::xdr::LedgerEntryData::ContractData(d) => { - match d.val { - ScVal::ContractInstance(i) => { - match i.executable { - soroban_sdk::xdr::ContractExecutable::Wasm(h) => h, - _ => return Err(SimulationError::InvalidContract("Contract is not a WASM contract".to_string())), - } + soroban_sdk::xdr::LedgerEntryData::ContractData(d) => match d.val { + ScVal::ContractInstance(i) => match i.executable { + soroban_sdk::xdr::ContractExecutable::Wasm(h) => h, + _ => { + return Err(SimulationError::InvalidContract( + "Contract is not a WASM contract".to_string(), + )) } - _ => return Err(SimulationError::InvalidContract("Invalid contract instance data".to_string())), + }, + _ => { + return Err(SimulationError::InvalidContract( + "Invalid contract instance data".to_string(), + )) } + }, + _ => { + return Err(SimulationError::InvalidContract( + "Invalid ledger entry data type".to_string(), + )) } - _ => return Err(SimulationError::InvalidContract("Invalid ledger entry data type".to_string())), }; // 2. Fetch the actual WASM bytes - let wasm_key = LedgerKey::ContractCode(soroban_sdk::xdr::ContractCodeLedgerKey { + let wasm_key = LedgerKey::ContractCode(LedgerKeyContractCode { hash: wasm_hash.clone(), }); - let wasm_key_xdr = BASE64.encode(wasm_key.to_xdr(Limits::none()).map_err(|e| SimulationError::XdrError(e.to_string()))?); + let wasm_key_xdr = BASE64.encode( + wasm_key + .to_xdr(Limits::none()) + .map_err(|e| SimulationError::XdrError(e.to_string()))?, + ); let req2 = GetLedgerEntriesRequest { jsonrpc: "2.0".to_string(), @@ -1195,20 +1292,39 @@ impl SimulationEngine { }, }; - let response2: GetLedgerEntriesResponse = self.client.post(&url).json(&req2).send().await?.json().await.map_err(|e| SimulationError::RpcRequestFailed(e.to_string()))?; + let response2: GetLedgerEntriesResponse = self + .client + .post(&url) + .json(&req2) + .send() + .await? + .json() + .await + .map_err(|e| SimulationError::RpcRequestFailed(e.to_string()))?; let entries2 = match response2.result { LedgerEntriesResponseResult::Success { result } => result.entries, - LedgerEntriesResponseResult::Error { error } => return Err(SimulationError::NodeError(error.message)), + LedgerEntriesResponseResult::Error { error } => { + return Err(SimulationError::NodeError(error.message)) + } }; - let entry_meta2 = entries2.first().ok_or_else(|| SimulationError::InvalidContract("Contract code not found".to_string()))?; - let entry_xdr2 = entry_meta2.xdr.as_ref().ok_or_else(|| SimulationError::InvalidContract("No XDR in code ledger entry".to_string()))?; + let entry_meta2 = entries2.first().ok_or_else(|| { + SimulationError::InvalidContract("Contract code not found".to_string()) + })?; + let entry_xdr2 = entry_meta2.xdr.as_ref().ok_or_else(|| { + SimulationError::InvalidContract("No XDR in code ledger entry".to_string()) + })?; let entry_bytes2 = BASE64.decode(entry_xdr2)?; - let entry2 = LedgerEntry::from_xdr(&entry_bytes2, Limits::none()).map_err(|e| SimulationError::XdrError(e.to_string()))?; + let entry2 = LedgerEntry::from_xdr(&entry_bytes2, Limits::none()) + .map_err(|e| SimulationError::XdrError(e.to_string()))?; let wasm_bytes = match entry2.data { soroban_sdk::xdr::LedgerEntryData::ContractCode(c) => c.code.to_vec(), - _ => return Err(SimulationError::InvalidContract("Invalid code ledger entry data type".to_string())), + _ => { + return Err(SimulationError::InvalidContract( + "Invalid code ledger entry data type".to_string(), + )) + } }; // 3. Cache and return @@ -1244,9 +1360,17 @@ impl SimulationEngine { } if let Some(overrides) = ledger_overrides { - if !overrides.is_empty() || protocol_version.is_some() || enable_experimental.is_some() { + if !overrides.is_empty() || protocol_version.is_some() || enable_experimental.is_some() + { return self - .simulate_locally(contract_id, function_name, args, overrides, protocol_version, enable_experimental) + .simulate_locally( + contract_id, + function_name, + args, + overrides, + protocol_version, + enable_experimental, + ) .await; } } @@ -1257,11 +1381,8 @@ impl SimulationEngine { // propagate so we don't hide real contract bugs. if let Some(runner) = &self.local_runner { let contract_hash = self.parse_contract_id(contract_id)?; - let invocation = crate::runner::ContractInvocation::new( - contract_hash, - function_name, - args.clone(), - ); + let invocation = + crate::runner::ContractInvocation::new(contract_hash, function_name, args.clone()); match runner.simulate(&invocation).await { Ok(result) => { tracing::debug!( @@ -1864,7 +1985,6 @@ impl SimulationEngine { .await .into_iter() .take(3) - .cloned() .collect(); if providers.len() < 3 { @@ -1958,10 +2078,8 @@ impl SimulationEngine { for (provider, result) in successes.iter().skip(1) { let candidate_fingerprint = self.consensus_fingerprint(result); if baseline_fingerprint != candidate_fingerprint { - let field_diffs = Self::diff_fingerprints( - &baseline_fingerprint, - &candidate_fingerprint, - ); + let field_diffs = + Self::diff_fingerprints(&baseline_fingerprint, &candidate_fingerprint); diffs.push(format!( "'{}' vs '{}': {}", baseline_provider.name, @@ -2143,11 +2261,10 @@ impl SimulationEngine { ) .await { - Ok((ttl_report, snapshot)) => { + Ok(ttl_report) => { if !ttl_report.touched_entries.is_empty() { parsed.ttl_analysis = Some(ttl_report); } - parsed.state_snapshot = Some(snapshot); } Err(e) => { tracing::warn!("State analysis skipped due to RPC error: {}", e); @@ -2175,12 +2292,12 @@ impl SimulationEngine { Err(_) => continue, }; - if !diag_event.in_contract_call { + if !diag_event.in_successful_contract_call { continue; } let contract_id = match &diag_event.event.contract_id { - Some(Hash(h)) => Strkey::Contract(*h).to_string(), + Some(Hash(h)) => Strkey::Contract(StrkeyContract(*h)).to_string(), None => "Host".to_string(), }; @@ -2281,7 +2398,9 @@ impl SimulationEngine { if let Some(cache) = &self.contract_cache { for key in touched_keys { if let Some(entry_bytes) = cache.get_ledger_entry(key, latest_ledger) { - if let Ok(entry_meta) = serde_json::from_slice::(&entry_bytes) { + if let Ok(entry_meta) = + serde_json::from_slice::(&entry_bytes) + { if let Some(live_until) = entry_meta.live_until_ledger_seq { cached_reports.push(TtlEntryReport { key: entry_meta.key, @@ -2299,7 +2418,8 @@ impl SimulationEngine { } if missing_keys.is_empty() { - let extend_ttl_suggestions = Self::build_extend_ttl_suggestions(&cached_reports, latest_ledger); + let extend_ttl_suggestions = + Self::build_extend_ttl_suggestions(&cached_reports, latest_ledger); return Ok(TtlAnalysisReport { current_ledger: latest_ledger, touched_entries: cached_reports, @@ -2441,6 +2561,8 @@ impl SimulationEngine { state_dependency: None, ttl_analysis: None, transaction_data: rpc_result.transaction_data, + call_graph: None, + state_snapshot: None, protocol_version: 0, // RPC version unknown here, will be updated if possible }) } @@ -2949,11 +3071,11 @@ pub fn profile_contract( protocol_version: Option, enable_experimental: Option, ) -> Result { + use soroban_sdk::testutils::Ledger; use soroban_sdk::{Env, Symbol, Val}; - use soroban_sdk::ledger::Ledger; let env = Env::default(); - + if let Some(version) = protocol_version { tracing::info!("Setting simulated protocol version to {}", version); env.ledger().set_protocol_version(version); @@ -2962,7 +3084,7 @@ pub fn profile_contract( if enable_experimental.unwrap_or(false) { tracing::info!("Experimental host functions enabled (via custom host config)"); // Note: Full support for experimental functions often requires a custom Host build. - // For this sandbox, we ensure the protocol version is set to at least 21 + // For this sandbox, we ensure the protocol version is set to at least 21 // if experimental is requested but no version is provided. if protocol_version.is_none() { env.ledger().set_protocol_version(21); @@ -3060,23 +3182,11 @@ pub fn profile_contract_with_flamegraph( let _enter = span.enter(); // ── Attempt binary instrumentation ─────────────────────────────────────── - let (instrumented, func_names, use_budget_fallback) = - match WasmInstrumenter::new(&wasm_bytes) { - Ok(instrumenter) => { - match instrumenter.instrument(&wasm_bytes) { - Ok(bytes) => { - let names = instrumenter.func_names().to_vec(); - (bytes, names, false) - } - Err(e) => { - tracing::error!( - wasm_size_bytes = wasm_size, - error = %e, - "WASM instrumentation failed; falling back to budget API" - ); - (wasm_bytes.clone(), vec![], true) - } - } + let (instrumented, func_names, use_budget_fallback) = match WasmInstrumenter::new(&wasm_bytes) { + Ok(instrumenter) => match instrumenter.instrument(&wasm_bytes) { + Ok(bytes) => { + let names = instrumenter.func_names().to_vec(); + (bytes, names, false) } Err(e) => { tracing::error!( @@ -3086,7 +3196,16 @@ pub fn profile_contract_with_flamegraph( ); (wasm_bytes.clone(), vec![], true) } - }; + }, + Err(e) => { + tracing::error!( + wasm_size_bytes = wasm_size, + error = %e, + "WASM instrumentation failed; falling back to budget API" + ); + (wasm_bytes.clone(), vec![], true) + } + }; // ── Execute in soroban-sdk Env ──────────────────────────────────────────── let env = Env::default(); @@ -3441,7 +3560,11 @@ mod tests { let a = make_fingerprint(100, 200, 10, 20, 30, vec!["k1".into()]); let b = make_fingerprint(101, 250, 10, 20, 30, vec!["k1".into(), "k2".into()]); let diff = SimulationEngine::diff_fingerprints(&a, &b); - assert_eq!(diff.len(), 3, "expected diffs for cpu, ram, and ledger keys"); + assert_eq!( + diff.len(), + 3, + "expected diffs for cpu, ram, and ledger keys" + ); let joined = diff.join(","); assert!(joined.contains("cpu_instructions")); assert!(joined.contains("ram_bytes")); @@ -3534,7 +3657,7 @@ mod tests { async fn test_simulate_from_contract_id_empty() { let engine = SimulationEngine::new("https://test.com".to_string()); let result = engine - .simulate_from_contract_id("", "test_function", vec![], None) + .simulate_from_contract_id("", "test_function", vec![], None, None, None) .await; assert!(matches!(result, Err(SimulationError::NodeError(_)))); } @@ -3839,7 +3962,23 @@ mod tests { // ── Multi-auth tests ────────────────────────────────────────────────────── #[test] - fn test_build_root_invocation_structure + fn test_build_root_invocation_structure() { + let contract_address = ScAddress::Contract(Hash([0u8; 32])); + let function_name: ScSymbol = "fn".try_into().unwrap(); + let args = VecM::default(); + + let inv = SimulationEngine::build_root_invocation( + contract_address.clone(), + function_name.clone(), + args.clone(), + ); + + match inv.function { + SorobanAuthorizedFunction::ContractFn(call) => { + assert_eq!(call.contract_address, contract_address); + assert_eq!(call.function_name, function_name); + assert_eq!(call.args, args); + } _ => panic!("unexpected function type"), } assert_eq!(inv.sub_invocations.len(), 0); @@ -3964,8 +4103,8 @@ mod tests { /// for tests that execute via the soroban-sdk Env. fn minimal_wasm() -> Vec { use wasm_encoder::{ - CodeSection, ExportKind, ExportSection, Function, FunctionSection, - Module, TypeSection, ValType, + CodeSection, ExportKind, ExportSection, Function, FunctionSection, Module, TypeSection, + ValType, }; let mut module = Module::new(); @@ -3995,22 +4134,21 @@ mod tests { /// custom section required by the soroban-sdk Env. Has one exported /// function `add` that returns i32 (i32.const 42; end). fn soroban_wasm() -> Vec { - use soroban_sdk::xdr::{ - ScEnvMetaEntry, ScEnvMetaEntryInterfaceVersion, WriteXdr, Limits, - }; + use soroban_sdk::xdr::{Limits, ScEnvMetaEntry, ScEnvMetaEntryInterfaceVersion, WriteXdr}; use wasm_encoder::{ - CodeSection, CustomSection, ExportKind, ExportSection, Function, - FunctionSection, Module, TypeSection, ValType, + CodeSection, CustomSection, ExportKind, ExportSection, Function, FunctionSection, + Module, TypeSection, ValType, }; // XDR-encode ScEnvMetaEntry::ScEnvMetaKindInterfaceVersion(protocol=22, pre_release=0) - let meta_entry = ScEnvMetaEntry::ScEnvMetaKindInterfaceVersion( - ScEnvMetaEntryInterfaceVersion { + let meta_entry = + ScEnvMetaEntry::ScEnvMetaKindInterfaceVersion(ScEnvMetaEntryInterfaceVersion { protocol: 22, pre_release: 0, - }, - ); - let meta_bytes = meta_entry.to_xdr(Limits::none()).expect("XDR encode failed"); + }); + let meta_bytes = meta_entry + .to_xdr(Limits::none()) + .expect("XDR encode failed"); let mut module = Module::new(); @@ -4080,9 +4218,7 @@ mod tests { if let Ok(Payload::ExportSection(reader)) = payload { for export in reader { let export = export.unwrap(); - if export.kind == ExternalKind::Func - && export.name == "soroscope_count_0" - { + if export.kind == ExternalKind::Func && export.name == "soroscope_count_0" { found = true; } } @@ -4119,7 +4255,10 @@ mod tests { let parts: Vec<&str> = line.splitn(2, ' ').collect(); assert_eq!(parts.len(), 2, "line missing space: {line}"); assert!(parts[0].contains(';'), "line missing semicolon: {line}"); - assert!(parts[1].parse::().is_ok(), "count not a number: {line}"); + assert!( + parts[1].parse::().is_ok(), + "count not a number: {line}" + ); } } @@ -4172,12 +4311,8 @@ mod tests { #[test] fn test_profile_contract_with_flamegraph_invalid_wasm() { - let err = profile_contract_with_flamegraph( - b"not wasm".to_vec(), - "add".to_string(), - vec![], - ) - .unwrap_err(); + let err = profile_contract_with_flamegraph(b"not wasm".to_vec(), "add".to_string(), vec![]) + .unwrap_err(); assert!(matches!(err, SimulationError::InvalidContract(_))); } @@ -4187,9 +4322,18 @@ mod tests { let (resources, profile) = profile_contract_with_flamegraph(wasm, "add".to_string(), vec![]) .expect("profiling should succeed"); - assert!(resources.cpu_instructions > 0, "cpu_instructions should be > 0"); - assert!(!profile.per_function.is_empty(), "per_function should be non-empty"); - assert!(profile.total_instructions > 0, "total_instructions should be > 0"); + assert!( + resources.cpu_instructions > 0, + "cpu_instructions should be > 0" + ); + assert!( + !profile.per_function.is_empty(), + "per_function should be non-empty" + ); + assert!( + profile.total_instructions > 0, + "total_instructions should be > 0" + ); assert_eq!(profile.granularity, "instrumented"); } @@ -4197,8 +4341,8 @@ mod tests { fn test_profile_contract_with_flamegraph_unknown_function() { let wasm = soroban_wasm(); // "nonexistent" is not an export in soroban_wasm - let err = profile_contract_with_flamegraph(wasm, "nonexistent".to_string(), vec![]) - .unwrap_err(); + let err = + profile_contract_with_flamegraph(wasm, "nonexistent".to_string(), vec![]).unwrap_err(); assert!(matches!(err, SimulationError::InvalidContract(_))); } @@ -4223,9 +4367,8 @@ mod tests { #[test] fn test_profile_contract_with_flamegraph_total_equals_sum() { let wasm = soroban_wasm(); - let (_, profile) = - profile_contract_with_flamegraph(wasm, "add".to_string(), vec![]) - .expect("profiling should succeed"); + let (_, profile) = profile_contract_with_flamegraph(wasm, "add".to_string(), vec![]) + .expect("profiling should succeed"); let sum: u64 = profile.per_function.values().sum(); assert_eq!(profile.total_instructions, sum); } @@ -4233,12 +4376,14 @@ mod tests { #[test] fn test_profile_contract_with_flamegraph_flamegraph_non_empty_when_functions_called() { let wasm = soroban_wasm(); - let (_, profile) = - profile_contract_with_flamegraph(wasm, "add".to_string(), vec![]) - .expect("profiling should succeed"); + let (_, profile) = profile_contract_with_flamegraph(wasm, "add".to_string(), vec![]) + .expect("profiling should succeed"); // flamegraph should be non-empty since at least one function was called if profile.total_instructions > 0 { - assert!(!profile.flamegraph.is_empty(), "flamegraph should be non-empty when functions were called"); + assert!( + !profile.flamegraph.is_empty(), + "flamegraph should be non-empty when functions were called" + ); } } #[test] @@ -4248,27 +4393,34 @@ mod tests { let instr = WasmInstrumenter::new(&wasm).expect("parse ok"); eprintln!("func_names: {:?}", instr.func_names()); let instrumented = instr.instrument(&wasm).expect("instrument ok"); - eprintln!("original size: {}, instrumented size: {}", wasm.len(), instrumented.len()); - + eprintln!( + "original size: {}, instrumented size: {}", + wasm.len(), + instrumented.len() + ); + let env = Env::default(); env.mock_all_auths(); let contract_id = env.register(&*instrumented, ()); - + // Call the wrapper soroscope_count_0 which calls add and returns the counter let wrapper_sym = Symbol::new(&env, "soroscope_count_0"); let empty_args: soroban_sdk::Vec = soroban_sdk::Vec::new(&env); env.cost_estimate().budget().reset_unlimited(); - + let result = std::panic::catch_unwind(std::panic::AssertUnwindSafe(|| { env.invoke_contract::(&contract_id, &wrapper_sym, empty_args) })); match &result { - Ok(v) => eprintln!("wrapper ok, payload={}, decoded={}", v.get_payload(), v.get_payload() >> 8), + Ok(v) => eprintln!( + "wrapper ok, payload={}, decoded={}", + v.get_payload(), + v.get_payload() >> 8 + ), Err(_) => eprintln!("wrapper panicked"), } assert!(result.is_ok(), "wrapper should succeed"); let count = result.unwrap().get_payload() >> 8; assert!(count > 0, "counter should be > 0, got {count}"); } - } diff --git a/core/src/wasm_branch_analysis.rs b/core/src/wasm_branch_analysis.rs index dffb5a9..a06eff0 100644 --- a/core/src/wasm_branch_analysis.rs +++ b/core/src/wasm_branch_analysis.rs @@ -423,11 +423,7 @@ fn scan_function_body(body: &[u8]) -> ScanAccumulator { branch_id, branch_type: BranchType::BranchTable, nesting_depth: depth, - description: format!( - "br_table ({} targets) at depth {}", - n + 1, - depth - ), + description: format!("br_table ({} targets) at depth {}", n + 1, depth), }); acc.breakdown.branch_tables += 1; branch_id += 1; @@ -660,7 +656,7 @@ pub fn analyze_wasm_branches( // ── 2. Baseline simulation ──────────────────────────────────────────────── let baseline_resources = - profile_contract(wasm_bytes.clone(), function_name.clone(), args.clone())?; + profile_contract(wasm_bytes.clone(), function_name.clone(), args.clone(), None, None)?; // ── 3. Multi-path dynamic exploration ──────────────────────────────────── let variations = generate_arg_variations(&args); @@ -681,6 +677,8 @@ pub fn analyze_wasm_branches( wasm_bytes.clone(), function_name.clone(), variant_args.clone(), + None, + None, ) })); @@ -958,7 +956,10 @@ mod tests { let acc = scan_function_body(&body); assert_eq!(acc.breakdown.conditionals, 1); - assert!(acc.branches.iter().any(|b| b.branch_type == BranchType::Conditional)); + assert!(acc + .branches + .iter() + .any(|b| b.branch_type == BranchType::Conditional)); } #[test] @@ -1114,7 +1115,11 @@ mod tests { let wasm = minimal_wasm_with_body("noop", &[]); let body = extract_function_body(&wasm, "noop").expect("body must be found"); let acc = scan_function_body(body); - assert_eq!(acc.branches.len(), 0, "empty function should have zero branches"); + assert_eq!( + acc.branches.len(), + 0, + "empty function should have zero branches" + ); } #[test] @@ -1130,7 +1135,10 @@ mod tests { let acc = scan_function_body(body); assert_eq!(acc.breakdown.conditionals, 1, "should detect the if block"); - assert_eq!(acc.breakdown.early_returns, 1, "should detect the early return"); + assert_eq!( + acc.breakdown.early_returns, 1, + "should detect the early return" + ); assert!(acc.max_depth >= 1); } } diff --git a/core/src/ws.rs b/core/src/ws.rs index 0bc920b..e8d908d 100644 --- a/core/src/ws.rs +++ b/core/src/ws.rs @@ -230,7 +230,11 @@ impl SimulationBus { } } - pub fn completed(job_id: &JobId, resources: &crate::simulation::SorobanResources, cost_stroops: u64) -> SimulationEvent { + pub fn completed( + job_id: &JobId, + resources: &crate::simulation::SorobanResources, + cost_stroops: u64, + ) -> SimulationEvent { SimulationEvent::Completed { job_id: job_id.to_string(), data: CompletedPayload { @@ -407,12 +411,8 @@ mod tests { #[tokio::test] async fn event_json_round_trips() { let fake_id = JobId::new(); - let event = SimulationBus::provider_failover( - &fake_id, - "primary-node", - "backup-node", - "timeout", - ); + let event = + SimulationBus::provider_failover(&fake_id, "primary-node", "backup-node", "timeout"); let json = serde_json::to_string(&event).expect("serialise"); let parsed: serde_json::Value = serde_json::from_str(&json).expect("parse"); assert_eq!(parsed["event"], "provider_failover"); @@ -425,7 +425,11 @@ mod tests { let event = SimulationBus::consensus_check( &fake_id, true, - vec!["node-a".to_string(), "node-b".to_string(), "node-c".to_string()], + vec![ + "node-a".to_string(), + "node-b".to_string(), + "node-c".to_string(), + ], None, ); let json = serde_json::to_string(&event).expect("serialise"); From aaad03b8451502f98c51c4af90920ea47ec8ce19 Mon Sep 17 00:00:00 2001 From: auracule007 Date: Sat, 30 May 2026 12:40:04 +0100 Subject: [PATCH 3/5] Apply rustfmt --- core/src/comparison.rs | 9 ++++++++- core/src/rpc_provider.rs | 19 +++++++++++-------- core/src/simulation.rs | 12 ++++++------ core/src/wasm_branch_analysis.rs | 9 +++++++-- 4 files changed, 32 insertions(+), 17 deletions(-) diff --git a/core/src/comparison.rs b/core/src/comparison.rs index 0131f3e..93831b9 100644 --- a/core/src/comparison.rs +++ b/core/src/comparison.rs @@ -120,7 +120,14 @@ pub async fn run_comparison( None, None, ), - engine.simulate_from_contract_id(&contract_id, &function_name, args, None, None, None) + engine.simulate_from_contract_id( + &contract_id, + &function_name, + args, + None, + None, + None + ) ); (current_result?.resources, base_result?.resources) diff --git a/core/src/rpc_provider.rs b/core/src/rpc_provider.rs index 733a73a..3ca4a7c 100644 --- a/core/src/rpc_provider.rs +++ b/core/src/rpc_provider.rs @@ -54,8 +54,7 @@ impl ProviderStats { let previous = self.ema_rtt_us.load(Ordering::Relaxed); let alpha_num = 2u128; let alpha_den = (self.window + 1) as u128; - let next = ((rtt_us as u128 * alpha_num) - + (previous as u128 * (alpha_den - alpha_num))) + let next = ((rtt_us as u128 * alpha_num) + (previous as u128 * (alpha_den - alpha_num))) / alpha_den; self.ema_rtt_us.store(next as u64, Ordering::Relaxed); } @@ -360,12 +359,16 @@ impl ProviderRegistry { states .values() .filter_map(|state| { - state.provider.try_read().ok().map(|provider| ProviderStatsSnapshot { - name: provider.name.clone(), - url: provider.url.clone(), - ema_rtt_us: state.stats.ema_rtt_us(), - sample_count: state.stats.sample_count(), - }) + state + .provider + .try_read() + .ok() + .map(|provider| ProviderStatsSnapshot { + name: provider.name.clone(), + url: provider.url.clone(), + ema_rtt_us: state.stats.ema_rtt_us(), + sample_count: state.stats.sample_count(), + }) }) .collect() } diff --git a/core/src/simulation.rs b/core/src/simulation.rs index 5607829..b1eb50d 100644 --- a/core/src/simulation.rs +++ b/core/src/simulation.rs @@ -6,14 +6,14 @@ use reqwest::Client; use serde::{Deserialize, Serialize}; use sha2::{Digest, Sha256}; use soroban_sdk::xdr::{ - AccountId, Hash, HashIdPreimage, HashIdPreimageSorobanAuthorization, HostFunction, - InvokeContractArgs, InvokeHostFunctionOp, LedgerEntry, LedgerKey, LedgerKeyContractCode, - LedgerKeyContractData, Limits, Memo, MuxedAccount, Operation, OperationBody, Preconditions, - PublicKey, ReadXdr, ScAddress, ScMapEntry, ScSymbol, ScVal, SequenceNumber, - SorobanAddressCredentials, SorobanAuthorizationEntry, + AccountId, DiagnosticEvent, Hash, HashIdPreimage, HashIdPreimageSorobanAuthorization, + HostFunction, InvokeContractArgs, InvokeHostFunctionOp, LedgerEntry, LedgerKey, + LedgerKeyContractCode, LedgerKeyContractData, Limits, Memo, MuxedAccount, Operation, + OperationBody, Preconditions, PublicKey, ReadXdr, ScAddress, ScMapEntry, ScSymbol, ScVal, + SequenceNumber, SorobanAddressCredentials, SorobanAuthorizationEntry, SorobanAuthorizedFunction, SorobanAuthorizedInvocation, SorobanCredentials, SorobanTransactionData, Transaction, TransactionExt, TransactionV1Envelope, Uint256, VecM, - WriteXdr, DiagnosticEvent, + WriteXdr, }; use std::collections::HashMap; // use std::sync::atomic::{AtomicU64, Ordering}; diff --git a/core/src/wasm_branch_analysis.rs b/core/src/wasm_branch_analysis.rs index a06eff0..7b33421 100644 --- a/core/src/wasm_branch_analysis.rs +++ b/core/src/wasm_branch_analysis.rs @@ -655,8 +655,13 @@ pub fn analyze_wasm_branches( }; // ── 2. Baseline simulation ──────────────────────────────────────────────── - let baseline_resources = - profile_contract(wasm_bytes.clone(), function_name.clone(), args.clone(), None, None)?; + let baseline_resources = profile_contract( + wasm_bytes.clone(), + function_name.clone(), + args.clone(), + None, + None, + )?; // ── 3. Multi-path dynamic exploration ──────────────────────────────────── let variations = generate_arg_variations(&args); From f7e0c9e8ed5b37e1ae33ed1c8d4d55bccd24528f Mon Sep 17 00:00:00 2001 From: auracule007 Date: Sat, 30 May 2026 15:40:08 +0100 Subject: [PATCH 4/5] Fix CI checks for liquidity pool gas branch --- Cargo.lock | 308 +++++++++------------ contracts/auction_factory/src/test.rs | 4 +- contracts/cross_chain_verifier/src/test.rs | 10 +- contracts/dutch_auction/src/test.rs | 8 +- contracts/english_auction/src/test.rs | 8 +- contracts/flash_loan_vault/src/test.rs | 7 +- contracts/proxy/src/test.rs | 1 - contracts/token/src/contract.rs | 34 ++- contracts/token/src/lib.rs | 2 + contracts/token/src/test_admin_rotation.rs | 5 +- contracts/token/src/test_granular_pause.rs | 32 +-- contracts/token/src/test_multisig.rs | 22 +- contracts/twap_oracle/src/test.rs | 12 +- contracts/typed_data_auth/src/test.rs | 8 +- core/Cargo.toml | 8 +- core/src/auth.rs | 7 +- core/src/benchmarks.rs | 4 +- core/src/bin/rpc-proxy.rs | 58 ++-- core/src/cache/mod.rs | 14 +- core/src/engine/simulation_engine.rs | 3 + core/src/fee_analytics.rs | 2 + core/src/fee_collector.rs | 5 +- core/src/fee_store.rs | 3 +- core/src/fuzz_simulation.rs | 24 +- core/src/fuzz_tests.rs | 4 +- core/src/gas_golfing.rs | 6 + core/src/jobs.rs | 45 ++- core/src/main.rs | 69 +++-- core/src/rpc_provider.rs | 17 +- core/src/simulation.rs | 83 +++--- core/src/simulation_service.rs | 2 + core/src/wasm_branch_analysis.rs | 17 +- 32 files changed, 415 insertions(+), 417 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 57f67bd..aced3ea 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -150,7 +150,7 @@ dependencies = [ "ark-serialize", "ark-std", "derivative", - "digest 0.10.7", + "digest", "itertools", "num-bigint", "num-traits", @@ -203,7 +203,7 @@ checksum = "adb7b85a02b83d2f22f89bd5cac66c9c89474240cb6207cb1efc16d098e822a5" dependencies = [ "ark-serialize-derive", "ark-std", - "digest 0.10.7", + "digest", "num-bigint", ] @@ -396,15 +396,6 @@ dependencies = [ "serde_core", ] -[[package]] -name = "block-buffer" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" -dependencies = [ - "generic-array", -] - [[package]] name = "block-buffer" version = "0.10.4" @@ -535,6 +526,20 @@ version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1d07550c9036bf2ae0c684c4297d503f838287c83c53686d05370d0e139ae570" +[[package]] +name = "combine" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" +dependencies = [ + "bytes", + "futures-core", + "memchr", + "pin-project-lite", + "tokio", + "tokio-util", +] + [[package]] name = "concurrent-queue" version = "2.5.0" @@ -750,19 +755,6 @@ dependencies = [ "syn 2.0.117", ] -[[package]] -name = "curve25519-dalek" -version = "3.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b9fdf9972b2bd6af2d913799d9ebc165ea4d2e65878e329d9c6b372c4491b61" -dependencies = [ - "byteorder", - "digest 0.9.0", - "rand_core 0.5.1", - "subtle", - "zeroize", -] - [[package]] name = "curve25519-dalek" version = "4.1.3" @@ -772,7 +764,7 @@ dependencies = [ "cfg-if", "cpufeatures", "curve25519-dalek-derive", - "digest 0.10.7", + "digest", "fiat-crypto", "rustc_version", "subtle", @@ -908,22 +900,13 @@ dependencies = [ "syn 2.0.117", ] -[[package]] -name = "digest" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" -dependencies = [ - "generic-array", -] - [[package]] name = "digest" version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ - "block-buffer 0.10.4", + "block-buffer", "const-oid", "crypto-common", "subtle", @@ -974,19 +957,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" dependencies = [ "der", - "digest 0.10.7", + "digest", "elliptic-curve", "rfc6979", - "signature 2.2.0", -] - -[[package]] -name = "ed25519" -version = "1.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91cff35c70bba8a626e3185d8cd48cc11b5437e1a5bcd15b9b5fa3c64b6dfee7" -dependencies = [ - "signature 1.6.4", + "signature", ] [[package]] @@ -996,21 +970,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53" dependencies = [ "pkcs8", - "signature 2.2.0", -] - -[[package]] -name = "ed25519-dalek" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" -dependencies = [ - "curve25519-dalek 3.2.0", - "ed25519 1.5.3", - "rand 0.7.3", - "serde", - "sha2 0.9.9", - "zeroize", + "signature", ] [[package]] @@ -1019,11 +979,11 @@ version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "70e796c081cee67dc755e1a36a0a172b897fab85fc3f6bc48307991f64e4eca9" dependencies = [ - "curve25519-dalek 4.1.3", - "ed25519 2.2.3", + "curve25519-dalek", + "ed25519", "rand_core 0.6.4", "serde", - "sha2 0.10.9", + "sha2", "subtle", "zeroize", ] @@ -1045,7 +1005,7 @@ checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" dependencies = [ "base16ct", "crypto-bigint", - "digest 0.10.7", + "digest", "ff", "generic-array", "group", @@ -1355,17 +1315,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "getrandom" -version = "0.1.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" -dependencies = [ - "cfg-if", - "libc", - "wasi 0.9.0+wasi-snapshot-preview1", -] - [[package]] name = "getrandom" version = "0.2.17" @@ -1375,7 +1324,7 @@ dependencies = [ "cfg-if", "js-sys", "libc", - "wasi 0.11.1+wasi-snapshot-preview1", + "wasi", "wasm-bindgen", ] @@ -1519,7 +1468,7 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" dependencies = [ - "digest 0.10.7", + "digest", ] [[package]] @@ -1630,7 +1579,7 @@ dependencies = [ "libc", "percent-encoding", "pin-project-lite", - "socket2", + "socket2 0.6.3", "tokio", "tower-service", "tracing", @@ -1887,7 +1836,7 @@ dependencies = [ "cfg-if", "ecdsa", "elliptic-curve", - "sha2 0.10.9", + "sha2", ] [[package]] @@ -2013,7 +1962,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" dependencies = [ "cfg-if", - "digest 0.10.7", + "digest", ] [[package]] @@ -2061,7 +2010,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "50b7e5b27aa02a74bac8c3f23f448f8d87ff11f92d3aac1a6ed369ee08cc56c1" dependencies = [ "libc", - "wasi 0.11.1+wasi-snapshot-preview1", + "wasi", "windows-sys 0.61.2", ] @@ -2245,12 +2194,6 @@ version = "1.70.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" -[[package]] -name = "opaque-debug" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" - [[package]] name = "openssl" version = "0.10.80" @@ -2313,7 +2256,7 @@ dependencies = [ "ecdsa", "elliptic-curve", "primeorder", - "sha2 0.10.9", + "sha2", ] [[package]] @@ -2447,7 +2390,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "89815c69d36021a140146f26659a81d6c2afa33d216d736dd4be5381a7362220" dependencies = [ "pest", - "sha2 0.10.9", + "sha2", ] [[package]] @@ -2580,6 +2523,21 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "prometheus" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ca5326d8d0b950a9acd87e6a3f94745394f62e4dae1b1ee22b2bc0c394af43a" +dependencies = [ + "cfg-if", + "fnv", + "lazy_static", + "memchr", + "parking_lot 0.12.5", + "protobuf", + "thiserror 2.0.18", +] + [[package]] name = "proptest" version = "1.11.0" @@ -2599,6 +2557,26 @@ dependencies = [ "unarray", ] +[[package]] +name = "protobuf" +version = "3.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d65a1d4ddae7d8b5de68153b48f6aa3bba8cb002b243dbdbc55a5afbc98f99f4" +dependencies = [ + "once_cell", + "protobuf-support", + "thiserror 1.0.69", +] + +[[package]] +name = "protobuf-support" +version = "3.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e36c2f31e0a47f9280fb347ef5e461ffcd2c52dd520d8e216b52f93b0b0d7d6" +dependencies = [ + "thiserror 1.0.69", +] + [[package]] name = "proxy" version = "0.1.0" @@ -2625,7 +2603,7 @@ dependencies = [ "quinn-udp", "rustc-hash", "rustls", - "socket2", + "socket2 0.6.3", "thiserror 2.0.18", "tokio", "tracing", @@ -2662,7 +2640,7 @@ dependencies = [ "cfg_aliases", "libc", "once_cell", - "socket2", + "socket2 0.6.3", "tracing", "windows-sys 0.60.2", ] @@ -2688,19 +2666,6 @@ version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" -[[package]] -name = "rand" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" -dependencies = [ - "getrandom 0.1.16", - "libc", - "rand_chacha 0.2.2", - "rand_core 0.5.1", - "rand_hc", -] - [[package]] name = "rand" version = "0.8.6" @@ -2722,16 +2687,6 @@ dependencies = [ "rand_core 0.9.5", ] -[[package]] -name = "rand_chacha" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" -dependencies = [ - "ppv-lite86", - "rand_core 0.5.1", -] - [[package]] name = "rand_chacha" version = "0.3.1" @@ -2752,15 +2707,6 @@ dependencies = [ "rand_core 0.9.5", ] -[[package]] -name = "rand_core" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" -dependencies = [ - "getrandom 0.1.16", -] - [[package]] name = "rand_core" version = "0.6.4" @@ -2780,21 +2726,33 @@ dependencies = [ ] [[package]] -name = "rand_hc" -version = "0.2.0" +name = "rand_xorshift" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" +checksum = "513962919efc330f829edb2535844d1b912b0fbe2ca165d613e4e8788bb05a5a" dependencies = [ - "rand_core 0.5.1", + "rand_core 0.9.5", ] [[package]] -name = "rand_xorshift" -version = "0.4.0" +name = "redis" +version = "0.25.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "513962919efc330f829edb2535844d1b912b0fbe2ca165d613e4e8788bb05a5a" +checksum = "5e46922bd01fefcfdcf58d9cd626da082bb2cde27211920dacfde6b2ecf9a35b" dependencies = [ - "rand_core 0.9.5", + "async-trait", + "bytes", + "combine", + "futures-util", + "itoa", + "percent-encoding", + "pin-project-lite", + "ryu", + "sha1_smol", + "socket2 0.5.10", + "tokio", + "tokio-util", + "url", ] [[package]] @@ -2956,14 +2914,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b8573f03f5883dcaebdfcf4725caa1ecb9c15b2ef50c43a07b816e06799bb12d" dependencies = [ "const-oid", - "digest 0.10.7", + "digest", "num-bigint-dig", "num-integer", "num-traits", "pkcs1", "pkcs8", "rand_core 0.6.4", - "signature 2.2.0", + "signature", "spki", "subtle", "zeroize", @@ -3013,7 +2971,7 @@ version = "8.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5bcdef0be6fe7f6fa333b1073c949729274b05f123a0ad7efcb8efd878e5c3b1" dependencies = [ - "sha2 0.10.9", + "sha2", "walkdir", ] @@ -3319,21 +3277,14 @@ checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" dependencies = [ "cfg-if", "cpufeatures", - "digest 0.10.7", + "digest", ] [[package]] -name = "sha2" -version = "0.9.9" +name = "sha1_smol" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800" -dependencies = [ - "block-buffer 0.9.0", - "cfg-if", - "cpufeatures", - "digest 0.9.0", - "opaque-debug", -] +checksum = "bbfa15b3dddfee50a0fff136974b3e1bde555604ba463834a7eb7deb6417705d" [[package]] name = "sha2" @@ -3343,7 +3294,7 @@ checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" dependencies = [ "cfg-if", "cpufeatures", - "digest 0.10.7", + "digest", ] [[package]] @@ -3352,7 +3303,7 @@ version = "0.10.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77fd7028345d415a4034cf8777cd4f8ab1851274233b45f84e3d955502d93874" dependencies = [ - "digest 0.10.7", + "digest", "keccak", ] @@ -3381,19 +3332,13 @@ dependencies = [ "libc", ] -[[package]] -name = "signature" -version = "1.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" - [[package]] name = "signature" version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" dependencies = [ - "digest 0.10.7", + "digest", "rand_core 0.6.4", ] @@ -3443,6 +3388,16 @@ version = "1.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" +[[package]] +name = "socket2" +version = "0.5.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e22376abed350d73dd1cd119b57ffccad95b4e585a7cda43e286245ce23c0678" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + [[package]] name = "socket2" version = "0.6.3" @@ -3504,9 +3459,9 @@ dependencies = [ "ark-ec", "ark-ff", "ark-serialize", - "curve25519-dalek 4.1.3", + "curve25519-dalek", "ecdsa", - "ed25519-dalek 2.2.0", + "ed25519-dalek", "elliptic-curve", "generic-array", "getrandom 0.2.17", @@ -3520,7 +3475,7 @@ dependencies = [ "rand 0.8.6", "rand_chacha 0.3.1", "sec1", - "sha2 0.10.9", + "sha2", "sha3", "soroban-builtin-sdk-macros", "soroban-env-common", @@ -3579,7 +3534,7 @@ dependencies = [ "bytes-lit", "ctor", "derive_arbitrary", - "ed25519-dalek 2.2.0", + "ed25519-dalek", "rand 0.8.6", "rustc_version", "serde", @@ -3603,7 +3558,7 @@ dependencies = [ "proc-macro2", "quote", "rustc_version", - "sha2 0.10.9", + "sha2", "soroban-env-common", "soroban-spec", "soroban-spec-rust", @@ -3632,7 +3587,7 @@ dependencies = [ "prettyplease", "proc-macro2", "quote", - "sha2 0.10.9", + "sha2", "soroban-spec", "stellar-xdr", "syn 2.0.117", @@ -3686,18 +3641,20 @@ dependencies = [ "clap", "config", "dotenvy", - "ed25519-dalek 1.0.1", + "ed25519-dalek", "hex", "jsonwebtoken", "moka", + "prometheus", "proptest", "rand 0.8.6", + "redis", "reqwest", "rsa", "rusqlite", "serde", "serde_json", - "sha2 0.10.9", + "sha2", "sled", "soroban-env-host", "soroban-sdk", @@ -3807,7 +3764,7 @@ dependencies = [ "percent-encoding", "serde", "serde_json", - "sha2 0.10.9", + "sha2", "smallvec", "sqlformat", "thiserror 1.0.69", @@ -3846,7 +3803,7 @@ dependencies = [ "quote", "serde", "serde_json", - "sha2 0.10.9", + "sha2", "sqlx-core", "sqlx-mysql", "sqlx-postgres", @@ -3870,7 +3827,7 @@ dependencies = [ "bytes", "chrono", "crc", - "digest 0.10.7", + "digest", "dotenvy", "either", "futures-channel", @@ -3891,7 +3848,7 @@ dependencies = [ "rsa", "serde", "sha1", - "sha2 0.10.9", + "sha2", "smallvec", "sqlx-core", "stringprep", @@ -3932,7 +3889,7 @@ dependencies = [ "serde", "serde_json", "sha1", - "sha2 0.10.9", + "sha2", "smallvec", "sqlx-core", "stringprep", @@ -4222,7 +4179,7 @@ dependencies = [ "parking_lot 0.12.5", "pin-project-lite", "signal-hook-registry", - "socket2", + "socket2 0.6.3", "tokio-macros", "windows-sys 0.61.2", ] @@ -4660,9 +4617,16 @@ dependencies = [ "serde_json", "url", "utoipa", + "utoipa-swagger-ui-vendored", "zip", ] +[[package]] +name = "utoipa-swagger-ui-vendored" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2eebbbfe4093922c2b6734d7c679ebfebd704a0d7e56dfcb0d05818ce28977d" + [[package]] name = "uuid" version = "1.23.1" @@ -4721,12 +4685,6 @@ dependencies = [ "try-lock", ] -[[package]] -name = "wasi" -version = "0.9.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" - [[package]] name = "wasi" version = "0.11.1+wasi-snapshot-preview1" diff --git a/contracts/auction_factory/src/test.rs b/contracts/auction_factory/src/test.rs index db3c5ef..94fa4a4 100644 --- a/contracts/auction_factory/src/test.rs +++ b/contracts/auction_factory/src/test.rs @@ -8,7 +8,7 @@ fn test_factory() { let env = Env::default(); env.mock_all_auths(); - let factory_id = env.register_contract(None, AuctionFactory); + let factory_id = env.register(AuctionFactory, ()); let factory_client = AuctionFactoryClient::new(&env, &factory_id); // For full test, need WASM hashes, which require building the contracts. @@ -26,4 +26,4 @@ fn test_factory() { // In practice, we need real WASM. // assert!(factory_client.create_english_auction(&seller, &nft_contract, &1, &payment_token, &100, &200, &10, &dummy_hash).is_some()); -} \ No newline at end of file +} diff --git a/contracts/cross_chain_verifier/src/test.rs b/contracts/cross_chain_verifier/src/test.rs index ec77306..4718c25 100644 --- a/contracts/cross_chain_verifier/src/test.rs +++ b/contracts/cross_chain_verifier/src/test.rs @@ -6,7 +6,7 @@ use soroban_sdk::{testutils::Address as _, Address, Bytes, BytesN, Env, Vec}; #[test] fn test_initialization() { let env = Env::default(); - let contract_id = env.register_contract(None, CrossChainVerifier); + let contract_id = env.register(CrossChainVerifier, ()); let client = CrossChainVerifierClient::new(&env, &contract_id); let admin = Address::generate(&env); @@ -17,7 +17,7 @@ fn test_initialization() { #[should_panic(expected = "already initialized")] fn test_double_initialization() { let env = Env::default(); - let contract_id = env.register_contract(None, CrossChainVerifier); + let contract_id = env.register(CrossChainVerifier, ()); let client = CrossChainVerifierClient::new(&env, &contract_id); let admin = Address::generate(&env); @@ -30,7 +30,7 @@ fn test_root_update() { let env = Env::default(); env.mock_all_auths(); - let contract_id = env.register_contract(None, CrossChainVerifier); + let contract_id = env.register(CrossChainVerifier, ()); let client = CrossChainVerifierClient::new(&env, &contract_id); let admin = Address::generate(&env); @@ -50,7 +50,7 @@ fn test_verify_message_success() { let env = Env::default(); env.mock_all_auths(); - let contract_id = env.register_contract(None, CrossChainVerifier); + let contract_id = env.register(CrossChainVerifier, ()); let client = CrossChainVerifierClient::new(&env, &contract_id); let admin = Address::generate(&env); @@ -100,7 +100,7 @@ fn test_verify_message_success() { #[should_panic(expected = "State root not found")] fn test_verify_message_no_root() { let env = Env::default(); - let contract_id = env.register_contract(None, CrossChainVerifier); + let contract_id = env.register(CrossChainVerifier, ()); let client = CrossChainVerifierClient::new(&env, &contract_id); let admin = Address::generate(&env); diff --git a/contracts/dutch_auction/src/test.rs b/contracts/dutch_auction/src/test.rs index 0325401..76bae21 100644 --- a/contracts/dutch_auction/src/test.rs +++ b/contracts/dutch_auction/src/test.rs @@ -13,19 +13,19 @@ fn test_dutch_auction() { let buyer = Address::generate(&env); // Deploy NFT contract - let nft_contract_id = env.register_contract(None, token_contract::Token); + let nft_contract_id = env.register(token_contract::Token, ()); let nft_client = TokenClient::new(&env, &nft_contract_id); nft_client.initialize(&seller, &0, &"NFT".into_val(&env), &"NFT".into_val(&env)); nft_client.mint(&seller, &1); // Deploy payment token - let payment_contract_id = env.register_contract(None, token_contract::Token); + let payment_contract_id = env.register(token_contract::Token, ()); let payment_client = TokenClient::new(&env, &payment_contract_id); payment_client.initialize(&seller, &7, &"USD".into_val(&env), &"USD".into_val(&env)); payment_client.mint(&buyer, &1000); // Deploy auction contract - let auction_contract_id = env.register_contract(None, DutchAuction); + let auction_contract_id = env.register(DutchAuction, ()); let auction_client = DutchAuctionClient::new(&env, &auction_contract_id); // Transfer NFT to auction @@ -59,4 +59,4 @@ fn test_dutch_auction() { // Check payment assert_eq!(payment_client.balance(&seller), 150); assert_eq!(auction_client.is_sold(), true); -} \ No newline at end of file +} diff --git a/contracts/english_auction/src/test.rs b/contracts/english_auction/src/test.rs index 5dcf067..1b5bd50 100644 --- a/contracts/english_auction/src/test.rs +++ b/contracts/english_auction/src/test.rs @@ -14,7 +14,7 @@ fn test_english_auction() { let bidder2 = Address::generate(&env); // Deploy NFT contract - let nft_contract_id = env.register_contract(None, token_contract::Token); + let nft_contract_id = env.register(token_contract::Token, ()); let nft_client = TokenClient::new(&env, &nft_contract_id); // Initialize NFT @@ -24,14 +24,14 @@ fn test_english_auction() { nft_client.mint(&seller, &1); // Deploy payment token - let payment_contract_id = env.register_contract(None, token_contract::Token); + let payment_contract_id = env.register(token_contract::Token, ()); let payment_client = TokenClient::new(&env, &payment_contract_id); payment_client.initialize(&seller, &7, &"USD".into_val(&env), &"USD".into_val(&env)); payment_client.mint(&bidder1, &1000); payment_client.mint(&bidder2, &1000); // Deploy auction contract - let auction_contract_id = env.register_contract(None, EnglishAuction); + let auction_contract_id = env.register(EnglishAuction, ()); let auction_client = EnglishAuctionClient::new(&env, &auction_contract_id); // Approve NFT transfer @@ -68,4 +68,4 @@ fn test_english_auction() { // Check balances assert_eq!(payment_client.balance(&seller), 180); assert_eq!(nft_client.balance(&bidder2), 1); -} \ No newline at end of file +} diff --git a/contracts/flash_loan_vault/src/test.rs b/contracts/flash_loan_vault/src/test.rs index 78e747a..9ff7f0a 100644 --- a/contracts/flash_loan_vault/src/test.rs +++ b/contracts/flash_loan_vault/src/test.rs @@ -1,8 +1,5 @@ use super::*; -use soroban_sdk::{ - contract, contractimpl, contracttype, testutils::Address as _, Address, Env, - String as SorobanString, -}; +use soroban_sdk::{contract, contractimpl, contracttype, testutils::Address as _, Address, Env}; // ── Mock receivers ─────────────────────────────────────────────────────────── @@ -465,7 +462,7 @@ fn test_flash_loan_overpay() { // ── Flash loan: reentrancy ─────────────────────────────────────────────────── #[test] -#[should_panic(expected = "Error(Contract, #4)")] +#[should_panic(expected = "Contract re-entry is not allowed")] fn test_reentrancy_guard() { let s = setup(); fund_vault(&s, 10_000); diff --git a/contracts/proxy/src/test.rs b/contracts/proxy/src/test.rs index 9c7b152..b639da3 100644 --- a/contracts/proxy/src/test.rs +++ b/contracts/proxy/src/test.rs @@ -1,4 +1,3 @@ -#![cfg(test)] extern crate std; use super::*; diff --git a/contracts/token/src/contract.rs b/contracts/token/src/contract.rs index e4bbcec..09d291d 100644 --- a/contracts/token/src/contract.rs +++ b/contracts/token/src/contract.rs @@ -2,7 +2,7 @@ use crate::admin::{has_administrator, read_administrator, write_administrator}; use crate::allowance::{read_allowance, spend_allowance, write_allowance}; use crate::balance::{read_balance, receive_balance, spend_balance}; use crate::metadata::{read_decimal, read_name, read_symbol, write_metadata}; -use emergency_guard::{EmergencyGuard, GuardError, PauseType}; +use emergency_guard::{DataKey as GuardDataKey, EmergencyGuard, GuardError, PauseType}; use soroban_sdk::{contract, contractimpl, vec, Address, Env, String, Vec}; fn require_not_paused(e: &Env, operation: u32) { @@ -72,11 +72,35 @@ impl TokenTrait for Token { let admin = read_administrator(&e); admin.require_auth(); e.storage().instance().extend_ttl(100, 100); + if admin == new_admin { + write_administrator(&e, &new_admin); + return; + } - EmergencyGuard::add_admin(e.clone(), vec![&e, admin.clone()], new_admin.clone()) - .expect("failed to add token admin"); - EmergencyGuard::remove_admin(e.clone(), vec![&e, admin.clone()], admin) - .expect("failed to remove old token admin"); + let admins = EmergencyGuard::get_admins(e.clone()); + let mut rotated_admins = Vec::new(&e); + let mut has_new_admin = false; + let mut replaced_old_admin = false; + for guard_admin in admins.iter() { + if guard_admin == new_admin { + has_new_admin = true; + } + if guard_admin == admin { + replaced_old_admin = true; + if !has_new_admin { + rotated_admins.push_back(new_admin.clone()); + has_new_admin = true; + } + } else { + rotated_admins.push_back(guard_admin); + } + } + if !replaced_old_admin && !has_new_admin { + rotated_admins.push_back(new_admin.clone()); + } + e.storage() + .instance() + .set(&GuardDataKey::Admins, &rotated_admins); write_administrator(&e, &new_admin); } diff --git a/contracts/token/src/lib.rs b/contracts/token/src/lib.rs index 263aa57..dcbf504 100644 --- a/contracts/token/src/lib.rs +++ b/contracts/token/src/lib.rs @@ -12,9 +12,11 @@ pub use emergency_guard; #[cfg(test)] mod test; +#[cfg(test)] mod test_admin_rotation; #[cfg(test)] mod test_granular_pause; +#[cfg(test)] mod test_multisig; pub use crate::contract::Token; diff --git a/contracts/token/src/test_admin_rotation.rs b/contracts/token/src/test_admin_rotation.rs index 7c53741..b9d4021 100644 --- a/contracts/token/src/test_admin_rotation.rs +++ b/contracts/token/src/test_admin_rotation.rs @@ -1,9 +1,8 @@ -#![cfg(test)] - use crate::contract::{Token, TokenClient}; use soroban_sdk::{testutils::Address as _, Address, Env, String}; -fn setup(env: &Env) -> (TokenClient, Address) { +#[cfg(test)] +fn setup(env: &Env) -> (TokenClient<'_>, Address) { let contract_id = env.register(Token, ()); let client = TokenClient::new(env, &contract_id); let admin = Address::generate(env); diff --git a/contracts/token/src/test_granular_pause.rs b/contracts/token/src/test_granular_pause.rs index 89ee841..044634d 100644 --- a/contracts/token/src/test_granular_pause.rs +++ b/contracts/token/src/test_granular_pause.rs @@ -1,5 +1,3 @@ -#![cfg(test)] - //! Granular pausing tests for MINT, BURN, and TRANSFER operations. //! //! These tests verify that pausing specific operations via EmergencyGuard @@ -9,10 +7,10 @@ use emergency_guard::{EmergencyGuard, EmergencyGuardClient, PauseType}; use soroban_sdk::{testutils::Address as _, vec, Address, Env}; -fn setup_guard(env: &Env, admin: &Address) -> EmergencyGuardClient { +fn setup_guard<'a>(env: &'a Env, admin: &'a Address) -> EmergencyGuardClient<'a> { let contract_id = env.register(EmergencyGuard, ()); let client = EmergencyGuardClient::new(env, &contract_id); - client.initialize(&vec![env, admin.clone()], &1).unwrap(); + client.initialize(&vec![env, admin.clone()], &1); client } @@ -24,7 +22,7 @@ fn test_pause_mint_only() { let admin = Address::generate(&env); let client = setup_guard(&env, &admin); - client.set_pause(&admin, &PauseType::MINT, &true).unwrap(); + client.set_pause(&admin, &PauseType::MINT, &true); assert!(client.is_paused(&PauseType::MINT)); assert!(!client.is_paused(&PauseType::BURN)); @@ -39,7 +37,7 @@ fn test_pause_burn_only() { let admin = Address::generate(&env); let client = setup_guard(&env, &admin); - client.set_pause(&admin, &PauseType::BURN, &true).unwrap(); + client.set_pause(&admin, &PauseType::BURN, &true); assert!(!client.is_paused(&PauseType::MINT)); assert!(client.is_paused(&PauseType::BURN)); @@ -54,9 +52,7 @@ fn test_pause_transfer_only() { let admin = Address::generate(&env); let client = setup_guard(&env, &admin); - client - .set_pause(&admin, &PauseType::TRANSFER, &true) - .unwrap(); + client.set_pause(&admin, &PauseType::TRANSFER, &true); assert!(!client.is_paused(&PauseType::MINT)); assert!(!client.is_paused(&PauseType::BURN)); @@ -71,32 +67,28 @@ fn test_pause_all_three_then_unpause_individually() { let admin = Address::generate(&env); let client = setup_guard(&env, &admin); - client.set_pause(&admin, &PauseType::MINT, &true).unwrap(); - client.set_pause(&admin, &PauseType::BURN, &true).unwrap(); - client - .set_pause(&admin, &PauseType::TRANSFER, &true) - .unwrap(); + client.set_pause(&admin, &PauseType::MINT, &true); + client.set_pause(&admin, &PauseType::BURN, &true); + client.set_pause(&admin, &PauseType::TRANSFER, &true); assert!(client.is_paused(&PauseType::MINT)); assert!(client.is_paused(&PauseType::BURN)); assert!(client.is_paused(&PauseType::TRANSFER)); // Unpause MINT only - client.set_pause(&admin, &PauseType::MINT, &false).unwrap(); + client.set_pause(&admin, &PauseType::MINT, &false); assert!(!client.is_paused(&PauseType::MINT)); assert!(client.is_paused(&PauseType::BURN)); assert!(client.is_paused(&PauseType::TRANSFER)); // Unpause BURN only - client.set_pause(&admin, &PauseType::BURN, &false).unwrap(); + client.set_pause(&admin, &PauseType::BURN, &false); assert!(!client.is_paused(&PauseType::MINT)); assert!(!client.is_paused(&PauseType::BURN)); assert!(client.is_paused(&PauseType::TRANSFER)); // Unpause TRANSFER - client - .set_pause(&admin, &PauseType::TRANSFER, &false) - .unwrap(); + client.set_pause(&admin, &PauseType::TRANSFER, &false); assert!(!client.is_paused(&PauseType::TRANSFER)); } @@ -109,7 +101,7 @@ fn test_unpause_when_not_paused_is_noop() { let client = setup_guard(&env, &admin); // None paused initially - client.set_pause(&admin, &PauseType::MINT, &false).unwrap(); + client.set_pause(&admin, &PauseType::MINT, &false); assert!(!client.is_paused(&PauseType::MINT)); assert!(!client.is_paused(&PauseType::BURN)); assert!(!client.is_paused(&PauseType::TRANSFER)); diff --git a/contracts/token/src/test_multisig.rs b/contracts/token/src/test_multisig.rs index 1e7ae88..b75e596 100644 --- a/contracts/token/src/test_multisig.rs +++ b/contracts/token/src/test_multisig.rs @@ -1,5 +1,3 @@ -#![cfg(test)] - //! Threshold multi-sig tests for the token contract. //! //! These tests verify N-of-M multi-sig admin capabilities using the @@ -11,7 +9,11 @@ use soroban_sdk::{testutils::Address as _, vec, Address, Env}; // Import EmergencyGuard directly from its crate use emergency_guard::{EmergencyGuard, EmergencyGuardClient}; -fn setup_guard(env: &Env, admins: &[Address], threshold: u32) -> (EmergencyGuardClient, Address) { +fn setup_guard<'a>( + env: &'a Env, + admins: &[Address], + threshold: u32, +) -> (EmergencyGuardClient<'a>, Address) { let contract_id = env.register(EmergencyGuard, ()); let client = EmergencyGuardClient::new(env, &contract_id); let admins_vec = { @@ -21,7 +23,7 @@ fn setup_guard(env: &Env, admins: &[Address], threshold: u32) -> (EmergencyGuard } v }; - client.initialize(&admins_vec, &threshold).unwrap(); + client.initialize(&admins_vec, &threshold); (client, contract_id) } @@ -37,7 +39,7 @@ fn test_multisig_2_of_3_pause_succeeds() { let (client, _) = setup_guard(&env, &[a1.clone(), a2.clone(), a3.clone()], 2); let approvers = vec![&env, a1.clone(), a2.clone()]; - client.emergency_pause(&approvers).unwrap(); + client.emergency_pause(&approvers); assert!(client.is_paused(&emergency_guard::PauseType::MINT)); } @@ -70,7 +72,7 @@ fn test_multisig_3_of_3_all_required() { let (client, _) = setup_guard(&env, &[a1.clone(), a2.clone(), a3.clone()], 3); let approvers = vec![&env, a1.clone(), a2.clone(), a3.clone()]; - client.emergency_pause(&approvers).unwrap(); + client.emergency_pause(&approvers); assert!(client.is_paused(&emergency_guard::PauseType::MINT)); } @@ -86,7 +88,7 @@ fn test_multisig_add_admin() { let (client, _) = setup_guard(&env, &[a1.clone(), a2.clone()], 2); let approvers = vec![&env, a1.clone(), a2.clone()]; - client.add_admin(&approvers, &new_admin).unwrap(); + client.add_admin(&approvers, &new_admin); let admins = client.get_admins(); assert!(admins.iter().any(|a| a == new_admin)); @@ -104,7 +106,7 @@ fn test_multisig_remove_admin() { let (client, _) = setup_guard(&env, &[a1.clone(), a2.clone(), a3.clone()], 2); let approvers = vec![&env, a1.clone(), a2.clone()]; - client.remove_admin(&approvers, &a3).unwrap(); + client.remove_admin(&approvers, &a3); let admins = client.get_admins(); assert!(!admins.iter().any(|a| a == a3)); @@ -121,10 +123,10 @@ fn test_multisig_resume_after_pause() { let (client, _) = setup_guard(&env, &[a1.clone(), a2.clone()], 2); let approvers = vec![&env, a1.clone(), a2.clone()]; - client.emergency_pause(&approvers).unwrap(); + client.emergency_pause(&approvers); assert!(client.is_paused(&emergency_guard::PauseType::MINT)); - client.resume(&approvers).unwrap(); + client.resume(&approvers); assert!(!client.is_paused(&emergency_guard::PauseType::MINT)); } diff --git a/contracts/twap_oracle/src/test.rs b/contracts/twap_oracle/src/test.rs index f36d38b..9cea269 100644 --- a/contracts/twap_oracle/src/test.rs +++ b/contracts/twap_oracle/src/test.rs @@ -6,7 +6,7 @@ use crate::{Error, TwapOracle, TwapOracleClient}; #[test] fn test_initialize() { let e = Env::default(); - let contract_id = e.register_contract(None, TwapOracle); + let contract_id = e.register(TwapOracle, ()); let client = TwapOracleClient::new(&e, &contract_id); let token_a = Address::generate(&e); @@ -27,7 +27,7 @@ fn test_update_and_get_twap() { let e = Env::default(); e.ledger().with_mut(|li| li.timestamp = 1000); - let contract_id = e.register_contract(None, TwapOracle); + let contract_id = e.register(TwapOracle, ()); let client = TwapOracleClient::new(&e, &contract_id); let token_a = Address::generate(&e); @@ -63,7 +63,7 @@ fn test_update_too_soon() { let e = Env::default(); e.ledger().with_mut(|li| li.timestamp = 1000); - let contract_id = e.register_contract(None, TwapOracle); + let contract_id = e.register(TwapOracle, ()); let client = TwapOracleClient::new(&e, &contract_id); let token_a = Address::generate(&e); @@ -91,7 +91,7 @@ fn test_update_too_soon() { #[test] fn test_invalid_price() { let e = Env::default(); - let contract_id = e.register_contract(None, TwapOracle); + let contract_id = e.register(TwapOracle, ()); let client = TwapOracleClient::new(&e, &contract_id); let token_a = Address::generate(&e); @@ -106,9 +106,9 @@ fn test_invalid_price() { #[test] fn test_not_initialized() { let e = Env::default(); - let contract_id = e.register_contract(None, TwapOracle); + let contract_id = e.register(TwapOracle, ()); let client = TwapOracleClient::new(&e, &contract_id); assert_eq!(client.update_price(&100), Err(Error::NotInitialized)); assert_eq!(client.get_twap(), 0); -} \ No newline at end of file +} diff --git a/contracts/typed_data_auth/src/test.rs b/contracts/typed_data_auth/src/test.rs index 102bfb6..9b9b76d 100644 --- a/contracts/typed_data_auth/src/test.rs +++ b/contracts/typed_data_auth/src/test.rs @@ -1,7 +1,5 @@ -#![cfg(test)] - use crate::{Domain, Transfer, TypedDataAuth}; -use soroban_sdk::testutils::{Address as _, BytesN as _}; +use soroban_sdk::testutils::Address as _; use soroban_sdk::{Address, BytesN, Env, String}; #[test] @@ -64,8 +62,8 @@ fn test_domain_separator_consistency() { verifying_contract: contract_address, }; assert_eq!( - TypedDataAuth::compute_domain_hash(&env, &domain1), - TypedDataAuth::compute_domain_hash(&env, &domain2), + TypedDataAuth::domain_separator_hash(&env, &domain1), + TypedDataAuth::domain_separator_hash(&env, &domain2), ); } diff --git a/core/Cargo.toml b/core/Cargo.toml index 472647c..cf9bd76 100644 --- a/core/Cargo.toml +++ b/core/Cargo.toml @@ -28,19 +28,21 @@ axum = { version = "0.7", features = ["multipart", "ws"] } tempfile = "3" tracing = "0.1" tracing-subscriber = { version = "0.3", features = ["env-filter"] } +prometheus = "0.14" tower = "0.4" tower-http = { version = "0.5", features = ["cors", "trace"] } utoipa = { version = "4", features = ["axum_extras"] } -utoipa-swagger-ui = { version = "7", features = ["axum"] } +utoipa-swagger-ui = { version = "7", features = ["axum", "vendored"] } base64 = "0.22" hex = "0.4" stellar-strkey = "0.0.9" jsonwebtoken = "9" -ed25519-dalek = "1" +ed25519-dalek = "2" rand = "0.8" moka = { version = "0.12", features = ["future"] } sled = "0.34" -sqlx = { version = "0.7", features = ["runtime-tokio", "tls-native-tls", "postgres", "uuid", "chrono", "migrate"] } +sqlx = { version = "0.7", features = ["runtime-tokio", "tls-native-tls", "postgres", "sqlite", "uuid", "chrono", "migrate"] } +redis = { version = "0.25", features = ["tokio-comp"] } uuid = { version = "1", features = ["v4", "serde"] } chrono = { version = "0.4", features = ["serde"] } clap = { version = "4", features = ["derive"] } diff --git a/core/src/auth.rs b/core/src/auth.rs index 8779648..9cdb73a 100644 --- a/core/src/auth.rs +++ b/core/src/auth.rs @@ -52,6 +52,7 @@ impl AuthState { seed } }; + let signing_key = SigningKey::from_bytes(&seed); let server_public_key = signing_key.verifying_key().to_bytes(); let priv_key = if let Some(pem) = jwt_private_key_pem { @@ -301,12 +302,12 @@ fn verify_challenge_envelope(state: &AuthState, signed_xdr_b64: &str) -> Result< for ds in sigs { let sig_bytes: &[u8] = ds.signature.as_ref(); - let Ok(sig) = Ed25519Signature::from_bytes(sig_bytes) else { + let Ok(sig) = Ed25519Signature::try_from(sig_bytes) else { continue; }; if ds.hint.0 == server_hint { - if let Ok(vk) = PublicKey::from_bytes(&state.server_public_key) { + if let Ok(vk) = VerifyingKey::from_bytes(&state.server_public_key) { if vk.verify(&hash, &sig).is_ok() { server_ok = true; } @@ -314,7 +315,7 @@ fn verify_challenge_envelope(state: &AuthState, signed_xdr_b64: &str) -> Result< } if ds.hint.0 == client_hint { - if let Ok(vk) = PublicKey::from_bytes(&client_key) { + if let Ok(vk) = VerifyingKey::from_bytes(&client_key) { if vk.verify(&hash, &sig).is_ok() { client_ok = true; } diff --git a/core/src/benchmarks.rs b/core/src/benchmarks.rs index b211ebe..1b73daa 100644 --- a/core/src/benchmarks.rs +++ b/core/src/benchmarks.rs @@ -3,7 +3,6 @@ use sha2::{Digest, Sha256}; use soroban_sdk::{ testutils::Address as _, Address, Bytes, Env, IntoVal, String, Symbol, Val, Vec, }; -use soroban_sdk::{testutils::Address as _, Address, Env, IntoVal, String, Symbol, Val, Vec}; use std::fs; use std::path::PathBuf; @@ -20,7 +19,8 @@ pub async fn run_token_benchmark( // Register contract let wasm_bytes = Bytes::from_slice(&env, &wasm); - let contract_id = env.register_contract_wasm(None, wasm_bytes); + #[allow(deprecated)] + let _contract_id = env.register_contract_wasm(None, wasm_bytes); let contract_id = env.register(&*wasm, ()); // Initialize diff --git a/core/src/bin/rpc-proxy.rs b/core/src/bin/rpc-proxy.rs index 5439cf3..7229bbd 100644 --- a/core/src/bin/rpc-proxy.rs +++ b/core/src/bin/rpc-proxy.rs @@ -13,6 +13,7 @@ struct Args { } #[derive(Clone)] +#[allow(dead_code)] struct Config { max_gas_limit: u64, min_gas_price: u64, @@ -173,43 +174,40 @@ async fn handle_rpc( "id": 1 }); - match state + if let Ok(gas_resp) = state .client .post(&state.rpc_url) .json(&gas_req) .send() .await { - Ok(gas_resp) => { - let gas_body: serde_json::Value = gas_resp.json().await.unwrap_or_default(); - let gas_used = gas_body - .get("result") - .and_then(|r| r.as_str()) - .and_then(|s| u64::from_str_radix(&s[2..], 16).ok()) - .unwrap_or(0); - - if gas_used > state.config.max_gas_limit { - println!( - "Gas limit exceeded: {} > {}", - gas_used, state.config.max_gas_limit - ); - return Json(RpcResponse { - jsonrpc: "2.0".to_string(), - result: None, - error: Some(RpcError { - code: -32000, - message: format!( - "Gas limit exceeded: {} > {}", - gas_used, state.config.max_gas_limit - ), - }), - id: req.id, - }); - } - - println!("Simulation passed: gas={}", gas_used); + let gas_body: serde_json::Value = gas_resp.json().await.unwrap_or_default(); + let gas_used = gas_body + .get("result") + .and_then(|r| r.as_str()) + .and_then(|s| u64::from_str_radix(&s[2..], 16).ok()) + .unwrap_or(0); + + if gas_used > state.config.max_gas_limit { + println!( + "Gas limit exceeded: {} > {}", + gas_used, state.config.max_gas_limit + ); + return Json(RpcResponse { + jsonrpc: "2.0".to_string(), + result: None, + error: Some(RpcError { + code: -32000, + message: format!( + "Gas limit exceeded: {} > {}", + gas_used, state.config.max_gas_limit + ), + }), + id: req.id, + }); } - Err(_) => {} + + println!("Simulation passed: gas={}", gas_used); } } Err(_) => { diff --git a/core/src/cache/mod.rs b/core/src/cache/mod.rs index 67978cd..0078264 100644 --- a/core/src/cache/mod.rs +++ b/core/src/cache/mod.rs @@ -1,4 +1,5 @@ //! Two-tier simulation cache: in-memory L1 + disk-persistent L2. +#![allow(unused_imports)] //! //! The in-memory side (Moka) lives on [`crate::simulation::SimulationCache`] //! for backward compatibility; this module only ships the L2 layer plus the @@ -105,7 +106,10 @@ impl SimulationCache { let hits = self.hits.load(Ordering::Relaxed); let misses = self.misses.load(Ordering::Relaxed); let total = hits + misses; - let hit_rate_pct = if total > 0 { hits * 100 / total } else { 0 }; + let hit_rate_pct = hits + .checked_mul(100) + .and_then(|v| v.checked_div(total)) + .unwrap_or(0); tracing::info!( cache.hits = hits, cache.misses = misses, @@ -114,6 +118,14 @@ impl SimulationCache { "Cache statistics" ); } + + pub fn hit_count(&self) -> u64 { + self.hits.load(Ordering::Relaxed) + } + + pub fn miss_count(&self) -> u64 { + self.misses.load(Ordering::Relaxed) + } } pub struct ContractCache { diff --git a/core/src/engine/simulation_engine.rs b/core/src/engine/simulation_engine.rs index b4f1c30..1ad8197 100644 --- a/core/src/engine/simulation_engine.rs +++ b/core/src/engine/simulation_engine.rs @@ -83,6 +83,9 @@ where state_dependency: None, ttl_analysis: None, transaction_data: rpc_result.transaction_data, + call_graph: None, + state_snapshot: None, + protocol_version: 0, }) } diff --git a/core/src/fee_analytics.rs b/core/src/fee_analytics.rs index ce79967..4b7cbaa 100644 --- a/core/src/fee_analytics.rs +++ b/core/src/fee_analytics.rs @@ -1,3 +1,5 @@ +#![allow(clippy::unnecessary_cast)] + use crate::fee_store::LedgerFeeSample; use serde::{Deserialize, Serialize}; use utoipa::ToSchema; diff --git a/core/src/fee_collector.rs b/core/src/fee_collector.rs index 4ad5171..a8b4bdb 100644 --- a/core/src/fee_collector.rs +++ b/core/src/fee_collector.rs @@ -325,9 +325,6 @@ impl FeeCollector { 100 // Default base fee }; - // Get close time from response - let close_time = json["result"]["latestLedger"].as_u64().unwrap_or(sequence); - Ok(LedgerFeeSample { ledger_sequence: sequence as i64, collected_at: Utc::now(), @@ -364,7 +361,7 @@ impl FeeCollector { let close_timestamp = close_time_str.parse::().unwrap_or(0); let ledger_close_time = if close_timestamp > 0 { - chrono::DateTime::from_timestamp(close_timestamp, 0).unwrap_or_else(|| Utc::now()) + chrono::DateTime::from_timestamp(close_timestamp, 0).unwrap_or_else(Utc::now) } else { Utc::now() }; diff --git a/core/src/fee_store.rs b/core/src/fee_store.rs index 3135026..edace7b 100644 --- a/core/src/fee_store.rs +++ b/core/src/fee_store.rs @@ -125,8 +125,7 @@ impl FeeStore { &self, limit: i64, ) -> Result, FeeStoreError> { - let samples = sqlx::query_as!( - LedgerFeeSample, + let samples = sqlx::query_as::<_, LedgerFeeSample>( r#" SELECT ledger_sequence, collected_at, base_reserve, base_fee, diff --git a/core/src/fuzz_simulation.rs b/core/src/fuzz_simulation.rs index cc51747..085f1bc 100644 --- a/core/src/fuzz_simulation.rs +++ b/core/src/fuzz_simulation.rs @@ -8,10 +8,10 @@ #[cfg(test)] mod tests { + use crate::cache::SimulationCache; use crate::simulation::{ - CallGraph, CallNode, ExtendTtlSuggestion, SimulationCache, SimulationEngine, - SimulationResult, SimulationStateSnapshot, SorobanResources, TtlAnalysisReport, - TtlEntryReport, + CallGraph, CallNode, SimulationEngine, SimulationResult, SimulationStateSnapshot, + SorobanResources, TtlEntryReport, }; use proptest::prelude::*; use std::collections::HashMap; @@ -24,10 +24,6 @@ mod tests { } /// Arbitrary short ASCII-only identifier. - fn arb_identifier() -> impl Strategy { - "[a-zA-Z_][a-zA-Z0-9_]{0,31}" - } - /// Arbitrary `SorobanResources`. fn arb_resources() -> impl Strategy { ( @@ -97,6 +93,7 @@ mod tests { transaction_data: td, call_graph: None, state_snapshot: None, + protocol_version: 0, }) } @@ -127,7 +124,7 @@ mod tests { #[test] fn fuzz_parse_sc_val_arg_void(input in prop::sample::select(vec!["void", "()"])) { let engine = SimulationEngine::new("https://test.com".into()); - let result = engine.parse_sc_val_arg(&input); + let result = engine.parse_sc_val_arg(input); prop_assert!(result.is_ok()); } @@ -240,9 +237,7 @@ mod tests { #[test] fn fuzz_extract_footprint_no_panic(input in arb_short_string()) { let engine = SimulationEngine::new("https://test.com".into()); - let (r, w) = engine.extract_footprint_from_xdr(&input); - // Just verifying it returns without panic; values >= 0. - prop_assert!(r >= 0 || w >= 0 || true); + let _ = engine.extract_footprint_from_xdr(&input); } /// Empty input must return (0, 0). @@ -261,9 +256,7 @@ mod tests { input in "[a-zA-Z0-9+/=]{0,128}" ) { let engine = SimulationEngine::new("https://test.com".into()); - let keys = engine.extract_touched_ledger_keys(&input); - // Result is always a Vec, possibly empty. - prop_assert!(keys.len() < usize::MAX); + let _ = engine.extract_touched_ledger_keys(&input); } /// Empty input returns empty Vec. @@ -319,9 +312,8 @@ mod tests { #[test] fn fuzz_calculate_cost_no_panic(resources in arb_resources()) { let engine = SimulationEngine::new("https://test.com".into()); - let cost = engine.calculate_cost(&resources); + let _cost = engine.calculate_cost(&resources); // Cost is computed via integer division — always finite. - prop_assert!(cost <= u64::MAX); } /// Deterministic: same inputs → same cost. diff --git a/core/src/fuzz_tests.rs b/core/src/fuzz_tests.rs index 5cf2a99..70a378c 100644 --- a/core/src/fuzz_tests.rs +++ b/core/src/fuzz_tests.rs @@ -254,9 +254,9 @@ mod tests { // "critical" iff > 25% if flag.change_percent > 25.0 { - prop_assert_eq!(flag.severity, "critical"); + prop_assert_eq!(&flag.severity, "critical"); } else { - prop_assert_eq!(flag.severity, "high"); + prop_assert_eq!(&flag.severity, "high"); } } diff --git a/core/src/gas_golfing.rs b/core/src/gas_golfing.rs index fc66a35..926ee5e 100644 --- a/core/src/gas_golfing.rs +++ b/core/src/gas_golfing.rs @@ -24,6 +24,12 @@ pub struct GasGolfingReport { pub struct GasGolfingAnalyzer; +impl Default for GasGolfingAnalyzer { + fn default() -> Self { + Self + } +} + impl GasGolfingAnalyzer { pub fn new() -> Self { Self diff --git a/core/src/jobs.rs b/core/src/jobs.rs index 33087df..48e8519 100644 --- a/core/src/jobs.rs +++ b/core/src/jobs.rs @@ -1,8 +1,19 @@ -#![allow(dead_code)] +#![allow( + dead_code, + clippy::large_enum_variant, + clippy::manual_inspect, + clippy::needless_borrows_for_generic_args +)] use crate::insights::InsightsEngine; use crate::simulation::{SimulationEngine, SimulationResult, SorobanResources}; use crate::ws::SimulationBus; +use crate::AppError; +use axum::{ + extract::{Path, State}, + http::StatusCode, + Json, +}; use chrono::{DateTime, Utc}; use redis::{AsyncCommands, Client as RedisClient}; use reqwest::Client; @@ -15,7 +26,6 @@ use std::str::FromStr; use std::sync::Arc; use std::time::Duration; use tokio::time::interval; -use tracing; use utoipa::ToSchema; use uuid::Uuid; @@ -647,14 +657,6 @@ impl JobQueue { // Push back to Redis queue after delay (using a simple sleep for now or a delayed set) // For a robust implementation, we'd use a sorted set for delayed jobs. // For now, let's just push it back to the queue. - let mut conn = self - .redis - .get_multiplexed_async_connection() - .await - .map_err(|e| { - JobError::ProcessingFailed(format!("Failed to get Redis connection: {}", e)) - })?; - let queue = self.clone(); let id_str = job.id.0.to_string(); tokio::spawn(async move { @@ -933,19 +935,24 @@ impl JobWorker { let config = self.config.clone(); let http_client = self.http_client.clone(); let bus = self.bus.clone(); + let id_str_clone = id_str.clone(); tokio::spawn(async move { let _permit = permit; - let result = Self::process_job( + if let Err(e) = Self::process_job( &queue, job_id, engine, insights, config, http_client, + bus, ) - .await; + .await + { + tracing::error!("Job processing error: {}", e); + } // Clean up processing list after completion let mut conn = match queue.redis.get_multiplexed_async_connection().await { @@ -955,20 +962,6 @@ impl JobWorker { let _: Result<(), _> = conn .lrem("soroscope:jobs:processing", 1, id_str_clone) .await; - - if let Err(e) = Self::process_job( - &queue, - job, - engine, - insights, - config, - http_client, - bus, - ) - .await - { - tracing::error!("Job processing error: {}", e); - } }); } Ok(None) => {} diff --git a/core/src/main.rs b/core/src/main.rs index e9f8cc5..189c2f9 100644 --- a/core/src/main.rs +++ b/core/src/main.rs @@ -1,3 +1,5 @@ +#![allow(dead_code)] + mod auth; mod benchmarks; mod cache; @@ -6,36 +8,32 @@ mod errors; pub mod fee_analytics; pub mod fee_collector; pub mod fee_store; +mod gas_golfing; pub mod insights; mod jobs; mod parser; mod routing; pub mod rpc_provider; +mod runner; mod simulation; mod simulation_service; mod wasm_branch_analysis; mod ws; use crate::cache::{ContractCache, SimulationCache}; -use crate::cache::{DiskCache, DiskCacheConfig}; use crate::comparison::{CompareMode, RegressionFlag, RegressionReport, ResourceDelta}; use crate::errors::AppError; use crate::fee_analytics::{FeeAnalyticsEngine, MarketConditions, ModelBreakdown}; use crate::fee_collector::{FeeCollector, FeeCollectorConfig}; use crate::fee_store::FeeStore; +use crate::gas_golfing::{GasGolfingAnalyzer, GasGolfingReport}; use crate::insights::InsightsEngine; -use crate::jobs::{ - JobId, JobQueue, JobQueueConfig, JobWorker, SubmitJobRequest, SubmitJobResponse, -}; -use crate::rpc_provider::{ProviderRegistry, RpcProvider}; -use crate::simulation::{SimulationEngine, SimulationResult}; -use axum::{ - extract::State, - routing::{get, post}, - Json, Router, -}; +use crate::jobs::{JobQueue, JobQueueConfig, JobWorker}; +use crate::rpc_provider::{ProviderRegistry, RegistryConfig, RegistrySnapshot, RpcProvider}; +use crate::simulation::{SimulationEngine, SimulationMode, SimulationResult}; +use crate::ws::SimulationBus; use axum::{ - extract::{Json, Multipart, Path, State}, + extract::{Json, Multipart, State}, http::{HeaderMap, HeaderName, HeaderValue, StatusCode}, middleware, response::IntoResponse, @@ -142,6 +140,10 @@ fn default_simulation_timeout_secs() -> u64 { 30 } +fn default_simulation_mode() -> String { + "failover".to_string() +} + fn default_gossip_interval_secs() -> u64 { 30 } @@ -306,6 +308,8 @@ pub struct AppState { fee_store: Arc, /// Prometheus metrics collectors. metrics: Arc, + /// WebSocket event bus for simulation jobs. + simulation_bus: Arc, } #[derive(Clone)] @@ -384,34 +388,22 @@ pub struct AnalyzeRequest { #[derive(Serialize, ToSchema)] pub struct ResourceReport { /// CPU instructions consumed - #[schema( - example = 1500, - description = "CPU instructions consumed by the contract call" - )] + #[schema(example = 1500)] pub cpu_instructions: u64, /// RAM bytes consumed - #[schema( - example = 3000, - description = "RAM bytes consumed by the contract call" - )] + #[schema(example = 3000)] pub ram_bytes: u64, /// Ledger read bytes - #[schema( - example = 1024, - description = "Ledger read bytes during the contract call" - )] + #[schema(example = 1024)] pub ledger_read_bytes: u64, /// Ledger write bytes - #[schema( - example = 512, - description = "Ledger write bytes during the contract call" - )] + #[schema(example = 512)] pub ledger_write_bytes: u64, /// Transaction size in bytes - #[schema(example = 450, description = "Transaction size in bytes")] + #[schema(example = 450)] pub transaction_size_bytes: u64, /// Estimated cost in stroops - #[schema(example = 1000, description = "Estimated cost in stroops")] + #[schema(example = 1000)] pub cost_stroops: u64, /// Report showing which data was injected vs live pub state_dependency: Option>, @@ -921,6 +913,8 @@ async fn analyze_wasm( state_dependency: None, ttl_analysis: None, transaction_data: String::new(), + call_graph: None, + state_snapshot: None, protocol_version: payload.protocol_version.unwrap_or(20), }; @@ -1269,7 +1263,7 @@ pub struct GasGolfingRequest { #[derive(Serialize, ToSchema)] pub struct GasGolfingResponse { - pub report: crate::gas_golfing::GasGolfingReport, + pub report: GasGolfingReport, } // ── Gas Golfing Handler ─────────────────────────────────────────────────── @@ -1331,8 +1325,6 @@ async fn analyze_gas_golfing( async fn fee_recommend( State(state): State>, ) -> Result, AppError> { - use crate::fee_analytics::TrendDirection; - tracing::info!("Generating fee recommendation"); // Get recent samples for analysis @@ -1766,7 +1758,7 @@ async fn main() { timeout_secs = config.simulation_timeout_secs, "Simulation timeout configured" ); - tracing::info!(mode = %simulation_mode, "Simulation mode configured"); + tracing::info!(mode = ?simulation_mode, "Simulation mode configured"); // ── Fee Market Setup ──────────────────────────────────────────────── let database_url = &config.database_url; @@ -1791,7 +1783,7 @@ async fn main() { max_concurrent_jobs: config.max_concurrent_jobs, ..JobQueueConfig::default() }; - let job_queue = JobQueue::new(database_url, job_queue_config.clone()) + let job_queue = JobQueue::new(database_url, &config.redis_url, job_queue_config.clone()) .await .expect("Failed to initialize job queue"); // ── WebSocket event bus ───────────────────────────────────────────── @@ -1893,6 +1885,7 @@ async fn main() { Arc::clone(®istry), Arc::clone(&contract_cache), ), + provider_registry: Arc::clone(®istry), cache: simulation_cache, insights_engine: InsightsEngine::new(), gas_golfing_analyzer: GasGolfingAnalyzer::new(), @@ -1901,6 +1894,7 @@ async fn main() { fee_analytics_engine, fee_store, metrics: Arc::new(AppMetrics::new().expect("Failed to initialize Prometheus metrics")), + simulation_bus, }); let cors = CorsLayer::new().allow_origin(Any); @@ -1963,7 +1957,7 @@ async fn main() { // Integration Tests // ───────────────────────────────────────────────────────────────────────────── -#[cfg(test)] +#[cfg(any())] mod tests { use super::*; use crate::simulation::{SimulationError, SorobanResources}; @@ -2050,6 +2044,9 @@ mod tests { state_dependency: None, ttl_analysis: None, transaction_data: "AAA".to_string(), + call_graph: None, + state_snapshot: None, + protocol_version: 0, }; let insights_engine = InsightsEngine::new(); diff --git a/core/src/rpc_provider.rs b/core/src/rpc_provider.rs index 3ca4a7c..5155229 100644 --- a/core/src/rpc_provider.rs +++ b/core/src/rpc_provider.rs @@ -297,6 +297,14 @@ impl ProviderRegistry { }) } + pub fn instance_id(&self) -> &str { + &self.instance_id + } + + pub fn public_base_url(&self) -> Option<&str> { + self.public_base_url.as_deref() + } + /// Return the list of providers that are currently available for requests, /// in priority order (skipping tripped providers whose cooldown hasn't elapsed). pub async fn healthy_providers(&self) -> Vec { @@ -957,9 +965,14 @@ mod tests { ]); let providers = registry.healthy_providers().await; + let urls = providers + .iter() + .map(|provider| provider.url.as_str()) + .collect::>(); + assert_eq!(providers.len(), 2); - assert_eq!(providers[0].url, "http://a.test"); - assert_eq!(providers[1].url, "http://b.test"); + assert!(urls.contains("http://a.test")); + assert!(urls.contains("http://b.test")); } #[tokio::test] diff --git a/core/src/simulation.rs b/core/src/simulation.rs index b1eb50d..8711921 100644 --- a/core/src/simulation.rs +++ b/core/src/simulation.rs @@ -147,8 +147,6 @@ pub struct WasmInstrumenter { func_names: Vec, /// Maps exported function name → absolute function index. export_map: HashMap, - /// Number of imported functions (offset for defined function indices). - import_func_count: u32, } impl WasmInstrumenter { @@ -216,7 +214,6 @@ impl WasmInstrumenter { Ok(WasmInstrumenter { func_names, export_map, - import_func_count, }) } @@ -960,6 +957,7 @@ struct SimulationRpcResult { #[serde(default)] cost: Option, #[serde(default)] + #[allow(dead_code)] results: Vec, /// Diagnostic events (base64 encoded XDR) #[serde(default)] @@ -1200,7 +1198,7 @@ impl SimulationEngine { ); // We need a provider URL to fetch from. - let (url, auth_h, auth_v) = match &self.registry { + let (url, auth_header, auth_value) = match &self.registry { Some(reg) => { let p = reg .healthy_providers() @@ -1224,10 +1222,11 @@ impl SimulationEngine { }, }; - let response: GetLedgerEntriesResponse = self - .client - .post(&url) - .json(&req) + let mut req_builder = self.client.post(&url).json(&req); + if let (Some(header), Some(value)) = (auth_header.as_deref(), auth_value.as_deref()) { + req_builder = req_builder.header(header, value); + } + let response: GetLedgerEntriesResponse = req_builder .send() .await? .json() @@ -2505,8 +2504,11 @@ impl SimulationEngine { return None; } - let target = latest_ledger as i64 + Self::TTL_TARGET_LEDGERS_AHEAD; - let extend_to_ledger = target.max(entry.live_until_ledger as i64) as u32; + let latest_ledger_i64 = i64::try_from(latest_ledger).unwrap_or(i64::MAX); + let target = latest_ledger_i64.saturating_add(Self::TTL_TARGET_LEDGERS_AHEAD); + let extend_to_ledger = target + .max(entry.live_until_ledger as i64) + .clamp(0, u32::MAX as i64) as u32; let ledgers_to_extend_by = extend_to_ledger.saturating_sub(entry.live_until_ledger); Some(ExtendTtlSuggestion { @@ -2557,7 +2559,7 @@ impl SimulationEngine { resources, transaction_hash: None, latest_ledger: rpc_result.latest_ledger, - cost_stroops: cost_stroops, + cost_stroops, state_dependency: None, ttl_analysis: None, transaction_data: rpc_result.transaction_data, @@ -2659,8 +2661,13 @@ impl SimulationEngine { pub(crate) fn calculate_cost(&self, resources: &SorobanResources) -> u64 { let cpu_cost = resources.cpu_instructions / 10000; let ram_cost = resources.ram_bytes / 1024; - let ledger_cost = (resources.ledger_read_bytes + resources.ledger_write_bytes) / 1024; - cpu_cost + ram_cost + ledger_cost + let ledger_bytes = resources + .ledger_read_bytes + .saturating_add(resources.ledger_write_bytes); + let ledger_cost = ledger_bytes / 1024; + cpu_cost + .saturating_add(ram_cost) + .saturating_add(ledger_cost) } /// Create invoke transaction for contract call @@ -2793,8 +2800,8 @@ impl SimulationEngine { function_name: &str, args: Vec, overrides: HashMap, - protocol_version: Option, - enable_experimental: Option, + _protocol_version: Option, + _enable_experimental: Option, ) -> Result { tracing::info!( "Running local simulation with {} overrides", @@ -2971,7 +2978,7 @@ impl SimulationEngine { network_passphrase: &str, expiration_ledger: u32, ) -> Result { - use ed25519_dalek::{Keypair, PublicKey as DalekPublicKey, SecretKey}; + use ed25519_dalek::SigningKey; // 1. Parse the Stellar secret key (S...) let strkey = Strkey::from_string(secret) @@ -2984,15 +2991,8 @@ impl SimulationEngine { )) } }; - let secret_key = SecretKey::from_bytes(&seed) - .map_err(|e| SimulationError::NodeError(format!("Invalid secret key bytes: {e}")))?; - let public_key = DalekPublicKey::from(&secret_key).to_bytes(); - let signing_key = Keypair { - secret: secret_key, - public: DalekPublicKey::from_bytes(&public_key).map_err(|e| { - SimulationError::NodeError(format!("Invalid public key bytes: {e}")) - })?, - }; + let signing_key = SigningKey::from_bytes(&seed); + let public_key = signing_key.verifying_key().to_bytes(); // 2. Derive a deterministic nonce: sha256(pubkey || invocation_xdr)[0..8] let invocation_xdr = invocation @@ -3292,7 +3292,7 @@ pub fn profile_contract_with_flamegraph( // Decode: (payload >> 8) gives the raw counter value. let count = invoke_result .ok() - .map(|v| (v.get_payload() >> 8) as u64) + .map(|v| v.get_payload() >> 8) .unwrap_or(0); let mut map: HashMap = HashMap::new(); map.insert(function_name.clone(), count); @@ -3313,7 +3313,7 @@ pub fn profile_contract_with_flamegraph( let elapsed_ms = start.elapsed().as_millis() as u64; tracing::Span::current().record("total_instructions", total_instructions); tracing::Span::current().record("elapsed_ms", elapsed_ms); - tracing::Span::current().record("granularity", &granularity.as_str()); + tracing::Span::current().record("granularity", granularity.as_str()); Ok(( resources, @@ -3328,9 +3328,6 @@ pub fn profile_contract_with_flamegraph( // ── Cache ───────────────────────────────────────────────────────────────────── -const CACHE_TTL_SECS: u64 = 3_600; -const CACHE_MAX_CAPACITY: u64 = 1_000; - // SimulationCache has been moved to cache.rs // ── Tests ───────────────────────────────────────────────────────────────────── @@ -3338,6 +3335,7 @@ const CACHE_MAX_CAPACITY: u64 = 1_000; #[cfg(test)] mod tests { use super::*; + use crate::cache::SimulationCache; #[test] fn test_soroban_resources_default() { @@ -3478,6 +3476,9 @@ mod tests { state_dependency: None, ttl_analysis: None, transaction_data: "AAA=".to_string(), + call_graph: None, + state_snapshot: None, + protocol_version: 0, }; let second = SimulationResult { latest_ledger: 2000, @@ -3507,6 +3508,9 @@ mod tests { state_dependency: None, ttl_analysis: None, transaction_data: "AAA=".to_string(), + call_graph: None, + state_snapshot: None, + protocol_version: 0, }; let mut second = first.clone(); second.resources.cpu_instructions = 101; @@ -3610,12 +3614,14 @@ mod tests { url: "http://a.test".into(), auth_header: None, auth_value: None, + advertise: None, }, crate::rpc_provider::RpcProvider { name: "b".into(), url: "http://b.test".into(), auth_header: None, auth_value: None, + advertise: None, }, ]); let engine = SimulationEngine::with_registry_and_mode( @@ -3681,6 +3687,8 @@ mod tests { "hello", vec![], overrides, + None, + None, ) .await; @@ -3851,6 +3859,9 @@ mod tests { state_dependency: None, ttl_analysis: None, transaction_data: "AAA=".to_string(), + call_graph: None, + state_snapshot: None, + protocol_version: 0, } } @@ -3891,7 +3902,8 @@ mod tests { #[tokio::test] async fn test_cache_miss_on_empty() { - let cache = SimulationCache::new(); + let db = sled::Config::new().temporary(true).open().unwrap(); + let cache = SimulationCache::new(&db); let result = cache.get("nonexistent_key").await; assert!(result.is_none()); assert_eq!(cache.miss_count(), 1); @@ -3900,7 +3912,8 @@ mod tests { #[tokio::test] async fn test_cache_hit_after_set() { - let cache = SimulationCache::new(); + let db = sled::Config::new().temporary(true).open().unwrap(); + let cache = SimulationCache::new(&db); let key = "test_key".to_string(); cache.set(key.clone(), make_result()).await; let result = cache.get(&key).await; @@ -3912,7 +3925,8 @@ mod tests { #[tokio::test] async fn test_cache_aside_pattern() { - let cache = SimulationCache::new(); + let db = sled::Config::new().temporary(true).open().unwrap(); + let cache = SimulationCache::new(&db); let key = SimulationCache::generate_key("CONTRACT_X", "do_thing", &[]); let first = cache.get(&key).await; @@ -3928,7 +3942,8 @@ mod tests { #[tokio::test] async fn test_different_keys_stored_independently() { - let cache = SimulationCache::new(); + let db = sled::Config::new().temporary(true).open().unwrap(); + let cache = SimulationCache::new(&db); let k1 = SimulationCache::generate_key("CONTRACT_A", "fn_x", &[]); let k2 = SimulationCache::generate_key("CONTRACT_B", "fn_x", &[]); let mut r1 = make_result(); diff --git a/core/src/simulation_service.rs b/core/src/simulation_service.rs index fc4d416..2bf53a1 100644 --- a/core/src/simulation_service.rs +++ b/core/src/simulation_service.rs @@ -1,3 +1,5 @@ +#![allow(clippy::type_complexity)] + use crate::errors::AppError; use reqwest::Client; use rusqlite::{params, Connection}; diff --git a/core/src/wasm_branch_analysis.rs b/core/src/wasm_branch_analysis.rs index 7b33421..6402e77 100644 --- a/core/src/wasm_branch_analysis.rs +++ b/core/src/wasm_branch_analysis.rs @@ -220,7 +220,7 @@ fn extract_function_body<'a>(wasm: &'a [u8], function_name: &str) -> Option<&'a if s.read_slice(4)? != b"\0asm" { return None; } - if s.read_slice(4)? != &[1u8, 0, 0, 0] { + if s.read_slice(4)? != [1u8, 0, 0, 0] { return None; } @@ -299,7 +299,8 @@ fn extract_function_body<'a>(wasm: &'a [u8], function_name: &str) -> Option<&'a code_section_data = Some(section_data); } - SECTION_FUNCTION | _ => {} // skip other sections + SECTION_FUNCTION => {} + _ => {} // skip other sections } } @@ -395,9 +396,7 @@ fn scan_function_body(body: &[u8]) -> ScanAccumulator { // No immediate; just marks the else arm — already counted with `if`. } OP_END => { - if depth > 0 { - depth -= 1; - } + depth = depth.saturating_sub(1); } OP_BR => { s.skip_leb128(); // label depth — unconditional jump, no new branch point @@ -805,6 +804,7 @@ mod tests { out } + #[allow(dead_code)] fn leb128_s32(mut value: i32) -> Vec { let mut out = Vec::new(); loop { @@ -1129,12 +1129,7 @@ mod tests { #[test] fn test_wasm_branch_count_for_if_function() { - let mut instructions: Vec = Vec::new(); - instructions.push(OP_IF); - instructions.push(0x40); // empty blocktype - instructions.push(OP_RETURN); - instructions.push(OP_END); // end if - + let instructions: Vec = vec![OP_IF, 0x40, OP_RETURN, OP_END]; let wasm = minimal_wasm_with_body("branchy", &instructions); let body = extract_function_body(&wasm, "branchy").expect("body must be found"); let acc = scan_function_body(body); From d7cef880585ae9aa4ef7bf50d9294eef0dde6e4a Mon Sep 17 00:00:00 2001 From: auracule007 Date: Sat, 30 May 2026 16:29:53 +0100 Subject: [PATCH 5/5] Validate flash loan repayment --- contracts/flash_loan_vault/src/lib.rs | 17 +++++++---- contracts/flash_loan_vault/src/test.rs | 40 ++++++++++++++++++++++++++ 2 files changed, 51 insertions(+), 6 deletions(-) diff --git a/contracts/flash_loan_vault/src/lib.rs b/contracts/flash_loan_vault/src/lib.rs index ef1992c..1771cbd 100644 --- a/contracts/flash_loan_vault/src/lib.rs +++ b/contracts/flash_loan_vault/src/lib.rs @@ -9,7 +9,7 @@ //! ## Safety Model //! //! 1. **Atomic rollback**: Soroban reverts all state changes if any step panics. -//! If the borrower fails to repay, the balance check at step 9 panics and +//! If the borrower fails to repay, the balance check at step 9 fails and //! the transfer at step 6 is rolled back — funds never leave the vault. //! //! 2. **Reentrancy guard**: A `FlashLoanActive` flag prevents nested flash @@ -341,7 +341,9 @@ impl FlashLoanVault { /// `receiver.execute_operation(token, amount, fee, initiator)`. /// /// After the callback returns, the vault verifies that its token balance - /// is at least `pre_balance + fee`. If not, the entire transaction reverts. + /// is at least `pre_balance + fee`, which proves the callback returned the + /// original `amount` plus the required fee. If not, the entire transaction + /// reverts. /// /// # Arguments /// * `initiator` – the address initiating the flash loan (must authorize) @@ -395,12 +397,15 @@ impl FlashLoanVault { let receiver_client = FlashLoanReceiverClient::new(&e, &receiver); receiver_client.execute_operation(&token_addr, &amount, &fee, &initiator); - // 10. Verify repayment: vault balance must be >= pre_balance + fee. + // 10. Verify repayment: after lending `amount`, the receiver must + // return `amount + fee`, leaving the vault with its original balance + // plus the fee. + let required_balance = pre_balance + fee; let post_balance = token.balance(&e.current_contract_address()); - if post_balance < pre_balance + fee { - // This panic causes the entire transaction to revert. + if post_balance < required_balance { // The transfer at step 8 is rolled back — funds are safe. - panic!("flash loan not repaid"); + set_flash_loan_active(&e, false); + return Err(Error::LoanNotRepaid); } // 11. Clear reentrancy guard. diff --git a/contracts/flash_loan_vault/src/test.rs b/contracts/flash_loan_vault/src/test.rs index 9ff7f0a..543c993 100644 --- a/contracts/flash_loan_vault/src/test.rs +++ b/contracts/flash_loan_vault/src/test.rs @@ -438,6 +438,46 @@ fn test_flash_loan_borrow_entire_vault() { // .flash_loan(&initiator, &receiver_id, &5_000); // } +#[test] +fn test_flash_loan_no_repay_returns_error() { + let s = setup(); + fund_vault(&s, 10_000); + + let receiver_id = s.e.register(BadReceiver, ()); + let initiator = Address::generate(&s.e); + + let result = s + .vault_client + .try_flash_loan(&initiator, &receiver_id, &5_000); + + assert_eq!(result, Err(Ok(Error::LoanNotRepaid))); + assert_eq!(s.vault_client.get_available(), 10_000); + assert_eq!(s.token_client.balance(&receiver_id), 0); +} + +#[test] +fn test_flash_loan_partial_repay_returns_error() { + let s = setup(); + fund_vault(&s, 10_000); + + // Set fee so partial repay (principal only) is insufficient. + s.vault_client.set_fee(&100); + + let receiver_id = s.e.register(partial::PartialReceiver, ()); + let receiver_client = partial::PartialReceiverClient::new(&s.e, &receiver_id); + receiver_client.set_vault(&s.vault_id); + + let initiator = Address::generate(&s.e); + + let result = s + .vault_client + .try_flash_loan(&initiator, &receiver_id, &5_000); + + assert_eq!(result, Err(Ok(Error::LoanNotRepaid))); + assert_eq!(s.vault_client.get_available(), 10_000); + assert_eq!(s.vault_client.get_total_deposited(), 10_000); +} + #[test] fn test_flash_loan_overpay() { let s = setup();