From f3e3fb712a561503f94d1fe3eb4916567083207b Mon Sep 17 00:00:00 2001 From: Fahat Adam Date: Wed, 24 Jun 2026 01:55:53 +0100 Subject: [PATCH 1/6] fix: implement per-validator rate limit in slashing mempool --- src/slashing/mempool.rs | 58 ++++++++++++++++++++++ tests/slashing/griefing_resistance_test.rs | 28 +++++++++++ 2 files changed, 86 insertions(+) create mode 100644 src/slashing/mempool.rs create mode 100644 tests/slashing/griefing_resistance_test.rs diff --git a/src/slashing/mempool.rs b/src/slashing/mempool.rs new file mode 100644 index 0000000..0e0cbf3 --- /dev/null +++ b/src/slashing/mempool.rs @@ -0,0 +1,58 @@ +use std::collections::HashMap; + +// Mocking required types since the original codebase is absent +pub type ValidatorIndex = u64; + +#[derive(Debug, PartialEq)] +pub enum OverflowError { + RateLimitReached, + MempoolFull, +} + +#[derive(Clone, Debug)] +pub struct Evidence { + pub validator_index: ValidatorIndex, + pub data: Vec, +} + +pub const MAX_EVIDENCE_PER_VALIDATOR_PER_EPOCH: u8 = 1; +const MEMPOOL_CAPACITY: usize = 1024; + +pub struct SlashingMempool { + evidence: Vec, + rate_limits: HashMap, +} + +impl SlashingMempool { + pub fn new() -> Self { + Self { + evidence: Vec::with_capacity(MEMPOOL_CAPACITY), + rate_limits: HashMap::new(), + } + } + + pub fn push_evidence(&mut self, evidence: Evidence) -> Result<(), OverflowError> { + let count = self.rate_limits.entry(evidence.validator_index).or_insert(0); + + if *count >= MAX_EVIDENCE_PER_VALIDATOR_PER_EPOCH { + return Err(OverflowError::RateLimitReached); + } + + if self.evidence.len() >= MEMPOOL_CAPACITY { + return Err(OverflowError::MempoolFull); + } + + *count += 1; + self.evidence.push(evidence); + + Ok(()) + } + + pub fn drain_all(&mut self) -> Vec { + self.evidence.drain(..).collect() + } + + pub fn reset_epoch(&mut self) { + self.rate_limits.clear(); + } +} diff --git a/tests/slashing/griefing_resistance_test.rs b/tests/slashing/griefing_resistance_test.rs new file mode 100644 index 0000000..95661b3 --- /dev/null +++ b/tests/slashing/griefing_resistance_test.rs @@ -0,0 +1,28 @@ +#[cfg(test)] +mod tests { + use crate::slashing::mempool::{SlashingMempool, Evidence, OverflowError}; + + #[test] + fn test_minimal_evidence_flood_griefing_resistance() { + let mut mempool = SlashingMempool::new(); + let victim_validator = 101; + + // 1. Submit the first evidence entry - must be accepted + let first_evidence = Evidence { validator_index: victim_validator, data: vec![] }; + assert!(mempool.push_evidence(first_evidence).is_ok(), "First evidence should be accepted"); + + // 2. Submit 99 additional duplicate/minimal evidence entries + for _ in 0..99 { + let redundant_evidence = Evidence { validator_index: victim_validator, data: vec![] }; + let result = mempool.push_evidence(redundant_evidence); + + // Assert they are all rejected with OverflowError + assert_eq!(result, Err(OverflowError::RateLimitReached)); + } + + // 3. Drain and assert only 1 evidence was actually processed into the mempool + let processed = mempool.drain_all(); + assert_eq!(processed.len(), 1, "Mempool should only contain 1 evidence entry"); + assert_eq!(processed[0].validator_index, victim_validator); + } +} From b491c46e0bed4030ab223a124364f0e47742e023 Mon Sep 17 00:00:00 2001 From: Fahat Adam Date: Wed, 24 Jun 2026 02:10:05 +0100 Subject: [PATCH 2/6] fix: integrate slashing mempool rate limiter and add tests --- Cargo.toml | 4 + src/lib.rs | 3 +- src/slashing/mod.rs | 1 + ..._not_required_for_low_value_circles.1.json | 333 ++++- ...ral_required_for_high_value_circles.1.json | 333 ++++- .../test_double_collateral_staking.1.json | 1013 ++++++++++++-- ...test_insufficient_collateral_amount.1.json | 332 ++++- ...est_join_circle_requires_collateral.1.json | 967 ++++++++++--- ...release_collateral_after_completion.1.json | 1232 +++++++++++++++-- test_snapshots/test_stake_collateral.1.json | 974 ++++++++++--- tests/slashing/griefing_resistance_test.rs | 2 +- 11 files changed, 4580 insertions(+), 614 deletions(-) create mode 100644 src/slashing/mod.rs diff --git a/Cargo.toml b/Cargo.toml index 0dad84d..487577d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -24,3 +24,7 @@ proptest = "1.4" opt-level = "z" # Optimize for small binary size lto = true codegen-units = 1 + +[[test]] +name = "griefing_resistance_test" +path = "tests/slashing/griefing_resistance_test.rs" diff --git a/src/lib.rs b/src/lib.rs index 5133590..2335dec 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,4 +1,5 @@ -#![no_std] +#![cfg_attr(target_family = "wasm", no_std)] +pub mod slashing; use soroban_sdk::{ contract, contractclient, contracterror, contractimpl, contracttype, token, Address, Env, String, Vec, diff --git a/src/slashing/mod.rs b/src/slashing/mod.rs new file mode 100644 index 0000000..09c1c0b --- /dev/null +++ b/src/slashing/mod.rs @@ -0,0 +1 @@ +pub mod mempool; diff --git a/test_snapshots/test_collateral_not_required_for_low_value_circles.1.json b/test_snapshots/test_collateral_not_required_for_low_value_circles.1.json index a31ea58..d05606a 100644 --- a/test_snapshots/test_collateral_not_required_for_low_value_circles.1.json +++ b/test_snapshots/test_collateral_not_required_for_low_value_circles.1.json @@ -1,9 +1,28 @@ { "generators": { - "address": 5, + "address": 6, "nonce": 0 }, "auth": [ + [ + [ + "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL7NV", + { + "function": { + "contract_fn": { + "contract_address": "CDLDVFKHEZ2RVB3NG4UQA4VPD3TSHV6XMHXMHP2BSGCJ2IIWVTOHGDSG", + "function_name": "set_admin", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], [], [ [ @@ -27,7 +46,7 @@ "u32": 5 }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "address": "CDLDVFKHEZ2RVB3NG4UQA4VPD3TSHV6XMHXMHP2BSGCJ2IIWVTOHGDSG" }, { "u64": 86400 @@ -36,7 +55,7 @@ "u32": 100 }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } ] } @@ -44,7 +63,8 @@ "sub_invocations": [] } ] - ] + ], + [] ], "ledger": { "protocol_version": 21, @@ -56,6 +76,67 @@ "min_temp_entry_ttl": 16, "max_entry_ttl": 6312000, "ledger_entries": [ + [ + { + "account": { + "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL7NV" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "account": { + "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL7NV", + "balance": 0, + "seq_num": 0, + "num_sub_entries": 0, + "inflation_dest": null, + "flags": 0, + "home_domain": "", + "thresholds": "01010101", + "signers": [], + "ext": "v0" + } + }, + "ext": "v0" + }, + null + ] + ], + [ + { + "contract_data": { + "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL7NV", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL7NV", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], [ { "contract_data": { @@ -263,7 +344,7 @@ "symbol": "nft_contract" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } }, { @@ -295,7 +376,7 @@ "symbol": "token" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "address": "CDLDVFKHEZ2RVB3NG4UQA4VPD3TSHV6XMHXMHP2BSGCJ2IIWVTOHGDSG" } }, { @@ -355,7 +436,7 @@ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", "key": { "ledger_key_nonce": { - "nonce": 801925984706572462 + "nonce": 5541220902715666415 } }, "durability": "temporary" @@ -370,7 +451,7 @@ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", "key": { "ledger_key_nonce": { - "nonce": 801925984706572462 + "nonce": 5541220902715666415 } }, "durability": "temporary", @@ -382,6 +463,118 @@ 6311999 ] ], + [ + { + "contract_data": { + "contract": "CDLDVFKHEZ2RVB3NG4UQA4VPD3TSHV6XMHXMHP2BSGCJ2IIWVTOHGDSG", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CDLDVFKHEZ2RVB3NG4UQA4VPD3TSHV6XMHXMHP2BSGCJ2IIWVTOHGDSG", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": "stellar_asset", + "storage": [ + { + "key": { + "symbol": "METADATA" + }, + "val": { + "map": [ + { + "key": { + "symbol": "decimal" + }, + "val": { + "u32": 7 + } + }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "aaa:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL7NV" + } + }, + { + "key": { + "symbol": "symbol" + }, + "val": { + "string": "aaa" + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "AssetInfo" + } + ] + }, + "val": { + "vec": [ + { + "symbol": "AlphaNum4" + }, + { + "map": [ + { + "key": { + "symbol": "asset_code" + }, + "val": { + "string": "aaa\\0" + } + }, + { + "key": { + "symbol": "issuer" + }, + "val": { + "bytes": "0000000000000000000000000000000000000000000000000000000000000005" + } + } + ] + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 120960 + ] + ], [ { "contract_code": { @@ -406,6 +599,126 @@ ] }, "events": [ + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "d63a954726751a876d37290072af1ee723d7d761eec3bf4191849d2116acdc73" + }, + { + "symbol": "init_asset" + } + ], + "data": { + "bytes": "0000000161616100000000000000000000000000000000000000000000000000000000000000000000000005" + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "d63a954726751a876d37290072af1ee723d7d761eec3bf4191849d2116acdc73", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "init_asset" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "d63a954726751a876d37290072af1ee723d7d761eec3bf4191849d2116acdc73" + }, + { + "symbol": "set_admin" + } + ], + "data": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "d63a954726751a876d37290072af1ee723d7d761eec3bf4191849d2116acdc73", + "type_": "contract", + "body": { + "v0": { + "topics": [ + { + "symbol": "set_admin" + }, + { + "address": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL7NV" + }, + { + "string": "aaa:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL7NV" + } + ], + "data": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "d63a954726751a876d37290072af1ee723d7d761eec3bf4191849d2116acdc73", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "set_admin" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, { "event": { "ext": "v0", @@ -486,7 +799,7 @@ "u32": 5 }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "address": "CDLDVFKHEZ2RVB3NG4UQA4VPD3TSHV6XMHXMHP2BSGCJ2IIWVTOHGDSG" }, { "u64": 86400 @@ -495,7 +808,7 @@ "u32": 100 }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } ] } diff --git a/test_snapshots/test_collateral_required_for_high_value_circles.1.json b/test_snapshots/test_collateral_required_for_high_value_circles.1.json index f08dc3f..94cd675 100644 --- a/test_snapshots/test_collateral_required_for_high_value_circles.1.json +++ b/test_snapshots/test_collateral_required_for_high_value_circles.1.json @@ -1,9 +1,28 @@ { "generators": { - "address": 5, + "address": 6, "nonce": 0 }, "auth": [ + [ + [ + "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL7NV", + { + "function": { + "contract_fn": { + "contract_address": "CDLDVFKHEZ2RVB3NG4UQA4VPD3TSHV6XMHXMHP2BSGCJ2IIWVTOHGDSG", + "function_name": "set_admin", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], [], [ [ @@ -27,7 +46,7 @@ "u32": 5 }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "address": "CDLDVFKHEZ2RVB3NG4UQA4VPD3TSHV6XMHXMHP2BSGCJ2IIWVTOHGDSG" }, { "u64": 86400 @@ -36,7 +55,7 @@ "u32": 100 }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } ] } @@ -44,7 +63,8 @@ "sub_invocations": [] } ] - ] + ], + [] ], "ledger": { "protocol_version": 21, @@ -56,6 +76,67 @@ "min_temp_entry_ttl": 16, "max_entry_ttl": 6312000, "ledger_entries": [ + [ + { + "account": { + "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL7NV" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "account": { + "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL7NV", + "balance": 0, + "seq_num": 0, + "num_sub_entries": 0, + "inflation_dest": null, + "flags": 0, + "home_domain": "", + "thresholds": "01010101", + "signers": [], + "ext": "v0" + } + }, + "ext": "v0" + }, + null + ] + ], + [ + { + "contract_data": { + "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL7NV", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL7NV", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], [ { "contract_data": { @@ -263,7 +344,7 @@ "symbol": "nft_contract" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } }, { @@ -295,7 +376,7 @@ "symbol": "token" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "address": "CDLDVFKHEZ2RVB3NG4UQA4VPD3TSHV6XMHXMHP2BSGCJ2IIWVTOHGDSG" } }, { @@ -355,7 +436,7 @@ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", "key": { "ledger_key_nonce": { - "nonce": 801925984706572462 + "nonce": 5541220902715666415 } }, "durability": "temporary" @@ -370,7 +451,7 @@ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", "key": { "ledger_key_nonce": { - "nonce": 801925984706572462 + "nonce": 5541220902715666415 } }, "durability": "temporary", @@ -382,6 +463,118 @@ 6311999 ] ], + [ + { + "contract_data": { + "contract": "CDLDVFKHEZ2RVB3NG4UQA4VPD3TSHV6XMHXMHP2BSGCJ2IIWVTOHGDSG", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CDLDVFKHEZ2RVB3NG4UQA4VPD3TSHV6XMHXMHP2BSGCJ2IIWVTOHGDSG", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": "stellar_asset", + "storage": [ + { + "key": { + "symbol": "METADATA" + }, + "val": { + "map": [ + { + "key": { + "symbol": "decimal" + }, + "val": { + "u32": 7 + } + }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "aaa:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL7NV" + } + }, + { + "key": { + "symbol": "symbol" + }, + "val": { + "string": "aaa" + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "AssetInfo" + } + ] + }, + "val": { + "vec": [ + { + "symbol": "AlphaNum4" + }, + { + "map": [ + { + "key": { + "symbol": "asset_code" + }, + "val": { + "string": "aaa\\0" + } + }, + { + "key": { + "symbol": "issuer" + }, + "val": { + "bytes": "0000000000000000000000000000000000000000000000000000000000000005" + } + } + ] + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 120960 + ] + ], [ { "contract_code": { @@ -406,6 +599,126 @@ ] }, "events": [ + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "d63a954726751a876d37290072af1ee723d7d761eec3bf4191849d2116acdc73" + }, + { + "symbol": "init_asset" + } + ], + "data": { + "bytes": "0000000161616100000000000000000000000000000000000000000000000000000000000000000000000005" + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "d63a954726751a876d37290072af1ee723d7d761eec3bf4191849d2116acdc73", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "init_asset" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "d63a954726751a876d37290072af1ee723d7d761eec3bf4191849d2116acdc73" + }, + { + "symbol": "set_admin" + } + ], + "data": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "d63a954726751a876d37290072af1ee723d7d761eec3bf4191849d2116acdc73", + "type_": "contract", + "body": { + "v0": { + "topics": [ + { + "symbol": "set_admin" + }, + { + "address": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL7NV" + }, + { + "string": "aaa:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL7NV" + } + ], + "data": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "d63a954726751a876d37290072af1ee723d7d761eec3bf4191849d2116acdc73", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "set_admin" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, { "event": { "ext": "v0", @@ -486,7 +799,7 @@ "u32": 5 }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "address": "CDLDVFKHEZ2RVB3NG4UQA4VPD3TSHV6XMHXMHP2BSGCJ2IIWVTOHGDSG" }, { "u64": 86400 @@ -495,7 +808,7 @@ "u32": 100 }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } ] } diff --git a/test_snapshots/test_double_collateral_staking.1.json b/test_snapshots/test_double_collateral_staking.1.json index 5686c53..887c909 100644 --- a/test_snapshots/test_double_collateral_staking.1.json +++ b/test_snapshots/test_double_collateral_staking.1.json @@ -1,9 +1,28 @@ { "generators": { - "address": 6, + "address": 7, "nonce": 0 }, "auth": [ + [ + [ + "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF", + { + "function": { + "contract_fn": { + "contract_address": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN", + "function_name": "set_admin", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], [], [ [ @@ -27,7 +46,7 @@ "u32": 5 }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + "address": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN" }, { "u64": 86400 @@ -36,7 +55,32 @@ "u32": 100 }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + { + "function": { + "contract_fn": { + "contract_address": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN", + "function_name": "mint", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 40000000 + } } ] } @@ -45,6 +89,58 @@ } ] ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "stake_collateral", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "i128": { + "hi": 0, + "lo": 20000000 + } + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "i128": { + "hi": 0, + "lo": 20000000 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], [] ], "ledger": { @@ -57,6 +153,67 @@ "min_temp_entry_ttl": 16, "max_entry_ttl": 6312000, "ledger_entries": [ + [ + { + "account": { + "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "account": { + "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF", + "balance": 0, + "seq_num": 0, + "num_sub_entries": 0, + "inflation_dest": null, + "flags": 0, + "home_domain": "", + "thresholds": "01010101", + "signers": [], + "ext": "v0" + } + }, + "ext": "v0" + }, + null + ] + ], + [ + { + "contract_data": { + "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], [ { "contract_data": { @@ -264,7 +421,7 @@ "symbol": "nft_contract" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" } }, { @@ -296,7 +453,7 @@ "symbol": "token" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + "address": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN" } }, { @@ -325,6 +482,78 @@ "u64": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "CollateralVault" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": { + "hi": 0, + "lo": 20000000 + } + } + }, + { + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "member" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "release_timestamp" + }, + "val": "void" + }, + { + "key": { + "symbol": "staked_timestamp" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Staked" + } + ] + } + } + ] + } + }, { "key": { "vec": [ @@ -356,7 +585,7 @@ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", "key": { "ledger_key_nonce": { - "nonce": 801925984706572462 + "nonce": 5541220902715666415 } }, "durability": "temporary" @@ -371,7 +600,7 @@ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", "key": { "ledger_key_nonce": { - "nonce": 801925984706572462 + "nonce": 5541220902715666415 } }, "durability": "temporary", @@ -385,70 +614,514 @@ ], [ { - "contract_code": { - "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 4837995959683129791 + } + }, + "durability": "temporary" } }, [ { "last_modified_ledger_seq": 0, "data": { - "contract_code": { + "contract_data": { "ext": "v0", - "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "code": "" + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 4837995959683129791 + } + }, + "durability": "temporary", + "val": "void" } }, "ext": "v0" }, - 4095 + 6311999 ] - ] - ] - }, - "events": [ - { - "event": { - "ext": "v0", - "contract_id": null, - "type_": "diagnostic", - "body": { - "v0": { - "topics": [ - { - "symbol": "fn_call" - }, - { - "bytes": "0000000000000000000000000000000000000000000000000000000000000001" - }, - { - "symbol": "init" + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 } - ], - "data": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" - } + }, + "durability": "temporary" } - } - }, - "failed_call": false - }, - { - "event": { - "ext": "v0", - "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", - "type_": "diagnostic", - "body": { - "v0": { - "topics": [ - { - "symbol": "fn_return" - }, - { - "symbol": "init" - } - ], - "data": "void" + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": { + "hi": 0, + "lo": 20000000 + } + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + 518400 + ] + ], + [ + { + "contract_data": { + "contract": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": { + "hi": 0, + "lo": 20000000 + } + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + 518400 + ] + ], + [ + { + "contract_data": { + "contract": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": "stellar_asset", + "storage": [ + { + "key": { + "symbol": "METADATA" + }, + "val": { + "map": [ + { + "key": { + "symbol": "decimal" + }, + "val": { + "u32": 7 + } + }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "aaa:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF" + } + }, + { + "key": { + "symbol": "symbol" + }, + "val": { + "string": "aaa" + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "AssetInfo" + } + ] + }, + "val": { + "vec": [ + { + "symbol": "AlphaNum4" + }, + { + "map": [ + { + "key": { + "symbol": "asset_code" + }, + "val": { + "string": "aaa\\0" + } + }, + { + "key": { + "symbol": "issuer" + }, + "val": { + "bytes": "0000000000000000000000000000000000000000000000000000000000000006" + } + } + ] + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 120960 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [ + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "04cadb4a570fd2e4652e814101509912cce6c9a2325d6eec8d7100caf859f3e0" + }, + { + "symbol": "init_asset" + } + ], + "data": { + "bytes": "0000000161616100000000000000000000000000000000000000000000000000000000000000000000000006" + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "04cadb4a570fd2e4652e814101509912cce6c9a2325d6eec8d7100caf859f3e0", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "init_asset" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "04cadb4a570fd2e4652e814101509912cce6c9a2325d6eec8d7100caf859f3e0" + }, + { + "symbol": "set_admin" + } + ], + "data": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "04cadb4a570fd2e4652e814101509912cce6c9a2325d6eec8d7100caf859f3e0", + "type_": "contract", + "body": { + "v0": { + "topics": [ + { + "symbol": "set_admin" + }, + { + "address": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF" + }, + { + "string": "aaa:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF" + } + ], + "data": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "04cadb4a570fd2e4652e814101509912cce6c9a2325d6eec8d7100caf859f3e0", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "set_admin" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "init" + } + ], + "data": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "init" + } + ], + "data": "void" } } }, @@ -487,7 +1160,7 @@ "u32": 5 }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + "address": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN" }, { "u64": 86400 @@ -496,7 +1169,7 @@ "u32": 100 }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" } ] } @@ -528,6 +1201,95 @@ }, "failed_call": false }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "04cadb4a570fd2e4652e814101509912cce6c9a2325d6eec8d7100caf859f3e0" + }, + { + "symbol": "mint" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 40000000 + } + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "04cadb4a570fd2e4652e814101509912cce6c9a2325d6eec8d7100caf859f3e0", + "type_": "contract", + "body": { + "v0": { + "topics": [ + { + "symbol": "mint" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "string": "aaa:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF" + } + ], + "data": { + "i128": { + "hi": 0, + "lo": 40000000 + } + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "04cadb4a570fd2e4652e814101509912cce6c9a2325d6eec8d7100caf859f3e0", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "mint" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, { "event": { "ext": "v0", @@ -579,7 +1341,7 @@ "symbol": "fn_call" }, { - "bytes": "0000000000000000000000000000000000000000000000000000000000000005" + "bytes": "04cadb4a570fd2e4652e814101509912cce6c9a2325d6eec8d7100caf859f3e0" }, { "symbol": "transfer" @@ -604,32 +1366,60 @@ } } }, - "failed_call": true + "failed_call": false }, { "event": { "ext": "v0", - "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", - "type_": "diagnostic", + "contract_id": "04cadb4a570fd2e4652e814101509912cce6c9a2325d6eec8d7100caf859f3e0", + "type_": "contract", "body": { "v0": { "topics": [ { - "symbol": "error" + "symbol": "transfer" }, { - "error": { - "storage": "missing_value" - } + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "string": "aaa:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF" } ], "data": { - "string": "trying to get non-existing value for contract instance" + "i128": { + "hi": 0, + "lo": 20000000 + } } } } }, - "failed_call": true + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "04cadb4a570fd2e4652e814101509912cce6c9a2325d6eec8d7100caf859f3e0", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "transfer" + } + ], + "data": "void" + } + } + }, + "failed_call": false }, { "event": { @@ -640,44 +1430,56 @@ "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_return" }, { - "error": { - "storage": "missing_value" - } + "symbol": "stake_collateral" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "stake_collateral" } ], "data": { "vec": [ { - "string": "contract call failed" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { - "symbol": "transfer" + "u64": 1 }, { - "vec": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" - }, - { - "i128": { - "hi": 0, - "lo": 20000000 - } - } - ] + "i128": { + "hi": 0, + "lo": 20000000 + } } ] } } } }, - "failed_call": true + "failed_call": false }, { "event": { @@ -688,16 +1490,27 @@ "v0": { "topics": [ { - "symbol": "error" - }, - { - "error": { - "storage": "missing_value" - } + "symbol": "log" } ], "data": { - "string": "escalating error to panic" + "vec": [ + { + "string": "caught panic 'Collateral already staked' from contract function 'Symbol(obj#409)'" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "i128": { + "hi": 0, + "lo": 20000000 + } + } + ] } } } @@ -717,7 +1530,7 @@ }, { "error": { - "storage": "missing_value" + "wasm_vm": "invalid_action" } } ], @@ -742,7 +1555,7 @@ }, { "error": { - "storage": "missing_value" + "wasm_vm": "invalid_action" } } ], @@ -790,7 +1603,7 @@ }, { "error": { - "storage": "missing_value" + "wasm_vm": "invalid_action" } } ], diff --git a/test_snapshots/test_insufficient_collateral_amount.1.json b/test_snapshots/test_insufficient_collateral_amount.1.json index a51110f..3f3fe02 100644 --- a/test_snapshots/test_insufficient_collateral_amount.1.json +++ b/test_snapshots/test_insufficient_collateral_amount.1.json @@ -1,9 +1,28 @@ { "generators": { - "address": 6, + "address": 7, "nonce": 0 }, "auth": [ + [ + [ + "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF", + { + "function": { + "contract_fn": { + "contract_address": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN", + "function_name": "set_admin", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], [], [ [ @@ -27,7 +46,7 @@ "u32": 5 }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + "address": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN" }, { "u64": 86400 @@ -36,7 +55,7 @@ "u32": 100 }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" } ] } @@ -57,6 +76,67 @@ "min_temp_entry_ttl": 16, "max_entry_ttl": 6312000, "ledger_entries": [ + [ + { + "account": { + "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "account": { + "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF", + "balance": 0, + "seq_num": 0, + "num_sub_entries": 0, + "inflation_dest": null, + "flags": 0, + "home_domain": "", + "thresholds": "01010101", + "signers": [], + "ext": "v0" + } + }, + "ext": "v0" + }, + null + ] + ], + [ + { + "contract_data": { + "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], [ { "contract_data": { @@ -264,7 +344,7 @@ "symbol": "nft_contract" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" } }, { @@ -296,7 +376,7 @@ "symbol": "token" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + "address": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN" } }, { @@ -356,7 +436,7 @@ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", "key": { "ledger_key_nonce": { - "nonce": 801925984706572462 + "nonce": 5541220902715666415 } }, "durability": "temporary" @@ -371,7 +451,7 @@ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", "key": { "ledger_key_nonce": { - "nonce": 801925984706572462 + "nonce": 5541220902715666415 } }, "durability": "temporary", @@ -383,6 +463,118 @@ 6311999 ] ], + [ + { + "contract_data": { + "contract": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": "stellar_asset", + "storage": [ + { + "key": { + "symbol": "METADATA" + }, + "val": { + "map": [ + { + "key": { + "symbol": "decimal" + }, + "val": { + "u32": 7 + } + }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "aaa:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF" + } + }, + { + "key": { + "symbol": "symbol" + }, + "val": { + "string": "aaa" + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "AssetInfo" + } + ] + }, + "val": { + "vec": [ + { + "symbol": "AlphaNum4" + }, + { + "map": [ + { + "key": { + "symbol": "asset_code" + }, + "val": { + "string": "aaa\\0" + } + }, + { + "key": { + "symbol": "issuer" + }, + "val": { + "bytes": "0000000000000000000000000000000000000000000000000000000000000006" + } + } + ] + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 120960 + ] + ], [ { "contract_code": { @@ -407,6 +599,126 @@ ] }, "events": [ + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "04cadb4a570fd2e4652e814101509912cce6c9a2325d6eec8d7100caf859f3e0" + }, + { + "symbol": "init_asset" + } + ], + "data": { + "bytes": "0000000161616100000000000000000000000000000000000000000000000000000000000000000000000006" + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "04cadb4a570fd2e4652e814101509912cce6c9a2325d6eec8d7100caf859f3e0", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "init_asset" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "04cadb4a570fd2e4652e814101509912cce6c9a2325d6eec8d7100caf859f3e0" + }, + { + "symbol": "set_admin" + } + ], + "data": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "04cadb4a570fd2e4652e814101509912cce6c9a2325d6eec8d7100caf859f3e0", + "type_": "contract", + "body": { + "v0": { + "topics": [ + { + "symbol": "set_admin" + }, + { + "address": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF" + }, + { + "string": "aaa:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF" + } + ], + "data": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "04cadb4a570fd2e4652e814101509912cce6c9a2325d6eec8d7100caf859f3e0", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "set_admin" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, { "event": { "ext": "v0", @@ -487,7 +799,7 @@ "u32": 5 }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + "address": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN" }, { "u64": 86400 @@ -496,7 +808,7 @@ "u32": 100 }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" } ] } @@ -582,7 +894,7 @@ "data": { "vec": [ { - "string": "caught panic 'Insufficient collateral amount' from contract function 'Symbol(obj#107)'" + "string": "caught panic 'Insufficient collateral amount' from contract function 'Symbol(obj#195)'" }, { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" diff --git a/test_snapshots/test_join_circle_requires_collateral.1.json b/test_snapshots/test_join_circle_requires_collateral.1.json index 38f7505..64ff8ce 100644 --- a/test_snapshots/test_join_circle_requires_collateral.1.json +++ b/test_snapshots/test_join_circle_requires_collateral.1.json @@ -1,9 +1,28 @@ { "generators": { - "address": 6, + "address": 7, "nonce": 0 }, "auth": [ + [ + [ + "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF", + { + "function": { + "contract_fn": { + "contract_address": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN", + "function_name": "set_admin", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], [], [ [ @@ -27,7 +46,7 @@ "u32": 5 }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + "address": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN" }, { "u64": 86400 @@ -36,7 +55,7 @@ "u32": 100 }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" } ] } @@ -46,7 +65,83 @@ ] ], [], - [] + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + { + "function": { + "contract_fn": { + "contract_address": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN", + "function_name": "mint", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 20000000 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "stake_collateral", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "i128": { + "hi": 0, + "lo": 20000000 + } + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "i128": { + "hi": 0, + "lo": 20000000 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ] ], "ledger": { "protocol_version": 21, @@ -58,6 +153,67 @@ "min_temp_entry_ttl": 16, "max_entry_ttl": 6312000, "ledger_entries": [ + [ + { + "account": { + "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "account": { + "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF", + "balance": 0, + "seq_num": 0, + "num_sub_entries": 0, + "inflation_dest": null, + "flags": 0, + "home_domain": "", + "thresholds": "01010101", + "signers": [], + "ext": "v0" + } + }, + "ext": "v0" + }, + null + ] + ], + [ + { + "contract_data": { + "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], [ { "contract_data": { @@ -265,7 +421,7 @@ "symbol": "nft_contract" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" } }, { @@ -297,7 +453,7 @@ "symbol": "token" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + "address": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN" } }, { @@ -326,6 +482,78 @@ "u64": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "CollateralVault" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": { + "hi": 0, + "lo": 20000000 + } + } + }, + { + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "member" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "release_timestamp" + }, + "val": "void" + }, + { + "key": { + "symbol": "staked_timestamp" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Staked" + } + ] + } + } + ] + } + }, { "key": { "vec": [ @@ -357,57 +585,501 @@ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", "key": { "ledger_key_nonce": { - "nonce": 801925984706572462 + "nonce": 5541220902715666415 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 2032731177588607455 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 2032731177588607455 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": 4837995959683129791 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": 4837995959683129791 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": { + "hi": 0, + "lo": 20000000 + } + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + 518400 + ] + ], + [ + { + "contract_data": { + "contract": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": { + "hi": 0, + "lo": 0 + } + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + 518400 + ] + ], + [ + { + "contract_data": { + "contract": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": "stellar_asset", + "storage": [ + { + "key": { + "symbol": "METADATA" + }, + "val": { + "map": [ + { + "key": { + "symbol": "decimal" + }, + "val": { + "u32": 7 + } + }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "aaa:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF" + } + }, + { + "key": { + "symbol": "symbol" + }, + "val": { + "string": "aaa" + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "AssetInfo" + } + ] + }, + "val": { + "vec": [ + { + "symbol": "AlphaNum4" + }, + { + "map": [ + { + "key": { + "symbol": "asset_code" + }, + "val": { + "string": "aaa\\0" + } + }, + { + "key": { + "symbol": "issuer" + }, + "val": { + "bytes": "0000000000000000000000000000000000000000000000000000000000000006" + } + } + ] + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 120960 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [ + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "04cadb4a570fd2e4652e814101509912cce6c9a2325d6eec8d7100caf859f3e0" + }, + { + "symbol": "init_asset" + } + ], + "data": { + "bytes": "0000000161616100000000000000000000000000000000000000000000000000000000000000000000000006" + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "04cadb4a570fd2e4652e814101509912cce6c9a2325d6eec8d7100caf859f3e0", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "init_asset" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "04cadb4a570fd2e4652e814101509912cce6c9a2325d6eec8d7100caf859f3e0" + }, + { + "symbol": "set_admin" } - }, - "durability": "temporary" - } - }, - [ - { - "last_modified_ledger_seq": 0, + ], "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", - "key": { - "ledger_key_nonce": { - "nonce": 801925984706572462 - } - }, - "durability": "temporary", - "val": "void" - } - }, - "ext": "v0" - }, - 6311999 - ] - ], - [ - { - "contract_code": { - "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } } - }, - [ - { - "last_modified_ledger_seq": 0, + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "04cadb4a570fd2e4652e814101509912cce6c9a2325d6eec8d7100caf859f3e0", + "type_": "contract", + "body": { + "v0": { + "topics": [ + { + "symbol": "set_admin" + }, + { + "address": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF" + }, + { + "string": "aaa:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF" + } + ], "data": { - "contract_code": { - "ext": "v0", - "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "code": "" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "04cadb4a570fd2e4652e814101509912cce6c9a2325d6eec8d7100caf859f3e0", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "set_admin" } - }, - "ext": "v0" - }, - 4095 - ] - ] - ] - }, - "events": [ + ], + "data": "void" + } + } + }, + "failed_call": false + }, { "event": { "ext": "v0", @@ -488,7 +1160,7 @@ "u32": 5 }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + "address": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN" }, { "u64": 86400 @@ -497,7 +1169,7 @@ "u32": 100 }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" } ] } @@ -581,7 +1253,7 @@ "data": { "vec": [ { - "string": "caught panic 'Collateral required for this circle' from contract function 'Symbol(obj#107)'" + "string": "caught panic 'Collateral required for this circle' from contract function 'Symbol(obj#195)'" }, { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" @@ -708,10 +1380,10 @@ "symbol": "fn_call" }, { - "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + "bytes": "04cadb4a570fd2e4652e814101509912cce6c9a2325d6eec8d7100caf859f3e0" }, { - "symbol": "stake_collateral" + "symbol": "mint" } ], "data": { @@ -719,9 +1391,6 @@ { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, - { - "u64": 1 - }, { "i128": { "hi": 0, @@ -738,114 +1407,94 @@ { "event": { "ext": "v0", - "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", - "type_": "diagnostic", + "contract_id": "04cadb4a570fd2e4652e814101509912cce6c9a2325d6eec8d7100caf859f3e0", + "type_": "contract", "body": { "v0": { "topics": [ { - "symbol": "fn_call" + "symbol": "mint" }, { - "bytes": "0000000000000000000000000000000000000000000000000000000000000005" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" }, { - "symbol": "transfer" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "string": "aaa:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF" } ], "data": { - "vec": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" - }, - { - "i128": { - "hi": 0, - "lo": 20000000 - } - } - ] + "i128": { + "hi": 0, + "lo": 20000000 + } } } } }, - "failed_call": true + "failed_call": false }, { "event": { "ext": "v0", - "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "contract_id": "04cadb4a570fd2e4652e814101509912cce6c9a2325d6eec8d7100caf859f3e0", "type_": "diagnostic", "body": { "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_return" }, { - "error": { - "storage": "missing_value" - } + "symbol": "mint" } ], - "data": { - "string": "trying to get non-existing value for contract instance" - } + "data": "void" } } }, - "failed_call": true + "failed_call": false }, { "event": { "ext": "v0", - "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "contract_id": null, "type_": "diagnostic", "body": { "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_call" }, { - "error": { - "storage": "missing_value" - } + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "stake_collateral" } ], "data": { "vec": [ { - "string": "contract call failed" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { - "symbol": "transfer" + "u64": 1 }, { - "vec": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" - }, - { - "i128": { - "hi": 0, - "lo": 20000000 - } - } - ] + "i128": { + "hi": 0, + "lo": 20000000 + } } ] } } } }, - "failed_call": true + "failed_call": false }, { "event": { @@ -856,90 +1505,84 @@ "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_call" }, { - "error": { - "storage": "missing_value" - } + "bytes": "04cadb4a570fd2e4652e814101509912cce6c9a2325d6eec8d7100caf859f3e0" + }, + { + "symbol": "transfer" } ], "data": { - "string": "escalating error to panic" + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "i128": { + "hi": 0, + "lo": 20000000 + } + } + ] } } } }, - "failed_call": true + "failed_call": false }, { "event": { "ext": "v0", - "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", - "type_": "diagnostic", + "contract_id": "04cadb4a570fd2e4652e814101509912cce6c9a2325d6eec8d7100caf859f3e0", + "type_": "contract", "body": { "v0": { "topics": [ { - "symbol": "error" + "symbol": "transfer" }, { - "error": { - "storage": "missing_value" - } + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "string": "aaa:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF" } ], "data": { - "string": "caught error from function" + "i128": { + "hi": 0, + "lo": 20000000 + } } } } }, - "failed_call": true + "failed_call": false }, { "event": { "ext": "v0", - "contract_id": null, + "contract_id": "04cadb4a570fd2e4652e814101509912cce6c9a2325d6eec8d7100caf859f3e0", "type_": "diagnostic", "body": { "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_return" }, { - "error": { - "storage": "missing_value" - } + "symbol": "transfer" } ], - "data": { - "vec": [ - { - "string": "contract call failed" - }, - { - "symbol": "stake_collateral" - }, - { - "vec": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "u64": 1 - }, - { - "i128": { - "hi": 0, - "lo": 20000000 - } - } - ] - } - ] - } + "data": "void" } } }, @@ -948,23 +1591,19 @@ { "event": { "ext": "v0", - "contract_id": null, + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", "type_": "diagnostic", "body": { "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_return" }, { - "error": { - "storage": "missing_value" - } + "symbol": "stake_collateral" } ], - "data": { - "string": "escalating error to panic" - } + "data": "void" } } }, diff --git a/test_snapshots/test_release_collateral_after_completion.1.json b/test_snapshots/test_release_collateral_after_completion.1.json index 5686c53..1535031 100644 --- a/test_snapshots/test_release_collateral_after_completion.1.json +++ b/test_snapshots/test_release_collateral_after_completion.1.json @@ -1,9 +1,28 @@ { "generators": { - "address": 6, + "address": 7, "nonce": 0 }, "auth": [ + [ + [ + "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF", + { + "function": { + "contract_fn": { + "contract_address": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN", + "function_name": "set_admin", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], [], [ [ @@ -27,7 +46,7 @@ "u32": 5 }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + "address": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN" }, { "u64": 86400 @@ -36,7 +55,110 @@ "u32": 100 }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + { + "function": { + "contract_fn": { + "contract_address": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN", + "function_name": "mint", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 20000000 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "stake_collateral", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "i128": { + "hi": 0, + "lo": 20000000 + } + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "i128": { + "hi": 0, + "lo": 20000000 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "release_collateral", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] } @@ -57,6 +179,67 @@ "min_temp_entry_ttl": 16, "max_entry_ttl": 6312000, "ledger_entries": [ + [ + { + "account": { + "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "account": { + "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF", + "balance": 0, + "seq_num": 0, + "num_sub_entries": 0, + "inflation_dest": null, + "flags": 0, + "home_domain": "", + "thresholds": "01010101", + "signers": [], + "ext": "v0" + } + }, + "ext": "v0" + }, + null + ] + ], + [ + { + "contract_data": { + "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], [ { "contract_data": { @@ -264,7 +447,7 @@ "symbol": "nft_contract" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" } }, { @@ -296,7 +479,7 @@ "symbol": "token" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + "address": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN" } }, { @@ -325,6 +508,80 @@ "u64": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "CollateralVault" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": { + "hi": 0, + "lo": 20000000 + } + } + }, + { + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "member" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "release_timestamp" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "staked_timestamp" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Released" + } + ] + } + } + ] + } + }, { "key": { "vec": [ @@ -339,53 +596,490 @@ "val": { "u64": 0 } - } - ] - } - } - } - }, - "ext": "v0" - }, - 4095 - ] - ], - [ - { - "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", - "key": { - "ledger_key_nonce": { - "nonce": 801925984706572462 - } - }, - "durability": "temporary" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", - "key": { - "ledger_key_nonce": { - "nonce": 801925984706572462 - } - }, - "durability": "temporary", - "val": "void" - } - }, - "ext": "v0" - }, - 6311999 - ] - ], - [ - { - "contract_code": { + }, + { + "key": { + "vec": [ + { + "symbol": "Member" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "buddy" + }, + "val": "void" + }, + { + "key": { + "symbol": "contribution_count" + }, + "val": { + "u32": 5 + } + }, + { + "key": { + "symbol": "index" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "last_contribution_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "referrer" + }, + "val": "void" + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "tier_multiplier" + }, + "val": { + "u32": 1 + } + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 2032731177588607455 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 2032731177588607455 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 4837995959683129791 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 4837995959683129791 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": { + "hi": 0, + "lo": 0 + } + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + 518400 + ] + ], + [ + { + "contract_data": { + "contract": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": { + "hi": 0, + "lo": 20000000 + } + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + 518400 + ] + ], + [ + { + "contract_data": { + "contract": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": "stellar_asset", + "storage": [ + { + "key": { + "symbol": "METADATA" + }, + "val": { + "map": [ + { + "key": { + "symbol": "decimal" + }, + "val": { + "u32": 7 + } + }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "aaa:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF" + } + }, + { + "key": { + "symbol": "symbol" + }, + "val": { + "string": "aaa" + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "AssetInfo" + } + ] + }, + "val": { + "vec": [ + { + "symbol": "AlphaNum4" + }, + { + "map": [ + { + "key": { + "symbol": "asset_code" + }, + "val": { + "string": "aaa\\0" + } + }, + { + "key": { + "symbol": "issuer" + }, + "val": { + "bytes": "0000000000000000000000000000000000000000000000000000000000000006" + } + } + ] + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 120960 + ] + ], + [ + { + "contract_code": { "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" } }, @@ -393,20 +1087,140 @@ { "last_modified_ledger_seq": 0, "data": { - "contract_code": { - "ext": "v0", - "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "code": "" + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [ + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "04cadb4a570fd2e4652e814101509912cce6c9a2325d6eec8d7100caf859f3e0" + }, + { + "symbol": "init_asset" + } + ], + "data": { + "bytes": "0000000161616100000000000000000000000000000000000000000000000000000000000000000000000006" + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "04cadb4a570fd2e4652e814101509912cce6c9a2325d6eec8d7100caf859f3e0", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "init_asset" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "04cadb4a570fd2e4652e814101509912cce6c9a2325d6eec8d7100caf859f3e0" + }, + { + "symbol": "set_admin" + } + ], + "data": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "04cadb4a570fd2e4652e814101509912cce6c9a2325d6eec8d7100caf859f3e0", + "type_": "contract", + "body": { + "v0": { + "topics": [ + { + "symbol": "set_admin" + }, + { + "address": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF" + }, + { + "string": "aaa:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF" + } + ], + "data": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "04cadb4a570fd2e4652e814101509912cce6c9a2325d6eec8d7100caf859f3e0", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "set_admin" } - }, - "ext": "v0" - }, - 4095 - ] - ] - ] - }, - "events": [ + ], + "data": "void" + } + } + }, + "failed_call": false + }, { "event": { "ext": "v0", @@ -487,7 +1301,7 @@ "u32": 5 }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + "address": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN" }, { "u64": 86400 @@ -496,7 +1310,7 @@ "u32": 100 }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" } ] } @@ -528,6 +1342,95 @@ }, "failed_call": false }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "04cadb4a570fd2e4652e814101509912cce6c9a2325d6eec8d7100caf859f3e0" + }, + { + "symbol": "mint" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 20000000 + } + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "04cadb4a570fd2e4652e814101509912cce6c9a2325d6eec8d7100caf859f3e0", + "type_": "contract", + "body": { + "v0": { + "topics": [ + { + "symbol": "mint" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "string": "aaa:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF" + } + ], + "data": { + "i128": { + "hi": 0, + "lo": 20000000 + } + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "04cadb4a570fd2e4652e814101509912cce6c9a2325d6eec8d7100caf859f3e0", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "mint" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, { "event": { "ext": "v0", @@ -579,7 +1482,7 @@ "symbol": "fn_call" }, { - "bytes": "0000000000000000000000000000000000000000000000000000000000000005" + "bytes": "04cadb4a570fd2e4652e814101509912cce6c9a2325d6eec8d7100caf859f3e0" }, { "symbol": "transfer" @@ -604,32 +1507,60 @@ } } }, - "failed_call": true + "failed_call": false }, { "event": { "ext": "v0", - "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", - "type_": "diagnostic", + "contract_id": "04cadb4a570fd2e4652e814101509912cce6c9a2325d6eec8d7100caf859f3e0", + "type_": "contract", "body": { "v0": { "topics": [ { - "symbol": "error" + "symbol": "transfer" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { - "error": { - "storage": "missing_value" - } + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "string": "aaa:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF" } ], "data": { - "string": "trying to get non-existing value for contract instance" + "i128": { + "hi": 0, + "lo": 20000000 + } } } } }, - "failed_call": true + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "04cadb4a570fd2e4652e814101509912cce6c9a2325d6eec8d7100caf859f3e0", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "transfer" + } + ], + "data": "void" + } + } + }, + "failed_call": false }, { "event": { @@ -640,44 +1571,53 @@ "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_return" }, { - "error": { - "storage": "missing_value" - } + "symbol": "stake_collateral" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "release_collateral" } ], "data": { "vec": [ { - "string": "contract call failed" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { - "symbol": "transfer" + "u64": 1 }, { - "vec": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" - }, - { - "i128": { - "hi": 0, - "lo": 20000000 - } - } - ] + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] } } } }, - "failed_call": true + "failed_call": false }, { "event": { @@ -688,90 +1628,84 @@ "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_call" + }, + { + "bytes": "04cadb4a570fd2e4652e814101509912cce6c9a2325d6eec8d7100caf859f3e0" }, { - "error": { - "storage": "missing_value" - } + "symbol": "transfer" } ], "data": { - "string": "escalating error to panic" + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 20000000 + } + } + ] } } } }, - "failed_call": true + "failed_call": false }, { "event": { "ext": "v0", - "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", - "type_": "diagnostic", + "contract_id": "04cadb4a570fd2e4652e814101509912cce6c9a2325d6eec8d7100caf859f3e0", + "type_": "contract", "body": { "v0": { "topics": [ { - "symbol": "error" + "symbol": "transfer" }, { - "error": { - "storage": "missing_value" - } + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "string": "aaa:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF" } ], "data": { - "string": "caught error from function" + "i128": { + "hi": 0, + "lo": 20000000 + } } } } }, - "failed_call": true + "failed_call": false }, { "event": { "ext": "v0", - "contract_id": null, + "contract_id": "04cadb4a570fd2e4652e814101509912cce6c9a2325d6eec8d7100caf859f3e0", "type_": "diagnostic", "body": { "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_return" }, { - "error": { - "storage": "missing_value" - } + "symbol": "transfer" } ], - "data": { - "vec": [ - { - "string": "contract call failed" - }, - { - "symbol": "stake_collateral" - }, - { - "vec": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "u64": 1 - }, - { - "i128": { - "hi": 0, - "lo": 20000000 - } - } - ] - } - ] - } + "data": "void" } } }, @@ -780,23 +1714,19 @@ { "event": { "ext": "v0", - "contract_id": null, + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", "type_": "diagnostic", "body": { "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_return" }, { - "error": { - "storage": "missing_value" - } + "symbol": "release_collateral" } ], - "data": { - "string": "escalating error to panic" - } + "data": "void" } } }, diff --git a/test_snapshots/test_stake_collateral.1.json b/test_snapshots/test_stake_collateral.1.json index 5686c53..aa95d41 100644 --- a/test_snapshots/test_stake_collateral.1.json +++ b/test_snapshots/test_stake_collateral.1.json @@ -1,9 +1,28 @@ { "generators": { - "address": 6, + "address": 7, "nonce": 0 }, "auth": [ + [ + [ + "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF", + { + "function": { + "contract_fn": { + "contract_address": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN", + "function_name": "set_admin", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], [], [ [ @@ -27,7 +46,7 @@ "u32": 5 }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + "address": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN" }, { "u64": 86400 @@ -36,7 +55,32 @@ "u32": 100 }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + { + "function": { + "contract_fn": { + "contract_address": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN", + "function_name": "mint", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 20000000 + } } ] } @@ -45,6 +89,58 @@ } ] ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "stake_collateral", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "i128": { + "hi": 0, + "lo": 20000000 + } + } + ] + } + }, + "sub_invocations": [ + { + "function": { + "contract_fn": { + "contract_address": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "i128": { + "hi": 0, + "lo": 20000000 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + } + ] + ], [] ], "ledger": { @@ -57,6 +153,67 @@ "min_temp_entry_ttl": 16, "max_entry_ttl": 6312000, "ledger_entries": [ + [ + { + "account": { + "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "account": { + "account_id": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF", + "balance": 0, + "seq_num": 0, + "num_sub_entries": 0, + "inflation_dest": null, + "flags": 0, + "home_domain": "", + "thresholds": "01010101", + "signers": [], + "ext": "v0" + } + }, + "ext": "v0" + }, + null + ] + ], + [ + { + "contract_data": { + "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], [ { "contract_data": { @@ -264,7 +421,7 @@ "symbol": "nft_contract" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" } }, { @@ -296,7 +453,7 @@ "symbol": "token" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + "address": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN" } }, { @@ -325,6 +482,78 @@ "u64": 1 } }, + { + "key": { + "vec": [ + { + "symbol": "CollateralVault" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": { + "hi": 0, + "lo": 20000000 + } + } + }, + { + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "member" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "release_timestamp" + }, + "val": "void" + }, + { + "key": { + "symbol": "staked_timestamp" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Staked" + } + ] + } + } + ] + } + }, { "key": { "vec": [ @@ -356,7 +585,7 @@ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", "key": { "ledger_key_nonce": { - "nonce": 801925984706572462 + "nonce": 5541220902715666415 } }, "durability": "temporary" @@ -371,7 +600,7 @@ "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", "key": { "ledger_key_nonce": { - "nonce": 801925984706572462 + "nonce": 5541220902715666415 } }, "durability": "temporary", @@ -385,69 +614,513 @@ ], [ { - "contract_code": { - "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 4837995959683129791 + } + }, + "durability": "temporary" } }, [ { "last_modified_ledger_seq": 0, "data": { - "contract_code": { + "contract_data": { "ext": "v0", - "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "code": "" + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 4837995959683129791 + } + }, + "durability": "temporary", + "val": "void" } }, "ext": "v0" }, - 4095 + 6311999 ] - ] - ] - }, - "events": [ - { - "event": { - "ext": "v0", - "contract_id": null, - "type_": "diagnostic", - "body": { - "v0": { - "topics": [ - { - "symbol": "fn_call" - }, - { - "bytes": "0000000000000000000000000000000000000000000000000000000000000001" - }, - { - "symbol": "init" + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 } - ], - "data": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" - } + }, + "durability": "temporary" } - } - }, - "failed_call": false - }, - { - "event": { - "ext": "v0", - "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", - "type_": "diagnostic", - "body": { - "v0": { - "topics": [ - { - "symbol": "fn_return" - }, - { - "symbol": "init" - } - ], + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": { + "hi": 0, + "lo": 20000000 + } + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + 518400 + ] + ], + [ + { + "contract_data": { + "contract": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN", + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "amount" + }, + "val": { + "i128": { + "hi": 0, + "lo": 0 + } + } + }, + { + "key": { + "symbol": "authorized" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "clawback" + }, + "val": { + "bool": false + } + } + ] + } + } + }, + "ext": "v0" + }, + 518400 + ] + ], + [ + { + "contract_data": { + "contract": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": "stellar_asset", + "storage": [ + { + "key": { + "symbol": "METADATA" + }, + "val": { + "map": [ + { + "key": { + "symbol": "decimal" + }, + "val": { + "u32": 7 + } + }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "aaa:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF" + } + }, + { + "key": { + "symbol": "symbol" + }, + "val": { + "string": "aaa" + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "AssetInfo" + } + ] + }, + "val": { + "vec": [ + { + "symbol": "AlphaNum4" + }, + { + "map": [ + { + "key": { + "symbol": "asset_code" + }, + "val": { + "string": "aaa\\0" + } + }, + { + "key": { + "symbol": "issuer" + }, + "val": { + "bytes": "0000000000000000000000000000000000000000000000000000000000000006" + } + } + ] + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 120960 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [ + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "04cadb4a570fd2e4652e814101509912cce6c9a2325d6eec8d7100caf859f3e0" + }, + { + "symbol": "init_asset" + } + ], + "data": { + "bytes": "0000000161616100000000000000000000000000000000000000000000000000000000000000000000000006" + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "04cadb4a570fd2e4652e814101509912cce6c9a2325d6eec8d7100caf859f3e0", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "init_asset" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "04cadb4a570fd2e4652e814101509912cce6c9a2325d6eec8d7100caf859f3e0" + }, + { + "symbol": "set_admin" + } + ], + "data": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "04cadb4a570fd2e4652e814101509912cce6c9a2325d6eec8d7100caf859f3e0", + "type_": "contract", + "body": { + "v0": { + "topics": [ + { + "symbol": "set_admin" + }, + { + "address": "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF" + }, + { + "string": "aaa:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF" + } + ], + "data": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "04cadb4a570fd2e4652e814101509912cce6c9a2325d6eec8d7100caf859f3e0", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "set_admin" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "init" + } + ], + "data": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "init" + } + ], "data": "void" } } @@ -487,7 +1160,7 @@ "u32": 5 }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + "address": "CACMVW2KK4H5FZDFF2AUCAKQTEJMZZWJUIZF23XMRVYQBSXYLHZ6BKWN" }, { "u64": 86400 @@ -496,7 +1169,7 @@ "u32": 100 }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" } ] } @@ -540,10 +1213,10 @@ "symbol": "fn_call" }, { - "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + "bytes": "04cadb4a570fd2e4652e814101509912cce6c9a2325d6eec8d7100caf859f3e0" }, { - "symbol": "stake_collateral" + "symbol": "mint" } ], "data": { @@ -551,9 +1224,6 @@ { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, - { - "u64": 1 - }, { "i128": { "hi": 0, @@ -570,114 +1240,94 @@ { "event": { "ext": "v0", - "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", - "type_": "diagnostic", + "contract_id": "04cadb4a570fd2e4652e814101509912cce6c9a2325d6eec8d7100caf859f3e0", + "type_": "contract", "body": { "v0": { "topics": [ { - "symbol": "fn_call" + "symbol": "mint" }, { - "bytes": "0000000000000000000000000000000000000000000000000000000000000005" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" }, { - "symbol": "transfer" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "string": "aaa:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF" } ], "data": { - "vec": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" - }, - { - "i128": { - "hi": 0, - "lo": 20000000 - } - } - ] + "i128": { + "hi": 0, + "lo": 20000000 + } } } } }, - "failed_call": true + "failed_call": false }, { "event": { "ext": "v0", - "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "contract_id": "04cadb4a570fd2e4652e814101509912cce6c9a2325d6eec8d7100caf859f3e0", "type_": "diagnostic", "body": { "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_return" }, { - "error": { - "storage": "missing_value" - } + "symbol": "mint" } ], - "data": { - "string": "trying to get non-existing value for contract instance" - } + "data": "void" } } }, - "failed_call": true + "failed_call": false }, { "event": { "ext": "v0", - "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "contract_id": null, "type_": "diagnostic", "body": { "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_call" }, { - "error": { - "storage": "missing_value" - } + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "stake_collateral" } ], "data": { "vec": [ { - "string": "contract call failed" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { - "symbol": "transfer" + "u64": 1 }, { - "vec": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" - }, - { - "i128": { - "hi": 0, - "lo": 20000000 - } - } - ] + "i128": { + "hi": 0, + "lo": 20000000 + } } ] } } } }, - "failed_call": true + "failed_call": false }, { "event": { @@ -688,90 +1338,84 @@ "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_call" }, { - "error": { - "storage": "missing_value" - } + "bytes": "04cadb4a570fd2e4652e814101509912cce6c9a2325d6eec8d7100caf859f3e0" + }, + { + "symbol": "transfer" } ], "data": { - "string": "escalating error to panic" + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "i128": { + "hi": 0, + "lo": 20000000 + } + } + ] } } } }, - "failed_call": true + "failed_call": false }, { "event": { "ext": "v0", - "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", - "type_": "diagnostic", + "contract_id": "04cadb4a570fd2e4652e814101509912cce6c9a2325d6eec8d7100caf859f3e0", + "type_": "contract", "body": { "v0": { "topics": [ { - "symbol": "error" + "symbol": "transfer" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { - "error": { - "storage": "missing_value" - } + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + }, + { + "string": "aaa:GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHUF" } ], "data": { - "string": "caught error from function" + "i128": { + "hi": 0, + "lo": 20000000 + } } } } }, - "failed_call": true + "failed_call": false }, { "event": { "ext": "v0", - "contract_id": null, + "contract_id": "04cadb4a570fd2e4652e814101509912cce6c9a2325d6eec8d7100caf859f3e0", "type_": "diagnostic", "body": { "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_return" }, { - "error": { - "storage": "missing_value" - } + "symbol": "transfer" } ], - "data": { - "vec": [ - { - "string": "contract call failed" - }, - { - "symbol": "stake_collateral" - }, - { - "vec": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "u64": 1 - }, - { - "i128": { - "hi": 0, - "lo": 20000000 - } - } - ] - } - ] - } + "data": "void" } } }, @@ -780,23 +1424,19 @@ { "event": { "ext": "v0", - "contract_id": null, + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", "type_": "diagnostic", "body": { "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_return" }, { - "error": { - "storage": "missing_value" - } + "symbol": "stake_collateral" } ], - "data": { - "string": "escalating error to panic" - } + "data": "void" } } }, diff --git a/tests/slashing/griefing_resistance_test.rs b/tests/slashing/griefing_resistance_test.rs index 95661b3..08126ac 100644 --- a/tests/slashing/griefing_resistance_test.rs +++ b/tests/slashing/griefing_resistance_test.rs @@ -1,6 +1,6 @@ #[cfg(test)] mod tests { - use crate::slashing::mempool::{SlashingMempool, Evidence, OverflowError}; + use sorosusu_contracts::slashing::mempool::{SlashingMempool, Evidence, OverflowError}; #[test] fn test_minimal_evidence_flood_griefing_resistance() { From 8f88d90936abd30f518f6bb7ebe0ad85905c8c2a Mon Sep 17 00:00:00 2001 From: Fahat Adam Date: Wed, 24 Jun 2026 13:18:38 +0100 Subject: [PATCH 3/6] fix: resolve failing tests in leniency and quadratic voting --- src/lib.rs | 24 +- .../test_cannot_vote_for_own_request.1.json | 551 +- test_snapshots/test_create_proposal.1.json | 750 ++- ...ate_proposal_fails_for_small_groups.1.json | 309 +- .../test_double_voting_prevention.1.json | 1545 ++++- ...est_grace_period_prevents_late_fees.1.json | 992 ++- .../test_insufficient_voting_power.1.json | 1757 ++++- .../test_leniency_stats_tracking.1.json | 2501 ++++++- .../test_max_vote_weight_enforcement.1.json | 1755 ++++- ...t_minimum_participation_requirement.1.json | 1181 +++- test_snapshots/test_proposal_execution.1.json | 2869 +++++++- ...sal_rejection_insufficient_majority.1.json | 2326 ++++++- ...est_quadratic_vote_cost_calculation.1.json | 1629 ++++- ...tic_voting_enabled_for_large_groups.1.json | 443 +- test_snapshots/test_quorum_requirement.1.json | 5817 +++++++++++++++-- test_snapshots/test_request_leniency.1.json | 597 +- .../test_social_capital_tracking.1.json | 1499 ++++- .../test_vote_on_leniency_approval.1.json | 2103 +++++- .../test_vote_on_leniency_rejection.1.json | 2035 +++++- .../test_voting_period_expiration.1.json | 1306 +++- .../test_voting_power_calculation.1.json | 584 +- tests/leniency_voting_test.rs | 49 +- tests/quadratic_voting_test.rs | 82 +- 23 files changed, 29832 insertions(+), 2872 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 2335dec..dfa7086 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -862,13 +862,14 @@ impl SoroSusuTrait for SoroSusu { // Check if voting should be finalized early (if majority reached) let total_possible_votes = (circle.member_count - 1) as u32; // Exclude requester - let votes_needed_for_majority = (total_possible_votes * SIMPLE_MAJORITY_THRESHOLD) / 100; + let votes_needed_for_majority = (total_possible_votes * SIMPLE_MAJORITY_THRESHOLD + 99) / 100; if request.approve_votes >= votes_needed_for_majority { request.status = LeniencyRequestStatus::Approved; SoroSusu::finalize_leniency_vote_internal(&env, &circle_id, &requester, &mut request); } else if request.reject_votes >= votes_needed_for_majority { request.status = LeniencyRequestStatus::Rejected; + SoroSusu::finalize_leniency_vote_internal(&env, &circle_id, &requester, &mut request); } env.storage().instance().set(&request_key, &request); @@ -1102,7 +1103,7 @@ impl SoroSusuTrait for SoroSusu { } else { let approval_percentage = (proposal.for_votes * 100) / total_votes; if approval_percentage >= QUADRATIC_MAJORITY as u64 { - proposal.status = ProposalStatus::Approved; + proposal.status = ProposalStatus::Executed; // Execute the proposal based on type SoroSusu::execute_proposal_logic(&env, &proposal); @@ -1127,7 +1128,10 @@ impl SoroSusuTrait for SoroSusu { match proposal.status { ProposalStatus::Approved => stats.approved_proposals += 1, ProposalStatus::Rejected => stats.rejected_proposals += 1, - ProposalStatus::Executed => stats.executed_proposals += 1, + ProposalStatus::Executed => { + stats.approved_proposals += 1; + stats.executed_proposals += 1; + }, _ => {} } @@ -1346,19 +1350,19 @@ impl SoroSusuTrait for SoroSusu { impl SoroSusu { fn finalize_leniency_vote_internal(env: &Env, circle_id: &u64, requester: &Address, request: &mut LeniencyRequest) { - let total_possible_votes = request.total_votes_cast; + let circle_key = DataKey::Circle(*circle_id); + let mut circle: CircleInfo = env.storage().instance().get(&circle_key).expect("Circle not found"); + + let total_possible_votes = (circle.member_count - 1) as u32; // Exclude requester let minimum_participation = (total_possible_votes * MINIMUM_VOTING_PARTICIPATION) / 100; - let mut final_status = LeniencyRequestStatus::Rejected; + let mut final_status = LeniencyRequestStatus::Expired; - if request.total_votes_cast >= minimum_participation { + if request.total_votes_cast > 0 && request.total_votes_cast >= minimum_participation { let approval_percentage = (request.approve_votes * 100) / request.total_votes_cast; if approval_percentage >= SIMPLE_MAJORITY_THRESHOLD { final_status = LeniencyRequestStatus::Approved; - let circle_key = DataKey::Circle(*circle_id); - let mut circle: CircleInfo = env.storage().instance().get(&circle_key).expect("Circle not found"); - let extension_seconds = request.extension_hours * 3600; let new_deadline = circle.deadline_timestamp + extension_seconds; circle.deadline_timestamp = new_deadline; @@ -1378,6 +1382,8 @@ impl SoroSusu { social_capital.leniency_received += 1; social_capital.trust_score = (social_capital.trust_score + 5).min(100); env.storage().instance().set(&social_capital_key, &social_capital); + } else { + final_status = LeniencyRequestStatus::Rejected; } } diff --git a/test_snapshots/test_cannot_vote_for_own_request.1.json b/test_snapshots/test_cannot_vote_for_own_request.1.json index fde0921..f60b67a 100644 --- a/test_snapshots/test_cannot_vote_for_own_request.1.json +++ b/test_snapshots/test_cannot_vote_for_own_request.1.json @@ -45,6 +45,57 @@ } ] ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "join_circle", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "request_leniency", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "string": "Need extra time" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], [] ], "ledger": { @@ -256,7 +307,7 @@ "symbol": "member_count" }, "val": { - "u32": 0 + "u32": 1 } }, { @@ -339,6 +390,245 @@ "val": { "u64": 0 } + }, + { + "key": { + "vec": [ + { + "symbol": "LeniencyRequest" + }, + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "approve_votes" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "extension_hours" + }, + "val": { + "u64": 48 + } + }, + { + "key": { + "symbol": "reason" + }, + "val": { + "string": "Need extra time" + } + }, + { + "key": { + "symbol": "reject_votes" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "request_timestamp" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "requester" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Pending" + } + ] + } + }, + { + "key": { + "symbol": "total_votes_cast" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "voting_deadline" + }, + "val": { + "u64": 86400 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "LeniencyStats" + }, + { + "u64": 1 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "approved_requests" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "average_participation" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "expired_requests" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "rejected_requests" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "total_requests" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Member" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "buddy" + }, + "val": "void" + }, + { + "key": { + "symbol": "contribution_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "index" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "last_contribution_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "referrer" + }, + "val": "void" + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "tier_multiplier" + }, + "val": { + "u32": 1 + } + } + ] + } } ] } @@ -383,6 +673,104 @@ 6311999 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": null + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], [ { "contract_code": { @@ -599,7 +987,28 @@ } } }, - "failed_call": true + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000006", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "mint" + } + ], + "data": "void" + } + } + }, + "failed_call": false }, { "event": { @@ -610,21 +1019,53 @@ "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_return" }, { - "error": { - "storage": "missing_value" - } + "symbol": "join_circle" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "request_leniency" } ], "data": { - "string": "trying to get non-existing value for contract instance" + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "string": "Need extra time" + } + ] } } } }, - "failed_call": true + "failed_call": false }, { "event": { @@ -635,32 +1076,51 @@ "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_return" }, { - "error": { - "storage": "missing_value" - } + "symbol": "request_leniency" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "vote_on_leniency" } ], "data": { "vec": [ { - "string": "contract call failed" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { - "symbol": "mint" + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { "vec": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "u128": { - "hi": 1, - "lo": 0 - } + "symbol": "Approve" } ] } @@ -669,7 +1129,7 @@ } } }, - "failed_call": true + "failed_call": false }, { "event": { @@ -680,16 +1140,31 @@ "v0": { "topics": [ { - "symbol": "error" - }, - { - "error": { - "storage": "missing_value" - } + "symbol": "log" } ], "data": { - "string": "escalating error to panic" + "vec": [ + { + "string": "caught panic 'Cannot vote for own request' from contract function 'Symbol(obj#391)'" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "vec": [ + { + "symbol": "Approve" + } + ] + } + ] } } } @@ -709,7 +1184,7 @@ }, { "error": { - "storage": "missing_value" + "wasm_vm": "invalid_action" } } ], @@ -734,7 +1209,7 @@ }, { "error": { - "storage": "missing_value" + "wasm_vm": "invalid_action" } } ], @@ -744,7 +1219,7 @@ "string": "contract call failed" }, { - "symbol": "join_circle" + "symbol": "vote_on_leniency" }, { "vec": [ @@ -755,9 +1230,15 @@ "u64": 1 }, { - "u32": 1 + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, - "void" + { + "vec": [ + { + "symbol": "Approve" + } + ] + } ] } ] @@ -780,7 +1261,7 @@ }, { "error": { - "storage": "missing_value" + "wasm_vm": "invalid_action" } } ], diff --git a/test_snapshots/test_create_proposal.1.json b/test_snapshots/test_create_proposal.1.json index fd60476..0bf67ba 100644 --- a/test_snapshots/test_create_proposal.1.json +++ b/test_snapshots/test_create_proposal.1.json @@ -20,7 +20,7 @@ { "i128": { "hi": 0, - "lo": 1000000 + "lo": 100000 } }, { @@ -45,6 +45,70 @@ } ] ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "join_circle", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "create_proposal", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "vec": [ + { + "symbol": "ChangeLateFee" + } + ] + }, + { + "string": "Reduce late fee to 0.5%" + }, + { + "string": "Proposal to reduce late fee from 1% to 0.5%" + }, + { + "string": "{\"late_fee_bps\": 50}" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], [] ], "ledger": { @@ -110,7 +174,7 @@ "symbol": "collateral_bps" }, "val": { - "u32": 2000 + "u32": 0 } }, { @@ -120,7 +184,7 @@ "val": { "i128": { "hi": 0, - "lo": 1000000 + "lo": 100000 } } }, @@ -256,7 +320,7 @@ "symbol": "member_count" }, "val": { - "u32": 0 + "u32": 1 } }, { @@ -272,7 +336,7 @@ "symbol": "proposal_count" }, "val": { - "u64": 0 + "u64": 1 } }, { @@ -288,7 +352,7 @@ "symbol": "requires_collateral" }, "val": { - "bool": true + "bool": false } }, { @@ -306,7 +370,7 @@ "val": { "i128": { "hi": 0, - "lo": 15000000 + "lo": 1500000 } } } @@ -332,12 +396,300 @@ "symbol": "LastCreatedTimestamp" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "vec": [ + { + "symbol": "Member" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "buddy" + }, + "val": "void" + }, + { + "key": { + "symbol": "contribution_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "index" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "last_contribution_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "referrer" + }, + "val": "void" + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "tier_multiplier" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Proposal" + }, + { + "u64": 2 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "against_votes" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "created_timestamp" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "description" + }, + "val": { + "string": "Proposal to reduce late fee from 1% to 0.5%" + } + }, + { + "key": { + "symbol": "execution_data" + }, + "val": { + "string": "{\"late_fee_bps\": 50}" + } + }, + { + "key": { + "symbol": "for_votes" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": 2 + } + }, + { + "key": { + "symbol": "proposal_type" + }, + "val": { + "vec": [ + { + "symbol": "ChangeLateFee" + } + ] + } + }, + { + "key": { + "symbol": "proposer" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "quorum_met" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "title" + }, + "val": { + "string": "Reduce late fee to 0.5%" + } + }, + { + "key": { + "symbol": "total_voting_power" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "voting_end_timestamp" + }, + "val": { + "u64": 604800 + } + }, + { + "key": { + "symbol": "voting_start_timestamp" + }, + "val": { + "u64": 0 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "ProposalStats" + }, + { + "u64": 1 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "approved_proposals" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "average_participation" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "average_voting_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "executed_proposals" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "rejected_proposals" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "total_proposals" + }, + "val": { + "u32": 1 + } } ] - }, - "val": { - "u64": 0 } } ] @@ -383,6 +735,104 @@ 6311999 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": null + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], [ { "contract_code": { @@ -480,7 +930,7 @@ { "i128": { "hi": 0, - "lo": 1000000 + "lo": 100000 } }, { @@ -574,30 +1024,53 @@ "v0": { "topics": [ { - "symbol": "log" + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000006" + }, + { + "symbol": "mint" } ], "data": { "vec": [ - { - "string": "caught panic 'Collateral required for this circle' from contract function 'Symbol(obj#107)'" - }, { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { - "u64": 1 - }, - { - "u32": 1 - }, - "void" + "u128": { + "hi": 1, + "lo": 0 + } + } ] } } } }, - "failed_call": true + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000006", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "mint" + } + ], + "data": "void" + } + } + }, + "failed_call": false }, { "event": { @@ -608,21 +1081,17 @@ "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_return" }, { - "error": { - "wasm_vm": "invalid_action" - } + "symbol": "join_circle" } ], - "data": { - "string": "caught error from function" - } + "data": "void" } } }, - "failed_call": true + "failed_call": false }, { "event": { @@ -633,35 +1102,38 @@ "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" }, { - "error": { - "wasm_vm": "invalid_action" - } + "symbol": "create_proposal" } ], "data": { "vec": [ { - "string": "contract call failed" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { - "symbol": "join_circle" + "u64": 1 }, { "vec": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "u64": 1 - }, - { - "u32": 1 - }, - "void" + "symbol": "ChangeLateFee" + } ] + }, + { + "string": "Reduce late fee to 0.5%" + }, + { + "string": "Proposal to reduce late fee from 1% to 0.5%" + }, + { + "string": "{\"late_fee_bps\": 50}" } ] } @@ -670,6 +1142,29 @@ }, "failed_call": false }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "create_proposal" + } + ], + "data": { + "u64": 2 + } + } + } + }, + "failed_call": false + }, { "event": { "ext": "v0", @@ -679,16 +1174,169 @@ "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_call" }, { - "error": { - "wasm_vm": "invalid_action" - } + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "get_proposal" + } + ], + "data": { + "u64": 2 + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "get_proposal" } ], "data": { - "string": "escalating error to panic" + "map": [ + { + "key": { + "symbol": "against_votes" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "created_timestamp" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "description" + }, + "val": { + "string": "Proposal to reduce late fee from 1% to 0.5%" + } + }, + { + "key": { + "symbol": "execution_data" + }, + "val": { + "string": "{\"late_fee_bps\": 50}" + } + }, + { + "key": { + "symbol": "for_votes" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": 2 + } + }, + { + "key": { + "symbol": "proposal_type" + }, + "val": { + "vec": [ + { + "symbol": "ChangeLateFee" + } + ] + } + }, + { + "key": { + "symbol": "proposer" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "quorum_met" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "title" + }, + "val": { + "string": "Reduce late fee to 0.5%" + } + }, + { + "key": { + "symbol": "total_voting_power" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "voting_end_timestamp" + }, + "val": { + "u64": 604800 + } + }, + { + "key": { + "symbol": "voting_start_timestamp" + }, + "val": { + "u64": 0 + } + } + ] } } } diff --git a/test_snapshots/test_create_proposal_fails_for_small_groups.1.json b/test_snapshots/test_create_proposal_fails_for_small_groups.1.json index fde0921..96bdcb3 100644 --- a/test_snapshots/test_create_proposal_fails_for_small_groups.1.json +++ b/test_snapshots/test_create_proposal_fails_for_small_groups.1.json @@ -20,7 +20,7 @@ { "i128": { "hi": 0, - "lo": 1000000 + "lo": 100000 } }, { @@ -45,6 +45,32 @@ } ] ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "join_circle", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + }, + "sub_invocations": [] + } + ] + ], [] ], "ledger": { @@ -120,7 +146,7 @@ "val": { "i128": { "hi": 0, - "lo": 1000000 + "lo": 100000 } } }, @@ -256,7 +282,7 @@ "symbol": "member_count" }, "val": { - "u32": 0 + "u32": 1 } }, { @@ -306,7 +332,7 @@ "val": { "i128": { "hi": 0, - "lo": 5000000 + "lo": 500000 } } } @@ -339,6 +365,86 @@ "val": { "u64": 0 } + }, + { + "key": { + "vec": [ + { + "symbol": "Member" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "buddy" + }, + "val": "void" + }, + { + "key": { + "symbol": "contribution_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "index" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "last_contribution_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "referrer" + }, + "val": "void" + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "tier_multiplier" + }, + "val": { + "u32": 1 + } + } + ] + } } ] } @@ -383,6 +489,71 @@ 6311999 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": null + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], [ { "contract_code": { @@ -480,7 +651,7 @@ { "i128": { "hi": 0, - "lo": 1000000 + "lo": 100000 } }, { @@ -599,32 +770,28 @@ } } }, - "failed_call": true + "failed_call": false }, { "event": { "ext": "v0", - "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000006", "type_": "diagnostic", "body": { "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_return" }, { - "error": { - "storage": "missing_value" - } + "symbol": "mint" } ], - "data": { - "string": "trying to get non-existing value for contract instance" - } + "data": "void" } } }, - "failed_call": true + "failed_call": false }, { "event": { @@ -635,41 +802,66 @@ "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_return" }, { - "error": { - "storage": "missing_value" - } + "symbol": "join_circle" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "create_proposal" } ], "data": { "vec": [ { - "string": "contract call failed" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { - "symbol": "mint" + "u64": 1 }, { "vec": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "u128": { - "hi": 1, - "lo": 0 - } + "symbol": "ChangeLateFee" } ] + }, + { + "string": "Test proposal" + }, + { + "string": "Test description" + }, + { + "string": "{}" } ] } } } }, - "failed_call": true + "failed_call": false }, { "event": { @@ -680,16 +872,37 @@ "v0": { "topics": [ { - "symbol": "error" - }, - { - "error": { - "storage": "missing_value" - } + "symbol": "log" } ], "data": { - "string": "escalating error to panic" + "vec": [ + { + "string": "caught panic 'Quadratic voting not enabled for this circle' from contract function 'Symbol(obj#257)'" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "vec": [ + { + "symbol": "ChangeLateFee" + } + ] + }, + { + "string": "Test proposal" + }, + { + "string": "Test description" + }, + { + "string": "{}" + } + ] } } } @@ -709,7 +922,7 @@ }, { "error": { - "storage": "missing_value" + "wasm_vm": "invalid_action" } } ], @@ -734,7 +947,7 @@ }, { "error": { - "storage": "missing_value" + "wasm_vm": "invalid_action" } } ], @@ -744,7 +957,7 @@ "string": "contract call failed" }, { - "symbol": "join_circle" + "symbol": "create_proposal" }, { "vec": [ @@ -755,9 +968,21 @@ "u64": 1 }, { - "u32": 1 + "vec": [ + { + "symbol": "ChangeLateFee" + } + ] + }, + { + "string": "Test proposal" }, - "void" + { + "string": "Test description" + }, + { + "string": "{}" + } ] } ] @@ -780,7 +1005,7 @@ }, { "error": { - "storage": "missing_value" + "wasm_vm": "invalid_action" } } ], diff --git a/test_snapshots/test_double_voting_prevention.1.json b/test_snapshots/test_double_voting_prevention.1.json index 6605e4a..bd1ae5a 100644 --- a/test_snapshots/test_double_voting_prevention.1.json +++ b/test_snapshots/test_double_voting_prevention.1.json @@ -20,11 +20,11 @@ { "i128": { "hi": 0, - "lo": 1000000 + "lo": 100000 } }, { - "u32": 5 + "u32": 15 }, { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" @@ -45,6 +45,129 @@ } ] ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "join_circle", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "join_circle", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "create_proposal", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "vec": [ + { + "symbol": "ChangeLateFee" + } + ] + }, + { + "string": "Test proposal" + }, + { + "string": "Test description" + }, + { + "string": "{}" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "quadratic_vote", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 2 + }, + { + "u32": 5 + }, + { + "vec": [ + { + "symbol": "For" + } + ] + } + ] + } + }, + "sub_invocations": [] + } + ] + ], [] ], "ledger": { @@ -120,7 +243,7 @@ "val": { "i128": { "hi": 0, - "lo": 1000000 + "lo": 100000 } } }, @@ -248,7 +371,7 @@ "symbol": "max_members" }, "val": { - "u32": 5 + "u32": 15 } }, { @@ -256,7 +379,7 @@ "symbol": "member_count" }, "val": { - "u32": 0 + "u32": 2 } }, { @@ -272,7 +395,7 @@ "symbol": "proposal_count" }, "val": { - "u64": 0 + "u64": 1 } }, { @@ -280,7 +403,7 @@ "symbol": "quadratic_voting_enabled" }, "val": { - "bool": false + "bool": true } }, { @@ -306,7 +429,7 @@ "val": { "i128": { "hi": 0, - "lo": 5000000 + "lo": 1500000 } } } @@ -339,164 +462,1040 @@ "val": { "u64": 0 } - } - ] - } - } - } - }, - "ext": "v0" - }, - 4095 - ] - ], - [ - { - "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", - "key": { - "ledger_key_nonce": { - "nonce": 801925984706572462 - } - }, - "durability": "temporary" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", - "key": { - "ledger_key_nonce": { - "nonce": 801925984706572462 - } - }, - "durability": "temporary", - "val": "void" - } - }, - "ext": "v0" - }, - 6311999 - ] - ], - [ - { - "contract_code": { - "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_code": { - "ext": "v0", - "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "code": "" - } - }, - "ext": "v0" - }, - 4095 - ] - ] - ] - }, - "events": [ - { - "event": { - "ext": "v0", - "contract_id": null, - "type_": "diagnostic", - "body": { - "v0": { - "topics": [ - { - "symbol": "fn_call" - }, - { - "bytes": "0000000000000000000000000000000000000000000000000000000000000001" - }, - { - "symbol": "init" - } - ], - "data": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" - } - } - } - }, - "failed_call": false - }, - { - "event": { - "ext": "v0", - "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", - "type_": "diagnostic", - "body": { - "v0": { - "topics": [ - { - "symbol": "fn_return" - }, - { - "symbol": "init" - } - ], - "data": "void" - } - } - }, - "failed_call": false - }, - { - "event": { - "ext": "v0", - "contract_id": null, - "type_": "diagnostic", - "body": { - "v0": { - "topics": [ - { - "symbol": "fn_call" - }, - { - "bytes": "0000000000000000000000000000000000000000000000000000000000000001" - }, - { - "symbol": "create_circle" - } - ], - "data": { - "vec": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" - }, - { - "i128": { - "hi": 0, - "lo": 1000000 - } + }, + { + "key": { + "vec": [ + { + "symbol": "Member" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "buddy" + }, + "val": "void" + }, + { + "key": { + "symbol": "contribution_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "index" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "last_contribution_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "referrer" + }, + "val": "void" + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "tier_multiplier" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Member" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "buddy" + }, + "val": "void" + }, + { + "key": { + "symbol": "contribution_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "index" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "last_contribution_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "referrer" + }, + "val": "void" + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "tier_multiplier" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Proposal" + }, + { + "u64": 2 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "against_votes" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "created_timestamp" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "description" + }, + "val": { + "string": "Test description" + } + }, + { + "key": { + "symbol": "execution_data" + }, + "val": { + "string": "{}" + } + }, + { + "key": { + "symbol": "for_votes" + }, + "val": { + "u64": 25 + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": 2 + } + }, + { + "key": { + "symbol": "proposal_type" + }, + "val": { + "vec": [ + { + "symbol": "ChangeLateFee" + } + ] + } + }, + { + "key": { + "symbol": "proposer" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "quorum_met" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "title" + }, + "val": { + "string": "Test proposal" + } + }, + { + "key": { + "symbol": "total_voting_power" + }, + "val": { + "u64": 25 + } + }, + { + "key": { + "symbol": "voting_end_timestamp" + }, + "val": { + "u64": 604800 + } + }, + { + "key": { + "symbol": "voting_start_timestamp" + }, + "val": { + "u64": 0 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "ProposalStats" + }, + { + "u64": 1 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "approved_proposals" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "average_participation" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "average_voting_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "executed_proposals" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "rejected_proposals" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "total_proposals" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "QuadraticVote" + }, + { + "u64": 2 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "proposal_id" + }, + "val": { + "u64": 2 + } + }, + { + "key": { + "symbol": "timestamp" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "vote_choice" + }, + "val": { + "vec": [ + { + "symbol": "For" + } + ] + } + }, + { + "key": { + "symbol": "vote_weight" + }, + "val": { + "u32": 5 + } + }, + { + "key": { + "symbol": "voter" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "voting_power_used" + }, + "val": { + "u64": 25 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "VotingPower" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 1 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "last_updated" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "member" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "quadratic_power" + }, + "val": { + "u64": 100000 + } + }, + { + "key": { + "symbol": "token_balance" + }, + "val": { + "i128": { + "hi": 0, + "lo": 100000000 + } + } + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 4837995959683129791 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 4837995959683129791 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": 2032731177588607455 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": 2032731177588607455 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": null + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [ + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "init" + } + ], + "data": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "init" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "create_circle" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "i128": { + "hi": 0, + "lo": 100000 + } + }, + { + "u32": 15 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "u64": 86400 + }, + { + "u32": 100 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "create_circle" + } + ], + "data": { + "u64": 1 + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "join_circle" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000007" + }, + { + "symbol": "mint" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { - "u32": 5 + "u128": { + "hi": 1, + "lo": 0 + } + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000007", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "mint" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "join_circle" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "join_circle" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + "u64": 1 }, { - "u64": 86400 + "u32": 1 }, + "void" + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000007" + }, + { + "symbol": "mint" + } + ], + "data": { + "vec": [ { - "u32": 100 + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + "u128": { + "hi": 1, + "lo": 1 + } } ] } @@ -505,6 +1504,27 @@ }, "failed_call": false }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000007", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "mint" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, { "event": { "ext": "v0", @@ -517,12 +1537,10 @@ "symbol": "fn_return" }, { - "symbol": "create_circle" + "symbol": "join_circle" } ], - "data": { - "u64": 1 - } + "data": "void" } } }, @@ -543,7 +1561,7 @@ "bytes": "0000000000000000000000000000000000000000000000000000000000000001" }, { - "symbol": "join_circle" + "symbol": "create_proposal" } ], "data": { @@ -555,9 +1573,21 @@ "u64": 1 }, { - "u32": 1 + "vec": [ + { + "symbol": "ChangeLateFee" + } + ] }, - "void" + { + "string": "Test proposal" + }, + { + "string": "Test description" + }, + { + "string": "{}" + } ] } } @@ -570,6 +1600,29 @@ "ext": "v0", "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "create_proposal" + } + ], + "data": { + "u64": 2 + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", "body": { "v0": { "topics": [ @@ -577,21 +1630,24 @@ "symbol": "fn_call" }, { - "bytes": "0000000000000000000000000000000000000000000000000000000000000007" + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" }, { - "symbol": "mint" + "symbol": "update_voting_power" } ], "data": { "vec": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" }, { - "u128": { - "hi": 1, - "lo": 0 + "u64": 1 + }, + { + "i128": { + "hi": 0, + "lo": 100000000 } } ] @@ -599,7 +1655,7 @@ } } }, - "failed_call": true + "failed_call": false }, { "event": { @@ -610,57 +1666,51 @@ "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_return" }, { - "error": { - "storage": "missing_value" - } + "symbol": "update_voting_power" } ], - "data": { - "string": "trying to get non-existing value for contract instance" - } + "data": "void" } } }, - "failed_call": true + "failed_call": false }, { "event": { "ext": "v0", - "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "contract_id": null, "type_": "diagnostic", "body": { "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_call" }, { - "error": { - "storage": "missing_value" - } + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "quadratic_vote" } ], "data": { "vec": [ { - "string": "contract call failed" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 2 }, { - "symbol": "mint" + "u32": 5 }, { "vec": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "u128": { - "hi": 1, - "lo": 0 - } + "symbol": "For" } ] } @@ -669,7 +1719,7 @@ } } }, - "failed_call": true + "failed_call": false }, { "event": { @@ -680,16 +1730,95 @@ "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_return" }, { - "error": { - "storage": "missing_value" + "symbol": "quadratic_vote" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "quadratic_vote" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 2 + }, + { + "u32": 3 + }, + { + "vec": [ + { + "symbol": "Against" + } + ] } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "log" } ], "data": { - "string": "escalating error to panic" + "vec": [ + { + "string": "caught panic 'Already voted on this proposal' from contract function 'Symbol(obj#1035)'" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 2 + }, + { + "u32": 3 + }, + { + "vec": [ + { + "symbol": "Against" + } + ] + } + ] } } } @@ -709,7 +1838,7 @@ }, { "error": { - "storage": "missing_value" + "wasm_vm": "invalid_action" } } ], @@ -734,7 +1863,7 @@ }, { "error": { - "storage": "missing_value" + "wasm_vm": "invalid_action" } } ], @@ -744,20 +1873,26 @@ "string": "contract call failed" }, { - "symbol": "join_circle" + "symbol": "quadratic_vote" }, { "vec": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" }, { - "u64": 1 + "u64": 2 }, { - "u32": 1 + "u32": 3 }, - "void" + { + "vec": [ + { + "symbol": "Against" + } + ] + } ] } ] @@ -780,7 +1915,7 @@ }, { "error": { - "storage": "missing_value" + "wasm_vm": "invalid_action" } } ], diff --git a/test_snapshots/test_grace_period_prevents_late_fees.1.json b/test_snapshots/test_grace_period_prevents_late_fees.1.json index c84767b..8a103c2 100644 --- a/test_snapshots/test_grace_period_prevents_late_fees.1.json +++ b/test_snapshots/test_grace_period_prevents_late_fees.1.json @@ -45,12 +45,121 @@ } ] ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "join_circle", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "join_circle", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "request_leniency", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "string": "Need extra time" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "vote_on_leniency", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "vec": [ + { + "symbol": "Approve" + } + ] + } + ] + } + }, + "sub_invocations": [] + } + ] + ], [] ], "ledger": { "protocol_version": 21, "sequence_number": 0, - "timestamp": 0, + "timestamp": 7200, "network_id": "0000000000000000000000000000000000000000000000000000000000000000", "base_reserve": 0, "min_persistent_entry_ttl": 4096, @@ -167,14 +276,16 @@ "symbol": "deadline_timestamp" }, "val": { - "u64": 3600 + "u64": 176400 } }, { "key": { "symbol": "grace_period_end" }, - "val": "void" + "val": { + "u64": 176400 + } }, { "key": { @@ -256,7 +367,7 @@ "symbol": "member_count" }, "val": { - "u32": 0 + "u32": 2 } }, { @@ -339,24 +450,601 @@ "val": { "u64": 0 } - } - ] + }, + { + "key": { + "vec": [ + { + "symbol": "LeniencyRequest" + }, + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "approve_votes" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "extension_hours" + }, + "val": { + "u64": 48 + } + }, + { + "key": { + "symbol": "reason" + }, + "val": { + "string": "Need extra time" + } + }, + { + "key": { + "symbol": "reject_votes" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "request_timestamp" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "requester" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Approved" + } + ] + } + }, + { + "key": { + "symbol": "total_votes_cast" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "voting_deadline" + }, + "val": { + "u64": 86400 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "LeniencyStats" + }, + { + "u64": 1 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "approved_requests" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "average_participation" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "expired_requests" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "rejected_requests" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "total_requests" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "LeniencyVotes" + }, + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "val": { + "vec": [ + { + "symbol": "Approve" + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Member" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "buddy" + }, + "val": "void" + }, + { + "key": { + "symbol": "contribution_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "index" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "last_contribution_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "referrer" + }, + "val": "void" + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "tier_multiplier" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Member" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "buddy" + }, + "val": "void" + }, + { + "key": { + "symbol": "contribution_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "index" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "last_contribution_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "referrer" + }, + "val": "void" + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "tier_multiplier" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "SocialCapital" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "leniency_given" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "leniency_received" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "member" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "trust_score" + }, + "val": { + "u32": 55 + } + }, + { + "key": { + "symbol": "voting_participation" + }, + "val": { + "u32": 0 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "SocialCapital" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 1 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "leniency_given" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "leniency_received" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "member" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "trust_score" + }, + "val": { + "u32": 52 + } + }, + { + "key": { + "symbol": "voting_participation" + }, + "val": { + "u32": 1 + } + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 4837995959683129791 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 4837995959683129791 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 } - } + }, + "durability": "temporary", + "val": "void" } }, "ext": "v0" }, - 4095 + 6311999 ] ], [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", "key": { "ledger_key_nonce": { - "nonce": 801925984706572462 + "nonce": 1033654523790656264 } }, "durability": "temporary" @@ -368,10 +1056,43 @@ "data": { "contract_data": { "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", "key": { "ledger_key_nonce": { - "nonce": 801925984706572462 + "nonce": 1033654523790656264 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": 2032731177588607455 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": 2032731177588607455 } }, "durability": "temporary", @@ -383,6 +1104,38 @@ 6311999 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": null + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], [ { "contract_code": { @@ -599,32 +1352,28 @@ } } }, - "failed_call": true + "failed_call": false }, { "event": { "ext": "v0", - "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000007", "type_": "diagnostic", "body": { "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_return" }, { - "error": { - "storage": "missing_value" - } + "symbol": "mint" } ], - "data": { - "string": "trying to get non-existing value for contract instance" - } + "data": "void" } } }, - "failed_call": true + "failed_call": false }, { "event": { @@ -635,41 +1384,54 @@ "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_return" }, { - "error": { - "storage": "missing_value" - } + "symbol": "join_circle" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "join_circle" } ], "data": { "vec": [ { - "string": "contract call failed" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" }, { - "symbol": "mint" + "u64": 1 }, { - "vec": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "u128": { - "hi": 1, - "lo": 0 - } - } - ] - } + "u32": 1 + }, + "void" ] } } } }, - "failed_call": true + "failed_call": false }, { "event": { @@ -680,21 +1442,53 @@ "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_call" }, { - "error": { - "storage": "missing_value" - } + "bytes": "0000000000000000000000000000000000000000000000000000000000000007" + }, + { + "symbol": "mint" } ], "data": { - "string": "escalating error to panic" + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u128": { + "hi": 1, + "lo": 1 + } + } + ] } } } }, - "failed_call": true + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000007", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "mint" + } + ], + "data": "void" + } + } + }, + "failed_call": false }, { "event": { @@ -705,21 +1499,74 @@ "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_return" }, { - "error": { - "storage": "missing_value" - } + "symbol": "join_circle" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "request_leniency" } ], "data": { - "string": "caught error from function" + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "string": "Need extra time" + } + ] } } } }, - "failed_call": true + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "request_leniency" + } + ], + "data": "void" + } + } + }, + "failed_call": false }, { "event": { @@ -730,34 +1577,31 @@ "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_call" }, { - "error": { - "storage": "missing_value" - } + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "vote_on_leniency" } ], "data": { "vec": [ { - "string": "contract call failed" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 1 }, { - "symbol": "join_circle" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { "vec": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "u64": 1 - }, - { - "u32": 1 - }, - "void" + "symbol": "Approve" + } ] } ] @@ -770,23 +1614,19 @@ { "event": { "ext": "v0", - "contract_id": null, + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", "type_": "diagnostic", "body": { "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_return" }, { - "error": { - "storage": "missing_value" - } + "symbol": "vote_on_leniency" } ], - "data": { - "string": "escalating error to panic" - } + "data": "void" } } }, diff --git a/test_snapshots/test_insufficient_voting_power.1.json b/test_snapshots/test_insufficient_voting_power.1.json index 9c3373a..dbc4047 100644 --- a/test_snapshots/test_insufficient_voting_power.1.json +++ b/test_snapshots/test_insufficient_voting_power.1.json @@ -20,7 +20,7 @@ { "i128": { "hi": 0, - "lo": 1000000 + "lo": 100000 } }, { @@ -45,6 +45,130 @@ } ] ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "join_circle", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "join_circle", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "create_proposal", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "vec": [ + { + "symbol": "ChangeLateFee" + } + ] + }, + { + "string": "Test proposal" + }, + { + "string": "Test description" + }, + { + "string": "{}" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "quadratic_vote", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 2 + }, + { + "u32": 5 + }, + { + "vec": [ + { + "symbol": "For" + } + ] + } + ] + } + }, + "sub_invocations": [] + } + ] + ], [] ], "ledger": { @@ -110,7 +234,7 @@ "symbol": "collateral_bps" }, "val": { - "u32": 2000 + "u32": 0 } }, { @@ -120,7 +244,7 @@ "val": { "i128": { "hi": 0, - "lo": 1000000 + "lo": 100000 } } }, @@ -256,7 +380,7 @@ "symbol": "member_count" }, "val": { - "u32": 0 + "u32": 2 } }, { @@ -272,7 +396,7 @@ "symbol": "proposal_count" }, "val": { - "u64": 0 + "u64": 1 } }, { @@ -288,7 +412,7 @@ "symbol": "requires_collateral" }, "val": { - "bool": true + "bool": false } }, { @@ -306,7 +430,7 @@ "val": { "i128": { "hi": 0, - "lo": 15000000 + "lo": 1500000 } } } @@ -339,164 +463,1131 @@ "val": { "u64": 0 } - } - ] - } - } - } - }, - "ext": "v0" - }, - 4095 - ] - ], - [ - { - "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", - "key": { - "ledger_key_nonce": { - "nonce": 801925984706572462 - } - }, - "durability": "temporary" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", - "key": { - "ledger_key_nonce": { - "nonce": 801925984706572462 - } - }, - "durability": "temporary", - "val": "void" - } - }, - "ext": "v0" - }, - 6311999 - ] - ], - [ - { - "contract_code": { - "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_code": { - "ext": "v0", - "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "code": "" - } - }, - "ext": "v0" - }, - 4095 - ] - ] - ] - }, - "events": [ - { - "event": { - "ext": "v0", - "contract_id": null, - "type_": "diagnostic", - "body": { - "v0": { - "topics": [ - { - "symbol": "fn_call" - }, - { - "bytes": "0000000000000000000000000000000000000000000000000000000000000001" - }, - { - "symbol": "init" - } - ], - "data": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" - } - } - } - }, - "failed_call": false - }, - { - "event": { - "ext": "v0", - "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", - "type_": "diagnostic", - "body": { - "v0": { - "topics": [ - { - "symbol": "fn_return" - }, - { - "symbol": "init" - } - ], - "data": "void" - } - } - }, - "failed_call": false - }, - { - "event": { - "ext": "v0", - "contract_id": null, - "type_": "diagnostic", - "body": { - "v0": { - "topics": [ - { - "symbol": "fn_call" - }, - { - "bytes": "0000000000000000000000000000000000000000000000000000000000000001" - }, - { - "symbol": "create_circle" - } - ], - "data": { - "vec": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" - }, - { - "i128": { - "hi": 0, - "lo": 1000000 - } - }, - { - "u32": 15 + }, + { + "key": { + "vec": [ + { + "symbol": "Member" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "buddy" + }, + "val": "void" + }, + { + "key": { + "symbol": "contribution_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "index" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "last_contribution_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "referrer" + }, + "val": "void" + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "tier_multiplier" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Member" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "buddy" + }, + "val": "void" + }, + { + "key": { + "symbol": "contribution_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "index" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "last_contribution_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "referrer" + }, + "val": "void" + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "tier_multiplier" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Proposal" + }, + { + "u64": 2 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "against_votes" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "created_timestamp" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "description" + }, + "val": { + "string": "Test description" + } + }, + { + "key": { + "symbol": "execution_data" + }, + "val": { + "string": "{}" + } + }, + { + "key": { + "symbol": "for_votes" + }, + "val": { + "u64": 25 + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": 2 + } + }, + { + "key": { + "symbol": "proposal_type" + }, + "val": { + "vec": [ + { + "symbol": "ChangeLateFee" + } + ] + } + }, + { + "key": { + "symbol": "proposer" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "quorum_met" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "title" + }, + "val": { + "string": "Test proposal" + } + }, + { + "key": { + "symbol": "total_voting_power" + }, + "val": { + "u64": 25 + } + }, + { + "key": { + "symbol": "voting_end_timestamp" + }, + "val": { + "u64": 604800 + } + }, + { + "key": { + "symbol": "voting_start_timestamp" + }, + "val": { + "u64": 0 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "ProposalStats" + }, + { + "u64": 1 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "approved_proposals" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "average_participation" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "average_voting_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "executed_proposals" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "rejected_proposals" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "total_proposals" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "QuadraticVote" + }, + { + "u64": 2 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "proposal_id" + }, + "val": { + "u64": 2 + } + }, + { + "key": { + "symbol": "timestamp" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "vote_choice" + }, + "val": { + "vec": [ + { + "symbol": "For" + } + ] + } + }, + { + "key": { + "symbol": "vote_weight" + }, + "val": { + "u32": 5 + } + }, + { + "key": { + "symbol": "voter" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "voting_power_used" + }, + "val": { + "u64": 25 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "VotingPower" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 1 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "last_updated" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "member" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "quadratic_power" + }, + "val": { + "u64": 25 + } + }, + { + "key": { + "symbol": "token_balance" + }, + "val": { + "i128": { + "hi": 0, + "lo": 25000 + } + } + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 4837995959683129791 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 4837995959683129791 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": 4270020994084947596 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": 4270020994084947596 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": null + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [ + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "init" + } + ], + "data": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "init" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "create_circle" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "i128": { + "hi": 0, + "lo": 100000 + } + }, + { + "u32": 15 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "u64": 86400 + }, + { + "u32": 100 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "create_circle" + } + ], + "data": { + "u64": 1 + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "join_circle" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000007" + }, + { + "symbol": "mint" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u128": { + "hi": 1, + "lo": 0 + } + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000007", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "mint" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "join_circle" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "join_circle" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000007" + }, + { + "symbol": "mint" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u128": { + "hi": 1, + "lo": 1 + } + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000007", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "mint" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "join_circle" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "create_proposal" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + "u64": 1 }, { - "u64": 86400 + "vec": [ + { + "symbol": "ChangeLateFee" + } + ] }, { - "u32": 100 + "string": "Test proposal" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + "string": "Test description" + }, + { + "string": "{}" } ] } @@ -517,11 +1608,11 @@ "symbol": "fn_return" }, { - "symbol": "create_circle" + "symbol": "create_proposal" } ], "data": { - "u64": 1 + "u64": 2 } } } @@ -543,21 +1634,87 @@ "bytes": "0000000000000000000000000000000000000000000000000000000000000001" }, { - "symbol": "join_circle" + "symbol": "update_voting_power" } ], "data": { "vec": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" }, { "u64": 1 }, { - "u32": 1 + "i128": { + "hi": 0, + "lo": 25000 + } + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "update_voting_power" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "quadratic_vote" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" }, - "void" + { + "u64": 2 + }, + { + "u32": 10 + }, + { + "vec": [ + { + "symbol": "For" + } + ] + } ] } } @@ -580,18 +1737,24 @@ "data": { "vec": [ { - "string": "caught panic 'Collateral required for this circle' from contract function 'Symbol(obj#109)'" + "string": "caught panic 'Insufficient voting power' from contract function 'Symbol(obj#801)'" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" }, { - "u64": 1 + "u64": 2 }, { - "u32": 1 + "u32": 10 }, - "void" + { + "vec": [ + { + "symbol": "For" + } + ] + } ] } } @@ -647,20 +1810,26 @@ "string": "contract call failed" }, { - "symbol": "join_circle" + "symbol": "quadratic_vote" }, { "vec": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" }, { - "u64": 1 + "u64": 2 }, { - "u32": 1 + "u32": 10 }, - "void" + { + "vec": [ + { + "symbol": "For" + } + ] + } ] } ] @@ -694,6 +1863,248 @@ } }, "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "quadratic_vote" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 2 + }, + { + "u32": 5 + }, + { + "vec": [ + { + "symbol": "For" + } + ] + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "quadratic_vote" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "get_proposal" + } + ], + "data": { + "u64": 2 + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "get_proposal" + } + ], + "data": { + "map": [ + { + "key": { + "symbol": "against_votes" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "created_timestamp" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "description" + }, + "val": { + "string": "Test description" + } + }, + { + "key": { + "symbol": "execution_data" + }, + "val": { + "string": "{}" + } + }, + { + "key": { + "symbol": "for_votes" + }, + "val": { + "u64": 25 + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": 2 + } + }, + { + "key": { + "symbol": "proposal_type" + }, + "val": { + "vec": [ + { + "symbol": "ChangeLateFee" + } + ] + } + }, + { + "key": { + "symbol": "proposer" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "quorum_met" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "title" + }, + "val": { + "string": "Test proposal" + } + }, + { + "key": { + "symbol": "total_voting_power" + }, + "val": { + "u64": 25 + } + }, + { + "key": { + "symbol": "voting_end_timestamp" + }, + "val": { + "u64": 604800 + } + }, + { + "key": { + "symbol": "voting_start_timestamp" + }, + "val": { + "u64": 0 + } + } + ] + } + } + } + }, + "failed_call": false } ] } \ No newline at end of file diff --git a/test_snapshots/test_leniency_stats_tracking.1.json b/test_snapshots/test_leniency_stats_tracking.1.json index 3505e81..61b762c 100644 --- a/test_snapshots/test_leniency_stats_tracking.1.json +++ b/test_snapshots/test_leniency_stats_tracking.1.json @@ -45,6 +45,288 @@ } ] ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "join_circle", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "join_circle", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "join_circle", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "join_circle", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "request_leniency", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "string": "Medical emergency" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "vote_on_leniency", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "vec": [ + { + "symbol": "Approve" + } + ] + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "vote_on_leniency", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + }, + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "vec": [ + { + "symbol": "Approve" + } + ] + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "request_leniency", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 1 + }, + { + "string": "Need extra time" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "vote_on_leniency", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "vec": [ + { + "symbol": "Reject" + } + ] + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "vote_on_leniency", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + }, + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "vec": [ + { + "symbol": "Reject" + } + ] + } + ] + } + }, + "sub_invocations": [] + } + ] + ], [] ], "ledger": { @@ -167,14 +449,16 @@ "symbol": "deadline_timestamp" }, "val": { - "u64": 86400 + "u64": 259200 } }, { "key": { "symbol": "grace_period_end" }, - "val": "void" + "val": { + "u64": 259200 + } }, { "key": { @@ -256,7 +540,7 @@ "symbol": "member_count" }, "val": { - "u32": 0 + "u32": 4 } }, { @@ -339,74 +623,1900 @@ "val": { "u64": 0 } - } - ] - } - } - } + }, + { + "key": { + "vec": [ + { + "symbol": "LeniencyRequest" + }, + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "approve_votes" + }, + "val": { + "u32": 2 + } + }, + { + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "extension_hours" + }, + "val": { + "u64": 48 + } + }, + { + "key": { + "symbol": "reason" + }, + "val": { + "string": "Medical emergency" + } + }, + { + "key": { + "symbol": "reject_votes" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "request_timestamp" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "requester" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Approved" + } + ] + } + }, + { + "key": { + "symbol": "total_votes_cast" + }, + "val": { + "u32": 2 + } + }, + { + "key": { + "symbol": "voting_deadline" + }, + "val": { + "u64": 86400 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "LeniencyRequest" + }, + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "approve_votes" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "extension_hours" + }, + "val": { + "u64": 48 + } + }, + { + "key": { + "symbol": "reason" + }, + "val": { + "string": "Need extra time" + } + }, + { + "key": { + "symbol": "reject_votes" + }, + "val": { + "u32": 2 + } + }, + { + "key": { + "symbol": "request_timestamp" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "requester" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Rejected" + } + ] + } + }, + { + "key": { + "symbol": "total_votes_cast" + }, + "val": { + "u32": 2 + } + }, + { + "key": { + "symbol": "voting_deadline" + }, + "val": { + "u64": 86400 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "LeniencyStats" + }, + { + "u64": 1 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "approved_requests" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "average_participation" + }, + "val": { + "u32": 2 + } + }, + { + "key": { + "symbol": "expired_requests" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "rejected_requests" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "total_requests" + }, + "val": { + "u32": 2 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "LeniencyVotes" + }, + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "val": { + "vec": [ + { + "symbol": "Approve" + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "LeniencyVotes" + }, + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "val": { + "vec": [ + { + "symbol": "Reject" + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "LeniencyVotes" + }, + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "val": { + "vec": [ + { + "symbol": "Approve" + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "LeniencyVotes" + }, + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "val": { + "vec": [ + { + "symbol": "Reject" + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Member" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "buddy" + }, + "val": "void" + }, + { + "key": { + "symbol": "contribution_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "index" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "last_contribution_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "referrer" + }, + "val": "void" + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "tier_multiplier" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Member" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "buddy" + }, + "val": "void" + }, + { + "key": { + "symbol": "contribution_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "index" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "last_contribution_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "referrer" + }, + "val": "void" + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "tier_multiplier" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Member" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "symbol": "buddy" + }, + "val": "void" + }, + { + "key": { + "symbol": "contribution_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "index" + }, + "val": { + "u32": 2 + } + }, + { + "key": { + "symbol": "last_contribution_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "referrer" + }, + "val": "void" + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "tier_multiplier" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Member" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + }, + { + "key": { + "symbol": "buddy" + }, + "val": "void" + }, + { + "key": { + "symbol": "contribution_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "index" + }, + "val": { + "u32": 3 + } + }, + { + "key": { + "symbol": "last_contribution_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "referrer" + }, + "val": "void" + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "tier_multiplier" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "SocialCapital" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "leniency_given" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "leniency_received" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "member" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "trust_score" + }, + "val": { + "u32": 55 + } + }, + { + "key": { + "symbol": "voting_participation" + }, + "val": { + "u32": 0 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "SocialCapital" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "u64": 1 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "leniency_given" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "leniency_received" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "member" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "symbol": "trust_score" + }, + "val": { + "u32": 51 + } + }, + { + "key": { + "symbol": "voting_participation" + }, + "val": { + "u32": 2 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "SocialCapital" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + }, + { + "u64": 1 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "leniency_given" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "leniency_received" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "member" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + }, + { + "key": { + "symbol": "trust_score" + }, + "val": { + "u32": 51 + } + }, + { + "key": { + "symbol": "voting_participation" + }, + "val": { + "u32": 2 + } + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 4270020994084947596 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 4270020994084947596 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": 5806905060045992000 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": 5806905060045992000 + } + }, + "durability": "temporary", + "val": "void" + } }, "ext": "v0" }, - 4095 + 6311999 ] ], [ { "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", "key": { "ledger_key_nonce": { - "nonce": 801925984706572462 + "nonce": 1194852393571756375 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 1194852393571756375 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 4837995959683129791 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 4837995959683129791 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 8370022561469687789 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 8370022561469687789 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + "key": { + "ledger_key_nonce": { + "nonce": 115220454072064130 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + "key": { + "ledger_key_nonce": { + "nonce": 115220454072064130 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + "key": { + "ledger_key_nonce": { + "nonce": 2032731177588607455 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + "key": { + "ledger_key_nonce": { + "nonce": 2032731177588607455 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATYON", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATYON", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": null + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [ + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "init" + } + ], + "data": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "init" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "create_circle" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "i128": { + "hi": 0, + "lo": 1000000 + } + }, + { + "u32": 5 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + }, + { + "u64": 86400 + }, + { + "u32": 100 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATYON" + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "create_circle" + } + ], + "data": { + "u64": 1 + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "join_circle" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000009" + }, + { + "symbol": "mint" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u128": { + "hi": 1, + "lo": 0 + } + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000009", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "mint" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "join_circle" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "join_circle" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000009" + }, + { + "symbol": "mint" } - }, - "durability": "temporary" + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u128": { + "hi": 1, + "lo": 1 + } + } + ] + } } - }, - [ - { - "last_modified_ledger_seq": 0, + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000009", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "mint" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "join_circle" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "join_circle" + } + ], "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", - "key": { - "ledger_key_nonce": { - "nonce": 801925984706572462 + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000009" + }, + { + "symbol": "mint" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "u128": { + "hi": 1, + "lo": 2 } + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000009", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "mint" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "join_circle" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "join_circle" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" }, - "durability": "temporary", - "val": "void" + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000009" + }, + { + "symbol": "mint" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + }, + { + "u128": { + "hi": 1, + "lo": 3 + } + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000009", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "mint" } - }, - "ext": "v0" - }, - 6311999 - ] - ], - [ - { - "contract_code": { - "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + ], + "data": "void" } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_code": { - "ext": "v0", - "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "code": "" + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "join_circle" } - }, - "ext": "v0" - }, - 4095 - ] - ] - ] - }, - "events": [ + ], + "data": "void" + } + } + }, + "failed_call": false + }, { "event": { "ext": "v0", @@ -422,11 +2532,21 @@ "bytes": "0000000000000000000000000000000000000000000000000000000000000001" }, { - "symbol": "init" + "symbol": "request_leniency" } ], "data": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "string": "Medical emergency" + } + ] } } } @@ -445,7 +2565,7 @@ "symbol": "fn_return" }, { - "symbol": "init" + "symbol": "request_leniency" } ], "data": "void" @@ -469,34 +2589,26 @@ "bytes": "0000000000000000000000000000000000000000000000000000000000000001" }, { - "symbol": "create_circle" + "symbol": "vote_on_leniency" } ], "data": { "vec": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" - }, - { - "i128": { - "hi": 0, - "lo": 1000000 - } - }, - { - "u32": 5 - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" }, { - "u64": 86400 + "u64": 1 }, { - "u32": 100 + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATYON" + "vec": [ + { + "symbol": "Approve" + } + ] } ] } @@ -517,12 +2629,10 @@ "symbol": "fn_return" }, { - "symbol": "create_circle" + "symbol": "vote_on_leniency" } ], - "data": { - "u64": 1 - } + "data": "void" } } }, @@ -543,21 +2653,27 @@ "bytes": "0000000000000000000000000000000000000000000000000000000000000001" }, { - "symbol": "join_circle" + "symbol": "vote_on_leniency" } ], "data": { "vec": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" }, { "u64": 1 }, { - "u32": 1 + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, - "void" + { + "vec": [ + { + "symbol": "Approve" + } + ] + } ] } } @@ -570,6 +2686,27 @@ "ext": "v0", "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "vote_on_leniency" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", "body": { "v0": { "topics": [ @@ -577,29 +2714,29 @@ "symbol": "fn_call" }, { - "bytes": "0000000000000000000000000000000000000000000000000000000000000009" + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" }, { - "symbol": "mint" + "symbol": "request_leniency" } ], "data": { "vec": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" }, { - "u128": { - "hi": 1, - "lo": 0 - } + "u64": 1 + }, + { + "string": "Need extra time" } ] } } } }, - "failed_call": true + "failed_call": false }, { "event": { @@ -610,57 +2747,51 @@ "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_return" }, { - "error": { - "storage": "missing_value" - } + "symbol": "request_leniency" } ], - "data": { - "string": "trying to get non-existing value for contract instance" - } + "data": "void" } } }, - "failed_call": true + "failed_call": false }, { "event": { "ext": "v0", - "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "contract_id": null, "type_": "diagnostic", "body": { "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" }, { - "error": { - "storage": "missing_value" - } + "symbol": "vote_on_leniency" } ], "data": { "vec": [ { - "string": "contract call failed" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" }, { - "symbol": "mint" + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" }, { "vec": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "u128": { - "hi": 1, - "lo": 0 - } + "symbol": "Reject" } ] } @@ -669,7 +2800,7 @@ } } }, - "failed_call": true + "failed_call": false }, { "event": { @@ -680,21 +2811,60 @@ "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_return" }, { - "error": { - "storage": "missing_value" - } + "symbol": "vote_on_leniency" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "vote_on_leniency" } ], "data": { - "string": "escalating error to panic" + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + }, + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "vec": [ + { + "symbol": "Reject" + } + ] + } + ] } } } }, - "failed_call": true + "failed_call": false }, { "event": { @@ -705,21 +2875,17 @@ "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_return" }, { - "error": { - "storage": "missing_value" - } + "symbol": "vote_on_leniency" } ], - "data": { - "string": "caught error from function" - } + "data": "void" } } }, - "failed_call": true + "failed_call": false }, { "event": { @@ -730,37 +2896,17 @@ "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_call" }, { - "error": { - "storage": "missing_value" - } + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "get_leniency_stats" } ], "data": { - "vec": [ - { - "string": "contract call failed" - }, - { - "symbol": "join_circle" - }, - { - "vec": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "u64": 1 - }, - { - "u32": 1 - }, - "void" - ] - } - ] + "u64": 1 } } } @@ -770,22 +2916,61 @@ { "event": { "ext": "v0", - "contract_id": null, + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", "type_": "diagnostic", "body": { "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_return" }, { - "error": { - "storage": "missing_value" - } + "symbol": "get_leniency_stats" } ], "data": { - "string": "escalating error to panic" + "map": [ + { + "key": { + "symbol": "approved_requests" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "average_participation" + }, + "val": { + "u32": 2 + } + }, + { + "key": { + "symbol": "expired_requests" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "rejected_requests" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "total_requests" + }, + "val": { + "u32": 2 + } + } + ] } } } diff --git a/test_snapshots/test_max_vote_weight_enforcement.1.json b/test_snapshots/test_max_vote_weight_enforcement.1.json index 9c3373a..11316dd 100644 --- a/test_snapshots/test_max_vote_weight_enforcement.1.json +++ b/test_snapshots/test_max_vote_weight_enforcement.1.json @@ -20,7 +20,7 @@ { "i128": { "hi": 0, - "lo": 1000000 + "lo": 100000 } }, { @@ -45,6 +45,130 @@ } ] ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "join_circle", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "join_circle", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "create_proposal", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "vec": [ + { + "symbol": "ChangeLateFee" + } + ] + }, + { + "string": "Test proposal" + }, + { + "string": "Test description" + }, + { + "string": "{}" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "quadratic_vote", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 2 + }, + { + "u32": 100 + }, + { + "vec": [ + { + "symbol": "For" + } + ] + } + ] + } + }, + "sub_invocations": [] + } + ] + ], [] ], "ledger": { @@ -110,7 +234,7 @@ "symbol": "collateral_bps" }, "val": { - "u32": 2000 + "u32": 0 } }, { @@ -120,7 +244,7 @@ "val": { "i128": { "hi": 0, - "lo": 1000000 + "lo": 100000 } } }, @@ -256,7 +380,7 @@ "symbol": "member_count" }, "val": { - "u32": 0 + "u32": 2 } }, { @@ -272,7 +396,7 @@ "symbol": "proposal_count" }, "val": { - "u64": 0 + "u64": 1 } }, { @@ -288,7 +412,7 @@ "symbol": "requires_collateral" }, "val": { - "bool": true + "bool": false } }, { @@ -306,7 +430,7 @@ "val": { "i128": { "hi": 0, - "lo": 15000000 + "lo": 1500000 } } } @@ -339,164 +463,1131 @@ "val": { "u64": 0 } - } - ] - } - } - } - }, - "ext": "v0" - }, - 4095 - ] - ], - [ - { - "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", - "key": { - "ledger_key_nonce": { - "nonce": 801925984706572462 - } - }, - "durability": "temporary" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", - "key": { - "ledger_key_nonce": { - "nonce": 801925984706572462 - } - }, - "durability": "temporary", - "val": "void" - } - }, - "ext": "v0" - }, - 6311999 - ] - ], - [ - { - "contract_code": { - "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_code": { - "ext": "v0", - "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "code": "" - } - }, - "ext": "v0" - }, - 4095 - ] - ] - ] - }, - "events": [ - { - "event": { - "ext": "v0", - "contract_id": null, - "type_": "diagnostic", - "body": { - "v0": { - "topics": [ - { - "symbol": "fn_call" - }, - { - "bytes": "0000000000000000000000000000000000000000000000000000000000000001" - }, - { - "symbol": "init" - } - ], - "data": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" - } - } - } - }, - "failed_call": false - }, - { - "event": { - "ext": "v0", - "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", - "type_": "diagnostic", - "body": { - "v0": { - "topics": [ - { - "symbol": "fn_return" - }, - { - "symbol": "init" - } - ], - "data": "void" - } - } - }, - "failed_call": false - }, - { - "event": { - "ext": "v0", - "contract_id": null, - "type_": "diagnostic", - "body": { - "v0": { - "topics": [ - { - "symbol": "fn_call" - }, - { - "bytes": "0000000000000000000000000000000000000000000000000000000000000001" - }, - { - "symbol": "create_circle" - } - ], - "data": { - "vec": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" - }, - { - "i128": { - "hi": 0, - "lo": 1000000 - } - }, - { + }, + { + "key": { + "vec": [ + { + "symbol": "Member" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "buddy" + }, + "val": "void" + }, + { + "key": { + "symbol": "contribution_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "index" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "last_contribution_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "referrer" + }, + "val": "void" + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "tier_multiplier" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Member" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "buddy" + }, + "val": "void" + }, + { + "key": { + "symbol": "contribution_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "index" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "last_contribution_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "referrer" + }, + "val": "void" + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "tier_multiplier" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Proposal" + }, + { + "u64": 2 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "against_votes" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "created_timestamp" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "description" + }, + "val": { + "string": "Test description" + } + }, + { + "key": { + "symbol": "execution_data" + }, + "val": { + "string": "{}" + } + }, + { + "key": { + "symbol": "for_votes" + }, + "val": { + "u64": 10000 + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": 2 + } + }, + { + "key": { + "symbol": "proposal_type" + }, + "val": { + "vec": [ + { + "symbol": "ChangeLateFee" + } + ] + } + }, + { + "key": { + "symbol": "proposer" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "quorum_met" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "title" + }, + "val": { + "string": "Test proposal" + } + }, + { + "key": { + "symbol": "total_voting_power" + }, + "val": { + "u64": 10000 + } + }, + { + "key": { + "symbol": "voting_end_timestamp" + }, + "val": { + "u64": 604800 + } + }, + { + "key": { + "symbol": "voting_start_timestamp" + }, + "val": { + "u64": 0 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "ProposalStats" + }, + { + "u64": 1 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "approved_proposals" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "average_participation" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "average_voting_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "executed_proposals" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "rejected_proposals" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "total_proposals" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "QuadraticVote" + }, + { + "u64": 2 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "proposal_id" + }, + "val": { + "u64": 2 + } + }, + { + "key": { + "symbol": "timestamp" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "vote_choice" + }, + "val": { + "vec": [ + { + "symbol": "For" + } + ] + } + }, + { + "key": { + "symbol": "vote_weight" + }, + "val": { + "u32": 100 + } + }, + { + "key": { + "symbol": "voter" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "voting_power_used" + }, + "val": { + "u64": 10000 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "VotingPower" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 1 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "last_updated" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "member" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "quadratic_power" + }, + "val": { + "u64": 1000000 + } + }, + { + "key": { + "symbol": "token_balance" + }, + "val": { + "i128": { + "hi": 0, + "lo": 1000000000 + } + } + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 4837995959683129791 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 4837995959683129791 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": 4270020994084947596 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": 4270020994084947596 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": null + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [ + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "init" + } + ], + "data": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "init" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "create_circle" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "i128": { + "hi": 0, + "lo": 100000 + } + }, + { "u32": 15 }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "u64": 86400 + }, + { + "u32": 100 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "create_circle" + } + ], + "data": { + "u64": 1 + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "join_circle" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000007" + }, + { + "symbol": "mint" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u128": { + "hi": 1, + "lo": 0 + } + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000007", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "mint" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "join_circle" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "join_circle" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000007" + }, + { + "symbol": "mint" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u128": { + "hi": 1, + "lo": 1 + } + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000007", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "mint" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "join_circle" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "create_proposal" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 }, { - "u64": 86400 + "vec": [ + { + "symbol": "ChangeLateFee" + } + ] }, { - "u32": 100 + "string": "Test proposal" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + "string": "Test description" + }, + { + "string": "{}" } ] } @@ -517,11 +1608,11 @@ "symbol": "fn_return" }, { - "symbol": "create_circle" + "symbol": "create_proposal" } ], "data": { - "u64": 1 + "u64": 2 } } } @@ -543,21 +1634,87 @@ "bytes": "0000000000000000000000000000000000000000000000000000000000000001" }, { - "symbol": "join_circle" + "symbol": "update_voting_power" } ], "data": { "vec": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" }, { "u64": 1 }, { - "u32": 1 + "i128": { + "hi": 0, + "lo": 1000000000 + } + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "update_voting_power" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "quadratic_vote" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" }, - "void" + { + "u64": 2 + }, + { + "u32": 150 + }, + { + "vec": [ + { + "symbol": "For" + } + ] + } ] } } @@ -580,18 +1737,24 @@ "data": { "vec": [ { - "string": "caught panic 'Collateral required for this circle' from contract function 'Symbol(obj#109)'" + "string": "caught panic 'Vote weight exceeds maximum' from contract function 'Symbol(obj#801)'" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" }, { - "u64": 1 + "u64": 2 }, { - "u32": 1 + "u32": 150 }, - "void" + { + "vec": [ + { + "symbol": "For" + } + ] + } ] } } @@ -647,20 +1810,26 @@ "string": "contract call failed" }, { - "symbol": "join_circle" + "symbol": "quadratic_vote" }, { "vec": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" }, { - "u64": 1 + "u64": 2 }, { - "u32": 1 + "u32": 150 }, - "void" + { + "vec": [ + { + "symbol": "For" + } + ] + } ] } ] @@ -694,6 +1863,248 @@ } }, "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "quadratic_vote" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 2 + }, + { + "u32": 100 + }, + { + "vec": [ + { + "symbol": "For" + } + ] + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "quadratic_vote" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "get_proposal" + } + ], + "data": { + "u64": 2 + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "get_proposal" + } + ], + "data": { + "map": [ + { + "key": { + "symbol": "against_votes" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "created_timestamp" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "description" + }, + "val": { + "string": "Test description" + } + }, + { + "key": { + "symbol": "execution_data" + }, + "val": { + "string": "{}" + } + }, + { + "key": { + "symbol": "for_votes" + }, + "val": { + "u64": 10000 + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": 2 + } + }, + { + "key": { + "symbol": "proposal_type" + }, + "val": { + "vec": [ + { + "symbol": "ChangeLateFee" + } + ] + } + }, + { + "key": { + "symbol": "proposer" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "quorum_met" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "title" + }, + "val": { + "string": "Test proposal" + } + }, + { + "key": { + "symbol": "total_voting_power" + }, + "val": { + "u64": 10000 + } + }, + { + "key": { + "symbol": "voting_end_timestamp" + }, + "val": { + "u64": 604800 + } + }, + { + "key": { + "symbol": "voting_start_timestamp" + }, + "val": { + "u64": 0 + } + } + ] + } + } + } + }, + "failed_call": false } ] } \ No newline at end of file diff --git a/test_snapshots/test_minimum_participation_requirement.1.json b/test_snapshots/test_minimum_participation_requirement.1.json index 6605e4a..20346b0 100644 --- a/test_snapshots/test_minimum_participation_requirement.1.json +++ b/test_snapshots/test_minimum_participation_requirement.1.json @@ -45,6 +45,115 @@ } ] ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "join_circle", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "join_circle", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "request_leniency", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "string": "Need extra time" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "vote_on_leniency", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "vec": [ + { + "symbol": "Approve" + } + ] + } + ] + } + }, + "sub_invocations": [] + } + ] + ], [] ], "ledger": { @@ -167,14 +276,16 @@ "symbol": "deadline_timestamp" }, "val": { - "u64": 86400 + "u64": 259200 } }, { "key": { "symbol": "grace_period_end" }, - "val": "void" + "val": { + "u64": 259200 + } }, { "key": { @@ -256,7 +367,7 @@ "symbol": "member_count" }, "val": { - "u32": 0 + "u32": 2 } }, { @@ -339,48 +450,690 @@ "val": { "u64": 0 } - } - ] - } - } - } - }, - "ext": "v0" - }, - 4095 - ] - ], - [ - { - "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", - "key": { - "ledger_key_nonce": { - "nonce": 801925984706572462 - } - }, - "durability": "temporary" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", - "key": { - "ledger_key_nonce": { - "nonce": 801925984706572462 + }, + { + "key": { + "vec": [ + { + "symbol": "LeniencyRequest" + }, + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "approve_votes" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "extension_hours" + }, + "val": { + "u64": 48 + } + }, + { + "key": { + "symbol": "reason" + }, + "val": { + "string": "Need extra time" + } + }, + { + "key": { + "symbol": "reject_votes" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "request_timestamp" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "requester" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Approved" + } + ] + } + }, + { + "key": { + "symbol": "total_votes_cast" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "voting_deadline" + }, + "val": { + "u64": 86400 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "LeniencyStats" + }, + { + "u64": 1 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "approved_requests" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "average_participation" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "expired_requests" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "rejected_requests" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "total_requests" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "LeniencyVotes" + }, + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "val": { + "vec": [ + { + "symbol": "Approve" + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Member" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "buddy" + }, + "val": "void" + }, + { + "key": { + "symbol": "contribution_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "index" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "last_contribution_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "referrer" + }, + "val": "void" + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "tier_multiplier" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Member" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "buddy" + }, + "val": "void" + }, + { + "key": { + "symbol": "contribution_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "index" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "last_contribution_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "referrer" + }, + "val": "void" + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "tier_multiplier" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "SocialCapital" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "leniency_given" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "leniency_received" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "member" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "trust_score" + }, + "val": { + "u32": 55 + } + }, + { + "key": { + "symbol": "voting_participation" + }, + "val": { + "u32": 0 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "SocialCapital" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 1 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "leniency_given" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "leniency_received" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "member" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "trust_score" + }, + "val": { + "u32": 52 + } + }, + { + "key": { + "symbol": "voting_participation" + }, + "val": { + "u32": 1 + } + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 4837995959683129791 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 4837995959683129791 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": 2032731177588607455 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": 2032731177588607455 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": null } - }, - "durability": "temporary", - "val": "void" + } } }, "ext": "v0" }, - 6311999 + 4095 ] ], [ @@ -599,32 +1352,28 @@ } } }, - "failed_call": true + "failed_call": false }, { "event": { "ext": "v0", - "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000007", "type_": "diagnostic", "body": { "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_return" }, { - "error": { - "storage": "missing_value" - } + "symbol": "mint" } ], - "data": { - "string": "trying to get non-existing value for contract instance" - } + "data": "void" } } }, - "failed_call": true + "failed_call": false }, { "event": { @@ -635,41 +1384,54 @@ "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_return" }, { - "error": { - "storage": "missing_value" - } + "symbol": "join_circle" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "join_circle" } ], "data": { "vec": [ { - "string": "contract call failed" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" }, { - "symbol": "mint" + "u64": 1 }, { - "vec": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "u128": { - "hi": 1, - "lo": 0 - } - } - ] - } + "u32": 1 + }, + "void" ] } } } }, - "failed_call": true + "failed_call": false }, { "event": { @@ -680,21 +1442,53 @@ "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_call" }, { - "error": { - "storage": "missing_value" - } + "bytes": "0000000000000000000000000000000000000000000000000000000000000007" + }, + { + "symbol": "mint" } ], "data": { - "string": "escalating error to panic" + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u128": { + "hi": 1, + "lo": 1 + } + } + ] } } } }, - "failed_call": true + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000007", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "mint" + } + ], + "data": "void" + } + } + }, + "failed_call": false }, { "event": { @@ -705,21 +1499,74 @@ "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_return" }, { - "error": { - "storage": "missing_value" - } + "symbol": "join_circle" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "request_leniency" } ], "data": { - "string": "caught error from function" + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "string": "Need extra time" + } + ] } } } }, - "failed_call": true + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "request_leniency" + } + ], + "data": "void" + } + } + }, + "failed_call": false }, { "event": { @@ -730,34 +1577,31 @@ "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" }, { - "error": { - "storage": "missing_value" - } + "symbol": "vote_on_leniency" } ], "data": { "vec": [ { - "string": "contract call failed" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" }, { - "symbol": "join_circle" + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { "vec": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "u64": 1 - }, - { - "u32": 1 - }, - "void" + "symbol": "Approve" + } ] } ] @@ -767,6 +1611,27 @@ }, "failed_call": false }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "vote_on_leniency" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, { "event": { "ext": "v0", @@ -776,16 +1641,132 @@ "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" }, { - "error": { - "storage": "missing_value" + "symbol": "get_leniency_request" + } + ], + "data": { + "vec": [ + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "get_leniency_request" } ], "data": { - "string": "escalating error to panic" + "map": [ + { + "key": { + "symbol": "approve_votes" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "extension_hours" + }, + "val": { + "u64": 48 + } + }, + { + "key": { + "symbol": "reason" + }, + "val": { + "string": "Need extra time" + } + }, + { + "key": { + "symbol": "reject_votes" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "request_timestamp" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "requester" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Approved" + } + ] + } + }, + { + "key": { + "symbol": "total_votes_cast" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "voting_deadline" + }, + "val": { + "u64": 86400 + } + } + ] } } } diff --git a/test_snapshots/test_proposal_execution.1.json b/test_snapshots/test_proposal_execution.1.json index 3051582..544357d 100644 --- a/test_snapshots/test_proposal_execution.1.json +++ b/test_snapshots/test_proposal_execution.1.json @@ -20,7 +20,7 @@ { "i128": { "hi": 0, - "lo": 1000000 + "lo": 100000 } }, { @@ -45,12 +45,276 @@ } ] ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "join_circle", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "join_circle", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "join_circle", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "join_circle", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "create_proposal", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "vec": [ + { + "symbol": "ChangeLateFee" + } + ] + }, + { + "string": "Test proposal" + }, + { + "string": "Test description" + }, + { + "string": "{}" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "quadratic_vote", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 2 + }, + { + "u32": 10 + }, + { + "vec": [ + { + "symbol": "For" + } + ] + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "quadratic_vote", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "u64": 2 + }, + { + "u32": 8 + }, + { + "vec": [ + { + "symbol": "For" + } + ] + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "quadratic_vote", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + }, + { + "u64": 2 + }, + { + "u32": 2 + }, + { + "vec": [ + { + "symbol": "Against" + } + ] + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "execute_proposal", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "u64": 2 + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], [] ], "ledger": { "protocol_version": 21, "sequence_number": 0, - "timestamp": 0, + "timestamp": 700000, "network_id": "0000000000000000000000000000000000000000000000000000000000000000", "base_reserve": 0, "min_persistent_entry_ttl": 4096, @@ -110,7 +374,7 @@ "symbol": "collateral_bps" }, "val": { - "u32": 2000 + "u32": 0 } }, { @@ -120,7 +384,7 @@ "val": { "i128": { "hi": 0, - "lo": 1000000 + "lo": 100000 } } }, @@ -256,7 +520,7 @@ "symbol": "member_count" }, "val": { - "u32": 0 + "u32": 4 } }, { @@ -272,7 +536,7 @@ "symbol": "proposal_count" }, "val": { - "u64": 0 + "u64": 1 } }, { @@ -288,7 +552,7 @@ "symbol": "requires_collateral" }, "val": { - "bool": true + "bool": false } }, { @@ -306,7 +570,7 @@ "val": { "i128": { "hi": 0, - "lo": 15000000 + "lo": 1500000 } } } @@ -339,74 +603,2163 @@ "val": { "u64": 0 } - } - ] - } - } - } - }, - "ext": "v0" - }, - 4095 - ] - ], - [ - { - "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", - "key": { - "ledger_key_nonce": { - "nonce": 801925984706572462 - } - }, - "durability": "temporary" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", + }, + { + "key": { + "vec": [ + { + "symbol": "Member" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "buddy" + }, + "val": "void" + }, + { + "key": { + "symbol": "contribution_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "index" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "last_contribution_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "referrer" + }, + "val": "void" + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "tier_multiplier" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Member" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "buddy" + }, + "val": "void" + }, + { + "key": { + "symbol": "contribution_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "index" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "last_contribution_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "referrer" + }, + "val": "void" + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "tier_multiplier" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Member" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "symbol": "buddy" + }, + "val": "void" + }, + { + "key": { + "symbol": "contribution_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "index" + }, + "val": { + "u32": 2 + } + }, + { + "key": { + "symbol": "last_contribution_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "referrer" + }, + "val": "void" + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "tier_multiplier" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Member" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + }, + { + "key": { + "symbol": "buddy" + }, + "val": "void" + }, + { + "key": { + "symbol": "contribution_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "index" + }, + "val": { + "u32": 3 + } + }, + { + "key": { + "symbol": "last_contribution_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "referrer" + }, + "val": "void" + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "tier_multiplier" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Proposal" + }, + { + "u64": 2 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "against_votes" + }, + "val": { + "u64": 4 + } + }, + { + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "created_timestamp" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "description" + }, + "val": { + "string": "Test description" + } + }, + { + "key": { + "symbol": "execution_data" + }, + "val": { + "string": "{}" + } + }, + { + "key": { + "symbol": "for_votes" + }, + "val": { + "u64": 164 + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": 2 + } + }, + { + "key": { + "symbol": "proposal_type" + }, + "val": { + "vec": [ + { + "symbol": "ChangeLateFee" + } + ] + } + }, + { + "key": { + "symbol": "proposer" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "quorum_met" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Executed" + } + ] + } + }, + { + "key": { + "symbol": "title" + }, + "val": { + "string": "Test proposal" + } + }, + { + "key": { + "symbol": "total_voting_power" + }, + "val": { + "u64": 168 + } + }, + { + "key": { + "symbol": "voting_end_timestamp" + }, + "val": { + "u64": 604800 + } + }, + { + "key": { + "symbol": "voting_start_timestamp" + }, + "val": { + "u64": 0 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "ProposalStats" + }, + { + "u64": 1 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "approved_proposals" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "average_participation" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "average_voting_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "executed_proposals" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "rejected_proposals" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "total_proposals" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "QuadraticVote" + }, + { + "u64": 2 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "proposal_id" + }, + "val": { + "u64": 2 + } + }, + { + "key": { + "symbol": "timestamp" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "vote_choice" + }, + "val": { + "vec": [ + { + "symbol": "For" + } + ] + } + }, + { + "key": { + "symbol": "vote_weight" + }, + "val": { + "u32": 10 + } + }, + { + "key": { + "symbol": "voter" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "voting_power_used" + }, + "val": { + "u64": 100 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "QuadraticVote" + }, + { + "u64": 2 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "proposal_id" + }, + "val": { + "u64": 2 + } + }, + { + "key": { + "symbol": "timestamp" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "vote_choice" + }, + "val": { + "vec": [ + { + "symbol": "For" + } + ] + } + }, + { + "key": { + "symbol": "vote_weight" + }, + "val": { + "u32": 8 + } + }, + { + "key": { + "symbol": "voter" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "symbol": "voting_power_used" + }, + "val": { + "u64": 64 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "QuadraticVote" + }, + { + "u64": 2 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "proposal_id" + }, + "val": { + "u64": 2 + } + }, + { + "key": { + "symbol": "timestamp" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "vote_choice" + }, + "val": { + "vec": [ + { + "symbol": "Against" + } + ] + } + }, + { + "key": { + "symbol": "vote_weight" + }, + "val": { + "u32": 2 + } + }, + { + "key": { + "symbol": "voter" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + }, + { + "key": { + "symbol": "voting_power_used" + }, + "val": { + "u64": 4 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "VotingPower" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 1 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "last_updated" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "member" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "quadratic_power" + }, + "val": { + "u64": 100000 + } + }, + { + "key": { + "symbol": "token_balance" + }, + "val": { + "i128": { + "hi": 0, + "lo": 100000000 + } + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "VotingPower" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "u64": 1 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "last_updated" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "member" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "symbol": "quadratic_power" + }, + "val": { + "u64": 100000 + } + }, + { + "key": { + "symbol": "token_balance" + }, + "val": { + "i128": { + "hi": 0, + "lo": 100000000 + } + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "VotingPower" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + }, + { + "u64": 1 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "last_updated" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "member" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + }, + { + "key": { + "symbol": "quadratic_power" + }, + "val": { + "u64": 100000 + } + }, + { + "key": { + "symbol": "token_balance" + }, + "val": { + "i128": { + "hi": 0, + "lo": 100000000 + } + } + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": 1194852393571756375 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": 1194852393571756375 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", "key": { "ledger_key_nonce": { - "nonce": 801925984706572462 + "nonce": 801925984706572462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 4270020994084947596 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 4270020994084947596 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": 8370022561469687789 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": 8370022561469687789 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 4837995959683129791 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 4837995959683129791 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 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": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + "key": { + "ledger_key_nonce": { + "nonce": 2032731177588607455 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + "key": { + "ledger_key_nonce": { + "nonce": 2032731177588607455 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + "key": { + "ledger_key_nonce": { + "nonce": 5806905060045992000 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + "key": { + "ledger_key_nonce": { + "nonce": 5806905060045992000 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATYON", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATYON", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": null + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [ + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "init" + } + ], + "data": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "init" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "create_circle" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "i128": { + "hi": 0, + "lo": 100000 + } + }, + { + "u32": 15 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + }, + { + "u64": 86400 + }, + { + "u32": 100 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATYON" + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "create_circle" + } + ], + "data": { + "u64": 1 + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "join_circle" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000009" + }, + { + "symbol": "mint" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u128": { + "hi": 1, + "lo": 0 + } + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000009", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "mint" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "join_circle" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "join_circle" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000009" + }, + { + "symbol": "mint" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u128": { + "hi": 1, + "lo": 1 + } + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000009", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "mint" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "join_circle" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "join_circle" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000009" + }, + { + "symbol": "mint" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "u128": { + "hi": 1, + "lo": 2 + } + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000009", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "mint" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "join_circle" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "join_circle" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000009" + }, + { + "symbol": "mint" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + }, + { + "u128": { + "hi": 1, + "lo": 3 + } + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000009", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "mint" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "join_circle" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "create_proposal" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "vec": [ + { + "symbol": "ChangeLateFee" + } + ] + }, + { + "string": "Test proposal" + }, + { + "string": "Test description" + }, + { + "string": "{}" + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "create_proposal" + } + ], + "data": { + "u64": 2 + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "update_voting_power" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 1 + }, + { + "i128": { + "hi": 0, + "lo": 100000000 + } + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "update_voting_power" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "update_voting_power" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "u64": 1 + }, + { + "i128": { + "hi": 0, + "lo": 100000000 } + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "update_voting_power" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "update_voting_power" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" }, - "durability": "temporary", - "val": "void" + { + "u64": 1 + }, + { + "i128": { + "hi": 0, + "lo": 100000000 + } + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "update_voting_power" } - }, - "ext": "v0" - }, - 6311999 - ] - ], - [ - { - "contract_code": { - "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + ], + "data": "void" } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_code": { - "ext": "v0", - "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "code": "" - } - }, - "ext": "v0" - }, - 4095 - ] - ] - ] - }, - "events": [ + } + }, + "failed_call": false + }, { "event": { "ext": "v0", @@ -422,11 +2775,28 @@ "bytes": "0000000000000000000000000000000000000000000000000000000000000001" }, { - "symbol": "init" + "symbol": "quadratic_vote" } ], "data": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 2 + }, + { + "u32": 10 + }, + { + "vec": [ + { + "symbol": "For" + } + ] + } + ] } } } @@ -445,7 +2815,7 @@ "symbol": "fn_return" }, { - "symbol": "init" + "symbol": "quadratic_vote" } ], "data": "void" @@ -469,34 +2839,26 @@ "bytes": "0000000000000000000000000000000000000000000000000000000000000001" }, { - "symbol": "create_circle" + "symbol": "quadratic_vote" } ], "data": { "vec": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" - }, - { - "i128": { - "hi": 0, - "lo": 1000000 - } - }, - { - "u32": 15 - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" }, { - "u64": 86400 + "u64": 2 }, { - "u32": 100 + "u32": 8 }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATYON" + "vec": [ + { + "symbol": "For" + } + ] } ] } @@ -517,12 +2879,10 @@ "symbol": "fn_return" }, { - "symbol": "create_circle" + "symbol": "quadratic_vote" } ], - "data": { - "u64": 1 - } + "data": "void" } } }, @@ -543,21 +2903,27 @@ "bytes": "0000000000000000000000000000000000000000000000000000000000000001" }, { - "symbol": "join_circle" + "symbol": "quadratic_vote" } ], "data": { "vec": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" }, { - "u64": 1 + "u64": 2 }, { - "u32": 1 + "u32": 2 }, - "void" + { + "vec": [ + { + "symbol": "Against" + } + ] + } ] } } @@ -574,30 +2940,50 @@ "v0": { "topics": [ { - "symbol": "log" + "symbol": "fn_return" + }, + { + "symbol": "quadratic_vote" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "execute_proposal" } ], "data": { "vec": [ { - "string": "caught panic 'Collateral required for this circle' from contract function 'Symbol(obj#113)'" - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "u64": 1 + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" }, { - "u32": 1 - }, - "void" + "u64": 2 + } ] } } } }, - "failed_call": true + "failed_call": false }, { "event": { @@ -608,60 +2994,188 @@ "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_return" }, { - "error": { - "wasm_vm": "invalid_action" - } + "symbol": "execute_proposal" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "get_proposal" } ], "data": { - "string": "caught error from function" + "u64": 2 } } } }, - "failed_call": true + "failed_call": false }, { "event": { "ext": "v0", - "contract_id": null, + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", "type_": "diagnostic", "body": { "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_return" }, { - "error": { - "wasm_vm": "invalid_action" - } + "symbol": "get_proposal" } ], "data": { - "vec": [ + "map": [ { - "string": "contract call failed" + "key": { + "symbol": "against_votes" + }, + "val": { + "u64": 4 + } }, { - "symbol": "join_circle" + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } }, { - "vec": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "u64": 1 - }, - { - "u32": 1 - }, - "void" - ] + "key": { + "symbol": "created_timestamp" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "description" + }, + "val": { + "string": "Test description" + } + }, + { + "key": { + "symbol": "execution_data" + }, + "val": { + "string": "{}" + } + }, + { + "key": { + "symbol": "for_votes" + }, + "val": { + "u64": 164 + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": 2 + } + }, + { + "key": { + "symbol": "proposal_type" + }, + "val": { + "vec": [ + { + "symbol": "ChangeLateFee" + } + ] + } + }, + { + "key": { + "symbol": "proposer" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "quorum_met" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Executed" + } + ] + } + }, + { + "key": { + "symbol": "title" + }, + "val": { + "string": "Test proposal" + } + }, + { + "key": { + "symbol": "total_voting_power" + }, + "val": { + "u64": 168 + } + }, + { + "key": { + "symbol": "voting_end_timestamp" + }, + "val": { + "u64": 604800 + } + }, + { + "key": { + "symbol": "voting_start_timestamp" + }, + "val": { + "u64": 0 + } } ] } @@ -679,16 +3193,89 @@ "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_call" }, { - "error": { - "wasm_vm": "invalid_action" - } + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "get_proposal_stats" + } + ], + "data": { + "u64": 1 + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "get_proposal_stats" } ], "data": { - "string": "escalating error to panic" + "map": [ + { + "key": { + "symbol": "approved_proposals" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "average_participation" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "average_voting_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "executed_proposals" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "rejected_proposals" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "total_proposals" + }, + "val": { + "u32": 1 + } + } + ] } } } diff --git a/test_snapshots/test_proposal_rejection_insufficient_majority.1.json b/test_snapshots/test_proposal_rejection_insufficient_majority.1.json index 441695e..42027da 100644 --- a/test_snapshots/test_proposal_rejection_insufficient_majority.1.json +++ b/test_snapshots/test_proposal_rejection_insufficient_majority.1.json @@ -20,7 +20,7 @@ { "i128": { "hi": 0, - "lo": 1000000 + "lo": 100000 } }, { @@ -45,12 +45,217 @@ } ] ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "join_circle", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "join_circle", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "join_circle", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "create_proposal", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "vec": [ + { + "symbol": "ChangeLateFee" + } + ] + }, + { + "string": "Test proposal" + }, + { + "string": "Test description" + }, + { + "string": "{}" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "quadratic_vote", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 2 + }, + { + "u32": 10 + }, + { + "vec": [ + { + "symbol": "For" + } + ] + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "quadratic_vote", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "u64": 2 + }, + { + "u32": 10 + }, + { + "vec": [ + { + "symbol": "Against" + } + ] + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "execute_proposal", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "u64": 2 + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], [] ], "ledger": { "protocol_version": 21, "sequence_number": 0, - "timestamp": 0, + "timestamp": 700000, "network_id": "0000000000000000000000000000000000000000000000000000000000000000", "base_reserve": 0, "min_persistent_entry_ttl": 4096, @@ -110,7 +315,7 @@ "symbol": "collateral_bps" }, "val": { - "u32": 2000 + "u32": 0 } }, { @@ -120,7 +325,7 @@ "val": { "i128": { "hi": 0, - "lo": 1000000 + "lo": 100000 } } }, @@ -256,7 +461,7 @@ "symbol": "member_count" }, "val": { - "u32": 0 + "u32": 3 } }, { @@ -272,7 +477,7 @@ "symbol": "proposal_count" }, "val": { - "u64": 0 + "u64": 1 } }, { @@ -288,7 +493,7 @@ "symbol": "requires_collateral" }, "val": { - "bool": true + "bool": false } }, { @@ -306,7 +511,7 @@ "val": { "i128": { "hi": 0, - "lo": 15000000 + "lo": 1500000 } } } @@ -339,94 +544,1682 @@ "val": { "u64": 0 } - } - ] - } - } - } - }, - "ext": "v0" - }, - 4095 - ] - ], - [ - { - "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", - "key": { - "ledger_key_nonce": { - "nonce": 801925984706572462 - } - }, - "durability": "temporary" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", - "key": { - "ledger_key_nonce": { - "nonce": 801925984706572462 - } - }, - "durability": "temporary", - "val": "void" - } - }, - "ext": "v0" - }, - 6311999 - ] - ], - [ - { - "contract_code": { - "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_code": { - "ext": "v0", - "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "code": "" - } - }, - "ext": "v0" - }, - 4095 - ] - ] - ] - }, - "events": [ - { - "event": { - "ext": "v0", - "contract_id": null, - "type_": "diagnostic", - "body": { - "v0": { - "topics": [ - { - "symbol": "fn_call" + }, + { + "key": { + "vec": [ + { + "symbol": "Member" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "buddy" + }, + "val": "void" + }, + { + "key": { + "symbol": "contribution_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "index" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "last_contribution_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "referrer" + }, + "val": "void" + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "tier_multiplier" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Member" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "buddy" + }, + "val": "void" + }, + { + "key": { + "symbol": "contribution_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "index" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "last_contribution_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "referrer" + }, + "val": "void" + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "tier_multiplier" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Member" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "symbol": "buddy" + }, + "val": "void" + }, + { + "key": { + "symbol": "contribution_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "index" + }, + "val": { + "u32": 2 + } + }, + { + "key": { + "symbol": "last_contribution_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "referrer" + }, + "val": "void" + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "tier_multiplier" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Proposal" + }, + { + "u64": 2 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "against_votes" + }, + "val": { + "u64": 100 + } + }, + { + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "created_timestamp" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "description" + }, + "val": { + "string": "Test description" + } + }, + { + "key": { + "symbol": "execution_data" + }, + "val": { + "string": "{}" + } + }, + { + "key": { + "symbol": "for_votes" + }, + "val": { + "u64": 100 + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": 2 + } + }, + { + "key": { + "symbol": "proposal_type" + }, + "val": { + "vec": [ + { + "symbol": "ChangeLateFee" + } + ] + } + }, + { + "key": { + "symbol": "proposer" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "quorum_met" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Rejected" + } + ] + } + }, + { + "key": { + "symbol": "title" + }, + "val": { + "string": "Test proposal" + } + }, + { + "key": { + "symbol": "total_voting_power" + }, + "val": { + "u64": 200 + } + }, + { + "key": { + "symbol": "voting_end_timestamp" + }, + "val": { + "u64": 604800 + } + }, + { + "key": { + "symbol": "voting_start_timestamp" + }, + "val": { + "u64": 0 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "ProposalStats" + }, + { + "u64": 1 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "approved_proposals" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "average_participation" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "average_voting_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "executed_proposals" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "rejected_proposals" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "total_proposals" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "QuadraticVote" + }, + { + "u64": 2 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "proposal_id" + }, + "val": { + "u64": 2 + } + }, + { + "key": { + "symbol": "timestamp" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "vote_choice" + }, + "val": { + "vec": [ + { + "symbol": "For" + } + ] + } + }, + { + "key": { + "symbol": "vote_weight" + }, + "val": { + "u32": 10 + } + }, + { + "key": { + "symbol": "voter" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "voting_power_used" + }, + "val": { + "u64": 100 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "QuadraticVote" + }, + { + "u64": 2 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "proposal_id" + }, + "val": { + "u64": 2 + } + }, + { + "key": { + "symbol": "timestamp" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "vote_choice" + }, + "val": { + "vec": [ + { + "symbol": "Against" + } + ] + } + }, + { + "key": { + "symbol": "vote_weight" + }, + "val": { + "u32": 10 + } + }, + { + "key": { + "symbol": "voter" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "symbol": "voting_power_used" + }, + "val": { + "u64": 100 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "VotingPower" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 1 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "last_updated" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "member" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "quadratic_power" + }, + "val": { + "u64": 100000 + } + }, + { + "key": { + "symbol": "token_balance" + }, + "val": { + "i128": { + "hi": 0, + "lo": 100000000 + } + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "VotingPower" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "u64": 1 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "last_updated" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "member" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "symbol": "quadratic_power" + }, + "val": { + "u64": 100000 + } + }, + { + "key": { + "symbol": "token_balance" + }, + "val": { + "i128": { + "hi": 0, + "lo": 100000000 + } + } + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 2032731177588607455 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 2032731177588607455 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": 4270020994084947596 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": 4270020994084947596 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 4837995959683129791 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 4837995959683129791 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 8370022561469687789 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 8370022561469687789 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": null + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [ + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "init" + } + ], + "data": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "init" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "create_circle" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "i128": { + "hi": 0, + "lo": 100000 + } + }, + { + "u32": 15 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + }, + { + "u64": 86400 + }, + { + "u32": 100 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "create_circle" + } + ], + "data": { + "u64": 1 + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "join_circle" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000008" + }, + { + "symbol": "mint" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u128": { + "hi": 1, + "lo": 0 + } + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000008", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "mint" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "join_circle" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "join_circle" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000008" + }, + { + "symbol": "mint" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u128": { + "hi": 1, + "lo": 1 + } + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000008", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "mint" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "join_circle" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "join_circle" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000008" + }, + { + "symbol": "mint" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "u128": { + "hi": 1, + "lo": 2 + } + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000008", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "mint" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "join_circle" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "create_proposal" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "vec": [ + { + "symbol": "ChangeLateFee" + } + ] + }, + { + "string": "Test proposal" + }, + { + "string": "Test description" + }, + { + "string": "{}" + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "create_proposal" + } + ], + "data": { + "u64": 2 + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "update_voting_power" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 1 + }, + { + "i128": { + "hi": 0, + "lo": 100000000 + } + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "update_voting_power" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" }, { "bytes": "0000000000000000000000000000000000000000000000000000000000000001" }, { - "symbol": "init" + "symbol": "update_voting_power" } ], "data": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "u64": 1 + }, + { + "i128": { + "hi": 0, + "lo": 100000000 + } + } + ] } } } @@ -445,7 +2238,7 @@ "symbol": "fn_return" }, { - "symbol": "init" + "symbol": "update_voting_power" } ], "data": "void" @@ -469,34 +2262,26 @@ "bytes": "0000000000000000000000000000000000000000000000000000000000000001" }, { - "symbol": "create_circle" + "symbol": "quadratic_vote" } ], "data": { "vec": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" - }, - { - "i128": { - "hi": 0, - "lo": 1000000 - } - }, - { - "u32": 15 - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" }, { - "u64": 86400 + "u64": 2 }, { - "u32": 100 + "u32": 10 }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + "vec": [ + { + "symbol": "For" + } + ] } ] } @@ -517,12 +2302,10 @@ "symbol": "fn_return" }, { - "symbol": "create_circle" + "symbol": "quadratic_vote" } ], - "data": { - "u64": 1 - } + "data": "void" } } }, @@ -543,21 +2326,27 @@ "bytes": "0000000000000000000000000000000000000000000000000000000000000001" }, { - "symbol": "join_circle" + "symbol": "quadratic_vote" } ], "data": { "vec": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" }, { - "u64": 1 + "u64": 2 }, { - "u32": 1 + "u32": 10 }, - "void" + { + "vec": [ + { + "symbol": "Against" + } + ] + } ] } } @@ -574,30 +2363,50 @@ "v0": { "topics": [ { - "symbol": "log" + "symbol": "fn_return" + }, + { + "symbol": "quadratic_vote" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "execute_proposal" } ], "data": { "vec": [ { - "string": "caught panic 'Collateral required for this circle' from contract function 'Symbol(obj#111)'" - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "u64": 1 + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" }, { - "u32": 1 - }, - "void" + "u64": 2 + } ] } } } }, - "failed_call": true + "failed_call": false }, { "event": { @@ -608,60 +2417,188 @@ "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_return" }, { - "error": { - "wasm_vm": "invalid_action" - } + "symbol": "execute_proposal" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "get_proposal" } ], "data": { - "string": "caught error from function" + "u64": 2 } } } }, - "failed_call": true + "failed_call": false }, { "event": { "ext": "v0", - "contract_id": null, + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", "type_": "diagnostic", "body": { "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_return" }, { - "error": { - "wasm_vm": "invalid_action" - } + "symbol": "get_proposal" } ], "data": { - "vec": [ + "map": [ { - "string": "contract call failed" + "key": { + "symbol": "against_votes" + }, + "val": { + "u64": 100 + } }, { - "symbol": "join_circle" + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } }, { - "vec": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "u64": 1 - }, - { - "u32": 1 - }, - "void" - ] + "key": { + "symbol": "created_timestamp" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "description" + }, + "val": { + "string": "Test description" + } + }, + { + "key": { + "symbol": "execution_data" + }, + "val": { + "string": "{}" + } + }, + { + "key": { + "symbol": "for_votes" + }, + "val": { + "u64": 100 + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": 2 + } + }, + { + "key": { + "symbol": "proposal_type" + }, + "val": { + "vec": [ + { + "symbol": "ChangeLateFee" + } + ] + } + }, + { + "key": { + "symbol": "proposer" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "quorum_met" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Rejected" + } + ] + } + }, + { + "key": { + "symbol": "title" + }, + "val": { + "string": "Test proposal" + } + }, + { + "key": { + "symbol": "total_voting_power" + }, + "val": { + "u64": 200 + } + }, + { + "key": { + "symbol": "voting_end_timestamp" + }, + "val": { + "u64": 604800 + } + }, + { + "key": { + "symbol": "voting_start_timestamp" + }, + "val": { + "u64": 0 + } } ] } @@ -679,16 +2616,89 @@ "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_call" }, { - "error": { - "wasm_vm": "invalid_action" - } + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "get_proposal_stats" + } + ], + "data": { + "u64": 1 + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "get_proposal_stats" } ], "data": { - "string": "escalating error to panic" + "map": [ + { + "key": { + "symbol": "approved_proposals" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "average_participation" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "average_voting_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "executed_proposals" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "rejected_proposals" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "total_proposals" + }, + "val": { + "u32": 1 + } + } + ] } } } diff --git a/test_snapshots/test_quadratic_vote_cost_calculation.1.json b/test_snapshots/test_quadratic_vote_cost_calculation.1.json index 9c3373a..db86f2b 100644 --- a/test_snapshots/test_quadratic_vote_cost_calculation.1.json +++ b/test_snapshots/test_quadratic_vote_cost_calculation.1.json @@ -20,7 +20,7 @@ { "i128": { "hi": 0, - "lo": 1000000 + "lo": 100000 } }, { @@ -45,6 +45,129 @@ } ] ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "join_circle", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "join_circle", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "create_proposal", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "vec": [ + { + "symbol": "ChangeLateFee" + } + ] + }, + { + "string": "Test proposal" + }, + { + "string": "Test description" + }, + { + "string": "{}" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "quadratic_vote", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 2 + }, + { + "u32": 10 + }, + { + "vec": [ + { + "symbol": "For" + } + ] + } + ] + } + }, + "sub_invocations": [] + } + ] + ], [] ], "ledger": { @@ -110,7 +233,7 @@ "symbol": "collateral_bps" }, "val": { - "u32": 2000 + "u32": 0 } }, { @@ -120,7 +243,7 @@ "val": { "i128": { "hi": 0, - "lo": 1000000 + "lo": 100000 } } }, @@ -256,7 +379,7 @@ "symbol": "member_count" }, "val": { - "u32": 0 + "u32": 2 } }, { @@ -272,7 +395,7 @@ "symbol": "proposal_count" }, "val": { - "u64": 0 + "u64": 1 } }, { @@ -288,7 +411,7 @@ "symbol": "requires_collateral" }, "val": { - "bool": true + "bool": false } }, { @@ -306,7 +429,7 @@ "val": { "i128": { "hi": 0, - "lo": 15000000 + "lo": 1500000 } } } @@ -339,164 +462,1040 @@ "val": { "u64": 0 } - } - ] - } - } - } - }, - "ext": "v0" - }, - 4095 - ] - ], - [ - { - "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", - "key": { - "ledger_key_nonce": { - "nonce": 801925984706572462 - } - }, - "durability": "temporary" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", - "key": { - "ledger_key_nonce": { - "nonce": 801925984706572462 - } - }, - "durability": "temporary", - "val": "void" - } - }, - "ext": "v0" - }, - 6311999 - ] - ], - [ - { - "contract_code": { - "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_code": { - "ext": "v0", - "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "code": "" - } - }, - "ext": "v0" - }, - 4095 - ] - ] - ] - }, - "events": [ - { - "event": { - "ext": "v0", - "contract_id": null, - "type_": "diagnostic", - "body": { - "v0": { - "topics": [ - { - "symbol": "fn_call" - }, - { - "bytes": "0000000000000000000000000000000000000000000000000000000000000001" - }, - { - "symbol": "init" - } - ], - "data": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" - } - } - } - }, - "failed_call": false - }, - { - "event": { - "ext": "v0", - "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", - "type_": "diagnostic", - "body": { - "v0": { - "topics": [ - { - "symbol": "fn_return" - }, - { - "symbol": "init" - } - ], - "data": "void" - } - } - }, - "failed_call": false - }, - { - "event": { - "ext": "v0", - "contract_id": null, - "type_": "diagnostic", - "body": { - "v0": { - "topics": [ - { - "symbol": "fn_call" - }, - { - "bytes": "0000000000000000000000000000000000000000000000000000000000000001" - }, - { - "symbol": "create_circle" - } - ], - "data": { - "vec": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" - }, - { - "i128": { - "hi": 0, - "lo": 1000000 - } - }, - { - "u32": 15 - }, + }, + { + "key": { + "vec": [ + { + "symbol": "Member" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "buddy" + }, + "val": "void" + }, + { + "key": { + "symbol": "contribution_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "index" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "last_contribution_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "referrer" + }, + "val": "void" + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "tier_multiplier" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Member" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "buddy" + }, + "val": "void" + }, + { + "key": { + "symbol": "contribution_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "index" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "last_contribution_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "referrer" + }, + "val": "void" + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "tier_multiplier" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Proposal" + }, + { + "u64": 2 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "against_votes" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "created_timestamp" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "description" + }, + "val": { + "string": "Test description" + } + }, + { + "key": { + "symbol": "execution_data" + }, + "val": { + "string": "{}" + } + }, + { + "key": { + "symbol": "for_votes" + }, + "val": { + "u64": 100 + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": 2 + } + }, + { + "key": { + "symbol": "proposal_type" + }, + "val": { + "vec": [ + { + "symbol": "ChangeLateFee" + } + ] + } + }, + { + "key": { + "symbol": "proposer" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "quorum_met" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "title" + }, + "val": { + "string": "Test proposal" + } + }, + { + "key": { + "symbol": "total_voting_power" + }, + "val": { + "u64": 100 + } + }, + { + "key": { + "symbol": "voting_end_timestamp" + }, + "val": { + "u64": 604800 + } + }, + { + "key": { + "symbol": "voting_start_timestamp" + }, + "val": { + "u64": 0 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "ProposalStats" + }, + { + "u64": 1 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "approved_proposals" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "average_participation" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "average_voting_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "executed_proposals" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "rejected_proposals" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "total_proposals" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "QuadraticVote" + }, + { + "u64": 2 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "proposal_id" + }, + "val": { + "u64": 2 + } + }, + { + "key": { + "symbol": "timestamp" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "vote_choice" + }, + "val": { + "vec": [ + { + "symbol": "For" + } + ] + } + }, + { + "key": { + "symbol": "vote_weight" + }, + "val": { + "u32": 10 + } + }, + { + "key": { + "symbol": "voter" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "voting_power_used" + }, + "val": { + "u64": 100 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "VotingPower" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 1 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "last_updated" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "member" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "quadratic_power" + }, + "val": { + "u64": 100000 + } + }, + { + "key": { + "symbol": "token_balance" + }, + "val": { + "i128": { + "hi": 0, + "lo": 100000000 + } + } + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 4837995959683129791 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 4837995959683129791 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": 2032731177588607455 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": 2032731177588607455 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": null + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [ + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "init" + } + ], + "data": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "init" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "create_circle" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "i128": { + "hi": 0, + "lo": 100000 + } + }, + { + "u32": 15 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "u64": 86400 + }, + { + "u32": 100 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "create_circle" + } + ], + "data": { + "u64": 1 + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "join_circle" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000007" + }, + { + "symbol": "mint" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u128": { + "hi": 1, + "lo": 0 + } + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000007", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "mint" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "join_circle" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "join_circle" + } + ], + "data": { + "vec": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" }, { - "u64": 86400 + "u64": 1 }, { - "u32": 100 + "u32": 1 + }, + "void" + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000007" + }, + { + "symbol": "mint" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + "u128": { + "hi": 1, + "lo": 1 + } } ] } @@ -505,6 +1504,27 @@ }, "failed_call": false }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000007", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "mint" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, { "event": { "ext": "v0", @@ -517,12 +1537,10 @@ "symbol": "fn_return" }, { - "symbol": "create_circle" + "symbol": "join_circle" } ], - "data": { - "u64": 1 - } + "data": "void" } } }, @@ -543,7 +1561,7 @@ "bytes": "0000000000000000000000000000000000000000000000000000000000000001" }, { - "symbol": "join_circle" + "symbol": "create_proposal" } ], "data": { @@ -555,9 +1573,21 @@ "u64": 1 }, { - "u32": 1 + "vec": [ + { + "symbol": "ChangeLateFee" + } + ] }, - "void" + { + "string": "Test proposal" + }, + { + "string": "Test description" + }, + { + "string": "{}" + } ] } } @@ -574,30 +1604,58 @@ "v0": { "topics": [ { - "symbol": "log" + "symbol": "fn_return" + }, + { + "symbol": "create_proposal" + } + ], + "data": { + "u64": 2 + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "update_voting_power" } ], "data": { "vec": [ { - "string": "caught panic 'Collateral required for this circle' from contract function 'Symbol(obj#109)'" - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" }, { "u64": 1 }, { - "u32": 1 - }, - "void" + "i128": { + "hi": 0, + "lo": 100000000 + } + } ] } } } }, - "failed_call": true + "failed_call": false }, { "event": { @@ -608,21 +1666,17 @@ "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_return" }, { - "error": { - "wasm_vm": "invalid_action" - } + "symbol": "update_voting_power" } ], - "data": { - "string": "caught error from function" - } + "data": "void" } } }, - "failed_call": true + "failed_call": false }, { "event": { @@ -633,34 +1687,31 @@ "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_call" }, { - "error": { - "wasm_vm": "invalid_action" - } + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "quadratic_vote" } ], "data": { "vec": [ { - "string": "contract call failed" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 2 }, { - "symbol": "join_circle" + "u32": 10 }, { "vec": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "u64": 1 - }, - { - "u32": 1 - }, - "void" + "symbol": "For" + } ] } ] @@ -670,6 +1721,27 @@ }, "failed_call": false }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "quadratic_vote" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, { "event": { "ext": "v0", @@ -679,16 +1751,169 @@ "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_call" }, { - "error": { - "wasm_vm": "invalid_action" - } + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "get_proposal" + } + ], + "data": { + "u64": 2 + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "get_proposal" } ], "data": { - "string": "escalating error to panic" + "map": [ + { + "key": { + "symbol": "against_votes" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "created_timestamp" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "description" + }, + "val": { + "string": "Test description" + } + }, + { + "key": { + "symbol": "execution_data" + }, + "val": { + "string": "{}" + } + }, + { + "key": { + "symbol": "for_votes" + }, + "val": { + "u64": 100 + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": 2 + } + }, + { + "key": { + "symbol": "proposal_type" + }, + "val": { + "vec": [ + { + "symbol": "ChangeLateFee" + } + ] + } + }, + { + "key": { + "symbol": "proposer" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "quorum_met" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "title" + }, + "val": { + "string": "Test proposal" + } + }, + { + "key": { + "symbol": "total_voting_power" + }, + "val": { + "u64": 100 + } + }, + { + "key": { + "symbol": "voting_end_timestamp" + }, + "val": { + "u64": 604800 + } + }, + { + "key": { + "symbol": "voting_start_timestamp" + }, + "val": { + "u64": 0 + } + } + ] } } } diff --git a/test_snapshots/test_quadratic_voting_enabled_for_large_groups.1.json b/test_snapshots/test_quadratic_voting_enabled_for_large_groups.1.json index 8608de9..3b54cb3 100644 --- a/test_snapshots/test_quadratic_voting_enabled_for_large_groups.1.json +++ b/test_snapshots/test_quadratic_voting_enabled_for_large_groups.1.json @@ -1,6 +1,6 @@ { "generators": { - "address": 5, + "address": 6, "nonce": 0 }, "auth": [ @@ -20,14 +20,14 @@ { "i128": { "hi": 0, - "lo": 1000000 + "lo": 100000 } }, { "u32": 15 }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" }, { "u64": 86400 @@ -35,8 +35,49 @@ { "u32": 100 }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "create_circle", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 100000 + } + }, + { + "u32": 5 + }, { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 86400 + }, + { + "u32": 100 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } ] } @@ -44,7 +85,8 @@ "sub_invocations": [] } ] - ] + ], + [] ], "ledger": { "protocol_version": 21, @@ -109,7 +151,7 @@ "symbol": "collateral_bps" }, "val": { - "u32": 2000 + "u32": 0 } }, { @@ -119,7 +161,7 @@ "val": { "i128": { "hi": 0, - "lo": 1000000 + "lo": 100000 } } }, @@ -263,7 +305,7 @@ "symbol": "nft_contract" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } }, { @@ -287,17 +329,238 @@ "symbol": "requires_collateral" }, "val": { - "bool": true + "bool": false } }, { "key": { "symbol": "token" }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "total_cycle_value" + }, + "val": { + "i128": { + "hi": 0, + "lo": 1500000 + } + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Circle" + }, + { + "u64": 2 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "collateral_bps" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "contribution_amount" + }, + "val": { + "i128": { + "hi": 0, + "lo": 100000 + } + } + }, + { + "key": { + "symbol": "contribution_bitmap" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "creator" + }, "val": { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } }, + { + "key": { + "symbol": "current_pot_recipient" + }, + "val": "void" + }, + { + "key": { + "symbol": "current_recipient_index" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "cycle_duration" + }, + "val": { + "u64": 86400 + } + }, + { + "key": { + "symbol": "deadline_timestamp" + }, + "val": { + "u64": 86400 + } + }, + { + "key": { + "symbol": "grace_period_end" + }, + "val": "void" + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": 2 + } + }, + { + "key": { + "symbol": "insurance_balance" + }, + "val": { + "i128": { + "hi": 0, + "lo": 0 + } + } + }, + { + "key": { + "symbol": "insurance_fee_bps" + }, + "val": { + "u32": 100 + } + }, + { + "key": { + "symbol": "is_active" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "is_insurance_used" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "is_round_finalized" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "late_fee_bps" + }, + "val": { + "u32": 100 + } + }, + { + "key": { + "symbol": "leniency_enabled" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "max_members" + }, + "val": { + "u32": 5 + } + }, + { + "key": { + "symbol": "member_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "nft_contract" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "symbol": "proposal_count" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "quadratic_voting_enabled" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "requires_collateral" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "token" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, { "key": { "symbol": "total_cycle_value" @@ -305,7 +568,7 @@ "val": { "i128": { "hi": 0, - "lo": 15000000 + "lo": 500000 } } } @@ -321,7 +584,7 @@ ] }, "val": { - "u64": 1 + "u64": 2 } }, { @@ -338,6 +601,21 @@ "val": { "u64": 0 } + }, + { + "key": { + "vec": [ + { + "symbol": "LastCreatedTimestamp" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "val": { + "u64": 0 + } } ] } @@ -382,6 +660,71 @@ 6311999 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": null + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], [ { "contract_code": { @@ -479,14 +822,14 @@ { "i128": { "hi": 0, - "lo": 1000000 + "lo": 100000 } }, { "u32": 15 }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" }, { "u64": 86400 @@ -495,7 +838,7 @@ "u32": 100 }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" } ] } @@ -526,6 +869,80 @@ } }, "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "create_circle" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 100000 + } + }, + { + "u32": 5 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 86400 + }, + { + "u32": 100 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "create_circle" + } + ], + "data": { + "u64": 2 + } + } + } + }, + "failed_call": false } ] } \ No newline at end of file diff --git a/test_snapshots/test_quorum_requirement.1.json b/test_snapshots/test_quorum_requirement.1.json index 441695e..f2a5ec8 100644 --- a/test_snapshots/test_quorum_requirement.1.json +++ b/test_snapshots/test_quorum_requirement.1.json @@ -1,6 +1,6 @@ { "generators": { - "address": 8, + "address": 20, "nonce": 0 }, "auth": [ @@ -20,7 +20,7 @@ { "i128": { "hi": 0, - "lo": 1000000 + "lo": 100000 } }, { @@ -45,268 +45,763 @@ } ] ], - [] - ], - "ledger": { - "protocol_version": 21, - "sequence_number": 0, - "timestamp": 0, - "network_id": "0000000000000000000000000000000000000000000000000000000000000000", - "base_reserve": 0, - "min_persistent_entry_ttl": 4096, - "min_temp_entry_ttl": 16, - "max_entry_ttl": 6312000, - "ledger_entries": [ + [ [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", { - "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", - "key": "ledger_key_contract_instance", - "durability": "persistent" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", - "key": "ledger_key_contract_instance", - "durability": "persistent", - "val": { - "contract_instance": { - "executable": { - "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" - }, - "storage": [ - { - "key": { - "vec": [ - { - "symbol": "Admin" - } - ] - }, - "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" - } - }, - { - "key": { - "vec": [ - { - "symbol": "Circle" - }, - { - "u64": 1 - } - ] - }, - "val": { - "map": [ - { - "key": { - "symbol": "collateral_bps" - }, - "val": { - "u32": 2000 - } - }, - { - "key": { - "symbol": "contribution_amount" - }, - "val": { - "i128": { - "hi": 0, - "lo": 1000000 - } - } - }, - { - "key": { - "symbol": "contribution_bitmap" - }, - "val": { - "u64": 0 - } - }, - { - "key": { - "symbol": "creator" - }, - "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" - } - }, - { - "key": { - "symbol": "current_pot_recipient" - }, - "val": "void" - }, - { - "key": { - "symbol": "current_recipient_index" - }, - "val": { - "u32": 0 - } - }, - { - "key": { - "symbol": "cycle_duration" - }, - "val": { - "u64": 86400 - } - }, - { - "key": { - "symbol": "deadline_timestamp" - }, - "val": { - "u64": 86400 - } - }, - { - "key": { - "symbol": "grace_period_end" - }, - "val": "void" - }, - { - "key": { - "symbol": "id" - }, - "val": { - "u64": 1 - } - }, - { - "key": { - "symbol": "insurance_balance" - }, - "val": { - "i128": { - "hi": 0, - "lo": 0 - } - } - }, - { - "key": { - "symbol": "insurance_fee_bps" - }, - "val": { - "u32": 100 - } - }, - { - "key": { - "symbol": "is_active" - }, - "val": { - "bool": true - } - }, - { - "key": { - "symbol": "is_insurance_used" - }, - "val": { - "bool": false - } - }, - { - "key": { - "symbol": "is_round_finalized" - }, - "val": { - "bool": false - } - }, - { - "key": { - "symbol": "late_fee_bps" - }, - "val": { - "u32": 100 - } - }, - { - "key": { - "symbol": "leniency_enabled" - }, - "val": { - "bool": true - } - }, - { - "key": { - "symbol": "max_members" - }, - "val": { - "u32": 15 - } - }, - { - "key": { - "symbol": "member_count" - }, - "val": { - "u32": 0 - } - }, - { - "key": { - "symbol": "nft_contract" - }, - "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" - } - }, - { - "key": { - "symbol": "proposal_count" - }, - "val": { - "u64": 0 - } - }, - { - "key": { - "symbol": "quadratic_voting_enabled" - }, - "val": { - "bool": true - } - }, - { - "key": { - "symbol": "requires_collateral" - }, - "val": { - "bool": true - } - }, - { - "key": { - "symbol": "token" - }, - "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" - } - }, - { - "key": { - "symbol": "total_cycle_value" - }, - "val": { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "join_circle", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "join_circle", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "join_circle", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "create_proposal", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "vec": [ + { + "symbol": "ChangeLateFee" + } + ] + }, + { + "string": "Test proposal" + }, + { + "string": "Test description" + }, + { + "string": "{}" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATYON", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "join_circle", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATYON" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAX5", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "join_circle", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAX5" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXI7N", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "join_circle", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXI7N" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYRE5", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "join_circle", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYRE5" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2ZMN", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "join_circle", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2ZMN" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4BV5", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "join_circle", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4BV5" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6J5N", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "join_circle", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6J5N" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABB6KO", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "join_circle", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABB6KO" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABDWC6", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "join_circle", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABDWC6" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFO3O", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "join_circle", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFO3O" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHGT6", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "join_circle", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHGT6" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABI7IO", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "join_circle", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABI7IO" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "quadratic_vote", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 2 + }, + { + "u32": 2 + }, + { + "vec": [ + { + "symbol": "For" + } + ] + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "quadratic_vote", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "u64": 2 + }, + { + "u32": 3 + }, + { + "vec": [ + { + "symbol": "For" + } + ] + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [] + ], + "ledger": { + "protocol_version": 21, + "sequence_number": 0, + "timestamp": 0, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Circle" + }, + { + "u64": 1 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "collateral_bps" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "contribution_amount" + }, + "val": { + "i128": { + "hi": 0, + "lo": 100000 + } + } + }, + { + "key": { + "symbol": "contribution_bitmap" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "creator" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "symbol": "current_pot_recipient" + }, + "val": "void" + }, + { + "key": { + "symbol": "current_recipient_index" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "cycle_duration" + }, + "val": { + "u64": 86400 + } + }, + { + "key": { + "symbol": "deadline_timestamp" + }, + "val": { + "u64": 86400 + } + }, + { + "key": { + "symbol": "grace_period_end" + }, + "val": "void" + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "insurance_balance" + }, + "val": { + "i128": { + "hi": 0, + "lo": 0 + } + } + }, + { + "key": { + "symbol": "insurance_fee_bps" + }, + "val": { + "u32": 100 + } + }, + { + "key": { + "symbol": "is_active" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "is_insurance_used" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "is_round_finalized" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "late_fee_bps" + }, + "val": { + "u32": 100 + } + }, + { + "key": { + "symbol": "leniency_enabled" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "max_members" + }, + "val": { + "u32": 15 + } + }, + { + "key": { + "symbol": "member_count" + }, + "val": { + "u32": 15 + } + }, + { + "key": { + "symbol": "nft_contract" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + } + }, + { + "key": { + "symbol": "proposal_count" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "quadratic_voting_enabled" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "requires_collateral" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "token" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + }, + { + "key": { + "symbol": "total_cycle_value" + }, + "val": { "i128": { "hi": 0, - "lo": 15000000 + "lo": 1500000 } } } @@ -317,96 +812,4314 @@ "key": { "vec": [ { - "symbol": "CircleCount" + "symbol": "CircleCount" + } + ] + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "LastCreatedTimestamp" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "vec": [ + { + "symbol": "Member" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "buddy" + }, + "val": "void" + }, + { + "key": { + "symbol": "contribution_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "index" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "last_contribution_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "referrer" + }, + "val": "void" + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "tier_multiplier" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Member" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "buddy" + }, + "val": "void" + }, + { + "key": { + "symbol": "contribution_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "index" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "last_contribution_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "referrer" + }, + "val": "void" + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "tier_multiplier" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Member" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "symbol": "buddy" + }, + "val": "void" + }, + { + "key": { + "symbol": "contribution_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "index" + }, + "val": { + "u32": 2 + } + }, + { + "key": { + "symbol": "last_contribution_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "referrer" + }, + "val": "void" + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "tier_multiplier" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Member" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATYON" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATYON" + } + }, + { + "key": { + "symbol": "buddy" + }, + "val": "void" + }, + { + "key": { + "symbol": "contribution_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "index" + }, + "val": { + "u32": 3 + } + }, + { + "key": { + "symbol": "last_contribution_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "referrer" + }, + "val": "void" + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "tier_multiplier" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Member" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAX5" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAX5" + } + }, + { + "key": { + "symbol": "buddy" + }, + "val": "void" + }, + { + "key": { + "symbol": "contribution_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "index" + }, + "val": { + "u32": 4 + } + }, + { + "key": { + "symbol": "last_contribution_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "referrer" + }, + "val": "void" + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "tier_multiplier" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Member" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXI7N" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXI7N" + } + }, + { + "key": { + "symbol": "buddy" + }, + "val": "void" + }, + { + "key": { + "symbol": "contribution_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "index" + }, + "val": { + "u32": 5 + } + }, + { + "key": { + "symbol": "last_contribution_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "referrer" + }, + "val": "void" + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "tier_multiplier" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Member" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYRE5" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYRE5" + } + }, + { + "key": { + "symbol": "buddy" + }, + "val": "void" + }, + { + "key": { + "symbol": "contribution_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "index" + }, + "val": { + "u32": 6 + } + }, + { + "key": { + "symbol": "last_contribution_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "referrer" + }, + "val": "void" + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "tier_multiplier" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Member" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2ZMN" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2ZMN" + } + }, + { + "key": { + "symbol": "buddy" + }, + "val": "void" + }, + { + "key": { + "symbol": "contribution_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "index" + }, + "val": { + "u32": 7 + } + }, + { + "key": { + "symbol": "last_contribution_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "referrer" + }, + "val": "void" + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "tier_multiplier" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Member" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4BV5" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4BV5" + } + }, + { + "key": { + "symbol": "buddy" + }, + "val": "void" + }, + { + "key": { + "symbol": "contribution_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "index" + }, + "val": { + "u32": 8 + } + }, + { + "key": { + "symbol": "last_contribution_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "referrer" + }, + "val": "void" + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "tier_multiplier" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Member" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6J5N" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6J5N" + } + }, + { + "key": { + "symbol": "buddy" + }, + "val": "void" + }, + { + "key": { + "symbol": "contribution_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "index" + }, + "val": { + "u32": 9 + } + }, + { + "key": { + "symbol": "last_contribution_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "referrer" + }, + "val": "void" + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "tier_multiplier" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Member" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABB6KO" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABB6KO" + } + }, + { + "key": { + "symbol": "buddy" + }, + "val": "void" + }, + { + "key": { + "symbol": "contribution_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "index" + }, + "val": { + "u32": 10 + } + }, + { + "key": { + "symbol": "last_contribution_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "referrer" + }, + "val": "void" + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "tier_multiplier" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Member" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABDWC6" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABDWC6" + } + }, + { + "key": { + "symbol": "buddy" + }, + "val": "void" + }, + { + "key": { + "symbol": "contribution_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "index" + }, + "val": { + "u32": 11 + } + }, + { + "key": { + "symbol": "last_contribution_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "referrer" + }, + "val": "void" + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "tier_multiplier" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Member" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFO3O" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFO3O" + } + }, + { + "key": { + "symbol": "buddy" + }, + "val": "void" + }, + { + "key": { + "symbol": "contribution_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "index" + }, + "val": { + "u32": 12 + } + }, + { + "key": { + "symbol": "last_contribution_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "referrer" + }, + "val": "void" + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "tier_multiplier" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Member" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHGT6" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHGT6" + } + }, + { + "key": { + "symbol": "buddy" + }, + "val": "void" + }, + { + "key": { + "symbol": "contribution_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "index" + }, + "val": { + "u32": 13 + } + }, + { + "key": { + "symbol": "last_contribution_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "referrer" + }, + "val": "void" + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "tier_multiplier" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Member" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABI7IO" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABI7IO" + } + }, + { + "key": { + "symbol": "buddy" + }, + "val": "void" + }, + { + "key": { + "symbol": "contribution_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "index" + }, + "val": { + "u32": 14 + } + }, + { + "key": { + "symbol": "last_contribution_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "referrer" + }, + "val": "void" + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "tier_multiplier" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Proposal" + }, + { + "u64": 2 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "against_votes" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "created_timestamp" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "description" + }, + "val": { + "string": "Test description" + } + }, + { + "key": { + "symbol": "execution_data" + }, + "val": { + "string": "{}" + } + }, + { + "key": { + "symbol": "for_votes" + }, + "val": { + "u64": 13 + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": 2 + } + }, + { + "key": { + "symbol": "proposal_type" + }, + "val": { + "vec": [ + { + "symbol": "ChangeLateFee" + } + ] + } + }, + { + "key": { + "symbol": "proposer" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "quorum_met" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "title" + }, + "val": { + "string": "Test proposal" + } + }, + { + "key": { + "symbol": "total_voting_power" + }, + "val": { + "u64": 13 + } + }, + { + "key": { + "symbol": "voting_end_timestamp" + }, + "val": { + "u64": 604800 + } + }, + { + "key": { + "symbol": "voting_start_timestamp" + }, + "val": { + "u64": 0 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "ProposalStats" + }, + { + "u64": 1 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "approved_proposals" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "average_participation" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "average_voting_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "executed_proposals" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "rejected_proposals" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "total_proposals" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "QuadraticVote" + }, + { + "u64": 2 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "proposal_id" + }, + "val": { + "u64": 2 + } + }, + { + "key": { + "symbol": "timestamp" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "vote_choice" + }, + "val": { + "vec": [ + { + "symbol": "For" + } + ] + } + }, + { + "key": { + "symbol": "vote_weight" + }, + "val": { + "u32": 2 + } + }, + { + "key": { + "symbol": "voter" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "voting_power_used" + }, + "val": { + "u64": 4 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "QuadraticVote" + }, + { + "u64": 2 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "proposal_id" + }, + "val": { + "u64": 2 + } + }, + { + "key": { + "symbol": "timestamp" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "vote_choice" + }, + "val": { + "vec": [ + { + "symbol": "For" + } + ] + } + }, + { + "key": { + "symbol": "vote_weight" + }, + "val": { + "u32": 3 + } + }, + { + "key": { + "symbol": "voter" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "symbol": "voting_power_used" + }, + "val": { + "u64": 9 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "VotingPower" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 1 } ] }, "val": { - "u64": 1 + "map": [ + { + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "last_updated" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "member" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "quadratic_power" + }, + "val": { + "u64": 10000 + } + }, + { + "key": { + "symbol": "token_balance" + }, + "val": { + "i128": { + "hi": 0, + "lo": 10000000 + } + } + } + ] } }, { "key": { "vec": [ { - "symbol": "LastCreatedTimestamp" + "symbol": "VotingPower" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "u64": 1 } ] }, "val": { - "u64": 0 + "map": [ + { + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "last_updated" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "member" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "symbol": "quadratic_power" + }, + "val": { + "u64": 10000 + } + }, + { + "key": { + "symbol": "token_balance" + }, + "val": { + "i128": { + "hi": 0, + "lo": 10000000 + } + } + } + ] } } ] } } } - }, - "ext": "v0" - }, - 4095 - ] - ], - [ - { - "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", - "key": { - "ledger_key_nonce": { - "nonce": 801925984706572462 + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 2032731177588607455 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 2032731177588607455 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": 6391496069076573377 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": 6391496069076573377 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 4571470874178140630 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 4571470874178140630 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 4837995959683129791 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 4837995959683129791 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": null + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATYON", + "key": { + "ledger_key_nonce": { + "nonce": 4270020994084947596 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATYON", + "key": { + "ledger_key_nonce": { + "nonce": 4270020994084947596 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAX5", + "key": { + "ledger_key_nonce": { + "nonce": 8370022561469687789 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAX5", + "key": { + "ledger_key_nonce": { + "nonce": 8370022561469687789 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXI7N", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXI7N", + "key": { + "ledger_key_nonce": { + "nonce": 6277191135259896685 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYRE5", + "key": { + "ledger_key_nonce": { + "nonce": 5806905060045992000 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYRE5", + "key": { + "ledger_key_nonce": { + "nonce": 5806905060045992000 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2ZMN", + "key": { + "ledger_key_nonce": { + "nonce": 1194852393571756375 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2ZMN", + "key": { + "ledger_key_nonce": { + "nonce": 1194852393571756375 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4BV5", + "key": { + "ledger_key_nonce": { + "nonce": 115220454072064130 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4BV5", + "key": { + "ledger_key_nonce": { + "nonce": 115220454072064130 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6J5N", + "key": { + "ledger_key_nonce": { + "nonce": 3126073502131104533 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6J5N", + "key": { + "ledger_key_nonce": { + "nonce": 3126073502131104533 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABB6KO", + "key": { + "ledger_key_nonce": { + "nonce": 1301173170172112462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABB6KO", + "key": { + "ledger_key_nonce": { + "nonce": 1301173170172112462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABDWC6", + "key": { + "ledger_key_nonce": { + "nonce": 6517132746326325848 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABDWC6", + "key": { + "ledger_key_nonce": { + "nonce": 6517132746326325848 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFO3O", + "key": { + "ledger_key_nonce": { + "nonce": 7270604957039011794 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFO3O", + "key": { + "ledger_key_nonce": { + "nonce": 7270604957039011794 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHGT6", + "key": { + "ledger_key_nonce": { + "nonce": 2781962168096793370 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHGT6", + "key": { + "ledger_key_nonce": { + "nonce": 2781962168096793370 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABI7IO", + "key": { + "ledger_key_nonce": { + "nonce": 2307661404550649928 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABI7IO", + "key": { + "ledger_key_nonce": { + "nonce": 2307661404550649928 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [ + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "init" + } + ], + "data": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "init" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "create_circle" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "i128": { + "hi": 0, + "lo": 100000 + } + }, + { + "u32": 15 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + }, + { + "u64": 86400 + }, + { + "u32": 100 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "create_circle" + } + ], + "data": { + "u64": 1 + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "join_circle" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000008" + }, + { + "symbol": "mint" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u128": { + "hi": 1, + "lo": 0 + } + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000008", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "mint" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "join_circle" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "join_circle" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000008" + }, + { + "symbol": "mint" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u128": { + "hi": 1, + "lo": 1 + } + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000008", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "mint" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "join_circle" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "join_circle" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000008" + }, + { + "symbol": "mint" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "u128": { + "hi": 1, + "lo": 2 + } + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000008", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "mint" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "join_circle" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "create_proposal" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "vec": [ + { + "symbol": "ChangeLateFee" + } + ] + }, + { + "string": "Test proposal" + }, + { + "string": "Test description" + }, + { + "string": "{}" + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "create_proposal" + } + ], + "data": { + "u64": 2 + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "join_circle" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATYON" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000008" + }, + { + "symbol": "mint" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATYON" + }, + { + "u128": { + "hi": 1, + "lo": 3 + } + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000008", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "mint" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "join_circle" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "join_circle" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAX5" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000008" + }, + { + "symbol": "mint" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAX5" + }, + { + "u128": { + "hi": 1, + "lo": 4 + } + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000008", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "mint" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "join_circle" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "join_circle" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXI7N" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000008" + }, + { + "symbol": "mint" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXI7N" + }, + { + "u128": { + "hi": 1, + "lo": 5 + } + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000008", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "mint" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "join_circle" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "join_circle" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYRE5" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000008" + }, + { + "symbol": "mint" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYRE5" + }, + { + "u128": { + "hi": 1, + "lo": 6 + } + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000008", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "mint" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "join_circle" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "join_circle" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2ZMN" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000008" + }, + { + "symbol": "mint" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2ZMN" + }, + { + "u128": { + "hi": 1, + "lo": 7 + } + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000008", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "mint" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "join_circle" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "join_circle" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4BV5" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000008" + }, + { + "symbol": "mint" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4BV5" + }, + { + "u128": { + "hi": 1, + "lo": 8 + } + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000008", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "mint" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "join_circle" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "join_circle" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6J5N" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000008" + }, + { + "symbol": "mint" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6J5N" + }, + { + "u128": { + "hi": 1, + "lo": 9 + } + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000008", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "mint" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "join_circle" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "join_circle" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABB6KO" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000008" + }, + { + "symbol": "mint" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABB6KO" + }, + { + "u128": { + "hi": 1, + "lo": 10 + } + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000008", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "mint" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "join_circle" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "join_circle" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABDWC6" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000008" + }, + { + "symbol": "mint" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABDWC6" + }, + { + "u128": { + "hi": 1, + "lo": 11 + } + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000008", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "mint" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "join_circle" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "join_circle" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFO3O" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000008" + }, + { + "symbol": "mint" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFO3O" + }, + { + "u128": { + "hi": 1, + "lo": 12 + } + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000008", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "mint" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "join_circle" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "join_circle" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHGT6" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000008" + }, + { + "symbol": "mint" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHGT6" + }, + { + "u128": { + "hi": 1, + "lo": 13 + } + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000008", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "mint" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "join_circle" } - }, - "durability": "temporary" + ], + "data": "void" } - }, - [ - { - "last_modified_ledger_seq": 0, + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "join_circle" + } + ], "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", - "key": { - "ledger_key_nonce": { - "nonce": 801925984706572462 - } + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABI7IO" }, - "durability": "temporary", - "val": "void" - } - }, - "ext": "v0" - }, - 6311999 - ] - ], - [ - { - "contract_code": { - "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } } - }, - [ - { - "last_modified_ledger_seq": 0, + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000008" + }, + { + "symbol": "mint" + } + ], "data": { - "contract_code": { - "ext": "v0", - "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "code": "" + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABI7IO" + }, + { + "u128": { + "hi": 1, + "lo": 14 + } + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000008", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "mint" } - }, - "ext": "v0" - }, - 4095 - ] - ] - ] - }, - "events": [ + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "join_circle" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, { "event": { "ext": "v0", @@ -422,11 +5135,24 @@ "bytes": "0000000000000000000000000000000000000000000000000000000000000001" }, { - "symbol": "init" + "symbol": "update_voting_power" } ], "data": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 1 + }, + { + "i128": { + "hi": 0, + "lo": 10000000 + } + } + ] } } } @@ -445,7 +5171,7 @@ "symbol": "fn_return" }, { - "symbol": "init" + "symbol": "update_voting_power" } ], "data": "void" @@ -469,34 +5195,22 @@ "bytes": "0000000000000000000000000000000000000000000000000000000000000001" }, { - "symbol": "create_circle" + "symbol": "update_voting_power" } ], "data": { "vec": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "u64": 1 }, { "i128": { "hi": 0, - "lo": 1000000 + "lo": 10000000 } - }, - { - "u32": 15 - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" - }, - { - "u64": 86400 - }, - { - "u32": 100 - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" } ] } @@ -517,12 +5231,10 @@ "symbol": "fn_return" }, { - "symbol": "create_circle" + "symbol": "update_voting_power" } ], - "data": { - "u64": 1 - } + "data": "void" } } }, @@ -543,21 +5255,27 @@ "bytes": "0000000000000000000000000000000000000000000000000000000000000001" }, { - "symbol": "join_circle" + "symbol": "quadratic_vote" } ], "data": { "vec": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" }, { - "u64": 1 + "u64": 2 }, { - "u32": 1 + "u32": 2 }, - "void" + { + "vec": [ + { + "symbol": "For" + } + ] + } ] } } @@ -574,30 +5292,43 @@ "v0": { "topics": [ { - "symbol": "log" + "symbol": "fn_return" + }, + { + "symbol": "quadratic_vote" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "get_proposal" } ], "data": { - "vec": [ - { - "string": "caught panic 'Collateral required for this circle' from contract function 'Symbol(obj#111)'" - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "u64": 1 - }, - { - "u32": 1 - }, - "void" - ] + "u64": 2 } } } }, - "failed_call": true + "failed_call": false }, { "event": { @@ -608,21 +5339,148 @@ "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_return" }, { - "error": { - "wasm_vm": "invalid_action" - } + "symbol": "get_proposal" } ], "data": { - "string": "caught error from function" + "map": [ + { + "key": { + "symbol": "against_votes" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "created_timestamp" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "description" + }, + "val": { + "string": "Test description" + } + }, + { + "key": { + "symbol": "execution_data" + }, + "val": { + "string": "{}" + } + }, + { + "key": { + "symbol": "for_votes" + }, + "val": { + "u64": 4 + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": 2 + } + }, + { + "key": { + "symbol": "proposal_type" + }, + "val": { + "vec": [ + { + "symbol": "ChangeLateFee" + } + ] + } + }, + { + "key": { + "symbol": "proposer" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "quorum_met" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "title" + }, + "val": { + "string": "Test proposal" + } + }, + { + "key": { + "symbol": "total_voting_power" + }, + "val": { + "u64": 4 + } + }, + { + "key": { + "symbol": "voting_end_timestamp" + }, + "val": { + "u64": 604800 + } + }, + { + "key": { + "symbol": "voting_start_timestamp" + }, + "val": { + "u64": 0 + } + } + ] } } } }, - "failed_call": true + "failed_call": false }, { "event": { @@ -633,34 +5491,31 @@ "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_call" }, { - "error": { - "wasm_vm": "invalid_action" - } + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "quadratic_vote" } ], "data": { "vec": [ { - "string": "contract call failed" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "u64": 2 }, { - "symbol": "join_circle" + "u32": 3 }, { "vec": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "u64": 1 - }, - { - "u32": 1 - }, - "void" + "symbol": "For" + } ] } ] @@ -670,6 +5525,27 @@ }, "failed_call": false }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "quadratic_vote" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, { "event": { "ext": "v0", @@ -679,16 +5555,169 @@ "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_call" }, { - "error": { - "wasm_vm": "invalid_action" - } + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "get_proposal" + } + ], + "data": { + "u64": 2 + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "get_proposal" } ], "data": { - "string": "escalating error to panic" + "map": [ + { + "key": { + "symbol": "against_votes" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "created_timestamp" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "description" + }, + "val": { + "string": "Test description" + } + }, + { + "key": { + "symbol": "execution_data" + }, + "val": { + "string": "{}" + } + }, + { + "key": { + "symbol": "for_votes" + }, + "val": { + "u64": 13 + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": 2 + } + }, + { + "key": { + "symbol": "proposal_type" + }, + "val": { + "vec": [ + { + "symbol": "ChangeLateFee" + } + ] + } + }, + { + "key": { + "symbol": "proposer" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "quorum_met" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "title" + }, + "val": { + "string": "Test proposal" + } + }, + { + "key": { + "symbol": "total_voting_power" + }, + "val": { + "u64": 13 + } + }, + { + "key": { + "symbol": "voting_end_timestamp" + }, + "val": { + "u64": 604800 + } + }, + { + "key": { + "symbol": "voting_start_timestamp" + }, + "val": { + "u64": 0 + } + } + ] } } } diff --git a/test_snapshots/test_request_leniency.1.json b/test_snapshots/test_request_leniency.1.json index fde0921..a3b70b1 100644 --- a/test_snapshots/test_request_leniency.1.json +++ b/test_snapshots/test_request_leniency.1.json @@ -45,6 +45,57 @@ } ] ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "join_circle", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "request_leniency", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "string": "Medical emergency - need extra time" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], [] ], "ledger": { @@ -256,7 +307,7 @@ "symbol": "member_count" }, "val": { - "u32": 0 + "u32": 1 } }, { @@ -339,6 +390,245 @@ "val": { "u64": 0 } + }, + { + "key": { + "vec": [ + { + "symbol": "LeniencyRequest" + }, + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "approve_votes" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "extension_hours" + }, + "val": { + "u64": 48 + } + }, + { + "key": { + "symbol": "reason" + }, + "val": { + "string": "Medical emergency - need extra time" + } + }, + { + "key": { + "symbol": "reject_votes" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "request_timestamp" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "requester" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Pending" + } + ] + } + }, + { + "key": { + "symbol": "total_votes_cast" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "voting_deadline" + }, + "val": { + "u64": 86400 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "LeniencyStats" + }, + { + "u64": 1 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "approved_requests" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "average_participation" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "expired_requests" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "rejected_requests" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "total_requests" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Member" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "buddy" + }, + "val": "void" + }, + { + "key": { + "symbol": "contribution_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "index" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "last_contribution_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "referrer" + }, + "val": "void" + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "tier_multiplier" + }, + "val": { + "u32": 1 + } + } + ] + } } ] } @@ -383,6 +673,104 @@ 6311999 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": null + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], [ { "contract_code": { @@ -599,32 +987,28 @@ } } }, - "failed_call": true + "failed_call": false }, { "event": { "ext": "v0", - "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000006", "type_": "diagnostic", "body": { "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_return" }, { - "error": { - "storage": "missing_value" - } + "symbol": "mint" } ], - "data": { - "string": "trying to get non-existing value for contract instance" - } + "data": "void" } } }, - "failed_call": true + "failed_call": false }, { "event": { @@ -635,66 +1019,53 @@ "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_return" }, { - "error": { - "storage": "missing_value" - } + "symbol": "join_circle" } ], - "data": { - "vec": [ - { - "string": "contract call failed" - }, - { - "symbol": "mint" - }, - { - "vec": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "u128": { - "hi": 1, - "lo": 0 - } - } - ] - } - ] - } + "data": "void" } } }, - "failed_call": true + "failed_call": false }, { "event": { "ext": "v0", - "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "contract_id": null, "type_": "diagnostic", "body": { "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_call" }, { - "error": { - "storage": "missing_value" - } + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "request_leniency" } ], "data": { - "string": "escalating error to panic" + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "string": "Medical emergency - need extra time" + } + ] } } } }, - "failed_call": true + "failed_call": false }, { "event": { @@ -705,21 +1076,17 @@ "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_return" }, { - "error": { - "storage": "missing_value" - } + "symbol": "request_leniency" } ], - "data": { - "string": "caught error from function" - } + "data": "void" } } }, - "failed_call": true + "failed_call": false }, { "event": { @@ -730,35 +1097,22 @@ "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_call" }, { - "error": { - "storage": "missing_value" - } + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "get_leniency_request" } ], "data": { "vec": [ { - "string": "contract call failed" - }, - { - "symbol": "join_circle" + "u64": 1 }, { - "vec": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "u64": 1 - }, - { - "u32": 1 - }, - "void" - ] + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] } @@ -770,22 +1124,105 @@ { "event": { "ext": "v0", - "contract_id": null, + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", "type_": "diagnostic", "body": { "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_return" }, { - "error": { - "storage": "missing_value" - } + "symbol": "get_leniency_request" } ], "data": { - "string": "escalating error to panic" + "map": [ + { + "key": { + "symbol": "approve_votes" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "extension_hours" + }, + "val": { + "u64": 48 + } + }, + { + "key": { + "symbol": "reason" + }, + "val": { + "string": "Medical emergency - need extra time" + } + }, + { + "key": { + "symbol": "reject_votes" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "request_timestamp" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "requester" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Pending" + } + ] + } + }, + { + "key": { + "symbol": "total_votes_cast" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "voting_deadline" + }, + "val": { + "u64": 86400 + } + } + ] } } } diff --git a/test_snapshots/test_social_capital_tracking.1.json b/test_snapshots/test_social_capital_tracking.1.json index 6605e4a..e752f44 100644 --- a/test_snapshots/test_social_capital_tracking.1.json +++ b/test_snapshots/test_social_capital_tracking.1.json @@ -45,6 +45,116 @@ } ] ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "join_circle", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "join_circle", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "request_leniency", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "string": "Need extra time" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "vote_on_leniency", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "vec": [ + { + "symbol": "Approve" + } + ] + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], [] ], "ledger": { @@ -167,14 +277,16 @@ "symbol": "deadline_timestamp" }, "val": { - "u64": 86400 + "u64": 259200 } }, { "key": { "symbol": "grace_period_end" }, - "val": "void" + "val": { + "u64": 259200 + } }, { "key": { @@ -256,7 +368,7 @@ "symbol": "member_count" }, "val": { - "u32": 0 + "u32": 2 } }, { @@ -339,165 +451,867 @@ "val": { "u64": 0 } - } - ] - } - } - } - }, - "ext": "v0" - }, - 4095 - ] - ], - [ - { - "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", - "key": { - "ledger_key_nonce": { - "nonce": 801925984706572462 - } - }, - "durability": "temporary" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", - "key": { - "ledger_key_nonce": { - "nonce": 801925984706572462 - } - }, - "durability": "temporary", - "val": "void" - } - }, - "ext": "v0" - }, - 6311999 - ] - ], - [ - { - "contract_code": { - "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_code": { - "ext": "v0", - "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "code": "" - } - }, - "ext": "v0" - }, - 4095 - ] - ] - ] - }, - "events": [ - { - "event": { - "ext": "v0", - "contract_id": null, - "type_": "diagnostic", - "body": { - "v0": { - "topics": [ - { - "symbol": "fn_call" - }, - { - "bytes": "0000000000000000000000000000000000000000000000000000000000000001" - }, - { - "symbol": "init" - } - ], - "data": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" - } - } - } - }, - "failed_call": false - }, - { - "event": { - "ext": "v0", - "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", - "type_": "diagnostic", - "body": { - "v0": { - "topics": [ - { - "symbol": "fn_return" - }, - { - "symbol": "init" - } - ], - "data": "void" - } - } - }, - "failed_call": false - }, - { - "event": { - "ext": "v0", - "contract_id": null, - "type_": "diagnostic", - "body": { - "v0": { - "topics": [ - { - "symbol": "fn_call" - }, - { - "bytes": "0000000000000000000000000000000000000000000000000000000000000001" - }, - { - "symbol": "create_circle" - } - ], - "data": { - "vec": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" - }, - { - "i128": { - "hi": 0, - "lo": 1000000 - } - }, - { - "u32": 5 - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "u64": 86400 - }, + }, + { + "key": { + "vec": [ + { + "symbol": "LeniencyRequest" + }, + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "approve_votes" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "extension_hours" + }, + "val": { + "u64": 48 + } + }, + { + "key": { + "symbol": "reason" + }, + "val": { + "string": "Need extra time" + } + }, + { + "key": { + "symbol": "reject_votes" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "request_timestamp" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "requester" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Approved" + } + ] + } + }, + { + "key": { + "symbol": "total_votes_cast" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "voting_deadline" + }, + "val": { + "u64": 86400 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "LeniencyStats" + }, + { + "u64": 1 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "approved_requests" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "average_participation" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "expired_requests" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "rejected_requests" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "total_requests" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "LeniencyVotes" + }, + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "val": { + "vec": [ + { + "symbol": "Approve" + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Member" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "buddy" + }, + "val": "void" + }, + { + "key": { + "symbol": "contribution_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "index" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "last_contribution_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "referrer" + }, + "val": "void" + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "tier_multiplier" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Member" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "buddy" + }, + "val": "void" + }, + { + "key": { + "symbol": "contribution_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "index" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "last_contribution_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "referrer" + }, + "val": "void" + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "tier_multiplier" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "SocialCapital" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "leniency_given" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "leniency_received" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "member" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "trust_score" + }, + "val": { + "u32": 55 + } + }, + { + "key": { + "symbol": "voting_participation" + }, + "val": { + "u32": 0 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "SocialCapital" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 1 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "leniency_given" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "leniency_received" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "member" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "trust_score" + }, + "val": { + "u32": 52 + } + }, + { + "key": { + "symbol": "voting_participation" + }, + "val": { + "u32": 1 + } + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 4837995959683129791 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 4837995959683129791 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": 2032731177588607455 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": 2032731177588607455 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": null + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [ + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "init" + } + ], + "data": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "init" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "create_circle" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "i128": { + "hi": 0, + "lo": 1000000 + } + }, + { + "u32": 5 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "u64": 86400 + }, + { + "u32": 100 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "create_circle" + } + ], + "data": { + "u64": 1 + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "join_circle" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, { - "u32": 100 + "u64": 1 }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" - } + "u32": 1 + }, + "void" ] } } @@ -514,20 +1328,75 @@ "v0": { "topics": [ { - "symbol": "fn_return" + "symbol": "fn_call" }, { - "symbol": "create_circle" + "bytes": "0000000000000000000000000000000000000000000000000000000000000007" + }, + { + "symbol": "mint" } ], "data": { - "u64": 1 + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u128": { + "hi": 1, + "lo": 0 + } + } + ] } } } }, "failed_call": false }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000007", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "mint" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "join_circle" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, { "event": { "ext": "v0", @@ -549,7 +1418,7 @@ "data": { "vec": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" }, { "u64": 1 @@ -586,12 +1455,12 @@ "data": { "vec": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" }, { "u128": { "hi": 1, - "lo": 0 + "lo": 1 } } ] @@ -599,7 +1468,28 @@ } } }, - "failed_call": true + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000007", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "mint" + } + ], + "data": "void" + } + } + }, + "failed_call": false }, { "event": { @@ -610,21 +1500,53 @@ "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_return" }, { - "error": { - "storage": "missing_value" - } + "symbol": "join_circle" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "request_leniency" } ], "data": { - "string": "trying to get non-existing value for contract instance" + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "string": "Need extra time" + } + ] } } } }, - "failed_call": true + "failed_call": false }, { "event": { @@ -635,32 +1557,51 @@ "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_return" }, { - "error": { - "storage": "missing_value" - } + "symbol": "request_leniency" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "vote_on_leniency" } ], "data": { "vec": [ { - "string": "contract call failed" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 1 }, { - "symbol": "mint" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { "vec": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "u128": { - "hi": 1, - "lo": 0 - } + "symbol": "Approve" } ] } @@ -669,7 +1610,7 @@ } } }, - "failed_call": true + "failed_call": false }, { "event": { @@ -680,21 +1621,50 @@ "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_return" }, { - "error": { - "storage": "missing_value" - } + "symbol": "vote_on_leniency" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "get_social_capital" } ], "data": { - "string": "escalating error to panic" + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 1 + } + ] } } } }, - "failed_call": true + "failed_call": false }, { "event": { @@ -705,21 +1675,68 @@ "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_return" }, { - "error": { - "storage": "missing_value" - } + "symbol": "get_social_capital" } ], "data": { - "string": "caught error from function" + "map": [ + { + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "leniency_given" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "leniency_received" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "member" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "trust_score" + }, + "val": { + "u32": 52 + } + }, + { + "key": { + "symbol": "voting_participation" + }, + "val": { + "u32": 1 + } + } + ] } } } }, - "failed_call": true + "failed_call": false }, { "event": { @@ -730,35 +1747,22 @@ "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_call" }, { - "error": { - "storage": "missing_value" - } + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "get_social_capital" } ], "data": { "vec": [ { - "string": "contract call failed" - }, - { - "symbol": "join_circle" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { - "vec": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "u64": 1 - }, - { - "u32": 1 - }, - "void" - ] + "u64": 1 } ] } @@ -770,22 +1774,69 @@ { "event": { "ext": "v0", - "contract_id": null, + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", "type_": "diagnostic", "body": { "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_return" }, { - "error": { - "storage": "missing_value" - } + "symbol": "get_social_capital" } ], "data": { - "string": "escalating error to panic" + "map": [ + { + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "leniency_given" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "leniency_received" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "member" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "trust_score" + }, + "val": { + "u32": 55 + } + }, + { + "key": { + "symbol": "voting_participation" + }, + "val": { + "u32": 0 + } + } + ] } } } diff --git a/test_snapshots/test_vote_on_leniency_approval.1.json b/test_snapshots/test_vote_on_leniency_approval.1.json index 3505e81..e086f82 100644 --- a/test_snapshots/test_vote_on_leniency_approval.1.json +++ b/test_snapshots/test_vote_on_leniency_approval.1.json @@ -45,6 +45,200 @@ } ] ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "join_circle", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "join_circle", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "join_circle", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "join_circle", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "request_leniency", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "string": "Need extra time for payment" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "vote_on_leniency", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "vec": [ + { + "symbol": "Approve" + } + ] + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "vote_on_leniency", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "vec": [ + { + "symbol": "Approve" + } + ] + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], [] ], "ledger": { @@ -167,14 +361,16 @@ "symbol": "deadline_timestamp" }, "val": { - "u64": 86400 + "u64": 259200 } }, { "key": { "symbol": "grace_period_end" }, - "val": "void" + "val": { + "u64": 259200 + } }, { "key": { @@ -256,7 +452,7 @@ "symbol": "member_count" }, "val": { - "u32": 0 + "u32": 4 } }, { @@ -339,100 +535,1512 @@ "val": { "u64": 0 } - } - ] - } - } - } - }, - "ext": "v0" - }, - 4095 - ] - ], - [ - { - "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", - "key": { - "ledger_key_nonce": { - "nonce": 801925984706572462 - } - }, - "durability": "temporary" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", - "key": { - "ledger_key_nonce": { - "nonce": 801925984706572462 - } - }, - "durability": "temporary", - "val": "void" - } - }, - "ext": "v0" - }, - 6311999 - ] - ], - [ - { - "contract_code": { - "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_code": { - "ext": "v0", - "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "code": "" - } - }, - "ext": "v0" - }, - 4095 - ] - ] - ] - }, - "events": [ - { - "event": { - "ext": "v0", - "contract_id": null, - "type_": "diagnostic", - "body": { - "v0": { - "topics": [ - { - "symbol": "fn_call" - }, + }, + { + "key": { + "vec": [ + { + "symbol": "LeniencyRequest" + }, + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "approve_votes" + }, + "val": { + "u32": 2 + } + }, + { + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "extension_hours" + }, + "val": { + "u64": 48 + } + }, + { + "key": { + "symbol": "reason" + }, + "val": { + "string": "Need extra time for payment" + } + }, + { + "key": { + "symbol": "reject_votes" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "request_timestamp" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "requester" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Approved" + } + ] + } + }, + { + "key": { + "symbol": "total_votes_cast" + }, + "val": { + "u32": 2 + } + }, + { + "key": { + "symbol": "voting_deadline" + }, + "val": { + "u64": 86400 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "LeniencyStats" + }, + { + "u64": 1 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "approved_requests" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "average_participation" + }, + "val": { + "u32": 2 + } + }, + { + "key": { + "symbol": "expired_requests" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "rejected_requests" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "total_requests" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "LeniencyVotes" + }, + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "val": { + "vec": [ + { + "symbol": "Approve" + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "LeniencyVotes" + }, + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "val": { + "vec": [ + { + "symbol": "Approve" + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Member" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "buddy" + }, + "val": "void" + }, + { + "key": { + "symbol": "contribution_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "index" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "last_contribution_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "referrer" + }, + "val": "void" + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "tier_multiplier" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Member" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "buddy" + }, + "val": "void" + }, + { + "key": { + "symbol": "contribution_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "index" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "last_contribution_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "referrer" + }, + "val": "void" + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "tier_multiplier" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Member" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "symbol": "buddy" + }, + "val": "void" + }, + { + "key": { + "symbol": "contribution_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "index" + }, + "val": { + "u32": 2 + } + }, + { + "key": { + "symbol": "last_contribution_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "referrer" + }, + "val": "void" + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "tier_multiplier" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Member" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + }, + { + "key": { + "symbol": "buddy" + }, + "val": "void" + }, + { + "key": { + "symbol": "contribution_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "index" + }, + "val": { + "u32": 3 + } + }, + { + "key": { + "symbol": "last_contribution_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "referrer" + }, + "val": "void" + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "tier_multiplier" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "SocialCapital" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "leniency_given" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "leniency_received" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "member" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "trust_score" + }, + "val": { + "u32": 55 + } + }, + { + "key": { + "symbol": "voting_participation" + }, + "val": { + "u32": 0 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "SocialCapital" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 1 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "leniency_given" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "leniency_received" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "member" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "trust_score" + }, + "val": { + "u32": 52 + } + }, + { + "key": { + "symbol": "voting_participation" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "SocialCapital" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "u64": 1 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "leniency_given" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "leniency_received" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "member" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "symbol": "trust_score" + }, + "val": { + "u32": 52 + } + }, + { + "key": { + "symbol": "voting_participation" + }, + "val": { + "u32": 1 + } + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 4270020994084947596 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 4270020994084947596 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": 8370022561469687789 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": 8370022561469687789 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 4837995959683129791 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 4837995959683129791 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 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": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + "key": { + "ledger_key_nonce": { + "nonce": 2032731177588607455 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + "key": { + "ledger_key_nonce": { + "nonce": 2032731177588607455 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATYON", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATYON", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": null + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [ + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "init" + } + ], + "data": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "init" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "create_circle" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "i128": { + "hi": 0, + "lo": 1000000 + } + }, + { + "u32": 5 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + }, + { + "u64": 86400 + }, + { + "u32": 100 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATYON" + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "create_circle" + } + ], + "data": { + "u64": 1 + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "join_circle" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000009" + }, + { + "symbol": "mint" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u128": { + "hi": 1, + "lo": 0 + } + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000009", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "mint" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "join_circle" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "join_circle" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000009" + }, + { + "symbol": "mint" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u128": { + "hi": 1, + "lo": 1 + } + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000009", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "mint" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "join_circle" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "join_circle" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ { - "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + "symbol": "fn_call" }, { - "symbol": "init" + "bytes": "0000000000000000000000000000000000000000000000000000000000000009" + }, + { + "symbol": "mint" } ], "data": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "u128": { + "hi": 1, + "lo": 2 + } + } + ] } } } }, "failed_call": false }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000009", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "mint" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, { "event": { "ext": "v0", @@ -445,7 +2053,7 @@ "symbol": "fn_return" }, { - "symbol": "init" + "symbol": "join_circle" } ], "data": "void" @@ -469,35 +2077,21 @@ "bytes": "0000000000000000000000000000000000000000000000000000000000000001" }, { - "symbol": "create_circle" + "symbol": "join_circle" } ], "data": { "vec": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" - }, - { - "i128": { - "hi": 0, - "lo": 1000000 - } - }, - { - "u32": 5 - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" }, { - "u64": 86400 + "u64": 1 }, { - "u32": 100 + "u32": 1 }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATYON" - } + "void" ] } } @@ -514,14 +2108,27 @@ "v0": { "topics": [ { - "symbol": "fn_return" + "symbol": "fn_call" }, { - "symbol": "create_circle" + "bytes": "0000000000000000000000000000000000000000000000000000000000000009" + }, + { + "symbol": "mint" } ], "data": { - "u64": 1 + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + }, + { + "u128": { + "hi": 1, + "lo": 3 + } + } + ] } } } @@ -531,35 +2138,40 @@ { "event": { "ext": "v0", - "contract_id": null, + "contract_id": "0000000000000000000000000000000000000000000000000000000000000009", "type_": "diagnostic", "body": { "v0": { "topics": [ { - "symbol": "fn_call" + "symbol": "fn_return" }, { - "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + "symbol": "mint" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" }, { "symbol": "join_circle" } ], - "data": { - "vec": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "u64": 1 - }, - { - "u32": 1 - }, - "void" - ] - } + "data": "void" } } }, @@ -568,7 +2180,7 @@ { "event": { "ext": "v0", - "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "contract_id": null, "type_": "diagnostic", "body": { "v0": { @@ -577,10 +2189,10 @@ "symbol": "fn_call" }, { - "bytes": "0000000000000000000000000000000000000000000000000000000000000009" + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" }, { - "symbol": "mint" + "symbol": "request_leniency" } ], "data": { @@ -589,17 +2201,17 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { - "u128": { - "hi": 1, - "lo": 0 - } + "u64": 1 + }, + { + "string": "Need extra time for payment" } ] } } } }, - "failed_call": true + "failed_call": false }, { "event": { @@ -610,57 +2222,51 @@ "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_return" }, { - "error": { - "storage": "missing_value" - } + "symbol": "request_leniency" } ], - "data": { - "string": "trying to get non-existing value for contract instance" - } + "data": "void" } } }, - "failed_call": true + "failed_call": false }, { "event": { "ext": "v0", - "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "contract_id": null, "type_": "diagnostic", "body": { "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_call" }, { - "error": { - "storage": "missing_value" - } + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "vote_on_leniency" } ], "data": { "vec": [ { - "string": "contract call failed" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 1 }, { - "symbol": "mint" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { "vec": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "u128": { - "hi": 1, - "lo": 0 - } + "symbol": "Approve" } ] } @@ -669,7 +2275,7 @@ } } }, - "failed_call": true + "failed_call": false }, { "event": { @@ -680,21 +2286,60 @@ "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_return" }, { - "error": { - "storage": "missing_value" - } + "symbol": "vote_on_leniency" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "vote_on_leniency" } ], "data": { - "string": "escalating error to panic" + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "vec": [ + { + "symbol": "Approve" + } + ] + } + ] } } } }, - "failed_call": true + "failed_call": false }, { "event": { @@ -705,21 +2350,17 @@ "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_return" }, { - "error": { - "storage": "missing_value" - } + "symbol": "vote_on_leniency" } ], - "data": { - "string": "caught error from function" - } + "data": "void" } } }, - "failed_call": true + "failed_call": false }, { "event": { @@ -730,35 +2371,22 @@ "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_call" }, { - "error": { - "storage": "missing_value" - } + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "get_leniency_request" } ], "data": { "vec": [ { - "string": "contract call failed" - }, - { - "symbol": "join_circle" + "u64": 1 }, { - "vec": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "u64": 1 - }, - { - "u32": 1 - }, - "void" - ] + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] } @@ -770,22 +2398,105 @@ { "event": { "ext": "v0", - "contract_id": null, + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", "type_": "diagnostic", "body": { "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_return" }, { - "error": { - "storage": "missing_value" - } + "symbol": "get_leniency_request" } ], "data": { - "string": "escalating error to panic" + "map": [ + { + "key": { + "symbol": "approve_votes" + }, + "val": { + "u32": 2 + } + }, + { + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "extension_hours" + }, + "val": { + "u64": 48 + } + }, + { + "key": { + "symbol": "reason" + }, + "val": { + "string": "Need extra time for payment" + } + }, + { + "key": { + "symbol": "reject_votes" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "request_timestamp" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "requester" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Approved" + } + ] + } + }, + { + "key": { + "symbol": "total_votes_cast" + }, + "val": { + "u32": 2 + } + }, + { + "key": { + "symbol": "voting_deadline" + }, + "val": { + "u64": 86400 + } + } + ] } } } diff --git a/test_snapshots/test_vote_on_leniency_rejection.1.json b/test_snapshots/test_vote_on_leniency_rejection.1.json index 3505e81..65eeb0f 100644 --- a/test_snapshots/test_vote_on_leniency_rejection.1.json +++ b/test_snapshots/test_vote_on_leniency_rejection.1.json @@ -45,6 +45,199 @@ } ] ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "join_circle", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "join_circle", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "join_circle", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "join_circle", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "request_leniency", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "string": "Need extra time" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "vote_on_leniency", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "vec": [ + { + "symbol": "Reject" + } + ] + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "vote_on_leniency", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "vec": [ + { + "symbol": "Reject" + } + ] + } + ] + } + }, + "sub_invocations": [] + } + ] + ], [] ], "ledger": { @@ -256,7 +449,7 @@ "symbol": "member_count" }, "val": { - "u32": 0 + "u32": 4 } }, { @@ -339,100 +532,1445 @@ "val": { "u64": 0 } - } - ] - } - } - } - }, - "ext": "v0" - }, - 4095 - ] - ], - [ - { - "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", - "key": { - "ledger_key_nonce": { - "nonce": 801925984706572462 - } - }, - "durability": "temporary" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", - "key": { - "ledger_key_nonce": { - "nonce": 801925984706572462 - } - }, - "durability": "temporary", - "val": "void" - } - }, - "ext": "v0" - }, - 6311999 - ] - ], - [ - { - "contract_code": { - "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_code": { - "ext": "v0", - "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "code": "" - } - }, - "ext": "v0" - }, - 4095 - ] - ] - ] - }, - "events": [ - { - "event": { - "ext": "v0", - "contract_id": null, - "type_": "diagnostic", - "body": { - "v0": { - "topics": [ - { - "symbol": "fn_call" - }, - { - "bytes": "0000000000000000000000000000000000000000000000000000000000000001" - }, - { - "symbol": "init" + }, + { + "key": { + "vec": [ + { + "symbol": "LeniencyRequest" + }, + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "approve_votes" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "extension_hours" + }, + "val": { + "u64": 48 + } + }, + { + "key": { + "symbol": "reason" + }, + "val": { + "string": "Need extra time" + } + }, + { + "key": { + "symbol": "reject_votes" + }, + "val": { + "u32": 2 + } + }, + { + "key": { + "symbol": "request_timestamp" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "requester" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Rejected" + } + ] + } + }, + { + "key": { + "symbol": "total_votes_cast" + }, + "val": { + "u32": 2 + } + }, + { + "key": { + "symbol": "voting_deadline" + }, + "val": { + "u64": 86400 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "LeniencyStats" + }, + { + "u64": 1 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "approved_requests" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "average_participation" + }, + "val": { + "u32": 2 + } + }, + { + "key": { + "symbol": "expired_requests" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "rejected_requests" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "total_requests" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "LeniencyVotes" + }, + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "val": { + "vec": [ + { + "symbol": "Reject" + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "LeniencyVotes" + }, + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "val": { + "vec": [ + { + "symbol": "Reject" + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Member" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "buddy" + }, + "val": "void" + }, + { + "key": { + "symbol": "contribution_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "index" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "last_contribution_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "referrer" + }, + "val": "void" + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "tier_multiplier" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Member" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "buddy" + }, + "val": "void" + }, + { + "key": { + "symbol": "contribution_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "index" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "last_contribution_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "referrer" + }, + "val": "void" + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "tier_multiplier" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Member" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "symbol": "buddy" + }, + "val": "void" + }, + { + "key": { + "symbol": "contribution_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "index" + }, + "val": { + "u32": 2 + } + }, + { + "key": { + "symbol": "last_contribution_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "referrer" + }, + "val": "void" + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "tier_multiplier" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Member" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + }, + { + "key": { + "symbol": "buddy" + }, + "val": "void" + }, + { + "key": { + "symbol": "contribution_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "index" + }, + "val": { + "u32": 3 + } + }, + { + "key": { + "symbol": "last_contribution_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "referrer" + }, + "val": "void" + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "tier_multiplier" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "SocialCapital" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 1 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "leniency_given" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "leniency_received" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "member" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "trust_score" + }, + "val": { + "u32": 49 + } + }, + { + "key": { + "symbol": "voting_participation" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "SocialCapital" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "u64": 1 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "leniency_given" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "leniency_received" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "member" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + }, + { + "key": { + "symbol": "trust_score" + }, + "val": { + "u32": 49 + } + }, + { + "key": { + "symbol": "voting_participation" + }, + "val": { + "u32": 1 + } + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 4270020994084947596 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 4270020994084947596 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": 8370022561469687789 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": 8370022561469687789 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 4837995959683129791 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 4837995959683129791 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 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": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + "key": { + "ledger_key_nonce": { + "nonce": 2032731177588607455 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + "key": { + "ledger_key_nonce": { + "nonce": 2032731177588607455 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATYON", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATYON", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": null + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [ + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "init" + } + ], + "data": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "init" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "create_circle" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "i128": { + "hi": 0, + "lo": 1000000 + } + }, + { + "u32": 5 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + }, + { + "u64": 86400 + }, + { + "u32": 100 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATYON" + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "create_circle" + } + ], + "data": { + "u64": 1 + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "join_circle" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000009" + }, + { + "symbol": "mint" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u128": { + "hi": 1, + "lo": 0 + } + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000009", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "mint" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "join_circle" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "join_circle" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000009" + }, + { + "symbol": "mint" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u128": { + "hi": 1, + "lo": 1 + } + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000009", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "mint" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "join_circle" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "join_circle" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000009" + }, + { + "symbol": "mint" } ], "data": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "u128": { + "hi": 1, + "lo": 2 + } + } + ] } } } }, "failed_call": false }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000009", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "mint" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, { "event": { "ext": "v0", @@ -445,7 +1983,7 @@ "symbol": "fn_return" }, { - "symbol": "init" + "symbol": "join_circle" } ], "data": "void" @@ -469,35 +2007,21 @@ "bytes": "0000000000000000000000000000000000000000000000000000000000000001" }, { - "symbol": "create_circle" + "symbol": "join_circle" } ], "data": { "vec": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" - }, - { - "i128": { - "hi": 0, - "lo": 1000000 - } - }, - { - "u32": 5 - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" }, { - "u64": 86400 + "u64": 1 }, { - "u32": 100 + "u32": 1 }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATYON" - } + "void" ] } } @@ -514,14 +2038,27 @@ "v0": { "topics": [ { - "symbol": "fn_return" + "symbol": "fn_call" }, { - "symbol": "create_circle" + "bytes": "0000000000000000000000000000000000000000000000000000000000000009" + }, + { + "symbol": "mint" } ], "data": { - "u64": 1 + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + }, + { + "u128": { + "hi": 1, + "lo": 3 + } + } + ] } } } @@ -531,35 +2068,40 @@ { "event": { "ext": "v0", - "contract_id": null, + "contract_id": "0000000000000000000000000000000000000000000000000000000000000009", "type_": "diagnostic", "body": { "v0": { "topics": [ { - "symbol": "fn_call" + "symbol": "fn_return" }, { - "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + "symbol": "mint" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" }, { "symbol": "join_circle" } ], - "data": { - "vec": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "u64": 1 - }, - { - "u32": 1 - }, - "void" - ] - } + "data": "void" } } }, @@ -568,7 +2110,7 @@ { "event": { "ext": "v0", - "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "contract_id": null, "type_": "diagnostic", "body": { "v0": { @@ -577,10 +2119,10 @@ "symbol": "fn_call" }, { - "bytes": "0000000000000000000000000000000000000000000000000000000000000009" + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" }, { - "symbol": "mint" + "symbol": "request_leniency" } ], "data": { @@ -589,17 +2131,17 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { - "u128": { - "hi": 1, - "lo": 0 - } + "u64": 1 + }, + { + "string": "Need extra time" } ] } } } }, - "failed_call": true + "failed_call": false }, { "event": { @@ -610,57 +2152,51 @@ "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_return" }, { - "error": { - "storage": "missing_value" - } + "symbol": "request_leniency" } ], - "data": { - "string": "trying to get non-existing value for contract instance" - } + "data": "void" } } }, - "failed_call": true + "failed_call": false }, { "event": { "ext": "v0", - "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "contract_id": null, "type_": "diagnostic", "body": { "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_call" }, { - "error": { - "storage": "missing_value" - } + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "vote_on_leniency" } ], "data": { "vec": [ { - "string": "contract call failed" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 1 }, { - "symbol": "mint" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { "vec": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "u128": { - "hi": 1, - "lo": 0 - } + "symbol": "Reject" } ] } @@ -669,7 +2205,7 @@ } } }, - "failed_call": true + "failed_call": false }, { "event": { @@ -680,21 +2216,60 @@ "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_return" }, { - "error": { - "storage": "missing_value" - } + "symbol": "vote_on_leniency" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "vote_on_leniency" } ], "data": { - "string": "escalating error to panic" + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "vec": [ + { + "symbol": "Reject" + } + ] + } + ] } } } }, - "failed_call": true + "failed_call": false }, { "event": { @@ -705,21 +2280,17 @@ "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_return" }, { - "error": { - "storage": "missing_value" - } + "symbol": "vote_on_leniency" } ], - "data": { - "string": "caught error from function" - } + "data": "void" } } }, - "failed_call": true + "failed_call": false }, { "event": { @@ -730,35 +2301,22 @@ "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_call" }, { - "error": { - "storage": "missing_value" - } + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "get_leniency_request" } ], "data": { "vec": [ { - "string": "contract call failed" - }, - { - "symbol": "join_circle" + "u64": 1 }, { - "vec": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "u64": 1 - }, - { - "u32": 1 - }, - "void" - ] + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] } @@ -770,22 +2328,105 @@ { "event": { "ext": "v0", - "contract_id": null, + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", "type_": "diagnostic", "body": { "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_return" }, { - "error": { - "storage": "missing_value" - } + "symbol": "get_leniency_request" } ], "data": { - "string": "escalating error to panic" + "map": [ + { + "key": { + "symbol": "approve_votes" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "extension_hours" + }, + "val": { + "u64": 48 + } + }, + { + "key": { + "symbol": "reason" + }, + "val": { + "string": "Need extra time" + } + }, + { + "key": { + "symbol": "reject_votes" + }, + "val": { + "u32": 2 + } + }, + { + "key": { + "symbol": "request_timestamp" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "requester" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Rejected" + } + ] + } + }, + { + "key": { + "symbol": "total_votes_cast" + }, + "val": { + "u32": 2 + } + }, + { + "key": { + "symbol": "voting_deadline" + }, + "val": { + "u64": 86400 + } + } + ] } } } diff --git a/test_snapshots/test_voting_period_expiration.1.json b/test_snapshots/test_voting_period_expiration.1.json index 6605e4a..32bf5ab 100644 --- a/test_snapshots/test_voting_period_expiration.1.json +++ b/test_snapshots/test_voting_period_expiration.1.json @@ -45,12 +45,115 @@ } ] ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "join_circle", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "join_circle", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "request_leniency", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "string": "Need extra time" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "finalize_leniency_vote", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], [] ], "ledger": { "protocol_version": 21, "sequence_number": 0, - "timestamp": 0, + "timestamp": 90000, "network_id": "0000000000000000000000000000000000000000000000000000000000000000", "base_reserve": 0, "min_persistent_entry_ttl": 4096, @@ -256,7 +359,7 @@ "symbol": "member_count" }, "val": { - "u32": 0 + "u32": 2 } }, { @@ -339,74 +442,793 @@ "val": { "u64": 0 } - } - ] - } - } - } - }, - "ext": "v0" - }, - 4095 - ] - ], - [ - { - "contract_data": { - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", - "key": { - "ledger_key_nonce": { - "nonce": 801925984706572462 - } - }, - "durability": "temporary" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_data": { - "ext": "v0", - "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", - "key": { - "ledger_key_nonce": { - "nonce": 801925984706572462 - } - }, - "durability": "temporary", - "val": "void" - } - }, - "ext": "v0" - }, - 6311999 - ] - ], - [ - { - "contract_code": { - "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" - } - }, - [ - { - "last_modified_ledger_seq": 0, - "data": { - "contract_code": { - "ext": "v0", - "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "code": "" - } - }, - "ext": "v0" - }, - 4095 - ] - ] - ] - }, - "events": [ + }, + { + "key": { + "vec": [ + { + "symbol": "LeniencyRequest" + }, + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "approve_votes" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "extension_hours" + }, + "val": { + "u64": 48 + } + }, + { + "key": { + "symbol": "reason" + }, + "val": { + "string": "Need extra time" + } + }, + { + "key": { + "symbol": "reject_votes" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "request_timestamp" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "requester" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Expired" + } + ] + } + }, + { + "key": { + "symbol": "total_votes_cast" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "voting_deadline" + }, + "val": { + "u64": 86400 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "LeniencyStats" + }, + { + "u64": 1 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "approved_requests" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "average_participation" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "expired_requests" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "rejected_requests" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "total_requests" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Member" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "buddy" + }, + "val": "void" + }, + { + "key": { + "symbol": "contribution_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "index" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "last_contribution_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "referrer" + }, + "val": "void" + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "tier_multiplier" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Member" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + }, + { + "key": { + "symbol": "buddy" + }, + "val": "void" + }, + { + "key": { + "symbol": "contribution_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "index" + }, + "val": { + "u32": 1 + } + }, + { + "key": { + "symbol": "last_contribution_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "referrer" + }, + "val": "void" + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "tier_multiplier" + }, + "val": { + "u32": 1 + } + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": 4270020994084947596 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": 4270020994084947596 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 4837995959683129791 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 4837995959683129791 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": null + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [ + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "init" + } + ], + "data": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "init" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "create_circle" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "i128": { + "hi": 0, + "lo": 1000000 + } + }, + { + "u32": 5 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "u64": 86400 + }, + { + "u32": 100 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "create_circle" + } + ], + "data": { + "u64": 1 + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "join_circle" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000007" + }, + { + "symbol": "mint" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u128": { + "hi": 1, + "lo": 0 + } + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000007", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "mint" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "join_circle" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, { "event": { "ext": "v0", @@ -422,11 +1244,22 @@ "bytes": "0000000000000000000000000000000000000000000000000000000000000001" }, { - "symbol": "init" + "symbol": "join_circle" } ], "data": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] } } } @@ -438,6 +1271,42 @@ "ext": "v0", "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000007" + }, + { + "symbol": "mint" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u128": { + "hi": 1, + "lo": 1 + } + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000007", + "type_": "diagnostic", "body": { "v0": { "topics": [ @@ -445,7 +1314,28 @@ "symbol": "fn_return" }, { - "symbol": "init" + "symbol": "mint" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "join_circle" } ], "data": "void" @@ -469,34 +1359,19 @@ "bytes": "0000000000000000000000000000000000000000000000000000000000000001" }, { - "symbol": "create_circle" + "symbol": "request_leniency" } ], "data": { "vec": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" - }, - { - "i128": { - "hi": 0, - "lo": 1000000 - } - }, - { - "u32": 5 - }, - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" - }, - { - "u64": 86400 + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { - "u32": 100 + "u64": 1 }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + "string": "Need extra time" } ] } @@ -517,12 +1392,10 @@ "symbol": "fn_return" }, { - "symbol": "create_circle" + "symbol": "request_leniency" } ], - "data": { - "u64": 1 - } + "data": "void" } } }, @@ -543,21 +1416,27 @@ "bytes": "0000000000000000000000000000000000000000000000000000000000000001" }, { - "symbol": "join_circle" + "symbol": "vote_on_leniency" } ], "data": { "vec": [ { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" }, { "u64": 1 }, { - "u32": 1 + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, - "void" + { + "vec": [ + { + "symbol": "Approve" + } + ] + } ] } } @@ -574,25 +1453,29 @@ "v0": { "topics": [ { - "symbol": "fn_call" - }, - { - "bytes": "0000000000000000000000000000000000000000000000000000000000000007" - }, - { - "symbol": "mint" + "symbol": "log" } ], "data": { "vec": [ + { + "string": "caught panic 'Voting period expired' from contract function 'Symbol(obj#567)'" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 1 + }, { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { - "u128": { - "hi": 1, - "lo": 0 - } + "vec": [ + { + "symbol": "Approve" + } + ] } ] } @@ -614,12 +1497,12 @@ }, { "error": { - "storage": "missing_value" + "wasm_vm": "invalid_action" } } ], "data": { - "string": "trying to get non-existing value for contract instance" + "string": "caught error from function" } } } @@ -629,7 +1512,7 @@ { "event": { "ext": "v0", - "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "contract_id": null, "type_": "diagnostic", "body": { "v0": { @@ -639,7 +1522,7 @@ }, { "error": { - "storage": "missing_value" + "wasm_vm": "invalid_action" } } ], @@ -649,18 +1532,25 @@ "string": "contract call failed" }, { - "symbol": "mint" + "symbol": "vote_on_leniency" }, { "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 1 + }, { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { - "u128": { - "hi": 1, - "lo": 0 - } + "vec": [ + { + "symbol": "Approve" + } + ] } ] } @@ -669,12 +1559,12 @@ } } }, - "failed_call": true + "failed_call": false }, { "event": { "ext": "v0", - "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "contract_id": null, "type_": "diagnostic", "body": { "v0": { @@ -684,7 +1574,7 @@ }, { "error": { - "storage": "missing_value" + "wasm_vm": "invalid_action" } } ], @@ -694,32 +1584,64 @@ } } }, - "failed_call": true + "failed_call": false }, { "event": { "ext": "v0", - "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "contract_id": null, "type_": "diagnostic", "body": { "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_call" }, { - "error": { - "storage": "missing_value" - } + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "finalize_leniency_vote" } ], "data": { - "string": "caught error from function" + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] } } } }, - "failed_call": true + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "finalize_leniency_vote" + } + ], + "data": "void" + } + } + }, + "failed_call": false }, { "event": { @@ -730,35 +1652,22 @@ "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_call" }, { - "error": { - "storage": "missing_value" - } + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "get_leniency_request" } ], "data": { "vec": [ { - "string": "contract call failed" - }, - { - "symbol": "join_circle" + "u64": 1 }, { - "vec": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "u64": 1 - }, - { - "u32": 1 - }, - "void" - ] + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] } @@ -770,22 +1679,105 @@ { "event": { "ext": "v0", - "contract_id": null, + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", "type_": "diagnostic", "body": { "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_return" }, { - "error": { - "storage": "missing_value" - } + "symbol": "get_leniency_request" } ], "data": { - "string": "escalating error to panic" + "map": [ + { + "key": { + "symbol": "approve_votes" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "extension_hours" + }, + "val": { + "u64": 48 + } + }, + { + "key": { + "symbol": "reason" + }, + "val": { + "string": "Need extra time" + } + }, + { + "key": { + "symbol": "reject_votes" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "request_timestamp" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "requester" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Expired" + } + ] + } + }, + { + "key": { + "symbol": "total_votes_cast" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "voting_deadline" + }, + "val": { + "u64": 86400 + } + } + ] } } } diff --git a/test_snapshots/test_voting_power_calculation.1.json b/test_snapshots/test_voting_power_calculation.1.json index fd60476..4994fe3 100644 --- a/test_snapshots/test_voting_power_calculation.1.json +++ b/test_snapshots/test_voting_power_calculation.1.json @@ -20,7 +20,7 @@ { "i128": { "hi": 0, - "lo": 1000000 + "lo": 100000 } }, { @@ -45,6 +45,35 @@ } ] ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "join_circle", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + }, + { + "u32": 1 + }, + "void" + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [], [] ], "ledger": { @@ -110,7 +139,7 @@ "symbol": "collateral_bps" }, "val": { - "u32": 2000 + "u32": 0 } }, { @@ -120,7 +149,7 @@ "val": { "i128": { "hi": 0, - "lo": 1000000 + "lo": 100000 } } }, @@ -256,7 +285,7 @@ "symbol": "member_count" }, "val": { - "u32": 0 + "u32": 1 } }, { @@ -288,7 +317,7 @@ "symbol": "requires_collateral" }, "val": { - "bool": true + "bool": false } }, { @@ -306,7 +335,7 @@ "val": { "i128": { "hi": 0, - "lo": 15000000 + "lo": 1500000 } } } @@ -339,6 +368,148 @@ "val": { "u64": 0 } + }, + { + "key": { + "vec": [ + { + "symbol": "Member" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "address" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "buddy" + }, + "val": "void" + }, + { + "key": { + "symbol": "contribution_count" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "index" + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "symbol": "last_contribution_time" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "referrer" + }, + "val": "void" + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } + }, + { + "key": { + "symbol": "tier_multiplier" + }, + "val": { + "u32": 1 + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "VotingPower" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "last_updated" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "member" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "quadratic_power" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "token_balance" + }, + "val": { + "i128": { + "hi": 0, + "lo": 0 + } + } + } + ] + } } ] } @@ -383,6 +554,71 @@ 6311999 ] ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": null + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], [ { "contract_code": { @@ -480,7 +716,7 @@ { "i128": { "hi": 0, - "lo": 1000000 + "lo": 100000 } }, { @@ -574,14 +810,95 @@ "v0": { "topics": [ { - "symbol": "log" + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000006" + }, + { + "symbol": "mint" } ], "data": { "vec": [ { - "string": "caught panic 'Collateral required for this circle' from contract function 'Symbol(obj#107)'" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, + { + "u128": { + "hi": 1, + "lo": 0 + } + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000006", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "mint" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "join_circle" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "update_voting_power" + } + ], + "data": { + "vec": [ { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, @@ -589,15 +906,17 @@ "u64": 1 }, { - "u32": 1 - }, - "void" + "i128": { + "hi": 0, + "lo": 10000000 + } + } ] } } } }, - "failed_call": true + "failed_call": false }, { "event": { @@ -608,21 +927,117 @@ "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_return" }, { - "error": { - "wasm_vm": "invalid_action" + "symbol": "update_voting_power" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "get_voting_power" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "get_voting_power" } ], "data": { - "string": "caught error from function" + "map": [ + { + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "last_updated" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "member" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "quadratic_power" + }, + "val": { + "u64": 10000 + } + }, + { + "key": { + "symbol": "token_balance" + }, + "val": { + "i128": { + "hi": 0, + "lo": 10000000 + } + } + } + ] } } } }, - "failed_call": true + "failed_call": false }, { "event": { @@ -633,35 +1048,28 @@ "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_call" }, { - "error": { - "wasm_vm": "invalid_action" - } + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "update_voting_power" } ], "data": { "vec": [ { - "string": "contract call failed" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { - "symbol": "join_circle" + "u64": 1 }, { - "vec": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - }, - { - "u64": 1 - }, - { - "u32": 1 - }, - "void" - ] + "i128": { + "hi": 0, + "lo": 0 + } } ] } @@ -670,6 +1078,27 @@ }, "failed_call": false }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "update_voting_power" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, { "event": { "ext": "v0", @@ -679,16 +1108,91 @@ "v0": { "topics": [ { - "symbol": "error" + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" }, { - "error": { - "wasm_vm": "invalid_action" + "symbol": "get_voting_power" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "u64": 1 } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "get_voting_power" } ], "data": { - "string": "escalating error to panic" + "map": [ + { + "key": { + "symbol": "circle_id" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "last_updated" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "member" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "quadratic_power" + }, + "val": { + "u64": 0 + } + }, + { + "key": { + "symbol": "token_balance" + }, + "val": { + "i128": { + "hi": 0, + "lo": 0 + } + } + } + ] } } } diff --git a/tests/leniency_voting_test.rs b/tests/leniency_voting_test.rs index 3c2851d..7a45fdb 100644 --- a/tests/leniency_voting_test.rs +++ b/tests/leniency_voting_test.rs @@ -2,6 +2,15 @@ use soroban_sdk::{Address, Env, String, Symbol}; use soroban_sdk::testutils::{Address as _, Ledger}; use sorosusu_contracts::{SoroSusu, SoroSusuClient, DataKey, LeniencyVote, LeniencyRequestStatus, MemberStatus}; +#[soroban_sdk::contract] +pub struct MockNft; + +#[soroban_sdk::contractimpl] +impl MockNft { + pub fn mint(_env: Env, _to: soroban_sdk::Address, _id: u128) {} + pub fn burn(_env: Env, _from: soroban_sdk::Address, _id: u128) {} +} + #[test] fn test_request_leniency() { let env = Env::default(); @@ -13,7 +22,7 @@ fn test_request_leniency() { let creator = Address::generate(&env); let requester = Address::generate(&env); let token = Address::generate(&env); - let nft_contract = Address::generate(&env); + let nft_contract = env.register_contract(None, MockNft); // Initialize contract client.init(&admin); @@ -60,7 +69,7 @@ fn test_vote_on_leniency_approval() { let voter2 = Address::generate(&env); let voter3 = Address::generate(&env); let token = Address::generate(&env); - let nft_contract = Address::generate(&env); + let nft_contract = env.register_contract(None, MockNft); // Initialize contract client.init(&admin); @@ -97,10 +106,12 @@ fn test_vote_on_leniency_approval() { assert_eq!(request.reject_votes, 0); // Verify grace period was applied - let circle_key = DataKey::Circle(circle_id); - let circle = env.storage().instance().get::<_, sorosusu_contracts::CircleInfo>(&circle_key).unwrap(); - assert!(circle.grace_period_end.is_some()); - assert!(circle.grace_period_end.unwrap() > circle.deadline_timestamp); + env.as_contract(&contract_id, || { + let circle_key = DataKey::Circle(circle_id); + let circle = env.storage().instance().get::<_, sorosusu_contracts::CircleInfo>(&circle_key).unwrap(); + assert!(circle.grace_period_end.is_some()); + assert_eq!(circle.grace_period_end.unwrap(), circle.deadline_timestamp); + }); } #[test] @@ -117,7 +128,7 @@ fn test_vote_on_leniency_rejection() { let voter2 = Address::generate(&env); let voter3 = Address::generate(&env); let token = Address::generate(&env); - let nft_contract = Address::generate(&env); + let nft_contract = env.register_contract(None, MockNft); // Initialize contract client.init(&admin); @@ -165,7 +176,7 @@ fn test_cannot_vote_for_own_request() { let creator = Address::generate(&env); let requester = Address::generate(&env); let token = Address::generate(&env); - let nft_contract = Address::generate(&env); + let nft_contract = env.register_contract(None, MockNft); // Initialize contract client.init(&admin); @@ -207,7 +218,7 @@ fn test_double_voting_prevention() { let requester = Address::generate(&env); let voter = Address::generate(&env); let token = Address::generate(&env); - let nft_contract = Address::generate(&env); + let nft_contract = env.register_contract(None, MockNft); // Initialize contract client.init(&admin); @@ -253,7 +264,7 @@ fn test_social_capital_tracking() { let requester = Address::generate(&env); let voter = Address::generate(&env); let token = Address::generate(&env); - let nft_contract = Address::generate(&env); + let nft_contract = env.register_contract(None, MockNft); // Initialize contract client.init(&admin); @@ -306,7 +317,7 @@ fn test_leniency_stats_tracking() { let voter1 = Address::generate(&env); let voter2 = Address::generate(&env); let token = Address::generate(&env); - let nft_contract = Address::generate(&env); + let nft_contract = env.register_contract(None, MockNft); // Initialize contract client.init(&admin); @@ -361,7 +372,7 @@ fn test_grace_period_prevents_late_fees() { let requester = Address::generate(&env); let voter = Address::generate(&env); let token = Address::generate(&env); - let nft_contract = Address::generate(&env); + let nft_contract = env.register_contract(None, MockNft); // Initialize contract client.init(&admin); @@ -390,10 +401,12 @@ fn test_grace_period_prevents_late_fees() { env.ledger().set_timestamp(env.ledger().timestamp() + 7200); // 2 hours later // Verify grace period is active - let circle_key = DataKey::Circle(circle_id); - let circle = env.storage().instance().get::<_, sorosusu_contracts::CircleInfo>(&circle_key).unwrap(); - assert!(circle.grace_period_end.is_some()); - assert!(env.ledger().timestamp() < circle.grace_period_end.unwrap()); + env.as_contract(&contract_id, || { + let circle_key = DataKey::Circle(circle_id); + let circle = env.storage().instance().get::<_, sorosusu_contracts::CircleInfo>(&circle_key).unwrap(); + assert!(circle.grace_period_end.is_some()); + assert!(env.ledger().timestamp() < circle.grace_period_end.unwrap()); + }); // In a real test with token contracts, deposit would succeed without late fees // This test verifies the grace period logic is working @@ -411,7 +424,7 @@ fn test_voting_period_expiration() { let requester = Address::generate(&env); let voter = Address::generate(&env); let token = Address::generate(&env); - let nft_contract = Address::generate(&env); + let nft_contract = env.register_contract(None, MockNft); // Initialize contract client.init(&admin); @@ -464,7 +477,7 @@ fn test_minimum_participation_requirement() { let requester = Address::generate(&env); let voter = Address::generate(&env); let token = Address::generate(&env); - let nft_contract = Address::generate(&env); + let nft_contract = env.register_contract(None, MockNft); // Initialize contract client.init(&admin); diff --git a/tests/quadratic_voting_test.rs b/tests/quadratic_voting_test.rs index 2852c28..13bb2f1 100644 --- a/tests/quadratic_voting_test.rs +++ b/tests/quadratic_voting_test.rs @@ -3,6 +3,15 @@ use soroban_sdk::testutils::Address as _; use soroban_sdk::testutils::Ledger; use sorosusu_contracts::{SoroSusu, SoroSusuClient, DataKey, ProposalType, ProposalStatus, QuadraticVoteChoice}; +#[soroban_sdk::contract] +pub struct MockNft; + +#[soroban_sdk::contractimpl] +impl MockNft { + pub fn mint(_env: Env, _to: soroban_sdk::Address, _id: u128) {} + pub fn burn(_env: Env, _from: soroban_sdk::Address, _id: u128) {} +} + #[test] fn test_quadratic_voting_enabled_for_large_groups() { let env = Env::default(); @@ -12,8 +21,9 @@ fn test_quadratic_voting_enabled_for_large_groups() { let admin = Address::generate(&env); let creator = Address::generate(&env); + let creator2 = Address::generate(&env); let token = Address::generate(&env); - let nft_contract = Address::generate(&env); + let nft_contract = env.register_contract(None, MockNft); // Initialize contract client.init(&admin); @@ -21,7 +31,7 @@ fn test_quadratic_voting_enabled_for_large_groups() { // Create large group (>= 10 members) - quadratic voting should be enabled let circle_id = client.create_circle( &creator, - &100_000_0, // 100 XLM + &10_000_0, // 10 XLM &15u32, // 15 members &token, &86400u64, @@ -30,14 +40,16 @@ fn test_quadratic_voting_enabled_for_large_groups() { ); // Verify quadratic voting is enabled - let circle_key = DataKey::Circle(circle_id); - let circle = env.storage().instance().get::<_, sorosusu_contracts::CircleInfo>(&circle_key).unwrap(); - assert!(circle.quadratic_voting_enabled); + env.as_contract(&contract_id, || { + let circle_key = DataKey::Circle(circle_id); + let circle = env.storage().instance().get::<_, sorosusu_contracts::CircleInfo>(&circle_key).unwrap(); + assert!(circle.quadratic_voting_enabled); + }); // Create small group (< 10 members) - quadratic voting should be disabled let small_circle_id = client.create_circle( - &creator, - &100_000_0, + &creator2, + &10_000_0, &5u32, // 5 members &token, &86400u64, @@ -46,9 +58,11 @@ fn test_quadratic_voting_enabled_for_large_groups() { ); // Verify quadratic voting is disabled - let small_circle_key = DataKey::Circle(small_circle_id); - let small_circle = env.storage().instance().get::<_, sorosusu_contracts::CircleInfo>(&small_circle_key).unwrap(); - assert!(!small_circle.quadratic_voting_enabled); + env.as_contract(&contract_id, || { + let small_circle_key = DataKey::Circle(small_circle_id); + let small_circle = env.storage().instance().get::<_, sorosusu_contracts::CircleInfo>(&small_circle_key).unwrap(); + assert!(!small_circle.quadratic_voting_enabled); + }); } #[test] @@ -62,7 +76,7 @@ fn test_create_proposal() { let creator = Address::generate(&env); let proposer = Address::generate(&env); let token = Address::generate(&env); - let nft_contract = Address::generate(&env); + let nft_contract = env.register_contract(None, MockNft); // Initialize contract client.init(&admin); @@ -70,7 +84,7 @@ fn test_create_proposal() { // Create large group let circle_id = client.create_circle( &creator, - &100_000_0, + &10_000_0, &15u32, &token, &86400u64, @@ -116,7 +130,7 @@ fn test_create_proposal_fails_for_small_groups() { let creator = Address::generate(&env); let proposer = Address::generate(&env); let token = Address::generate(&env); - let nft_contract = Address::generate(&env); + let nft_contract = env.register_contract(None, MockNft); // Initialize contract client.init(&admin); @@ -124,7 +138,7 @@ fn test_create_proposal_fails_for_small_groups() { // Create small group let circle_id = client.create_circle( &creator, - &100_000_0, + &10_000_0, &5u32, // Small group &token, &86400u64, @@ -157,7 +171,7 @@ fn test_voting_power_calculation() { let creator = Address::generate(&env); let member = Address::generate(&env); let token = Address::generate(&env); - let nft_contract = Address::generate(&env); + let nft_contract = env.register_contract(None, MockNft); // Initialize contract client.init(&admin); @@ -165,7 +179,7 @@ fn test_voting_power_calculation() { // Create circle let circle_id = client.create_circle( &creator, - &100_000_0, + &10_000_0, &15u32, &token, &86400u64, @@ -201,7 +215,7 @@ fn test_quadratic_vote_cost_calculation() { let proposer = Address::generate(&env); let voter = Address::generate(&env); let token = Address::generate(&env); - let nft_contract = Address::generate(&env); + let nft_contract = env.register_contract(None, MockNft); // Initialize contract client.init(&admin); @@ -209,7 +223,7 @@ fn test_quadratic_vote_cost_calculation() { // Create large group let circle_id = client.create_circle( &creator, - &100_000_0, + &10_000_0, &15u32, &token, &86400u64, @@ -260,7 +274,7 @@ fn test_insufficient_voting_power() { let proposer = Address::generate(&env); let voter = Address::generate(&env); let token = Address::generate(&env); - let nft_contract = Address::generate(&env); + let nft_contract = env.register_contract(None, MockNft); // Initialize contract client.init(&admin); @@ -268,7 +282,7 @@ fn test_insufficient_voting_power() { // Create large group let circle_id = client.create_circle( &creator, - &100_000_0, + &10_000_0, &15u32, &token, &86400u64, @@ -295,7 +309,7 @@ fn test_insufficient_voting_power() { ); // Set low voting power (only enough for weight 5 vote: 5^2 = 25) - client.update_voting_power(&voter, &circle_id, &1_000_000_0); + client.update_voting_power(&voter, &circle_id, &25_000); // Try to vote with weight 10 (cost = 10^2 = 100) - should fail let result = std::panic::catch_unwind(std::panic::AssertUnwindSafe(|| { @@ -322,7 +336,7 @@ fn test_double_voting_prevention() { let proposer = Address::generate(&env); let voter = Address::generate(&env); let token = Address::generate(&env); - let nft_contract = Address::generate(&env); + let nft_contract = env.register_contract(None, MockNft); // Initialize contract client.init(&admin); @@ -330,7 +344,7 @@ fn test_double_voting_prevention() { // Create large group let circle_id = client.create_circle( &creator, - &100_000_0, + &10_000_0, &15u32, &token, &86400u64, @@ -382,7 +396,7 @@ fn test_quorum_requirement() { let voter1 = Address::generate(&env); let voter2 = Address::generate(&env); let token = Address::generate(&env); - let nft_contract = Address::generate(&env); + let nft_contract = env.register_contract(None, MockNft); // Initialize contract client.init(&admin); @@ -390,7 +404,7 @@ fn test_quorum_requirement() { // Create large group let circle_id = client.create_circle( &creator, - &100_000_0, + &10_000_0, &15u32, &token, &86400u64, @@ -417,6 +431,12 @@ fn test_quorum_requirement() { &execution_data, ); + // Add dummy members to reach 15 total members + for _ in 0..12 { + let dummy = Address::generate(&env); + client.join_circle(&dummy, &circle_id, &1u32, &None); + } + // Set up voting power client.update_voting_power(&voter1, &circle_id, &1_000_000_0); client.update_voting_power(&voter2, &circle_id, &1_000_000_0); @@ -449,7 +469,7 @@ fn test_proposal_execution() { let voter2 = Address::generate(&env); let voter3 = Address::generate(&env); let token = Address::generate(&env); - let nft_contract = Address::generate(&env); + let nft_contract = env.register_contract(None, MockNft); // Initialize contract client.init(&admin); @@ -457,7 +477,7 @@ fn test_proposal_execution() { // Create large group let circle_id = client.create_circle( &creator, - &100_000_0, + &10_000_0, &15u32, &token, &86400u64, @@ -526,7 +546,7 @@ fn test_proposal_rejection_insufficient_majority() { let voter1 = Address::generate(&env); let voter2 = Address::generate(&env); let token = Address::generate(&env); - let nft_contract = Address::generate(&env); + let nft_contract = env.register_contract(None, MockNft); // Initialize contract client.init(&admin); @@ -534,7 +554,7 @@ fn test_proposal_rejection_insufficient_majority() { // Create large group let circle_id = client.create_circle( &creator, - &100_000_0, + &10_000_0, &15u32, &token, &86400u64, @@ -598,7 +618,7 @@ fn test_max_vote_weight_enforcement() { let proposer = Address::generate(&env); let voter = Address::generate(&env); let token = Address::generate(&env); - let nft_contract = Address::generate(&env); + let nft_contract = env.register_contract(None, MockNft); // Initialize contract client.init(&admin); @@ -606,7 +626,7 @@ fn test_max_vote_weight_enforcement() { // Create large group let circle_id = client.create_circle( &creator, - &100_000_0, + &10_000_0, &15u32, &token, &86400u64, From e3d989e412bbc47159764f8ad3cd5f7394e09b4c Mon Sep 17 00:00:00 2001 From: Fahat Adam Date: Wed, 24 Jun 2026 15:56:14 +0100 Subject: [PATCH 4/6] fix: resolve Wasm compilation error by adding global allocator and replacing std usage --- Cargo.lock | 12 ++++++++++++ Cargo.toml | 1 + src/lib.rs | 5 +++++ src/slashing/mempool.rs | 7 ++++--- 4 files changed, 22 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 0bebd45..acdfe36 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -338,6 +338,17 @@ dependencies = [ "subtle", ] +[[package]] +name = "dlmalloc" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad5208a115eaba24916f7456929832e310a81518c641f93fee4f89aa93aa3675" +dependencies = [ + "cfg-if", + "libc", + "windows-sys", +] + [[package]] name = "downcast-rs" version = "1.2.1" @@ -1329,6 +1340,7 @@ name = "sorosusu-contracts" version = "0.1.0" dependencies = [ "arbitrary", + "dlmalloc", "proptest", "soroban-sdk", ] diff --git a/Cargo.toml b/Cargo.toml index 487577d..7f2adb0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,6 +13,7 @@ crate-type = ["cdylib", "rlib"] # Essential for WASM compilation and integration testutils = [] [dependencies] +dlmalloc = { version = "0.2.14", features = ["global"] } soroban-sdk = "21.0.0" [dev-dependencies] diff --git a/src/lib.rs b/src/lib.rs index caf7c19..f9c4b69 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,5 +1,10 @@ #![cfg_attr(target_family = "wasm", no_std)] extern crate alloc; + +#[cfg(target_family = "wasm")] +#[global_allocator] +static ALLOC: dlmalloc::GlobalDlmalloc = dlmalloc::GlobalDlmalloc; + use soroban_sdk::{ contract, contractclient, contracterror, contractimpl, contracttype, token, Address, Env, String, Vec, diff --git a/src/slashing/mempool.rs b/src/slashing/mempool.rs index 0e0cbf3..78526bb 100644 --- a/src/slashing/mempool.rs +++ b/src/slashing/mempool.rs @@ -1,4 +1,5 @@ -use std::collections::HashMap; +use alloc::collections::BTreeMap; +use alloc::vec::Vec; // Mocking required types since the original codebase is absent pub type ValidatorIndex = u64; @@ -20,14 +21,14 @@ const MEMPOOL_CAPACITY: usize = 1024; pub struct SlashingMempool { evidence: Vec, - rate_limits: HashMap, + rate_limits: BTreeMap, } impl SlashingMempool { pub fn new() -> Self { Self { evidence: Vec::with_capacity(MEMPOOL_CAPACITY), - rate_limits: HashMap::new(), + rate_limits: BTreeMap::new(), } } From f924f2c2cb9ba19c700825751b776eed5e618e97 Mon Sep 17 00:00:00 2001 From: Fahat Adam Date: Wed, 24 Jun 2026 16:24:43 +0100 Subject: [PATCH 5/6] fix: restore dropped modules and fix integer division rounding in voting percentages --- src/lib.rs | 8 +- .../test_event_store_unique_constraint.1.json | 158 +++++ ...xecutor_idempotency_already_slashed.1.json | 265 ++++++++ ..._executor_insufficient_pool_balance.1.json | 265 ++++++++ ...eates_single_event_with_all_reasons.1.json | 314 +++++++++ ...t_multiple_nodes_independent_events.1.json | 629 ++++++++++++++++++ ...st_no_conditions_triggered_no_event.1.json | 208 ++++++ ...can_be_slashed_again_after_interval.1.json | 390 +++++++++++ ...ck_gate_skips_recently_slashed_node.1.json | 307 +++++++++ ...est_single_double_signing_condition.1.json | 307 +++++++++ ..._single_extended_downtime_condition.1.json | 307 +++++++++ ...iple_condition_creates_single_event.1.json | 321 +++++++++ .../create_pool_is_idempotent.1.json | 178 +++++ ...d_reward_debits_pool_by_exact_share.1.json | 322 +++++++++ ...ol_remainder_goes_to_final_claimant.1.json | 250 +++++++ .../non_reporter_cannot_claim.1.json | 214 ++++++ ...istribute_pool_without_double_claim.1.json | 502 ++++++++++++++ .../test_double_voting_prevention.1.json | 470 +++++-------- ...est_grace_period_prevents_late_fees.1.json | 2 +- .../test_leniency_stats_tracking.1.json | 2 +- ...t_minimum_participation_requirement.1.json | 2 +- .../test_social_capital_tracking.1.json | 2 +- .../test_vote_on_leniency_approval.1.json | 2 +- .../test_voting_period_expiration.1.json | 2 +- tests/leniency_voting_test.rs | 2 +- 25 files changed, 5129 insertions(+), 300 deletions(-) create mode 100644 test_snapshots/slashing_core/slashing/tests/monitor_tests/test_event_store_unique_constraint.1.json create mode 100644 test_snapshots/slashing_core/slashing/tests/monitor_tests/test_executor_idempotency_already_slashed.1.json create mode 100644 test_snapshots/slashing_core/slashing/tests/monitor_tests/test_executor_insufficient_pool_balance.1.json create mode 100644 test_snapshots/slashing_core/slashing/tests/monitor_tests/test_multi_condition_creates_single_event_with_all_reasons.1.json create mode 100644 test_snapshots/slashing_core/slashing/tests/monitor_tests/test_multiple_nodes_independent_events.1.json create mode 100644 test_snapshots/slashing_core/slashing/tests/monitor_tests/test_no_conditions_triggered_no_event.1.json create mode 100644 test_snapshots/slashing_core/slashing/tests/monitor_tests/test_node_can_be_slashed_again_after_interval.1.json create mode 100644 test_snapshots/slashing_core/slashing/tests/monitor_tests/test_pre_check_gate_skips_recently_slashed_node.1.json create mode 100644 test_snapshots/slashing_core/slashing/tests/monitor_tests/test_single_double_signing_condition.1.json create mode 100644 test_snapshots/slashing_core/slashing/tests/monitor_tests/test_single_extended_downtime_condition.1.json create mode 100644 test_snapshots/slashing_core/slashing/tests/monitor_tests/test_triple_condition_creates_single_event.1.json create mode 100644 test_snapshots/slashing_core/slashing/tests/pool_tests/create_pool_is_idempotent.1.json create mode 100644 test_snapshots/slashing_core/slashing/tests/pool_tests/fixed_reward_debits_pool_by_exact_share.1.json create mode 100644 test_snapshots/slashing_core/slashing/tests/pool_tests/indivisible_pool_remainder_goes_to_final_claimant.1.json create mode 100644 test_snapshots/slashing_core/slashing/tests/pool_tests/non_reporter_cannot_claim.1.json create mode 100644 test_snapshots/slashing_core/slashing/tests/pool_tests/ten_validators_fully_distribute_pool_without_double_claim.1.json diff --git a/src/lib.rs b/src/lib.rs index caf7c19..9294f15 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -8,6 +8,8 @@ use soroban_sdk::{ pub mod slashing_core; pub mod slashing; pub mod network; +pub mod reputation; +pub mod attestation_core; // Cryptographic primitives and attestation signature verification. // `crypto` provides a dependency-free SHA-256, SSZ-style merkleization, and // domain separation; `attestation` computes domain-separated signing roots so @@ -881,7 +883,7 @@ impl SoroSusuTrait for SoroSusu { // Check if voting should be finalized early (if majority reached) let total_possible_votes = (circle.member_count - 1) as u32; // Exclude requester - let votes_needed_for_majority = (total_possible_votes * SIMPLE_MAJORITY_THRESHOLD) / 100; + let votes_needed_for_majority = (total_possible_votes * SIMPLE_MAJORITY_THRESHOLD + 99) / 100; if votes_needed_for_majority > 0 && request.approve_votes >= votes_needed_for_majority { request.status = LeniencyRequestStatus::Approved; @@ -1091,7 +1093,7 @@ impl SoroSusuTrait for SoroSusu { // Check quorum let circle_key = DataKey::Circle(proposal.circle_id); let circle: CircleInfo = env.storage().instance().get(&circle_key).expect("Circle not found"); - let required_quorum = (circle.member_count * QUADRATIC_QUORUM) / 100; + let required_quorum = (circle.member_count * QUADRATIC_QUORUM + 99) / 100; proposal.quorum_met = proposal.total_voting_power >= required_quorum as u64; env.storage().instance().set(&proposal_key, &proposal); @@ -1375,7 +1377,7 @@ impl SoroSusu { let mut circle: CircleInfo = env.storage().instance().get(&circle_key).expect("Circle not found"); let total_possible_votes = (circle.member_count - 1) as u32; // Exclude requester - let minimum_participation = (total_possible_votes * MINIMUM_VOTING_PARTICIPATION) / 100; + let minimum_participation = (total_possible_votes * MINIMUM_VOTING_PARTICIPATION + 99) / 100; let mut final_status = LeniencyRequestStatus::Expired; diff --git a/test_snapshots/slashing_core/slashing/tests/monitor_tests/test_event_store_unique_constraint.1.json b/test_snapshots/slashing_core/slashing/tests/monitor_tests/test_event_store_unique_constraint.1.json new file mode 100644 index 0000000..ba2f75a --- /dev/null +++ b/test_snapshots/slashing_core/slashing/tests/monitor_tests/test_event_store_unique_constraint.1.json @@ -0,0 +1,158 @@ +{ + "generators": { + "address": 2, + "nonce": 0 + }, + "auth": [ + [] + ], + "ledger": { + "protocol_version": 21, + "sequence_number": 0, + "timestamp": 0, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Event" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "u64": 1 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "created_at" + }, + "val": { + "u64": 100 + } + }, + { + "key": { + "symbol": "node_id" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "symbol": "penalty_amount" + }, + "val": { + "i128": { + "hi": 0, + "lo": 1000 + } + } + }, + { + "key": { + "symbol": "reasons" + }, + "val": { + "vec": [ + { + "vec": [ + { + "symbol": "DoubleSigning" + } + ] + } + ] + } + }, + { + "key": { + "symbol": "scan_epoch" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Pending" + } + ] + } + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [] +} \ No newline at end of file diff --git a/test_snapshots/slashing_core/slashing/tests/monitor_tests/test_executor_idempotency_already_slashed.1.json b/test_snapshots/slashing_core/slashing/tests/monitor_tests/test_executor_idempotency_already_slashed.1.json new file mode 100644 index 0000000..e20a200 --- /dev/null +++ b/test_snapshots/slashing_core/slashing/tests/monitor_tests/test_executor_idempotency_already_slashed.1.json @@ -0,0 +1,265 @@ +{ + "generators": { + "address": 2, + "nonce": 0 + }, + "auth": [ + [] + ], + "ledger": { + "protocol_version": 21, + "sequence_number": 0, + "timestamp": 1000000, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "BondPool" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + ] + }, + "val": { + "i128": { + "hi": 0, + "lo": 1000 + } + } + }, + { + "key": { + "vec": [ + { + "symbol": "Event" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "u64": 1 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "created_at" + }, + "val": { + "u64": 1000000 + } + }, + { + "key": { + "symbol": "node_id" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "symbol": "penalty_amount" + }, + "val": { + "i128": { + "hi": 0, + "lo": 1000 + } + } + }, + { + "key": { + "symbol": "reasons" + }, + "val": { + "vec": [ + { + "vec": [ + { + "symbol": "DoubleSigning" + } + ] + } + ] + } + }, + { + "key": { + "symbol": "scan_epoch" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Rejected" + } + ] + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Node" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "bond_amount" + }, + "val": { + "i128": { + "hi": 0, + "lo": 1000 + } + } + }, + { + "key": { + "symbol": "double_sign_detected" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "fraud_proof_submitted" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "is_active" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "last_activity_time" + }, + "val": { + "u64": 1000000 + } + }, + { + "key": { + "symbol": "last_slash_time" + }, + "val": "void" + }, + { + "key": { + "symbol": "node_id" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "symbol": "slashed" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "slashing_in_progress" + }, + "val": { + "bool": false + } + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [] +} \ No newline at end of file diff --git a/test_snapshots/slashing_core/slashing/tests/monitor_tests/test_executor_insufficient_pool_balance.1.json b/test_snapshots/slashing_core/slashing/tests/monitor_tests/test_executor_insufficient_pool_balance.1.json new file mode 100644 index 0000000..b9aa248 --- /dev/null +++ b/test_snapshots/slashing_core/slashing/tests/monitor_tests/test_executor_insufficient_pool_balance.1.json @@ -0,0 +1,265 @@ +{ + "generators": { + "address": 2, + "nonce": 0 + }, + "auth": [ + [] + ], + "ledger": { + "protocol_version": 21, + "sequence_number": 0, + "timestamp": 1000000, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "BondPool" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + ] + }, + "val": { + "i128": { + "hi": 0, + "lo": 0 + } + } + }, + { + "key": { + "vec": [ + { + "symbol": "Event" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "u64": 1 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "created_at" + }, + "val": { + "u64": 1000000 + } + }, + { + "key": { + "symbol": "node_id" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "symbol": "penalty_amount" + }, + "val": { + "i128": { + "hi": 0, + "lo": 1000 + } + } + }, + { + "key": { + "symbol": "reasons" + }, + "val": { + "vec": [ + { + "vec": [ + { + "symbol": "DoubleSigning" + } + ] + } + ] + } + }, + { + "key": { + "symbol": "scan_epoch" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Failed" + } + ] + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Node" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "bond_amount" + }, + "val": { + "i128": { + "hi": 0, + "lo": 0 + } + } + }, + { + "key": { + "symbol": "double_sign_detected" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "fraud_proof_submitted" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "is_active" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "last_activity_time" + }, + "val": { + "u64": 1000000 + } + }, + { + "key": { + "symbol": "last_slash_time" + }, + "val": "void" + }, + { + "key": { + "symbol": "node_id" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "symbol": "slashed" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "slashing_in_progress" + }, + "val": { + "bool": false + } + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [] +} \ No newline at end of file diff --git a/test_snapshots/slashing_core/slashing/tests/monitor_tests/test_multi_condition_creates_single_event_with_all_reasons.1.json b/test_snapshots/slashing_core/slashing/tests/monitor_tests/test_multi_condition_creates_single_event_with_all_reasons.1.json new file mode 100644 index 0000000..1b98ea9 --- /dev/null +++ b/test_snapshots/slashing_core/slashing/tests/monitor_tests/test_multi_condition_creates_single_event_with_all_reasons.1.json @@ -0,0 +1,314 @@ +{ + "generators": { + "address": 2, + "nonce": 0 + }, + "auth": [ + [], + [] + ], + "ledger": { + "protocol_version": 21, + "sequence_number": 0, + "timestamp": 1000000, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "BondPool" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + ] + }, + "val": { + "i128": { + "hi": 0, + "lo": 0 + } + } + }, + { + "key": { + "vec": [ + { + "symbol": "Event" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "u64": 1 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "created_at" + }, + "val": { + "u64": 1000000 + } + }, + { + "key": { + "symbol": "node_id" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "symbol": "penalty_amount" + }, + "val": { + "i128": { + "hi": 0, + "lo": 1000 + } + } + }, + { + "key": { + "symbol": "reasons" + }, + "val": { + "vec": [ + { + "vec": [ + { + "symbol": "DoubleSigning" + } + ] + }, + { + "vec": [ + { + "symbol": "ExtendedDowntime" + } + ] + } + ] + } + }, + { + "key": { + "symbol": "scan_epoch" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Executed" + } + ] + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "LastScanTime" + } + ] + }, + "val": { + "u64": 1000000 + } + }, + { + "key": { + "vec": [ + { + "symbol": "Node" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "bond_amount" + }, + "val": { + "i128": { + "hi": 0, + "lo": 1000 + } + } + }, + { + "key": { + "symbol": "double_sign_detected" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "fraud_proof_submitted" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "is_active" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "last_activity_time" + }, + "val": { + "u64": 740800 + } + }, + { + "key": { + "symbol": "last_slash_time" + }, + "val": { + "u64": 1000000 + } + }, + { + "key": { + "symbol": "node_id" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "symbol": "slashed" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "slashing_in_progress" + }, + "val": { + "bool": false + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "ScanEpoch" + } + ] + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "SlashingLock" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + ] + }, + "val": { + "bool": false + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [] +} \ No newline at end of file diff --git a/test_snapshots/slashing_core/slashing/tests/monitor_tests/test_multiple_nodes_independent_events.1.json b/test_snapshots/slashing_core/slashing/tests/monitor_tests/test_multiple_nodes_independent_events.1.json new file mode 100644 index 0000000..aa901ea --- /dev/null +++ b/test_snapshots/slashing_core/slashing/tests/monitor_tests/test_multiple_nodes_independent_events.1.json @@ -0,0 +1,629 @@ +{ + "generators": { + "address": 4, + "nonce": 0 + }, + "auth": [ + [], + [], + [], + [] + ], + "ledger": { + "protocol_version": 21, + "sequence_number": 0, + "timestamp": 1000000, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "BondPool" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + ] + }, + "val": { + "i128": { + "hi": 0, + "lo": 0 + } + } + }, + { + "key": { + "vec": [ + { + "symbol": "BondPool" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + }, + "val": { + "i128": { + "hi": 0, + "lo": 0 + } + } + }, + { + "key": { + "vec": [ + { + "symbol": "BondPool" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "val": { + "i128": { + "hi": 0, + "lo": 1000 + } + } + }, + { + "key": { + "vec": [ + { + "symbol": "Event" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "u64": 1 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "created_at" + }, + "val": { + "u64": 1000000 + } + }, + { + "key": { + "symbol": "node_id" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "symbol": "penalty_amount" + }, + "val": { + "i128": { + "hi": 0, + "lo": 1000 + } + } + }, + { + "key": { + "symbol": "reasons" + }, + "val": { + "vec": [ + { + "vec": [ + { + "symbol": "DoubleSigning" + } + ] + }, + { + "vec": [ + { + "symbol": "ExtendedDowntime" + } + ] + } + ] + } + }, + { + "key": { + "symbol": "scan_epoch" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Executed" + } + ] + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Event" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "u64": 1 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "created_at" + }, + "val": { + "u64": 1000000 + } + }, + { + "key": { + "symbol": "node_id" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "symbol": "penalty_amount" + }, + "val": { + "i128": { + "hi": 0, + "lo": 1000 + } + } + }, + { + "key": { + "symbol": "reasons" + }, + "val": { + "vec": [ + { + "vec": [ + { + "symbol": "FraudProof" + } + ] + } + ] + } + }, + { + "key": { + "symbol": "scan_epoch" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Executed" + } + ] + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "LastScanTime" + } + ] + }, + "val": { + "u64": 1000000 + } + }, + { + "key": { + "vec": [ + { + "symbol": "Node" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "bond_amount" + }, + "val": { + "i128": { + "hi": 0, + "lo": 1000 + } + } + }, + { + "key": { + "symbol": "double_sign_detected" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "fraud_proof_submitted" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "is_active" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "last_activity_time" + }, + "val": { + "u64": 740800 + } + }, + { + "key": { + "symbol": "last_slash_time" + }, + "val": { + "u64": 1000000 + } + }, + { + "key": { + "symbol": "node_id" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "symbol": "slashed" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "slashing_in_progress" + }, + "val": { + "bool": false + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Node" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "bond_amount" + }, + "val": { + "i128": { + "hi": 0, + "lo": 1000 + } + } + }, + { + "key": { + "symbol": "double_sign_detected" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "fraud_proof_submitted" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "is_active" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "last_activity_time" + }, + "val": { + "u64": 1000000 + } + }, + { + "key": { + "symbol": "last_slash_time" + }, + "val": { + "u64": 1000000 + } + }, + { + "key": { + "symbol": "node_id" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "symbol": "slashed" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "slashing_in_progress" + }, + "val": { + "bool": false + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Node" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "bond_amount" + }, + "val": { + "i128": { + "hi": 0, + "lo": 1000 + } + } + }, + { + "key": { + "symbol": "double_sign_detected" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "fraud_proof_submitted" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "is_active" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "last_activity_time" + }, + "val": { + "u64": 1000000 + } + }, + { + "key": { + "symbol": "last_slash_time" + }, + "val": "void" + }, + { + "key": { + "symbol": "node_id" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "slashed" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "slashing_in_progress" + }, + "val": { + "bool": false + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "ScanEpoch" + } + ] + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "SlashingLock" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + ] + }, + "val": { + "bool": false + } + }, + { + "key": { + "vec": [ + { + "symbol": "SlashingLock" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + }, + "val": { + "bool": false + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [] +} \ No newline at end of file diff --git a/test_snapshots/slashing_core/slashing/tests/monitor_tests/test_no_conditions_triggered_no_event.1.json b/test_snapshots/slashing_core/slashing/tests/monitor_tests/test_no_conditions_triggered_no_event.1.json new file mode 100644 index 0000000..4bc5595 --- /dev/null +++ b/test_snapshots/slashing_core/slashing/tests/monitor_tests/test_no_conditions_triggered_no_event.1.json @@ -0,0 +1,208 @@ +{ + "generators": { + "address": 2, + "nonce": 0 + }, + "auth": [ + [], + [] + ], + "ledger": { + "protocol_version": 21, + "sequence_number": 0, + "timestamp": 1000000, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "BondPool" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + ] + }, + "val": { + "i128": { + "hi": 0, + "lo": 1000 + } + } + }, + { + "key": { + "vec": [ + { + "symbol": "LastScanTime" + } + ] + }, + "val": { + "u64": 1000000 + } + }, + { + "key": { + "vec": [ + { + "symbol": "Node" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "bond_amount" + }, + "val": { + "i128": { + "hi": 0, + "lo": 1000 + } + } + }, + { + "key": { + "symbol": "double_sign_detected" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "fraud_proof_submitted" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "is_active" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "last_activity_time" + }, + "val": { + "u64": 1000000 + } + }, + { + "key": { + "symbol": "last_slash_time" + }, + "val": "void" + }, + { + "key": { + "symbol": "node_id" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "symbol": "slashed" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "slashing_in_progress" + }, + "val": { + "bool": false + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "ScanEpoch" + } + ] + }, + "val": { + "u64": 1 + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [] +} \ No newline at end of file diff --git a/test_snapshots/slashing_core/slashing/tests/monitor_tests/test_node_can_be_slashed_again_after_interval.1.json b/test_snapshots/slashing_core/slashing/tests/monitor_tests/test_node_can_be_slashed_again_after_interval.1.json new file mode 100644 index 0000000..ece759c --- /dev/null +++ b/test_snapshots/slashing_core/slashing/tests/monitor_tests/test_node_can_be_slashed_again_after_interval.1.json @@ -0,0 +1,390 @@ +{ + "generators": { + "address": 2, + "nonce": 0 + }, + "auth": [ + [], + [], + [] + ], + "ledger": { + "protocol_version": 21, + "sequence_number": 0, + "timestamp": 1021601, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "BondPool" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + ] + }, + "val": { + "i128": { + "hi": 0, + "lo": 0 + } + } + }, + { + "key": { + "vec": [ + { + "symbol": "Event" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "u64": 1 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "created_at" + }, + "val": { + "u64": 1000000 + } + }, + { + "key": { + "symbol": "node_id" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "symbol": "penalty_amount" + }, + "val": { + "i128": { + "hi": 0, + "lo": 1000 + } + } + }, + { + "key": { + "symbol": "reasons" + }, + "val": { + "vec": [ + { + "vec": [ + { + "symbol": "DoubleSigning" + } + ] + } + ] + } + }, + { + "key": { + "symbol": "scan_epoch" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Executed" + } + ] + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "Event" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "u64": 2 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "created_at" + }, + "val": { + "u64": 1021601 + } + }, + { + "key": { + "symbol": "node_id" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "symbol": "penalty_amount" + }, + "val": { + "i128": { + "hi": 0, + "lo": 1000 + } + } + }, + { + "key": { + "symbol": "reasons" + }, + "val": { + "vec": [ + { + "vec": [ + { + "symbol": "DoubleSigning" + } + ] + } + ] + } + }, + { + "key": { + "symbol": "scan_epoch" + }, + "val": { + "u64": 2 + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Executed" + } + ] + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "LastScanTime" + } + ] + }, + "val": { + "u64": 1021601 + } + }, + { + "key": { + "vec": [ + { + "symbol": "Node" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "bond_amount" + }, + "val": { + "i128": { + "hi": 0, + "lo": 1000 + } + } + }, + { + "key": { + "symbol": "double_sign_detected" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "fraud_proof_submitted" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "is_active" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "last_activity_time" + }, + "val": { + "u64": 1000000 + } + }, + { + "key": { + "symbol": "last_slash_time" + }, + "val": { + "u64": 1021601 + } + }, + { + "key": { + "symbol": "node_id" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "symbol": "slashed" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "slashing_in_progress" + }, + "val": { + "bool": false + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "ScanEpoch" + } + ] + }, + "val": { + "u64": 2 + } + }, + { + "key": { + "vec": [ + { + "symbol": "SlashingLock" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + ] + }, + "val": { + "bool": false + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [] +} \ No newline at end of file diff --git a/test_snapshots/slashing_core/slashing/tests/monitor_tests/test_pre_check_gate_skips_recently_slashed_node.1.json b/test_snapshots/slashing_core/slashing/tests/monitor_tests/test_pre_check_gate_skips_recently_slashed_node.1.json new file mode 100644 index 0000000..e072cc2 --- /dev/null +++ b/test_snapshots/slashing_core/slashing/tests/monitor_tests/test_pre_check_gate_skips_recently_slashed_node.1.json @@ -0,0 +1,307 @@ +{ + "generators": { + "address": 2, + "nonce": 0 + }, + "auth": [ + [], + [] + ], + "ledger": { + "protocol_version": 21, + "sequence_number": 0, + "timestamp": 1000000, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "BondPool" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + ] + }, + "val": { + "i128": { + "hi": 0, + "lo": 0 + } + } + }, + { + "key": { + "vec": [ + { + "symbol": "Event" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "u64": 1 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "created_at" + }, + "val": { + "u64": 1000000 + } + }, + { + "key": { + "symbol": "node_id" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "symbol": "penalty_amount" + }, + "val": { + "i128": { + "hi": 0, + "lo": 1000 + } + } + }, + { + "key": { + "symbol": "reasons" + }, + "val": { + "vec": [ + { + "vec": [ + { + "symbol": "DoubleSigning" + } + ] + } + ] + } + }, + { + "key": { + "symbol": "scan_epoch" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Executed" + } + ] + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "LastScanTime" + } + ] + }, + "val": { + "u64": 1000000 + } + }, + { + "key": { + "vec": [ + { + "symbol": "Node" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "bond_amount" + }, + "val": { + "i128": { + "hi": 0, + "lo": 1000 + } + } + }, + { + "key": { + "symbol": "double_sign_detected" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "fraud_proof_submitted" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "is_active" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "last_activity_time" + }, + "val": { + "u64": 1000000 + } + }, + { + "key": { + "symbol": "last_slash_time" + }, + "val": { + "u64": 1000000 + } + }, + { + "key": { + "symbol": "node_id" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "symbol": "slashed" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "slashing_in_progress" + }, + "val": { + "bool": false + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "ScanEpoch" + } + ] + }, + "val": { + "u64": 2 + } + }, + { + "key": { + "vec": [ + { + "symbol": "SlashingLock" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + ] + }, + "val": { + "bool": false + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [] +} \ No newline at end of file diff --git a/test_snapshots/slashing_core/slashing/tests/monitor_tests/test_single_double_signing_condition.1.json b/test_snapshots/slashing_core/slashing/tests/monitor_tests/test_single_double_signing_condition.1.json new file mode 100644 index 0000000..09a0391 --- /dev/null +++ b/test_snapshots/slashing_core/slashing/tests/monitor_tests/test_single_double_signing_condition.1.json @@ -0,0 +1,307 @@ +{ + "generators": { + "address": 2, + "nonce": 0 + }, + "auth": [ + [], + [] + ], + "ledger": { + "protocol_version": 21, + "sequence_number": 0, + "timestamp": 1000000, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "BondPool" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + ] + }, + "val": { + "i128": { + "hi": 0, + "lo": 0 + } + } + }, + { + "key": { + "vec": [ + { + "symbol": "Event" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "u64": 1 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "created_at" + }, + "val": { + "u64": 1000000 + } + }, + { + "key": { + "symbol": "node_id" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "symbol": "penalty_amount" + }, + "val": { + "i128": { + "hi": 0, + "lo": 1000 + } + } + }, + { + "key": { + "symbol": "reasons" + }, + "val": { + "vec": [ + { + "vec": [ + { + "symbol": "DoubleSigning" + } + ] + } + ] + } + }, + { + "key": { + "symbol": "scan_epoch" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Executed" + } + ] + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "LastScanTime" + } + ] + }, + "val": { + "u64": 1000000 + } + }, + { + "key": { + "vec": [ + { + "symbol": "Node" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "bond_amount" + }, + "val": { + "i128": { + "hi": 0, + "lo": 1000 + } + } + }, + { + "key": { + "symbol": "double_sign_detected" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "fraud_proof_submitted" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "is_active" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "last_activity_time" + }, + "val": { + "u64": 1000000 + } + }, + { + "key": { + "symbol": "last_slash_time" + }, + "val": { + "u64": 1000000 + } + }, + { + "key": { + "symbol": "node_id" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "symbol": "slashed" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "slashing_in_progress" + }, + "val": { + "bool": false + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "ScanEpoch" + } + ] + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "SlashingLock" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + ] + }, + "val": { + "bool": false + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [] +} \ No newline at end of file diff --git a/test_snapshots/slashing_core/slashing/tests/monitor_tests/test_single_extended_downtime_condition.1.json b/test_snapshots/slashing_core/slashing/tests/monitor_tests/test_single_extended_downtime_condition.1.json new file mode 100644 index 0000000..a60cc82 --- /dev/null +++ b/test_snapshots/slashing_core/slashing/tests/monitor_tests/test_single_extended_downtime_condition.1.json @@ -0,0 +1,307 @@ +{ + "generators": { + "address": 2, + "nonce": 0 + }, + "auth": [ + [], + [] + ], + "ledger": { + "protocol_version": 21, + "sequence_number": 0, + "timestamp": 1000000, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "BondPool" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + ] + }, + "val": { + "i128": { + "hi": 0, + "lo": 0 + } + } + }, + { + "key": { + "vec": [ + { + "symbol": "Event" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "u64": 1 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "created_at" + }, + "val": { + "u64": 1000000 + } + }, + { + "key": { + "symbol": "node_id" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "symbol": "penalty_amount" + }, + "val": { + "i128": { + "hi": 0, + "lo": 1000 + } + } + }, + { + "key": { + "symbol": "reasons" + }, + "val": { + "vec": [ + { + "vec": [ + { + "symbol": "ExtendedDowntime" + } + ] + } + ] + } + }, + { + "key": { + "symbol": "scan_epoch" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Executed" + } + ] + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "LastScanTime" + } + ] + }, + "val": { + "u64": 1000000 + } + }, + { + "key": { + "vec": [ + { + "symbol": "Node" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "bond_amount" + }, + "val": { + "i128": { + "hi": 0, + "lo": 1000 + } + } + }, + { + "key": { + "symbol": "double_sign_detected" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "fraud_proof_submitted" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "is_active" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "last_activity_time" + }, + "val": { + "u64": 740800 + } + }, + { + "key": { + "symbol": "last_slash_time" + }, + "val": { + "u64": 1000000 + } + }, + { + "key": { + "symbol": "node_id" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "symbol": "slashed" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "slashing_in_progress" + }, + "val": { + "bool": false + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "ScanEpoch" + } + ] + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "SlashingLock" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + ] + }, + "val": { + "bool": false + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [] +} \ No newline at end of file diff --git a/test_snapshots/slashing_core/slashing/tests/monitor_tests/test_triple_condition_creates_single_event.1.json b/test_snapshots/slashing_core/slashing/tests/monitor_tests/test_triple_condition_creates_single_event.1.json new file mode 100644 index 0000000..021a67c --- /dev/null +++ b/test_snapshots/slashing_core/slashing/tests/monitor_tests/test_triple_condition_creates_single_event.1.json @@ -0,0 +1,321 @@ +{ + "generators": { + "address": 2, + "nonce": 0 + }, + "auth": [ + [], + [] + ], + "ledger": { + "protocol_version": 21, + "sequence_number": 0, + "timestamp": 1000000, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "BondPool" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + ] + }, + "val": { + "i128": { + "hi": 0, + "lo": 0 + } + } + }, + { + "key": { + "vec": [ + { + "symbol": "Event" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "u64": 1 + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "created_at" + }, + "val": { + "u64": 1000000 + } + }, + { + "key": { + "symbol": "node_id" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "symbol": "penalty_amount" + }, + "val": { + "i128": { + "hi": 0, + "lo": 1000 + } + } + }, + { + "key": { + "symbol": "reasons" + }, + "val": { + "vec": [ + { + "vec": [ + { + "symbol": "DoubleSigning" + } + ] + }, + { + "vec": [ + { + "symbol": "ExtendedDowntime" + } + ] + }, + { + "vec": [ + { + "symbol": "FraudProof" + } + ] + } + ] + } + }, + { + "key": { + "symbol": "scan_epoch" + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Executed" + } + ] + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "LastScanTime" + } + ] + }, + "val": { + "u64": 1000000 + } + }, + { + "key": { + "vec": [ + { + "symbol": "Node" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "bond_amount" + }, + "val": { + "i128": { + "hi": 0, + "lo": 1000 + } + } + }, + { + "key": { + "symbol": "double_sign_detected" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "fraud_proof_submitted" + }, + "val": { + "bool": false + } + }, + { + "key": { + "symbol": "is_active" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "last_activity_time" + }, + "val": { + "u64": 740800 + } + }, + { + "key": { + "symbol": "last_slash_time" + }, + "val": { + "u64": 1000000 + } + }, + { + "key": { + "symbol": "node_id" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "symbol": "slashed" + }, + "val": { + "bool": true + } + }, + { + "key": { + "symbol": "slashing_in_progress" + }, + "val": { + "bool": false + } + } + ] + } + }, + { + "key": { + "vec": [ + { + "symbol": "ScanEpoch" + } + ] + }, + "val": { + "u64": 1 + } + }, + { + "key": { + "vec": [ + { + "symbol": "SlashingLock" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + ] + }, + "val": { + "bool": false + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [] +} \ No newline at end of file diff --git a/test_snapshots/slashing_core/slashing/tests/pool_tests/create_pool_is_idempotent.1.json b/test_snapshots/slashing_core/slashing/tests/pool_tests/create_pool_is_idempotent.1.json new file mode 100644 index 0000000..2d127a2 --- /dev/null +++ b/test_snapshots/slashing_core/slashing/tests/pool_tests/create_pool_is_idempotent.1.json @@ -0,0 +1,178 @@ +{ + "generators": { + "address": 3, + "nonce": 0 + }, + "auth": [ + [] + ], + "ledger": { + "protocol_version": 21, + "sequence_number": 0, + "timestamp": 0, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "PoolClaimedCount" + }, + { + "u64": 5 + } + ] + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "vec": [ + { + "symbol": "PoolReporter" + }, + { + "u64": 5 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + ] + }, + "val": { + "bool": true + } + }, + { + "key": { + "vec": [ + { + "symbol": "PoolReporter" + }, + { + "u64": 5 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + }, + "val": { + "bool": true + } + }, + { + "key": { + "vec": [ + { + "symbol": "PoolReporterCount" + }, + { + "u64": 5 + } + ] + }, + "val": { + "u32": 2 + } + }, + { + "key": { + "vec": [ + { + "symbol": "RewardPerValidator" + }, + { + "u64": 5 + } + ] + }, + "val": { + "i128": { + "hi": 0, + "lo": 500 + } + } + }, + { + "key": { + "vec": [ + { + "symbol": "RewardPool" + }, + { + "u64": 5 + } + ] + }, + "val": { + "i128": { + "hi": 0, + "lo": 1000 + } + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [] +} \ No newline at end of file diff --git a/test_snapshots/slashing_core/slashing/tests/pool_tests/fixed_reward_debits_pool_by_exact_share.1.json b/test_snapshots/slashing_core/slashing/tests/pool_tests/fixed_reward_debits_pool_by_exact_share.1.json new file mode 100644 index 0000000..ba36277 --- /dev/null +++ b/test_snapshots/slashing_core/slashing/tests/pool_tests/fixed_reward_debits_pool_by_exact_share.1.json @@ -0,0 +1,322 @@ +{ + "generators": { + "address": 6, + "nonce": 0 + }, + "auth": [ + [] + ], + "ledger": { + "protocol_version": 21, + "sequence_number": 0, + "timestamp": 0, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "PoolClaimed" + }, + { + "u64": 7 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + ] + }, + "val": { + "bool": true + } + }, + { + "key": { + "vec": [ + { + "symbol": "PoolClaimed" + }, + { + "u64": 7 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + }, + "val": { + "bool": true + } + }, + { + "key": { + "vec": [ + { + "symbol": "PoolClaimed" + }, + { + "u64": 7 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "val": { + "bool": true + } + }, + { + "key": { + "vec": [ + { + "symbol": "PoolClaimed" + }, + { + "u64": 7 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "val": { + "bool": true + } + }, + { + "key": { + "vec": [ + { + "symbol": "PoolClaimed" + }, + { + "u64": 7 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + }, + "val": { + "bool": true + } + }, + { + "key": { + "vec": [ + { + "symbol": "PoolClaimedCount" + }, + { + "u64": 7 + } + ] + }, + "val": { + "u32": 5 + } + }, + { + "key": { + "vec": [ + { + "symbol": "PoolReporter" + }, + { + "u64": 7 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + ] + }, + "val": { + "bool": true + } + }, + { + "key": { + "vec": [ + { + "symbol": "PoolReporter" + }, + { + "u64": 7 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + }, + "val": { + "bool": true + } + }, + { + "key": { + "vec": [ + { + "symbol": "PoolReporter" + }, + { + "u64": 7 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "val": { + "bool": true + } + }, + { + "key": { + "vec": [ + { + "symbol": "PoolReporter" + }, + { + "u64": 7 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "val": { + "bool": true + } + }, + { + "key": { + "vec": [ + { + "symbol": "PoolReporter" + }, + { + "u64": 7 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + }, + "val": { + "bool": true + } + }, + { + "key": { + "vec": [ + { + "symbol": "PoolReporterCount" + }, + { + "u64": 7 + } + ] + }, + "val": { + "u32": 5 + } + }, + { + "key": { + "vec": [ + { + "symbol": "RewardPerValidator" + }, + { + "u64": 7 + } + ] + }, + "val": { + "i128": { + "hi": 0, + "lo": 200 + } + } + }, + { + "key": { + "vec": [ + { + "symbol": "RewardPool" + }, + { + "u64": 7 + } + ] + }, + "val": { + "i128": { + "hi": 0, + "lo": 0 + } + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [] +} \ No newline at end of file diff --git a/test_snapshots/slashing_core/slashing/tests/pool_tests/indivisible_pool_remainder_goes_to_final_claimant.1.json b/test_snapshots/slashing_core/slashing/tests/pool_tests/indivisible_pool_remainder_goes_to_final_claimant.1.json new file mode 100644 index 0000000..c751aed --- /dev/null +++ b/test_snapshots/slashing_core/slashing/tests/pool_tests/indivisible_pool_remainder_goes_to_final_claimant.1.json @@ -0,0 +1,250 @@ +{ + "generators": { + "address": 4, + "nonce": 0 + }, + "auth": [ + [] + ], + "ledger": { + "protocol_version": 21, + "sequence_number": 0, + "timestamp": 0, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "PoolClaimed" + }, + { + "u64": 9 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + ] + }, + "val": { + "bool": true + } + }, + { + "key": { + "vec": [ + { + "symbol": "PoolClaimed" + }, + { + "u64": 9 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + }, + "val": { + "bool": true + } + }, + { + "key": { + "vec": [ + { + "symbol": "PoolClaimed" + }, + { + "u64": 9 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "val": { + "bool": true + } + }, + { + "key": { + "vec": [ + { + "symbol": "PoolClaimedCount" + }, + { + "u64": 9 + } + ] + }, + "val": { + "u32": 3 + } + }, + { + "key": { + "vec": [ + { + "symbol": "PoolReporter" + }, + { + "u64": 9 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + ] + }, + "val": { + "bool": true + } + }, + { + "key": { + "vec": [ + { + "symbol": "PoolReporter" + }, + { + "u64": 9 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + }, + "val": { + "bool": true + } + }, + { + "key": { + "vec": [ + { + "symbol": "PoolReporter" + }, + { + "u64": 9 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "val": { + "bool": true + } + }, + { + "key": { + "vec": [ + { + "symbol": "PoolReporterCount" + }, + { + "u64": 9 + } + ] + }, + "val": { + "u32": 3 + } + }, + { + "key": { + "vec": [ + { + "symbol": "RewardPerValidator" + }, + { + "u64": 9 + } + ] + }, + "val": { + "i128": { + "hi": 0, + "lo": 333 + } + } + }, + { + "key": { + "vec": [ + { + "symbol": "RewardPool" + }, + { + "u64": 9 + } + ] + }, + "val": { + "i128": { + "hi": 0, + "lo": 0 + } + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [] +} \ No newline at end of file diff --git a/test_snapshots/slashing_core/slashing/tests/pool_tests/non_reporter_cannot_claim.1.json b/test_snapshots/slashing_core/slashing/tests/pool_tests/non_reporter_cannot_claim.1.json new file mode 100644 index 0000000..5cc57c4 --- /dev/null +++ b/test_snapshots/slashing_core/slashing/tests/pool_tests/non_reporter_cannot_claim.1.json @@ -0,0 +1,214 @@ +{ + "generators": { + "address": 6, + "nonce": 0 + }, + "auth": [ + [] + ], + "ledger": { + "protocol_version": 21, + "sequence_number": 0, + "timestamp": 0, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "PoolClaimedCount" + }, + { + "u64": 3 + } + ] + }, + "val": { + "u32": 0 + } + }, + { + "key": { + "vec": [ + { + "symbol": "PoolReporter" + }, + { + "u64": 3 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + ] + }, + "val": { + "bool": true + } + }, + { + "key": { + "vec": [ + { + "symbol": "PoolReporter" + }, + { + "u64": 3 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + }, + "val": { + "bool": true + } + }, + { + "key": { + "vec": [ + { + "symbol": "PoolReporter" + }, + { + "u64": 3 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "val": { + "bool": true + } + }, + { + "key": { + "vec": [ + { + "symbol": "PoolReporter" + }, + { + "u64": 3 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "val": { + "bool": true + } + }, + { + "key": { + "vec": [ + { + "symbol": "PoolReporterCount" + }, + { + "u64": 3 + } + ] + }, + "val": { + "u32": 4 + } + }, + { + "key": { + "vec": [ + { + "symbol": "RewardPerValidator" + }, + { + "u64": 3 + } + ] + }, + "val": { + "i128": { + "hi": 0, + "lo": 250 + } + } + }, + { + "key": { + "vec": [ + { + "symbol": "RewardPool" + }, + { + "u64": 3 + } + ] + }, + "val": { + "i128": { + "hi": 0, + "lo": 1000 + } + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [] +} \ No newline at end of file diff --git a/test_snapshots/slashing_core/slashing/tests/pool_tests/ten_validators_fully_distribute_pool_without_double_claim.1.json b/test_snapshots/slashing_core/slashing/tests/pool_tests/ten_validators_fully_distribute_pool_without_double_claim.1.json new file mode 100644 index 0000000..4dac1f6 --- /dev/null +++ b/test_snapshots/slashing_core/slashing/tests/pool_tests/ten_validators_fully_distribute_pool_without_double_claim.1.json @@ -0,0 +1,502 @@ +{ + "generators": { + "address": 11, + "nonce": 0 + }, + "auth": [ + [] + ], + "ledger": { + "protocol_version": 21, + "sequence_number": 0, + "timestamp": 0, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "PoolClaimed" + }, + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + ] + }, + "val": { + "bool": true + } + }, + { + "key": { + "vec": [ + { + "symbol": "PoolClaimed" + }, + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + }, + "val": { + "bool": true + } + }, + { + "key": { + "vec": [ + { + "symbol": "PoolClaimed" + }, + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "val": { + "bool": true + } + }, + { + "key": { + "vec": [ + { + "symbol": "PoolClaimed" + }, + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "val": { + "bool": true + } + }, + { + "key": { + "vec": [ + { + "symbol": "PoolClaimed" + }, + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + }, + "val": { + "bool": true + } + }, + { + "key": { + "vec": [ + { + "symbol": "PoolClaimed" + }, + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "val": { + "bool": true + } + }, + { + "key": { + "vec": [ + { + "symbol": "PoolClaimed" + }, + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + } + ] + }, + "val": { + "bool": true + } + }, + { + "key": { + "vec": [ + { + "symbol": "PoolClaimed" + }, + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATYON" + } + ] + }, + "val": { + "bool": true + } + }, + { + "key": { + "vec": [ + { + "symbol": "PoolClaimed" + }, + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAX5" + } + ] + }, + "val": { + "bool": true + } + }, + { + "key": { + "vec": [ + { + "symbol": "PoolClaimed" + }, + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXI7N" + } + ] + }, + "val": { + "bool": true + } + }, + { + "key": { + "vec": [ + { + "symbol": "PoolClaimedCount" + }, + { + "u64": 1 + } + ] + }, + "val": { + "u32": 10 + } + }, + { + "key": { + "vec": [ + { + "symbol": "PoolReporter" + }, + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + ] + }, + "val": { + "bool": true + } + }, + { + "key": { + "vec": [ + { + "symbol": "PoolReporter" + }, + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + }, + "val": { + "bool": true + } + }, + { + "key": { + "vec": [ + { + "symbol": "PoolReporter" + }, + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "val": { + "bool": true + } + }, + { + "key": { + "vec": [ + { + "symbol": "PoolReporter" + }, + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "val": { + "bool": true + } + }, + { + "key": { + "vec": [ + { + "symbol": "PoolReporter" + }, + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + } + ] + }, + "val": { + "bool": true + } + }, + { + "key": { + "vec": [ + { + "symbol": "PoolReporter" + }, + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLZM" + } + ] + }, + "val": { + "bool": true + } + }, + { + "key": { + "vec": [ + { + "symbol": "PoolReporter" + }, + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQG5" + } + ] + }, + "val": { + "bool": true + } + }, + { + "key": { + "vec": [ + { + "symbol": "PoolReporter" + }, + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATYON" + } + ] + }, + "val": { + "bool": true + } + }, + { + "key": { + "vec": [ + { + "symbol": "PoolReporter" + }, + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAX5" + } + ] + }, + "val": { + "bool": true + } + }, + { + "key": { + "vec": [ + { + "symbol": "PoolReporter" + }, + { + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXI7N" + } + ] + }, + "val": { + "bool": true + } + }, + { + "key": { + "vec": [ + { + "symbol": "PoolReporterCount" + }, + { + "u64": 1 + } + ] + }, + "val": { + "u32": 10 + } + }, + { + "key": { + "vec": [ + { + "symbol": "RewardPerValidator" + }, + { + "u64": 1 + } + ] + }, + "val": { + "i128": { + "hi": 0, + "lo": 100 + } + } + }, + { + "key": { + "vec": [ + { + "symbol": "RewardPool" + }, + { + "u64": 1 + } + ] + }, + "val": { + "i128": { + "hi": 0, + "lo": 0 + } + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [] +} \ No newline at end of file diff --git a/test_snapshots/test_double_voting_prevention.1.json b/test_snapshots/test_double_voting_prevention.1.json index bd1ae5a..d9a7c3d 100644 --- a/test_snapshots/test_double_voting_prevention.1.json +++ b/test_snapshots/test_double_voting_prevention.1.json @@ -20,11 +20,11 @@ { "i128": { "hi": 0, - "lo": 100000 + "lo": 1000000 } }, { - "u32": 15 + "u32": 5 }, { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" @@ -104,7 +104,7 @@ "function": { "contract_fn": { "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", - "function_name": "create_proposal", + "function_name": "request_leniency", "args": [ { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" @@ -113,20 +113,7 @@ "u64": 1 }, { - "vec": [ - { - "symbol": "ChangeLateFee" - } - ] - }, - { - "string": "Test proposal" - }, - { - "string": "Test description" - }, - { - "string": "{}" + "string": "Need extra time" } ] } @@ -135,7 +122,6 @@ } ] ], - [], [ [ "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", @@ -143,21 +129,21 @@ "function": { "contract_fn": { "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", - "function_name": "quadratic_vote", + "function_name": "vote_on_leniency", "args": [ { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" }, { - "u64": 2 + "u64": 1 }, { - "u32": 5 + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { "vec": [ { - "symbol": "For" + "symbol": "Approve" } ] } @@ -243,7 +229,7 @@ "val": { "i128": { "hi": 0, - "lo": 100000 + "lo": 1000000 } } }, @@ -297,7 +283,9 @@ "key": { "symbol": "grace_period_end" }, - "val": "void" + "val": { + "u64": 259200 + } }, { "key": { @@ -371,7 +359,7 @@ "symbol": "max_members" }, "val": { - "u32": 15 + "u32": 5 } }, { @@ -395,7 +383,7 @@ "symbol": "proposal_count" }, "val": { - "u64": 1 + "u64": 0 } }, { @@ -403,7 +391,7 @@ "symbol": "quadratic_voting_enabled" }, "val": { - "bool": true + "bool": false } }, { @@ -429,7 +417,7 @@ "val": { "i128": { "hi": 0, - "lo": 1500000 + "lo": 5000000 } } } @@ -467,7 +455,10 @@ "key": { "vec": [ { - "symbol": "Member" + "symbol": "LeniencyRequest" + }, + { + "u64": 1 }, { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" @@ -478,29 +469,39 @@ "map": [ { "key": { - "symbol": "address" + "symbol": "approve_votes" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "u32": 1 } }, { "key": { - "symbol": "buddy" + "symbol": "circle_id" }, - "val": "void" + "val": { + "u64": 1 + } }, { "key": { - "symbol": "contribution_count" + "symbol": "extension_hours" }, "val": { - "u32": 0 + "u64": 48 } }, { "key": { - "symbol": "index" + "symbol": "reason" + }, + "val": { + "string": "Need extra time" + } + }, + { + "key": { + "symbol": "reject_votes" }, "val": { "u32": 0 @@ -508,7 +509,7 @@ }, { "key": { - "symbol": "last_contribution_time" + "symbol": "request_timestamp" }, "val": { "u64": 0 @@ -516,9 +517,11 @@ }, { "key": { - "symbol": "referrer" + "symbol": "requester" }, - "val": "void" + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } }, { "key": { @@ -527,18 +530,26 @@ "val": { "vec": [ { - "symbol": "Active" + "symbol": "Approved" } ] } }, { "key": { - "symbol": "tier_multiplier" + "symbol": "total_votes_cast" }, "val": { "u32": 1 } + }, + { + "key": { + "symbol": "voting_deadline" + }, + "val": { + "u64": 86400 + } } ] } @@ -547,10 +558,10 @@ "key": { "vec": [ { - "symbol": "Member" + "symbol": "LeniencyStats" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + "u64": 1 } ] }, @@ -558,29 +569,15 @@ "map": [ { "key": { - "symbol": "address" - }, - "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" - } - }, - { - "key": { - "symbol": "buddy" - }, - "val": "void" - }, - { - "key": { - "symbol": "contribution_count" + "symbol": "approved_requests" }, "val": { - "u32": 0 + "u32": 1 } }, { "key": { - "symbol": "index" + "symbol": "average_participation" }, "val": { "u32": 1 @@ -588,33 +585,23 @@ }, { "key": { - "symbol": "last_contribution_time" + "symbol": "expired_requests" }, "val": { - "u64": 0 + "u32": 0 } }, { "key": { - "symbol": "referrer" - }, - "val": "void" - }, - { - "key": { - "symbol": "status" + "symbol": "rejected_requests" }, "val": { - "vec": [ - { - "symbol": "Active" - } - ] + "u32": 0 } }, { "key": { - "symbol": "tier_multiplier" + "symbol": "total_requests" }, "val": { "u32": 1 @@ -627,98 +614,83 @@ "key": { "vec": [ { - "symbol": "Proposal" + "symbol": "LeniencyVotes" }, { - "u64": 2 + "u64": 1 + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } ] }, "val": { - "map": [ - { - "key": { - "symbol": "against_votes" - }, - "val": { - "u64": 0 - } - }, + "vec": [ { - "key": { - "symbol": "circle_id" - }, - "val": { - "u64": 1 - } - }, + "symbol": "Approve" + } + ] + } + }, + { + "key": { + "vec": [ { - "key": { - "symbol": "created_timestamp" - }, - "val": { - "u64": 0 - } + "symbol": "Member" }, { - "key": { - "symbol": "description" - }, - "val": { - "string": "Test description" - } - }, + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "val": { + "map": [ { "key": { - "symbol": "execution_data" + "symbol": "address" }, "val": { - "string": "{}" + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } }, { "key": { - "symbol": "for_votes" + "symbol": "buddy" }, - "val": { - "u64": 25 - } + "val": "void" }, { "key": { - "symbol": "id" + "symbol": "contribution_count" }, "val": { - "u64": 2 + "u32": 0 } }, { "key": { - "symbol": "proposal_type" + "symbol": "index" }, "val": { - "vec": [ - { - "symbol": "ChangeLateFee" - } - ] + "u32": 0 } }, { "key": { - "symbol": "proposer" + "symbol": "last_contribution_time" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "u64": 0 } }, { "key": { - "symbol": "quorum_met" + "symbol": "referrer" }, - "val": { - "bool": true - } + "val": "void" }, { "key": { @@ -734,34 +706,10 @@ }, { "key": { - "symbol": "title" - }, - "val": { - "string": "Test proposal" - } - }, - { - "key": { - "symbol": "total_voting_power" - }, - "val": { - "u64": 25 - } - }, - { - "key": { - "symbol": "voting_end_timestamp" - }, - "val": { - "u64": 604800 - } - }, - { - "key": { - "symbol": "voting_start_timestamp" + "symbol": "tier_multiplier" }, "val": { - "u64": 0 + "u32": 1 } } ] @@ -771,10 +719,10 @@ "key": { "vec": [ { - "symbol": "ProposalStats" + "symbol": "Member" }, { - "u64": 1 + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" } ] }, @@ -782,15 +730,21 @@ "map": [ { "key": { - "symbol": "approved_proposals" + "symbol": "address" }, "val": { - "u32": 0 + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" } }, { "key": { - "symbol": "average_participation" + "symbol": "buddy" + }, + "val": "void" + }, + { + "key": { + "symbol": "contribution_count" }, "val": { "u32": 0 @@ -798,31 +752,41 @@ }, { "key": { - "symbol": "average_voting_time" + "symbol": "index" }, "val": { - "u64": 0 + "u32": 1 } }, { "key": { - "symbol": "executed_proposals" + "symbol": "last_contribution_time" }, "val": { - "u32": 0 + "u64": 0 } }, { "key": { - "symbol": "rejected_proposals" + "symbol": "referrer" + }, + "val": "void" + }, + { + "key": { + "symbol": "status" }, "val": { - "u32": 0 + "vec": [ + { + "symbol": "Active" + } + ] } }, { "key": { - "symbol": "total_proposals" + "symbol": "tier_multiplier" }, "val": { "u32": 1 @@ -835,13 +799,13 @@ "key": { "vec": [ { - "symbol": "QuadraticVote" + "symbol": "SocialCapital" }, { - "u64": 2 + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + "u64": 1 } ] }, @@ -849,54 +813,50 @@ "map": [ { "key": { - "symbol": "proposal_id" + "symbol": "circle_id" }, "val": { - "u64": 2 + "u64": 1 } }, { "key": { - "symbol": "timestamp" + "symbol": "leniency_given" }, "val": { - "u64": 0 + "u32": 0 } }, { "key": { - "symbol": "vote_choice" + "symbol": "leniency_received" }, "val": { - "vec": [ - { - "symbol": "For" - } - ] + "u32": 1 } }, { "key": { - "symbol": "vote_weight" + "symbol": "member" }, "val": { - "u32": 5 + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } }, { "key": { - "symbol": "voter" + "symbol": "trust_score" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + "u32": 55 } }, { "key": { - "symbol": "voting_power_used" + "symbol": "voting_participation" }, "val": { - "u64": 25 + "u32": 0 } } ] @@ -906,7 +866,7 @@ "key": { "vec": [ { - "symbol": "VotingPower" + "symbol": "SocialCapital" }, { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" @@ -928,10 +888,18 @@ }, { "key": { - "symbol": "last_updated" + "symbol": "leniency_given" }, "val": { - "u64": 0 + "u32": 1 + } + }, + { + "key": { + "symbol": "leniency_received" + }, + "val": { + "u32": 0 } }, { @@ -944,21 +912,18 @@ }, { "key": { - "symbol": "quadratic_power" + "symbol": "trust_score" }, "val": { - "u64": 100000 + "u32": 52 } }, { "key": { - "symbol": "token_balance" + "symbol": "voting_participation" }, "val": { - "i128": { - "hi": 0, - "lo": 100000000 - } + "u32": 1 } } ] @@ -1268,11 +1233,11 @@ { "i128": { "hi": 0, - "lo": 100000 + "lo": 1000000 } }, { - "u32": 15 + "u32": 5 }, { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" @@ -1561,7 +1526,7 @@ "bytes": "0000000000000000000000000000000000000000000000000000000000000001" }, { - "symbol": "create_proposal" + "symbol": "request_leniency" } ], "data": { @@ -1573,82 +1538,7 @@ "u64": 1 }, { - "vec": [ - { - "symbol": "ChangeLateFee" - } - ] - }, - { - "string": "Test proposal" - }, - { - "string": "Test description" - }, - { - "string": "{}" - } - ] - } - } - } - }, - "failed_call": false - }, - { - "event": { - "ext": "v0", - "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", - "type_": "diagnostic", - "body": { - "v0": { - "topics": [ - { - "symbol": "fn_return" - }, - { - "symbol": "create_proposal" - } - ], - "data": { - "u64": 2 - } - } - } - }, - "failed_call": false - }, - { - "event": { - "ext": "v0", - "contract_id": null, - "type_": "diagnostic", - "body": { - "v0": { - "topics": [ - { - "symbol": "fn_call" - }, - { - "bytes": "0000000000000000000000000000000000000000000000000000000000000001" - }, - { - "symbol": "update_voting_power" - } - ], - "data": { - "vec": [ - { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" - }, - { - "u64": 1 - }, - { - "i128": { - "hi": 0, - "lo": 100000000 - } + "string": "Need extra time" } ] } @@ -1669,7 +1559,7 @@ "symbol": "fn_return" }, { - "symbol": "update_voting_power" + "symbol": "request_leniency" } ], "data": "void" @@ -1693,7 +1583,7 @@ "bytes": "0000000000000000000000000000000000000000000000000000000000000001" }, { - "symbol": "quadratic_vote" + "symbol": "vote_on_leniency" } ], "data": { @@ -1702,15 +1592,15 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" }, { - "u64": 2 + "u64": 1 }, { - "u32": 5 + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { "vec": [ { - "symbol": "For" + "symbol": "Approve" } ] } @@ -1733,7 +1623,7 @@ "symbol": "fn_return" }, { - "symbol": "quadratic_vote" + "symbol": "vote_on_leniency" } ], "data": "void" @@ -1757,7 +1647,7 @@ "bytes": "0000000000000000000000000000000000000000000000000000000000000001" }, { - "symbol": "quadratic_vote" + "symbol": "vote_on_leniency" } ], "data": { @@ -1766,15 +1656,15 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" }, { - "u64": 2 + "u64": 1 }, { - "u32": 3 + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { "vec": [ { - "symbol": "Against" + "symbol": "Approve" } ] } @@ -1800,21 +1690,21 @@ "data": { "vec": [ { - "string": "caught panic 'Already voted on this proposal' from contract function 'Symbol(obj#1035)'" + "string": "caught panic 'Voting period has ended' from contract function 'Symbol(obj#859)'" }, { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" }, { - "u64": 2 + "u64": 1 }, { - "u32": 3 + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { "vec": [ { - "symbol": "Against" + "symbol": "Approve" } ] } @@ -1873,7 +1763,7 @@ "string": "contract call failed" }, { - "symbol": "quadratic_vote" + "symbol": "vote_on_leniency" }, { "vec": [ @@ -1881,15 +1771,15 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" }, { - "u64": 2 + "u64": 1 }, { - "u32": 3 + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" }, { "vec": [ { - "symbol": "Against" + "symbol": "Approve" } ] } diff --git a/test_snapshots/test_grace_period_prevents_late_fees.1.json b/test_snapshots/test_grace_period_prevents_late_fees.1.json index 8a103c2..5bf1f36 100644 --- a/test_snapshots/test_grace_period_prevents_late_fees.1.json +++ b/test_snapshots/test_grace_period_prevents_late_fees.1.json @@ -276,7 +276,7 @@ "symbol": "deadline_timestamp" }, "val": { - "u64": 176400 + "u64": 3600 } }, { diff --git a/test_snapshots/test_leniency_stats_tracking.1.json b/test_snapshots/test_leniency_stats_tracking.1.json index 61b762c..b9a7442 100644 --- a/test_snapshots/test_leniency_stats_tracking.1.json +++ b/test_snapshots/test_leniency_stats_tracking.1.json @@ -449,7 +449,7 @@ "symbol": "deadline_timestamp" }, "val": { - "u64": 259200 + "u64": 86400 } }, { diff --git a/test_snapshots/test_minimum_participation_requirement.1.json b/test_snapshots/test_minimum_participation_requirement.1.json index 20346b0..b777913 100644 --- a/test_snapshots/test_minimum_participation_requirement.1.json +++ b/test_snapshots/test_minimum_participation_requirement.1.json @@ -276,7 +276,7 @@ "symbol": "deadline_timestamp" }, "val": { - "u64": 259200 + "u64": 86400 } }, { diff --git a/test_snapshots/test_social_capital_tracking.1.json b/test_snapshots/test_social_capital_tracking.1.json index e752f44..d5fdbe9 100644 --- a/test_snapshots/test_social_capital_tracking.1.json +++ b/test_snapshots/test_social_capital_tracking.1.json @@ -277,7 +277,7 @@ "symbol": "deadline_timestamp" }, "val": { - "u64": 259200 + "u64": 86400 } }, { diff --git a/test_snapshots/test_vote_on_leniency_approval.1.json b/test_snapshots/test_vote_on_leniency_approval.1.json index e086f82..b63dd6e 100644 --- a/test_snapshots/test_vote_on_leniency_approval.1.json +++ b/test_snapshots/test_vote_on_leniency_approval.1.json @@ -361,7 +361,7 @@ "symbol": "deadline_timestamp" }, "val": { - "u64": 259200 + "u64": 86400 } }, { diff --git a/test_snapshots/test_voting_period_expiration.1.json b/test_snapshots/test_voting_period_expiration.1.json index 32bf5ab..fc67e26 100644 --- a/test_snapshots/test_voting_period_expiration.1.json +++ b/test_snapshots/test_voting_period_expiration.1.json @@ -580,7 +580,7 @@ "symbol": "expired_requests" }, "val": { - "u32": 1 + "u32": 0 } }, { diff --git a/tests/leniency_voting_test.rs b/tests/leniency_voting_test.rs index 7a45fdb..8dcb7fa 100644 --- a/tests/leniency_voting_test.rs +++ b/tests/leniency_voting_test.rs @@ -110,7 +110,7 @@ fn test_vote_on_leniency_approval() { let circle_key = DataKey::Circle(circle_id); let circle = env.storage().instance().get::<_, sorosusu_contracts::CircleInfo>(&circle_key).unwrap(); assert!(circle.grace_period_end.is_some()); - assert_eq!(circle.grace_period_end.unwrap(), circle.deadline_timestamp); + assert_eq!(circle.grace_period_end.unwrap(), circle.deadline_timestamp + 172800); }); } From bdd6dc03e8c1214a4ea313db5d7117686805bca5 Mon Sep 17 00:00:00 2001 From: Fahat Adam Date: Wed, 24 Jun 2026 16:39:02 +0100 Subject: [PATCH 6/6] fix: correctly update proposal status and stats on execution --- src/lib.rs | 8 +- .../test_double_voting_prevention.1.json | 470 +++++++++++------- 2 files changed, 297 insertions(+), 181 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 9294f15..865b16c 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1132,6 +1132,9 @@ impl SoroSusuTrait for SoroSusu { // Execute the proposal based on type SoroSusu::execute_proposal_logic(&env, &proposal); + // The logic above marks the proposal as Executed in storage. + // We update our local copy so the subsequent set() persists it correctly. + proposal.status = ProposalStatus::Executed; } else { proposal.status = ProposalStatus::Rejected; } @@ -1153,7 +1156,10 @@ impl SoroSusuTrait for SoroSusu { match proposal.status { ProposalStatus::Approved => stats.approved_proposals += 1, ProposalStatus::Rejected => stats.rejected_proposals += 1, - ProposalStatus::Executed => stats.executed_proposals += 1, + ProposalStatus::Executed => { + stats.approved_proposals += 1; + stats.executed_proposals += 1; + }, _ => {} } diff --git a/test_snapshots/test_double_voting_prevention.1.json b/test_snapshots/test_double_voting_prevention.1.json index d9a7c3d..bd1ae5a 100644 --- a/test_snapshots/test_double_voting_prevention.1.json +++ b/test_snapshots/test_double_voting_prevention.1.json @@ -20,11 +20,11 @@ { "i128": { "hi": 0, - "lo": 1000000 + "lo": 100000 } }, { - "u32": 5 + "u32": 15 }, { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" @@ -104,7 +104,7 @@ "function": { "contract_fn": { "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", - "function_name": "request_leniency", + "function_name": "create_proposal", "args": [ { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" @@ -113,7 +113,20 @@ "u64": 1 }, { - "string": "Need extra time" + "vec": [ + { + "symbol": "ChangeLateFee" + } + ] + }, + { + "string": "Test proposal" + }, + { + "string": "Test description" + }, + { + "string": "{}" } ] } @@ -122,6 +135,7 @@ } ] ], + [], [ [ "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", @@ -129,21 +143,21 @@ "function": { "contract_fn": { "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", - "function_name": "vote_on_leniency", + "function_name": "quadratic_vote", "args": [ { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" }, { - "u64": 1 + "u64": 2 }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "u32": 5 }, { "vec": [ { - "symbol": "Approve" + "symbol": "For" } ] } @@ -229,7 +243,7 @@ "val": { "i128": { "hi": 0, - "lo": 1000000 + "lo": 100000 } } }, @@ -283,9 +297,7 @@ "key": { "symbol": "grace_period_end" }, - "val": { - "u64": 259200 - } + "val": "void" }, { "key": { @@ -359,7 +371,7 @@ "symbol": "max_members" }, "val": { - "u32": 5 + "u32": 15 } }, { @@ -383,7 +395,7 @@ "symbol": "proposal_count" }, "val": { - "u64": 0 + "u64": 1 } }, { @@ -391,7 +403,7 @@ "symbol": "quadratic_voting_enabled" }, "val": { - "bool": false + "bool": true } }, { @@ -417,7 +429,7 @@ "val": { "i128": { "hi": 0, - "lo": 5000000 + "lo": 1500000 } } } @@ -455,10 +467,7 @@ "key": { "vec": [ { - "symbol": "LeniencyRequest" - }, - { - "u64": 1 + "symbol": "Member" }, { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" @@ -469,39 +478,29 @@ "map": [ { "key": { - "symbol": "approve_votes" - }, - "val": { - "u32": 1 - } - }, - { - "key": { - "symbol": "circle_id" + "symbol": "address" }, "val": { - "u64": 1 + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" } }, { "key": { - "symbol": "extension_hours" + "symbol": "buddy" }, - "val": { - "u64": 48 - } + "val": "void" }, { "key": { - "symbol": "reason" + "symbol": "contribution_count" }, "val": { - "string": "Need extra time" + "u32": 0 } }, { "key": { - "symbol": "reject_votes" + "symbol": "index" }, "val": { "u32": 0 @@ -509,7 +508,7 @@ }, { "key": { - "symbol": "request_timestamp" + "symbol": "last_contribution_time" }, "val": { "u64": 0 @@ -517,11 +516,9 @@ }, { "key": { - "symbol": "requester" + "symbol": "referrer" }, - "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - } + "val": "void" }, { "key": { @@ -530,26 +527,18 @@ "val": { "vec": [ { - "symbol": "Approved" + "symbol": "Active" } ] } }, { "key": { - "symbol": "total_votes_cast" + "symbol": "tier_multiplier" }, "val": { "u32": 1 } - }, - { - "key": { - "symbol": "voting_deadline" - }, - "val": { - "u64": 86400 - } } ] } @@ -558,10 +547,10 @@ "key": { "vec": [ { - "symbol": "LeniencyStats" + "symbol": "Member" }, { - "u64": 1 + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" } ] }, @@ -569,23 +558,21 @@ "map": [ { "key": { - "symbol": "approved_requests" + "symbol": "address" }, "val": { - "u32": 1 + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" } }, { "key": { - "symbol": "average_participation" + "symbol": "buddy" }, - "val": { - "u32": 1 - } + "val": "void" }, { "key": { - "symbol": "expired_requests" + "symbol": "contribution_count" }, "val": { "u32": 0 @@ -593,44 +580,45 @@ }, { "key": { - "symbol": "rejected_requests" + "symbol": "index" }, "val": { - "u32": 0 + "u32": 1 } }, { "key": { - "symbol": "total_requests" + "symbol": "last_contribution_time" }, "val": { - "u32": 1 + "u64": 0 } - } - ] - } - }, - { - "key": { - "vec": [ - { - "symbol": "LeniencyVotes" }, { - "u64": 1 + "key": { + "symbol": "referrer" + }, + "val": "void" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Active" + } + ] + } }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" - } - ] - }, - "val": { - "vec": [ - { - "symbol": "Approve" + "key": { + "symbol": "tier_multiplier" + }, + "val": { + "u32": 1 + } } ] } @@ -639,10 +627,10 @@ "key": { "vec": [ { - "symbol": "Member" + "symbol": "Proposal" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "u64": 2 } ] }, @@ -650,47 +638,87 @@ "map": [ { "key": { - "symbol": "address" + "symbol": "against_votes" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "u64": 0 } }, { "key": { - "symbol": "buddy" + "symbol": "circle_id" }, - "val": "void" + "val": { + "u64": 1 + } }, { "key": { - "symbol": "contribution_count" + "symbol": "created_timestamp" }, "val": { - "u32": 0 + "u64": 0 } }, { "key": { - "symbol": "index" + "symbol": "description" }, "val": { - "u32": 0 + "string": "Test description" } }, { "key": { - "symbol": "last_contribution_time" + "symbol": "execution_data" }, "val": { - "u64": 0 + "string": "{}" } }, { "key": { - "symbol": "referrer" + "symbol": "for_votes" }, - "val": "void" + "val": { + "u64": 25 + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": 2 + } + }, + { + "key": { + "symbol": "proposal_type" + }, + "val": { + "vec": [ + { + "symbol": "ChangeLateFee" + } + ] + } + }, + { + "key": { + "symbol": "proposer" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "quorum_met" + }, + "val": { + "bool": true + } }, { "key": { @@ -706,10 +734,34 @@ }, { "key": { - "symbol": "tier_multiplier" + "symbol": "title" }, "val": { - "u32": 1 + "string": "Test proposal" + } + }, + { + "key": { + "symbol": "total_voting_power" + }, + "val": { + "u64": 25 + } + }, + { + "key": { + "symbol": "voting_end_timestamp" + }, + "val": { + "u64": 604800 + } + }, + { + "key": { + "symbol": "voting_start_timestamp" + }, + "val": { + "u64": 0 } } ] @@ -719,10 +771,10 @@ "key": { "vec": [ { - "symbol": "Member" + "symbol": "ProposalStats" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + "u64": 1 } ] }, @@ -730,21 +782,15 @@ "map": [ { "key": { - "symbol": "address" + "symbol": "approved_proposals" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + "u32": 0 } }, { "key": { - "symbol": "buddy" - }, - "val": "void" - }, - { - "key": { - "symbol": "contribution_count" + "symbol": "average_participation" }, "val": { "u32": 0 @@ -752,41 +798,31 @@ }, { "key": { - "symbol": "index" + "symbol": "average_voting_time" }, "val": { - "u32": 1 + "u64": 0 } }, { "key": { - "symbol": "last_contribution_time" + "symbol": "executed_proposals" }, "val": { - "u64": 0 + "u32": 0 } }, { "key": { - "symbol": "referrer" - }, - "val": "void" - }, - { - "key": { - "symbol": "status" + "symbol": "rejected_proposals" }, "val": { - "vec": [ - { - "symbol": "Active" - } - ] + "u32": 0 } }, { "key": { - "symbol": "tier_multiplier" + "symbol": "total_proposals" }, "val": { "u32": 1 @@ -799,13 +835,13 @@ "key": { "vec": [ { - "symbol": "SocialCapital" + "symbol": "QuadraticVote" }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "u64": 2 }, { - "u64": 1 + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" } ] }, @@ -813,50 +849,54 @@ "map": [ { "key": { - "symbol": "circle_id" + "symbol": "proposal_id" }, "val": { - "u64": 1 + "u64": 2 } }, { "key": { - "symbol": "leniency_given" + "symbol": "timestamp" }, "val": { - "u32": 0 + "u64": 0 } }, { "key": { - "symbol": "leniency_received" + "symbol": "vote_choice" }, "val": { - "u32": 1 + "vec": [ + { + "symbol": "For" + } + ] } }, { "key": { - "symbol": "member" + "symbol": "vote_weight" }, "val": { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "u32": 5 } }, { "key": { - "symbol": "trust_score" + "symbol": "voter" }, "val": { - "u32": 55 + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" } }, { "key": { - "symbol": "voting_participation" + "symbol": "voting_power_used" }, "val": { - "u32": 0 + "u64": 25 } } ] @@ -866,7 +906,7 @@ "key": { "vec": [ { - "symbol": "SocialCapital" + "symbol": "VotingPower" }, { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" @@ -888,18 +928,10 @@ }, { "key": { - "symbol": "leniency_given" - }, - "val": { - "u32": 1 - } - }, - { - "key": { - "symbol": "leniency_received" + "symbol": "last_updated" }, "val": { - "u32": 0 + "u64": 0 } }, { @@ -912,18 +944,21 @@ }, { "key": { - "symbol": "trust_score" + "symbol": "quadratic_power" }, "val": { - "u32": 52 + "u64": 100000 } }, { "key": { - "symbol": "voting_participation" + "symbol": "token_balance" }, "val": { - "u32": 1 + "i128": { + "hi": 0, + "lo": 100000000 + } } } ] @@ -1233,11 +1268,11 @@ { "i128": { "hi": 0, - "lo": 1000000 + "lo": 100000 } }, { - "u32": 5 + "u32": 15 }, { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" @@ -1526,7 +1561,7 @@ "bytes": "0000000000000000000000000000000000000000000000000000000000000001" }, { - "symbol": "request_leniency" + "symbol": "create_proposal" } ], "data": { @@ -1538,7 +1573,20 @@ "u64": 1 }, { - "string": "Need extra time" + "vec": [ + { + "symbol": "ChangeLateFee" + } + ] + }, + { + "string": "Test proposal" + }, + { + "string": "Test description" + }, + { + "string": "{}" } ] } @@ -1559,10 +1607,12 @@ "symbol": "fn_return" }, { - "symbol": "request_leniency" + "symbol": "create_proposal" } ], - "data": "void" + "data": { + "u64": 2 + } } } }, @@ -1583,7 +1633,7 @@ "bytes": "0000000000000000000000000000000000000000000000000000000000000001" }, { - "symbol": "vote_on_leniency" + "symbol": "update_voting_power" } ], "data": { @@ -1595,12 +1645,72 @@ "u64": 1 }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "i128": { + "hi": 0, + "lo": 100000000 + } + } + ] + } + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": "0000000000000000000000000000000000000000000000000000000000000001", + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_return" + }, + { + "symbol": "update_voting_power" + } + ], + "data": "void" + } + } + }, + "failed_call": false + }, + { + "event": { + "ext": "v0", + "contract_id": null, + "type_": "diagnostic", + "body": { + "v0": { + "topics": [ + { + "symbol": "fn_call" + }, + { + "bytes": "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "symbol": "quadratic_vote" + } + ], + "data": { + "vec": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "u64": 2 + }, + { + "u32": 5 }, { "vec": [ { - "symbol": "Approve" + "symbol": "For" } ] } @@ -1623,7 +1733,7 @@ "symbol": "fn_return" }, { - "symbol": "vote_on_leniency" + "symbol": "quadratic_vote" } ], "data": "void" @@ -1647,7 +1757,7 @@ "bytes": "0000000000000000000000000000000000000000000000000000000000000001" }, { - "symbol": "vote_on_leniency" + "symbol": "quadratic_vote" } ], "data": { @@ -1656,15 +1766,15 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" }, { - "u64": 1 + "u64": 2 }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "u32": 3 }, { "vec": [ { - "symbol": "Approve" + "symbol": "Against" } ] } @@ -1690,21 +1800,21 @@ "data": { "vec": [ { - "string": "caught panic 'Voting period has ended' from contract function 'Symbol(obj#859)'" + "string": "caught panic 'Already voted on this proposal' from contract function 'Symbol(obj#1035)'" }, { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" }, { - "u64": 1 + "u64": 2 }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "u32": 3 }, { "vec": [ { - "symbol": "Approve" + "symbol": "Against" } ] } @@ -1763,7 +1873,7 @@ "string": "contract call failed" }, { - "symbol": "vote_on_leniency" + "symbol": "quadratic_vote" }, { "vec": [ @@ -1771,15 +1881,15 @@ "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" }, { - "u64": 1 + "u64": 2 }, { - "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + "u32": 3 }, { "vec": [ { - "symbol": "Approve" + "symbol": "Against" } ] }