From c944c92e7696e2252410be215f2b9e8b7fa95f2c Mon Sep 17 00:00:00 2001 From: toni-calvin Date: Fri, 5 Jan 2024 15:47:56 +0100 Subject: [PATCH 01/29] set pubdata constants to 0 --- core/lib/constants/src/fees/mod.rs | 2 +- .../src/versions/vm_1_3_2/vm_with_bootloader.rs | 3 ++- core/lib/multivm/src/versions/vm_latest/constants.rs | 3 ++- .../src/versions/vm_latest/oracles/storage.rs | 12 ++++++++++-- .../multivm/src/versions/vm_m5/vm_with_bootloader.rs | 3 ++- .../multivm/src/versions/vm_m6/vm_with_bootloader.rs | 4 ++-- .../src/versions/vm_refunds_enhancement/constants.rs | 4 ++-- .../src/versions/vm_virtual_blocks/constants.rs | 4 ++-- core/tests/ts-integration/src/diff_output.txt | 6 ++++++ core/tests/ts-integration/src/diff_validium.txt | 6 ++++++ core/tests/ts-integration/src/rollup_output.txt | 1 + core/tests/ts-integration/src/validium_output.txt | 1 + .../ts-integration/src/validium_pubdata_0_output.txt | 1 + 13 files changed, 38 insertions(+), 12 deletions(-) create mode 100644 core/tests/ts-integration/src/diff_output.txt create mode 100644 core/tests/ts-integration/src/diff_validium.txt create mode 100644 core/tests/ts-integration/src/rollup_output.txt create mode 100644 core/tests/ts-integration/src/validium_output.txt create mode 100644 core/tests/ts-integration/src/validium_pubdata_0_output.txt diff --git a/core/lib/constants/src/fees/mod.rs b/core/lib/constants/src/fees/mod.rs index be2040a50e83..a4cd39fb5c94 100644 --- a/core/lib/constants/src/fees/mod.rs +++ b/core/lib/constants/src/fees/mod.rs @@ -35,7 +35,7 @@ pub struct IntrinsicSystemGasConstants { /// The amount of gas we need to pay for each non-zero pubdata byte. /// Note that it is bigger than 16 to account for potential overhead -pub const L1_GAS_PER_PUBDATA_BYTE: u32 = 17; +pub const L1_GAS_PER_PUBDATA_BYTE: u32 = 0; /// The amount of pubdata that is strictly guaranteed to be available for a block pub const GUARANTEED_PUBDATA_IN_TX: u32 = 100000; diff --git a/core/lib/multivm/src/versions/vm_1_3_2/vm_with_bootloader.rs b/core/lib/multivm/src/versions/vm_1_3_2/vm_with_bootloader.rs index 71c108cae326..355d6b4adf10 100644 --- a/core/lib/multivm/src/versions/vm_1_3_2/vm_with_bootloader.rs +++ b/core/lib/multivm/src/versions/vm_1_3_2/vm_with_bootloader.rs @@ -41,7 +41,8 @@ use crate::vm_1_3_2::{ // fill these values in the similar fasion as other overhead-related constants pub const BLOCK_OVERHEAD_GAS: u32 = 1200000; pub const BLOCK_OVERHEAD_L1_GAS: u32 = 1000000; -pub const BLOCK_OVERHEAD_PUBDATA: u32 = BLOCK_OVERHEAD_L1_GAS / L1_GAS_PER_PUBDATA_BYTE; +// pub const BLOCK_OVERHEAD_PUBDATA: u32 = BLOCK_OVERHEAD_L1_GAS / L1_GAS_PER_PUBDATA_BYTE; +pub const BLOCK_OVERHEAD_PUBDATA: u32 = 0; pub const MAX_BLOCK_MULTIINSTANCE_GAS_LIMIT: u32 = 300_000_000; diff --git a/core/lib/multivm/src/versions/vm_latest/constants.rs b/core/lib/multivm/src/versions/vm_latest/constants.rs index 44266344be61..5ae67b74a2ba 100644 --- a/core/lib/multivm/src/versions/vm_latest/constants.rs +++ b/core/lib/multivm/src/versions/vm_latest/constants.rs @@ -87,7 +87,8 @@ const INITIAL_BASE_PAGE: u32 = 8; pub const BOOTLOADER_HEAP_PAGE: u32 = heap_page_from_base(MemoryPage(INITIAL_BASE_PAGE)).0; pub const BLOCK_OVERHEAD_GAS: u32 = 1200000; pub const BLOCK_OVERHEAD_L1_GAS: u32 = 1000000; -pub const BLOCK_OVERHEAD_PUBDATA: u32 = BLOCK_OVERHEAD_L1_GAS / L1_GAS_PER_PUBDATA_BYTE; +// pub const BLOCK_OVERHEAD_PUBDATA: u32 = BLOCK_OVERHEAD_L1_GAS / L1_GAS_PER_PUBDATA_BYTE; +pub const BLOCK_OVERHEAD_PUBDATA: u32 = 0; /// VM Hooks are used for communication between bootloader and tracers. /// The 'type' / 'opcode' is put into VM_HOOK_POSITION slot, diff --git a/core/lib/multivm/src/versions/vm_latest/oracles/storage.rs b/core/lib/multivm/src/versions/vm_latest/oracles/storage.rs index 2b6b5988e06e..58ce0b9a16b5 100644 --- a/core/lib/multivm/src/versions/vm_latest/oracles/storage.rs +++ b/core/lib/multivm/src/versions/vm_latest/oracles/storage.rs @@ -456,9 +456,17 @@ fn get_pubdata_price_bytes(initial_value: U256, final_value: U256, is_initial: b compress_with_best_strategy(initial_value, final_value).len() as u32; if is_initial { - (BYTES_PER_DERIVED_KEY as u32) + compressed_value_size + println!("is initial"); + let pubdata_price_bytes = (BYTES_PER_DERIVED_KEY as u32) + compressed_value_size; + println!("pubdata_price_bytes: {}", pubdata_price_bytes); + pubdata_price_bytes + // (BYTES_PER_DERIVED_KEY as u32) + compressed_value_size } else { - (BYTES_PER_ENUMERATION_INDEX as u32) + compressed_value_size + println!("is repeated"); + let pubdata_price_bytes = (BYTES_PER_ENUMERATION_INDEX as u32) + compressed_value_size; + println!("pubdata_price_bytes: {}", pubdata_price_bytes); + pubdata_price_bytes + // (BYTES_PER_ENUMERATION_INDEX as u32) + compressed_value_size } } diff --git a/core/lib/multivm/src/versions/vm_m5/vm_with_bootloader.rs b/core/lib/multivm/src/versions/vm_m5/vm_with_bootloader.rs index f9ba88fea143..5263e125800f 100644 --- a/core/lib/multivm/src/versions/vm_m5/vm_with_bootloader.rs +++ b/core/lib/multivm/src/versions/vm_m5/vm_with_bootloader.rs @@ -36,7 +36,8 @@ use crate::vm_m5::{ // fill these values in the similar fasion as other overhead-related constants pub const BLOCK_OVERHEAD_GAS: u32 = 1200000; pub const BLOCK_OVERHEAD_L1_GAS: u32 = 1000000; -pub const BLOCK_OVERHEAD_PUBDATA: u32 = BLOCK_OVERHEAD_L1_GAS / L1_GAS_PER_PUBDATA_BYTE; +// pub const BLOCK_OVERHEAD_PUBDATA: u32 = BLOCK_OVERHEAD_L1_GAS / L1_GAS_PER_PUBDATA_BYTE; +pub const BLOCK_OVERHEAD_PUBDATA: u32 = 0; pub const MAX_BLOCK_MULTIINSTANCE_GAS_LIMIT: u32 = 300_000_000; diff --git a/core/lib/multivm/src/versions/vm_m6/vm_with_bootloader.rs b/core/lib/multivm/src/versions/vm_m6/vm_with_bootloader.rs index c7d4ee3d45e8..021e539f5c36 100644 --- a/core/lib/multivm/src/versions/vm_m6/vm_with_bootloader.rs +++ b/core/lib/multivm/src/versions/vm_m6/vm_with_bootloader.rs @@ -39,8 +39,8 @@ use crate::vm_m6::{ // fill these values in the similar fasion as other overhead-related constants pub const BLOCK_OVERHEAD_GAS: u32 = 1200000; pub const BLOCK_OVERHEAD_L1_GAS: u32 = 1000000; -pub const BLOCK_OVERHEAD_PUBDATA: u32 = BLOCK_OVERHEAD_L1_GAS / L1_GAS_PER_PUBDATA_BYTE; - +// pub const BLOCK_OVERHEAD_PUBDATA: u32 = BLOCK_OVERHEAD_L1_GAS / L1_GAS_PER_PUBDATA_BYTE; +pub const BLOCK_OVERHEAD_PUBDATA: u32 = 0; pub const MAX_BLOCK_MULTIINSTANCE_GAS_LIMIT: u32 = 300_000_000; /// `BlockContext` is a structure that contains parameters for diff --git a/core/lib/multivm/src/versions/vm_refunds_enhancement/constants.rs b/core/lib/multivm/src/versions/vm_refunds_enhancement/constants.rs index 82ab754e4036..dd5d62833090 100644 --- a/core/lib/multivm/src/versions/vm_refunds_enhancement/constants.rs +++ b/core/lib/multivm/src/versions/vm_refunds_enhancement/constants.rs @@ -70,8 +70,8 @@ const INITIAL_BASE_PAGE: u32 = 8; pub const BOOTLOADER_HEAP_PAGE: u32 = heap_page_from_base(MemoryPage(INITIAL_BASE_PAGE)).0; pub const BLOCK_OVERHEAD_GAS: u32 = 1200000; pub const BLOCK_OVERHEAD_L1_GAS: u32 = 1000000; -pub const BLOCK_OVERHEAD_PUBDATA: u32 = BLOCK_OVERHEAD_L1_GAS / L1_GAS_PER_PUBDATA_BYTE; - +// pub const BLOCK_OVERHEAD_PUBDATA: u32 = BLOCK_OVERHEAD_L1_GAS / L1_GAS_PER_PUBDATA_BYTE; +pub const BLOCK_OVERHEAD_PUBDATA: u32 = 0; /// VM Hooks are used for communication between bootloader and tracers. /// The 'type' / 'opcode' is put into VM_HOOK_POSITION slot, /// and VM_HOOKS_PARAMS_COUNT parameters (each 32 bytes) are put in the slots before. diff --git a/core/lib/multivm/src/versions/vm_virtual_blocks/constants.rs b/core/lib/multivm/src/versions/vm_virtual_blocks/constants.rs index c03260f1b6de..962bf464a5d7 100644 --- a/core/lib/multivm/src/versions/vm_virtual_blocks/constants.rs +++ b/core/lib/multivm/src/versions/vm_virtual_blocks/constants.rs @@ -70,8 +70,8 @@ const INITIAL_BASE_PAGE: u32 = 8; pub const BOOTLOADER_HEAP_PAGE: u32 = heap_page_from_base(MemoryPage(INITIAL_BASE_PAGE)).0; pub(crate) const BLOCK_OVERHEAD_GAS: u32 = 1200000; pub(crate) const BLOCK_OVERHEAD_L1_GAS: u32 = 1000000; -pub const BLOCK_OVERHEAD_PUBDATA: u32 = BLOCK_OVERHEAD_L1_GAS / L1_GAS_PER_PUBDATA_BYTE; - +// pub const BLOCK_OVERHEAD_PUBDATA: u32 = BLOCK_OVERHEAD_L1_GAS / L1_GAS_PER_PUBDATA_BYTE; +pub const BLOCK_OVERHEAD_PUBDATA: u32 = 0; /// VM Hooks are used for communication between bootloader and tracers. /// The 'type' / 'opcode' is put into VM_HOOK_POSITION slot, /// and VM_HOOKS_PARAMS_COUNT parameters (each 32 bytes) are put in the slots before. diff --git a/core/tests/ts-integration/src/diff_output.txt b/core/tests/ts-integration/src/diff_output.txt new file mode 100644 index 000000000000..a89a982ac636 --- /dev/null +++ b/core/tests/ts-integration/src/diff_output.txt @@ -0,0 +1,6 @@ +1c1 +< {"jsonrpc":"2.0","result":{"type":"Call","from":"0x0000000000000000000000000000000000000000","to":"0x0000000000000000000000000000000000008001","gas":"0x2582f","gasUsed":"0x1e669","value":"0x0","output":"0x","input":"0xa41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008002","gas":"0xfbfffb92","gasUsed":"0x262","value":"0x0","output":"0x0100023ba65021e4689dd1755f82108214a1f25150d439fe58c55cdb1f376436","input":"0xe03fe177000000000000000000000000000000000000000000000000000000000000800b","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbffee87","gasUsed":"0x29369","value":"0x0","output":"0x","input":"0x02fa5779699989e3884dbae679ac4688f7810fff11c5b10730cfd98694e0bc8312dffb0200000000000000000000000000000000000000000000000000000000659800e10000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000ee6b280","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800b","to":"0x0000000000000000000000000000000000008010","gas":"0xf80fe95c","gasUsed":"0x12f","value":"0x0","output":"0x625b35f5e76f098dd7c3a05b10e2e5e78a4a01228d60c3b143426cdf36d26455","input":"0x00000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000008","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbfd5aff","gasUsed":"0x41b7","value":"0x0","output":"0x","input":"0x06bed036000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000659800e1c430d34c3272d22f369af42e59fe91930da8bfcb3195800053371eeb1f14288300000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800b","to":"0x0000000000000000000000000000000000008010","gas":"0xf80d5eb0","gasUsed":"0x193","value":"0x0","output":"0xc430d34c3272d22f369af42e59fe91930da8bfcb3195800053371eeb1f142883","input":"0x000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000659800daba29c754519015dc8c2942d61fcf82cdd9cd4389b4d225bd56e1e3528cb5a6ab0000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbfd112b","gasUsed":"0x1ea","value":"0x0","output":"0x000000000000000000000000000000000000000000000000000000000ee6b280","input":"0x6ef25c3a","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800c","gas":"0xfbfce659","gasUsed":"0x2a9b","value":"0x0","output":"0xa1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf6766807a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c6","input":"0xebe4a3d70000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002582f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000064a41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041896d4e65e020a8c1c5a1227d1ffba49a246f79b4691717dfa824af25962d1ded7c5769b35ba68315636604e2a191809b0fb686eeb0bdbada366515da2866ed781b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ceeb7","gasUsed":"0x1b2","value":"0x0","output":"0x64490cf0c697572adde73c8c02a43dfd982f5029a65923917d8f60ab62784cf0","input":"0xa41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ce8cf","gasUsed":"0xc5","value":"0x0","output":"0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","input":"0x","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ce5db","gasUsed":"0xc5","value":"0x0","output":"0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","input":"0x","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ce032","gasUsed":"0x44d","value":"0x0","output":"0xd1f96d5378eeab9611b9247d2e2cc6a3e8cf0b2b0f8f0ef8286317d55464002a","input":"0x848e1bfa1ac4e3576b728bda6721b215c70a7799a5b4866282a71bab954baac8000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002582f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000064490cf0c697572adde73c8c02a43dfd982f5029a65923917d8f60ab62784cf0c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x000000000000000000000000000000000000800b","gas":"0xf80cdac8","gasUsed":"0x1d8","value":"0x0","output":"0x000000000000000000000000000000000000000000000000000000000000010e","input":"0x9a8a0592","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80cd717","gasUsed":"0x193","value":"0x0","output":"0x90c05efb083b1455ff9cfdbd3792b42bea87908b3a05f46c28244311c105b5a6","input":"0xc2f8787176b8ac6bf7215b4adcc1e069bf4ab82d9ab1df05a57a91d425935b6e19b453ce45aaaaf3a300f5a9ec95869b4f28ab10430b572ee218c3a6a5e07d6fad7c5bef027816a800da1736444fb58a807ef4c9603b7848673f7e3a68eb14a5000000000000000000000000000000000000000000000000000000000000010e","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80cd3e4","gasUsed":"0x180","value":"0x0","output":"0x7a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c6","input":"0x190190c05efb083b1455ff9cfdbd3792b42bea87908b3a05f46c28244311c105b5a6d1f96d5378eeab9611b9247d2e2cc6a3e8cf0b2b0f8f0ef8286317d55464002a","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ccfb5","gasUsed":"0x180","value":"0x0","output":"0x0e0c0cea11018eb61614e76c4cd8927f5112d6fa9df527455b2ff366f20629a8","input":"0x896d4e65e020a8c1c5a1227d1ffba49a246f79b4691717dfa824af25962d1ded7c5769b35ba68315636604e2a191809b0fb686eeb0bdbada366515da2866ed781b","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80cca8a","gasUsed":"0x12f","value":"0x0","output":"0xa1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf676680","input":"0x7a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c60e0c0cea11018eb61614e76c4cd8927f5112d6fa9df527455b2ff366f20629a8","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbfcb9ce","gasUsed":"0x1294","value":"0x0","output":"0x","input":"0x06e7517ba1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf676680","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800b","to":"0x0000000000000000000000000000000000008010","gas":"0xf80cc367","gasUsed":"0x12f","value":"0x0","output":"0xa512af0b1539d24cf7dab2a48c83ad66adff8b2a32b4e286e88c0d54949408a9","input":"0x0000000000000000000000000000000000000000000000000000000000000000a1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf676680","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0x206c4","gasUsed":"0xfd7","value":"0x0","output":"0x","input":"0xa851ae780000000000000000000000000000000000000000000000000000000000008001","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0x1f5c9","gasUsed":"0xf21","value":"0x0","output":"0x","input":"0xbf1fe420000000000000000000000000000000000000000000000000000000000ee6b280","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008006","gas":"0x1cd6d","gasUsed":"0x97e","value":"0x0","output":"0x0000000000000000000000000000000000000000000000000000000000000001","input":"0xbb0fd61000000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008006","to":"0x0000000000000000000000000000000000008010","gas":"0x1c3d4","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008006","to":"0x0000000000000000000000000000000000008002","gas":"0x1c023","gasUsed":"0x1f1","value":"0x0","output":"0x0000000000000000000000000000000000000000000000000000000000000000","input":"0x4de2e46800000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008003","gas":"0x1bd6e","gasUsed":"0xa0c","value":"0x0","output":"0x","input":"0x6ee1dc2000000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc04900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x1b3d5","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x1b0e1","gasUsed":"0x12f","value":"0x0","output":"0x1aaedb9739e2eccf88498b4b7b94dc130336bc3f6f75d8479999c9f1cf84be6f","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000001","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x1ae6b","gasUsed":"0x12f","value":"0x0","output":"0x8b94614891bdf5e652dabf07f56421084c5bd1236fd42f2ba55ed8e163960999","input":"0x00000000000000000000000000000000000000000000000000000000000000011aaedb9739e2eccf88498b4b7b94dc130336bc3f6f75d8479999c9f1cf84be6f","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","gas":"0x1960e","gasUsed":"0x30a7","value":"0x0","output":"0x202bcce700000000000000000000000000000000000000000000000000000000","input":"0x202bcce7a1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf6766807a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c60000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002582f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000064a41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041896d4e65e020a8c1c5a1227d1ffba49a246f79b4691717dfa824af25962d1ded7c5769b35ba68315636604e2a191809b0fb686eeb0bdbada366515da2866ed781b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x0000000000000000000000000000000000008003","gas":"0x18c36","gasUsed":"0x15f7","value":"0x0","output":"0x","input":"0xe1239cd80000000000000000000000000000000000000000000000000000000000000001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x183d8","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x18066","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x000000000000000000000000000000000000800a","gas":"0x16f2c","gasUsed":"0x492","value":"0x0","output":"0x00000000000000000000000000000000000000000000000098b1e70dd5c6d080","input":"0x9cc7f70800000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x1670d","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x0000000000000000000000000000000000000001","gas":"0x165d2","gasUsed":"0x538","value":"0x0","output":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","input":"0x7a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c6000000000000000000000000000000000000000000000000000000000000001b896d4e65e020a8c1c5a1227d1ffba49a246f79b4691717dfa824af25962d1ded7c5769b35ba68315636604e2a191809b0fb686eeb0bdbada366515da2866ed78","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008003","gas":"0x16458","gasUsed":"0x498","value":"0x0","output":"0x","input":"0x6ee1dc2000000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc04900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x15c39","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800a","gas":"0x15db3","gasUsed":"0x492","value":"0x0","output":"0x0000000000000000000000000000000000000000000000000000000000000000","input":"0x9cc7f7080000000000000000000000000000000000000000000000000000000000008001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x155d3","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","gas":"0x15612","gasUsed":"0x35c0","value":"0x0","output":"0x","input":"0xe2f318e3a1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf6766807a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c60000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002582f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000064a41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041896d4e65e020a8c1c5a1227d1ffba49a246f79b4691717dfa824af25962d1ded7c5769b35ba68315636604e2a191809b0fb686eeb0bdbada366515da2866ed781b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x0000000000000000000000000000000000008009","gas":"0x14bfb","gasUsed":"0x3092","value":"0x0","output":"0x","input":"0x","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008009","to":"0x000000000000000000000000000000000000800a","gas":"0x143dc","gasUsed":"0x2ac7","value":"0x0","output":"0x","input":"0x579952fc00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000008001000000000000000000000000000000000000000000000000000022ef6eb6c580","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x13c3b","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x13908","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x126d2","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x000000000000000000000000000000000000800d","gas":"0x115d7","gasUsed":"0x13d","value":"0x0","output":"0x","input":"0x000000000000000000000000000000000000000000000000000022ef6eb6c580","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x0000000000000000000000000000000000008001","gas":"0x1180e","gasUsed":"0x17","value":"0x22ef6eb6c580","output":"0x","input":"0x","error":null,"revertReason":null,"calls":[]}]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800a","gas":"0x11faf","gasUsed":"0x492","value":"0x0","output":"0x000000000000000000000000000000000000000000000000000022ef6eb6c580","input":"0x9cc7f7080000000000000000000000000000000000000000000000000000000000008001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x118cb","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008004","gas":"0xac44","gasUsed":"0x200","value":"0x0","output":"0x","input":"0xe516761e000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008002","gas":"0xa65c","gasUsed":"0x1f1","value":"0x0","output":"0x0000000000000000000000000000000000000000000000000000000000000000","input":"0x4de2e46800000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xa2ab","gasUsed":"0xfd7","value":"0x0","output":"0x","input":"0xa851ae7800000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","gas":"0x8fb8","gasUsed":"0x1f88","value":"0x0","output":"0x","input":"0xdf9c1589a1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf6766807a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c60000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002582f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000064a41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041896d4e65e020a8c1c5a1227d1ffba49a246f79b4691717dfa824af25962d1ded7c5769b35ba68315636604e2a191809b0fb686eeb0bdbada366515da2866ed781b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x111c3e89ce80e62ee88318c2804920d4c96f92bb","gas":"0x871b","gasUsed":"0x18e0","value":"0x0","output":"0x","input":"0xa41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbfb700a","gasUsed":"0xfd7","value":"0x0","output":"0x","input":"0xa851ae780000000000000000000000000000000000000000000000000000000000008001","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800a","gas":"0xfbfb5e13","gasUsed":"0x2806","value":"0x0","output":"0x","input":"0x579952fc000000000000000000000000000000000000000000000000000000000000800100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000069f5b388f00","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0xf80b6dd3","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0xf80b6adf","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0xf80b5b1f","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x000000000000000000000000000000000000800d","gas":"0xf80b4a63","gasUsed":"0x13d","value":"0x0","output":"0x","input":"0x0000000000000000000000000000000000000000000000000000069f5b388f00","error":null,"revertReason":null,"calls":[]}]}]}]},"id":2} +\ No newline at end of file +--- +> {"jsonrpc":"2.0","result":{"type":"Call","from":"0x0000000000000000000000000000000000000000","to":"0x0000000000000000000000000000000000008001","gas":"0x2582f","gasUsed":"0x1e669","value":"0x0","output":"0x","input":"0xa41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008002","gas":"0xfbfffb92","gasUsed":"0x262","value":"0x0","output":"0x0100023ba65021e4689dd1755f82108214a1f25150d439fe58c55cdb1f376436","input":"0xe03fe177000000000000000000000000000000000000000000000000000000000000800b","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbffee87","gasUsed":"0x29369","value":"0x0","output":"0x","input":"0x02fa5779fb8684a2f1b235ec9aeea7cb396932e0128977f306d1f5dd153d0477eedbea2e000000000000000000000000000000000000000000000000000000006597fd190000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000ee6b280","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800b","to":"0x0000000000000000000000000000000000008010","gas":"0xf80fe95c","gasUsed":"0x12f","value":"0x0","output":"0x625b35f5e76f098dd7c3a05b10e2e5e78a4a01228d60c3b143426cdf36d26455","input":"0x00000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000008","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbfd5aff","gasUsed":"0x41b7","value":"0x0","output":"0x","input":"0x06bed0360000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000006597fd19e0f11f969291d373aa30c46a8833c7a66bf0ede7f05a620527ca1adc849df73a00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800b","to":"0x0000000000000000000000000000000000008010","gas":"0xf80d5eb0","gasUsed":"0x193","value":"0x0","output":"0xe0f11f969291d373aa30c46a8833c7a66bf0ede7f05a620527ca1adc849df73a","input":"0x0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000006597fd13a9d36af0b8414df9db49ce82e10929b63ce5e3abd1b2880490f123646dce911f0000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbfd112b","gasUsed":"0x1ea","value":"0x0","output":"0x000000000000000000000000000000000000000000000000000000000ee6b280","input":"0x6ef25c3a","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800c","gas":"0xfbfce659","gasUsed":"0x2a9b","value":"0x0","output":"0xa1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf6766807a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c6","input":"0xebe4a3d70000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002582f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000064a41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041896d4e65e020a8c1c5a1227d1ffba49a246f79b4691717dfa824af25962d1ded7c5769b35ba68315636604e2a191809b0fb686eeb0bdbada366515da2866ed781b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ceeb7","gasUsed":"0x1b2","value":"0x0","output":"0x64490cf0c697572adde73c8c02a43dfd982f5029a65923917d8f60ab62784cf0","input":"0xa41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ce8cf","gasUsed":"0xc5","value":"0x0","output":"0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","input":"0x","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ce5db","gasUsed":"0xc5","value":"0x0","output":"0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","input":"0x","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ce032","gasUsed":"0x44d","value":"0x0","output":"0xd1f96d5378eeab9611b9247d2e2cc6a3e8cf0b2b0f8f0ef8286317d55464002a","input":"0x848e1bfa1ac4e3576b728bda6721b215c70a7799a5b4866282a71bab954baac8000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002582f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000064490cf0c697572adde73c8c02a43dfd982f5029a65923917d8f60ab62784cf0c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x000000000000000000000000000000000000800b","gas":"0xf80cdac8","gasUsed":"0x1d8","value":"0x0","output":"0x000000000000000000000000000000000000000000000000000000000000010e","input":"0x9a8a0592","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80cd717","gasUsed":"0x193","value":"0x0","output":"0x90c05efb083b1455ff9cfdbd3792b42bea87908b3a05f46c28244311c105b5a6","input":"0xc2f8787176b8ac6bf7215b4adcc1e069bf4ab82d9ab1df05a57a91d425935b6e19b453ce45aaaaf3a300f5a9ec95869b4f28ab10430b572ee218c3a6a5e07d6fad7c5bef027816a800da1736444fb58a807ef4c9603b7848673f7e3a68eb14a5000000000000000000000000000000000000000000000000000000000000010e","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80cd3e4","gasUsed":"0x180","value":"0x0","output":"0x7a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c6","input":"0x190190c05efb083b1455ff9cfdbd3792b42bea87908b3a05f46c28244311c105b5a6d1f96d5378eeab9611b9247d2e2cc6a3e8cf0b2b0f8f0ef8286317d55464002a","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ccfb5","gasUsed":"0x180","value":"0x0","output":"0x0e0c0cea11018eb61614e76c4cd8927f5112d6fa9df527455b2ff366f20629a8","input":"0x896d4e65e020a8c1c5a1227d1ffba49a246f79b4691717dfa824af25962d1ded7c5769b35ba68315636604e2a191809b0fb686eeb0bdbada366515da2866ed781b","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80cca8a","gasUsed":"0x12f","value":"0x0","output":"0xa1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf676680","input":"0x7a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c60e0c0cea11018eb61614e76c4cd8927f5112d6fa9df527455b2ff366f20629a8","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbfcb9ce","gasUsed":"0x1294","value":"0x0","output":"0x","input":"0x06e7517ba1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf676680","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800b","to":"0x0000000000000000000000000000000000008010","gas":"0xf80cc367","gasUsed":"0x12f","value":"0x0","output":"0xa512af0b1539d24cf7dab2a48c83ad66adff8b2a32b4e286e88c0d54949408a9","input":"0x0000000000000000000000000000000000000000000000000000000000000000a1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf676680","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0x206c4","gasUsed":"0xfd7","value":"0x0","output":"0x","input":"0xa851ae780000000000000000000000000000000000000000000000000000000000008001","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0x1f5c9","gasUsed":"0xf21","value":"0x0","output":"0x","input":"0xbf1fe420000000000000000000000000000000000000000000000000000000000ee6b280","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008006","gas":"0x1cd6d","gasUsed":"0x97e","value":"0x0","output":"0x0000000000000000000000000000000000000000000000000000000000000001","input":"0xbb0fd61000000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008006","to":"0x0000000000000000000000000000000000008010","gas":"0x1c3d4","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008006","to":"0x0000000000000000000000000000000000008002","gas":"0x1c023","gasUsed":"0x1f1","value":"0x0","output":"0x0000000000000000000000000000000000000000000000000000000000000000","input":"0x4de2e46800000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008003","gas":"0x1bd6e","gasUsed":"0xa0c","value":"0x0","output":"0x","input":"0x6ee1dc2000000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc04900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x1b3d5","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x1b0e1","gasUsed":"0x12f","value":"0x0","output":"0x1aaedb9739e2eccf88498b4b7b94dc130336bc3f6f75d8479999c9f1cf84be6f","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000001","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x1ae6b","gasUsed":"0x12f","value":"0x0","output":"0x8b94614891bdf5e652dabf07f56421084c5bd1236fd42f2ba55ed8e163960999","input":"0x00000000000000000000000000000000000000000000000000000000000000011aaedb9739e2eccf88498b4b7b94dc130336bc3f6f75d8479999c9f1cf84be6f","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","gas":"0x1960e","gasUsed":"0x30a7","value":"0x0","output":"0x202bcce700000000000000000000000000000000000000000000000000000000","input":"0x202bcce7a1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf6766807a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c60000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002582f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000064a41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041896d4e65e020a8c1c5a1227d1ffba49a246f79b4691717dfa824af25962d1ded7c5769b35ba68315636604e2a191809b0fb686eeb0bdbada366515da2866ed781b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x0000000000000000000000000000000000008003","gas":"0x18c36","gasUsed":"0x15f7","value":"0x0","output":"0x","input":"0xe1239cd80000000000000000000000000000000000000000000000000000000000000001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x183d8","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x18066","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x000000000000000000000000000000000000800a","gas":"0x16f2c","gasUsed":"0x492","value":"0x0","output":"0x00000000000000000000000000000000000000000000000098b1e70ee1ff5d80","input":"0x9cc7f70800000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x1670d","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x0000000000000000000000000000000000000001","gas":"0x165d2","gasUsed":"0x538","value":"0x0","output":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","input":"0x7a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c6000000000000000000000000000000000000000000000000000000000000001b896d4e65e020a8c1c5a1227d1ffba49a246f79b4691717dfa824af25962d1ded7c5769b35ba68315636604e2a191809b0fb686eeb0bdbada366515da2866ed78","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008003","gas":"0x16458","gasUsed":"0x498","value":"0x0","output":"0x","input":"0x6ee1dc2000000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc04900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x15c39","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800a","gas":"0x15db3","gasUsed":"0x492","value":"0x0","output":"0x0000000000000000000000000000000000000000000000000000000000000000","input":"0x9cc7f7080000000000000000000000000000000000000000000000000000000000008001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x155d3","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","gas":"0x15612","gasUsed":"0x35c0","value":"0x0","output":"0x","input":"0xe2f318e3a1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf6766807a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c60000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002582f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000064a41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041896d4e65e020a8c1c5a1227d1ffba49a246f79b4691717dfa824af25962d1ded7c5769b35ba68315636604e2a191809b0fb686eeb0bdbada366515da2866ed781b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x0000000000000000000000000000000000008009","gas":"0x14bfb","gasUsed":"0x3092","value":"0x0","output":"0x","input":"0x","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008009","to":"0x000000000000000000000000000000000000800a","gas":"0x143dc","gasUsed":"0x2ac7","value":"0x0","output":"0x","input":"0x579952fc00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000008001000000000000000000000000000000000000000000000000000022ef6eb6c580","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x13c3b","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x13908","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x126d2","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x000000000000000000000000000000000000800d","gas":"0x115d7","gasUsed":"0x13d","value":"0x0","output":"0x","input":"0x000000000000000000000000000000000000000000000000000022ef6eb6c580","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x0000000000000000000000000000000000008001","gas":"0x1180e","gasUsed":"0x17","value":"0x22ef6eb6c580","output":"0x","input":"0x","error":null,"revertReason":null,"calls":[]}]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800a","gas":"0x11faf","gasUsed":"0x492","value":"0x0","output":"0x000000000000000000000000000000000000000000000000000022ef6eb6c580","input":"0x9cc7f7080000000000000000000000000000000000000000000000000000000000008001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x118cb","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008004","gas":"0xac44","gasUsed":"0x200","value":"0x0","output":"0x","input":"0xe516761e000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008002","gas":"0xa65c","gasUsed":"0x1f1","value":"0x0","output":"0x0000000000000000000000000000000000000000000000000000000000000000","input":"0x4de2e46800000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xa2ab","gasUsed":"0xfd7","value":"0x0","output":"0x","input":"0xa851ae7800000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","gas":"0x8fb8","gasUsed":"0x1f88","value":"0x0","output":"0x","input":"0xdf9c1589a1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf6766807a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c60000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002582f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000064a41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041896d4e65e020a8c1c5a1227d1ffba49a246f79b4691717dfa824af25962d1ded7c5769b35ba68315636604e2a191809b0fb686eeb0bdbada366515da2866ed781b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x111c3e89ce80e62ee88318c2804920d4c96f92bb","gas":"0x871b","gasUsed":"0x18e0","value":"0x0","output":"0x","input":"0xa41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbfb700a","gasUsed":"0xfd7","value":"0x0","output":"0x","input":"0xa851ae780000000000000000000000000000000000000000000000000000000000008001","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800a","gas":"0xfbfb5e13","gasUsed":"0x2806","value":"0x0","output":"0x","input":"0x579952fc000000000000000000000000000000000000000000000000000000000000800100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000069f5b388f00","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0xf80b6dd3","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0xf80b6adf","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0xf80b5b1f","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x000000000000000000000000000000000000800d","gas":"0xf80b4a63","gasUsed":"0x13d","value":"0x0","output":"0x","input":"0x0000000000000000000000000000000000000000000000000000069f5b388f00","error":null,"revertReason":null,"calls":[]}]}]}]},"id":2} +\ No newline at end of file diff --git a/core/tests/ts-integration/src/diff_validium.txt b/core/tests/ts-integration/src/diff_validium.txt new file mode 100644 index 000000000000..cd090ab9a7c9 --- /dev/null +++ b/core/tests/ts-integration/src/diff_validium.txt @@ -0,0 +1,6 @@ +1c1 +< {"jsonrpc":"2.0","result":{"type":"Call","from":"0x0000000000000000000000000000000000000000","to":"0x0000000000000000000000000000000000008001","gas":"0x2582f","gasUsed":"0x1e669","value":"0x0","output":"0x","input":"0xa41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008002","gas":"0xfbfffb92","gasUsed":"0x262","value":"0x0","output":"0x0100023ba65021e4689dd1755f82108214a1f25150d439fe58c55cdb1f376436","input":"0xe03fe177000000000000000000000000000000000000000000000000000000000000800b","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbffee87","gasUsed":"0x29369","value":"0x0","output":"0x","input":"0x02fa5779fb8684a2f1b235ec9aeea7cb396932e0128977f306d1f5dd153d0477eedbea2e000000000000000000000000000000000000000000000000000000006597fd190000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000ee6b280","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800b","to":"0x0000000000000000000000000000000000008010","gas":"0xf80fe95c","gasUsed":"0x12f","value":"0x0","output":"0x625b35f5e76f098dd7c3a05b10e2e5e78a4a01228d60c3b143426cdf36d26455","input":"0x00000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000008","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbfd5aff","gasUsed":"0x41b7","value":"0x0","output":"0x","input":"0x06bed0360000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000006597fd19e0f11f969291d373aa30c46a8833c7a66bf0ede7f05a620527ca1adc849df73a00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800b","to":"0x0000000000000000000000000000000000008010","gas":"0xf80d5eb0","gasUsed":"0x193","value":"0x0","output":"0xe0f11f969291d373aa30c46a8833c7a66bf0ede7f05a620527ca1adc849df73a","input":"0x0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000006597fd13a9d36af0b8414df9db49ce82e10929b63ce5e3abd1b2880490f123646dce911f0000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbfd112b","gasUsed":"0x1ea","value":"0x0","output":"0x000000000000000000000000000000000000000000000000000000000ee6b280","input":"0x6ef25c3a","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800c","gas":"0xfbfce659","gasUsed":"0x2a9b","value":"0x0","output":"0xa1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf6766807a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c6","input":"0xebe4a3d70000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002582f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000064a41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041896d4e65e020a8c1c5a1227d1ffba49a246f79b4691717dfa824af25962d1ded7c5769b35ba68315636604e2a191809b0fb686eeb0bdbada366515da2866ed781b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ceeb7","gasUsed":"0x1b2","value":"0x0","output":"0x64490cf0c697572adde73c8c02a43dfd982f5029a65923917d8f60ab62784cf0","input":"0xa41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ce8cf","gasUsed":"0xc5","value":"0x0","output":"0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","input":"0x","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ce5db","gasUsed":"0xc5","value":"0x0","output":"0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","input":"0x","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ce032","gasUsed":"0x44d","value":"0x0","output":"0xd1f96d5378eeab9611b9247d2e2cc6a3e8cf0b2b0f8f0ef8286317d55464002a","input":"0x848e1bfa1ac4e3576b728bda6721b215c70a7799a5b4866282a71bab954baac8000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002582f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000064490cf0c697572adde73c8c02a43dfd982f5029a65923917d8f60ab62784cf0c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x000000000000000000000000000000000000800b","gas":"0xf80cdac8","gasUsed":"0x1d8","value":"0x0","output":"0x000000000000000000000000000000000000000000000000000000000000010e","input":"0x9a8a0592","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80cd717","gasUsed":"0x193","value":"0x0","output":"0x90c05efb083b1455ff9cfdbd3792b42bea87908b3a05f46c28244311c105b5a6","input":"0xc2f8787176b8ac6bf7215b4adcc1e069bf4ab82d9ab1df05a57a91d425935b6e19b453ce45aaaaf3a300f5a9ec95869b4f28ab10430b572ee218c3a6a5e07d6fad7c5bef027816a800da1736444fb58a807ef4c9603b7848673f7e3a68eb14a5000000000000000000000000000000000000000000000000000000000000010e","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80cd3e4","gasUsed":"0x180","value":"0x0","output":"0x7a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c6","input":"0x190190c05efb083b1455ff9cfdbd3792b42bea87908b3a05f46c28244311c105b5a6d1f96d5378eeab9611b9247d2e2cc6a3e8cf0b2b0f8f0ef8286317d55464002a","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ccfb5","gasUsed":"0x180","value":"0x0","output":"0x0e0c0cea11018eb61614e76c4cd8927f5112d6fa9df527455b2ff366f20629a8","input":"0x896d4e65e020a8c1c5a1227d1ffba49a246f79b4691717dfa824af25962d1ded7c5769b35ba68315636604e2a191809b0fb686eeb0bdbada366515da2866ed781b","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80cca8a","gasUsed":"0x12f","value":"0x0","output":"0xa1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf676680","input":"0x7a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c60e0c0cea11018eb61614e76c4cd8927f5112d6fa9df527455b2ff366f20629a8","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbfcb9ce","gasUsed":"0x1294","value":"0x0","output":"0x","input":"0x06e7517ba1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf676680","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800b","to":"0x0000000000000000000000000000000000008010","gas":"0xf80cc367","gasUsed":"0x12f","value":"0x0","output":"0xa512af0b1539d24cf7dab2a48c83ad66adff8b2a32b4e286e88c0d54949408a9","input":"0x0000000000000000000000000000000000000000000000000000000000000000a1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf676680","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0x206c4","gasUsed":"0xfd7","value":"0x0","output":"0x","input":"0xa851ae780000000000000000000000000000000000000000000000000000000000008001","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0x1f5c9","gasUsed":"0xf21","value":"0x0","output":"0x","input":"0xbf1fe420000000000000000000000000000000000000000000000000000000000ee6b280","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008006","gas":"0x1cd6d","gasUsed":"0x97e","value":"0x0","output":"0x0000000000000000000000000000000000000000000000000000000000000001","input":"0xbb0fd61000000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008006","to":"0x0000000000000000000000000000000000008010","gas":"0x1c3d4","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008006","to":"0x0000000000000000000000000000000000008002","gas":"0x1c023","gasUsed":"0x1f1","value":"0x0","output":"0x0000000000000000000000000000000000000000000000000000000000000000","input":"0x4de2e46800000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008003","gas":"0x1bd6e","gasUsed":"0xa0c","value":"0x0","output":"0x","input":"0x6ee1dc2000000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc04900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x1b3d5","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x1b0e1","gasUsed":"0x12f","value":"0x0","output":"0x1aaedb9739e2eccf88498b4b7b94dc130336bc3f6f75d8479999c9f1cf84be6f","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000001","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x1ae6b","gasUsed":"0x12f","value":"0x0","output":"0x8b94614891bdf5e652dabf07f56421084c5bd1236fd42f2ba55ed8e163960999","input":"0x00000000000000000000000000000000000000000000000000000000000000011aaedb9739e2eccf88498b4b7b94dc130336bc3f6f75d8479999c9f1cf84be6f","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","gas":"0x1960e","gasUsed":"0x30a7","value":"0x0","output":"0x202bcce700000000000000000000000000000000000000000000000000000000","input":"0x202bcce7a1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf6766807a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c60000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002582f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000064a41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041896d4e65e020a8c1c5a1227d1ffba49a246f79b4691717dfa824af25962d1ded7c5769b35ba68315636604e2a191809b0fb686eeb0bdbada366515da2866ed781b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x0000000000000000000000000000000000008003","gas":"0x18c36","gasUsed":"0x15f7","value":"0x0","output":"0x","input":"0xe1239cd80000000000000000000000000000000000000000000000000000000000000001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x183d8","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x18066","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x000000000000000000000000000000000000800a","gas":"0x16f2c","gasUsed":"0x492","value":"0x0","output":"0x00000000000000000000000000000000000000000000000098b1e70ee1ff5d80","input":"0x9cc7f70800000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x1670d","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x0000000000000000000000000000000000000001","gas":"0x165d2","gasUsed":"0x538","value":"0x0","output":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","input":"0x7a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c6000000000000000000000000000000000000000000000000000000000000001b896d4e65e020a8c1c5a1227d1ffba49a246f79b4691717dfa824af25962d1ded7c5769b35ba68315636604e2a191809b0fb686eeb0bdbada366515da2866ed78","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008003","gas":"0x16458","gasUsed":"0x498","value":"0x0","output":"0x","input":"0x6ee1dc2000000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc04900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x15c39","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800a","gas":"0x15db3","gasUsed":"0x492","value":"0x0","output":"0x0000000000000000000000000000000000000000000000000000000000000000","input":"0x9cc7f7080000000000000000000000000000000000000000000000000000000000008001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x155d3","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","gas":"0x15612","gasUsed":"0x35c0","value":"0x0","output":"0x","input":"0xe2f318e3a1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf6766807a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c60000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002582f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000064a41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041896d4e65e020a8c1c5a1227d1ffba49a246f79b4691717dfa824af25962d1ded7c5769b35ba68315636604e2a191809b0fb686eeb0bdbada366515da2866ed781b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x0000000000000000000000000000000000008009","gas":"0x14bfb","gasUsed":"0x3092","value":"0x0","output":"0x","input":"0x","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008009","to":"0x000000000000000000000000000000000000800a","gas":"0x143dc","gasUsed":"0x2ac7","value":"0x0","output":"0x","input":"0x579952fc00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000008001000000000000000000000000000000000000000000000000000022ef6eb6c580","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x13c3b","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x13908","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x126d2","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x000000000000000000000000000000000000800d","gas":"0x115d7","gasUsed":"0x13d","value":"0x0","output":"0x","input":"0x000000000000000000000000000000000000000000000000000022ef6eb6c580","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x0000000000000000000000000000000000008001","gas":"0x1180e","gasUsed":"0x17","value":"0x22ef6eb6c580","output":"0x","input":"0x","error":null,"revertReason":null,"calls":[]}]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800a","gas":"0x11faf","gasUsed":"0x492","value":"0x0","output":"0x000000000000000000000000000000000000000000000000000022ef6eb6c580","input":"0x9cc7f7080000000000000000000000000000000000000000000000000000000000008001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x118cb","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008004","gas":"0xac44","gasUsed":"0x200","value":"0x0","output":"0x","input":"0xe516761e000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008002","gas":"0xa65c","gasUsed":"0x1f1","value":"0x0","output":"0x0000000000000000000000000000000000000000000000000000000000000000","input":"0x4de2e46800000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xa2ab","gasUsed":"0xfd7","value":"0x0","output":"0x","input":"0xa851ae7800000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","gas":"0x8fb8","gasUsed":"0x1f88","value":"0x0","output":"0x","input":"0xdf9c1589a1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf6766807a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c60000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002582f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000064a41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041896d4e65e020a8c1c5a1227d1ffba49a246f79b4691717dfa824af25962d1ded7c5769b35ba68315636604e2a191809b0fb686eeb0bdbada366515da2866ed781b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x111c3e89ce80e62ee88318c2804920d4c96f92bb","gas":"0x871b","gasUsed":"0x18e0","value":"0x0","output":"0x","input":"0xa41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbfb700a","gasUsed":"0xfd7","value":"0x0","output":"0x","input":"0xa851ae780000000000000000000000000000000000000000000000000000000000008001","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800a","gas":"0xfbfb5e13","gasUsed":"0x2806","value":"0x0","output":"0x","input":"0x579952fc000000000000000000000000000000000000000000000000000000000000800100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000069f5b388f00","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0xf80b6dd3","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0xf80b6adf","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0xf80b5b1f","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x000000000000000000000000000000000000800d","gas":"0xf80b4a63","gasUsed":"0x13d","value":"0x0","output":"0x","input":"0x0000000000000000000000000000000000000000000000000000069f5b388f00","error":null,"revertReason":null,"calls":[]}]}]}]},"id":2} +\ No newline at end of file +--- +> {"jsonrpc":"2.0","result":{"type":"Call","from":"0x0000000000000000000000000000000000000000","to":"0x0000000000000000000000000000000000008001","gas":"0x2495f","gasUsed":"0x1cf05","value":"0x0","output":"0x","input":"0xa41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008002","gas":"0xfbfffb92","gasUsed":"0x262","value":"0x0","output":"0x0100023ba65021e4689dd1755f82108214a1f25150d439fe58c55cdb1f376436","input":"0xe03fe177000000000000000000000000000000000000000000000000000000000000800b","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbffee87","gasUsed":"0x29369","value":"0x0","output":"0x","input":"0x02fa577922e70838a8f535b47bf7ad019ab0b68e3be720a0ee1e912ce9164bc387d2e41000000000000000000000000000000000000000000000000000000000659808540000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000ee6b280","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800b","to":"0x0000000000000000000000000000000000008010","gas":"0xf80fe95c","gasUsed":"0x12f","value":"0x0","output":"0x625b35f5e76f098dd7c3a05b10e2e5e78a4a01228d60c3b143426cdf36d26455","input":"0x00000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000008","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbfd5aff","gasUsed":"0x41b7","value":"0x0","output":"0x","input":"0x06bed0360000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000006598085447a151fa13a58d9ccbcfcc77ed412cca250bf303a606453c542745cb5e7caf7c00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800b","to":"0x0000000000000000000000000000000000008010","gas":"0xf80d5eb0","gasUsed":"0x193","value":"0x0","output":"0x47a151fa13a58d9ccbcfcc77ed412cca250bf303a606453c542745cb5e7caf7c","input":"0x0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000006598084e16515efcd6c8efccfa2265bc465b215cbce87e6dfec8326ef4a77960b5f38a400000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbfd112b","gasUsed":"0x1ea","value":"0x0","output":"0x000000000000000000000000000000000000000000000000000000000ee6b280","input":"0x6ef25c3a","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800c","gas":"0xfbfce659","gasUsed":"0x2a9b","value":"0x0","output":"0x2e12b56a38421e5acd07ac74cc802bd068dd88f6e212f0433a0ec6ac87ba9aa3b37d3336048c611fe145531c22544ec4c8446192c0730ff772313741ed043ece","input":"0xebe4a3d70000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002495f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000064a41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004194b261de419e279b183dfcb5ad55f883ea97b5f98ea4ff5ea4ad5573390ceff5417865478febc829505924352b340706379b34b5b7f6c22293fb445723aeacfd1b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ceeb7","gasUsed":"0x1b2","value":"0x0","output":"0x64490cf0c697572adde73c8c02a43dfd982f5029a65923917d8f60ab62784cf0","input":"0xa41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ce8cf","gasUsed":"0xc5","value":"0x0","output":"0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","input":"0x","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ce5db","gasUsed":"0xc5","value":"0x0","output":"0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","input":"0x","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ce032","gasUsed":"0x44d","value":"0x0","output":"0x3223ede48b26d0cba434f98cffdf43579a0c355475595fb32577825f7076fff9","input":"0x848e1bfa1ac4e3576b728bda6721b215c70a7799a5b4866282a71bab954baac8000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002495f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000064490cf0c697572adde73c8c02a43dfd982f5029a65923917d8f60ab62784cf0c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x000000000000000000000000000000000000800b","gas":"0xf80cdac8","gasUsed":"0x1d8","value":"0x0","output":"0x000000000000000000000000000000000000000000000000000000000000010e","input":"0x9a8a0592","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80cd717","gasUsed":"0x193","value":"0x0","output":"0x90c05efb083b1455ff9cfdbd3792b42bea87908b3a05f46c28244311c105b5a6","input":"0xc2f8787176b8ac6bf7215b4adcc1e069bf4ab82d9ab1df05a57a91d425935b6e19b453ce45aaaaf3a300f5a9ec95869b4f28ab10430b572ee218c3a6a5e07d6fad7c5bef027816a800da1736444fb58a807ef4c9603b7848673f7e3a68eb14a5000000000000000000000000000000000000000000000000000000000000010e","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80cd3e4","gasUsed":"0x180","value":"0x0","output":"0xb37d3336048c611fe145531c22544ec4c8446192c0730ff772313741ed043ece","input":"0x190190c05efb083b1455ff9cfdbd3792b42bea87908b3a05f46c28244311c105b5a63223ede48b26d0cba434f98cffdf43579a0c355475595fb32577825f7076fff9","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ccfb5","gasUsed":"0x180","value":"0x0","output":"0x8efc1270f748e83e034fe8e5f574389fa61bd508035f16c99f83189285ee235d","input":"0x94b261de419e279b183dfcb5ad55f883ea97b5f98ea4ff5ea4ad5573390ceff5417865478febc829505924352b340706379b34b5b7f6c22293fb445723aeacfd1b","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80cca8a","gasUsed":"0x12f","value":"0x0","output":"0x2e12b56a38421e5acd07ac74cc802bd068dd88f6e212f0433a0ec6ac87ba9aa3","input":"0xb37d3336048c611fe145531c22544ec4c8446192c0730ff772313741ed043ece8efc1270f748e83e034fe8e5f574389fa61bd508035f16c99f83189285ee235d","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbfcb9ce","gasUsed":"0x1294","value":"0x0","output":"0x","input":"0x06e7517b2e12b56a38421e5acd07ac74cc802bd068dd88f6e212f0433a0ec6ac87ba9aa3","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800b","to":"0x0000000000000000000000000000000000008010","gas":"0xf80cc367","gasUsed":"0x12f","value":"0x0","output":"0x6dfa3a291459f3e87d041aeaafd236c05e2d84bb63aedcd8985d17155708b360","input":"0x00000000000000000000000000000000000000000000000000000000000000002e12b56a38421e5acd07ac74cc802bd068dd88f6e212f0433a0ec6ac87ba9aa3","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0x2044e","gasUsed":"0xfd7","value":"0x0","output":"0x","input":"0xa851ae780000000000000000000000000000000000000000000000000000000000008001","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0x1f392","gasUsed":"0xf21","value":"0x0","output":"0x","input":"0xbf1fe420000000000000000000000000000000000000000000000000000000000ee6b280","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008006","gas":"0x1caf7","gasUsed":"0x97e","value":"0x0","output":"0x0000000000000000000000000000000000000000000000000000000000000001","input":"0xbb0fd61000000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008006","to":"0x0000000000000000000000000000000000008010","gas":"0x1c15e","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008006","to":"0x0000000000000000000000000000000000008002","gas":"0x1bdad","gasUsed":"0x1f1","value":"0x0","output":"0x0000000000000000000000000000000000000000000000000000000000000000","input":"0x4de2e46800000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008003","gas":"0x1baf8","gasUsed":"0xa0c","value":"0x0","output":"0x","input":"0x6ee1dc2000000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc04900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x1b19e","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x1ae6b","gasUsed":"0x12f","value":"0x0","output":"0x1aaedb9739e2eccf88498b4b7b94dc130336bc3f6f75d8479999c9f1cf84be6f","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000001","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x1ac34","gasUsed":"0x12f","value":"0x0","output":"0x8b94614891bdf5e652dabf07f56421084c5bd1236fd42f2ba55ed8e163960999","input":"0x00000000000000000000000000000000000000000000000000000000000000011aaedb9739e2eccf88498b4b7b94dc130336bc3f6f75d8479999c9f1cf84be6f","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","gas":"0x19398","gasUsed":"0x30a7","value":"0x0","output":"0x202bcce700000000000000000000000000000000000000000000000000000000","input":"0x202bcce72e12b56a38421e5acd07ac74cc802bd068dd88f6e212f0433a0ec6ac87ba9aa3b37d3336048c611fe145531c22544ec4c8446192c0730ff772313741ed043ece0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002495f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000064a41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004194b261de419e279b183dfcb5ad55f883ea97b5f98ea4ff5ea4ad5573390ceff5417865478febc829505924352b340706379b34b5b7f6c22293fb445723aeacfd1b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x0000000000000000000000000000000000008003","gas":"0x189c0","gasUsed":"0x15f7","value":"0x0","output":"0x","input":"0xe1239cd80000000000000000000000000000000000000000000000000000000000000001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x18162","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x17df0","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x000000000000000000000000000000000000800a","gas":"0x16cb6","gasUsed":"0x492","value":"0x0","output":"0x00000000000000000000000000000000000000000000000098b88fffca1ae680","input":"0x9cc7f70800000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x16497","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x0000000000000000000000000000000000000001","gas":"0x1639b","gasUsed":"0x538","value":"0x0","output":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","input":"0xb37d3336048c611fe145531c22544ec4c8446192c0730ff772313741ed043ece000000000000000000000000000000000000000000000000000000000000001b94b261de419e279b183dfcb5ad55f883ea97b5f98ea4ff5ea4ad5573390ceff5417865478febc829505924352b340706379b34b5b7f6c22293fb445723aeacfd","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008003","gas":"0x161e2","gasUsed":"0x498","value":"0x0","output":"0x","input":"0x6ee1dc2000000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc04900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x159c3","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800a","gas":"0x15b3d","gasUsed":"0x492","value":"0x0","output":"0x0000000000000000000000000000000000000000000000000000000000000000","input":"0x9cc7f7080000000000000000000000000000000000000000000000000000000000008001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x1535d","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","gas":"0x1539c","gasUsed":"0x35c0","value":"0x0","output":"0x","input":"0xe2f318e32e12b56a38421e5acd07ac74cc802bd068dd88f6e212f0433a0ec6ac87ba9aa3b37d3336048c611fe145531c22544ec4c8446192c0730ff772313741ed043ece0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002495f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000064a41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004194b261de419e279b183dfcb5ad55f883ea97b5f98ea4ff5ea4ad5573390ceff5417865478febc829505924352b340706379b34b5b7f6c22293fb445723aeacfd1b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x0000000000000000000000000000000000008009","gas":"0x14985","gasUsed":"0x3092","value":"0x0","output":"0x","input":"0x","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008009","to":"0x000000000000000000000000000000000000800a","gas":"0x14166","gasUsed":"0x2ac7","value":"0x0","output":"0x","input":"0x579952fc00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000000000000000000000000000000000000000800100000000000000000000000000000000000000000000000000002212b582bd80","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x139c5","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x13692","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x1249b","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x000000000000000000000000000000000000800d","gas":"0x11361","gasUsed":"0x13d","value":"0x0","output":"0x","input":"0x00000000000000000000000000000000000000000000000000002212b582bd80","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x0000000000000000000000000000000000008001","gas":"0x11598","gasUsed":"0x17","value":"0x2212b582bd80","output":"0x","input":"0x","error":null,"revertReason":null,"calls":[]}]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800a","gas":"0x11d78","gasUsed":"0x492","value":"0x0","output":"0x00000000000000000000000000000000000000000000000000002212b582bd80","input":"0x9cc7f7080000000000000000000000000000000000000000000000000000000000008001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x11694","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008004","gas":"0xa9ce","gasUsed":"0x200","value":"0x0","output":"0x","input":"0xe516761e000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008002","gas":"0xa3e6","gasUsed":"0x1f1","value":"0x0","output":"0x0000000000000000000000000000000000000000000000000000000000000000","input":"0x4de2e46800000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xa035","gasUsed":"0xfd7","value":"0x0","output":"0x","input":"0xa851ae7800000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","gas":"0x8d42","gasUsed":"0x1f88","value":"0x0","output":"0x","input":"0xdf9c15892e12b56a38421e5acd07ac74cc802bd068dd88f6e212f0433a0ec6ac87ba9aa3b37d3336048c611fe145531c22544ec4c8446192c0730ff772313741ed043ece0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002495f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000064a41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004194b261de419e279b183dfcb5ad55f883ea97b5f98ea4ff5ea4ad5573390ceff5417865478febc829505924352b340706379b34b5b7f6c22293fb445723aeacfd1b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x111c3e89ce80e62ee88318c2804920d4c96f92bb","gas":"0x84a5","gasUsed":"0x18e0","value":"0x0","output":"0x","input":"0xa41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbfb700a","gasUsed":"0xfd7","value":"0x0","output":"0x","input":"0xa851ae780000000000000000000000000000000000000000000000000000000000008001","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800a","gas":"0xfbfb5e13","gasUsed":"0x2806","value":"0x0","output":"0x","input":"0x579952fc000000000000000000000000000000000000000000000000000000000000800100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000071f2e2bc100","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0xf80b6dd3","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0xf80b6adf","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0xf80b5b1f","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x000000000000000000000000000000000000800d","gas":"0xf80b4a63","gasUsed":"0x13d","value":"0x0","output":"0x","input":"0x0000000000000000000000000000000000000000000000000000071f2e2bc100","error":null,"revertReason":null,"calls":[]}]}]}]},"id":2} +\ No newline at end of file diff --git a/core/tests/ts-integration/src/rollup_output.txt b/core/tests/ts-integration/src/rollup_output.txt new file mode 100644 index 000000000000..27035b95338a --- /dev/null +++ b/core/tests/ts-integration/src/rollup_output.txt @@ -0,0 +1 @@ +{"jsonrpc":"2.0","result":{"type":"Call","from":"0x0000000000000000000000000000000000000000","to":"0x0000000000000000000000000000000000008001","gas":"0x2582f","gasUsed":"0x1e669","value":"0x0","output":"0x","input":"0xa41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008002","gas":"0xfbfffb92","gasUsed":"0x262","value":"0x0","output":"0x0100023ba65021e4689dd1755f82108214a1f25150d439fe58c55cdb1f376436","input":"0xe03fe177000000000000000000000000000000000000000000000000000000000000800b","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbffee87","gasUsed":"0x29369","value":"0x0","output":"0x","input":"0x02fa5779699989e3884dbae679ac4688f7810fff11c5b10730cfd98694e0bc8312dffb0200000000000000000000000000000000000000000000000000000000659800e10000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000ee6b280","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800b","to":"0x0000000000000000000000000000000000008010","gas":"0xf80fe95c","gasUsed":"0x12f","value":"0x0","output":"0x625b35f5e76f098dd7c3a05b10e2e5e78a4a01228d60c3b143426cdf36d26455","input":"0x00000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000008","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbfd5aff","gasUsed":"0x41b7","value":"0x0","output":"0x","input":"0x06bed036000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000659800e1c430d34c3272d22f369af42e59fe91930da8bfcb3195800053371eeb1f14288300000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800b","to":"0x0000000000000000000000000000000000008010","gas":"0xf80d5eb0","gasUsed":"0x193","value":"0x0","output":"0xc430d34c3272d22f369af42e59fe91930da8bfcb3195800053371eeb1f142883","input":"0x000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000659800daba29c754519015dc8c2942d61fcf82cdd9cd4389b4d225bd56e1e3528cb5a6ab0000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbfd112b","gasUsed":"0x1ea","value":"0x0","output":"0x000000000000000000000000000000000000000000000000000000000ee6b280","input":"0x6ef25c3a","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800c","gas":"0xfbfce659","gasUsed":"0x2a9b","value":"0x0","output":"0xa1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf6766807a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c6","input":"0xebe4a3d70000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002582f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000064a41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041896d4e65e020a8c1c5a1227d1ffba49a246f79b4691717dfa824af25962d1ded7c5769b35ba68315636604e2a191809b0fb686eeb0bdbada366515da2866ed781b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ceeb7","gasUsed":"0x1b2","value":"0x0","output":"0x64490cf0c697572adde73c8c02a43dfd982f5029a65923917d8f60ab62784cf0","input":"0xa41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ce8cf","gasUsed":"0xc5","value":"0x0","output":"0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","input":"0x","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ce5db","gasUsed":"0xc5","value":"0x0","output":"0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","input":"0x","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ce032","gasUsed":"0x44d","value":"0x0","output":"0xd1f96d5378eeab9611b9247d2e2cc6a3e8cf0b2b0f8f0ef8286317d55464002a","input":"0x848e1bfa1ac4e3576b728bda6721b215c70a7799a5b4866282a71bab954baac8000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002582f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000064490cf0c697572adde73c8c02a43dfd982f5029a65923917d8f60ab62784cf0c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x000000000000000000000000000000000000800b","gas":"0xf80cdac8","gasUsed":"0x1d8","value":"0x0","output":"0x000000000000000000000000000000000000000000000000000000000000010e","input":"0x9a8a0592","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80cd717","gasUsed":"0x193","value":"0x0","output":"0x90c05efb083b1455ff9cfdbd3792b42bea87908b3a05f46c28244311c105b5a6","input":"0xc2f8787176b8ac6bf7215b4adcc1e069bf4ab82d9ab1df05a57a91d425935b6e19b453ce45aaaaf3a300f5a9ec95869b4f28ab10430b572ee218c3a6a5e07d6fad7c5bef027816a800da1736444fb58a807ef4c9603b7848673f7e3a68eb14a5000000000000000000000000000000000000000000000000000000000000010e","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80cd3e4","gasUsed":"0x180","value":"0x0","output":"0x7a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c6","input":"0x190190c05efb083b1455ff9cfdbd3792b42bea87908b3a05f46c28244311c105b5a6d1f96d5378eeab9611b9247d2e2cc6a3e8cf0b2b0f8f0ef8286317d55464002a","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ccfb5","gasUsed":"0x180","value":"0x0","output":"0x0e0c0cea11018eb61614e76c4cd8927f5112d6fa9df527455b2ff366f20629a8","input":"0x896d4e65e020a8c1c5a1227d1ffba49a246f79b4691717dfa824af25962d1ded7c5769b35ba68315636604e2a191809b0fb686eeb0bdbada366515da2866ed781b","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80cca8a","gasUsed":"0x12f","value":"0x0","output":"0xa1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf676680","input":"0x7a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c60e0c0cea11018eb61614e76c4cd8927f5112d6fa9df527455b2ff366f20629a8","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbfcb9ce","gasUsed":"0x1294","value":"0x0","output":"0x","input":"0x06e7517ba1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf676680","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800b","to":"0x0000000000000000000000000000000000008010","gas":"0xf80cc367","gasUsed":"0x12f","value":"0x0","output":"0xa512af0b1539d24cf7dab2a48c83ad66adff8b2a32b4e286e88c0d54949408a9","input":"0x0000000000000000000000000000000000000000000000000000000000000000a1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf676680","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0x206c4","gasUsed":"0xfd7","value":"0x0","output":"0x","input":"0xa851ae780000000000000000000000000000000000000000000000000000000000008001","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0x1f5c9","gasUsed":"0xf21","value":"0x0","output":"0x","input":"0xbf1fe420000000000000000000000000000000000000000000000000000000000ee6b280","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008006","gas":"0x1cd6d","gasUsed":"0x97e","value":"0x0","output":"0x0000000000000000000000000000000000000000000000000000000000000001","input":"0xbb0fd61000000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008006","to":"0x0000000000000000000000000000000000008010","gas":"0x1c3d4","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008006","to":"0x0000000000000000000000000000000000008002","gas":"0x1c023","gasUsed":"0x1f1","value":"0x0","output":"0x0000000000000000000000000000000000000000000000000000000000000000","input":"0x4de2e46800000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008003","gas":"0x1bd6e","gasUsed":"0xa0c","value":"0x0","output":"0x","input":"0x6ee1dc2000000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc04900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x1b3d5","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x1b0e1","gasUsed":"0x12f","value":"0x0","output":"0x1aaedb9739e2eccf88498b4b7b94dc130336bc3f6f75d8479999c9f1cf84be6f","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000001","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x1ae6b","gasUsed":"0x12f","value":"0x0","output":"0x8b94614891bdf5e652dabf07f56421084c5bd1236fd42f2ba55ed8e163960999","input":"0x00000000000000000000000000000000000000000000000000000000000000011aaedb9739e2eccf88498b4b7b94dc130336bc3f6f75d8479999c9f1cf84be6f","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","gas":"0x1960e","gasUsed":"0x30a7","value":"0x0","output":"0x202bcce700000000000000000000000000000000000000000000000000000000","input":"0x202bcce7a1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf6766807a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c60000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002582f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000064a41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041896d4e65e020a8c1c5a1227d1ffba49a246f79b4691717dfa824af25962d1ded7c5769b35ba68315636604e2a191809b0fb686eeb0bdbada366515da2866ed781b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x0000000000000000000000000000000000008003","gas":"0x18c36","gasUsed":"0x15f7","value":"0x0","output":"0x","input":"0xe1239cd80000000000000000000000000000000000000000000000000000000000000001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x183d8","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x18066","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x000000000000000000000000000000000000800a","gas":"0x16f2c","gasUsed":"0x492","value":"0x0","output":"0x00000000000000000000000000000000000000000000000098b1e70dd5c6d080","input":"0x9cc7f70800000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x1670d","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x0000000000000000000000000000000000000001","gas":"0x165d2","gasUsed":"0x538","value":"0x0","output":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","input":"0x7a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c6000000000000000000000000000000000000000000000000000000000000001b896d4e65e020a8c1c5a1227d1ffba49a246f79b4691717dfa824af25962d1ded7c5769b35ba68315636604e2a191809b0fb686eeb0bdbada366515da2866ed78","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008003","gas":"0x16458","gasUsed":"0x498","value":"0x0","output":"0x","input":"0x6ee1dc2000000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc04900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x15c39","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800a","gas":"0x15db3","gasUsed":"0x492","value":"0x0","output":"0x0000000000000000000000000000000000000000000000000000000000000000","input":"0x9cc7f7080000000000000000000000000000000000000000000000000000000000008001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x155d3","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","gas":"0x15612","gasUsed":"0x35c0","value":"0x0","output":"0x","input":"0xe2f318e3a1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf6766807a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c60000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002582f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000064a41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041896d4e65e020a8c1c5a1227d1ffba49a246f79b4691717dfa824af25962d1ded7c5769b35ba68315636604e2a191809b0fb686eeb0bdbada366515da2866ed781b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x0000000000000000000000000000000000008009","gas":"0x14bfb","gasUsed":"0x3092","value":"0x0","output":"0x","input":"0x","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008009","to":"0x000000000000000000000000000000000000800a","gas":"0x143dc","gasUsed":"0x2ac7","value":"0x0","output":"0x","input":"0x579952fc00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000008001000000000000000000000000000000000000000000000000000022ef6eb6c580","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x13c3b","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x13908","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x126d2","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x000000000000000000000000000000000000800d","gas":"0x115d7","gasUsed":"0x13d","value":"0x0","output":"0x","input":"0x000000000000000000000000000000000000000000000000000022ef6eb6c580","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x0000000000000000000000000000000000008001","gas":"0x1180e","gasUsed":"0x17","value":"0x22ef6eb6c580","output":"0x","input":"0x","error":null,"revertReason":null,"calls":[]}]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800a","gas":"0x11faf","gasUsed":"0x492","value":"0x0","output":"0x000000000000000000000000000000000000000000000000000022ef6eb6c580","input":"0x9cc7f7080000000000000000000000000000000000000000000000000000000000008001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x118cb","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008004","gas":"0xac44","gasUsed":"0x200","value":"0x0","output":"0x","input":"0xe516761e000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008002","gas":"0xa65c","gasUsed":"0x1f1","value":"0x0","output":"0x0000000000000000000000000000000000000000000000000000000000000000","input":"0x4de2e46800000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xa2ab","gasUsed":"0xfd7","value":"0x0","output":"0x","input":"0xa851ae7800000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","gas":"0x8fb8","gasUsed":"0x1f88","value":"0x0","output":"0x","input":"0xdf9c1589a1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf6766807a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c60000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002582f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000064a41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041896d4e65e020a8c1c5a1227d1ffba49a246f79b4691717dfa824af25962d1ded7c5769b35ba68315636604e2a191809b0fb686eeb0bdbada366515da2866ed781b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x111c3e89ce80e62ee88318c2804920d4c96f92bb","gas":"0x871b","gasUsed":"0x18e0","value":"0x0","output":"0x","input":"0xa41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbfb700a","gasUsed":"0xfd7","value":"0x0","output":"0x","input":"0xa851ae780000000000000000000000000000000000000000000000000000000000008001","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800a","gas":"0xfbfb5e13","gasUsed":"0x2806","value":"0x0","output":"0x","input":"0x579952fc000000000000000000000000000000000000000000000000000000000000800100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000069f5b388f00","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0xf80b6dd3","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0xf80b6adf","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0xf80b5b1f","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x000000000000000000000000000000000000800d","gas":"0xf80b4a63","gasUsed":"0x13d","value":"0x0","output":"0x","input":"0x0000000000000000000000000000000000000000000000000000069f5b388f00","error":null,"revertReason":null,"calls":[]}]}]}]},"id":2} \ No newline at end of file diff --git a/core/tests/ts-integration/src/validium_output.txt b/core/tests/ts-integration/src/validium_output.txt new file mode 100644 index 000000000000..ecdae65412c7 --- /dev/null +++ b/core/tests/ts-integration/src/validium_output.txt @@ -0,0 +1 @@ +{"jsonrpc":"2.0","result":{"type":"Call","from":"0x0000000000000000000000000000000000000000","to":"0x0000000000000000000000000000000000008001","gas":"0x2582f","gasUsed":"0x1e669","value":"0x0","output":"0x","input":"0xa41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008002","gas":"0xfbfffb92","gasUsed":"0x262","value":"0x0","output":"0x0100023ba65021e4689dd1755f82108214a1f25150d439fe58c55cdb1f376436","input":"0xe03fe177000000000000000000000000000000000000000000000000000000000000800b","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbffee87","gasUsed":"0x29369","value":"0x0","output":"0x","input":"0x02fa5779fb8684a2f1b235ec9aeea7cb396932e0128977f306d1f5dd153d0477eedbea2e000000000000000000000000000000000000000000000000000000006597fd190000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000ee6b280","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800b","to":"0x0000000000000000000000000000000000008010","gas":"0xf80fe95c","gasUsed":"0x12f","value":"0x0","output":"0x625b35f5e76f098dd7c3a05b10e2e5e78a4a01228d60c3b143426cdf36d26455","input":"0x00000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000008","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbfd5aff","gasUsed":"0x41b7","value":"0x0","output":"0x","input":"0x06bed0360000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000006597fd19e0f11f969291d373aa30c46a8833c7a66bf0ede7f05a620527ca1adc849df73a00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800b","to":"0x0000000000000000000000000000000000008010","gas":"0xf80d5eb0","gasUsed":"0x193","value":"0x0","output":"0xe0f11f969291d373aa30c46a8833c7a66bf0ede7f05a620527ca1adc849df73a","input":"0x0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000006597fd13a9d36af0b8414df9db49ce82e10929b63ce5e3abd1b2880490f123646dce911f0000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbfd112b","gasUsed":"0x1ea","value":"0x0","output":"0x000000000000000000000000000000000000000000000000000000000ee6b280","input":"0x6ef25c3a","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800c","gas":"0xfbfce659","gasUsed":"0x2a9b","value":"0x0","output":"0xa1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf6766807a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c6","input":"0xebe4a3d70000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002582f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000064a41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041896d4e65e020a8c1c5a1227d1ffba49a246f79b4691717dfa824af25962d1ded7c5769b35ba68315636604e2a191809b0fb686eeb0bdbada366515da2866ed781b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ceeb7","gasUsed":"0x1b2","value":"0x0","output":"0x64490cf0c697572adde73c8c02a43dfd982f5029a65923917d8f60ab62784cf0","input":"0xa41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ce8cf","gasUsed":"0xc5","value":"0x0","output":"0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","input":"0x","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ce5db","gasUsed":"0xc5","value":"0x0","output":"0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","input":"0x","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ce032","gasUsed":"0x44d","value":"0x0","output":"0xd1f96d5378eeab9611b9247d2e2cc6a3e8cf0b2b0f8f0ef8286317d55464002a","input":"0x848e1bfa1ac4e3576b728bda6721b215c70a7799a5b4866282a71bab954baac8000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002582f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000064490cf0c697572adde73c8c02a43dfd982f5029a65923917d8f60ab62784cf0c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x000000000000000000000000000000000000800b","gas":"0xf80cdac8","gasUsed":"0x1d8","value":"0x0","output":"0x000000000000000000000000000000000000000000000000000000000000010e","input":"0x9a8a0592","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80cd717","gasUsed":"0x193","value":"0x0","output":"0x90c05efb083b1455ff9cfdbd3792b42bea87908b3a05f46c28244311c105b5a6","input":"0xc2f8787176b8ac6bf7215b4adcc1e069bf4ab82d9ab1df05a57a91d425935b6e19b453ce45aaaaf3a300f5a9ec95869b4f28ab10430b572ee218c3a6a5e07d6fad7c5bef027816a800da1736444fb58a807ef4c9603b7848673f7e3a68eb14a5000000000000000000000000000000000000000000000000000000000000010e","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80cd3e4","gasUsed":"0x180","value":"0x0","output":"0x7a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c6","input":"0x190190c05efb083b1455ff9cfdbd3792b42bea87908b3a05f46c28244311c105b5a6d1f96d5378eeab9611b9247d2e2cc6a3e8cf0b2b0f8f0ef8286317d55464002a","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ccfb5","gasUsed":"0x180","value":"0x0","output":"0x0e0c0cea11018eb61614e76c4cd8927f5112d6fa9df527455b2ff366f20629a8","input":"0x896d4e65e020a8c1c5a1227d1ffba49a246f79b4691717dfa824af25962d1ded7c5769b35ba68315636604e2a191809b0fb686eeb0bdbada366515da2866ed781b","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80cca8a","gasUsed":"0x12f","value":"0x0","output":"0xa1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf676680","input":"0x7a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c60e0c0cea11018eb61614e76c4cd8927f5112d6fa9df527455b2ff366f20629a8","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbfcb9ce","gasUsed":"0x1294","value":"0x0","output":"0x","input":"0x06e7517ba1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf676680","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800b","to":"0x0000000000000000000000000000000000008010","gas":"0xf80cc367","gasUsed":"0x12f","value":"0x0","output":"0xa512af0b1539d24cf7dab2a48c83ad66adff8b2a32b4e286e88c0d54949408a9","input":"0x0000000000000000000000000000000000000000000000000000000000000000a1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf676680","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0x206c4","gasUsed":"0xfd7","value":"0x0","output":"0x","input":"0xa851ae780000000000000000000000000000000000000000000000000000000000008001","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0x1f5c9","gasUsed":"0xf21","value":"0x0","output":"0x","input":"0xbf1fe420000000000000000000000000000000000000000000000000000000000ee6b280","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008006","gas":"0x1cd6d","gasUsed":"0x97e","value":"0x0","output":"0x0000000000000000000000000000000000000000000000000000000000000001","input":"0xbb0fd61000000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008006","to":"0x0000000000000000000000000000000000008010","gas":"0x1c3d4","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008006","to":"0x0000000000000000000000000000000000008002","gas":"0x1c023","gasUsed":"0x1f1","value":"0x0","output":"0x0000000000000000000000000000000000000000000000000000000000000000","input":"0x4de2e46800000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008003","gas":"0x1bd6e","gasUsed":"0xa0c","value":"0x0","output":"0x","input":"0x6ee1dc2000000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc04900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x1b3d5","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x1b0e1","gasUsed":"0x12f","value":"0x0","output":"0x1aaedb9739e2eccf88498b4b7b94dc130336bc3f6f75d8479999c9f1cf84be6f","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000001","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x1ae6b","gasUsed":"0x12f","value":"0x0","output":"0x8b94614891bdf5e652dabf07f56421084c5bd1236fd42f2ba55ed8e163960999","input":"0x00000000000000000000000000000000000000000000000000000000000000011aaedb9739e2eccf88498b4b7b94dc130336bc3f6f75d8479999c9f1cf84be6f","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","gas":"0x1960e","gasUsed":"0x30a7","value":"0x0","output":"0x202bcce700000000000000000000000000000000000000000000000000000000","input":"0x202bcce7a1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf6766807a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c60000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002582f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000064a41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041896d4e65e020a8c1c5a1227d1ffba49a246f79b4691717dfa824af25962d1ded7c5769b35ba68315636604e2a191809b0fb686eeb0bdbada366515da2866ed781b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x0000000000000000000000000000000000008003","gas":"0x18c36","gasUsed":"0x15f7","value":"0x0","output":"0x","input":"0xe1239cd80000000000000000000000000000000000000000000000000000000000000001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x183d8","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x18066","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x000000000000000000000000000000000000800a","gas":"0x16f2c","gasUsed":"0x492","value":"0x0","output":"0x00000000000000000000000000000000000000000000000098b1e70ee1ff5d80","input":"0x9cc7f70800000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x1670d","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x0000000000000000000000000000000000000001","gas":"0x165d2","gasUsed":"0x538","value":"0x0","output":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","input":"0x7a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c6000000000000000000000000000000000000000000000000000000000000001b896d4e65e020a8c1c5a1227d1ffba49a246f79b4691717dfa824af25962d1ded7c5769b35ba68315636604e2a191809b0fb686eeb0bdbada366515da2866ed78","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008003","gas":"0x16458","gasUsed":"0x498","value":"0x0","output":"0x","input":"0x6ee1dc2000000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc04900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x15c39","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800a","gas":"0x15db3","gasUsed":"0x492","value":"0x0","output":"0x0000000000000000000000000000000000000000000000000000000000000000","input":"0x9cc7f7080000000000000000000000000000000000000000000000000000000000008001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x155d3","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","gas":"0x15612","gasUsed":"0x35c0","value":"0x0","output":"0x","input":"0xe2f318e3a1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf6766807a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c60000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002582f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000064a41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041896d4e65e020a8c1c5a1227d1ffba49a246f79b4691717dfa824af25962d1ded7c5769b35ba68315636604e2a191809b0fb686eeb0bdbada366515da2866ed781b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x0000000000000000000000000000000000008009","gas":"0x14bfb","gasUsed":"0x3092","value":"0x0","output":"0x","input":"0x","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008009","to":"0x000000000000000000000000000000000000800a","gas":"0x143dc","gasUsed":"0x2ac7","value":"0x0","output":"0x","input":"0x579952fc00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000008001000000000000000000000000000000000000000000000000000022ef6eb6c580","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x13c3b","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x13908","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x126d2","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x000000000000000000000000000000000000800d","gas":"0x115d7","gasUsed":"0x13d","value":"0x0","output":"0x","input":"0x000000000000000000000000000000000000000000000000000022ef6eb6c580","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x0000000000000000000000000000000000008001","gas":"0x1180e","gasUsed":"0x17","value":"0x22ef6eb6c580","output":"0x","input":"0x","error":null,"revertReason":null,"calls":[]}]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800a","gas":"0x11faf","gasUsed":"0x492","value":"0x0","output":"0x000000000000000000000000000000000000000000000000000022ef6eb6c580","input":"0x9cc7f7080000000000000000000000000000000000000000000000000000000000008001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x118cb","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008004","gas":"0xac44","gasUsed":"0x200","value":"0x0","output":"0x","input":"0xe516761e000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008002","gas":"0xa65c","gasUsed":"0x1f1","value":"0x0","output":"0x0000000000000000000000000000000000000000000000000000000000000000","input":"0x4de2e46800000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xa2ab","gasUsed":"0xfd7","value":"0x0","output":"0x","input":"0xa851ae7800000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","gas":"0x8fb8","gasUsed":"0x1f88","value":"0x0","output":"0x","input":"0xdf9c1589a1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf6766807a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c60000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002582f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000064a41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041896d4e65e020a8c1c5a1227d1ffba49a246f79b4691717dfa824af25962d1ded7c5769b35ba68315636604e2a191809b0fb686eeb0bdbada366515da2866ed781b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x111c3e89ce80e62ee88318c2804920d4c96f92bb","gas":"0x871b","gasUsed":"0x18e0","value":"0x0","output":"0x","input":"0xa41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbfb700a","gasUsed":"0xfd7","value":"0x0","output":"0x","input":"0xa851ae780000000000000000000000000000000000000000000000000000000000008001","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800a","gas":"0xfbfb5e13","gasUsed":"0x2806","value":"0x0","output":"0x","input":"0x579952fc000000000000000000000000000000000000000000000000000000000000800100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000069f5b388f00","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0xf80b6dd3","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0xf80b6adf","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0xf80b5b1f","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x000000000000000000000000000000000000800d","gas":"0xf80b4a63","gasUsed":"0x13d","value":"0x0","output":"0x","input":"0x0000000000000000000000000000000000000000000000000000069f5b388f00","error":null,"revertReason":null,"calls":[]}]}]}]},"id":2} \ No newline at end of file diff --git a/core/tests/ts-integration/src/validium_pubdata_0_output.txt b/core/tests/ts-integration/src/validium_pubdata_0_output.txt new file mode 100644 index 000000000000..0ce9092f419c --- /dev/null +++ b/core/tests/ts-integration/src/validium_pubdata_0_output.txt @@ -0,0 +1 @@ +{"jsonrpc":"2.0","result":{"type":"Call","from":"0x0000000000000000000000000000000000000000","to":"0x0000000000000000000000000000000000008001","gas":"0x2495f","gasUsed":"0x1cf05","value":"0x0","output":"0x","input":"0xa41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008002","gas":"0xfbfffb92","gasUsed":"0x262","value":"0x0","output":"0x0100023ba65021e4689dd1755f82108214a1f25150d439fe58c55cdb1f376436","input":"0xe03fe177000000000000000000000000000000000000000000000000000000000000800b","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbffee87","gasUsed":"0x29369","value":"0x0","output":"0x","input":"0x02fa577922e70838a8f535b47bf7ad019ab0b68e3be720a0ee1e912ce9164bc387d2e41000000000000000000000000000000000000000000000000000000000659808540000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000ee6b280","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800b","to":"0x0000000000000000000000000000000000008010","gas":"0xf80fe95c","gasUsed":"0x12f","value":"0x0","output":"0x625b35f5e76f098dd7c3a05b10e2e5e78a4a01228d60c3b143426cdf36d26455","input":"0x00000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000008","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbfd5aff","gasUsed":"0x41b7","value":"0x0","output":"0x","input":"0x06bed0360000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000006598085447a151fa13a58d9ccbcfcc77ed412cca250bf303a606453c542745cb5e7caf7c00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800b","to":"0x0000000000000000000000000000000000008010","gas":"0xf80d5eb0","gasUsed":"0x193","value":"0x0","output":"0x47a151fa13a58d9ccbcfcc77ed412cca250bf303a606453c542745cb5e7caf7c","input":"0x0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000006598084e16515efcd6c8efccfa2265bc465b215cbce87e6dfec8326ef4a77960b5f38a400000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbfd112b","gasUsed":"0x1ea","value":"0x0","output":"0x000000000000000000000000000000000000000000000000000000000ee6b280","input":"0x6ef25c3a","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800c","gas":"0xfbfce659","gasUsed":"0x2a9b","value":"0x0","output":"0x2e12b56a38421e5acd07ac74cc802bd068dd88f6e212f0433a0ec6ac87ba9aa3b37d3336048c611fe145531c22544ec4c8446192c0730ff772313741ed043ece","input":"0xebe4a3d70000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002495f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000064a41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004194b261de419e279b183dfcb5ad55f883ea97b5f98ea4ff5ea4ad5573390ceff5417865478febc829505924352b340706379b34b5b7f6c22293fb445723aeacfd1b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ceeb7","gasUsed":"0x1b2","value":"0x0","output":"0x64490cf0c697572adde73c8c02a43dfd982f5029a65923917d8f60ab62784cf0","input":"0xa41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ce8cf","gasUsed":"0xc5","value":"0x0","output":"0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","input":"0x","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ce5db","gasUsed":"0xc5","value":"0x0","output":"0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","input":"0x","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ce032","gasUsed":"0x44d","value":"0x0","output":"0x3223ede48b26d0cba434f98cffdf43579a0c355475595fb32577825f7076fff9","input":"0x848e1bfa1ac4e3576b728bda6721b215c70a7799a5b4866282a71bab954baac8000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002495f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000064490cf0c697572adde73c8c02a43dfd982f5029a65923917d8f60ab62784cf0c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x000000000000000000000000000000000000800b","gas":"0xf80cdac8","gasUsed":"0x1d8","value":"0x0","output":"0x000000000000000000000000000000000000000000000000000000000000010e","input":"0x9a8a0592","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80cd717","gasUsed":"0x193","value":"0x0","output":"0x90c05efb083b1455ff9cfdbd3792b42bea87908b3a05f46c28244311c105b5a6","input":"0xc2f8787176b8ac6bf7215b4adcc1e069bf4ab82d9ab1df05a57a91d425935b6e19b453ce45aaaaf3a300f5a9ec95869b4f28ab10430b572ee218c3a6a5e07d6fad7c5bef027816a800da1736444fb58a807ef4c9603b7848673f7e3a68eb14a5000000000000000000000000000000000000000000000000000000000000010e","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80cd3e4","gasUsed":"0x180","value":"0x0","output":"0xb37d3336048c611fe145531c22544ec4c8446192c0730ff772313741ed043ece","input":"0x190190c05efb083b1455ff9cfdbd3792b42bea87908b3a05f46c28244311c105b5a63223ede48b26d0cba434f98cffdf43579a0c355475595fb32577825f7076fff9","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ccfb5","gasUsed":"0x180","value":"0x0","output":"0x8efc1270f748e83e034fe8e5f574389fa61bd508035f16c99f83189285ee235d","input":"0x94b261de419e279b183dfcb5ad55f883ea97b5f98ea4ff5ea4ad5573390ceff5417865478febc829505924352b340706379b34b5b7f6c22293fb445723aeacfd1b","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80cca8a","gasUsed":"0x12f","value":"0x0","output":"0x2e12b56a38421e5acd07ac74cc802bd068dd88f6e212f0433a0ec6ac87ba9aa3","input":"0xb37d3336048c611fe145531c22544ec4c8446192c0730ff772313741ed043ece8efc1270f748e83e034fe8e5f574389fa61bd508035f16c99f83189285ee235d","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbfcb9ce","gasUsed":"0x1294","value":"0x0","output":"0x","input":"0x06e7517b2e12b56a38421e5acd07ac74cc802bd068dd88f6e212f0433a0ec6ac87ba9aa3","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800b","to":"0x0000000000000000000000000000000000008010","gas":"0xf80cc367","gasUsed":"0x12f","value":"0x0","output":"0x6dfa3a291459f3e87d041aeaafd236c05e2d84bb63aedcd8985d17155708b360","input":"0x00000000000000000000000000000000000000000000000000000000000000002e12b56a38421e5acd07ac74cc802bd068dd88f6e212f0433a0ec6ac87ba9aa3","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0x2044e","gasUsed":"0xfd7","value":"0x0","output":"0x","input":"0xa851ae780000000000000000000000000000000000000000000000000000000000008001","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0x1f392","gasUsed":"0xf21","value":"0x0","output":"0x","input":"0xbf1fe420000000000000000000000000000000000000000000000000000000000ee6b280","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008006","gas":"0x1caf7","gasUsed":"0x97e","value":"0x0","output":"0x0000000000000000000000000000000000000000000000000000000000000001","input":"0xbb0fd61000000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008006","to":"0x0000000000000000000000000000000000008010","gas":"0x1c15e","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008006","to":"0x0000000000000000000000000000000000008002","gas":"0x1bdad","gasUsed":"0x1f1","value":"0x0","output":"0x0000000000000000000000000000000000000000000000000000000000000000","input":"0x4de2e46800000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008003","gas":"0x1baf8","gasUsed":"0xa0c","value":"0x0","output":"0x","input":"0x6ee1dc2000000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc04900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x1b19e","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x1ae6b","gasUsed":"0x12f","value":"0x0","output":"0x1aaedb9739e2eccf88498b4b7b94dc130336bc3f6f75d8479999c9f1cf84be6f","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000001","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x1ac34","gasUsed":"0x12f","value":"0x0","output":"0x8b94614891bdf5e652dabf07f56421084c5bd1236fd42f2ba55ed8e163960999","input":"0x00000000000000000000000000000000000000000000000000000000000000011aaedb9739e2eccf88498b4b7b94dc130336bc3f6f75d8479999c9f1cf84be6f","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","gas":"0x19398","gasUsed":"0x30a7","value":"0x0","output":"0x202bcce700000000000000000000000000000000000000000000000000000000","input":"0x202bcce72e12b56a38421e5acd07ac74cc802bd068dd88f6e212f0433a0ec6ac87ba9aa3b37d3336048c611fe145531c22544ec4c8446192c0730ff772313741ed043ece0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002495f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000064a41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004194b261de419e279b183dfcb5ad55f883ea97b5f98ea4ff5ea4ad5573390ceff5417865478febc829505924352b340706379b34b5b7f6c22293fb445723aeacfd1b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x0000000000000000000000000000000000008003","gas":"0x189c0","gasUsed":"0x15f7","value":"0x0","output":"0x","input":"0xe1239cd80000000000000000000000000000000000000000000000000000000000000001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x18162","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x17df0","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x000000000000000000000000000000000000800a","gas":"0x16cb6","gasUsed":"0x492","value":"0x0","output":"0x00000000000000000000000000000000000000000000000098b88fffca1ae680","input":"0x9cc7f70800000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x16497","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x0000000000000000000000000000000000000001","gas":"0x1639b","gasUsed":"0x538","value":"0x0","output":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","input":"0xb37d3336048c611fe145531c22544ec4c8446192c0730ff772313741ed043ece000000000000000000000000000000000000000000000000000000000000001b94b261de419e279b183dfcb5ad55f883ea97b5f98ea4ff5ea4ad5573390ceff5417865478febc829505924352b340706379b34b5b7f6c22293fb445723aeacfd","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008003","gas":"0x161e2","gasUsed":"0x498","value":"0x0","output":"0x","input":"0x6ee1dc2000000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc04900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x159c3","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800a","gas":"0x15b3d","gasUsed":"0x492","value":"0x0","output":"0x0000000000000000000000000000000000000000000000000000000000000000","input":"0x9cc7f7080000000000000000000000000000000000000000000000000000000000008001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x1535d","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","gas":"0x1539c","gasUsed":"0x35c0","value":"0x0","output":"0x","input":"0xe2f318e32e12b56a38421e5acd07ac74cc802bd068dd88f6e212f0433a0ec6ac87ba9aa3b37d3336048c611fe145531c22544ec4c8446192c0730ff772313741ed043ece0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002495f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000064a41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004194b261de419e279b183dfcb5ad55f883ea97b5f98ea4ff5ea4ad5573390ceff5417865478febc829505924352b340706379b34b5b7f6c22293fb445723aeacfd1b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x0000000000000000000000000000000000008009","gas":"0x14985","gasUsed":"0x3092","value":"0x0","output":"0x","input":"0x","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008009","to":"0x000000000000000000000000000000000000800a","gas":"0x14166","gasUsed":"0x2ac7","value":"0x0","output":"0x","input":"0x579952fc00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000000000000000000000000000000000000000800100000000000000000000000000000000000000000000000000002212b582bd80","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x139c5","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x13692","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x1249b","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x000000000000000000000000000000000000800d","gas":"0x11361","gasUsed":"0x13d","value":"0x0","output":"0x","input":"0x00000000000000000000000000000000000000000000000000002212b582bd80","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x0000000000000000000000000000000000008001","gas":"0x11598","gasUsed":"0x17","value":"0x2212b582bd80","output":"0x","input":"0x","error":null,"revertReason":null,"calls":[]}]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800a","gas":"0x11d78","gasUsed":"0x492","value":"0x0","output":"0x00000000000000000000000000000000000000000000000000002212b582bd80","input":"0x9cc7f7080000000000000000000000000000000000000000000000000000000000008001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x11694","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008004","gas":"0xa9ce","gasUsed":"0x200","value":"0x0","output":"0x","input":"0xe516761e000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008002","gas":"0xa3e6","gasUsed":"0x1f1","value":"0x0","output":"0x0000000000000000000000000000000000000000000000000000000000000000","input":"0x4de2e46800000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xa035","gasUsed":"0xfd7","value":"0x0","output":"0x","input":"0xa851ae7800000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","gas":"0x8d42","gasUsed":"0x1f88","value":"0x0","output":"0x","input":"0xdf9c15892e12b56a38421e5acd07ac74cc802bd068dd88f6e212f0433a0ec6ac87ba9aa3b37d3336048c611fe145531c22544ec4c8446192c0730ff772313741ed043ece0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002495f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000064a41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004194b261de419e279b183dfcb5ad55f883ea97b5f98ea4ff5ea4ad5573390ceff5417865478febc829505924352b340706379b34b5b7f6c22293fb445723aeacfd1b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x111c3e89ce80e62ee88318c2804920d4c96f92bb","gas":"0x84a5","gasUsed":"0x18e0","value":"0x0","output":"0x","input":"0xa41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbfb700a","gasUsed":"0xfd7","value":"0x0","output":"0x","input":"0xa851ae780000000000000000000000000000000000000000000000000000000000008001","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800a","gas":"0xfbfb5e13","gasUsed":"0x2806","value":"0x0","output":"0x","input":"0x579952fc000000000000000000000000000000000000000000000000000000000000800100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000071f2e2bc100","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0xf80b6dd3","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0xf80b6adf","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0xf80b5b1f","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x000000000000000000000000000000000000800d","gas":"0xf80b4a63","gasUsed":"0x13d","value":"0x0","output":"0x","input":"0x0000000000000000000000000000000000000000000000000000071f2e2bc100","error":null,"revertReason":null,"calls":[]}]}]}]},"id":2} \ No newline at end of file From 837cf6f1ea16ea018af533e79b24854354348064 Mon Sep 17 00:00:00 2001 From: Ivan Litteri Date: Fri, 5 Jan 2024 16:29:59 -0300 Subject: [PATCH 02/29] Set to 0 --- core/lib/constants/src/fees/mod.rs | 2 +- core/lib/multivm/src/versions/vm_1_3_2/vm_with_bootloader.rs | 2 +- core/lib/multivm/src/versions/vm_latest/constants.rs | 2 +- core/lib/multivm/src/versions/vm_m5/vm_with_bootloader.rs | 2 +- core/lib/multivm/src/versions/vm_m6/vm_with_bootloader.rs | 2 +- .../multivm/src/versions/vm_refunds_enhancement/constants.rs | 2 +- core/lib/multivm/src/versions/vm_virtual_blocks/constants.rs | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/core/lib/constants/src/fees/mod.rs b/core/lib/constants/src/fees/mod.rs index be2040a50e83..a4cd39fb5c94 100644 --- a/core/lib/constants/src/fees/mod.rs +++ b/core/lib/constants/src/fees/mod.rs @@ -35,7 +35,7 @@ pub struct IntrinsicSystemGasConstants { /// The amount of gas we need to pay for each non-zero pubdata byte. /// Note that it is bigger than 16 to account for potential overhead -pub const L1_GAS_PER_PUBDATA_BYTE: u32 = 17; +pub const L1_GAS_PER_PUBDATA_BYTE: u32 = 0; /// The amount of pubdata that is strictly guaranteed to be available for a block pub const GUARANTEED_PUBDATA_IN_TX: u32 = 100000; diff --git a/core/lib/multivm/src/versions/vm_1_3_2/vm_with_bootloader.rs b/core/lib/multivm/src/versions/vm_1_3_2/vm_with_bootloader.rs index 71c108cae326..61ed4cadac1d 100644 --- a/core/lib/multivm/src/versions/vm_1_3_2/vm_with_bootloader.rs +++ b/core/lib/multivm/src/versions/vm_1_3_2/vm_with_bootloader.rs @@ -41,7 +41,7 @@ use crate::vm_1_3_2::{ // fill these values in the similar fasion as other overhead-related constants pub const BLOCK_OVERHEAD_GAS: u32 = 1200000; pub const BLOCK_OVERHEAD_L1_GAS: u32 = 1000000; -pub const BLOCK_OVERHEAD_PUBDATA: u32 = BLOCK_OVERHEAD_L1_GAS / L1_GAS_PER_PUBDATA_BYTE; +pub const BLOCK_OVERHEAD_PUBDATA: u32 = 0; pub const MAX_BLOCK_MULTIINSTANCE_GAS_LIMIT: u32 = 300_000_000; diff --git a/core/lib/multivm/src/versions/vm_latest/constants.rs b/core/lib/multivm/src/versions/vm_latest/constants.rs index 44266344be61..74b570db08ee 100644 --- a/core/lib/multivm/src/versions/vm_latest/constants.rs +++ b/core/lib/multivm/src/versions/vm_latest/constants.rs @@ -87,7 +87,7 @@ const INITIAL_BASE_PAGE: u32 = 8; pub const BOOTLOADER_HEAP_PAGE: u32 = heap_page_from_base(MemoryPage(INITIAL_BASE_PAGE)).0; pub const BLOCK_OVERHEAD_GAS: u32 = 1200000; pub const BLOCK_OVERHEAD_L1_GAS: u32 = 1000000; -pub const BLOCK_OVERHEAD_PUBDATA: u32 = BLOCK_OVERHEAD_L1_GAS / L1_GAS_PER_PUBDATA_BYTE; +pub const BLOCK_OVERHEAD_PUBDATA: u32 = 0; /// VM Hooks are used for communication between bootloader and tracers. /// The 'type' / 'opcode' is put into VM_HOOK_POSITION slot, diff --git a/core/lib/multivm/src/versions/vm_m5/vm_with_bootloader.rs b/core/lib/multivm/src/versions/vm_m5/vm_with_bootloader.rs index f9ba88fea143..cb0020935c18 100644 --- a/core/lib/multivm/src/versions/vm_m5/vm_with_bootloader.rs +++ b/core/lib/multivm/src/versions/vm_m5/vm_with_bootloader.rs @@ -36,7 +36,7 @@ use crate::vm_m5::{ // fill these values in the similar fasion as other overhead-related constants pub const BLOCK_OVERHEAD_GAS: u32 = 1200000; pub const BLOCK_OVERHEAD_L1_GAS: u32 = 1000000; -pub const BLOCK_OVERHEAD_PUBDATA: u32 = BLOCK_OVERHEAD_L1_GAS / L1_GAS_PER_PUBDATA_BYTE; +pub const BLOCK_OVERHEAD_PUBDATA: u32 = 0; pub const MAX_BLOCK_MULTIINSTANCE_GAS_LIMIT: u32 = 300_000_000; diff --git a/core/lib/multivm/src/versions/vm_m6/vm_with_bootloader.rs b/core/lib/multivm/src/versions/vm_m6/vm_with_bootloader.rs index c7d4ee3d45e8..dfedd29ff2de 100644 --- a/core/lib/multivm/src/versions/vm_m6/vm_with_bootloader.rs +++ b/core/lib/multivm/src/versions/vm_m6/vm_with_bootloader.rs @@ -39,7 +39,7 @@ use crate::vm_m6::{ // fill these values in the similar fasion as other overhead-related constants pub const BLOCK_OVERHEAD_GAS: u32 = 1200000; pub const BLOCK_OVERHEAD_L1_GAS: u32 = 1000000; -pub const BLOCK_OVERHEAD_PUBDATA: u32 = BLOCK_OVERHEAD_L1_GAS / L1_GAS_PER_PUBDATA_BYTE; +pub const BLOCK_OVERHEAD_PUBDATA: u32 = 0; pub const MAX_BLOCK_MULTIINSTANCE_GAS_LIMIT: u32 = 300_000_000; diff --git a/core/lib/multivm/src/versions/vm_refunds_enhancement/constants.rs b/core/lib/multivm/src/versions/vm_refunds_enhancement/constants.rs index 82ab754e4036..4b8882f0e6ee 100644 --- a/core/lib/multivm/src/versions/vm_refunds_enhancement/constants.rs +++ b/core/lib/multivm/src/versions/vm_refunds_enhancement/constants.rs @@ -70,7 +70,7 @@ const INITIAL_BASE_PAGE: u32 = 8; pub const BOOTLOADER_HEAP_PAGE: u32 = heap_page_from_base(MemoryPage(INITIAL_BASE_PAGE)).0; pub const BLOCK_OVERHEAD_GAS: u32 = 1200000; pub const BLOCK_OVERHEAD_L1_GAS: u32 = 1000000; -pub const BLOCK_OVERHEAD_PUBDATA: u32 = BLOCK_OVERHEAD_L1_GAS / L1_GAS_PER_PUBDATA_BYTE; +pub const BLOCK_OVERHEAD_PUBDATA: u32 = 0; /// VM Hooks are used for communication between bootloader and tracers. /// The 'type' / 'opcode' is put into VM_HOOK_POSITION slot, diff --git a/core/lib/multivm/src/versions/vm_virtual_blocks/constants.rs b/core/lib/multivm/src/versions/vm_virtual_blocks/constants.rs index c03260f1b6de..c3c2fd6b4b58 100644 --- a/core/lib/multivm/src/versions/vm_virtual_blocks/constants.rs +++ b/core/lib/multivm/src/versions/vm_virtual_blocks/constants.rs @@ -70,7 +70,7 @@ const INITIAL_BASE_PAGE: u32 = 8; pub const BOOTLOADER_HEAP_PAGE: u32 = heap_page_from_base(MemoryPage(INITIAL_BASE_PAGE)).0; pub(crate) const BLOCK_OVERHEAD_GAS: u32 = 1200000; pub(crate) const BLOCK_OVERHEAD_L1_GAS: u32 = 1000000; -pub const BLOCK_OVERHEAD_PUBDATA: u32 = BLOCK_OVERHEAD_L1_GAS / L1_GAS_PER_PUBDATA_BYTE; +pub const BLOCK_OVERHEAD_PUBDATA: u32 = 0; /// VM Hooks are used for communication between bootloader and tracers. /// The 'type' / 'opcode' is put into VM_HOOK_POSITION slot, From cb7edd80050bf8163b33e75711b9e9a90565aa55 Mon Sep 17 00:00:00 2001 From: Jordi Date: Tue, 9 Jan 2024 17:02:15 +0100 Subject: [PATCH 03/29] Create contract for writing bytes --- zksync_full_stack/BytesWriter.abi | 39 +++++++++++++++++++++++++++++++ zksync_full_stack/BytesWriter.bin | 1 + zksync_full_stack/BytesWriter.sol | 27 +++++++++++++++++++++ 3 files changed, 67 insertions(+) create mode 100644 zksync_full_stack/BytesWriter.abi create mode 100644 zksync_full_stack/BytesWriter.bin create mode 100644 zksync_full_stack/BytesWriter.sol diff --git a/zksync_full_stack/BytesWriter.abi b/zksync_full_stack/BytesWriter.abi new file mode 100644 index 000000000000..d2a9b3df6d99 --- /dev/null +++ b/zksync_full_stack/BytesWriter.abi @@ -0,0 +1,39 @@ +[ + { + "inputs": [ + { + "internalType": "bytes", + "name": "_message", + "type": "bytes" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "readBytes", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "_message", + "type": "bytes" + } + ], + "name": "writeBytes", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } +] \ No newline at end of file diff --git a/zksync_full_stack/BytesWriter.bin b/zksync_full_stack/BytesWriter.bin new file mode 100644 index 000000000000..82e2111a0ba7 --- /dev/null +++ b/zksync_full_stack/BytesWriter.bin @@ -0,0 +1 @@ +00050000000000020000008003000039000000400030043f0000000003010019000000600330027000000072033001970000000102200190000000960000c13d000000040230008c000001600000413d000000000201043b000000e002200270000000790420009c0000014e0000613d0000007a0220009c000001600000c13d0000000002000416000000000202004b000001600000c13d000000040230008a000000200220008c000001600000413d0000000402100370000000000502043b000000760250009c000001600000213d00000023025000390000007e04000041000000000632004b000000000600001900000000060480190000007e02200197000000000702004b00000000040080190000007e0220009c000000000406c019000000000204004b000001600000c13d0000000406500039000000000261034f000000000402043b000000760240009c0000009c0000213d000000bf07400039000000200200008a000000000727016f000000760870009c0000009c0000213d000000400070043f000000800040043f00000000054500190000002405500039000000000335004b000001600000213d0000002003600039000000000131034f0000001f0340018f0000000505400272000000440000613d00000000060000190000000507600210000000000871034f000000000808043b000000a00770003900000000008704350000000106600039000000000756004b0000003c0000413d000000000603004b000000530000613d0000000505500210000000000151034f0000000303300210000000a005500039000000000605043300000000063601cf000000000636022f000000000101043b0000010003300089000000000131022f00000000013101cf000000000161019f0000000000150435000000a0014000390000000000010435000000800100043d000000760310009c0000009c0000213d000000000400041a000000010340019000000001054002700000007f0350018f000000000305c0190000001f0530008c00000000050000190000000105002039000000000454013f00000001044001900000015c0000c13d000000200430008c000000750000413d0000001f0410003900000005044002700000007b054000410000007b04000041000000200610008c000000000405801900000000000004350000001f0330003900000005033002700000007b03300041000000000534004b000000750000813d000000000004041b0000000104400039000000000534004b000000710000413d0000001f0310008c0000019f0000a13d0000000003210170000000a0040000390000007b020000410000000000000435000000890000613d0000007b0200004100000020060000390000000004000019000000000506001900000080065000390000000006060433000000000062041b000000200650003900000001022000390000002004400039000000000734004b0000007f0000413d000000a004500039000000000313004b000000930000813d0000000303100210000000f80330018f000000010500008a000000000335022f000000000353013f0000000004040433000000000334016f000000000032041b00000001020000390000000103100210000001a90000013d0000000002000416000000000202004b000001600000c13d0000007302300041000000740220009c000000a20000213d0000007f0100004100000000001004350000004101000039000000040010043f0000008001000041000001c5000104300000009f023000390000007502200197000000400020043f0000001f0230018f0000000504300272000000b10000613d00000000050000190000000506500210000000000761034f000000000707043b000000800660003900000000007604350000000105500039000000000645004b000000a90000413d000000000502004b000000c00000613d0000000504400210000000000141034f00000003022002100000008004400039000000000504043300000000052501cf000000000525022f000000000101043b0000010002200089000000000121022f00000000012101cf000000000151019f0000000000140435000000200130008c000001600000413d000000800400043d000000760140009c000001600000213d00000080033000390000009f01400039000000000131004b000001600000813d00000080024000390000000001020433000000760510009c0000009c0000213d0000003f05100039000000200900008a000000000595016f000000400800043d0000000005580019000000000685004b00000000060000190000000106004039000000760750009c0000009c0000213d00000001066001900000009c0000c13d000000400050043f00000000061804360000000004140019000000a004400039000000000334004b000001600000213d000000000301004b000000e90000613d000000000300001900000000046300190000002003300039000000000523001900000000050504330000000000540435000000000413004b000000e20000413d000000000116001900000000000104350000000004080433000000760140009c0000009c0000213d000000000100041a000000010210019000000001011002700000007f0310018f000000000301c0190000001f0130008c00000000010000190000000101002039000000010110018f000000000112004b0000015c0000c13d000000200130008c0000011f0000413d000100000003001d000300000004001d000000000000043500000072010000410000000002000414000000720320009c0000000002018019000000c00120021000000077011001c70000801002000039000500000008001d000400000009001d000200000006001d01c301be0000040f0000000206000029000000040900002900000005080000290000000102200190000001600000613d00000003040000290000001f024000390000000502200270000000200340008c0000000002004019000000000301043b00000001010000290000001f01100039000000050110027000000000011300190000000002230019000000000312004b0000011f0000813d000000000002041b0000000102200039000000000312004b0000011b0000413d0000001f0140008c000001ad0000a13d000300000004001d000000000000043500000072010000410000000002000414000000720320009c0000000002018019000000c00120021000000077011001c70000801002000039000500000008001d000400000009001d01c301be0000040f000000040300002900000005060000290000000102200190000001600000613d000000030700002900000000033701700000002002000039000000000101043b000001400000613d0000002002000039000000000400001900000000056200190000000005050433000000000051041b000000200220003900000001011000390000002004400039000000000534004b000001380000413d000000000373004b0000014b0000813d0000000303700210000000f80330018f000000010400008a000000000334022f000000000343013f00000000026200190000000002020433000000000232016f000000000021041b00000001010000390000000102700210000001b70000013d0000000001000416000000000101004b000001600000c13d000000000100041a000000010310019000000001041002700000007f0240018f000000000204c0190000001f0420008c00000000040000190000000104002039000000000441013f0000000104400190000001620000613d0000007f01000041000000000010043500000022010000390000009f0000013d0000000001000019000001c500010430000000800020043f000000000303004b000001750000613d000000a0010000390000000000000435000000000302004b000001810000613d0000007b0100004100000000040000190000000003040019000000000401041a000000a005300039000000000045043500000001011000390000002004300039000000000524004b0000016b0000413d000000c0013000390000017b0000013d000001000300008a000000000131016f000000a00010043f000000000102004b000000c001000039000000a0010060390000001f01100039000000200200008a000000000121016f0000007c021000410000007d0220009c0000009c0000413d000000400010043f00000020020000390000000003210436000000800200043d00000000002304350000004003100039000000000402004b000001910000613d00000000040000190000000005340019000000a006400039000000000606043300000000006504350000002004400039000000000524004b0000018a0000413d000000000332001900000000000304350000005f02200039000000200300008a000000000232016f0000007203000041000000720420009c0000000002038019000000720410009c000000000103801900000040011002100000006002200210000000000112019f000001c40001042e000000000201004b0000000002000019000001a30000613d000000a00200043d0000000303100210000000010400008a000000000334022f000000000343013f000000000332016f0000000102100210000000000123019f000000000010041b0000000001000019000001c40001042e000000000104004b0000000001000019000001b10000613d00000000010604330000000302400210000000010300008a000000000223022f000000000232013f000000000221016f0000000101400210000000000112019f000000000010041b0000002001000039000001000010044300000120000004430000007801000041000001c40001042e000001c1002104230000000102000039000000000001042d0000000002000019000000000001042d000001c300000432000001c40001042e000001c5000104300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009fffffffffffffffffffffffffffffffffffffffffffffffff000000000000007f00000000000000000000000000000000000000000000000000000001ffffffe0000000000000000000000000000000000000000000000000ffffffffffffffff0200000000000000000000000000000000000020000000000000000000000000000000020000000000000000000000000000004000000100000000000000000000000000000000000000000000000000000000000000000000000000d98b5568000000000000000000000000000000000000000000000000000000007932db75290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563ffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffffff000000000000008080000000000000000000000000000000000000000000000000000000000000004e487b710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ed6387c0bfa1a553479c65de9055037dd042dfc96ad5d68e4249b35629a5c8cb \ No newline at end of file diff --git a/zksync_full_stack/BytesWriter.sol b/zksync_full_stack/BytesWriter.sol new file mode 100644 index 000000000000..0327d2933728 --- /dev/null +++ b/zksync_full_stack/BytesWriter.sol @@ -0,0 +1,27 @@ +//SPDX-License-Identifier: Unlicense +pragma solidity ^0.8.8; + +contract BytesWriter { + bytes private message; + + constructor(bytes memory _message) { + message = _message; + } + + function readBytes() public view returns (bytes memory) { + return message; + } + + function writeBytes(bytes memory _message) public { + message = _message; + } + + // event StringBytesLengthMessage(address sender, string inputString, uint256 bytesLength); + + // function getStringBytesLength(string memory str) external { + // bytes memory strBytes = bytes(str); + // uint256 length = strBytes.length; + + // emit StringBytesLengthMessage(msg.sender, str, length); + // } +} From 714bd35a2a853ab629a0ab5621b0b01400cabae7 Mon Sep 17 00:00:00 2001 From: Jordi Date: Tue, 9 Jan 2024 17:25:32 +0100 Subject: [PATCH 04/29] Deploy bytes contract --- zksync_full_stack/src/main.rs | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/zksync_full_stack/src/main.rs b/zksync_full_stack/src/main.rs index f6deb5d9e81f..c901645b1ee7 100644 --- a/zksync_full_stack/src/main.rs +++ b/zksync_full_stack/src/main.rs @@ -12,8 +12,8 @@ use zksync_web3_rs::{ static ERA_PROVIDER_URL: &str = "http://127.0.0.1:3050"; static PRIVATE_KEY: &str = "7726827caac94a7f9e1b160f7ea819f172f7b6f9d2a97f992c38edeab82d4110"; -static CONTRACT_BIN: &str = include_str!("../Greeter.bin"); -static CONTRACT_ABI: &str = include_str!("../Greeter.abi"); +static CONTRACT_BIN: &str = include_str!("../BytesWriter.bin"); +static CONTRACT_ABI: &str = include_str!("../BytesWriter.abi"); static L1_URL: &str = "http://localhost:8545"; @@ -55,7 +55,7 @@ async fn main() { let contract_bin = hex::decode(CONTRACT_BIN).unwrap().to_vec(); // DeployRequest sets the parameters for the constructor call and the deployment transaction. - let request = DeployRequest::with(abi, contract_bin, vec!["Hey".to_owned()]) + let request = DeployRequest::with(abi, contract_bin, vec!["0x0016".to_owned()]) .from(zk_wallet.l2_address()); // Send the deployment transaction and wait until we receive the contract address. @@ -69,13 +69,13 @@ async fn main() { // Call the greet view method: { let era_provider = zk_wallet.get_era_provider().unwrap(); - let call_request = CallRequest::new(contract_address, "greet()(string)".to_owned()); + let call_request = CallRequest::new(contract_address, "readBytes()(bytes)".to_owned()); - let greet = ZKSProvider::call(era_provider.as_ref(), &call_request) + let bytes_message = ZKSProvider::call(era_provider.as_ref(), &call_request) .await .unwrap(); - println!("greet: {}", greet[0]); + println!("bytes message: {}", bytes_message[0]); } // Perform a signed transaction calling the setGreeting method @@ -87,8 +87,8 @@ async fn main() { .send_eip712( &zk_wallet.l2_wallet, contract_address, - "setGreeting(string)", - Some(["Hello".into()].into()), + "writeBytes(bytes)", + Some(["0x0056".into()].into()), None, ) .await @@ -98,19 +98,19 @@ async fn main() { .unwrap(); println!( - "setGreeting transaction hash {:#?}", + "writeBytes transaction hash {:#?}", receipt.transaction_hash ); }; { let era_provider = zk_wallet.get_era_provider().unwrap(); - let call_request = CallRequest::new(contract_address, "greet()(string)".to_owned()); + let call_request = CallRequest::new(contract_address, "readBytes()(bytes)".to_owned()); - let greet = ZKSProvider::call(era_provider.as_ref(), &call_request) + let bytes_message = ZKSProvider::call(era_provider.as_ref(), &call_request) .await .unwrap(); - println!("greet: {}", greet[0]); + println!("bytes message: {}", bytes_message[0]); } } From 3f91e20ee1357789db46cba0ce7d3b25ab3f4af1 Mon Sep 17 00:00:00 2001 From: toni-calvin Date: Wed, 10 Jan 2024 16:00:26 +0100 Subject: [PATCH 05/29] update full node to use rpc providers --- Cargo.lock | 2 + era-contracts-lambda | 1 + zksync_full_stack/BytesWriter.abi | 2 +- zksync_full_stack/BytesWriter.bin | 2 +- zksync_full_stack/Cargo.toml | 2 + zksync_full_stack/src/main.rs | 70 ++++++++++++++++++++++++++++--- 6 files changed, 71 insertions(+), 8 deletions(-) create mode 160000 era-contracts-lambda diff --git a/Cargo.lock b/Cargo.lock index 85e6167f7793..a5d93d46da7c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -9876,8 +9876,10 @@ version = "0.1.0" dependencies = [ "ethers", "hex", + "loadnext", "tokio", "zksync-web3-rs", + "zksync_web3_decl", ] [[package]] diff --git a/era-contracts-lambda b/era-contracts-lambda new file mode 160000 index 000000000000..7fe797934f1e --- /dev/null +++ b/era-contracts-lambda @@ -0,0 +1 @@ +Subproject commit 7fe797934f1ef198d0ef8362c4422928778d7236 diff --git a/zksync_full_stack/BytesWriter.abi b/zksync_full_stack/BytesWriter.abi index d2a9b3df6d99..4ac2b64a62e8 100644 --- a/zksync_full_stack/BytesWriter.abi +++ b/zksync_full_stack/BytesWriter.abi @@ -36,4 +36,4 @@ "stateMutability": "nonpayable", "type": "function" } -] \ No newline at end of file +] diff --git a/zksync_full_stack/BytesWriter.bin b/zksync_full_stack/BytesWriter.bin index 82e2111a0ba7..979b0f1ee733 100644 --- a/zksync_full_stack/BytesWriter.bin +++ b/zksync_full_stack/BytesWriter.bin @@ -1 +1 @@ -00050000000000020000008003000039000000400030043f0000000003010019000000600330027000000072033001970000000102200190000000960000c13d000000040230008c000001600000413d000000000201043b000000e002200270000000790420009c0000014e0000613d0000007a0220009c000001600000c13d0000000002000416000000000202004b000001600000c13d000000040230008a000000200220008c000001600000413d0000000402100370000000000502043b000000760250009c000001600000213d00000023025000390000007e04000041000000000632004b000000000600001900000000060480190000007e02200197000000000702004b00000000040080190000007e0220009c000000000406c019000000000204004b000001600000c13d0000000406500039000000000261034f000000000402043b000000760240009c0000009c0000213d000000bf07400039000000200200008a000000000727016f000000760870009c0000009c0000213d000000400070043f000000800040043f00000000054500190000002405500039000000000335004b000001600000213d0000002003600039000000000131034f0000001f0340018f0000000505400272000000440000613d00000000060000190000000507600210000000000871034f000000000808043b000000a00770003900000000008704350000000106600039000000000756004b0000003c0000413d000000000603004b000000530000613d0000000505500210000000000151034f0000000303300210000000a005500039000000000605043300000000063601cf000000000636022f000000000101043b0000010003300089000000000131022f00000000013101cf000000000161019f0000000000150435000000a0014000390000000000010435000000800100043d000000760310009c0000009c0000213d000000000400041a000000010340019000000001054002700000007f0350018f000000000305c0190000001f0530008c00000000050000190000000105002039000000000454013f00000001044001900000015c0000c13d000000200430008c000000750000413d0000001f0410003900000005044002700000007b054000410000007b04000041000000200610008c000000000405801900000000000004350000001f0330003900000005033002700000007b03300041000000000534004b000000750000813d000000000004041b0000000104400039000000000534004b000000710000413d0000001f0310008c0000019f0000a13d0000000003210170000000a0040000390000007b020000410000000000000435000000890000613d0000007b0200004100000020060000390000000004000019000000000506001900000080065000390000000006060433000000000062041b000000200650003900000001022000390000002004400039000000000734004b0000007f0000413d000000a004500039000000000313004b000000930000813d0000000303100210000000f80330018f000000010500008a000000000335022f000000000353013f0000000004040433000000000334016f000000000032041b00000001020000390000000103100210000001a90000013d0000000002000416000000000202004b000001600000c13d0000007302300041000000740220009c000000a20000213d0000007f0100004100000000001004350000004101000039000000040010043f0000008001000041000001c5000104300000009f023000390000007502200197000000400020043f0000001f0230018f0000000504300272000000b10000613d00000000050000190000000506500210000000000761034f000000000707043b000000800660003900000000007604350000000105500039000000000645004b000000a90000413d000000000502004b000000c00000613d0000000504400210000000000141034f00000003022002100000008004400039000000000504043300000000052501cf000000000525022f000000000101043b0000010002200089000000000121022f00000000012101cf000000000151019f0000000000140435000000200130008c000001600000413d000000800400043d000000760140009c000001600000213d00000080033000390000009f01400039000000000131004b000001600000813d00000080024000390000000001020433000000760510009c0000009c0000213d0000003f05100039000000200900008a000000000595016f000000400800043d0000000005580019000000000685004b00000000060000190000000106004039000000760750009c0000009c0000213d00000001066001900000009c0000c13d000000400050043f00000000061804360000000004140019000000a004400039000000000334004b000001600000213d000000000301004b000000e90000613d000000000300001900000000046300190000002003300039000000000523001900000000050504330000000000540435000000000413004b000000e20000413d000000000116001900000000000104350000000004080433000000760140009c0000009c0000213d000000000100041a000000010210019000000001011002700000007f0310018f000000000301c0190000001f0130008c00000000010000190000000101002039000000010110018f000000000112004b0000015c0000c13d000000200130008c0000011f0000413d000100000003001d000300000004001d000000000000043500000072010000410000000002000414000000720320009c0000000002018019000000c00120021000000077011001c70000801002000039000500000008001d000400000009001d000200000006001d01c301be0000040f0000000206000029000000040900002900000005080000290000000102200190000001600000613d00000003040000290000001f024000390000000502200270000000200340008c0000000002004019000000000301043b00000001010000290000001f01100039000000050110027000000000011300190000000002230019000000000312004b0000011f0000813d000000000002041b0000000102200039000000000312004b0000011b0000413d0000001f0140008c000001ad0000a13d000300000004001d000000000000043500000072010000410000000002000414000000720320009c0000000002018019000000c00120021000000077011001c70000801002000039000500000008001d000400000009001d01c301be0000040f000000040300002900000005060000290000000102200190000001600000613d000000030700002900000000033701700000002002000039000000000101043b000001400000613d0000002002000039000000000400001900000000056200190000000005050433000000000051041b000000200220003900000001011000390000002004400039000000000534004b000001380000413d000000000373004b0000014b0000813d0000000303700210000000f80330018f000000010400008a000000000334022f000000000343013f00000000026200190000000002020433000000000232016f000000000021041b00000001010000390000000102700210000001b70000013d0000000001000416000000000101004b000001600000c13d000000000100041a000000010310019000000001041002700000007f0240018f000000000204c0190000001f0420008c00000000040000190000000104002039000000000441013f0000000104400190000001620000613d0000007f01000041000000000010043500000022010000390000009f0000013d0000000001000019000001c500010430000000800020043f000000000303004b000001750000613d000000a0010000390000000000000435000000000302004b000001810000613d0000007b0100004100000000040000190000000003040019000000000401041a000000a005300039000000000045043500000001011000390000002004300039000000000524004b0000016b0000413d000000c0013000390000017b0000013d000001000300008a000000000131016f000000a00010043f000000000102004b000000c001000039000000a0010060390000001f01100039000000200200008a000000000121016f0000007c021000410000007d0220009c0000009c0000413d000000400010043f00000020020000390000000003210436000000800200043d00000000002304350000004003100039000000000402004b000001910000613d00000000040000190000000005340019000000a006400039000000000606043300000000006504350000002004400039000000000524004b0000018a0000413d000000000332001900000000000304350000005f02200039000000200300008a000000000232016f0000007203000041000000720420009c0000000002038019000000720410009c000000000103801900000040011002100000006002200210000000000112019f000001c40001042e000000000201004b0000000002000019000001a30000613d000000a00200043d0000000303100210000000010400008a000000000334022f000000000343013f000000000332016f0000000102100210000000000123019f000000000010041b0000000001000019000001c40001042e000000000104004b0000000001000019000001b10000613d00000000010604330000000302400210000000010300008a000000000223022f000000000232013f000000000221016f0000000101400210000000000112019f000000000010041b0000002001000039000001000010044300000120000004430000007801000041000001c40001042e000001c1002104230000000102000039000000000001042d0000000002000019000000000001042d000001c300000432000001c40001042e000001c5000104300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009fffffffffffffffffffffffffffffffffffffffffffffffff000000000000007f00000000000000000000000000000000000000000000000000000001ffffffe0000000000000000000000000000000000000000000000000ffffffffffffffff0200000000000000000000000000000000000020000000000000000000000000000000020000000000000000000000000000004000000100000000000000000000000000000000000000000000000000000000000000000000000000d98b5568000000000000000000000000000000000000000000000000000000007932db75290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563ffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffffff000000000000008080000000000000000000000000000000000000000000000000000000000000004e487b710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ed6387c0bfa1a553479c65de9055037dd042dfc96ad5d68e4249b35629a5c8cb \ No newline at end of file +00050000000000020000008003000039000000400030043f0000000003010019000000600330027000000073033001970000000102200190000000960000c13d000000040230008c000001600000413d000000000201043b000000e0022002700000007a0420009c0000014e0000613d0000007b0220009c000001600000c13d0000000002000416000000000202004b000001600000c13d000000040230008a000000200220008c000001600000413d0000000402100370000000000502043b000000770250009c000001600000213d00000023025000390000007f04000041000000000632004b000000000600001900000000060480190000007f02200197000000000702004b00000000040080190000007f0220009c000000000406c019000000000204004b000001600000c13d0000000406500039000000000261034f000000000402043b000000770240009c0000009c0000213d000000bf07400039000000200200008a000000000727016f000000770870009c0000009c0000213d000000400070043f000000800040043f00000000054500190000002405500039000000000335004b000001600000213d0000002003600039000000000131034f0000001f0340018f0000000505400272000000440000613d00000000060000190000000507600210000000000871034f000000000808043b000000a00770003900000000008704350000000106600039000000000756004b0000003c0000413d000000000603004b000000530000613d0000000505500210000000000151034f0000000303300210000000a005500039000000000605043300000000063601cf000000000636022f000000000101043b0000010003300089000000000131022f00000000013101cf000000000161019f0000000000150435000000a0014000390000000000010435000000800100043d000000770310009c0000009c0000213d000000000400041a000000010340019000000001054002700000007f0350018f000000000305c0190000001f0530008c00000000050000190000000105002039000000000454013f00000001044001900000015c0000c13d000000200430008c000000750000413d0000001f0410003900000005044002700000007c054000410000007c04000041000000200610008c000000000405801900000000000004350000001f0330003900000005033002700000007c03300041000000000534004b000000750000813d000000000004041b0000000104400039000000000534004b000000710000413d0000001f0310008c0000019f0000a13d0000000003210170000000a0040000390000007c020000410000000000000435000000890000613d0000007c0200004100000020060000390000000004000019000000000506001900000080065000390000000006060433000000000062041b000000200650003900000001022000390000002004400039000000000734004b0000007f0000413d000000a004500039000000000313004b000000930000813d0000000303100210000000f80330018f000000010500008a000000000335022f000000000353013f0000000004040433000000000334016f000000000032041b00000001020000390000000103100210000001a90000013d0000000002000416000000000202004b000001600000c13d0000007402300041000000750220009c000000a20000213d000000800100004100000000001004350000004101000039000000040010043f0000008101000041000001c9000104300000009f023000390000007602200197000000400020043f0000001f0230018f0000000504300272000000b10000613d00000000050000190000000506500210000000000761034f000000000707043b000000800660003900000000007604350000000105500039000000000645004b000000a90000413d000000000502004b000000c00000613d0000000504400210000000000141034f00000003022002100000008004400039000000000504043300000000052501cf000000000525022f000000000101043b0000010002200089000000000121022f00000000012101cf000000000151019f0000000000140435000000200130008c000001600000413d000000800400043d000000770140009c000001600000213d00000080033000390000009f01400039000000000131004b000001600000813d00000080024000390000000001020433000000770510009c0000009c0000213d0000003f05100039000000200900008a000000000595016f000000400800043d0000000005580019000000000685004b00000000060000190000000106004039000000770750009c0000009c0000213d00000001066001900000009c0000c13d000000400050043f00000000061804360000000004140019000000a004400039000000000334004b000001600000213d000000000301004b000000e90000613d000000000300001900000000046300190000002003300039000000000523001900000000050504330000000000540435000000000413004b000000e20000413d000000000116001900000000000104350000000004080433000000770140009c0000009c0000213d000000000100041a000000010210019000000001011002700000007f0310018f000000000301c0190000001f0130008c00000000010000190000000101002039000000010110018f000000000112004b0000015c0000c13d000000200130008c0000011f0000413d000100000003001d000300000004001d000000000000043500000073010000410000000002000414000000730320009c0000000002018019000000c00120021000000078011001c70000801002000039000500000008001d000400000009001d000200000006001d01c701c20000040f0000000206000029000000040900002900000005080000290000000102200190000001600000613d00000003040000290000001f024000390000000502200270000000200340008c0000000002004019000000000301043b00000001010000290000001f01100039000000050110027000000000011300190000000002230019000000000312004b0000011f0000813d000000000002041b0000000102200039000000000312004b0000011b0000413d0000001f0140008c000001b10000a13d000300000004001d000000000000043500000073010000410000000002000414000000730320009c0000000002018019000000c00120021000000078011001c70000801002000039000500000008001d000400000009001d01c701c20000040f000000040300002900000005060000290000000102200190000001600000613d000000030700002900000000033701700000002002000039000000000101043b000001400000613d0000002002000039000000000400001900000000056200190000000005050433000000000051041b000000200220003900000001011000390000002004400039000000000534004b000001380000413d000000000373004b0000014b0000813d0000000303700210000000f80330018f000000010400008a000000000334022f000000000343013f00000000026200190000000002020433000000000232016f000000000021041b00000001010000390000000102700210000001bb0000013d0000000001000416000000000101004b000001600000c13d000000000100041a000000010310019000000001041002700000007f0240018f000000000204c0190000001f0420008c00000000040000190000000104002039000000000441013f0000000104400190000001620000613d0000008001000041000000000010043500000022010000390000009f0000013d0000000001000019000001c900010430000000800020043f000000000303004b000001750000613d000000a0010000390000000000000435000000000302004b000001810000613d0000007c0100004100000000040000190000000003040019000000000401041a000000a005300039000000000045043500000001011000390000002004300039000000000524004b0000016b0000413d000000c0013000390000017b0000013d000001000300008a000000000131016f000000a00010043f000000000102004b000000c001000039000000a0010060390000001f01100039000000200200008a000000000121016f0000007d021000410000007e0220009c0000009c0000413d000000400010043f00000020020000390000000003210436000000800200043d00000000002304350000004003100039000000000402004b000001910000613d00000000040000190000000005340019000000a006400039000000000606043300000000006504350000002004400039000000000524004b0000018a0000413d000000000332001900000000000304350000005f02200039000000200300008a000000000232016f0000007303000041000000730420009c0000000002038019000000730410009c000000000103801900000040011002100000006002200210000000000112019f000001c80001042e000000000201004b0000000002000019000001a30000613d000000a00200043d0000000303100210000000010400008a000000000334022f000000000343013f000000000332016f0000000102100210000000000123019f000000000010041b0000007301000041000000400200043d000000730320009c00000000020180190000004001200210000001c80001042e000000000104004b0000000001000019000001b50000613d00000000010604330000000302400210000000010300008a000000000223022f000000000232013f000000000221016f0000000101400210000000000112019f000000000010041b0000002001000039000001000010044300000120000004430000007901000041000001c80001042e000001c5002104230000000102000039000000000001042d0000000002000019000000000001042d000001c700000432000001c80001042e000001c9000104300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009fffffffffffffffffffffffffffffffffffffffffffffffff000000000000007f00000000000000000000000000000000000000000000000000000001ffffffe0000000000000000000000000000000000000000000000000ffffffffffffffff0200000000000000000000000000000000000020000000000000000000000000000000020000000000000000000000000000004000000100000000000000000000000000000000000000000000000000000000000000000000000000d98b5568000000000000000000000000000000000000000000000000000000007932db75290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563ffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffffff000000000000008080000000000000000000000000000000000000000000000000000000000000004e487b71000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024000000000000000000000000b6a433bc7df435258118f8b80ff5a7799eb18cd0bf3a38b685cb901f1d11d13f \ No newline at end of file diff --git a/zksync_full_stack/Cargo.toml b/zksync_full_stack/Cargo.toml index 29c7b1b22f0e..e4a88dad6c08 100644 --- a/zksync_full_stack/Cargo.toml +++ b/zksync_full_stack/Cargo.toml @@ -7,6 +7,8 @@ edition = "2021" [dependencies] zksync-web3-rs = "*" +zksync_web3_decl = { path = "../core/lib/web3_decl" } +loadnext = { path = "../core/tests/loadnext" } ethers = "2.0.1" hex = "0.4.3" tokio = { version = "1", features = ["macros", "process"] } diff --git a/zksync_full_stack/src/main.rs b/zksync_full_stack/src/main.rs index c901645b1ee7..36ee149d684d 100644 --- a/zksync_full_stack/src/main.rs +++ b/zksync_full_stack/src/main.rs @@ -1,14 +1,32 @@ -use std::str::FromStr; +use std::{str::FromStr, time::Duration}; -use ethers::{abi::Abi, providers::Http, utils::parse_units}; +use ethers::{ + abi::Abi, + core::k256::WideBytes, + providers::{Http, JsonRpcClient}, + utils::parse_units, +}; +use tokio::time::sleep; +use zksync_web3_decl::{ + jsonrpsee::http_client::HttpClientBuilder, + namespaces::{EthNamespaceClient, ZksNamespaceClient}, +}; use zksync_web3_rs::{ + contracts::main_contract::L2CanonicalTransaction, providers::{Middleware, Provider}, signers::{LocalWallet, Signer}, - zks_provider::ZKSProvider, + zks_provider::{self, ZKSProvider}, zks_wallet::{CallRequest, DeployRequest, DepositRequest}, ZKSWallet, }; +use loadnext::{ + command::TxType, + config::{ExecutionConfig, LoadtestConfig}, + executor::Executor, + report_collector::LoadtestResult, +}; + static ERA_PROVIDER_URL: &str = "http://127.0.0.1:3050"; static PRIVATE_KEY: &str = "7726827caac94a7f9e1b160f7ea819f172f7b6f9d2a97f992c38edeab82d4110"; @@ -37,6 +55,16 @@ async fn main() { .unwrap() }; + let config = LoadtestConfig::from_env() + .expect("Config parameters should be loaded from env or from default values"); + + let l1_rpc_client = HttpClientBuilder::default() + .build(config.l1_rpc_address) + .unwrap(); + let l2_rpc_client = HttpClientBuilder::default() + .build(config.l2_rpc_address) + .unwrap(); + let deposit_transaction_hash = { let amount = parse_units("11", "ether").unwrap(); let request = DepositRequest::new(amount.into()); @@ -79,7 +107,11 @@ async fn main() { } // Perform a signed transaction calling the setGreeting method - { + let values = vec![1, 10, 100, 1000]; + + for &value in &values { + let hex_value = format!("{:0width$X}", value, width = 6); + println!("Writing hex value: {}", hex_value); let receipt = zk_wallet .get_era_provider() .unwrap() @@ -88,7 +120,7 @@ async fn main() { &zk_wallet.l2_wallet, contract_address, "writeBytes(bytes)", - Some(["0x0056".into()].into()), + Some([hex_value].into()), None, ) .await @@ -101,7 +133,33 @@ async fn main() { "writeBytes transaction hash {:#?}", receipt.transaction_hash ); - }; + + let l2_transaction = { + loop { + println!("Getting l2 transaction details with rpc..."); + let l2_transaction = l2_rpc_client + .get_transaction_details(receipt.transaction_hash) + .await + .unwrap() + .unwrap(); + + if l2_transaction.eth_commit_tx_hash.is_some() { + dbg!(l2_transaction.clone()); + break l2_transaction.clone(); + } + + sleep(Duration::from_secs(1)).await; // Adjust the duration as needed + } + }; + + let l1_transaction = l1_rpc_client + .get_transaction_by_hash(l2_transaction.eth_commit_tx_hash.unwrap()) + .await + .unwrap() + .unwrap(); + + dbg!(l1_transaction.clone()); + } { let era_provider = zk_wallet.get_era_provider().unwrap(); From c3373d2a3a1d8d21bfa7971302308131e2b1806e Mon Sep 17 00:00:00 2001 From: toni-calvin Date: Wed, 10 Jan 2024 16:02:07 +0100 Subject: [PATCH 06/29] fmt --- zksync_full_stack/src/main.rs | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/zksync_full_stack/src/main.rs b/zksync_full_stack/src/main.rs index 36ee149d684d..7b884c34df91 100644 --- a/zksync_full_stack/src/main.rs +++ b/zksync_full_stack/src/main.rs @@ -1,32 +1,20 @@ use std::{str::FromStr, time::Duration}; -use ethers::{ - abi::Abi, - core::k256::WideBytes, - providers::{Http, JsonRpcClient}, - utils::parse_units, -}; +use ethers::{abi::Abi, providers::Http, utils::parse_units}; +use loadnext::config::LoadtestConfig; use tokio::time::sleep; use zksync_web3_decl::{ jsonrpsee::http_client::HttpClientBuilder, namespaces::{EthNamespaceClient, ZksNamespaceClient}, }; use zksync_web3_rs::{ - contracts::main_contract::L2CanonicalTransaction, providers::{Middleware, Provider}, signers::{LocalWallet, Signer}, - zks_provider::{self, ZKSProvider}, + zks_provider::ZKSProvider, zks_wallet::{CallRequest, DeployRequest, DepositRequest}, ZKSWallet, }; -use loadnext::{ - command::TxType, - config::{ExecutionConfig, LoadtestConfig}, - executor::Executor, - report_collector::LoadtestResult, -}; - static ERA_PROVIDER_URL: &str = "http://127.0.0.1:3050"; static PRIVATE_KEY: &str = "7726827caac94a7f9e1b160f7ea819f172f7b6f9d2a97f992c38edeab82d4110"; From ce4de82fec3b727ced68108ce2a3b9a87f07b38f Mon Sep 17 00:00:00 2001 From: toni-calvin Date: Wed, 10 Jan 2024 17:01:58 +0100 Subject: [PATCH 07/29] add colored prints --- Cargo.lock | 15 ++++++-- zksync_full_stack/Cargo.toml | 1 + zksync_full_stack/src/main.rs | 66 ++++++++++++++++++++++++----------- 3 files changed, 59 insertions(+), 23 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a5d93d46da7c..84853eebe6bf 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1521,6 +1521,16 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" +[[package]] +name = "colored" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cbf2150cce219b664a8a70df7a1f933836724b503f8a413af9365b4dcc4d90b8" +dependencies = [ + "lazy_static", + "windows-sys 0.48.0", +] + [[package]] name = "combine" version = "4.6.6" @@ -5840,7 +5850,7 @@ checksum = "8bdf592881d821b83d471f8af290226c8d51402259e9bb5be7f9f8bdebbb11ac" dependencies = [ "bytes", "heck 0.4.1", - "itertools 0.10.5", + "itertools 0.11.0", "log", "multimap", "once_cell", @@ -5861,7 +5871,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "265baba7fabd416cf5078179f7d2cbeca4ce7a9041111900675ea7c4cb8a4c32" dependencies = [ "anyhow", - "itertools 0.10.5", + "itertools 0.11.0", "proc-macro2 1.0.69", "quote 1.0.33", "syn 2.0.38", @@ -9874,6 +9884,7 @@ dependencies = [ name = "zksync_full_stack" version = "0.1.0" dependencies = [ + "colored", "ethers", "hex", "loadnext", diff --git a/zksync_full_stack/Cargo.toml b/zksync_full_stack/Cargo.toml index e4a88dad6c08..7e7688527659 100644 --- a/zksync_full_stack/Cargo.toml +++ b/zksync_full_stack/Cargo.toml @@ -12,3 +12,4 @@ loadnext = { path = "../core/tests/loadnext" } ethers = "2.0.1" hex = "0.4.3" tokio = { version = "1", features = ["macros", "process"] } +colored = "2.0" diff --git a/zksync_full_stack/src/main.rs b/zksync_full_stack/src/main.rs index 7b884c34df91..d43453ceee35 100644 --- a/zksync_full_stack/src/main.rs +++ b/zksync_full_stack/src/main.rs @@ -1,6 +1,11 @@ use std::{str::FromStr, time::Duration}; -use ethers::{abi::Abi, providers::Http, utils::parse_units}; +use colored::Colorize; +use ethers::{ + abi::{Abi, AbiEncode}, + providers::Http, + utils::parse_units, +}; use loadnext::config::LoadtestConfig; use tokio::time::sleep; use zksync_web3_decl::{ @@ -91,15 +96,15 @@ async fn main() { .await .unwrap(); - println!("bytes message: {}", bytes_message[0]); + println!("Bytes stored in contract: {}", bytes_message[0]); } // Perform a signed transaction calling the setGreeting method - let values = vec![1, 10, 100, 1000]; + let values = vec![1, 100, 1000, 10000, 1000000]; for &value in &values { let hex_value = format!("{:0width$X}", value, width = 6); - println!("Writing hex value: {}", hex_value); + println!("New message to store: {}", hex_value.yellow()); let receipt = zk_wallet .get_era_provider() .unwrap() @@ -117,22 +122,23 @@ async fn main() { .unwrap() .unwrap(); + let transaction_hash = receipt.transaction_hash; + let transaction_hash_formatted = format!("{:#?}", receipt.transaction_hash); println!( - "writeBytes transaction hash {:#?}", - receipt.transaction_hash + "storeBytes transaction hash {}", + transaction_hash_formatted.green() ); let l2_transaction = { loop { - println!("Getting l2 transaction details with rpc..."); + //println!("Getting l2 transaction details with rpc..."); let l2_transaction = l2_rpc_client - .get_transaction_details(receipt.transaction_hash) + .get_transaction_details(transaction_hash) .await .unwrap() .unwrap(); if l2_transaction.eth_commit_tx_hash.is_some() { - dbg!(l2_transaction.clone()); break l2_transaction.clone(); } @@ -140,23 +146,41 @@ async fn main() { } }; + let gas_per_pubdata_formatted = format!("{:#?}", l2_transaction.gas_per_pubdata); + println!("L2: Gas per pubdata: {}", gas_per_pubdata_formatted.red()); + let l2_transaction_fee_formatted = format!("{:#?}", l2_transaction.fee); + println!("L2: Fee: {}", l2_transaction_fee_formatted.red()); + + println!("{}", "Getting l1 transaction details with rpc...".yellow()); let l1_transaction = l1_rpc_client .get_transaction_by_hash(l2_transaction.eth_commit_tx_hash.unwrap()) .await .unwrap() .unwrap(); - dbg!(l1_transaction.clone()); - } - - { - let era_provider = zk_wallet.get_era_provider().unwrap(); - let call_request = CallRequest::new(contract_address, "readBytes()(bytes)".to_owned()); - - let bytes_message = ZKSProvider::call(era_provider.as_ref(), &call_request) - .await - .unwrap(); - - println!("bytes message: {}", bytes_message[0]); + let l1_transaction_gas_formatted = format!("{:#?}", l1_transaction.gas); + println!("Gas: {}", l1_transaction_gas_formatted.yellow()); + let gas_price_formatted = format!("{:#?}", l1_transaction.gas_price.unwrap()); + println!("Gas price: {}", gas_price_formatted.yellow()); + // println!( + // "Max fee per gas: {:#?}", + // l1_transaction.max_fee_per_gas.unwrap() + // ); + // println!( + // "Max priority fee per gas: {:#?}", + // l1_transaction.max_priority_fee_per_gas.unwrap() + // ); + // println!( + // "Eth tx hash: {:#?}", + // l2_transaction.eth_commit_tx_hash.clone().unwrap() + // ); + // let l1_dbg_trace_transaction = l1_rpc_client + // .trace_transaction(l2_transaction.eth_commit_tx_hash.unwrap(), None) + // .await + // .unwrap() + // .unwrap(); + + // println!("Gas used: {:#?}", l1_dbg_trace_transaction.gas_used); + // println!("Gas: {:#?}", l1_dbg_trace_transaction.gas); } } From cc32b5819857e5fe5c3a0f3f5a348f51d15ed980 Mon Sep 17 00:00:00 2001 From: toni-calvin Date: Wed, 10 Jan 2024 17:53:00 +0100 Subject: [PATCH 08/29] add better debug logs --- zksync_full_stack/src/main.rs | 124 +++++++++++++++++++++++++--------- 1 file changed, 93 insertions(+), 31 deletions(-) diff --git a/zksync_full_stack/src/main.rs b/zksync_full_stack/src/main.rs index d43453ceee35..003fdc69b391 100644 --- a/zksync_full_stack/src/main.rs +++ b/zksync_full_stack/src/main.rs @@ -66,7 +66,7 @@ async fn main() { .await .expect("Failed to perform deposit transaction") }; - + println!(); println!("Deposit transaction hash: {:?}", deposit_transaction_hash); // Deploy contract: @@ -100,11 +100,15 @@ async fn main() { } // Perform a signed transaction calling the setGreeting method - let values = vec![1, 100, 1000, 10000, 1000000]; - + let values = vec![100, 10000, 1000000, 100000000, 1000000000]; + let mut last_message = String::new(); // Replace with your actual last message for &value in &values { - let hex_value = format!("{:0width$X}", value, width = 6); - println!("New message to store: {}", hex_value.yellow()); + println!(); + let hex_value = format!("{:0width$X}", value, width = 64); + if last_message.is_empty() || last_message != hex_value { + println!("New message to store: {}", hex_value); + last_message.clone_from(&hex_value); + } let receipt = zk_wallet .get_era_provider() .unwrap() @@ -124,14 +128,10 @@ async fn main() { let transaction_hash = receipt.transaction_hash; let transaction_hash_formatted = format!("{:#?}", receipt.transaction_hash); - println!( - "storeBytes transaction hash {}", - transaction_hash_formatted.green() - ); - + println!("storeBytes transaction hash {}", transaction_hash_formatted); let l2_transaction = { + // println!("{}", "Getting l2 transaction details with rpc..."); loop { - //println!("Getting l2 transaction details with rpc..."); let l2_transaction = l2_rpc_client .get_transaction_details(transaction_hash) .await @@ -146,34 +146,96 @@ async fn main() { } }; - let gas_per_pubdata_formatted = format!("{:#?}", l2_transaction.gas_per_pubdata); - println!("L2: Gas per pubdata: {}", gas_per_pubdata_formatted.red()); + // let gas_per_pubdata_formatted = format!("{:#?}", l2_transaction.gas_per_pubdata); + // let mut last_gas_per_pubdata = String::new(); // Initialize with your actual last value + + // if last_gas_per_pubdata.is_empty() || last_gas_per_pubdata != gas_per_pubdata_formatted { + // println!("L2: Gas per pubdata: {}", gas_per_pubdata_formatted.red()); + + // // Update last_gas_per_pubdata with the current value + // last_gas_per_pubdata.clone_from(&gas_per_pubdata_formatted); + // } + let mut last_l2_tx_fee = String::new(); let l2_transaction_fee_formatted = format!("{:#?}", l2_transaction.fee); - println!("L2: Fee: {}", l2_transaction_fee_formatted.red()); + if last_l2_tx_fee.is_empty() || last_l2_tx_fee != l2_transaction_fee_formatted { + println!("L2 fee: {}", l2_transaction_fee_formatted.green()); + + // Update last_gas_per_pubdata with the current value + last_l2_tx_fee.clone_from(&l2_transaction_fee_formatted); + } - println!("{}", "Getting l1 transaction details with rpc...".yellow()); + // println!("{}", "Getting l1 transaction details with rpc..."); let l1_transaction = l1_rpc_client .get_transaction_by_hash(l2_transaction.eth_commit_tx_hash.unwrap()) .await .unwrap() .unwrap(); - let l1_transaction_gas_formatted = format!("{:#?}", l1_transaction.gas); - println!("Gas: {}", l1_transaction_gas_formatted.yellow()); - let gas_price_formatted = format!("{:#?}", l1_transaction.gas_price.unwrap()); - println!("Gas price: {}", gas_price_formatted.yellow()); - // println!( - // "Max fee per gas: {:#?}", - // l1_transaction.max_fee_per_gas.unwrap() - // ); - // println!( - // "Max priority fee per gas: {:#?}", - // l1_transaction.max_priority_fee_per_gas.unwrap() - // ); - // println!( - // "Eth tx hash: {:#?}", - // l2_transaction.eth_commit_tx_hash.clone().unwrap() - // ); + // let mut last_l1_transaction_gas = String::new(); + // let l1_transaction_gas_formatted = format!("{:#?}", l1_transaction.gas); + + // if last_l1_transaction_gas.is_empty() + // || last_l1_transaction_gas != l1_transaction_gas_formatted + // { + // println!("Gas: {}", l1_transaction_gas_formatted.yellow()); + // last_l1_transaction_gas = l1_transaction_gas_formatted; + // } + + // let mut last_gas_price = String::new(); + // let gas_price_formatted = format!("{:#?}", l1_transaction.gas_price.unwrap()); + + // if last_gas_price.is_empty() || last_gas_price != gas_price_formatted { + // println!("Gas price: {}", gas_price_formatted.yellow()); + // last_gas_price.clone__from(gas_price_formatted); + // } + + // let mut last_l1_transaction_gas = String::new(); + // let l1_transaction_gas_formatted = format!("{:#?}", l1_transaction.gas); + + // if last_l1_transaction_gas.is_empty() + // || last_l1_transaction_gas != l1_transaction_gas_formatted + // { + // println!("Gas: {}", l1_transaction_gas_formatted.yellow()); + // last_l1_transaction_gas.clone_from(&l1_transaction_gas_formatted); + // } + + // let mut last_gas_price = String::new(); + // let gas_price_formatted = format!("{:#?}", l1_transaction.gas_price.unwrap()); + + // if last_gas_price.is_empty() || last_gas_price != gas_price_formatted { + // println!("Gas price: {}", gas_price_formatted.yellow()); + // last_gas_price = gas_price_formatted; + // } + + let mut last_max_fee_per_gas = String::new(); + let max_fee_per_gas_formatted = format!("{:#?}", l1_transaction.max_fee_per_gas.unwrap()); + + if last_max_fee_per_gas.is_empty() || last_max_fee_per_gas != max_fee_per_gas_formatted { + println!("L1 max fee per gas: {}", max_fee_per_gas_formatted.cyan()); + last_max_fee_per_gas = max_fee_per_gas_formatted; + } + println!() + + // let mut last_max_priority_fee_per_gas = String::new(); + // let max_priority_fee_per_gas_formatted = + // format!("{:#?}", l1_transaction.max_priority_fee_per_gas.unwrap()); + + // if last_max_priority_fee_per_gas.is_empty() + // || last_max_priority_fee_per_gas != max_priority_fee_per_gas_formatted + // { + // println!( + // "Max priority fee per gas: {}", + // max_priority_fee_per_gas_formatted.yellow() + // ); + // last_max_priority_fee_per_gas = max_priority_fee_per_gas_formatted; + // } + + // let eth_tx_hash = l2_transaction.eth_commit_tx_hash.clone().unwrap(); + // println!("Eth tx hash: {:#?}", eth_tx_hash); + + // let eth_tx_hash = l2_transaction.eth_commit_tx_hash.clone().unwrap(); + // println!("Eth tx hash: {:#?}", eth_tx_hash); + // let l1_dbg_trace_transaction = l1_rpc_client // .trace_transaction(l2_transaction.eth_commit_tx_hash.unwrap(), None) // .await From f8edfa46e5d26dfe8b3645fff9990b5174897511 Mon Sep 17 00:00:00 2001 From: toni-calvin Date: Wed, 10 Jan 2024 19:22:13 +0100 Subject: [PATCH 09/29] add better logs --- .gitmodules | 4 +++ zksync_full_stack/src/main.rs | 60 +++++++++++++++++++++++++++-------- 2 files changed, 51 insertions(+), 13 deletions(-) diff --git a/.gitmodules b/.gitmodules index 445344c3f204..f7aaf61f3d99 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,7 @@ [submodule "contracts"] path = contracts url = https://github.com/matter-labs/era-contracts.git + +[submodule "era-contracts-lambda"] +path = era-contracts-lambda +url = https://github.com/matter-labs/era-contracts.git diff --git a/zksync_full_stack/src/main.rs b/zksync_full_stack/src/main.rs index 003fdc69b391..3b31bf1d765d 100644 --- a/zksync_full_stack/src/main.rs +++ b/zksync_full_stack/src/main.rs @@ -11,6 +11,7 @@ use tokio::time::sleep; use zksync_web3_decl::{ jsonrpsee::http_client::HttpClientBuilder, namespaces::{EthNamespaceClient, ZksNamespaceClient}, + types::U256, }; use zksync_web3_rs::{ providers::{Middleware, Provider}, @@ -100,8 +101,18 @@ async fn main() { } // Perform a signed transaction calling the setGreeting method - let values = vec![100, 10000, 1000000, 100000000, 1000000000]; + let values: Vec = vec![ + 1000000000, + 10000000000, + 100000000000, + 1000000000000, + 10000000000000, + ]; let mut last_message = String::new(); // Replace with your actual last message + + let mut last_l2_tx_fee = U256::zero(); + let mut last_l1_max_fee_per_gas = U256::zero(); + for &value in &values { println!(); let hex_value = format!("{:0width$X}", value, width = 64); @@ -155,15 +166,22 @@ async fn main() { // // Update last_gas_per_pubdata with the current value // last_gas_per_pubdata.clone_from(&gas_per_pubdata_formatted); // } - let mut last_l2_tx_fee = String::new(); - let l2_transaction_fee_formatted = format!("{:#?}", l2_transaction.fee); - if last_l2_tx_fee.is_empty() || last_l2_tx_fee != l2_transaction_fee_formatted { - println!("L2 fee: {}", l2_transaction_fee_formatted.green()); - // Update last_gas_per_pubdata with the current value - last_l2_tx_fee.clone_from(&l2_transaction_fee_formatted); + let l2_tx_fee_formatted = format!("{:#?}", l2_transaction.fee); + println!("L2 fee: {}", l2_tx_fee_formatted.green()); + + let diff_tx_fee_formatted = format!("{:#?}", l2_transaction.fee.abs_diff(last_l2_tx_fee)); + + if l2_transaction.fee.ge(&last_l2_tx_fee) { + println!("Diff with last fee: {}", diff_tx_fee_formatted.magenta()); + } else { + println!( + "Diff with last fee: {}", + ("-".to_owned() + &diff_tx_fee_formatted).magenta() + ); } + last_l2_tx_fee.clone_from(&l2_transaction.fee); // println!("{}", "Getting l1 transaction details with rpc..."); let l1_transaction = l1_rpc_client .get_transaction_by_hash(l2_transaction.eth_commit_tx_hash.unwrap()) @@ -207,13 +225,29 @@ async fn main() { // last_gas_price = gas_price_formatted; // } - let mut last_max_fee_per_gas = String::new(); - let max_fee_per_gas_formatted = format!("{:#?}", l1_transaction.max_fee_per_gas.unwrap()); - - if last_max_fee_per_gas.is_empty() || last_max_fee_per_gas != max_fee_per_gas_formatted { - println!("L1 max fee per gas: {}", max_fee_per_gas_formatted.cyan()); - last_max_fee_per_gas = max_fee_per_gas_formatted; + let l1_max_fee_per_gas = l1_transaction.max_fee_per_gas.unwrap(); + let l1_max_fee_per_gas_formatted = format!("{:#?}", l1_max_fee_per_gas); + println!( + "L1 max fee per gas: {}", + l1_max_fee_per_gas_formatted.cyan() + ); + + let diff_l1_max_fee_per_gas_formatted = format!( + "{:#?}", + l1_max_fee_per_gas.abs_diff(last_l1_max_fee_per_gas) + ); + if l1_max_fee_per_gas.ge(&last_l1_max_fee_per_gas) { + println!( + "Diff with last fee: {}", + diff_l1_max_fee_per_gas_formatted.magenta() + ); + } else { + println!( + "Diff with last fee: {}", + ("-".to_owned() + &diff_l1_max_fee_per_gas_formatted).magenta() + ); } + last_l1_max_fee_per_gas.clone_from(&l1_max_fee_per_gas); println!() // let mut last_max_priority_fee_per_gas = String::new(); From 240c0a8257ee9ace2106762353c72d54e7f08769 Mon Sep 17 00:00:00 2001 From: toni-calvin Date: Fri, 12 Jan 2024 14:47:41 +0100 Subject: [PATCH 10/29] add erc20 contract and update test --- zksync_full_stack/ERC20.abi | 416 ++++++++++++++++++++++++++++++++++ zksync_full_stack/ERC20.bin | 1 + zksync_full_stack/src/main.rs | 262 +++++++++------------ 3 files changed, 527 insertions(+), 152 deletions(-) create mode 100644 zksync_full_stack/ERC20.abi create mode 100644 zksync_full_stack/ERC20.bin diff --git a/zksync_full_stack/ERC20.abi b/zksync_full_stack/ERC20.abi new file mode 100644 index 000000000000..b6148fda6515 --- /dev/null +++ b/zksync_full_stack/ERC20.abi @@ -0,0 +1,416 @@ +[ + { + "inputs": [ + { + "internalType": "string", + "name": "name_", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol_", + "type": "string" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "_afterTokenTransfer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "_approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "_beforeTokenTransfer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "_burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "_mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "_transfer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256" + } + ], + "name": "increaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } +] diff --git a/zksync_full_stack/ERC20.bin b/zksync_full_stack/ERC20.bin new file mode 100644 index 000000000000..97fc9e067063 --- /dev/null +++ b/zksync_full_stack/ERC20.bin @@ -0,0 +1 @@ +00010000000000020008000000000002000000000701034f00000000000703550000008001000039000000400010043f0000000001070019000000600110027000000152011001970000000102200190000000370000c13d000000040210008c0000038b0000413d000000000207043b000000e0022002700000015a0320009c000001230000a13d0000015b0320009c0000013a0000a13d0000015c0320009c000001660000a13d0000015d0320009c000001f00000613d0000015e0320009c000001b10000613d0000015f0220009c0000038b0000c13d0000000002000416000000000202004b0000038b0000c13d000000040110008a000000400110008c0000038b0000413d0000000401700370000000000101043b000001720210009c0000038b0000213d0000002402700370000000000302043b000001720230009c0000038b0000213d00000000001004350000000101000039000000200010043f0000004002000039000800000002001d0000000001000019000700000003001d054405240000040f00000007020000290000000000200435000000200010043f00000000010000190000000802000029000002a40000013d0000000002000416000000000202004b0000038b0000c13d0000015302100041000001540220009c000000430000213d000001850100004100000000001004350000004101000039000000040010043f000001860100004100000546000104300000009f021000390000015502200197000000400020043f0000001f0210018f0000000503100272000000520000613d00000000040000190000000505400210000000000657034f000000000606043b000000800550003900000000006504350000000104400039000000000534004b0000004a0000413d000000000402004b000000610000613d0000000503300210000000000437034f00000003022002100000008003300039000000000503043300000000052501cf000000000525022f000000000404043b0000010002200089000000000424022f00000000022401cf000000000252019f0000000000230435000000400210008c0000038b0000413d000000800500043d000001560250009c0000038b0000213d00000080021000390000009f03500039000000000323004b0000038b0000813d00000080045000390000000003040433000001560630009c0000003d0000213d0000003f06300039000000200900008a000000000696016f000000400a00043d00000000066a00190000000007a6004b00000000070000190000000107004039000001560860009c0000003d0000213d00000001077001900000003d0000c13d000000400060043f000000000b3a04360000000005350019000000a005500039000000000525004b0000038b0000213d000000000503004b0000008a0000613d000000000500001900000020055000390000000006a50019000000000745001900000000070704330000000000760435000000000635004b000000830000413d00000000033b00190000000000030435000000a00400043d000001560340009c0000038b0000213d0000001f034000390000015705000041000000000113004b000000000100001900000000010580190000015703300197000000000603004b0000000005008019000001570330009c000000000501c019000000000105004b0000038b0000c13d00000080034000390000000001030433000001560510009c0000003d0000213d0000003f05100039000000000595016f000000400800043d0000000005580019000000000685004b00000000060000190000000106004039000001560750009c0000003d0000213d00000001066001900000003d0000c13d000000400050043f0000000005180436000800000005001d0000000004140019000000a004400039000000000224004b0000038b0000213d00040000000b001d00070000000a001d000500000009001d000000000201004b000000be0000613d000000000200001900000020022000390000000004820019000000000532001900000000050504330000000000540435000000000412004b000000b70000413d0000000801100029000000000001043500000007010000290000000001010433000600000001001d000001560110009c0000003d0000213d000100000008001d0000000301000039000300000001001d000000000101041a000000010210019000000001011002700000007f0310018f000000000301c019000200000003001d0000001f0130008c00000000010000190000000101002039000000010110018f000000000112004b000002870000c13d0000000201000029000000200110008c000000f40000413d0000000301000029000000000010043500000152010000410000000002000414000001520320009c0000000002018019000000c00120021000000158011001c700008010020000390544053f0000040f00000001022001900000038b0000613d00000006030000290000001f023000390000000502200270000000200330008c0000000002004019000000000301043b00000002010000290000001f01100039000000050110027000000000011300190000000002230019000000000312004b000000f40000813d000000000002041b0000000102200039000000000312004b000000f00000413d00000006010000290000001f0110008c000003910000a13d0000000301000029000000000010043500000152010000410000000002000414000001520320009c0000000002018019000000c00120021000000158011001c700008010020000390544053f0000040f0000000102200190000000050200002900000007060000290000038b0000613d00000006032001800000002002000039000000000101043b000001130000613d0000002002000039000000000400001900000000056200190000000005050433000000000051041b000000200220003900000001011000390000002004400039000000000534004b0000010b0000413d000000060330006c0000011f0000813d00000006030000290000000303300210000000f80330018f000000010400008a000000000334022f000000000343013f00000007022000290000000002020433000000000232016f000000000021041b0000000601000029000000010110021000000001011001bf0000039e0000013d000001670320009c0000015a0000213d0000016d0320009c000001a40000213d000001700320009c000002070000613d000001710220009c0000038b0000c13d0000000002000416000000000202004b0000038b0000c13d000000040110008a000000400110008c0000038b0000413d0000000401700370000000000201043b000001720120009c0000038b0000213d0000002401700370000000000301043b0000000001000411054404ca0000040f000001fe0000013d000001620320009c000001ad0000213d000001650320009c000002200000613d000001660220009c0000038b0000c13d0000000002000416000000000202004b0000038b0000c13d000000040110008a000000400110008c0000038b0000413d0000000401700370000000000401043b000001720140009c0000038b0000213d0000002401700370000000000201043b000000000104004b000002ba0000c13d0000017801000041000000800010043f0000002001000039000000840010043f0000002101000039000000a40010043f0000018001000041000000c40010043f0000018101000041000000e40010043f00000182010000410000054600010430000001680320009c000001b60000213d0000016b0320009c000002380000613d0000016c0220009c0000038b0000c13d0000000002000416000000000202004b0000038b0000c13d0544042c0000040f054404460000040f000002900000013d000001600320009c000002780000613d000001610220009c0000038b0000c13d0000000002000416000000000202004b0000038b0000c13d000000040110008a000000400110008c0000038b0000413d0000000401700370000000000101043b000800000001001d000001720110009c0000038b0000213d0000002401700370000000000101043b000700000001001d0000000001000411000500000001001d00000000001004350000000101000039000600000001001d000000200010043f00000152030000410000000001000414000001520210009c0000000001038019000000c00110021000000175011001c700008010020000390544053f0000040f00000001022001900000038b0000613d000000000101043b00000008020000290000000000200435000000200010043f0000000001000414000001520210009c0000015201008041000000c00110021000000175011001c700008010020000390544053f0000040f00000001022001900000038b0000613d000000000101043b000000000101041a0000000703000029000000000231004b000003530000813d000000400100043d00000064021000390000017603000041000000000032043500000044021000390000017703000041000000000032043500000024021000390000002503000039000002d60000013d0000016e0320009c0000028b0000613d0000016f0120009c0000038b0000c13d0000000001000416000000000101004b0000038b0000c13d0000000201000039000002a50000013d000001630320009c000002960000613d000001640220009c0000038b0000c13d0000000002000416000000000202004b0000038b0000c13d0544042c0000040f000002900000013d000001690320009c000002a70000613d0000016a0220009c0000038b0000c13d0000000002000416000000000202004b0000038b0000c13d000000040110008a000000400110008c0000038b0000413d0000000401700370000000000101043b000800000001001d000001720110009c0000038b0000213d0000000001000411000500000001001d00000000001004350000000101000039000600000001001d000000200010043f00000152030000410000000001000414000001520210009c0000000001038019000000c00110021000000175011001c7000080100200003900070000000703530544053f0000040f000000070300035f00000001022001900000038b0000613d000000000101043b00000008020000290000000000200435000000200010043f0000002401300370000000000101043b000700000001001d0000000001000414000001520210009c0000015201008041000000c00110021000000175011001c700008010020000390544053f0000040f00000001022001900000038b0000613d000000000101043b000000000101041a0000000703100029000000000113004b000000000100001900000001010040390000000101100190000003540000613d000003000000013d0000000002000416000000000202004b0000038b0000c13d000000040110008a000000400110008c0000038b0000413d0000000401700370000000000201043b000001720120009c0000038b0000213d0000002401700370000000000301043b0000000001000411054404460000040f0000000101000039000000400200043d00000000001204350000015201000041000001520320009c0000000002018019000000400120021000000174011001c7000005450001042e0000000001000416000000000101004b0000038b0000c13d0000000303000039000000000203041a000000010420019000000001052002700000007f0650018f000000000605c0190000001f0560008c00000000050000190000000105002039000000000552013f0000000105500190000002870000c13d000000800060043f000000000404004b000002e20000c13d000001000300008a000000000232016f000000a00020043f000000000106004b000000c001000039000000a001006039000002f10000013d0000000002000416000000000202004b0000038b0000c13d000000040110008a000000400110008c0000038b0000413d0000000401700370000000000401043b000001720140009c0000038b0000213d0000002401700370000000000501043b000000000104004b000002f80000c13d0000017801000041000000800010043f0000002001000039000000840010043f0000001f01000039000000a40010043f0000018301000041000000c40010043f000001840100004100000546000104300000000002000416000000000202004b0000038b0000c13d000000040110008a000000600110008c0000038b0000413d0000000401700370000000000101043b000001720210009c0000038b0000213d0000002402700370000000000202043b000001720320009c0000038b0000213d0000004403700370000000000303043b000700000003001d000800000001001d054404460000040f000000080100002900000000001004350000000101000039000600000001001d000000200010043f00000152030000410000000001000414000001520210009c0000000001038019000000c00110021000000175011001c700008010020000390544053f0000040f00000001022001900000038b0000613d000000000101043b0000000002000411000500000002001d0000000000200435000000200010043f0000000001000414000001520210009c0000015201008041000000c00110021000000175011001c700008010020000390544053f0000040f000000080400002900000001022001900000038b0000613d000000000101043b000000000101041a0000000703000029000000000231004b0000038d0000813d000000400100043d00000064021000390000018703000041000000000032043500000044021000390000018803000041000000000032043500000024021000390000002803000039000002d60000013d0000000001000416000000000101004b0000038b0000c13d0000000403000039000000000203041a000000010420019000000001052002700000007f0650018f000000000605c0190000001f0560008c00000000050000190000000105002039000000000552013f0000000105500190000002b00000613d000001850100004100000000001004350000002201000039000000400000013d0000000002000416000000000202004b0000038b0000c13d0544042c0000040f054404ca0000040f0000015201000041000000400200043d000001520320009c00000000020180190000004001200210000005450001042e0000000002000416000000000202004b0000038b0000c13d000000040110008a000000200110008c0000038b0000413d0000000401700370000000000101043b000001720210009c0000038b0000213d0000000000100435000000200000043f00000040020000390000000001000019054405240000040f000000000101041a000002ad0000013d0000000001000416000000000101004b0000038b0000c13d0000000501000039000000000101041a000000ff0110018f000000800010043f0000017301000041000005450001042e000000800060043f000000000404004b000003040000c13d000001000300008a000000000232016f000000a00020043f000000000106004b000000c001000039000000a001006039000003130000013d000700000002001d0000000000400435000000200000043f00000152010000410000000002000414000001520320009c0000000002018019000000c00120021000000175011001c70000801002000039000800000004001d0544053f0000040f000000080300002900000001022001900000038b0000613d000000000101043b000000000201041a000000070120006c000003600000813d000000400100043d00000064021000390000017e03000041000000000032043500000044021000390000017f030000410000000000320435000000240210003900000022030000390000000000320435000001780200004100000000002104350000000402100039000000200300003900000000003204350000015202000041000001520310009c0000000001028019000000400110021000000179011001c700000546000104300000000000300435000000a001000039000000000206004b000003190000613d000001890200004100000000040000190000000003040019000000000402041a000000a005300039000000000045043500000001022000390000002004300039000000000564004b000002e80000413d000000c0013000390000001f01100039000000200200008a000000000121016f0000017b021000410000017c0220009c0000003d0000413d000003190000013d0000000201000039000000000301041a0000000002530019000000000332004b000000000300001900000001030040390000000103300190000003280000613d000001850100004100000000001004350000001101000039000000400000013d0000000000300435000000a001000039000000000206004b000003190000613d0000017a0200004100000000040000190000000003040019000000000402041a000000a005300039000000000045043500000001022000390000002004300039000000000564004b0000030a0000413d000000c0013000390000001f01100039000000200200008a000000000121016f0000017b021000410000017c0220009c0000003d0000413d000800000001001d000000400010043f0000008002000039054404160000040f000000080400002900000000014100490000015202000041000001520310009c0000000001028019000001520340009c000000000402801900000040024002100000006001100210000000000121019f000005450001042e000700000005001d000000000021041b0000000000400435000000200000043f00000152010000410000000002000414000001520320009c0000000002018019000000c00120021000000175011001c70000801002000039000800000004001d0544053f0000040f000000080600002900000001022001900000038b0000613d000000000101043b000000000301041a00000007040000290000000002430019000000000332004b000000000300001900000001030040390000000103300190000003000000c13d000000000021041b000000400100043d000000000041043500000152020000410000000003000414000001520430009c0000000003028019000001520410009c00000000010280190000004001100210000000c002300210000000000112019f00000158011001c70000800d0200003900000003030000390000017d040000410000000005000019000003880000013d000000000331004900000005010000290000000802000029054404ca0000040f000000400100043d000000060200002900000000002104350000015202000041000001520310009c0000000001028019000000400110021000000174011001c7000005450001042e000600000002001d0000000000300435000000200000043f00000152010000410000000002000414000001520320009c0000000002018019000000c00120021000000175011001c700008010020000390544053f0000040f000000080500002900000001022001900000038b0000613d00000007040000290000000602400069000000000101043b000000000021041b0000000201000039000000000201041a000000000342004b000003000000413d0000000002420049000000000021041b000000400100043d000000000041043500000152020000410000000003000414000001520430009c0000000003028019000001520410009c00000000010280190000004001100210000000c002300210000000000112019f00000158011001c70000800d0200003900000003030000390000017d0400004100000000060000190544053a0000040f0000000101200190000002900000c13d00000000010000190000054600010430000000000331004900000000010400190000000502000029000003560000013d000000060100006b0000000001000019000003960000613d0000000401000029000000000101043300000006040000290000000302400210000000010300008a000000000223022f000000000232013f000000000121016f0000000102400210000000000121019f0000000302000029000000000012041b00000001010000290000000001010433000700000001001d000001560110009c0000003d0000213d0000000401000039000600000001001d000000000101041a000000010210019000000001021002700000007f0320018f000000000302c019000400000003001d0000001f0230008c00000000020000190000000102002039000000000121013f0000000101100190000002870000c13d0000000401000029000000200110008c000003d30000413d0000000601000029000000000010043500000152010000410000000002000414000001520320009c0000000002018019000000c00120021000000158011001c700008010020000390544053f0000040f00000001022001900000038b0000613d00000007030000290000001f023000390000000502200270000000200330008c0000000002004019000000000301043b00000004010000290000001f01100039000000050110027000000000011300190000000002230019000000000312004b000003d30000813d000000000002041b0000000102200039000000000312004b000003cf0000413d00000007010000290000001f0110008c000004020000a13d0000000601000029000000000010043500000152010000410000000002000414000001520320009c0000000002018019000000c00120021000000158011001c700008010020000390544053f0000040f0000000102200190000000050200002900000001060000290000038b0000613d00000007032001800000002002000039000000000101043b000003f20000613d0000002002000039000000000400001900000000056200190000000005050433000000000051041b000000200220003900000001011000390000002004400039000000000534004b000003ea0000413d000000070330006c000003fe0000813d00000007030000290000000303300210000000f80330018f000000010400008a000000000334022f000000000343013f00000001022000290000000002020433000000000232016f000000000021041b0000000101000039000000070200002900000001022002100000040e0000013d000000070100006b0000000001000019000004070000613d0000000801000029000000000101043300000007040000290000000302400210000000010300008a000000000223022f000000000232013f000000000221016f0000000101400210000000000112019f0000000602000029000000000012041b0000002001000039000001000010044300000120000004430000015901000041000005450001042e00000020030000390000000004310436000000000302043300000000003404350000004001100039000000000403004b000004250000613d000000000400001900000000054100190000002004400039000000000624001900000000060604330000000000650435000000000534004b0000041e0000413d000000000231001900000000000204350000001f02300039000000200300008a000000000232016f0000000001210019000000000001042d000000040110008a00000157020000410000005f0310008c000000000300001900000000030220190000015701100197000000000401004b0000000002008019000001570110009c000000000203c019000000000102004b000004440000613d00000000030003670000000401300370000000000101043b000001720210009c000004440000213d0000002402300370000000000202043b000001720420009c000004440000213d0000004403300370000000000303043b000000000001042d00000000010000190000054600010430000400000000000200000172011001980000049b0000613d000400000003001d000201720020019c000004a50000613d000300000001001d0000000000100435000000200000043f00000152010000410000000002000414000001520320009c0000000002018019000000c00120021000000175011001c700008010020000390544053f0000040f0000000102200190000004990000613d000000000101043b000000000201041a000100000002001d000000040120006c000004af0000413d00000003010000290000000000100435000000200000043f00000152030000410000000001000414000001520210009c0000000001038019000000c00110021000000175011001c700008010020000390544053f0000040f0000000102200190000004990000613d0000000103000029000000040230006a000000000101043b000000000021041b000000020100002900000000001004350000000001000414000001520210009c0000015201008041000000c00110021000000175011001c700008010020000390544053f0000040f0000000102200190000004990000613d000000000101043b000000000301041a00000004040000290000000002430019000000000332004b000000000300001900000001030040390000000103300190000004c40000c13d000000000021041b000000400100043d000000000041043500000152020000410000000003000414000001520430009c0000000003028019000001520410009c00000000010280190000004001100210000000c002300210000000000112019f00000158011001c70000800d0200003900000003030000390000017d04000041000000030500002900000002060000290544053a0000040f0000000101200190000004990000613d000000000001042d00000000010000190000054600010430000000400100043d00000064021000390000018e03000041000000000032043500000044021000390000018f03000041000000000032043500000024021000390000002503000039000004b80000013d000000400100043d00000064021000390000018c03000041000000000032043500000044021000390000018d03000041000000000032043500000024021000390000002303000039000004b80000013d000000400100043d00000064021000390000018a03000041000000000032043500000044021000390000018b030000410000000000320435000000240210003900000026030000390000000000320435000001780200004100000000002104350000000402100039000000200300003900000000003204350000015202000041000001520310009c0000000001028019000000400110021000000179011001c70000054600010430000001850100004100000000001004350000001101000039000000040010043f0000018601000041000005460001043000030000000000020000017201100198000005050000613d000200000003001d000301720020019c0000050f0000613d000100000001001d00000000001004350000000101000039000000200010043f00000152030000410000000001000414000001520210009c0000000001038019000000c00110021000000175011001c700008010020000390544053f0000040f00000001022001900000000303000029000005030000613d000000000101043b0000000000300435000000200010043f0000000001000414000001520210009c0000015201008041000000c00110021000000175011001c700008010020000390544053f0000040f00000003060000290000000102200190000005030000613d000000000101043b0000000202000029000000000021041b000000400100043d000000000021043500000152020000410000000003000414000001520430009c0000000003028019000001520410009c00000000010280190000004001100210000000c002300210000000000112019f00000158011001c70000800d020000390000000303000039000001900400004100000001050000290544053a0000040f0000000101200190000005030000613d000000000001042d00000000010000190000054600010430000000400100043d00000064021000390000019303000041000000000032043500000044021000390000019403000041000000000032043500000024021000390000002403000039000005180000013d000000400100043d000000640210003900000191030000410000000000320435000000440210003900000192030000410000000000320435000000240210003900000022030000390000000000320435000001780200004100000000002104350000000402100039000000200300003900000000003204350000015202000041000001520310009c0000000001028019000000400110021000000179011001c700000546000104300000015203000041000001520410009c00000000010380190000004001100210000001520420009c00000000020380190000006002200210000000000112019f0000000002000414000001520420009c0000000002038019000000c002200210000000000112019f00000195011001c700008010020000390544053f0000040f0000000102200190000005380000613d000000000101043b000000000001042d000000000100001900000546000104300000053d002104210000000102000039000000000001042d0000000002000019000000000001042d00000542002104230000000102000039000000000001042d0000000002000019000000000001042d0000054400000432000005450001042e0000054600010430000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009fffffffffffffffffffffffffffffffffffffffffffffffff000000000000007f00000000000000000000000000000000000000000000000000000001ffffffe0000000000000000000000000000000000000000000000000ffffffffffffffff800000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000200000000000000000000000000000000200000000000000000000000000000040000001000000000000000000000000000000000000000000000000000000000000000000000000004e6ec2460000000000000000000000000000000000000000000000000000000095d89b4000000000000000000000000000000000000000000000000000000000a9059cba00000000000000000000000000000000000000000000000000000000a9059cbb00000000000000000000000000000000000000000000000000000000cad3be8300000000000000000000000000000000000000000000000000000000dd62ed3e0000000000000000000000000000000000000000000000000000000095d89b4100000000000000000000000000000000000000000000000000000000a457c2d70000000000000000000000000000000000000000000000000000000070a082300000000000000000000000000000000000000000000000000000000070a08231000000000000000000000000000000000000000000000000000000008f811a1c000000000000000000000000000000000000000000000000000000004e6ec247000000000000000000000000000000000000000000000000000000006161eb180000000000000000000000000000000000000000000000000000000023b872dc00000000000000000000000000000000000000000000000000000000313ce56600000000000000000000000000000000000000000000000000000000313ce56700000000000000000000000000000000000000000000000000000000395093510000000000000000000000000000000000000000000000000000000023b872dd0000000000000000000000000000000000000000000000000000000030e0789e00000000000000000000000000000000000000000000000000000000104e81fe00000000000000000000000000000000000000000000000000000000104e81ff0000000000000000000000000000000000000000000000000000000018160ddd0000000000000000000000000000000000000000000000000000000006fdde0300000000000000000000000000000000000000000000000000000000095ea7b3000000000000000000000000ffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000002000000080000000000000000000000000000000000000000000000000000000200000000000000000000000000200000000000000000000000000000000000040000000000000000000000000207a65726f00000000000000000000000000000000000000000000000000000045524332303a2064656372656173656420616c6c6f77616e63652062656c6f7708c379a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000840000000000000000000000008a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19bffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffffff0000000000000080ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef636500000000000000000000000000000000000000000000000000000000000045524332303a206275726e20616d6f756e7420657863656564732062616c616e45524332303a206275726e2066726f6d20746865207a65726f206164647265737300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008400000080000000000000000045524332303a206d696e7420746f20746865207a65726f20616464726573730000000000000000000000000000000000000000640000008000000000000000004e487b710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000000000000000006c6c6f77616e636500000000000000000000000000000000000000000000000045524332303a207472616e7366657220616d6f756e7420657863656564732061c2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b616c616e6365000000000000000000000000000000000000000000000000000045524332303a207472616e7366657220616d6f756e7420657863656564732062657373000000000000000000000000000000000000000000000000000000000045524332303a207472616e7366657220746f20746865207a65726f2061646472647265737300000000000000000000000000000000000000000000000000000045524332303a207472616e736665722066726f6d20746865207a65726f2061648c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925737300000000000000000000000000000000000000000000000000000000000045524332303a20617070726f766520746f20746865207a65726f206164647265726573730000000000000000000000000000000000000000000000000000000045524332303a20617070726f76652066726f6d20746865207a65726f206164640200000000000000000000000000000000000000000000000000000000000000f7b6a0ef06930cfb358d73424bfb79061f7dc9a44ad5004b52f294ee14c39e12 \ No newline at end of file diff --git a/zksync_full_stack/src/main.rs b/zksync_full_stack/src/main.rs index 3b31bf1d765d..0e61254baf72 100644 --- a/zksync_full_stack/src/main.rs +++ b/zksync_full_stack/src/main.rs @@ -1,17 +1,12 @@ use std::{str::FromStr, time::Duration}; use colored::Colorize; -use ethers::{ - abi::{Abi, AbiEncode}, - providers::Http, - utils::parse_units, -}; +use ethers::{abi::Abi, providers::Http, utils::parse_units}; use loadnext::config::LoadtestConfig; use tokio::time::sleep; use zksync_web3_decl::{ jsonrpsee::http_client::HttpClientBuilder, namespaces::{EthNamespaceClient, ZksNamespaceClient}, - types::U256, }; use zksync_web3_rs::{ providers::{Middleware, Provider}, @@ -24,8 +19,8 @@ use zksync_web3_rs::{ static ERA_PROVIDER_URL: &str = "http://127.0.0.1:3050"; static PRIVATE_KEY: &str = "7726827caac94a7f9e1b160f7ea819f172f7b6f9d2a97f992c38edeab82d4110"; -static CONTRACT_BIN: &str = include_str!("../BytesWriter.bin"); -static CONTRACT_ABI: &str = include_str!("../BytesWriter.abi"); +static CONTRACT_BIN: &str = include_str!("../ERC20.bin"); +static CONTRACT_ABI: &str = include_str!("../ERC20.abi"); static L1_URL: &str = "http://localhost:8545"; @@ -77,8 +72,12 @@ async fn main() { let contract_bin = hex::decode(CONTRACT_BIN).unwrap().to_vec(); // DeployRequest sets the parameters for the constructor call and the deployment transaction. - let request = DeployRequest::with(abi, contract_bin, vec!["0x0016".to_owned()]) - .from(zk_wallet.l2_address()); + let request = DeployRequest::with( + abi, + contract_bin, + vec!["ToniToken".to_owned(), "teth".to_owned()], + ) + .from(zk_wallet.l2_address()); // Send the deployment transaction and wait until we receive the contract address. let address = zk_wallet.deploy(&request).await.unwrap(); @@ -88,47 +87,110 @@ async fn main() { address }; - // Call the greet view method: { let era_provider = zk_wallet.get_era_provider().unwrap(); - let call_request = CallRequest::new(contract_address, "readBytes()(bytes)".to_owned()); + let call_request_name = CallRequest::new(contract_address, "name()(string)".to_owned()); + + let name_message = ZKSProvider::call(era_provider.as_ref(), &call_request_name) + .await + .unwrap(); + + println!("Token name: {}", name_message[0]); - let bytes_message = ZKSProvider::call(era_provider.as_ref(), &call_request) + let call_request_symbol = CallRequest::new(contract_address, "symbol()(string)".to_owned()); + + let symbol_message = ZKSProvider::call(era_provider.as_ref(), &call_request_symbol) .await .unwrap(); - println!("Bytes stored in contract: {}", bytes_message[0]); + println!("Token symbol: {}", symbol_message[0]); } - // Perform a signed transaction calling the setGreeting method - let values: Vec = vec![ - 1000000000, - 10000000000, - 100000000000, - 1000000000000, - 10000000000000, - ]; - let mut last_message = String::new(); // Replace with your actual last message + println!(); + + println!("{}", "Mint".bright_magenta()); + let receipt_mint = zk_wallet + .get_era_provider() + .unwrap() + .clone() + .send_eip712( + &zk_wallet.l2_wallet, + contract_address, + "_mint(address, uint256)", + Some( + [ + "bBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB".into(), + "100000".into(), + ] + .into(), + ), + None, + ) + .await + .unwrap() + .await + .unwrap() + .unwrap(); - let mut last_l2_tx_fee = U256::zero(); - let mut last_l1_max_fee_per_gas = U256::zero(); + let transaction_hash_mint = receipt_mint.transaction_hash; + let transaction_hash_formatted_mint = format!("{:#?}", receipt_mint.transaction_hash); + println!("transaction hash {}", transaction_hash_formatted_mint); + let l2_transaction_mint = { + // println!("{}", "Getting l2 transaction details with rpc..."); + loop { + let l2_transaction = l2_rpc_client + .get_transaction_details(transaction_hash_mint) + .await + .unwrap() + .unwrap(); + + if l2_transaction.eth_commit_tx_hash.is_some() { + break l2_transaction.clone(); + } - for &value in &values { - println!(); - let hex_value = format!("{:0width$X}", value, width = 64); - if last_message.is_empty() || last_message != hex_value { - println!("New message to store: {}", hex_value); - last_message.clone_from(&hex_value); + sleep(Duration::from_secs(1)).await; // Adjust the duration as needed } - let receipt = zk_wallet + }; + + let l2_tx_fee_formatted_mint = format!("{:#?}", l2_transaction_mint.fee); + println!("L2 fee: {}", l2_tx_fee_formatted_mint.green()); + + let l1_transaction_mint = l1_rpc_client + .get_transaction_by_hash(l2_transaction_mint.eth_commit_tx_hash.unwrap()) + .await + .unwrap() + .unwrap(); + + let l1_max_fee_per_gas_mint = l1_transaction_mint.max_fee_per_gas.unwrap(); + let l1_max_fee_per_gas_formatted_mint = format!("{:#?}", l1_max_fee_per_gas_mint); + println!( + "L1 max fee per gas: {}", + l1_max_fee_per_gas_formatted_mint.cyan() + ); + println!(); + + let values: Vec<&str> = vec![ + "1000", "2000", "3000", "4000", "5000", "6000", "7000", "8000", "9000", "10000", + ]; + + for &value in &values { + println!("Transfer {}", value.bright_magenta()); + let receipt_transfer = zk_wallet .get_era_provider() .unwrap() .clone() .send_eip712( &zk_wallet.l2_wallet, contract_address, - "writeBytes(bytes)", - Some([hex_value].into()), + "_transfer(address, address, uint256)", + Some( + [ + "bBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB".into(), + "CD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826".into(), + value.into(), + ] + .into(), + ), None, ) .await @@ -137,14 +199,15 @@ async fn main() { .unwrap() .unwrap(); - let transaction_hash = receipt.transaction_hash; - let transaction_hash_formatted = format!("{:#?}", receipt.transaction_hash); - println!("storeBytes transaction hash {}", transaction_hash_formatted); - let l2_transaction = { + let transaction_hash_transfer = receipt_transfer.transaction_hash; + let transaction_hash_formatted_transfer = + format!("{:#?}", receipt_transfer.transaction_hash); + println!("transaction hash {}", transaction_hash_formatted_transfer); + let l2_transaction_transfer = { // println!("{}", "Getting l2 transaction details with rpc..."); loop { let l2_transaction = l2_rpc_client - .get_transaction_details(transaction_hash) + .get_transaction_details(transaction_hash_transfer) .await .unwrap() .unwrap(); @@ -157,126 +220,21 @@ async fn main() { } }; - // let gas_per_pubdata_formatted = format!("{:#?}", l2_transaction.gas_per_pubdata); - // let mut last_gas_per_pubdata = String::new(); // Initialize with your actual last value - - // if last_gas_per_pubdata.is_empty() || last_gas_per_pubdata != gas_per_pubdata_formatted { - // println!("L2: Gas per pubdata: {}", gas_per_pubdata_formatted.red()); - - // // Update last_gas_per_pubdata with the current value - // last_gas_per_pubdata.clone_from(&gas_per_pubdata_formatted); - // } - - let l2_tx_fee_formatted = format!("{:#?}", l2_transaction.fee); - println!("L2 fee: {}", l2_tx_fee_formatted.green()); - - let diff_tx_fee_formatted = format!("{:#?}", l2_transaction.fee.abs_diff(last_l2_tx_fee)); - - if l2_transaction.fee.ge(&last_l2_tx_fee) { - println!("Diff with last fee: {}", diff_tx_fee_formatted.magenta()); - } else { - println!( - "Diff with last fee: {}", - ("-".to_owned() + &diff_tx_fee_formatted).magenta() - ); - } + let l2_tx_fee_formatted_transfer = format!("{:#?}", l2_transaction_transfer.fee); + println!("L2 fee: {}", l2_tx_fee_formatted_transfer.green()); - last_l2_tx_fee.clone_from(&l2_transaction.fee); - // println!("{}", "Getting l1 transaction details with rpc..."); - let l1_transaction = l1_rpc_client - .get_transaction_by_hash(l2_transaction.eth_commit_tx_hash.unwrap()) + let l1_transaction_transfer = l1_rpc_client + .get_transaction_by_hash(l2_transaction_transfer.eth_commit_tx_hash.unwrap()) .await .unwrap() .unwrap(); - // let mut last_l1_transaction_gas = String::new(); - // let l1_transaction_gas_formatted = format!("{:#?}", l1_transaction.gas); - - // if last_l1_transaction_gas.is_empty() - // || last_l1_transaction_gas != l1_transaction_gas_formatted - // { - // println!("Gas: {}", l1_transaction_gas_formatted.yellow()); - // last_l1_transaction_gas = l1_transaction_gas_formatted; - // } - - // let mut last_gas_price = String::new(); - // let gas_price_formatted = format!("{:#?}", l1_transaction.gas_price.unwrap()); - - // if last_gas_price.is_empty() || last_gas_price != gas_price_formatted { - // println!("Gas price: {}", gas_price_formatted.yellow()); - // last_gas_price.clone__from(gas_price_formatted); - // } - - // let mut last_l1_transaction_gas = String::new(); - // let l1_transaction_gas_formatted = format!("{:#?}", l1_transaction.gas); - - // if last_l1_transaction_gas.is_empty() - // || last_l1_transaction_gas != l1_transaction_gas_formatted - // { - // println!("Gas: {}", l1_transaction_gas_formatted.yellow()); - // last_l1_transaction_gas.clone_from(&l1_transaction_gas_formatted); - // } - - // let mut last_gas_price = String::new(); - // let gas_price_formatted = format!("{:#?}", l1_transaction.gas_price.unwrap()); - - // if last_gas_price.is_empty() || last_gas_price != gas_price_formatted { - // println!("Gas price: {}", gas_price_formatted.yellow()); - // last_gas_price = gas_price_formatted; - // } - - let l1_max_fee_per_gas = l1_transaction.max_fee_per_gas.unwrap(); - let l1_max_fee_per_gas_formatted = format!("{:#?}", l1_max_fee_per_gas); + let l1_max_fee_per_gas_transfer = l1_transaction_transfer.max_fee_per_gas.unwrap(); + let l1_max_fee_per_gas_formatted_transfer = format!("{:#?}", l1_max_fee_per_gas_transfer); println!( "L1 max fee per gas: {}", - l1_max_fee_per_gas_formatted.cyan() - ); - - let diff_l1_max_fee_per_gas_formatted = format!( - "{:#?}", - l1_max_fee_per_gas.abs_diff(last_l1_max_fee_per_gas) + l1_max_fee_per_gas_formatted_transfer.cyan() ); - if l1_max_fee_per_gas.ge(&last_l1_max_fee_per_gas) { - println!( - "Diff with last fee: {}", - diff_l1_max_fee_per_gas_formatted.magenta() - ); - } else { - println!( - "Diff with last fee: {}", - ("-".to_owned() + &diff_l1_max_fee_per_gas_formatted).magenta() - ); - } - last_l1_max_fee_per_gas.clone_from(&l1_max_fee_per_gas); - println!() - - // let mut last_max_priority_fee_per_gas = String::new(); - // let max_priority_fee_per_gas_formatted = - // format!("{:#?}", l1_transaction.max_priority_fee_per_gas.unwrap()); - - // if last_max_priority_fee_per_gas.is_empty() - // || last_max_priority_fee_per_gas != max_priority_fee_per_gas_formatted - // { - // println!( - // "Max priority fee per gas: {}", - // max_priority_fee_per_gas_formatted.yellow() - // ); - // last_max_priority_fee_per_gas = max_priority_fee_per_gas_formatted; - // } - - // let eth_tx_hash = l2_transaction.eth_commit_tx_hash.clone().unwrap(); - // println!("Eth tx hash: {:#?}", eth_tx_hash); - - // let eth_tx_hash = l2_transaction.eth_commit_tx_hash.clone().unwrap(); - // println!("Eth tx hash: {:#?}", eth_tx_hash); - - // let l1_dbg_trace_transaction = l1_rpc_client - // .trace_transaction(l2_transaction.eth_commit_tx_hash.unwrap(), None) - // .await - // .unwrap() - // .unwrap(); - - // println!("Gas used: {:#?}", l1_dbg_trace_transaction.gas_used); - // println!("Gas: {:#?}", l1_dbg_trace_transaction.gas); + println!(); } } From c683f9ac7297616c196304f0b54f77315ffd136c Mon Sep 17 00:00:00 2001 From: toni-calvin Date: Mon, 15 Jan 2024 14:41:48 +0100 Subject: [PATCH 11/29] update logs --- zksync_full_stack/Context.sol | 23 ++ zksync_full_stack/ERC20.sol | 368 +++++++++++++++++++++++++++ zksync_full_stack/IERC20.sol | 81 ++++++ zksync_full_stack/IERC20Metadata.sol | 27 ++ zksync_full_stack/src/main.rs | 78 +++++- 5 files changed, 569 insertions(+), 8 deletions(-) create mode 100644 zksync_full_stack/Context.sol create mode 100644 zksync_full_stack/ERC20.sol create mode 100644 zksync_full_stack/IERC20.sol create mode 100644 zksync_full_stack/IERC20Metadata.sol diff --git a/zksync_full_stack/Context.sol b/zksync_full_stack/Context.sol new file mode 100644 index 000000000000..df4427b9ebda --- /dev/null +++ b/zksync_full_stack/Context.sol @@ -0,0 +1,23 @@ +// SPDX-License-Identifier: MIT + +pragma solidity >=0.8.0; + +/** + * @dev Provides information about the current execution context, including the + * sender of the transaction and its data. While these are generally available + * via msg.sender and msg.data, they should not be accessed in such a direct + * manner, since when dealing with meta-transactions the account sending and + * paying for execution may not be the actual sender (as far as an application + * is concerned). + * + * This contract is only required for intermediate, library-like contracts. + */ +abstract contract Context { + function _msgSender() internal view virtual returns (address) { + return msg.sender; + } + + function _msgData() internal view virtual returns (bytes calldata) { + return msg.data; + } +} diff --git a/zksync_full_stack/ERC20.sol b/zksync_full_stack/ERC20.sol new file mode 100644 index 000000000000..f3da1db61a4b --- /dev/null +++ b/zksync_full_stack/ERC20.sol @@ -0,0 +1,368 @@ +// SPDX-License-Identifier: MIT + +pragma solidity >=0.8.0; + +import "./IERC20.sol"; +import "./IERC20Metadata.sol"; +import "./Context.sol"; + +/** + * @dev Implementation of the {IERC20} interface. + * + * This implementation is agnostic to the way tokens are created. This means + * that a supply mechanism has to be added in a derived contract using {_mint}. + * For a generic mechanism see {ERC20PresetMinterPauser}. + * + * TIP: For a detailed writeup see our guide + * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How + * to implement supply mechanisms]. + * + * We have followed general OpenZeppelin Contracts guidelines: functions revert + * instead returning `false` on failure. This behavior is nonetheless + * conventional and does not conflict with the expectations of ERC20 + * applications. + * + * Additionally, an {Approval} event is emitted on calls to {transferFrom}. + * This allows applications to reconstruct the allowance for all accounts just + * by listening to said events. Other implementations of the EIP may not emit + * these events, as it isn't required by the specification. + * + * Finally, the non-standard {decreaseAllowance} and {increaseAllowance} + * functions have been added to mitigate the well-known issues around setting + * allowances. See {IERC20-approve}. + */ +contract ERC20 is Context, IERC20, IERC20Metadata { + mapping(address => uint256) private _balances; + + mapping(address => mapping(address => uint256)) private _allowances; + + uint256 private _totalSupply; + + string private _name; + string private _symbol; + + uint8 private _decimals; + + /** + * @dev Sets the values for {name} and {symbol}. + * + * The default value of {decimals} is 18. To select a different value for + * {decimals} you should overload it. + * + * All two of these values are immutable: they can only be set once during + * construction. + */ + constructor(string memory name_, string memory symbol_) { + _name = name_; + _symbol = symbol_; + } + + /** + * @dev Returns the name of the token. + */ + function name() public view virtual override returns (string memory) { + return _name; + } + + /** + * @dev Returns the symbol of the token, usually a shorter version of the + * name. + */ + function symbol() public view virtual override returns (string memory) { + return _symbol; + } + + /** + * @dev Returns the number of decimals used to get its user representation. + * For example, if `decimals` equals `2`, a balance of `505` tokens should + * be displayed to a user as `5.05` (`505 / 10 ** 2`). + * + * Tokens usually opt for a value of 18, imitating the relationship between + * Ether and Wei. This is the value {ERC20} uses, unless this function is + * overridden; + * + * NOTE: This information is only used for _display_ purposes: it in + * no way affects any of the arithmetic of the contract, including + * {IERC20-balanceOf} and {IERC20-transfer}. + */ + function decimals() public view virtual override returns (uint8) { + return _decimals; + } + + /** + * @dev See {IERC20-totalSupply}. + */ + function totalSupply() public view virtual override returns (uint256) { + return _totalSupply; + } + + /** + * @dev See {IERC20-balanceOf}. + */ + function balanceOf(address account) public view virtual override returns (uint256) { + return _balances[account]; + } + + /** + * @dev See {IERC20-transfer}. + * + * Requirements: + * + * - `recipient` cannot be the zero address. + * - the caller must have a balance of at least `amount`. + */ + function transfer(address recipient, uint256 amount) public virtual override returns (bool) { + _transfer(_msgSender(), recipient, amount); + return true; + } + + /** + * @dev See {IERC20-allowance}. + */ + function allowance(address owner, address spender) public view virtual override returns (uint256) { + return _allowances[owner][spender]; + } + + /** + * @dev See {IERC20-approve}. + * + * Requirements: + * + * - `spender` cannot be the zero address. + */ + function approve(address spender, uint256 amount) public virtual override returns (bool) { + _approve(_msgSender(), spender, amount); + return true; + } + + /** + * @dev See {IERC20-transferFrom}. + * + * Emits an {Approval} event indicating the updated allowance. This is not + * required by the EIP. See the note at the beginning of {ERC20}. + * + * Requirements: + * + * - `sender` and `recipient` cannot be the zero address. + * - `sender` must have a balance of at least `amount`. + * - the caller must have allowance for ``sender``'s tokens of at least + * `amount`. + */ + function transferFrom( + address sender, + address recipient, + uint256 amount + ) public virtual override returns (bool) { + _transfer(sender, recipient, amount); + + uint256 currentAllowance = _allowances[sender][_msgSender()]; + require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance"); + unchecked { + _approve(sender, _msgSender(), currentAllowance - amount); + } + + return true; + } + + /** + * @dev Atomically increases the allowance granted to `spender` by the caller. + * + * This is an alternative to {approve} that can be used as a mitigation for + * problems described in {IERC20-approve}. + * + * Emits an {Approval} event indicating the updated allowance. + * + * Requirements: + * + * - `spender` cannot be the zero address. + */ + function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { + _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue); + return true; + } + + /** + * @dev Atomically decreases the allowance granted to `spender` by the caller. + * + * This is an alternative to {approve} that can be used as a mitigation for + * problems described in {IERC20-approve}. + * + * Emits an {Approval} event indicating the updated allowance. + * + * Requirements: + * + * - `spender` cannot be the zero address. + * - `spender` must have allowance for the caller of at least + * `subtractedValue`. + */ + function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { + uint256 currentAllowance = _allowances[_msgSender()][spender]; + require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); + unchecked { + _approve(_msgSender(), spender, currentAllowance - subtractedValue); + } + + return true; + } + + /** + * @dev Moves `amount` of tokens from `sender` to `recipient`. + * + * This internal function is equivalent to {transfer}, and can be used to + * e.g. implement automatic token fees, slashing mechanisms, etc. + * + * Emits a {Transfer} event. + * + * Requirements: + * + * - `sender` cannot be the zero address. + * - `recipient` cannot be the zero address. + * - `sender` must have a balance of at least `amount`. + */ + function _transfer( + address sender, + address recipient, + uint256 amount + ) public /*internal*/ virtual { + require(sender != address(0), "ERC20: transfer from the zero address"); + require(recipient != address(0), "ERC20: transfer to the zero address"); + + _beforeTokenTransfer(sender, recipient, amount); + + uint256 senderBalance = _balances[sender]; + require(senderBalance >= amount, "ERC20: transfer amount exceeds balance"); + unchecked { + _balances[sender] = senderBalance - amount; + } + _balances[recipient] += amount; + + emit Transfer(sender, recipient, amount); + + _afterTokenTransfer(sender, recipient, amount); + } + + /** @dev Creates `amount` tokens and assigns them to `account`, increasing + * the total supply. + * + * Emits a {Transfer} event with `from` set to the zero address. + * + * Requirements: + * + * - `account` cannot be the zero address. + */ + function _mint(address account, uint256 amount) public /*internal*/ virtual { + require(account != address(0), "ERC20: mint to the zero address"); + + _beforeTokenTransfer(address(0), account, amount); + + _totalSupply += amount; + _balances[account] += amount; + emit Transfer(address(0), account, amount); + + _afterTokenTransfer(address(0), account, amount); + } + + /** + * @dev Destroys `amount` tokens from `account`, reducing the + * total supply. + * + * Emits a {Transfer} event with `to` set to the zero address. + * + * Requirements: + * + * - `account` cannot be the zero address. + * - `account` must have at least `amount` tokens. + */ + function _burn(address account, uint256 amount) public /*internal*/ virtual { + require(account != address(0), "ERC20: burn from the zero address"); + + _beforeTokenTransfer(account, address(0), amount); + + uint256 accountBalance = _balances[account]; + require(accountBalance >= amount, "ERC20: burn amount exceeds balance"); + unchecked { + _balances[account] = accountBalance - amount; + } + _totalSupply -= amount; + + emit Transfer(account, address(0), amount); + + _afterTokenTransfer(account, address(0), amount); + } + + /** + * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens. + * + * This internal function is equivalent to `approve`, and can be used to + * e.g. set automatic allowances for certain subsystems, etc. + * + * Emits an {Approval} event. + * + * Requirements: + * + * - `owner` cannot be the zero address. + * - `spender` cannot be the zero address. + */ + function _approve( + address owner, + address spender, + uint256 amount + ) public /*internal*/ virtual { + require(owner != address(0), "ERC20: approve from the zero address"); + require(spender != address(0), "ERC20: approve to the zero address"); + + _allowances[owner][spender] = amount; + emit Approval(owner, spender, amount); + } + + /** + * @dev Hook that is called before any transfer of tokens. This includes + * minting and burning. + * + * Calling conditions: + * + * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens + * will be transferred to `to`. + * - when `from` is zero, `amount` tokens will be minted for `to`. + * - when `to` is zero, `amount` of ``from``'s tokens will be burned. + * - `from` and `to` are never both zero. + * + * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. + */ + function _beforeTokenTransfer( + address from, + address to, + uint256 amount + ) public /*internal*/ virtual {} + + /** + * @dev Hook that is called after any transfer of tokens. This includes + * minting and burning. + * + * Calling conditions: + * + * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens + * has been transferred to `to`. + * - when `from` is zero, `amount` tokens have been minted for `to`. + * - when `to` is zero, `amount` of ``from``'s tokens have been burned. + * - `from` and `to` are never both zero. + * + * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. + */ + function _afterTokenTransfer( + address from, + address to, + uint256 amount + ) public /*internal*/ virtual {} + + /** + * @dev Sets {decimals} to a value other than the default one of 18. + * + * WARNING: This function should only be called from the constructor. Most + * applications that interact with token contracts will not expect + * {decimals} to ever change, and may work incorrectly if it does. + */ + function _setupDecimals(uint8 decimals_) internal { + _decimals = decimals_; + } +} diff --git a/zksync_full_stack/IERC20.sol b/zksync_full_stack/IERC20.sol new file mode 100644 index 000000000000..2693a9f9ba15 --- /dev/null +++ b/zksync_full_stack/IERC20.sol @@ -0,0 +1,81 @@ +// SPDX-License-Identifier: MIT + +pragma solidity >=0.8.0; + +/** + * @dev Interface of the ERC20 standard as defined in the EIP. + */ +interface IERC20 { + /** + * @dev Returns the amount of tokens in existence. + */ + function totalSupply() external view returns (uint256); + + /** + * @dev Returns the amount of tokens owned by `account`. + */ + function balanceOf(address account) external view returns (uint256); + + /** + * @dev Moves `amount` tokens from the caller's account to `recipient`. + * + * Returns a boolean value indicating whether the operation succeeded. + * + * Emits a {Transfer} event. + */ + function transfer(address recipient, uint256 amount) external returns (bool); + + /** + * @dev Returns the remaining number of tokens that `spender` will be + * allowed to spend on behalf of `owner` through {transferFrom}. This is + * zero by default. + * + * This value changes when {approve} or {transferFrom} are called. + */ + function allowance(address owner, address spender) external view returns (uint256); + + /** + * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. + * + * Returns a boolean value indicating whether the operation succeeded. + * + * IMPORTANT: Beware that changing an allowance with this method brings the risk + * that someone may use both the old and the new allowance by unfortunate + * transaction ordering. One possible solution to mitigate this race + * condition is to first reduce the spender's allowance to 0 and set the + * desired value afterwards: + * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 + * + * Emits an {Approval} event. + */ + function approve(address spender, uint256 amount) external returns (bool); + + /** + * @dev Moves `amount` tokens from `sender` to `recipient` using the + * allowance mechanism. `amount` is then deducted from the caller's + * allowance. + * + * Returns a boolean value indicating whether the operation succeeded. + * + * Emits a {Transfer} event. + */ + function transferFrom( + address sender, + address recipient, + uint256 amount + ) external returns (bool); + + /** + * @dev Emitted when `value` tokens are moved from one account (`from`) to + * another (`to`). + * + * Note that `value` may be zero. + */ + event Transfer(address indexed from, address indexed to, uint256 value); + + /** + * @dev Emitted when the allowance of a `spender` for an `owner` is set by + * a call to {approve}. `value` is the new allowance. + */ + event Approval(address indexed owner, address indexed spender, uint256 value); +} diff --git a/zksync_full_stack/IERC20Metadata.sol b/zksync_full_stack/IERC20Metadata.sol new file mode 100644 index 000000000000..1846275af4b3 --- /dev/null +++ b/zksync_full_stack/IERC20Metadata.sol @@ -0,0 +1,27 @@ +// SPDX-License-Identifier: MIT + +pragma solidity >=0.8.0; + +import "./IERC20.sol"; + +/** + * @dev Interface for the optional metadata functions from the ERC20 standard. + * + * _Available since v4.1._ + */ +interface IERC20Metadata is IERC20 { + /** + * @dev Returns the name of the token. + */ + function name() external view returns (string memory); + + /** + * @dev Returns the symbol of the token. + */ + function symbol() external view returns (string memory); + + /** + * @dev Returns the decimals places of the token. + */ + function decimals() external view returns (uint8); +} diff --git a/zksync_full_stack/src/main.rs b/zksync_full_stack/src/main.rs index 0e61254baf72..eaaba78e5131 100644 --- a/zksync_full_stack/src/main.rs +++ b/zksync_full_stack/src/main.rs @@ -9,6 +9,7 @@ use zksync_web3_decl::{ namespaces::{EthNamespaceClient, ZksNamespaceClient}, }; use zksync_web3_rs::{ + eip712::Eip712TransactionRequest, providers::{Middleware, Provider}, signers::{LocalWallet, Signer}, zks_provider::ZKSProvider, @@ -80,10 +81,62 @@ async fn main() { .from(zk_wallet.l2_address()); // Send the deployment transaction and wait until we receive the contract address. - let address = zk_wallet.deploy(&request).await.unwrap(); + //let address = zk_wallet.deploy(&request).await.unwrap(); + let eip712_request: Eip712TransactionRequest = request.clone().try_into().unwrap(); + println!("{}", "Deploy".bright_magenta()); + + let transaction_receipt = zk_wallet + .get_era_provider() + .unwrap() + .clone() + .send_transaction_eip712(&zk_wallet.l2_wallet, eip712_request) + .await + .unwrap() + .await + .unwrap() + .unwrap(); + + // println!("{:#?}", transaction_receipt); + let address = transaction_receipt.contract_address.unwrap(); println!("Contract address: {:#?}", address); + let transaction_hash_deploy = transaction_receipt.transaction_hash; + let transaction_hash_formatted_deploy = + format!("{:#?}", transaction_receipt.transaction_hash); + println!("transaction hash {}", transaction_hash_formatted_deploy); + + let l2_transaction_deploy = { + loop { + let l2_transaction = l2_rpc_client + .get_transaction_details(transaction_hash_deploy) + .await + .unwrap() + .unwrap(); + + if l2_transaction.eth_commit_tx_hash.is_some() { + break l2_transaction.clone(); + } + + sleep(Duration::from_secs(1)).await; + } + }; + + let l2_tx_fee_formatted_deploy = format!("{:#?}", l2_transaction_deploy.fee); + println!("L2 fee: {}", l2_tx_fee_formatted_deploy.green()); + + let l1_transaction = l1_rpc_client + .get_transaction_by_hash(l2_transaction_deploy.eth_commit_tx_hash.unwrap()) + .await + .unwrap() + .unwrap(); + + let l1_transaction_gas_formatted = format!("{:#?}", l1_transaction.gas); + println!("L1 Gas: {}", l1_transaction_gas_formatted.yellow()); + + let gas_price_formatted = format!("{:#?}", l1_transaction.gas_price.unwrap()); + println!("L1 Gas price: {}", gas_price_formatted.yellow()); + address }; @@ -119,7 +172,7 @@ async fn main() { "_mint(address, uint256)", Some( [ - "bBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB".into(), + "CD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826".into(), "100000".into(), ] .into(), @@ -155,23 +208,26 @@ async fn main() { let l2_tx_fee_formatted_mint = format!("{:#?}", l2_transaction_mint.fee); println!("L2 fee: {}", l2_tx_fee_formatted_mint.green()); - let l1_transaction_mint = l1_rpc_client + let l1_transaction_transfer = l1_rpc_client .get_transaction_by_hash(l2_transaction_mint.eth_commit_tx_hash.unwrap()) .await .unwrap() .unwrap(); - let l1_max_fee_per_gas_mint = l1_transaction_mint.max_fee_per_gas.unwrap(); + let l1_max_fee_per_gas_mint = l1_transaction_transfer.max_fee_per_gas.unwrap(); let l1_max_fee_per_gas_formatted_mint = format!("{:#?}", l1_max_fee_per_gas_mint); println!( "L1 max fee per gas: {}", l1_max_fee_per_gas_formatted_mint.cyan() ); + let l1_transaction_gas_formatted_mint = format!("{:#?}", l1_transaction_transfer.gas); + println!("L1 Gas: {}", l1_transaction_gas_formatted_mint.yellow()); + + let gas_price_formatted_mint = format!("{:#?}", l1_transaction_transfer.gas_price.unwrap()); + println!("L1 Gas price: {}", gas_price_formatted_mint.yellow()); println!(); - let values: Vec<&str> = vec![ - "1000", "2000", "3000", "4000", "5000", "6000", "7000", "8000", "9000", "10000", - ]; + let values: Vec<&str> = vec!["1000"]; for &value in &values { println!("Transfer {}", value.bright_magenta()); @@ -185,8 +241,8 @@ async fn main() { "_transfer(address, address, uint256)", Some( [ - "bBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB".into(), "CD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826".into(), + "bBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB".into(), value.into(), ] .into(), @@ -235,6 +291,12 @@ async fn main() { "L1 max fee per gas: {}", l1_max_fee_per_gas_formatted_transfer.cyan() ); + let l1_transaction_gas_formatted_transfer = format!("{:#?}", l1_transaction_transfer.gas); + println!("L1 Gas: {}", l1_transaction_gas_formatted_transfer.yellow()); + + let gas_price_formatted_transfer = + format!("{:#?}", l1_transaction_transfer.gas_price.unwrap()); + println!("L1 Gas price: {}", gas_price_formatted_transfer.yellow()); println!(); } } From 4699ae9c54bfbbb3056d4cdfc3645e2e751aa681 Mon Sep 17 00:00:00 2001 From: toni-calvin Date: Mon, 15 Jan 2024 15:26:53 +0100 Subject: [PATCH 12/29] print gas used --- zksync_full_stack/src/main.rs | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/zksync_full_stack/src/main.rs b/zksync_full_stack/src/main.rs index eaaba78e5131..8fb8da439d7a 100644 --- a/zksync_full_stack/src/main.rs +++ b/zksync_full_stack/src/main.rs @@ -105,7 +105,12 @@ async fn main() { let transaction_hash_formatted_deploy = format!("{:#?}", transaction_receipt.transaction_hash); println!("transaction hash {}", transaction_hash_formatted_deploy); - + let transaction_gas_used_formatted_deploy = + format!("{:#?}", transaction_receipt.gas_used.unwrap()); + println!( + "transaction gas_used {}", + transaction_gas_used_formatted_deploy.cyan() + ); let l2_transaction_deploy = { loop { let l2_transaction = l2_rpc_client @@ -124,7 +129,6 @@ async fn main() { let l2_tx_fee_formatted_deploy = format!("{:#?}", l2_transaction_deploy.fee); println!("L2 fee: {}", l2_tx_fee_formatted_deploy.green()); - let l1_transaction = l1_rpc_client .get_transaction_by_hash(l2_transaction_deploy.eth_commit_tx_hash.unwrap()) .await @@ -188,6 +192,11 @@ async fn main() { let transaction_hash_mint = receipt_mint.transaction_hash; let transaction_hash_formatted_mint = format!("{:#?}", receipt_mint.transaction_hash); println!("transaction hash {}", transaction_hash_formatted_mint); + let transaction_gas_used_formatted_mint = format!("{:#?}", receipt_mint.gas_used.unwrap()); + println!( + "transaction gas_used {}", + transaction_gas_used_formatted_mint.cyan() + ); let l2_transaction_mint = { // println!("{}", "Getting l2 transaction details with rpc..."); loop { @@ -259,6 +268,12 @@ async fn main() { let transaction_hash_formatted_transfer = format!("{:#?}", receipt_transfer.transaction_hash); println!("transaction hash {}", transaction_hash_formatted_transfer); + let transaction_gas_used_formatted_transfer = + format!("{:#?}", receipt_transfer.gas_used.unwrap()); + println!( + "transaction gas_used {}", + transaction_gas_used_formatted_transfer.cyan() + ); let l2_transaction_transfer = { // println!("{}", "Getting l2 transaction details with rpc..."); loop { From 215b9d94fd64ffb327f7b2b35b0f17adfdecbe04 Mon Sep 17 00:00:00 2001 From: Mario Rugiero Date: Thu, 11 Jan 2024 14:32:28 -0300 Subject: [PATCH 13/29] Use `ETH_SENDER_SENDER_VALIDIUM_MODE` to check whether we need to charge the pubdata --- core/lib/constants/src/fees/mod.rs | 2 +- .../multivm/src/versions/vm_latest/constants.rs | 14 ++++++++++---- .../versions/vm_refunds_enhancement/constants.rs | 14 ++++++++++---- .../src/versions/vm_virtual_blocks/constants.rs | 15 ++++++++++----- 4 files changed, 31 insertions(+), 14 deletions(-) diff --git a/core/lib/constants/src/fees/mod.rs b/core/lib/constants/src/fees/mod.rs index a4cd39fb5c94..be2040a50e83 100644 --- a/core/lib/constants/src/fees/mod.rs +++ b/core/lib/constants/src/fees/mod.rs @@ -35,7 +35,7 @@ pub struct IntrinsicSystemGasConstants { /// The amount of gas we need to pay for each non-zero pubdata byte. /// Note that it is bigger than 16 to account for potential overhead -pub const L1_GAS_PER_PUBDATA_BYTE: u32 = 0; +pub const L1_GAS_PER_PUBDATA_BYTE: u32 = 17; /// The amount of pubdata that is strictly guaranteed to be available for a block pub const GUARANTEED_PUBDATA_IN_TX: u32 = 100000; diff --git a/core/lib/multivm/src/versions/vm_latest/constants.rs b/core/lib/multivm/src/versions/vm_latest/constants.rs index 5ae67b74a2ba..ab3887cf3b27 100644 --- a/core/lib/multivm/src/versions/vm_latest/constants.rs +++ b/core/lib/multivm/src/versions/vm_latest/constants.rs @@ -3,8 +3,7 @@ pub use zk_evm_1_4_0::zkevm_opcode_defs::system_params::{ ERGS_PER_CIRCUIT, INITIAL_STORAGE_WRITE_PUBDATA_BYTES, MAX_PUBDATA_PER_BLOCK, }; use zksync_system_constants::{ - L1_GAS_PER_PUBDATA_BYTE, MAX_L2_TX_GAS_LIMIT, MAX_NEW_FACTORY_DEPS, MAX_TXS_IN_BLOCK, - USED_BOOTLOADER_MEMORY_WORDS, + MAX_L2_TX_GAS_LIMIT, MAX_NEW_FACTORY_DEPS, MAX_TXS_IN_BLOCK, USED_BOOTLOADER_MEMORY_WORDS, }; use crate::vm_latest::old_vm::utils::heap_page_from_base; @@ -87,8 +86,15 @@ const INITIAL_BASE_PAGE: u32 = 8; pub const BOOTLOADER_HEAP_PAGE: u32 = heap_page_from_base(MemoryPage(INITIAL_BASE_PAGE)).0; pub const BLOCK_OVERHEAD_GAS: u32 = 1200000; pub const BLOCK_OVERHEAD_L1_GAS: u32 = 1000000; -// pub const BLOCK_OVERHEAD_PUBDATA: u32 = BLOCK_OVERHEAD_L1_GAS / L1_GAS_PER_PUBDATA_BYTE; -pub const BLOCK_OVERHEAD_PUBDATA: u32 = 0; +pub const L1_GAS_PER_PUBDATA_BYTE: u32 = match core::option_env!("ETH_SENDER_SENDER_VALIDIUM_MODE") +{ + Some(_) => 0, + _ => zksync_system_constants::L1_GAS_PER_PUBDATA_BYTE, +}; +pub const BLOCK_OVERHEAD_PUBDATA: u32 = match core::option_env!("ETH_SENDER_SENDER_VALIDIUM_MODE") { + Some(_) => 0, + _ => BLOCK_OVERHEAD_L1_GAS / L1_GAS_PER_PUBDATA_BYTE, +}; /// VM Hooks are used for communication between bootloader and tracers. /// The 'type' / 'opcode' is put into VM_HOOK_POSITION slot, diff --git a/core/lib/multivm/src/versions/vm_refunds_enhancement/constants.rs b/core/lib/multivm/src/versions/vm_refunds_enhancement/constants.rs index dd5d62833090..892eb214a0da 100644 --- a/core/lib/multivm/src/versions/vm_refunds_enhancement/constants.rs +++ b/core/lib/multivm/src/versions/vm_refunds_enhancement/constants.rs @@ -3,8 +3,7 @@ pub use zk_evm_1_3_3::zkevm_opcode_defs::system_params::{ ERGS_PER_CIRCUIT, INITIAL_STORAGE_WRITE_PUBDATA_BYTES, MAX_PUBDATA_PER_BLOCK, }; use zksync_system_constants::{ - L1_GAS_PER_PUBDATA_BYTE, MAX_L2_TX_GAS_LIMIT, MAX_NEW_FACTORY_DEPS, MAX_TXS_IN_BLOCK, - USED_BOOTLOADER_MEMORY_WORDS, + MAX_L2_TX_GAS_LIMIT, MAX_NEW_FACTORY_DEPS, MAX_TXS_IN_BLOCK, USED_BOOTLOADER_MEMORY_WORDS, }; use crate::vm_refunds_enhancement::old_vm::utils::heap_page_from_base; @@ -70,8 +69,15 @@ const INITIAL_BASE_PAGE: u32 = 8; pub const BOOTLOADER_HEAP_PAGE: u32 = heap_page_from_base(MemoryPage(INITIAL_BASE_PAGE)).0; pub const BLOCK_OVERHEAD_GAS: u32 = 1200000; pub const BLOCK_OVERHEAD_L1_GAS: u32 = 1000000; -// pub const BLOCK_OVERHEAD_PUBDATA: u32 = BLOCK_OVERHEAD_L1_GAS / L1_GAS_PER_PUBDATA_BYTE; -pub const BLOCK_OVERHEAD_PUBDATA: u32 = 0; +pub const L1_GAS_PER_PUBDATA_BYTE: u32 = match core::option_env!("ETH_SENDER_SENDER_VALIDIUM_MODE") +{ + Some(_) => 0, + _ => zksync_system_constants::L1_GAS_PER_PUBDATA_BYTE, +}; +pub const BLOCK_OVERHEAD_PUBDATA: u32 = match core::option_env!("ETH_SENDER_SENDER_VALIDIUM_MODE") { + Some(_) => 0, + _ => BLOCK_OVERHEAD_L1_GAS / L1_GAS_PER_PUBDATA_BYTE, +}; /// VM Hooks are used for communication between bootloader and tracers. /// The 'type' / 'opcode' is put into VM_HOOK_POSITION slot, /// and VM_HOOKS_PARAMS_COUNT parameters (each 32 bytes) are put in the slots before. diff --git a/core/lib/multivm/src/versions/vm_virtual_blocks/constants.rs b/core/lib/multivm/src/versions/vm_virtual_blocks/constants.rs index cd93a31a2d8c..cc7d634d5cca 100644 --- a/core/lib/multivm/src/versions/vm_virtual_blocks/constants.rs +++ b/core/lib/multivm/src/versions/vm_virtual_blocks/constants.rs @@ -3,8 +3,7 @@ pub use zk_evm_1_3_3::zkevm_opcode_defs::system_params::{ ERGS_PER_CIRCUIT, INITIAL_STORAGE_WRITE_PUBDATA_BYTES, MAX_PUBDATA_PER_BLOCK, }; use zksync_system_constants::{ - L1_GAS_PER_PUBDATA_BYTE, MAX_L2_TX_GAS_LIMIT, MAX_NEW_FACTORY_DEPS, MAX_TXS_IN_BLOCK, - USED_BOOTLOADER_MEMORY_WORDS, + MAX_L2_TX_GAS_LIMIT, MAX_NEW_FACTORY_DEPS, MAX_TXS_IN_BLOCK, USED_BOOTLOADER_MEMORY_WORDS, }; use crate::vm_virtual_blocks::old_vm::utils::heap_page_from_base; @@ -70,9 +69,15 @@ const INITIAL_BASE_PAGE: u32 = 8; pub const BOOTLOADER_HEAP_PAGE: u32 = heap_page_from_base(MemoryPage(INITIAL_BASE_PAGE)).0; pub(crate) const BLOCK_OVERHEAD_GAS: u32 = 1200000; pub(crate) const BLOCK_OVERHEAD_L1_GAS: u32 = 1000000; -// pub const BLOCK_OVERHEAD_PUBDATA: u32 = BLOCK_OVERHEAD_L1_GAS / L1_GAS_PER_PUBDATA_BYTE; -pub const BLOCK_OVERHEAD_PUBDATA: u32 = 0; - +pub const L1_GAS_PER_PUBDATA_BYTE: u32 = match core::option_env!("ETH_SENDER_SENDER_VALIDIUM_MODE") +{ + Some(_) => 0, + _ => zksync_system_constants::L1_GAS_PER_PUBDATA_BYTE, +}; +pub const BLOCK_OVERHEAD_PUBDATA: u32 = match core::option_env!("ETH_SENDER_SENDER_VALIDIUM_MODE") { + Some(_) => 0, + _ => BLOCK_OVERHEAD_L1_GAS / L1_GAS_PER_PUBDATA_BYTE, +}; /// VM Hooks are used for communication between bootloader and tracers. /// The 'type' / 'opcode' is put into VM_HOOK_POSITION slot, /// and VM_HOOKS_PARAMS_COUNT parameters (each 32 bytes) are put in the slots before. From 5d3d96c64c067a2e71ee86e8ea871640fa788c27 Mon Sep 17 00:00:00 2001 From: Mario Rugiero Date: Thu, 11 Jan 2024 18:02:00 -0300 Subject: [PATCH 14/29] wip --- core/lib/multivm/src/versions/vm_latest/constants.rs | 5 ++--- core/lib/multivm/src/versions/vm_latest/old_vm/utils.rs | 7 ------- .../lib/multivm/src/versions/vm_latest/tracers/refunds.rs | 6 ++---- core/lib/multivm/src/versions/vm_latest/utils/fee.rs | 8 +++++++- .../src/versions/vm_refunds_enhancement/constants.rs | 5 ++--- .../multivm/src/versions/vm_virtual_blocks/constants.rs | 5 ++--- infrastructure/zk/src/init.ts | 1 + 7 files changed, 16 insertions(+), 21 deletions(-) diff --git a/core/lib/multivm/src/versions/vm_latest/constants.rs b/core/lib/multivm/src/versions/vm_latest/constants.rs index ab3887cf3b27..02dfa22876f9 100644 --- a/core/lib/multivm/src/versions/vm_latest/constants.rs +++ b/core/lib/multivm/src/versions/vm_latest/constants.rs @@ -86,12 +86,11 @@ const INITIAL_BASE_PAGE: u32 = 8; pub const BOOTLOADER_HEAP_PAGE: u32 = heap_page_from_base(MemoryPage(INITIAL_BASE_PAGE)).0; pub const BLOCK_OVERHEAD_GAS: u32 = 1200000; pub const BLOCK_OVERHEAD_L1_GAS: u32 = 1000000; -pub const L1_GAS_PER_PUBDATA_BYTE: u32 = match core::option_env!("ETH_SENDER_SENDER_VALIDIUM_MODE") -{ +pub const L1_GAS_PER_PUBDATA_BYTE: u32 = match core::option_env!("VALIDIUM_MODE") { Some(_) => 0, _ => zksync_system_constants::L1_GAS_PER_PUBDATA_BYTE, }; -pub const BLOCK_OVERHEAD_PUBDATA: u32 = match core::option_env!("ETH_SENDER_SENDER_VALIDIUM_MODE") { +pub const BLOCK_OVERHEAD_PUBDATA: u32 = match core::option_env!("VALIDIUM_MODE") { Some(_) => 0, _ => BLOCK_OVERHEAD_L1_GAS / L1_GAS_PER_PUBDATA_BYTE, }; diff --git a/core/lib/multivm/src/versions/vm_latest/old_vm/utils.rs b/core/lib/multivm/src/versions/vm_latest/old_vm/utils.rs index 1dbe82a81d4f..3e7d3e55c659 100644 --- a/core/lib/multivm/src/versions/vm_latest/old_vm/utils.rs +++ b/core/lib/multivm/src/versions/vm_latest/old_vm/utils.rs @@ -7,7 +7,6 @@ use zk_evm_1_4_0::{ }, }; use zksync_state::WriteStorage; -use zksync_system_constants::L1_GAS_PER_PUBDATA_BYTE; use zksync_types::{Address, U256}; use crate::vm_latest::{ @@ -96,12 +95,6 @@ pub(crate) fn precompile_calls_count_after_timestamp( sorted_timestamps.len() - sorted_timestamps.partition_point(|t| *t < from_timestamp) } -pub(crate) fn eth_price_per_pubdata_byte(l1_gas_price: u64) -> u64 { - // This value will typically be a lot less than u64 - // unless the gas price on L1 goes beyond tens of millions of gwei - l1_gas_price * (L1_GAS_PER_PUBDATA_BYTE as u64) -} - pub(crate) fn vm_may_have_ended_inner( vm: &ZkSyncVmState, ) -> Option { diff --git a/core/lib/multivm/src/versions/vm_latest/tracers/refunds.rs b/core/lib/multivm/src/versions/vm_latest/tracers/refunds.rs index e852fba1dac8..4769ea99fd20 100644 --- a/core/lib/multivm/src/versions/vm_latest/tracers/refunds.rs +++ b/core/lib/multivm/src/versions/vm_latest/tracers/refunds.rs @@ -23,10 +23,7 @@ use crate::{ vm_latest::{ bootloader_state::BootloaderState, constants::{BOOTLOADER_HEAP_PAGE, OPERATOR_REFUNDS_OFFSET, TX_GAS_LIMIT_OFFSET}, - old_vm::{ - events::merge_events, history_recorder::HistoryMode, memory::SimpleMemory, - utils::eth_price_per_pubdata_byte, - }, + old_vm::{events::merge_events, history_recorder::HistoryMode, memory::SimpleMemory}, tracers::{ traits::VmTracer, utils::{ @@ -34,6 +31,7 @@ use crate::{ }, }, types::internals::ZkSyncVmState, + utils::fee::eth_price_per_pubdata_byte, }, }; diff --git a/core/lib/multivm/src/versions/vm_latest/utils/fee.rs b/core/lib/multivm/src/versions/vm_latest/utils/fee.rs index 23b744a348f7..ce03267cafab 100644 --- a/core/lib/multivm/src/versions/vm_latest/utils/fee.rs +++ b/core/lib/multivm/src/versions/vm_latest/utils/fee.rs @@ -2,7 +2,13 @@ use zksync_system_constants::MAX_GAS_PER_PUBDATA_BYTE; use zksync_utils::ceil_div; -use crate::vm_latest::old_vm::utils::eth_price_per_pubdata_byte; +use crate::vm_latest::constants::L1_GAS_PER_PUBDATA_BYTE; + +pub(crate) fn eth_price_per_pubdata_byte(l1_gas_price: u64) -> u64 { + // This value will typically be a lot less than u64 + // unless the gas price on L1 goes beyond tens of millions of gwei + l1_gas_price * (L1_GAS_PER_PUBDATA_BYTE as u64) +} /// Calculates the amount of gas required to publish one byte of pubdata pub fn base_fee_to_gas_per_pubdata(l1_gas_price: u64, base_fee: u64) -> u64 { diff --git a/core/lib/multivm/src/versions/vm_refunds_enhancement/constants.rs b/core/lib/multivm/src/versions/vm_refunds_enhancement/constants.rs index 892eb214a0da..667422fd4e2c 100644 --- a/core/lib/multivm/src/versions/vm_refunds_enhancement/constants.rs +++ b/core/lib/multivm/src/versions/vm_refunds_enhancement/constants.rs @@ -69,12 +69,11 @@ const INITIAL_BASE_PAGE: u32 = 8; pub const BOOTLOADER_HEAP_PAGE: u32 = heap_page_from_base(MemoryPage(INITIAL_BASE_PAGE)).0; pub const BLOCK_OVERHEAD_GAS: u32 = 1200000; pub const BLOCK_OVERHEAD_L1_GAS: u32 = 1000000; -pub const L1_GAS_PER_PUBDATA_BYTE: u32 = match core::option_env!("ETH_SENDER_SENDER_VALIDIUM_MODE") -{ +pub const L1_GAS_PER_PUBDATA_BYTE: u32 = match core::option_env!("VALIDIUM_MODE") { Some(_) => 0, _ => zksync_system_constants::L1_GAS_PER_PUBDATA_BYTE, }; -pub const BLOCK_OVERHEAD_PUBDATA: u32 = match core::option_env!("ETH_SENDER_SENDER_VALIDIUM_MODE") { +pub const BLOCK_OVERHEAD_PUBDATA: u32 = match core::option_env!("VALIDIUM_MODE") { Some(_) => 0, _ => BLOCK_OVERHEAD_L1_GAS / L1_GAS_PER_PUBDATA_BYTE, }; diff --git a/core/lib/multivm/src/versions/vm_virtual_blocks/constants.rs b/core/lib/multivm/src/versions/vm_virtual_blocks/constants.rs index cc7d634d5cca..f821602a305f 100644 --- a/core/lib/multivm/src/versions/vm_virtual_blocks/constants.rs +++ b/core/lib/multivm/src/versions/vm_virtual_blocks/constants.rs @@ -69,12 +69,11 @@ const INITIAL_BASE_PAGE: u32 = 8; pub const BOOTLOADER_HEAP_PAGE: u32 = heap_page_from_base(MemoryPage(INITIAL_BASE_PAGE)).0; pub(crate) const BLOCK_OVERHEAD_GAS: u32 = 1200000; pub(crate) const BLOCK_OVERHEAD_L1_GAS: u32 = 1000000; -pub const L1_GAS_PER_PUBDATA_BYTE: u32 = match core::option_env!("ETH_SENDER_SENDER_VALIDIUM_MODE") -{ +pub const L1_GAS_PER_PUBDATA_BYTE: u32 = match core::option_env!("VALIDIUM_MODE") { Some(_) => 0, _ => zksync_system_constants::L1_GAS_PER_PUBDATA_BYTE, }; -pub const BLOCK_OVERHEAD_PUBDATA: u32 = match core::option_env!("ETH_SENDER_SENDER_VALIDIUM_MODE") { +pub const BLOCK_OVERHEAD_PUBDATA: u32 = match core::option_env!("VALIDIUM_MODE") { Some(_) => 0, _ => BLOCK_OVERHEAD_L1_GAS / L1_GAS_PER_PUBDATA_BYTE, }; diff --git a/infrastructure/zk/src/init.ts b/infrastructure/zk/src/init.ts index d744d5dc460a..7ceb24003c2e 100644 --- a/infrastructure/zk/src/init.ts +++ b/infrastructure/zk/src/init.ts @@ -51,6 +51,7 @@ export async function init(initArgs: InitArgs = DEFAULT_ARGS) { if (validiumMode) { await announced('Setting up validium mode to true'); process.env.ETH_SENDER_SENDER_VALIDIUM_MODE = 'true'; + process.env.VALIDIUM_MODE = 'true'; } else { await announced('Setting up validium mode to false'); process.env.ETH_SENDER_SENDER_VALIDIUM_MODE = 'false'; From c71ff9ce72cf4743e5dbb0fb803ae5928f1d3f81 Mon Sep 17 00:00:00 2001 From: Mario Rugiero Date: Mon, 15 Jan 2024 08:56:22 -0300 Subject: [PATCH 15/29] wip 2: just change runtime behavior --- core/lib/multivm/src/versions/vm_latest/constants.rs | 12 +++--------- core/lib/multivm/src/versions/vm_latest/utils/fee.rs | 8 ++++---- .../src/versions/vm_refunds_enhancement/constants.rs | 12 +++--------- .../versions/vm_refunds_enhancement/old_vm/utils.rs | 7 ------- .../vm_refunds_enhancement/tracers/refunds.rs | 6 ++---- .../src/versions/vm_refunds_enhancement/utils/fee.rs | 10 ++++++++-- .../src/versions/vm_virtual_blocks/constants.rs | 12 +++--------- .../src/versions/vm_virtual_blocks/old_vm/utils.rs | 7 ------- .../versions/vm_virtual_blocks/tracers/refunds.rs | 3 ++- .../src/versions/vm_virtual_blocks/utils/fee.rs | 10 ++++++++-- infrastructure/zk/src/init.ts | 1 - 11 files changed, 33 insertions(+), 55 deletions(-) diff --git a/core/lib/multivm/src/versions/vm_latest/constants.rs b/core/lib/multivm/src/versions/vm_latest/constants.rs index 02dfa22876f9..44266344be61 100644 --- a/core/lib/multivm/src/versions/vm_latest/constants.rs +++ b/core/lib/multivm/src/versions/vm_latest/constants.rs @@ -3,7 +3,8 @@ pub use zk_evm_1_4_0::zkevm_opcode_defs::system_params::{ ERGS_PER_CIRCUIT, INITIAL_STORAGE_WRITE_PUBDATA_BYTES, MAX_PUBDATA_PER_BLOCK, }; use zksync_system_constants::{ - MAX_L2_TX_GAS_LIMIT, MAX_NEW_FACTORY_DEPS, MAX_TXS_IN_BLOCK, USED_BOOTLOADER_MEMORY_WORDS, + L1_GAS_PER_PUBDATA_BYTE, MAX_L2_TX_GAS_LIMIT, MAX_NEW_FACTORY_DEPS, MAX_TXS_IN_BLOCK, + USED_BOOTLOADER_MEMORY_WORDS, }; use crate::vm_latest::old_vm::utils::heap_page_from_base; @@ -86,14 +87,7 @@ const INITIAL_BASE_PAGE: u32 = 8; pub const BOOTLOADER_HEAP_PAGE: u32 = heap_page_from_base(MemoryPage(INITIAL_BASE_PAGE)).0; pub const BLOCK_OVERHEAD_GAS: u32 = 1200000; pub const BLOCK_OVERHEAD_L1_GAS: u32 = 1000000; -pub const L1_GAS_PER_PUBDATA_BYTE: u32 = match core::option_env!("VALIDIUM_MODE") { - Some(_) => 0, - _ => zksync_system_constants::L1_GAS_PER_PUBDATA_BYTE, -}; -pub const BLOCK_OVERHEAD_PUBDATA: u32 = match core::option_env!("VALIDIUM_MODE") { - Some(_) => 0, - _ => BLOCK_OVERHEAD_L1_GAS / L1_GAS_PER_PUBDATA_BYTE, -}; +pub const BLOCK_OVERHEAD_PUBDATA: u32 = BLOCK_OVERHEAD_L1_GAS / L1_GAS_PER_PUBDATA_BYTE; /// VM Hooks are used for communication between bootloader and tracers. /// The 'type' / 'opcode' is put into VM_HOOK_POSITION slot, diff --git a/core/lib/multivm/src/versions/vm_latest/utils/fee.rs b/core/lib/multivm/src/versions/vm_latest/utils/fee.rs index ce03267cafab..0575abbf8bd4 100644 --- a/core/lib/multivm/src/versions/vm_latest/utils/fee.rs +++ b/core/lib/multivm/src/versions/vm_latest/utils/fee.rs @@ -1,13 +1,13 @@ //! Utility functions for vm -use zksync_system_constants::MAX_GAS_PER_PUBDATA_BYTE; +use zksync_system_constants::{L1_GAS_PER_PUBDATA_BYTE, MAX_GAS_PER_PUBDATA_BYTE}; use zksync_utils::ceil_div; -use crate::vm_latest::constants::L1_GAS_PER_PUBDATA_BYTE; - pub(crate) fn eth_price_per_pubdata_byte(l1_gas_price: u64) -> u64 { // This value will typically be a lot less than u64 // unless the gas price on L1 goes beyond tens of millions of gwei - l1_gas_price * (L1_GAS_PER_PUBDATA_BYTE as u64) + // TODO: make this check only once + let validium_mode = std::env::var("ETH_SENDER_SENDER_VALIDIUM_MODE") == Ok("true".to_string()); + l1_gas_price * (L1_GAS_PER_PUBDATA_BYTE as u64) * (!validium_mode as u64) } /// Calculates the amount of gas required to publish one byte of pubdata diff --git a/core/lib/multivm/src/versions/vm_refunds_enhancement/constants.rs b/core/lib/multivm/src/versions/vm_refunds_enhancement/constants.rs index 667422fd4e2c..189320892df5 100644 --- a/core/lib/multivm/src/versions/vm_refunds_enhancement/constants.rs +++ b/core/lib/multivm/src/versions/vm_refunds_enhancement/constants.rs @@ -3,7 +3,8 @@ pub use zk_evm_1_3_3::zkevm_opcode_defs::system_params::{ ERGS_PER_CIRCUIT, INITIAL_STORAGE_WRITE_PUBDATA_BYTES, MAX_PUBDATA_PER_BLOCK, }; use zksync_system_constants::{ - MAX_L2_TX_GAS_LIMIT, MAX_NEW_FACTORY_DEPS, MAX_TXS_IN_BLOCK, USED_BOOTLOADER_MEMORY_WORDS, + L1_GAS_PER_PUBDATA_BYTE, MAX_L2_TX_GAS_LIMIT, MAX_NEW_FACTORY_DEPS, MAX_TXS_IN_BLOCK, + USED_BOOTLOADER_MEMORY_WORDS, }; use crate::vm_refunds_enhancement::old_vm::utils::heap_page_from_base; @@ -69,14 +70,7 @@ const INITIAL_BASE_PAGE: u32 = 8; pub const BOOTLOADER_HEAP_PAGE: u32 = heap_page_from_base(MemoryPage(INITIAL_BASE_PAGE)).0; pub const BLOCK_OVERHEAD_GAS: u32 = 1200000; pub const BLOCK_OVERHEAD_L1_GAS: u32 = 1000000; -pub const L1_GAS_PER_PUBDATA_BYTE: u32 = match core::option_env!("VALIDIUM_MODE") { - Some(_) => 0, - _ => zksync_system_constants::L1_GAS_PER_PUBDATA_BYTE, -}; -pub const BLOCK_OVERHEAD_PUBDATA: u32 = match core::option_env!("VALIDIUM_MODE") { - Some(_) => 0, - _ => BLOCK_OVERHEAD_L1_GAS / L1_GAS_PER_PUBDATA_BYTE, -}; +pub const BLOCK_OVERHEAD_PUBDATA: u32 = BLOCK_OVERHEAD_L1_GAS / L1_GAS_PER_PUBDATA_BYTE; /// VM Hooks are used for communication between bootloader and tracers. /// The 'type' / 'opcode' is put into VM_HOOK_POSITION slot, /// and VM_HOOKS_PARAMS_COUNT parameters (each 32 bytes) are put in the slots before. diff --git a/core/lib/multivm/src/versions/vm_refunds_enhancement/old_vm/utils.rs b/core/lib/multivm/src/versions/vm_refunds_enhancement/old_vm/utils.rs index bc4b2c3eff15..4af52072adf9 100644 --- a/core/lib/multivm/src/versions/vm_refunds_enhancement/old_vm/utils.rs +++ b/core/lib/multivm/src/versions/vm_refunds_enhancement/old_vm/utils.rs @@ -7,7 +7,6 @@ use zk_evm_1_3_3::{ }, }; use zksync_state::WriteStorage; -use zksync_system_constants::L1_GAS_PER_PUBDATA_BYTE; use zksync_types::{Address, U256}; use crate::vm_refunds_enhancement::{ @@ -96,12 +95,6 @@ pub(crate) fn precompile_calls_count_after_timestamp( sorted_timestamps.len() - sorted_timestamps.partition_point(|t| *t < from_timestamp) } -pub(crate) fn eth_price_per_pubdata_byte(l1_gas_price: u64) -> u64 { - // This value will typically be a lot less than u64 - // unless the gas price on L1 goes beyond tens of millions of gwei - l1_gas_price * (L1_GAS_PER_PUBDATA_BYTE as u64) -} - pub(crate) fn vm_may_have_ended_inner( vm: &ZkSyncVmState, ) -> Option { diff --git a/core/lib/multivm/src/versions/vm_refunds_enhancement/tracers/refunds.rs b/core/lib/multivm/src/versions/vm_refunds_enhancement/tracers/refunds.rs index f906cef6230b..1410969a5726 100644 --- a/core/lib/multivm/src/versions/vm_refunds_enhancement/tracers/refunds.rs +++ b/core/lib/multivm/src/versions/vm_refunds_enhancement/tracers/refunds.rs @@ -20,10 +20,7 @@ use crate::{ vm_refunds_enhancement::{ bootloader_state::BootloaderState, constants::{BOOTLOADER_HEAP_PAGE, OPERATOR_REFUNDS_OFFSET, TX_GAS_LIMIT_OFFSET}, - old_vm::{ - events::merge_events, history_recorder::HistoryMode, memory::SimpleMemory, - utils::eth_price_per_pubdata_byte, - }, + old_vm::{events::merge_events, history_recorder::HistoryMode, memory::SimpleMemory}, tracers::{ traits::VmTracer, utils::{ @@ -31,6 +28,7 @@ use crate::{ }, }, types::internals::ZkSyncVmState, + utils::fee::eth_price_per_pubdata_byte, }, }; diff --git a/core/lib/multivm/src/versions/vm_refunds_enhancement/utils/fee.rs b/core/lib/multivm/src/versions/vm_refunds_enhancement/utils/fee.rs index cc6081d7a229..0575abbf8bd4 100644 --- a/core/lib/multivm/src/versions/vm_refunds_enhancement/utils/fee.rs +++ b/core/lib/multivm/src/versions/vm_refunds_enhancement/utils/fee.rs @@ -1,8 +1,14 @@ //! Utility functions for vm -use zksync_system_constants::MAX_GAS_PER_PUBDATA_BYTE; +use zksync_system_constants::{L1_GAS_PER_PUBDATA_BYTE, MAX_GAS_PER_PUBDATA_BYTE}; use zksync_utils::ceil_div; -use crate::vm_refunds_enhancement::old_vm::utils::eth_price_per_pubdata_byte; +pub(crate) fn eth_price_per_pubdata_byte(l1_gas_price: u64) -> u64 { + // This value will typically be a lot less than u64 + // unless the gas price on L1 goes beyond tens of millions of gwei + // TODO: make this check only once + let validium_mode = std::env::var("ETH_SENDER_SENDER_VALIDIUM_MODE") == Ok("true".to_string()); + l1_gas_price * (L1_GAS_PER_PUBDATA_BYTE as u64) * (!validium_mode as u64) +} /// Calculates the amount of gas required to publish one byte of pubdata pub fn base_fee_to_gas_per_pubdata(l1_gas_price: u64, base_fee: u64) -> u64 { diff --git a/core/lib/multivm/src/versions/vm_virtual_blocks/constants.rs b/core/lib/multivm/src/versions/vm_virtual_blocks/constants.rs index f821602a305f..7e61441c7eca 100644 --- a/core/lib/multivm/src/versions/vm_virtual_blocks/constants.rs +++ b/core/lib/multivm/src/versions/vm_virtual_blocks/constants.rs @@ -3,7 +3,8 @@ pub use zk_evm_1_3_3::zkevm_opcode_defs::system_params::{ ERGS_PER_CIRCUIT, INITIAL_STORAGE_WRITE_PUBDATA_BYTES, MAX_PUBDATA_PER_BLOCK, }; use zksync_system_constants::{ - MAX_L2_TX_GAS_LIMIT, MAX_NEW_FACTORY_DEPS, MAX_TXS_IN_BLOCK, USED_BOOTLOADER_MEMORY_WORDS, + L1_GAS_PER_PUBDATA_BYTE, MAX_L2_TX_GAS_LIMIT, MAX_NEW_FACTORY_DEPS, MAX_TXS_IN_BLOCK, + USED_BOOTLOADER_MEMORY_WORDS, }; use crate::vm_virtual_blocks::old_vm::utils::heap_page_from_base; @@ -69,14 +70,7 @@ const INITIAL_BASE_PAGE: u32 = 8; pub const BOOTLOADER_HEAP_PAGE: u32 = heap_page_from_base(MemoryPage(INITIAL_BASE_PAGE)).0; pub(crate) const BLOCK_OVERHEAD_GAS: u32 = 1200000; pub(crate) const BLOCK_OVERHEAD_L1_GAS: u32 = 1000000; -pub const L1_GAS_PER_PUBDATA_BYTE: u32 = match core::option_env!("VALIDIUM_MODE") { - Some(_) => 0, - _ => zksync_system_constants::L1_GAS_PER_PUBDATA_BYTE, -}; -pub const BLOCK_OVERHEAD_PUBDATA: u32 = match core::option_env!("VALIDIUM_MODE") { - Some(_) => 0, - _ => BLOCK_OVERHEAD_L1_GAS / L1_GAS_PER_PUBDATA_BYTE, -}; +pub const BLOCK_OVERHEAD_PUBDATA: u32 = BLOCK_OVERHEAD_L1_GAS / L1_GAS_PER_PUBDATA_BYTE; /// VM Hooks are used for communication between bootloader and tracers. /// The 'type' / 'opcode' is put into VM_HOOK_POSITION slot, /// and VM_HOOKS_PARAMS_COUNT parameters (each 32 bytes) are put in the slots before. diff --git a/core/lib/multivm/src/versions/vm_virtual_blocks/old_vm/utils.rs b/core/lib/multivm/src/versions/vm_virtual_blocks/old_vm/utils.rs index 7d38ba1058df..cfabb0866b68 100644 --- a/core/lib/multivm/src/versions/vm_virtual_blocks/old_vm/utils.rs +++ b/core/lib/multivm/src/versions/vm_virtual_blocks/old_vm/utils.rs @@ -7,7 +7,6 @@ use zk_evm_1_3_3::{ }, }; use zksync_state::WriteStorage; -use zksync_system_constants::L1_GAS_PER_PUBDATA_BYTE; use zksync_types::{Address, U256}; use crate::vm_virtual_blocks::{ @@ -96,12 +95,6 @@ pub(crate) fn precompile_calls_count_after_timestamp( sorted_timestamps.len() - sorted_timestamps.partition_point(|t| *t < from_timestamp) } -pub(crate) fn eth_price_per_pubdata_byte(l1_gas_price: u64) -> u64 { - // This value will typically be a lot less than u64 - // unless the gas price on L1 goes beyond tens of millions of gwei - l1_gas_price * (L1_GAS_PER_PUBDATA_BYTE as u64) -} - pub(crate) fn vm_may_have_ended_inner( vm: &ZkSyncVmState, ) -> Option { diff --git a/core/lib/multivm/src/versions/vm_virtual_blocks/tracers/refunds.rs b/core/lib/multivm/src/versions/vm_virtual_blocks/tracers/refunds.rs index 6051cd7bb7d8..3635e1b0026e 100644 --- a/core/lib/multivm/src/versions/vm_virtual_blocks/tracers/refunds.rs +++ b/core/lib/multivm/src/versions/vm_virtual_blocks/tracers/refunds.rs @@ -23,7 +23,7 @@ use crate::{ constants::{BOOTLOADER_HEAP_PAGE, OPERATOR_REFUNDS_OFFSET, TX_GAS_LIMIT_OFFSET}, old_vm::{ events::merge_events, history_recorder::HistoryMode, memory::SimpleMemory, - oracles::storage::storage_key_of_log, utils::eth_price_per_pubdata_byte, + oracles::storage::storage_key_of_log, }, tracers::{ traits::{ExecutionEndTracer, ExecutionProcessing, VmTracer}, @@ -32,6 +32,7 @@ use crate::{ }, }, types::internals::ZkSyncVmState, + utils::fee::eth_price_per_pubdata_byte, }, }; diff --git a/core/lib/multivm/src/versions/vm_virtual_blocks/utils/fee.rs b/core/lib/multivm/src/versions/vm_virtual_blocks/utils/fee.rs index 6753e8197813..0575abbf8bd4 100644 --- a/core/lib/multivm/src/versions/vm_virtual_blocks/utils/fee.rs +++ b/core/lib/multivm/src/versions/vm_virtual_blocks/utils/fee.rs @@ -1,8 +1,14 @@ //! Utility functions for vm -use zksync_system_constants::MAX_GAS_PER_PUBDATA_BYTE; +use zksync_system_constants::{L1_GAS_PER_PUBDATA_BYTE, MAX_GAS_PER_PUBDATA_BYTE}; use zksync_utils::ceil_div; -use crate::vm_virtual_blocks::old_vm::utils::eth_price_per_pubdata_byte; +pub(crate) fn eth_price_per_pubdata_byte(l1_gas_price: u64) -> u64 { + // This value will typically be a lot less than u64 + // unless the gas price on L1 goes beyond tens of millions of gwei + // TODO: make this check only once + let validium_mode = std::env::var("ETH_SENDER_SENDER_VALIDIUM_MODE") == Ok("true".to_string()); + l1_gas_price * (L1_GAS_PER_PUBDATA_BYTE as u64) * (!validium_mode as u64) +} /// Calculates the amount of gas required to publish one byte of pubdata pub fn base_fee_to_gas_per_pubdata(l1_gas_price: u64, base_fee: u64) -> u64 { diff --git a/infrastructure/zk/src/init.ts b/infrastructure/zk/src/init.ts index 7ceb24003c2e..d744d5dc460a 100644 --- a/infrastructure/zk/src/init.ts +++ b/infrastructure/zk/src/init.ts @@ -51,7 +51,6 @@ export async function init(initArgs: InitArgs = DEFAULT_ARGS) { if (validiumMode) { await announced('Setting up validium mode to true'); process.env.ETH_SENDER_SENDER_VALIDIUM_MODE = 'true'; - process.env.VALIDIUM_MODE = 'true'; } else { await announced('Setting up validium mode to false'); process.env.ETH_SENDER_SENDER_VALIDIUM_MODE = 'false'; From 183957d5d994c2bc3db1de1ffbe93edc63e77081 Mon Sep 17 00:00:00 2001 From: Mario Rugiero Date: Mon, 15 Jan 2024 12:44:02 -0300 Subject: [PATCH 16/29] Restore original values --- core/lib/multivm/src/versions/vm_1_3_2/vm_with_bootloader.rs | 3 +-- core/lib/multivm/src/versions/vm_m5/vm_with_bootloader.rs | 3 +-- core/lib/multivm/src/versions/vm_m6/vm_with_bootloader.rs | 3 +-- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/core/lib/multivm/src/versions/vm_1_3_2/vm_with_bootloader.rs b/core/lib/multivm/src/versions/vm_1_3_2/vm_with_bootloader.rs index 355d6b4adf10..71c108cae326 100644 --- a/core/lib/multivm/src/versions/vm_1_3_2/vm_with_bootloader.rs +++ b/core/lib/multivm/src/versions/vm_1_3_2/vm_with_bootloader.rs @@ -41,8 +41,7 @@ use crate::vm_1_3_2::{ // fill these values in the similar fasion as other overhead-related constants pub const BLOCK_OVERHEAD_GAS: u32 = 1200000; pub const BLOCK_OVERHEAD_L1_GAS: u32 = 1000000; -// pub const BLOCK_OVERHEAD_PUBDATA: u32 = BLOCK_OVERHEAD_L1_GAS / L1_GAS_PER_PUBDATA_BYTE; -pub const BLOCK_OVERHEAD_PUBDATA: u32 = 0; +pub const BLOCK_OVERHEAD_PUBDATA: u32 = BLOCK_OVERHEAD_L1_GAS / L1_GAS_PER_PUBDATA_BYTE; pub const MAX_BLOCK_MULTIINSTANCE_GAS_LIMIT: u32 = 300_000_000; diff --git a/core/lib/multivm/src/versions/vm_m5/vm_with_bootloader.rs b/core/lib/multivm/src/versions/vm_m5/vm_with_bootloader.rs index 5263e125800f..f9ba88fea143 100644 --- a/core/lib/multivm/src/versions/vm_m5/vm_with_bootloader.rs +++ b/core/lib/multivm/src/versions/vm_m5/vm_with_bootloader.rs @@ -36,8 +36,7 @@ use crate::vm_m5::{ // fill these values in the similar fasion as other overhead-related constants pub const BLOCK_OVERHEAD_GAS: u32 = 1200000; pub const BLOCK_OVERHEAD_L1_GAS: u32 = 1000000; -// pub const BLOCK_OVERHEAD_PUBDATA: u32 = BLOCK_OVERHEAD_L1_GAS / L1_GAS_PER_PUBDATA_BYTE; -pub const BLOCK_OVERHEAD_PUBDATA: u32 = 0; +pub const BLOCK_OVERHEAD_PUBDATA: u32 = BLOCK_OVERHEAD_L1_GAS / L1_GAS_PER_PUBDATA_BYTE; pub const MAX_BLOCK_MULTIINSTANCE_GAS_LIMIT: u32 = 300_000_000; diff --git a/core/lib/multivm/src/versions/vm_m6/vm_with_bootloader.rs b/core/lib/multivm/src/versions/vm_m6/vm_with_bootloader.rs index 021e539f5c36..bbd2c4f748c0 100644 --- a/core/lib/multivm/src/versions/vm_m6/vm_with_bootloader.rs +++ b/core/lib/multivm/src/versions/vm_m6/vm_with_bootloader.rs @@ -39,8 +39,7 @@ use crate::vm_m6::{ // fill these values in the similar fasion as other overhead-related constants pub const BLOCK_OVERHEAD_GAS: u32 = 1200000; pub const BLOCK_OVERHEAD_L1_GAS: u32 = 1000000; -// pub const BLOCK_OVERHEAD_PUBDATA: u32 = BLOCK_OVERHEAD_L1_GAS / L1_GAS_PER_PUBDATA_BYTE; -pub const BLOCK_OVERHEAD_PUBDATA: u32 = 0; +pub const BLOCK_OVERHEAD_PUBDATA: u32 = BLOCK_OVERHEAD_L1_GAS / L1_GAS_PER_PUBDATA_BYTE; pub const MAX_BLOCK_MULTIINSTANCE_GAS_LIMIT: u32 = 300_000_000; /// `BlockContext` is a structure that contains parameters for From cff8bfdd1f663e2eb587b8295ed7717880493b05 Mon Sep 17 00:00:00 2001 From: Jordi <146965181+jordibonet-lambdaclass@users.noreply.github.com> Date: Mon, 15 Jan 2024 19:34:16 +0100 Subject: [PATCH 17/29] Add validium example readme (#34) * Add validium example readme * update validium.md and change test name * fmt --------- Co-authored-by: toni-calvin --- Cargo.lock | 26 ++-- Cargo.toml | 2 +- validium.md | 139 ++++++------------ .../.gitignore | 0 .../BytesWriter.abi | 0 .../BytesWriter.bin | 0 .../BytesWriter.sol | 0 .../Cargo.toml | 2 +- .../Context.sol | 0 .../ERC20.abi | 0 .../ERC20.bin | 0 .../ERC20.sol | 0 .../Greeter.abi | 0 .../Greeter.bin | 0 .../Greeter.sol | 0 .../IERC20.sol | 0 .../IERC20Metadata.sol | 0 .../src/main.rs | 34 +---- 18 files changed, 69 insertions(+), 134 deletions(-) rename {zksync_full_stack => validium_mode_example}/.gitignore (100%) rename {zksync_full_stack => validium_mode_example}/BytesWriter.abi (100%) rename {zksync_full_stack => validium_mode_example}/BytesWriter.bin (100%) rename {zksync_full_stack => validium_mode_example}/BytesWriter.sol (100%) rename {zksync_full_stack => validium_mode_example}/Cargo.toml (92%) rename {zksync_full_stack => validium_mode_example}/Context.sol (100%) rename {zksync_full_stack => validium_mode_example}/ERC20.abi (100%) rename {zksync_full_stack => validium_mode_example}/ERC20.bin (100%) rename {zksync_full_stack => validium_mode_example}/ERC20.sol (100%) rename {zksync_full_stack => validium_mode_example}/Greeter.abi (100%) rename {zksync_full_stack => validium_mode_example}/Greeter.bin (100%) rename {zksync_full_stack => validium_mode_example}/Greeter.sol (100%) rename {zksync_full_stack => validium_mode_example}/IERC20.sol (100%) rename {zksync_full_stack => validium_mode_example}/IERC20Metadata.sol (100%) rename {zksync_full_stack => validium_mode_example}/src/main.rs (91%) diff --git a/Cargo.lock b/Cargo.lock index 84853eebe6bf..6f303de826ce 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -8590,6 +8590,19 @@ dependencies = [ "serde", ] +[[package]] +name = "validium_mode_example" +version = "0.1.0" +dependencies = [ + "colored", + "ethers", + "hex", + "loadnext", + "tokio", + "zksync-web3-rs", + "zksync_web3_decl", +] + [[package]] name = "valuable" version = "0.1.0" @@ -9880,19 +9893,6 @@ dependencies = [ "zksync_web3_decl", ] -[[package]] -name = "zksync_full_stack" -version = "0.1.0" -dependencies = [ - "colored", - "ethers", - "hex", - "loadnext", - "tokio", - "zksync-web3-rs", - "zksync_web3_decl", -] - [[package]] name = "zksync_health_check" version = "0.1.0" diff --git a/Cargo.toml b/Cargo.toml index 14dd6da44edc..dda250c1e5d9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -50,7 +50,7 @@ members = [ "sdk/zksync-rs", # Validium Example - "zksync_full_stack", + "validium_mode_example", ] resolver = "2" diff --git a/validium.md b/validium.md index 7a4cd1b436a5..5bc22e0c98b0 100644 --- a/validium.md +++ b/validium.md @@ -2,99 +2,54 @@ In order to start the node as a validium: -- Make sure `zk` has been built and then run `zk init --validium-mode`. This will set up the Ethereum node with the - validium contracts, and also define an env var which the server will pick up in order to run as a validium node +- Make sure `zk` has been built and then run `zk && zk clean --all && zk init --validium-mode` This will set up the + Ethereum node with the validium contracts, and also define an env var which the server will pick up in order to run as + a validium node. - Start the server (`zk server`) -- Execute transactions. For testing, `cargo run --release --bin zksync_full_stack` inits a wallet, deploys a contract - and executes a tx -- Query the node for the tx hash (output of the zksync_full_stack binary): +- Execute transactions. For testing, run `cargo run --release --bin validium_mode_example`, this test does the + following: + - Inits a wallet + - Deposits some funds into the wallet + - Deploys a sample ERC20 contract + - Query the contract for the token name and symbol + - Mint 100000 tokens into the address `CD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826` + - Transfer 1000 tokens from `CD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826` to `bBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB` + +### Logs and prints + +- For each transaction, we use the rpc client to query the transaction details and print them out. The following fields + are printed: + - `Transaction hash`: The hash of the transaction + - `Transaction gas used`: The gas used to perform this transaction. + - `L2 fee`: The total cost of this transaction. + - `L1 Gas`: The gas borrowed in order to run the transaction. Unused gas will be returned. + - `L1 Gas price`: The gas price used to run the transaction. + +### Example output ``` -curl -X POST -H 'content-type: application/json' 127.0.0.1:3050 -d '{"jsonrpc": "2.0", "id": 1, "method": "zks_getTransactionDetails", "params": ["0xa1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf676680"]}' | jq - - -{ - "jsonrpc": "2.0", - "result": { - "isL1Originated": false, - "status": "verified", - "fee": "0x1c72f149e000", - "gasPerPubdata": "0xc350", - "initiatorAddress": "0x36615cf349d7f6344891b1e7ca7c72883f5dc049", - "receivedAt": "2023-11-02T18:00:02.808Z", - "ethCommitTxHash": "0xf2daa7aeba7ded2c4dcb1ceb7892c6fa34ef57fec3a175f8593d313bf2c5d314", - "ethProveTxHash": "0x7b9385ac38937207ea54403e0dbefdd9000a33b01b61d777c134057863272b6c", - "ethExecuteTxHash": null - }, - "id": 1 -} -``` - -Not all the eth-related transaction hashes might be displayed depending on how much time passes between sending the tx -and querying the node, since the transactions are bundled into batches which get entered into the batch pipeline - -- query the geth node with the `ethCommitTxHash` (remember to use your hash and not the one in the example below) - -``` -curl -X POST -H 'content-type: application/json' 127.0.0.1:8545 -d '{"jsonrpc": "2.0", "id": 1, "method": "eth_getTransactionByHash", "params": ["0xf2daa7aeba7ded2c4dcb1ceb7892c6fa34ef57fec3a175f8593d313bf2c5d314"]}' | jq - -{ - "jsonrpc": "2.0", - "id": 1, - "result": { - "blockHash": "0x67cf02bcb7752d71df784c5c1e21b860e78a8a2963c18833d5c6240eb141b4e3", - "blockNumber": "0x1d3b6", - "from": "0xde03a0b5963f75f1c8485b355ff6d30f3093bde7", - "gas": "0x3d0900", - "gasPrice": "0x3b9aca07", - "maxFeePerGas": "0x3b9aca0a", - "maxPriorityFeePerGas": "0x3b9aca00", - "hash": "0xf2daa7aeba7ded2c4dcb1ceb7892c6fa34ef57fec3a175f8593d313bf2c5d314", - "input": "0x701f58c500000000000000000000000000000000000000000000000000000000000000035a75c9fdb0ef4c97c74e433ac053b9afec3ad23563063b23890091324539c126000000000000000000000000000000000000000000000000000000000000005f0000000000000000000000000000000000000000000000000000000000000000c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4706c86889f42762dc2a4d547d5daab9982825dba1944ea75d19c5b72a6f8816c0a000000000000000000000000000000000000000000000000000000006543e10ec341dfc85d9f9402a6d16d2b863e1c30ac8cc8853ac2c024feb960c7c121d51b0000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000006543e12600000000000000000000000000000000000000000000000000000000000000621cd68c6b5e0da5ab1354bd7523bb510155acf5ed85c2aa199b28695f90f7633a0000000000000000000000000000000000000000000000000000000000000000c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4707fb8d37f4ce4c9fdd84f5965ec76dd3ccb89e049f92cf155bc2ddc71bfad8c5b470af434b6d50228459d0ed2e371f237933c9f3f4c3e1c1417e4b3d3fcd2b4b6000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000003e0000000000000000000000000000000000000000000000000000000000000026800000000000000000000000000000000000000000000800b00000000000000000000000000000000000000000000000000000000000000045a75c9fdb0ef4c97c74e433ac053b9afec3ad23563063b23890091324539c12600000001000000000000000000000000000000000000800b00000000000000000000000000000000000000000000000000000000000000030000000000000000000000006543e1260000000000000000000000006543e1270001000100000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000005c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470000100010000000000000000000000000000000000008001000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000001000100000000000000000000000000000000000080080000000000000000000000000000000000000000000000000000000000000000fef7bd9f889811e59e4076a0174087135f080177302763019adaf531257e3a8700010001000000000000000000000000000000000000800800000000000000000000000000000000000000000000000000000000000000011c204342a59bae89d48807f747a363671740f0615de30530e12e8bbfc450ece000010001000000000000000000000000000000000000800800000000000000000000000000000000000000000000000000000000000000022b4fd9c63abc805a3c11cbc1264eb6c9bcdec326c3f8b41eb92d4b2ffef611c2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000010203090000000000000000000000000000000000000000", - "nonce": "0x38", - "to": "0x06b7877ba1a9bb15e5ae1aaac8c651969106a57a", - "transactionIndex": "0x0", - "value": "0x0", - "type": "0x2", - "accessList": [], - "chainId": "0x9", - "v": "0x0", - "r": "0x9f038380597cdc035e60916dd9bbd20d0b1a02f32eac7def479cf1f24633b100", - "s": "0x79c004b4b18d7132f980c501bc14804e6bd78cccc76a8e5fff6631b1403c832c" - } -} -``` - -if the same process is followed for a non-validium node, there is more data in the input field (see after the `01020309` -sub-array which was put in place for detecting these changes): - -``` -curl -X POST -H 'content-type: application/json' 127.0.0.1:8545 -d '{"jsonrpc": "2.0", "id": 1, "method": "eth_getTransactionByHash", "params": ["0xf2daa7aeba7ded2c4dcb1ceb7892c6fa34ef57fec3a175f8593d313bf2c5d314"]}' | jq - - -{ - "jsonrpc": "2.0", - "id": 1, - "result": { - "blockHash": "0x2dc87056f8c8b7eba3f122da43bc8db0672492aa5915f944b4842b4ab57f21f8", - "blockNumber": "0x1d628", - "from": "0xde03a0b5963f75f1c8485b355ff6d30f3093bde7", - "gas": "0x3d0900", - "gasPrice": "0x3b9aca07", - "maxFeePerGas": "0x3b9aca0a", - "maxPriorityFeePerGas": "0x3b9aca00", - "hash": "0xf2daa7aeba7ded2c4dcb1ceb7892c6fa34ef57fec3a175f8593d313bf2c5d314", - "input": "0x701f58c50000000000000000000000000000000000000000000000000000000000000003abcc4c7388651eb753807814b2c5fce3c85d7501cf89dad6e5669df9c5ede5c8000000000000000000000000000000000000000000000000000000000000005e0000000000000000000000000000000000000000000000000000000000000000c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4706c86889f42762dc2a4d547d5daab9982825dba1944ea75d19c5b72a6f8816c0a000000000000000000000000000000000000000000000000000000006543e38b2da007083449852aa93d1b2e48cf237dafe6d11eeee14dca1a2abb3525526b100000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000006543e3a3000000000000000000000000000000000000000000000000000000000000006122173cd9a05bc38fb465363fd6aed57d93141f8bfdbc75d19ea48f2af3beb52d0000000000000000000000000000000000000000000000000000000000000000c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4706294138c217f7427db7f8e19c4d6bc144331827e856e379016e8b66cf9fc05e6470af434b6d50228459d0ed2e371f237933c9f3f4c3e1c1417e4b3d3fcd2b4b6000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000003e0000000000000000000000000000000000000000000000000000000000000026800000000000000000000000000000000000000000000800b0000000000000000000000000000000000000000000000000000000000000004abcc4c7388651eb753807814b2c5fce3c85d7501cf89dad6e5669df9c5ede5c800000001000000000000000000000000000000000000800b00000000000000000000000000000000000000000000000000000000000000030000000000000000000000006543e3a30000000000000000000000006543e3a40001000100000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000005c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470000100010000000000000000000000000000000000008001000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000001000100000000000000000000000000000000000080080000000000000000000000000000000000000000000000000000000000000000fef7bd9f889811e59e4076a0174087135f080177302763019adaf531257e3a870001000100000000000000000000000000000000000080080000000000000000000000000000000000000000000000000000000000000001dc5fdb827f4535cf6d6552a98d75494dae47466825a5f2a2c8b28b15bc0fcf7a0001000100000000000000000000000000000000000080080000000000000000000000000000000000000000000000000000000000000002e7748039ceb32bda1670b1a1520470e929f74b5ce1bf29df23258c0a5301e225000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000015b00000000000000000102030900000000010001460400032c1818e4770f08c05b28829d7d5f9d401d492c7432c166dfecf4af04238ea3230058d1d0f8a5baff47f324e7d9b05e62deb67355dd311d0e6a6bf9e7c41ecec108ca1bbc31cc849a8092a36f9a321e17412dee200b956038af1c2dc83430a0e8b00058203175654ae01a169ff0277c30e5d00fb332f32855bf6204abe9a7168d00f3cf368ce957aed709b985423cd3ba11615de01ecafa15eb9a11bc6cdef4f6327900abcc4c7388651eb753807814b2c5fce3c85d7501cf89dad6e5669df9c5ede5c800000058090100000030311c72f149e00000000053321c72f149e0000000003389010000000000000000000000000000001800000034890200000000000000000000000000000018000000378902000000000000000000000000000000180000005df20c9390fffffffffffffffffffffffffffffffffffffffffffffffffffffc0000000000", - "nonce": "0x49", - "to": "0x540c25479dd1f0250e336b3abb21485afa7d8aba", - "transactionIndex": "0x0", - "value": "0x0", - "type": "0x2", - "accessList": [], - "chainId": "0x9", - "v": "0x0", - "r": "0x69874fbaab6e00210cbdc03b15aab565eeb0c706e1845601d194e243e71bd618", - "s": "0xdab5e41a8cfbe73295f57e1bd1ac409170ba251eefc822b8e2c6936aaf3ed" - } -} +Deposit transaction hash: 0xc01cf32c699943f8d751047514393a5e98d8cbeaa128fa50c32a3d7804b876a5 +Deploy +Contract address: 0xf2fcc18ed5072b48c0a076693eca72fe840b3981 +Transaction hash 0x9e817fcc8eeeda001793c9142161a11e3fd3ef3c64523be1f5c11b6cbff7b64f +Transaction gas used 161163 +L2 fee: 40290750000000 +L1 Gas: 4000000 +L1 Gas price: 1000000007 + +Mint +Transaction hash 0x0e9bcc26addf1edfe0993767cc2d6ec959a135dc3087b63b5fc9d54d7ed854ef +Transaction gas used 124046 +L2 fee: 31011500000000 +L1 max fee per gas: 1000000010 +L1 Gas: 4000000 +L1 Gas price: 1000000007 + +Transfer 1000 +Transaction hash 0x5a1f7130024b73c2d3de5256a72bddbc703983d69d3ad0f3f64d8e6122e0e85a +Transaction gas used 125466 +L2 fee: 31366500000000 +L1 max fee per gas: 1000000010 +L1 Gas: 4000000 +L1 Gas price: 1000000007 ``` diff --git a/zksync_full_stack/.gitignore b/validium_mode_example/.gitignore similarity index 100% rename from zksync_full_stack/.gitignore rename to validium_mode_example/.gitignore diff --git a/zksync_full_stack/BytesWriter.abi b/validium_mode_example/BytesWriter.abi similarity index 100% rename from zksync_full_stack/BytesWriter.abi rename to validium_mode_example/BytesWriter.abi diff --git a/zksync_full_stack/BytesWriter.bin b/validium_mode_example/BytesWriter.bin similarity index 100% rename from zksync_full_stack/BytesWriter.bin rename to validium_mode_example/BytesWriter.bin diff --git a/zksync_full_stack/BytesWriter.sol b/validium_mode_example/BytesWriter.sol similarity index 100% rename from zksync_full_stack/BytesWriter.sol rename to validium_mode_example/BytesWriter.sol diff --git a/zksync_full_stack/Cargo.toml b/validium_mode_example/Cargo.toml similarity index 92% rename from zksync_full_stack/Cargo.toml rename to validium_mode_example/Cargo.toml index 7e7688527659..4d6215c01bb3 100644 --- a/zksync_full_stack/Cargo.toml +++ b/validium_mode_example/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "zksync_full_stack" +name = "validium_mode_example" version = "0.1.0" edition = "2021" diff --git a/zksync_full_stack/Context.sol b/validium_mode_example/Context.sol similarity index 100% rename from zksync_full_stack/Context.sol rename to validium_mode_example/Context.sol diff --git a/zksync_full_stack/ERC20.abi b/validium_mode_example/ERC20.abi similarity index 100% rename from zksync_full_stack/ERC20.abi rename to validium_mode_example/ERC20.abi diff --git a/zksync_full_stack/ERC20.bin b/validium_mode_example/ERC20.bin similarity index 100% rename from zksync_full_stack/ERC20.bin rename to validium_mode_example/ERC20.bin diff --git a/zksync_full_stack/ERC20.sol b/validium_mode_example/ERC20.sol similarity index 100% rename from zksync_full_stack/ERC20.sol rename to validium_mode_example/ERC20.sol diff --git a/zksync_full_stack/Greeter.abi b/validium_mode_example/Greeter.abi similarity index 100% rename from zksync_full_stack/Greeter.abi rename to validium_mode_example/Greeter.abi diff --git a/zksync_full_stack/Greeter.bin b/validium_mode_example/Greeter.bin similarity index 100% rename from zksync_full_stack/Greeter.bin rename to validium_mode_example/Greeter.bin diff --git a/zksync_full_stack/Greeter.sol b/validium_mode_example/Greeter.sol similarity index 100% rename from zksync_full_stack/Greeter.sol rename to validium_mode_example/Greeter.sol diff --git a/zksync_full_stack/IERC20.sol b/validium_mode_example/IERC20.sol similarity index 100% rename from zksync_full_stack/IERC20.sol rename to validium_mode_example/IERC20.sol diff --git a/zksync_full_stack/IERC20Metadata.sol b/validium_mode_example/IERC20Metadata.sol similarity index 100% rename from zksync_full_stack/IERC20Metadata.sol rename to validium_mode_example/IERC20Metadata.sol diff --git a/zksync_full_stack/src/main.rs b/validium_mode_example/src/main.rs similarity index 91% rename from zksync_full_stack/src/main.rs rename to validium_mode_example/src/main.rs index 8fb8da439d7a..0d8dc062a0e4 100644 --- a/zksync_full_stack/src/main.rs +++ b/validium_mode_example/src/main.rs @@ -13,7 +13,7 @@ use zksync_web3_rs::{ providers::{Middleware, Provider}, signers::{LocalWallet, Signer}, zks_provider::ZKSProvider, - zks_wallet::{CallRequest, DeployRequest, DepositRequest}, + zks_wallet::{DeployRequest, DepositRequest}, ZKSWallet, }; @@ -104,11 +104,11 @@ async fn main() { let transaction_hash_deploy = transaction_receipt.transaction_hash; let transaction_hash_formatted_deploy = format!("{:#?}", transaction_receipt.transaction_hash); - println!("transaction hash {}", transaction_hash_formatted_deploy); + println!("Transaction hash {}", transaction_hash_formatted_deploy); let transaction_gas_used_formatted_deploy = format!("{:#?}", transaction_receipt.gas_used.unwrap()); println!( - "transaction gas_used {}", + "Transaction gas used {}", transaction_gas_used_formatted_deploy.cyan() ); let l2_transaction_deploy = { @@ -143,26 +143,6 @@ async fn main() { address }; - - { - let era_provider = zk_wallet.get_era_provider().unwrap(); - let call_request_name = CallRequest::new(contract_address, "name()(string)".to_owned()); - - let name_message = ZKSProvider::call(era_provider.as_ref(), &call_request_name) - .await - .unwrap(); - - println!("Token name: {}", name_message[0]); - - let call_request_symbol = CallRequest::new(contract_address, "symbol()(string)".to_owned()); - - let symbol_message = ZKSProvider::call(era_provider.as_ref(), &call_request_symbol) - .await - .unwrap(); - - println!("Token symbol: {}", symbol_message[0]); - } - println!(); println!("{}", "Mint".bright_magenta()); @@ -191,10 +171,10 @@ async fn main() { let transaction_hash_mint = receipt_mint.transaction_hash; let transaction_hash_formatted_mint = format!("{:#?}", receipt_mint.transaction_hash); - println!("transaction hash {}", transaction_hash_formatted_mint); + println!("Transaction hash {}", transaction_hash_formatted_mint); let transaction_gas_used_formatted_mint = format!("{:#?}", receipt_mint.gas_used.unwrap()); println!( - "transaction gas_used {}", + "Transaction gas used {}", transaction_gas_used_formatted_mint.cyan() ); let l2_transaction_mint = { @@ -267,11 +247,11 @@ async fn main() { let transaction_hash_transfer = receipt_transfer.transaction_hash; let transaction_hash_formatted_transfer = format!("{:#?}", receipt_transfer.transaction_hash); - println!("transaction hash {}", transaction_hash_formatted_transfer); + println!("Transaction hash {}", transaction_hash_formatted_transfer); let transaction_gas_used_formatted_transfer = format!("{:#?}", receipt_transfer.gas_used.unwrap()); println!( - "transaction gas_used {}", + "Transaction gas used {}", transaction_gas_used_formatted_transfer.cyan() ); let l2_transaction_transfer = { From 5bbeb3cfb9030d0eb1b1fec84a6396879b45cf4f Mon Sep 17 00:00:00 2001 From: Mario Rugiero Date: Mon, 15 Jan 2024 15:46:36 -0300 Subject: [PATCH 18/29] Only keep changes for vm_latest --- .../multivm/src/versions/vm_m6/vm_with_bootloader.rs | 1 + .../src/versions/vm_refunds_enhancement/constants.rs | 1 + .../versions/vm_refunds_enhancement/old_vm/utils.rs | 7 +++++++ .../versions/vm_refunds_enhancement/tracers/refunds.rs | 6 ++++-- .../src/versions/vm_refunds_enhancement/utils/fee.rs | 10 ++-------- .../src/versions/vm_virtual_blocks/constants.rs | 1 + .../src/versions/vm_virtual_blocks/old_vm/utils.rs | 7 +++++++ .../src/versions/vm_virtual_blocks/tracers/refunds.rs | 3 +-- .../src/versions/vm_virtual_blocks/utils/fee.rs | 10 ++-------- 9 files changed, 26 insertions(+), 20 deletions(-) diff --git a/core/lib/multivm/src/versions/vm_m6/vm_with_bootloader.rs b/core/lib/multivm/src/versions/vm_m6/vm_with_bootloader.rs index bbd2c4f748c0..c7d4ee3d45e8 100644 --- a/core/lib/multivm/src/versions/vm_m6/vm_with_bootloader.rs +++ b/core/lib/multivm/src/versions/vm_m6/vm_with_bootloader.rs @@ -40,6 +40,7 @@ use crate::vm_m6::{ pub const BLOCK_OVERHEAD_GAS: u32 = 1200000; pub const BLOCK_OVERHEAD_L1_GAS: u32 = 1000000; pub const BLOCK_OVERHEAD_PUBDATA: u32 = BLOCK_OVERHEAD_L1_GAS / L1_GAS_PER_PUBDATA_BYTE; + pub const MAX_BLOCK_MULTIINSTANCE_GAS_LIMIT: u32 = 300_000_000; /// `BlockContext` is a structure that contains parameters for diff --git a/core/lib/multivm/src/versions/vm_refunds_enhancement/constants.rs b/core/lib/multivm/src/versions/vm_refunds_enhancement/constants.rs index 189320892df5..82ab754e4036 100644 --- a/core/lib/multivm/src/versions/vm_refunds_enhancement/constants.rs +++ b/core/lib/multivm/src/versions/vm_refunds_enhancement/constants.rs @@ -71,6 +71,7 @@ pub const BOOTLOADER_HEAP_PAGE: u32 = heap_page_from_base(MemoryPage(INITIAL_BAS pub const BLOCK_OVERHEAD_GAS: u32 = 1200000; pub const BLOCK_OVERHEAD_L1_GAS: u32 = 1000000; pub const BLOCK_OVERHEAD_PUBDATA: u32 = BLOCK_OVERHEAD_L1_GAS / L1_GAS_PER_PUBDATA_BYTE; + /// VM Hooks are used for communication between bootloader and tracers. /// The 'type' / 'opcode' is put into VM_HOOK_POSITION slot, /// and VM_HOOKS_PARAMS_COUNT parameters (each 32 bytes) are put in the slots before. diff --git a/core/lib/multivm/src/versions/vm_refunds_enhancement/old_vm/utils.rs b/core/lib/multivm/src/versions/vm_refunds_enhancement/old_vm/utils.rs index 4af52072adf9..bc4b2c3eff15 100644 --- a/core/lib/multivm/src/versions/vm_refunds_enhancement/old_vm/utils.rs +++ b/core/lib/multivm/src/versions/vm_refunds_enhancement/old_vm/utils.rs @@ -7,6 +7,7 @@ use zk_evm_1_3_3::{ }, }; use zksync_state::WriteStorage; +use zksync_system_constants::L1_GAS_PER_PUBDATA_BYTE; use zksync_types::{Address, U256}; use crate::vm_refunds_enhancement::{ @@ -95,6 +96,12 @@ pub(crate) fn precompile_calls_count_after_timestamp( sorted_timestamps.len() - sorted_timestamps.partition_point(|t| *t < from_timestamp) } +pub(crate) fn eth_price_per_pubdata_byte(l1_gas_price: u64) -> u64 { + // This value will typically be a lot less than u64 + // unless the gas price on L1 goes beyond tens of millions of gwei + l1_gas_price * (L1_GAS_PER_PUBDATA_BYTE as u64) +} + pub(crate) fn vm_may_have_ended_inner( vm: &ZkSyncVmState, ) -> Option { diff --git a/core/lib/multivm/src/versions/vm_refunds_enhancement/tracers/refunds.rs b/core/lib/multivm/src/versions/vm_refunds_enhancement/tracers/refunds.rs index 1410969a5726..f906cef6230b 100644 --- a/core/lib/multivm/src/versions/vm_refunds_enhancement/tracers/refunds.rs +++ b/core/lib/multivm/src/versions/vm_refunds_enhancement/tracers/refunds.rs @@ -20,7 +20,10 @@ use crate::{ vm_refunds_enhancement::{ bootloader_state::BootloaderState, constants::{BOOTLOADER_HEAP_PAGE, OPERATOR_REFUNDS_OFFSET, TX_GAS_LIMIT_OFFSET}, - old_vm::{events::merge_events, history_recorder::HistoryMode, memory::SimpleMemory}, + old_vm::{ + events::merge_events, history_recorder::HistoryMode, memory::SimpleMemory, + utils::eth_price_per_pubdata_byte, + }, tracers::{ traits::VmTracer, utils::{ @@ -28,7 +31,6 @@ use crate::{ }, }, types::internals::ZkSyncVmState, - utils::fee::eth_price_per_pubdata_byte, }, }; diff --git a/core/lib/multivm/src/versions/vm_refunds_enhancement/utils/fee.rs b/core/lib/multivm/src/versions/vm_refunds_enhancement/utils/fee.rs index 0575abbf8bd4..cc6081d7a229 100644 --- a/core/lib/multivm/src/versions/vm_refunds_enhancement/utils/fee.rs +++ b/core/lib/multivm/src/versions/vm_refunds_enhancement/utils/fee.rs @@ -1,14 +1,8 @@ //! Utility functions for vm -use zksync_system_constants::{L1_GAS_PER_PUBDATA_BYTE, MAX_GAS_PER_PUBDATA_BYTE}; +use zksync_system_constants::MAX_GAS_PER_PUBDATA_BYTE; use zksync_utils::ceil_div; -pub(crate) fn eth_price_per_pubdata_byte(l1_gas_price: u64) -> u64 { - // This value will typically be a lot less than u64 - // unless the gas price on L1 goes beyond tens of millions of gwei - // TODO: make this check only once - let validium_mode = std::env::var("ETH_SENDER_SENDER_VALIDIUM_MODE") == Ok("true".to_string()); - l1_gas_price * (L1_GAS_PER_PUBDATA_BYTE as u64) * (!validium_mode as u64) -} +use crate::vm_refunds_enhancement::old_vm::utils::eth_price_per_pubdata_byte; /// Calculates the amount of gas required to publish one byte of pubdata pub fn base_fee_to_gas_per_pubdata(l1_gas_price: u64, base_fee: u64) -> u64 { diff --git a/core/lib/multivm/src/versions/vm_virtual_blocks/constants.rs b/core/lib/multivm/src/versions/vm_virtual_blocks/constants.rs index 7e61441c7eca..c03260f1b6de 100644 --- a/core/lib/multivm/src/versions/vm_virtual_blocks/constants.rs +++ b/core/lib/multivm/src/versions/vm_virtual_blocks/constants.rs @@ -71,6 +71,7 @@ pub const BOOTLOADER_HEAP_PAGE: u32 = heap_page_from_base(MemoryPage(INITIAL_BAS pub(crate) const BLOCK_OVERHEAD_GAS: u32 = 1200000; pub(crate) const BLOCK_OVERHEAD_L1_GAS: u32 = 1000000; pub const BLOCK_OVERHEAD_PUBDATA: u32 = BLOCK_OVERHEAD_L1_GAS / L1_GAS_PER_PUBDATA_BYTE; + /// VM Hooks are used for communication between bootloader and tracers. /// The 'type' / 'opcode' is put into VM_HOOK_POSITION slot, /// and VM_HOOKS_PARAMS_COUNT parameters (each 32 bytes) are put in the slots before. diff --git a/core/lib/multivm/src/versions/vm_virtual_blocks/old_vm/utils.rs b/core/lib/multivm/src/versions/vm_virtual_blocks/old_vm/utils.rs index cfabb0866b68..7d38ba1058df 100644 --- a/core/lib/multivm/src/versions/vm_virtual_blocks/old_vm/utils.rs +++ b/core/lib/multivm/src/versions/vm_virtual_blocks/old_vm/utils.rs @@ -7,6 +7,7 @@ use zk_evm_1_3_3::{ }, }; use zksync_state::WriteStorage; +use zksync_system_constants::L1_GAS_PER_PUBDATA_BYTE; use zksync_types::{Address, U256}; use crate::vm_virtual_blocks::{ @@ -95,6 +96,12 @@ pub(crate) fn precompile_calls_count_after_timestamp( sorted_timestamps.len() - sorted_timestamps.partition_point(|t| *t < from_timestamp) } +pub(crate) fn eth_price_per_pubdata_byte(l1_gas_price: u64) -> u64 { + // This value will typically be a lot less than u64 + // unless the gas price on L1 goes beyond tens of millions of gwei + l1_gas_price * (L1_GAS_PER_PUBDATA_BYTE as u64) +} + pub(crate) fn vm_may_have_ended_inner( vm: &ZkSyncVmState, ) -> Option { diff --git a/core/lib/multivm/src/versions/vm_virtual_blocks/tracers/refunds.rs b/core/lib/multivm/src/versions/vm_virtual_blocks/tracers/refunds.rs index 3635e1b0026e..6051cd7bb7d8 100644 --- a/core/lib/multivm/src/versions/vm_virtual_blocks/tracers/refunds.rs +++ b/core/lib/multivm/src/versions/vm_virtual_blocks/tracers/refunds.rs @@ -23,7 +23,7 @@ use crate::{ constants::{BOOTLOADER_HEAP_PAGE, OPERATOR_REFUNDS_OFFSET, TX_GAS_LIMIT_OFFSET}, old_vm::{ events::merge_events, history_recorder::HistoryMode, memory::SimpleMemory, - oracles::storage::storage_key_of_log, + oracles::storage::storage_key_of_log, utils::eth_price_per_pubdata_byte, }, tracers::{ traits::{ExecutionEndTracer, ExecutionProcessing, VmTracer}, @@ -32,7 +32,6 @@ use crate::{ }, }, types::internals::ZkSyncVmState, - utils::fee::eth_price_per_pubdata_byte, }, }; diff --git a/core/lib/multivm/src/versions/vm_virtual_blocks/utils/fee.rs b/core/lib/multivm/src/versions/vm_virtual_blocks/utils/fee.rs index 0575abbf8bd4..6753e8197813 100644 --- a/core/lib/multivm/src/versions/vm_virtual_blocks/utils/fee.rs +++ b/core/lib/multivm/src/versions/vm_virtual_blocks/utils/fee.rs @@ -1,14 +1,8 @@ //! Utility functions for vm -use zksync_system_constants::{L1_GAS_PER_PUBDATA_BYTE, MAX_GAS_PER_PUBDATA_BYTE}; +use zksync_system_constants::MAX_GAS_PER_PUBDATA_BYTE; use zksync_utils::ceil_div; -pub(crate) fn eth_price_per_pubdata_byte(l1_gas_price: u64) -> u64 { - // This value will typically be a lot less than u64 - // unless the gas price on L1 goes beyond tens of millions of gwei - // TODO: make this check only once - let validium_mode = std::env::var("ETH_SENDER_SENDER_VALIDIUM_MODE") == Ok("true".to_string()); - l1_gas_price * (L1_GAS_PER_PUBDATA_BYTE as u64) * (!validium_mode as u64) -} +use crate::vm_virtual_blocks::old_vm::utils::eth_price_per_pubdata_byte; /// Calculates the amount of gas required to publish one byte of pubdata pub fn base_fee_to_gas_per_pubdata(l1_gas_price: u64, base_fee: u64) -> u64 { From aad41bb20d6cbace664f09e5753cd4fb84e311bc Mon Sep 17 00:00:00 2001 From: Mario Rugiero Date: Mon, 15 Jan 2024 15:50:54 -0300 Subject: [PATCH 19/29] Fix submodule --- .gitmodules | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitmodules b/.gitmodules index f7aaf61f3d99..8235eb40e89a 100644 --- a/.gitmodules +++ b/.gitmodules @@ -4,4 +4,5 @@ url = https://github.com/matter-labs/era-contracts.git [submodule "era-contracts-lambda"] path = era-contracts-lambda -url = https://github.com/matter-labs/era-contracts.git +url = https://github.com/lambdaclass/era-contracts.git +branch = validium_mode From 64e639ae660cc0895e99ee158f2bdeda9709ab8e Mon Sep 17 00:00:00 2001 From: Mario Rugiero Date: Mon, 15 Jan 2024 16:03:23 -0300 Subject: [PATCH 20/29] Fix integration test license --- validium_mode_example/Cargo.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/validium_mode_example/Cargo.toml b/validium_mode_example/Cargo.toml index 4d6215c01bb3..2ac5791c83e9 100644 --- a/validium_mode_example/Cargo.toml +++ b/validium_mode_example/Cargo.toml @@ -2,6 +2,7 @@ name = "validium_mode_example" version = "0.1.0" edition = "2021" +license = "MIT OR Apache-2.0" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html From 557ec528a5f0043786dd7d58625cf18fcfd5c1a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mat=C3=ADas=20Onorato?= Date: Mon, 15 Jan 2024 16:41:01 -0300 Subject: [PATCH 21/29] change contracts branch --- .gitmodules | 2 +- era-contracts-lambda | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitmodules b/.gitmodules index 8235eb40e89a..ef7239f42c43 100644 --- a/.gitmodules +++ b/.gitmodules @@ -5,4 +5,4 @@ url = https://github.com/matter-labs/era-contracts.git [submodule "era-contracts-lambda"] path = era-contracts-lambda url = https://github.com/lambdaclass/era-contracts.git -branch = validium_mode +branch = validium_mode_pubdata_0 diff --git a/era-contracts-lambda b/era-contracts-lambda index 7fe797934f1e..c1ecf8a3c363 160000 --- a/era-contracts-lambda +++ b/era-contracts-lambda @@ -1 +1 @@ -Subproject commit 7fe797934f1ef198d0ef8362c4422928778d7236 +Subproject commit c1ecf8a3c3632423feb392e8ad6d0075e5ef42a3 From b9ceb923d44c1da76f7d363b2f03982525e516f6 Mon Sep 17 00:00:00 2001 From: Ivan Litteri Date: Mon, 15 Jan 2024 17:35:43 -0300 Subject: [PATCH 22/29] Remove l1 gas data --- validium_mode_example/src/main.rs | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/validium_mode_example/src/main.rs b/validium_mode_example/src/main.rs index 0d8dc062a0e4..9d1337b4d1d7 100644 --- a/validium_mode_example/src/main.rs +++ b/validium_mode_example/src/main.rs @@ -135,12 +135,6 @@ async fn main() { .unwrap() .unwrap(); - let l1_transaction_gas_formatted = format!("{:#?}", l1_transaction.gas); - println!("L1 Gas: {}", l1_transaction_gas_formatted.yellow()); - - let gas_price_formatted = format!("{:#?}", l1_transaction.gas_price.unwrap()); - println!("L1 Gas price: {}", gas_price_formatted.yellow()); - address }; println!(); @@ -209,11 +203,6 @@ async fn main() { "L1 max fee per gas: {}", l1_max_fee_per_gas_formatted_mint.cyan() ); - let l1_transaction_gas_formatted_mint = format!("{:#?}", l1_transaction_transfer.gas); - println!("L1 Gas: {}", l1_transaction_gas_formatted_mint.yellow()); - - let gas_price_formatted_mint = format!("{:#?}", l1_transaction_transfer.gas_price.unwrap()); - println!("L1 Gas price: {}", gas_price_formatted_mint.yellow()); println!(); let values: Vec<&str> = vec!["1000"]; @@ -286,12 +275,6 @@ async fn main() { "L1 max fee per gas: {}", l1_max_fee_per_gas_formatted_transfer.cyan() ); - let l1_transaction_gas_formatted_transfer = format!("{:#?}", l1_transaction_transfer.gas); - println!("L1 Gas: {}", l1_transaction_gas_formatted_transfer.yellow()); - - let gas_price_formatted_transfer = - format!("{:#?}", l1_transaction_transfer.gas_price.unwrap()); - println!("L1 Gas price: {}", gas_price_formatted_transfer.yellow()); println!(); } } From 3aa9f501567496bb3ad986e4395e7f203ec8c02f Mon Sep 17 00:00:00 2001 From: Ivan Litteri Date: Mon, 15 Jan 2024 18:03:35 -0300 Subject: [PATCH 23/29] Update submodule branch --- .gitmodules | 2 +- era-contracts-lambda | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitmodules b/.gitmodules index ef7239f42c43..8235eb40e89a 100644 --- a/.gitmodules +++ b/.gitmodules @@ -5,4 +5,4 @@ url = https://github.com/matter-labs/era-contracts.git [submodule "era-contracts-lambda"] path = era-contracts-lambda url = https://github.com/lambdaclass/era-contracts.git -branch = validium_mode_pubdata_0 +branch = validium_mode diff --git a/era-contracts-lambda b/era-contracts-lambda index c1ecf8a3c363..648773e74da0 160000 --- a/era-contracts-lambda +++ b/era-contracts-lambda @@ -1 +1 @@ -Subproject commit c1ecf8a3c3632423feb392e8ad6d0075e5ef42a3 +Subproject commit 648773e74da012c5234b7270eed0e171fd684b78 From 479061d8879603a63694fd1c44bb9c161c588d8f Mon Sep 17 00:00:00 2001 From: Jordi <146965181+jordibonet-lambdaclass@users.noreply.github.com> Date: Tue, 16 Jan 2024 15:38:55 +0100 Subject: [PATCH 24/29] fix: update output readme (#39) * Update output readme * Add a note for transactions * Fix note --- validium.md | 22 ++++++++-------------- validium_mode_example/src/main.rs | 5 ----- 2 files changed, 8 insertions(+), 19 deletions(-) diff --git a/validium.md b/validium.md index 5bc22e0c98b0..d58121029da0 100644 --- a/validium.md +++ b/validium.md @@ -22,34 +22,28 @@ In order to start the node as a validium: - `Transaction hash`: The hash of the transaction - `Transaction gas used`: The gas used to perform this transaction. - `L2 fee`: The total cost of this transaction. - - `L1 Gas`: The gas borrowed in order to run the transaction. Unused gas will be returned. - - `L1 Gas price`: The gas price used to run the transaction. ### Example output ``` -Deposit transaction hash: 0xc01cf32c699943f8d751047514393a5e98d8cbeaa128fa50c32a3d7804b876a5 +Deposit transaction hash: 0x77f378f1857ad7ff8c1041d2ce0f7f167587a90a19f9fd923c9ea91fbdf37650 Deploy -Contract address: 0xf2fcc18ed5072b48c0a076693eca72fe840b3981 -Transaction hash 0x9e817fcc8eeeda001793c9142161a11e3fd3ef3c64523be1f5c11b6cbff7b64f +Contract address: 0x4b5df730c2e6b28e17013a1485e5d9bc41efe021 +Transaction hash 0xe08786e302027040056555bdba6e0462fdee56768d982485d80f732043013bb5 Transaction gas used 161163 L2 fee: 40290750000000 -L1 Gas: 4000000 -L1 Gas price: 1000000007 Mint -Transaction hash 0x0e9bcc26addf1edfe0993767cc2d6ec959a135dc3087b63b5fc9d54d7ed854ef +Transaction hash 0x2f5b565959c8c5ffe320a364df27f4de451ed93ee6344a838f2212397da7fe5f Transaction gas used 124046 L2 fee: 31011500000000 -L1 max fee per gas: 1000000010 -L1 Gas: 4000000 -L1 Gas price: 1000000007 +L1 max fee per gas: 1200000011 Transfer 1000 -Transaction hash 0x5a1f7130024b73c2d3de5256a72bddbc703983d69d3ad0f3f64d8e6122e0e85a +Transaction hash 0x7cfadf74a5fa571ed9e2f1a115edc62f8db913d61d387177b7b07e2cb270af75 Transaction gas used 125466 L2 fee: 31366500000000 L1 max fee per gas: 1000000010 -L1 Gas: 4000000 -L1 Gas price: 1000000007 ``` + +> [!NOTE] The `transaction hash` is a changing field and the value of the other fields may change depending on the server mode (`rollup` or `validium`). diff --git a/validium_mode_example/src/main.rs b/validium_mode_example/src/main.rs index 9d1337b4d1d7..7c82fbf28206 100644 --- a/validium_mode_example/src/main.rs +++ b/validium_mode_example/src/main.rs @@ -129,11 +129,6 @@ async fn main() { let l2_tx_fee_formatted_deploy = format!("{:#?}", l2_transaction_deploy.fee); println!("L2 fee: {}", l2_tx_fee_formatted_deploy.green()); - let l1_transaction = l1_rpc_client - .get_transaction_by_hash(l2_transaction_deploy.eth_commit_tx_hash.unwrap()) - .await - .unwrap() - .unwrap(); address }; From ef48b514d15c60c37c53f7ec875e7ba5a0f7c14d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20Calv=C3=ADn=20Garc=C3=ADa?= Date: Tue, 16 Jan 2024 20:55:29 +0100 Subject: [PATCH 25/29] feat: remove logs pubdata (#42) * remove logs from pubdata * update comment --- core/lib/types/src/commitment.rs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/core/lib/types/src/commitment.rs b/core/lib/types/src/commitment.rs index 3c4ec610d280..c75043aacf55 100644 --- a/core/lib/types/src/commitment.rs +++ b/core/lib/types/src/commitment.rs @@ -224,14 +224,14 @@ impl L1BatchWithMetadata { pub fn construct_pubdata(&self, validium_mode: bool) -> Vec { let mut res: Vec = vec![]; - // Process and Pack Logs - res.extend((self.header.l2_to_l1_logs.len() as u32).to_be_bytes()); - for l2_to_l1_log in &self.header.l2_to_l1_logs { - res.extend(l2_to_l1_log.0.to_bytes()); - } - - // We do not want to publish L2->L1 msgs, bytecodes, and state diffs in validium mode. + // We do not want to publish L2-L1 logs, L2->L1 msgs, bytecodes, and state diffs in validium mode. if !validium_mode { + // Process and Pack Logs + res.extend((self.header.l2_to_l1_logs.len() as u32).to_be_bytes()); + for l2_to_l1_log in &self.header.l2_to_l1_logs { + res.extend(l2_to_l1_log.0.to_bytes()); + } + // Process and Pack Msgs res.extend((self.header.l2_to_l1_messages.len() as u32).to_be_bytes()); for msg in &self.header.l2_to_l1_messages { From 5c3dfc54681c3d819e6c221403fb2339f10afe5b Mon Sep 17 00:00:00 2001 From: Jordi <146965181+jordibonet-lambdaclass@users.noreply.github.com> Date: Wed, 17 Jan 2024 15:31:57 +0100 Subject: [PATCH 26/29] feat: refactor readme example (#44) * Refactor readme example * Fix some comments * Remove validium.md --- .../README.md | 38 ++++++++++++++----- 1 file changed, 29 insertions(+), 9 deletions(-) rename validium.md => validium_mode_example/README.md (57%) diff --git a/validium.md b/validium_mode_example/README.md similarity index 57% rename from validium.md rename to validium_mode_example/README.md index d58121029da0..200c6e44b944 100644 --- a/validium.md +++ b/validium_mode_example/README.md @@ -1,13 +1,30 @@ -## Validium +## Validium example -In order to start the node as a validium: +In order to start the node as a validium and run the example follow the next steps. -- Make sure `zk` has been built and then run `zk && zk clean --all && zk init --validium-mode` This will set up the - Ethereum node with the validium contracts, and also define an env var which the server will pick up in order to run as - a validium node. -- Start the server (`zk server`) -- Execute transactions. For testing, run `cargo run --release --bin validium_mode_example`, this test does the - following: +### Run the server + +To run this example we need to run the server in validium mode. In the `zksync-era` directory, you can run the following command: + +```sh +zk && zk clean --all && zk init --validium-mode && zk server +``` + +> [!IMPORTANT] +> Make sure that the flag `--validium-mode` is present when initilizing the server. + +This will set up the Ethereum node with the validium contracts, and also define an `env` var which the server will pick up in order to run as a validium node. + +### Run the example + +In this example we're going to run some transactions. + +Once the server is running, run this command in other terminal: +```sh +cargo run --release --bin zksync_full_stack +``` + +This test does the following: - Inits a wallet - Deposits some funds into the wallet - Deploys a sample ERC20 contract @@ -25,6 +42,8 @@ In order to start the node as a validium: ### Example output +You will have an output similar to this one: + ``` Deposit transaction hash: 0x77f378f1857ad7ff8c1041d2ce0f7f167587a90a19f9fd923c9ea91fbdf37650 Deploy @@ -46,4 +65,5 @@ L2 fee: 31366500000000 L1 max fee per gas: 1000000010 ``` -> [!NOTE] The `transaction hash` is a changing field and the value of the other fields may change depending on the server mode (`rollup` or `validium`). +> [!NOTE] +> You can observe how the diferent fields evolve depending on the operation. The `transaction hash` is a changing field. \ No newline at end of file From 55d04f3f1ff1f818a7f70947646e65a6f25b9a47 Mon Sep 17 00:00:00 2001 From: Ivan Litteri Date: Fri, 19 Jan 2024 11:18:42 -0300 Subject: [PATCH 27/29] Remove debug prints --- .../src/versions/vm_latest/oracles/storage.rs | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/core/lib/multivm/src/versions/vm_latest/oracles/storage.rs b/core/lib/multivm/src/versions/vm_latest/oracles/storage.rs index 58ce0b9a16b5..2b6b5988e06e 100644 --- a/core/lib/multivm/src/versions/vm_latest/oracles/storage.rs +++ b/core/lib/multivm/src/versions/vm_latest/oracles/storage.rs @@ -456,17 +456,9 @@ fn get_pubdata_price_bytes(initial_value: U256, final_value: U256, is_initial: b compress_with_best_strategy(initial_value, final_value).len() as u32; if is_initial { - println!("is initial"); - let pubdata_price_bytes = (BYTES_PER_DERIVED_KEY as u32) + compressed_value_size; - println!("pubdata_price_bytes: {}", pubdata_price_bytes); - pubdata_price_bytes - // (BYTES_PER_DERIVED_KEY as u32) + compressed_value_size + (BYTES_PER_DERIVED_KEY as u32) + compressed_value_size } else { - println!("is repeated"); - let pubdata_price_bytes = (BYTES_PER_ENUMERATION_INDEX as u32) + compressed_value_size; - println!("pubdata_price_bytes: {}", pubdata_price_bytes); - pubdata_price_bytes - // (BYTES_PER_ENUMERATION_INDEX as u32) + compressed_value_size + (BYTES_PER_ENUMERATION_INDEX as u32) + compressed_value_size } } From 48a90a0323c6d535e081792fd97ee7c612cb9d0b Mon Sep 17 00:00:00 2001 From: Ivan Litteri Date: Fri, 19 Jan 2024 11:19:05 -0300 Subject: [PATCH 28/29] Remove debug files --- core/tests/ts-integration/src/diff_output.txt | 6 ------ core/tests/ts-integration/src/diff_validium.txt | 6 ------ core/tests/ts-integration/src/rollup_output.txt | 1 - core/tests/ts-integration/src/validium_output.txt | 1 - core/tests/ts-integration/src/validium_pubdata_0_output.txt | 1 - 5 files changed, 15 deletions(-) delete mode 100644 core/tests/ts-integration/src/diff_output.txt delete mode 100644 core/tests/ts-integration/src/diff_validium.txt delete mode 100644 core/tests/ts-integration/src/rollup_output.txt delete mode 100644 core/tests/ts-integration/src/validium_output.txt delete mode 100644 core/tests/ts-integration/src/validium_pubdata_0_output.txt diff --git a/core/tests/ts-integration/src/diff_output.txt b/core/tests/ts-integration/src/diff_output.txt deleted file mode 100644 index a89a982ac636..000000000000 --- a/core/tests/ts-integration/src/diff_output.txt +++ /dev/null @@ -1,6 +0,0 @@ -1c1 -< {"jsonrpc":"2.0","result":{"type":"Call","from":"0x0000000000000000000000000000000000000000","to":"0x0000000000000000000000000000000000008001","gas":"0x2582f","gasUsed":"0x1e669","value":"0x0","output":"0x","input":"0xa41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008002","gas":"0xfbfffb92","gasUsed":"0x262","value":"0x0","output":"0x0100023ba65021e4689dd1755f82108214a1f25150d439fe58c55cdb1f376436","input":"0xe03fe177000000000000000000000000000000000000000000000000000000000000800b","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbffee87","gasUsed":"0x29369","value":"0x0","output":"0x","input":"0x02fa5779699989e3884dbae679ac4688f7810fff11c5b10730cfd98694e0bc8312dffb0200000000000000000000000000000000000000000000000000000000659800e10000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000ee6b280","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800b","to":"0x0000000000000000000000000000000000008010","gas":"0xf80fe95c","gasUsed":"0x12f","value":"0x0","output":"0x625b35f5e76f098dd7c3a05b10e2e5e78a4a01228d60c3b143426cdf36d26455","input":"0x00000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000008","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbfd5aff","gasUsed":"0x41b7","value":"0x0","output":"0x","input":"0x06bed036000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000659800e1c430d34c3272d22f369af42e59fe91930da8bfcb3195800053371eeb1f14288300000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800b","to":"0x0000000000000000000000000000000000008010","gas":"0xf80d5eb0","gasUsed":"0x193","value":"0x0","output":"0xc430d34c3272d22f369af42e59fe91930da8bfcb3195800053371eeb1f142883","input":"0x000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000659800daba29c754519015dc8c2942d61fcf82cdd9cd4389b4d225bd56e1e3528cb5a6ab0000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbfd112b","gasUsed":"0x1ea","value":"0x0","output":"0x000000000000000000000000000000000000000000000000000000000ee6b280","input":"0x6ef25c3a","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800c","gas":"0xfbfce659","gasUsed":"0x2a9b","value":"0x0","output":"0xa1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf6766807a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c6","input":"0xebe4a3d70000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002582f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000064a41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041896d4e65e020a8c1c5a1227d1ffba49a246f79b4691717dfa824af25962d1ded7c5769b35ba68315636604e2a191809b0fb686eeb0bdbada366515da2866ed781b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ceeb7","gasUsed":"0x1b2","value":"0x0","output":"0x64490cf0c697572adde73c8c02a43dfd982f5029a65923917d8f60ab62784cf0","input":"0xa41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ce8cf","gasUsed":"0xc5","value":"0x0","output":"0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","input":"0x","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ce5db","gasUsed":"0xc5","value":"0x0","output":"0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","input":"0x","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ce032","gasUsed":"0x44d","value":"0x0","output":"0xd1f96d5378eeab9611b9247d2e2cc6a3e8cf0b2b0f8f0ef8286317d55464002a","input":"0x848e1bfa1ac4e3576b728bda6721b215c70a7799a5b4866282a71bab954baac8000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002582f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000064490cf0c697572adde73c8c02a43dfd982f5029a65923917d8f60ab62784cf0c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x000000000000000000000000000000000000800b","gas":"0xf80cdac8","gasUsed":"0x1d8","value":"0x0","output":"0x000000000000000000000000000000000000000000000000000000000000010e","input":"0x9a8a0592","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80cd717","gasUsed":"0x193","value":"0x0","output":"0x90c05efb083b1455ff9cfdbd3792b42bea87908b3a05f46c28244311c105b5a6","input":"0xc2f8787176b8ac6bf7215b4adcc1e069bf4ab82d9ab1df05a57a91d425935b6e19b453ce45aaaaf3a300f5a9ec95869b4f28ab10430b572ee218c3a6a5e07d6fad7c5bef027816a800da1736444fb58a807ef4c9603b7848673f7e3a68eb14a5000000000000000000000000000000000000000000000000000000000000010e","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80cd3e4","gasUsed":"0x180","value":"0x0","output":"0x7a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c6","input":"0x190190c05efb083b1455ff9cfdbd3792b42bea87908b3a05f46c28244311c105b5a6d1f96d5378eeab9611b9247d2e2cc6a3e8cf0b2b0f8f0ef8286317d55464002a","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ccfb5","gasUsed":"0x180","value":"0x0","output":"0x0e0c0cea11018eb61614e76c4cd8927f5112d6fa9df527455b2ff366f20629a8","input":"0x896d4e65e020a8c1c5a1227d1ffba49a246f79b4691717dfa824af25962d1ded7c5769b35ba68315636604e2a191809b0fb686eeb0bdbada366515da2866ed781b","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80cca8a","gasUsed":"0x12f","value":"0x0","output":"0xa1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf676680","input":"0x7a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c60e0c0cea11018eb61614e76c4cd8927f5112d6fa9df527455b2ff366f20629a8","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbfcb9ce","gasUsed":"0x1294","value":"0x0","output":"0x","input":"0x06e7517ba1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf676680","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800b","to":"0x0000000000000000000000000000000000008010","gas":"0xf80cc367","gasUsed":"0x12f","value":"0x0","output":"0xa512af0b1539d24cf7dab2a48c83ad66adff8b2a32b4e286e88c0d54949408a9","input":"0x0000000000000000000000000000000000000000000000000000000000000000a1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf676680","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0x206c4","gasUsed":"0xfd7","value":"0x0","output":"0x","input":"0xa851ae780000000000000000000000000000000000000000000000000000000000008001","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0x1f5c9","gasUsed":"0xf21","value":"0x0","output":"0x","input":"0xbf1fe420000000000000000000000000000000000000000000000000000000000ee6b280","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008006","gas":"0x1cd6d","gasUsed":"0x97e","value":"0x0","output":"0x0000000000000000000000000000000000000000000000000000000000000001","input":"0xbb0fd61000000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008006","to":"0x0000000000000000000000000000000000008010","gas":"0x1c3d4","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008006","to":"0x0000000000000000000000000000000000008002","gas":"0x1c023","gasUsed":"0x1f1","value":"0x0","output":"0x0000000000000000000000000000000000000000000000000000000000000000","input":"0x4de2e46800000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008003","gas":"0x1bd6e","gasUsed":"0xa0c","value":"0x0","output":"0x","input":"0x6ee1dc2000000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc04900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x1b3d5","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x1b0e1","gasUsed":"0x12f","value":"0x0","output":"0x1aaedb9739e2eccf88498b4b7b94dc130336bc3f6f75d8479999c9f1cf84be6f","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000001","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x1ae6b","gasUsed":"0x12f","value":"0x0","output":"0x8b94614891bdf5e652dabf07f56421084c5bd1236fd42f2ba55ed8e163960999","input":"0x00000000000000000000000000000000000000000000000000000000000000011aaedb9739e2eccf88498b4b7b94dc130336bc3f6f75d8479999c9f1cf84be6f","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","gas":"0x1960e","gasUsed":"0x30a7","value":"0x0","output":"0x202bcce700000000000000000000000000000000000000000000000000000000","input":"0x202bcce7a1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf6766807a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c60000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002582f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000064a41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041896d4e65e020a8c1c5a1227d1ffba49a246f79b4691717dfa824af25962d1ded7c5769b35ba68315636604e2a191809b0fb686eeb0bdbada366515da2866ed781b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x0000000000000000000000000000000000008003","gas":"0x18c36","gasUsed":"0x15f7","value":"0x0","output":"0x","input":"0xe1239cd80000000000000000000000000000000000000000000000000000000000000001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x183d8","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x18066","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x000000000000000000000000000000000000800a","gas":"0x16f2c","gasUsed":"0x492","value":"0x0","output":"0x00000000000000000000000000000000000000000000000098b1e70dd5c6d080","input":"0x9cc7f70800000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x1670d","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x0000000000000000000000000000000000000001","gas":"0x165d2","gasUsed":"0x538","value":"0x0","output":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","input":"0x7a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c6000000000000000000000000000000000000000000000000000000000000001b896d4e65e020a8c1c5a1227d1ffba49a246f79b4691717dfa824af25962d1ded7c5769b35ba68315636604e2a191809b0fb686eeb0bdbada366515da2866ed78","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008003","gas":"0x16458","gasUsed":"0x498","value":"0x0","output":"0x","input":"0x6ee1dc2000000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc04900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x15c39","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800a","gas":"0x15db3","gasUsed":"0x492","value":"0x0","output":"0x0000000000000000000000000000000000000000000000000000000000000000","input":"0x9cc7f7080000000000000000000000000000000000000000000000000000000000008001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x155d3","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","gas":"0x15612","gasUsed":"0x35c0","value":"0x0","output":"0x","input":"0xe2f318e3a1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf6766807a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c60000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002582f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000064a41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041896d4e65e020a8c1c5a1227d1ffba49a246f79b4691717dfa824af25962d1ded7c5769b35ba68315636604e2a191809b0fb686eeb0bdbada366515da2866ed781b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x0000000000000000000000000000000000008009","gas":"0x14bfb","gasUsed":"0x3092","value":"0x0","output":"0x","input":"0x","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008009","to":"0x000000000000000000000000000000000000800a","gas":"0x143dc","gasUsed":"0x2ac7","value":"0x0","output":"0x","input":"0x579952fc00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000008001000000000000000000000000000000000000000000000000000022ef6eb6c580","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x13c3b","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x13908","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x126d2","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x000000000000000000000000000000000000800d","gas":"0x115d7","gasUsed":"0x13d","value":"0x0","output":"0x","input":"0x000000000000000000000000000000000000000000000000000022ef6eb6c580","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x0000000000000000000000000000000000008001","gas":"0x1180e","gasUsed":"0x17","value":"0x22ef6eb6c580","output":"0x","input":"0x","error":null,"revertReason":null,"calls":[]}]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800a","gas":"0x11faf","gasUsed":"0x492","value":"0x0","output":"0x000000000000000000000000000000000000000000000000000022ef6eb6c580","input":"0x9cc7f7080000000000000000000000000000000000000000000000000000000000008001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x118cb","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008004","gas":"0xac44","gasUsed":"0x200","value":"0x0","output":"0x","input":"0xe516761e000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008002","gas":"0xa65c","gasUsed":"0x1f1","value":"0x0","output":"0x0000000000000000000000000000000000000000000000000000000000000000","input":"0x4de2e46800000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xa2ab","gasUsed":"0xfd7","value":"0x0","output":"0x","input":"0xa851ae7800000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","gas":"0x8fb8","gasUsed":"0x1f88","value":"0x0","output":"0x","input":"0xdf9c1589a1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf6766807a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c60000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002582f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000064a41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041896d4e65e020a8c1c5a1227d1ffba49a246f79b4691717dfa824af25962d1ded7c5769b35ba68315636604e2a191809b0fb686eeb0bdbada366515da2866ed781b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x111c3e89ce80e62ee88318c2804920d4c96f92bb","gas":"0x871b","gasUsed":"0x18e0","value":"0x0","output":"0x","input":"0xa41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbfb700a","gasUsed":"0xfd7","value":"0x0","output":"0x","input":"0xa851ae780000000000000000000000000000000000000000000000000000000000008001","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800a","gas":"0xfbfb5e13","gasUsed":"0x2806","value":"0x0","output":"0x","input":"0x579952fc000000000000000000000000000000000000000000000000000000000000800100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000069f5b388f00","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0xf80b6dd3","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0xf80b6adf","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0xf80b5b1f","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x000000000000000000000000000000000000800d","gas":"0xf80b4a63","gasUsed":"0x13d","value":"0x0","output":"0x","input":"0x0000000000000000000000000000000000000000000000000000069f5b388f00","error":null,"revertReason":null,"calls":[]}]}]}]},"id":2} -\ No newline at end of file ---- -> {"jsonrpc":"2.0","result":{"type":"Call","from":"0x0000000000000000000000000000000000000000","to":"0x0000000000000000000000000000000000008001","gas":"0x2582f","gasUsed":"0x1e669","value":"0x0","output":"0x","input":"0xa41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008002","gas":"0xfbfffb92","gasUsed":"0x262","value":"0x0","output":"0x0100023ba65021e4689dd1755f82108214a1f25150d439fe58c55cdb1f376436","input":"0xe03fe177000000000000000000000000000000000000000000000000000000000000800b","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbffee87","gasUsed":"0x29369","value":"0x0","output":"0x","input":"0x02fa5779fb8684a2f1b235ec9aeea7cb396932e0128977f306d1f5dd153d0477eedbea2e000000000000000000000000000000000000000000000000000000006597fd190000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000ee6b280","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800b","to":"0x0000000000000000000000000000000000008010","gas":"0xf80fe95c","gasUsed":"0x12f","value":"0x0","output":"0x625b35f5e76f098dd7c3a05b10e2e5e78a4a01228d60c3b143426cdf36d26455","input":"0x00000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000008","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbfd5aff","gasUsed":"0x41b7","value":"0x0","output":"0x","input":"0x06bed0360000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000006597fd19e0f11f969291d373aa30c46a8833c7a66bf0ede7f05a620527ca1adc849df73a00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800b","to":"0x0000000000000000000000000000000000008010","gas":"0xf80d5eb0","gasUsed":"0x193","value":"0x0","output":"0xe0f11f969291d373aa30c46a8833c7a66bf0ede7f05a620527ca1adc849df73a","input":"0x0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000006597fd13a9d36af0b8414df9db49ce82e10929b63ce5e3abd1b2880490f123646dce911f0000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbfd112b","gasUsed":"0x1ea","value":"0x0","output":"0x000000000000000000000000000000000000000000000000000000000ee6b280","input":"0x6ef25c3a","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800c","gas":"0xfbfce659","gasUsed":"0x2a9b","value":"0x0","output":"0xa1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf6766807a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c6","input":"0xebe4a3d70000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002582f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000064a41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041896d4e65e020a8c1c5a1227d1ffba49a246f79b4691717dfa824af25962d1ded7c5769b35ba68315636604e2a191809b0fb686eeb0bdbada366515da2866ed781b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ceeb7","gasUsed":"0x1b2","value":"0x0","output":"0x64490cf0c697572adde73c8c02a43dfd982f5029a65923917d8f60ab62784cf0","input":"0xa41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ce8cf","gasUsed":"0xc5","value":"0x0","output":"0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","input":"0x","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ce5db","gasUsed":"0xc5","value":"0x0","output":"0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","input":"0x","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ce032","gasUsed":"0x44d","value":"0x0","output":"0xd1f96d5378eeab9611b9247d2e2cc6a3e8cf0b2b0f8f0ef8286317d55464002a","input":"0x848e1bfa1ac4e3576b728bda6721b215c70a7799a5b4866282a71bab954baac8000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002582f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000064490cf0c697572adde73c8c02a43dfd982f5029a65923917d8f60ab62784cf0c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x000000000000000000000000000000000000800b","gas":"0xf80cdac8","gasUsed":"0x1d8","value":"0x0","output":"0x000000000000000000000000000000000000000000000000000000000000010e","input":"0x9a8a0592","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80cd717","gasUsed":"0x193","value":"0x0","output":"0x90c05efb083b1455ff9cfdbd3792b42bea87908b3a05f46c28244311c105b5a6","input":"0xc2f8787176b8ac6bf7215b4adcc1e069bf4ab82d9ab1df05a57a91d425935b6e19b453ce45aaaaf3a300f5a9ec95869b4f28ab10430b572ee218c3a6a5e07d6fad7c5bef027816a800da1736444fb58a807ef4c9603b7848673f7e3a68eb14a5000000000000000000000000000000000000000000000000000000000000010e","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80cd3e4","gasUsed":"0x180","value":"0x0","output":"0x7a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c6","input":"0x190190c05efb083b1455ff9cfdbd3792b42bea87908b3a05f46c28244311c105b5a6d1f96d5378eeab9611b9247d2e2cc6a3e8cf0b2b0f8f0ef8286317d55464002a","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ccfb5","gasUsed":"0x180","value":"0x0","output":"0x0e0c0cea11018eb61614e76c4cd8927f5112d6fa9df527455b2ff366f20629a8","input":"0x896d4e65e020a8c1c5a1227d1ffba49a246f79b4691717dfa824af25962d1ded7c5769b35ba68315636604e2a191809b0fb686eeb0bdbada366515da2866ed781b","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80cca8a","gasUsed":"0x12f","value":"0x0","output":"0xa1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf676680","input":"0x7a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c60e0c0cea11018eb61614e76c4cd8927f5112d6fa9df527455b2ff366f20629a8","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbfcb9ce","gasUsed":"0x1294","value":"0x0","output":"0x","input":"0x06e7517ba1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf676680","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800b","to":"0x0000000000000000000000000000000000008010","gas":"0xf80cc367","gasUsed":"0x12f","value":"0x0","output":"0xa512af0b1539d24cf7dab2a48c83ad66adff8b2a32b4e286e88c0d54949408a9","input":"0x0000000000000000000000000000000000000000000000000000000000000000a1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf676680","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0x206c4","gasUsed":"0xfd7","value":"0x0","output":"0x","input":"0xa851ae780000000000000000000000000000000000000000000000000000000000008001","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0x1f5c9","gasUsed":"0xf21","value":"0x0","output":"0x","input":"0xbf1fe420000000000000000000000000000000000000000000000000000000000ee6b280","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008006","gas":"0x1cd6d","gasUsed":"0x97e","value":"0x0","output":"0x0000000000000000000000000000000000000000000000000000000000000001","input":"0xbb0fd61000000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008006","to":"0x0000000000000000000000000000000000008010","gas":"0x1c3d4","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008006","to":"0x0000000000000000000000000000000000008002","gas":"0x1c023","gasUsed":"0x1f1","value":"0x0","output":"0x0000000000000000000000000000000000000000000000000000000000000000","input":"0x4de2e46800000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008003","gas":"0x1bd6e","gasUsed":"0xa0c","value":"0x0","output":"0x","input":"0x6ee1dc2000000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc04900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x1b3d5","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x1b0e1","gasUsed":"0x12f","value":"0x0","output":"0x1aaedb9739e2eccf88498b4b7b94dc130336bc3f6f75d8479999c9f1cf84be6f","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000001","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x1ae6b","gasUsed":"0x12f","value":"0x0","output":"0x8b94614891bdf5e652dabf07f56421084c5bd1236fd42f2ba55ed8e163960999","input":"0x00000000000000000000000000000000000000000000000000000000000000011aaedb9739e2eccf88498b4b7b94dc130336bc3f6f75d8479999c9f1cf84be6f","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","gas":"0x1960e","gasUsed":"0x30a7","value":"0x0","output":"0x202bcce700000000000000000000000000000000000000000000000000000000","input":"0x202bcce7a1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf6766807a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c60000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002582f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000064a41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041896d4e65e020a8c1c5a1227d1ffba49a246f79b4691717dfa824af25962d1ded7c5769b35ba68315636604e2a191809b0fb686eeb0bdbada366515da2866ed781b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x0000000000000000000000000000000000008003","gas":"0x18c36","gasUsed":"0x15f7","value":"0x0","output":"0x","input":"0xe1239cd80000000000000000000000000000000000000000000000000000000000000001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x183d8","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x18066","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x000000000000000000000000000000000000800a","gas":"0x16f2c","gasUsed":"0x492","value":"0x0","output":"0x00000000000000000000000000000000000000000000000098b1e70ee1ff5d80","input":"0x9cc7f70800000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x1670d","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x0000000000000000000000000000000000000001","gas":"0x165d2","gasUsed":"0x538","value":"0x0","output":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","input":"0x7a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c6000000000000000000000000000000000000000000000000000000000000001b896d4e65e020a8c1c5a1227d1ffba49a246f79b4691717dfa824af25962d1ded7c5769b35ba68315636604e2a191809b0fb686eeb0bdbada366515da2866ed78","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008003","gas":"0x16458","gasUsed":"0x498","value":"0x0","output":"0x","input":"0x6ee1dc2000000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc04900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x15c39","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800a","gas":"0x15db3","gasUsed":"0x492","value":"0x0","output":"0x0000000000000000000000000000000000000000000000000000000000000000","input":"0x9cc7f7080000000000000000000000000000000000000000000000000000000000008001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x155d3","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","gas":"0x15612","gasUsed":"0x35c0","value":"0x0","output":"0x","input":"0xe2f318e3a1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf6766807a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c60000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002582f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000064a41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041896d4e65e020a8c1c5a1227d1ffba49a246f79b4691717dfa824af25962d1ded7c5769b35ba68315636604e2a191809b0fb686eeb0bdbada366515da2866ed781b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x0000000000000000000000000000000000008009","gas":"0x14bfb","gasUsed":"0x3092","value":"0x0","output":"0x","input":"0x","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008009","to":"0x000000000000000000000000000000000000800a","gas":"0x143dc","gasUsed":"0x2ac7","value":"0x0","output":"0x","input":"0x579952fc00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000008001000000000000000000000000000000000000000000000000000022ef6eb6c580","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x13c3b","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x13908","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x126d2","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x000000000000000000000000000000000000800d","gas":"0x115d7","gasUsed":"0x13d","value":"0x0","output":"0x","input":"0x000000000000000000000000000000000000000000000000000022ef6eb6c580","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x0000000000000000000000000000000000008001","gas":"0x1180e","gasUsed":"0x17","value":"0x22ef6eb6c580","output":"0x","input":"0x","error":null,"revertReason":null,"calls":[]}]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800a","gas":"0x11faf","gasUsed":"0x492","value":"0x0","output":"0x000000000000000000000000000000000000000000000000000022ef6eb6c580","input":"0x9cc7f7080000000000000000000000000000000000000000000000000000000000008001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x118cb","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008004","gas":"0xac44","gasUsed":"0x200","value":"0x0","output":"0x","input":"0xe516761e000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008002","gas":"0xa65c","gasUsed":"0x1f1","value":"0x0","output":"0x0000000000000000000000000000000000000000000000000000000000000000","input":"0x4de2e46800000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xa2ab","gasUsed":"0xfd7","value":"0x0","output":"0x","input":"0xa851ae7800000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","gas":"0x8fb8","gasUsed":"0x1f88","value":"0x0","output":"0x","input":"0xdf9c1589a1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf6766807a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c60000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002582f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000064a41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041896d4e65e020a8c1c5a1227d1ffba49a246f79b4691717dfa824af25962d1ded7c5769b35ba68315636604e2a191809b0fb686eeb0bdbada366515da2866ed781b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x111c3e89ce80e62ee88318c2804920d4c96f92bb","gas":"0x871b","gasUsed":"0x18e0","value":"0x0","output":"0x","input":"0xa41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbfb700a","gasUsed":"0xfd7","value":"0x0","output":"0x","input":"0xa851ae780000000000000000000000000000000000000000000000000000000000008001","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800a","gas":"0xfbfb5e13","gasUsed":"0x2806","value":"0x0","output":"0x","input":"0x579952fc000000000000000000000000000000000000000000000000000000000000800100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000069f5b388f00","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0xf80b6dd3","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0xf80b6adf","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0xf80b5b1f","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x000000000000000000000000000000000000800d","gas":"0xf80b4a63","gasUsed":"0x13d","value":"0x0","output":"0x","input":"0x0000000000000000000000000000000000000000000000000000069f5b388f00","error":null,"revertReason":null,"calls":[]}]}]}]},"id":2} -\ No newline at end of file diff --git a/core/tests/ts-integration/src/diff_validium.txt b/core/tests/ts-integration/src/diff_validium.txt deleted file mode 100644 index cd090ab9a7c9..000000000000 --- a/core/tests/ts-integration/src/diff_validium.txt +++ /dev/null @@ -1,6 +0,0 @@ -1c1 -< {"jsonrpc":"2.0","result":{"type":"Call","from":"0x0000000000000000000000000000000000000000","to":"0x0000000000000000000000000000000000008001","gas":"0x2582f","gasUsed":"0x1e669","value":"0x0","output":"0x","input":"0xa41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008002","gas":"0xfbfffb92","gasUsed":"0x262","value":"0x0","output":"0x0100023ba65021e4689dd1755f82108214a1f25150d439fe58c55cdb1f376436","input":"0xe03fe177000000000000000000000000000000000000000000000000000000000000800b","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbffee87","gasUsed":"0x29369","value":"0x0","output":"0x","input":"0x02fa5779fb8684a2f1b235ec9aeea7cb396932e0128977f306d1f5dd153d0477eedbea2e000000000000000000000000000000000000000000000000000000006597fd190000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000ee6b280","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800b","to":"0x0000000000000000000000000000000000008010","gas":"0xf80fe95c","gasUsed":"0x12f","value":"0x0","output":"0x625b35f5e76f098dd7c3a05b10e2e5e78a4a01228d60c3b143426cdf36d26455","input":"0x00000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000008","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbfd5aff","gasUsed":"0x41b7","value":"0x0","output":"0x","input":"0x06bed0360000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000006597fd19e0f11f969291d373aa30c46a8833c7a66bf0ede7f05a620527ca1adc849df73a00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800b","to":"0x0000000000000000000000000000000000008010","gas":"0xf80d5eb0","gasUsed":"0x193","value":"0x0","output":"0xe0f11f969291d373aa30c46a8833c7a66bf0ede7f05a620527ca1adc849df73a","input":"0x0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000006597fd13a9d36af0b8414df9db49ce82e10929b63ce5e3abd1b2880490f123646dce911f0000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbfd112b","gasUsed":"0x1ea","value":"0x0","output":"0x000000000000000000000000000000000000000000000000000000000ee6b280","input":"0x6ef25c3a","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800c","gas":"0xfbfce659","gasUsed":"0x2a9b","value":"0x0","output":"0xa1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf6766807a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c6","input":"0xebe4a3d70000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002582f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000064a41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041896d4e65e020a8c1c5a1227d1ffba49a246f79b4691717dfa824af25962d1ded7c5769b35ba68315636604e2a191809b0fb686eeb0bdbada366515da2866ed781b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ceeb7","gasUsed":"0x1b2","value":"0x0","output":"0x64490cf0c697572adde73c8c02a43dfd982f5029a65923917d8f60ab62784cf0","input":"0xa41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ce8cf","gasUsed":"0xc5","value":"0x0","output":"0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","input":"0x","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ce5db","gasUsed":"0xc5","value":"0x0","output":"0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","input":"0x","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ce032","gasUsed":"0x44d","value":"0x0","output":"0xd1f96d5378eeab9611b9247d2e2cc6a3e8cf0b2b0f8f0ef8286317d55464002a","input":"0x848e1bfa1ac4e3576b728bda6721b215c70a7799a5b4866282a71bab954baac8000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002582f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000064490cf0c697572adde73c8c02a43dfd982f5029a65923917d8f60ab62784cf0c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x000000000000000000000000000000000000800b","gas":"0xf80cdac8","gasUsed":"0x1d8","value":"0x0","output":"0x000000000000000000000000000000000000000000000000000000000000010e","input":"0x9a8a0592","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80cd717","gasUsed":"0x193","value":"0x0","output":"0x90c05efb083b1455ff9cfdbd3792b42bea87908b3a05f46c28244311c105b5a6","input":"0xc2f8787176b8ac6bf7215b4adcc1e069bf4ab82d9ab1df05a57a91d425935b6e19b453ce45aaaaf3a300f5a9ec95869b4f28ab10430b572ee218c3a6a5e07d6fad7c5bef027816a800da1736444fb58a807ef4c9603b7848673f7e3a68eb14a5000000000000000000000000000000000000000000000000000000000000010e","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80cd3e4","gasUsed":"0x180","value":"0x0","output":"0x7a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c6","input":"0x190190c05efb083b1455ff9cfdbd3792b42bea87908b3a05f46c28244311c105b5a6d1f96d5378eeab9611b9247d2e2cc6a3e8cf0b2b0f8f0ef8286317d55464002a","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ccfb5","gasUsed":"0x180","value":"0x0","output":"0x0e0c0cea11018eb61614e76c4cd8927f5112d6fa9df527455b2ff366f20629a8","input":"0x896d4e65e020a8c1c5a1227d1ffba49a246f79b4691717dfa824af25962d1ded7c5769b35ba68315636604e2a191809b0fb686eeb0bdbada366515da2866ed781b","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80cca8a","gasUsed":"0x12f","value":"0x0","output":"0xa1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf676680","input":"0x7a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c60e0c0cea11018eb61614e76c4cd8927f5112d6fa9df527455b2ff366f20629a8","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbfcb9ce","gasUsed":"0x1294","value":"0x0","output":"0x","input":"0x06e7517ba1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf676680","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800b","to":"0x0000000000000000000000000000000000008010","gas":"0xf80cc367","gasUsed":"0x12f","value":"0x0","output":"0xa512af0b1539d24cf7dab2a48c83ad66adff8b2a32b4e286e88c0d54949408a9","input":"0x0000000000000000000000000000000000000000000000000000000000000000a1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf676680","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0x206c4","gasUsed":"0xfd7","value":"0x0","output":"0x","input":"0xa851ae780000000000000000000000000000000000000000000000000000000000008001","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0x1f5c9","gasUsed":"0xf21","value":"0x0","output":"0x","input":"0xbf1fe420000000000000000000000000000000000000000000000000000000000ee6b280","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008006","gas":"0x1cd6d","gasUsed":"0x97e","value":"0x0","output":"0x0000000000000000000000000000000000000000000000000000000000000001","input":"0xbb0fd61000000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008006","to":"0x0000000000000000000000000000000000008010","gas":"0x1c3d4","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008006","to":"0x0000000000000000000000000000000000008002","gas":"0x1c023","gasUsed":"0x1f1","value":"0x0","output":"0x0000000000000000000000000000000000000000000000000000000000000000","input":"0x4de2e46800000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008003","gas":"0x1bd6e","gasUsed":"0xa0c","value":"0x0","output":"0x","input":"0x6ee1dc2000000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc04900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x1b3d5","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x1b0e1","gasUsed":"0x12f","value":"0x0","output":"0x1aaedb9739e2eccf88498b4b7b94dc130336bc3f6f75d8479999c9f1cf84be6f","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000001","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x1ae6b","gasUsed":"0x12f","value":"0x0","output":"0x8b94614891bdf5e652dabf07f56421084c5bd1236fd42f2ba55ed8e163960999","input":"0x00000000000000000000000000000000000000000000000000000000000000011aaedb9739e2eccf88498b4b7b94dc130336bc3f6f75d8479999c9f1cf84be6f","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","gas":"0x1960e","gasUsed":"0x30a7","value":"0x0","output":"0x202bcce700000000000000000000000000000000000000000000000000000000","input":"0x202bcce7a1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf6766807a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c60000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002582f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000064a41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041896d4e65e020a8c1c5a1227d1ffba49a246f79b4691717dfa824af25962d1ded7c5769b35ba68315636604e2a191809b0fb686eeb0bdbada366515da2866ed781b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x0000000000000000000000000000000000008003","gas":"0x18c36","gasUsed":"0x15f7","value":"0x0","output":"0x","input":"0xe1239cd80000000000000000000000000000000000000000000000000000000000000001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x183d8","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x18066","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x000000000000000000000000000000000000800a","gas":"0x16f2c","gasUsed":"0x492","value":"0x0","output":"0x00000000000000000000000000000000000000000000000098b1e70ee1ff5d80","input":"0x9cc7f70800000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x1670d","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x0000000000000000000000000000000000000001","gas":"0x165d2","gasUsed":"0x538","value":"0x0","output":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","input":"0x7a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c6000000000000000000000000000000000000000000000000000000000000001b896d4e65e020a8c1c5a1227d1ffba49a246f79b4691717dfa824af25962d1ded7c5769b35ba68315636604e2a191809b0fb686eeb0bdbada366515da2866ed78","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008003","gas":"0x16458","gasUsed":"0x498","value":"0x0","output":"0x","input":"0x6ee1dc2000000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc04900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x15c39","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800a","gas":"0x15db3","gasUsed":"0x492","value":"0x0","output":"0x0000000000000000000000000000000000000000000000000000000000000000","input":"0x9cc7f7080000000000000000000000000000000000000000000000000000000000008001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x155d3","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","gas":"0x15612","gasUsed":"0x35c0","value":"0x0","output":"0x","input":"0xe2f318e3a1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf6766807a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c60000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002582f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000064a41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041896d4e65e020a8c1c5a1227d1ffba49a246f79b4691717dfa824af25962d1ded7c5769b35ba68315636604e2a191809b0fb686eeb0bdbada366515da2866ed781b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x0000000000000000000000000000000000008009","gas":"0x14bfb","gasUsed":"0x3092","value":"0x0","output":"0x","input":"0x","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008009","to":"0x000000000000000000000000000000000000800a","gas":"0x143dc","gasUsed":"0x2ac7","value":"0x0","output":"0x","input":"0x579952fc00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000008001000000000000000000000000000000000000000000000000000022ef6eb6c580","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x13c3b","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x13908","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x126d2","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x000000000000000000000000000000000000800d","gas":"0x115d7","gasUsed":"0x13d","value":"0x0","output":"0x","input":"0x000000000000000000000000000000000000000000000000000022ef6eb6c580","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x0000000000000000000000000000000000008001","gas":"0x1180e","gasUsed":"0x17","value":"0x22ef6eb6c580","output":"0x","input":"0x","error":null,"revertReason":null,"calls":[]}]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800a","gas":"0x11faf","gasUsed":"0x492","value":"0x0","output":"0x000000000000000000000000000000000000000000000000000022ef6eb6c580","input":"0x9cc7f7080000000000000000000000000000000000000000000000000000000000008001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x118cb","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008004","gas":"0xac44","gasUsed":"0x200","value":"0x0","output":"0x","input":"0xe516761e000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008002","gas":"0xa65c","gasUsed":"0x1f1","value":"0x0","output":"0x0000000000000000000000000000000000000000000000000000000000000000","input":"0x4de2e46800000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xa2ab","gasUsed":"0xfd7","value":"0x0","output":"0x","input":"0xa851ae7800000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","gas":"0x8fb8","gasUsed":"0x1f88","value":"0x0","output":"0x","input":"0xdf9c1589a1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf6766807a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c60000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002582f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000064a41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041896d4e65e020a8c1c5a1227d1ffba49a246f79b4691717dfa824af25962d1ded7c5769b35ba68315636604e2a191809b0fb686eeb0bdbada366515da2866ed781b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x111c3e89ce80e62ee88318c2804920d4c96f92bb","gas":"0x871b","gasUsed":"0x18e0","value":"0x0","output":"0x","input":"0xa41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbfb700a","gasUsed":"0xfd7","value":"0x0","output":"0x","input":"0xa851ae780000000000000000000000000000000000000000000000000000000000008001","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800a","gas":"0xfbfb5e13","gasUsed":"0x2806","value":"0x0","output":"0x","input":"0x579952fc000000000000000000000000000000000000000000000000000000000000800100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000069f5b388f00","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0xf80b6dd3","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0xf80b6adf","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0xf80b5b1f","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x000000000000000000000000000000000000800d","gas":"0xf80b4a63","gasUsed":"0x13d","value":"0x0","output":"0x","input":"0x0000000000000000000000000000000000000000000000000000069f5b388f00","error":null,"revertReason":null,"calls":[]}]}]}]},"id":2} -\ No newline at end of file ---- -> {"jsonrpc":"2.0","result":{"type":"Call","from":"0x0000000000000000000000000000000000000000","to":"0x0000000000000000000000000000000000008001","gas":"0x2495f","gasUsed":"0x1cf05","value":"0x0","output":"0x","input":"0xa41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008002","gas":"0xfbfffb92","gasUsed":"0x262","value":"0x0","output":"0x0100023ba65021e4689dd1755f82108214a1f25150d439fe58c55cdb1f376436","input":"0xe03fe177000000000000000000000000000000000000000000000000000000000000800b","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbffee87","gasUsed":"0x29369","value":"0x0","output":"0x","input":"0x02fa577922e70838a8f535b47bf7ad019ab0b68e3be720a0ee1e912ce9164bc387d2e41000000000000000000000000000000000000000000000000000000000659808540000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000ee6b280","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800b","to":"0x0000000000000000000000000000000000008010","gas":"0xf80fe95c","gasUsed":"0x12f","value":"0x0","output":"0x625b35f5e76f098dd7c3a05b10e2e5e78a4a01228d60c3b143426cdf36d26455","input":"0x00000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000008","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbfd5aff","gasUsed":"0x41b7","value":"0x0","output":"0x","input":"0x06bed0360000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000006598085447a151fa13a58d9ccbcfcc77ed412cca250bf303a606453c542745cb5e7caf7c00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800b","to":"0x0000000000000000000000000000000000008010","gas":"0xf80d5eb0","gasUsed":"0x193","value":"0x0","output":"0x47a151fa13a58d9ccbcfcc77ed412cca250bf303a606453c542745cb5e7caf7c","input":"0x0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000006598084e16515efcd6c8efccfa2265bc465b215cbce87e6dfec8326ef4a77960b5f38a400000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbfd112b","gasUsed":"0x1ea","value":"0x0","output":"0x000000000000000000000000000000000000000000000000000000000ee6b280","input":"0x6ef25c3a","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800c","gas":"0xfbfce659","gasUsed":"0x2a9b","value":"0x0","output":"0x2e12b56a38421e5acd07ac74cc802bd068dd88f6e212f0433a0ec6ac87ba9aa3b37d3336048c611fe145531c22544ec4c8446192c0730ff772313741ed043ece","input":"0xebe4a3d70000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002495f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000064a41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004194b261de419e279b183dfcb5ad55f883ea97b5f98ea4ff5ea4ad5573390ceff5417865478febc829505924352b340706379b34b5b7f6c22293fb445723aeacfd1b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ceeb7","gasUsed":"0x1b2","value":"0x0","output":"0x64490cf0c697572adde73c8c02a43dfd982f5029a65923917d8f60ab62784cf0","input":"0xa41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ce8cf","gasUsed":"0xc5","value":"0x0","output":"0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","input":"0x","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ce5db","gasUsed":"0xc5","value":"0x0","output":"0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","input":"0x","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ce032","gasUsed":"0x44d","value":"0x0","output":"0x3223ede48b26d0cba434f98cffdf43579a0c355475595fb32577825f7076fff9","input":"0x848e1bfa1ac4e3576b728bda6721b215c70a7799a5b4866282a71bab954baac8000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002495f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000064490cf0c697572adde73c8c02a43dfd982f5029a65923917d8f60ab62784cf0c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x000000000000000000000000000000000000800b","gas":"0xf80cdac8","gasUsed":"0x1d8","value":"0x0","output":"0x000000000000000000000000000000000000000000000000000000000000010e","input":"0x9a8a0592","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80cd717","gasUsed":"0x193","value":"0x0","output":"0x90c05efb083b1455ff9cfdbd3792b42bea87908b3a05f46c28244311c105b5a6","input":"0xc2f8787176b8ac6bf7215b4adcc1e069bf4ab82d9ab1df05a57a91d425935b6e19b453ce45aaaaf3a300f5a9ec95869b4f28ab10430b572ee218c3a6a5e07d6fad7c5bef027816a800da1736444fb58a807ef4c9603b7848673f7e3a68eb14a5000000000000000000000000000000000000000000000000000000000000010e","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80cd3e4","gasUsed":"0x180","value":"0x0","output":"0xb37d3336048c611fe145531c22544ec4c8446192c0730ff772313741ed043ece","input":"0x190190c05efb083b1455ff9cfdbd3792b42bea87908b3a05f46c28244311c105b5a63223ede48b26d0cba434f98cffdf43579a0c355475595fb32577825f7076fff9","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ccfb5","gasUsed":"0x180","value":"0x0","output":"0x8efc1270f748e83e034fe8e5f574389fa61bd508035f16c99f83189285ee235d","input":"0x94b261de419e279b183dfcb5ad55f883ea97b5f98ea4ff5ea4ad5573390ceff5417865478febc829505924352b340706379b34b5b7f6c22293fb445723aeacfd1b","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80cca8a","gasUsed":"0x12f","value":"0x0","output":"0x2e12b56a38421e5acd07ac74cc802bd068dd88f6e212f0433a0ec6ac87ba9aa3","input":"0xb37d3336048c611fe145531c22544ec4c8446192c0730ff772313741ed043ece8efc1270f748e83e034fe8e5f574389fa61bd508035f16c99f83189285ee235d","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbfcb9ce","gasUsed":"0x1294","value":"0x0","output":"0x","input":"0x06e7517b2e12b56a38421e5acd07ac74cc802bd068dd88f6e212f0433a0ec6ac87ba9aa3","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800b","to":"0x0000000000000000000000000000000000008010","gas":"0xf80cc367","gasUsed":"0x12f","value":"0x0","output":"0x6dfa3a291459f3e87d041aeaafd236c05e2d84bb63aedcd8985d17155708b360","input":"0x00000000000000000000000000000000000000000000000000000000000000002e12b56a38421e5acd07ac74cc802bd068dd88f6e212f0433a0ec6ac87ba9aa3","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0x2044e","gasUsed":"0xfd7","value":"0x0","output":"0x","input":"0xa851ae780000000000000000000000000000000000000000000000000000000000008001","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0x1f392","gasUsed":"0xf21","value":"0x0","output":"0x","input":"0xbf1fe420000000000000000000000000000000000000000000000000000000000ee6b280","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008006","gas":"0x1caf7","gasUsed":"0x97e","value":"0x0","output":"0x0000000000000000000000000000000000000000000000000000000000000001","input":"0xbb0fd61000000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008006","to":"0x0000000000000000000000000000000000008010","gas":"0x1c15e","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008006","to":"0x0000000000000000000000000000000000008002","gas":"0x1bdad","gasUsed":"0x1f1","value":"0x0","output":"0x0000000000000000000000000000000000000000000000000000000000000000","input":"0x4de2e46800000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008003","gas":"0x1baf8","gasUsed":"0xa0c","value":"0x0","output":"0x","input":"0x6ee1dc2000000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc04900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x1b19e","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x1ae6b","gasUsed":"0x12f","value":"0x0","output":"0x1aaedb9739e2eccf88498b4b7b94dc130336bc3f6f75d8479999c9f1cf84be6f","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000001","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x1ac34","gasUsed":"0x12f","value":"0x0","output":"0x8b94614891bdf5e652dabf07f56421084c5bd1236fd42f2ba55ed8e163960999","input":"0x00000000000000000000000000000000000000000000000000000000000000011aaedb9739e2eccf88498b4b7b94dc130336bc3f6f75d8479999c9f1cf84be6f","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","gas":"0x19398","gasUsed":"0x30a7","value":"0x0","output":"0x202bcce700000000000000000000000000000000000000000000000000000000","input":"0x202bcce72e12b56a38421e5acd07ac74cc802bd068dd88f6e212f0433a0ec6ac87ba9aa3b37d3336048c611fe145531c22544ec4c8446192c0730ff772313741ed043ece0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002495f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000064a41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004194b261de419e279b183dfcb5ad55f883ea97b5f98ea4ff5ea4ad5573390ceff5417865478febc829505924352b340706379b34b5b7f6c22293fb445723aeacfd1b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x0000000000000000000000000000000000008003","gas":"0x189c0","gasUsed":"0x15f7","value":"0x0","output":"0x","input":"0xe1239cd80000000000000000000000000000000000000000000000000000000000000001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x18162","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x17df0","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x000000000000000000000000000000000000800a","gas":"0x16cb6","gasUsed":"0x492","value":"0x0","output":"0x00000000000000000000000000000000000000000000000098b88fffca1ae680","input":"0x9cc7f70800000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x16497","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x0000000000000000000000000000000000000001","gas":"0x1639b","gasUsed":"0x538","value":"0x0","output":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","input":"0xb37d3336048c611fe145531c22544ec4c8446192c0730ff772313741ed043ece000000000000000000000000000000000000000000000000000000000000001b94b261de419e279b183dfcb5ad55f883ea97b5f98ea4ff5ea4ad5573390ceff5417865478febc829505924352b340706379b34b5b7f6c22293fb445723aeacfd","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008003","gas":"0x161e2","gasUsed":"0x498","value":"0x0","output":"0x","input":"0x6ee1dc2000000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc04900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x159c3","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800a","gas":"0x15b3d","gasUsed":"0x492","value":"0x0","output":"0x0000000000000000000000000000000000000000000000000000000000000000","input":"0x9cc7f7080000000000000000000000000000000000000000000000000000000000008001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x1535d","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","gas":"0x1539c","gasUsed":"0x35c0","value":"0x0","output":"0x","input":"0xe2f318e32e12b56a38421e5acd07ac74cc802bd068dd88f6e212f0433a0ec6ac87ba9aa3b37d3336048c611fe145531c22544ec4c8446192c0730ff772313741ed043ece0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002495f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000064a41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004194b261de419e279b183dfcb5ad55f883ea97b5f98ea4ff5ea4ad5573390ceff5417865478febc829505924352b340706379b34b5b7f6c22293fb445723aeacfd1b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x0000000000000000000000000000000000008009","gas":"0x14985","gasUsed":"0x3092","value":"0x0","output":"0x","input":"0x","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008009","to":"0x000000000000000000000000000000000000800a","gas":"0x14166","gasUsed":"0x2ac7","value":"0x0","output":"0x","input":"0x579952fc00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000000000000000000000000000000000000000800100000000000000000000000000000000000000000000000000002212b582bd80","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x139c5","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x13692","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x1249b","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x000000000000000000000000000000000000800d","gas":"0x11361","gasUsed":"0x13d","value":"0x0","output":"0x","input":"0x00000000000000000000000000000000000000000000000000002212b582bd80","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x0000000000000000000000000000000000008001","gas":"0x11598","gasUsed":"0x17","value":"0x2212b582bd80","output":"0x","input":"0x","error":null,"revertReason":null,"calls":[]}]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800a","gas":"0x11d78","gasUsed":"0x492","value":"0x0","output":"0x00000000000000000000000000000000000000000000000000002212b582bd80","input":"0x9cc7f7080000000000000000000000000000000000000000000000000000000000008001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x11694","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008004","gas":"0xa9ce","gasUsed":"0x200","value":"0x0","output":"0x","input":"0xe516761e000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008002","gas":"0xa3e6","gasUsed":"0x1f1","value":"0x0","output":"0x0000000000000000000000000000000000000000000000000000000000000000","input":"0x4de2e46800000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xa035","gasUsed":"0xfd7","value":"0x0","output":"0x","input":"0xa851ae7800000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","gas":"0x8d42","gasUsed":"0x1f88","value":"0x0","output":"0x","input":"0xdf9c15892e12b56a38421e5acd07ac74cc802bd068dd88f6e212f0433a0ec6ac87ba9aa3b37d3336048c611fe145531c22544ec4c8446192c0730ff772313741ed043ece0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002495f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000064a41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004194b261de419e279b183dfcb5ad55f883ea97b5f98ea4ff5ea4ad5573390ceff5417865478febc829505924352b340706379b34b5b7f6c22293fb445723aeacfd1b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x111c3e89ce80e62ee88318c2804920d4c96f92bb","gas":"0x84a5","gasUsed":"0x18e0","value":"0x0","output":"0x","input":"0xa41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbfb700a","gasUsed":"0xfd7","value":"0x0","output":"0x","input":"0xa851ae780000000000000000000000000000000000000000000000000000000000008001","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800a","gas":"0xfbfb5e13","gasUsed":"0x2806","value":"0x0","output":"0x","input":"0x579952fc000000000000000000000000000000000000000000000000000000000000800100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000071f2e2bc100","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0xf80b6dd3","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0xf80b6adf","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0xf80b5b1f","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x000000000000000000000000000000000000800d","gas":"0xf80b4a63","gasUsed":"0x13d","value":"0x0","output":"0x","input":"0x0000000000000000000000000000000000000000000000000000071f2e2bc100","error":null,"revertReason":null,"calls":[]}]}]}]},"id":2} -\ No newline at end of file diff --git a/core/tests/ts-integration/src/rollup_output.txt b/core/tests/ts-integration/src/rollup_output.txt deleted file mode 100644 index 27035b95338a..000000000000 --- a/core/tests/ts-integration/src/rollup_output.txt +++ /dev/null @@ -1 +0,0 @@ -{"jsonrpc":"2.0","result":{"type":"Call","from":"0x0000000000000000000000000000000000000000","to":"0x0000000000000000000000000000000000008001","gas":"0x2582f","gasUsed":"0x1e669","value":"0x0","output":"0x","input":"0xa41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008002","gas":"0xfbfffb92","gasUsed":"0x262","value":"0x0","output":"0x0100023ba65021e4689dd1755f82108214a1f25150d439fe58c55cdb1f376436","input":"0xe03fe177000000000000000000000000000000000000000000000000000000000000800b","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbffee87","gasUsed":"0x29369","value":"0x0","output":"0x","input":"0x02fa5779699989e3884dbae679ac4688f7810fff11c5b10730cfd98694e0bc8312dffb0200000000000000000000000000000000000000000000000000000000659800e10000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000ee6b280","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800b","to":"0x0000000000000000000000000000000000008010","gas":"0xf80fe95c","gasUsed":"0x12f","value":"0x0","output":"0x625b35f5e76f098dd7c3a05b10e2e5e78a4a01228d60c3b143426cdf36d26455","input":"0x00000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000008","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbfd5aff","gasUsed":"0x41b7","value":"0x0","output":"0x","input":"0x06bed036000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000659800e1c430d34c3272d22f369af42e59fe91930da8bfcb3195800053371eeb1f14288300000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800b","to":"0x0000000000000000000000000000000000008010","gas":"0xf80d5eb0","gasUsed":"0x193","value":"0x0","output":"0xc430d34c3272d22f369af42e59fe91930da8bfcb3195800053371eeb1f142883","input":"0x000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000659800daba29c754519015dc8c2942d61fcf82cdd9cd4389b4d225bd56e1e3528cb5a6ab0000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbfd112b","gasUsed":"0x1ea","value":"0x0","output":"0x000000000000000000000000000000000000000000000000000000000ee6b280","input":"0x6ef25c3a","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800c","gas":"0xfbfce659","gasUsed":"0x2a9b","value":"0x0","output":"0xa1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf6766807a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c6","input":"0xebe4a3d70000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002582f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000064a41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041896d4e65e020a8c1c5a1227d1ffba49a246f79b4691717dfa824af25962d1ded7c5769b35ba68315636604e2a191809b0fb686eeb0bdbada366515da2866ed781b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ceeb7","gasUsed":"0x1b2","value":"0x0","output":"0x64490cf0c697572adde73c8c02a43dfd982f5029a65923917d8f60ab62784cf0","input":"0xa41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ce8cf","gasUsed":"0xc5","value":"0x0","output":"0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","input":"0x","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ce5db","gasUsed":"0xc5","value":"0x0","output":"0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","input":"0x","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ce032","gasUsed":"0x44d","value":"0x0","output":"0xd1f96d5378eeab9611b9247d2e2cc6a3e8cf0b2b0f8f0ef8286317d55464002a","input":"0x848e1bfa1ac4e3576b728bda6721b215c70a7799a5b4866282a71bab954baac8000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002582f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000064490cf0c697572adde73c8c02a43dfd982f5029a65923917d8f60ab62784cf0c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x000000000000000000000000000000000000800b","gas":"0xf80cdac8","gasUsed":"0x1d8","value":"0x0","output":"0x000000000000000000000000000000000000000000000000000000000000010e","input":"0x9a8a0592","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80cd717","gasUsed":"0x193","value":"0x0","output":"0x90c05efb083b1455ff9cfdbd3792b42bea87908b3a05f46c28244311c105b5a6","input":"0xc2f8787176b8ac6bf7215b4adcc1e069bf4ab82d9ab1df05a57a91d425935b6e19b453ce45aaaaf3a300f5a9ec95869b4f28ab10430b572ee218c3a6a5e07d6fad7c5bef027816a800da1736444fb58a807ef4c9603b7848673f7e3a68eb14a5000000000000000000000000000000000000000000000000000000000000010e","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80cd3e4","gasUsed":"0x180","value":"0x0","output":"0x7a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c6","input":"0x190190c05efb083b1455ff9cfdbd3792b42bea87908b3a05f46c28244311c105b5a6d1f96d5378eeab9611b9247d2e2cc6a3e8cf0b2b0f8f0ef8286317d55464002a","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ccfb5","gasUsed":"0x180","value":"0x0","output":"0x0e0c0cea11018eb61614e76c4cd8927f5112d6fa9df527455b2ff366f20629a8","input":"0x896d4e65e020a8c1c5a1227d1ffba49a246f79b4691717dfa824af25962d1ded7c5769b35ba68315636604e2a191809b0fb686eeb0bdbada366515da2866ed781b","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80cca8a","gasUsed":"0x12f","value":"0x0","output":"0xa1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf676680","input":"0x7a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c60e0c0cea11018eb61614e76c4cd8927f5112d6fa9df527455b2ff366f20629a8","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbfcb9ce","gasUsed":"0x1294","value":"0x0","output":"0x","input":"0x06e7517ba1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf676680","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800b","to":"0x0000000000000000000000000000000000008010","gas":"0xf80cc367","gasUsed":"0x12f","value":"0x0","output":"0xa512af0b1539d24cf7dab2a48c83ad66adff8b2a32b4e286e88c0d54949408a9","input":"0x0000000000000000000000000000000000000000000000000000000000000000a1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf676680","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0x206c4","gasUsed":"0xfd7","value":"0x0","output":"0x","input":"0xa851ae780000000000000000000000000000000000000000000000000000000000008001","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0x1f5c9","gasUsed":"0xf21","value":"0x0","output":"0x","input":"0xbf1fe420000000000000000000000000000000000000000000000000000000000ee6b280","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008006","gas":"0x1cd6d","gasUsed":"0x97e","value":"0x0","output":"0x0000000000000000000000000000000000000000000000000000000000000001","input":"0xbb0fd61000000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008006","to":"0x0000000000000000000000000000000000008010","gas":"0x1c3d4","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008006","to":"0x0000000000000000000000000000000000008002","gas":"0x1c023","gasUsed":"0x1f1","value":"0x0","output":"0x0000000000000000000000000000000000000000000000000000000000000000","input":"0x4de2e46800000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008003","gas":"0x1bd6e","gasUsed":"0xa0c","value":"0x0","output":"0x","input":"0x6ee1dc2000000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc04900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x1b3d5","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x1b0e1","gasUsed":"0x12f","value":"0x0","output":"0x1aaedb9739e2eccf88498b4b7b94dc130336bc3f6f75d8479999c9f1cf84be6f","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000001","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x1ae6b","gasUsed":"0x12f","value":"0x0","output":"0x8b94614891bdf5e652dabf07f56421084c5bd1236fd42f2ba55ed8e163960999","input":"0x00000000000000000000000000000000000000000000000000000000000000011aaedb9739e2eccf88498b4b7b94dc130336bc3f6f75d8479999c9f1cf84be6f","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","gas":"0x1960e","gasUsed":"0x30a7","value":"0x0","output":"0x202bcce700000000000000000000000000000000000000000000000000000000","input":"0x202bcce7a1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf6766807a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c60000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002582f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000064a41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041896d4e65e020a8c1c5a1227d1ffba49a246f79b4691717dfa824af25962d1ded7c5769b35ba68315636604e2a191809b0fb686eeb0bdbada366515da2866ed781b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x0000000000000000000000000000000000008003","gas":"0x18c36","gasUsed":"0x15f7","value":"0x0","output":"0x","input":"0xe1239cd80000000000000000000000000000000000000000000000000000000000000001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x183d8","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x18066","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x000000000000000000000000000000000000800a","gas":"0x16f2c","gasUsed":"0x492","value":"0x0","output":"0x00000000000000000000000000000000000000000000000098b1e70dd5c6d080","input":"0x9cc7f70800000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x1670d","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x0000000000000000000000000000000000000001","gas":"0x165d2","gasUsed":"0x538","value":"0x0","output":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","input":"0x7a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c6000000000000000000000000000000000000000000000000000000000000001b896d4e65e020a8c1c5a1227d1ffba49a246f79b4691717dfa824af25962d1ded7c5769b35ba68315636604e2a191809b0fb686eeb0bdbada366515da2866ed78","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008003","gas":"0x16458","gasUsed":"0x498","value":"0x0","output":"0x","input":"0x6ee1dc2000000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc04900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x15c39","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800a","gas":"0x15db3","gasUsed":"0x492","value":"0x0","output":"0x0000000000000000000000000000000000000000000000000000000000000000","input":"0x9cc7f7080000000000000000000000000000000000000000000000000000000000008001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x155d3","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","gas":"0x15612","gasUsed":"0x35c0","value":"0x0","output":"0x","input":"0xe2f318e3a1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf6766807a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c60000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002582f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000064a41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041896d4e65e020a8c1c5a1227d1ffba49a246f79b4691717dfa824af25962d1ded7c5769b35ba68315636604e2a191809b0fb686eeb0bdbada366515da2866ed781b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x0000000000000000000000000000000000008009","gas":"0x14bfb","gasUsed":"0x3092","value":"0x0","output":"0x","input":"0x","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008009","to":"0x000000000000000000000000000000000000800a","gas":"0x143dc","gasUsed":"0x2ac7","value":"0x0","output":"0x","input":"0x579952fc00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000008001000000000000000000000000000000000000000000000000000022ef6eb6c580","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x13c3b","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x13908","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x126d2","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x000000000000000000000000000000000000800d","gas":"0x115d7","gasUsed":"0x13d","value":"0x0","output":"0x","input":"0x000000000000000000000000000000000000000000000000000022ef6eb6c580","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x0000000000000000000000000000000000008001","gas":"0x1180e","gasUsed":"0x17","value":"0x22ef6eb6c580","output":"0x","input":"0x","error":null,"revertReason":null,"calls":[]}]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800a","gas":"0x11faf","gasUsed":"0x492","value":"0x0","output":"0x000000000000000000000000000000000000000000000000000022ef6eb6c580","input":"0x9cc7f7080000000000000000000000000000000000000000000000000000000000008001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x118cb","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008004","gas":"0xac44","gasUsed":"0x200","value":"0x0","output":"0x","input":"0xe516761e000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008002","gas":"0xa65c","gasUsed":"0x1f1","value":"0x0","output":"0x0000000000000000000000000000000000000000000000000000000000000000","input":"0x4de2e46800000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xa2ab","gasUsed":"0xfd7","value":"0x0","output":"0x","input":"0xa851ae7800000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","gas":"0x8fb8","gasUsed":"0x1f88","value":"0x0","output":"0x","input":"0xdf9c1589a1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf6766807a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c60000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002582f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000064a41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041896d4e65e020a8c1c5a1227d1ffba49a246f79b4691717dfa824af25962d1ded7c5769b35ba68315636604e2a191809b0fb686eeb0bdbada366515da2866ed781b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x111c3e89ce80e62ee88318c2804920d4c96f92bb","gas":"0x871b","gasUsed":"0x18e0","value":"0x0","output":"0x","input":"0xa41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbfb700a","gasUsed":"0xfd7","value":"0x0","output":"0x","input":"0xa851ae780000000000000000000000000000000000000000000000000000000000008001","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800a","gas":"0xfbfb5e13","gasUsed":"0x2806","value":"0x0","output":"0x","input":"0x579952fc000000000000000000000000000000000000000000000000000000000000800100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000069f5b388f00","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0xf80b6dd3","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0xf80b6adf","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0xf80b5b1f","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x000000000000000000000000000000000000800d","gas":"0xf80b4a63","gasUsed":"0x13d","value":"0x0","output":"0x","input":"0x0000000000000000000000000000000000000000000000000000069f5b388f00","error":null,"revertReason":null,"calls":[]}]}]}]},"id":2} \ No newline at end of file diff --git a/core/tests/ts-integration/src/validium_output.txt b/core/tests/ts-integration/src/validium_output.txt deleted file mode 100644 index ecdae65412c7..000000000000 --- a/core/tests/ts-integration/src/validium_output.txt +++ /dev/null @@ -1 +0,0 @@ -{"jsonrpc":"2.0","result":{"type":"Call","from":"0x0000000000000000000000000000000000000000","to":"0x0000000000000000000000000000000000008001","gas":"0x2582f","gasUsed":"0x1e669","value":"0x0","output":"0x","input":"0xa41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008002","gas":"0xfbfffb92","gasUsed":"0x262","value":"0x0","output":"0x0100023ba65021e4689dd1755f82108214a1f25150d439fe58c55cdb1f376436","input":"0xe03fe177000000000000000000000000000000000000000000000000000000000000800b","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbffee87","gasUsed":"0x29369","value":"0x0","output":"0x","input":"0x02fa5779fb8684a2f1b235ec9aeea7cb396932e0128977f306d1f5dd153d0477eedbea2e000000000000000000000000000000000000000000000000000000006597fd190000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000ee6b280","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800b","to":"0x0000000000000000000000000000000000008010","gas":"0xf80fe95c","gasUsed":"0x12f","value":"0x0","output":"0x625b35f5e76f098dd7c3a05b10e2e5e78a4a01228d60c3b143426cdf36d26455","input":"0x00000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000008","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbfd5aff","gasUsed":"0x41b7","value":"0x0","output":"0x","input":"0x06bed0360000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000006597fd19e0f11f969291d373aa30c46a8833c7a66bf0ede7f05a620527ca1adc849df73a00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800b","to":"0x0000000000000000000000000000000000008010","gas":"0xf80d5eb0","gasUsed":"0x193","value":"0x0","output":"0xe0f11f969291d373aa30c46a8833c7a66bf0ede7f05a620527ca1adc849df73a","input":"0x0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000006597fd13a9d36af0b8414df9db49ce82e10929b63ce5e3abd1b2880490f123646dce911f0000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbfd112b","gasUsed":"0x1ea","value":"0x0","output":"0x000000000000000000000000000000000000000000000000000000000ee6b280","input":"0x6ef25c3a","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800c","gas":"0xfbfce659","gasUsed":"0x2a9b","value":"0x0","output":"0xa1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf6766807a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c6","input":"0xebe4a3d70000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002582f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000064a41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041896d4e65e020a8c1c5a1227d1ffba49a246f79b4691717dfa824af25962d1ded7c5769b35ba68315636604e2a191809b0fb686eeb0bdbada366515da2866ed781b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ceeb7","gasUsed":"0x1b2","value":"0x0","output":"0x64490cf0c697572adde73c8c02a43dfd982f5029a65923917d8f60ab62784cf0","input":"0xa41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ce8cf","gasUsed":"0xc5","value":"0x0","output":"0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","input":"0x","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ce5db","gasUsed":"0xc5","value":"0x0","output":"0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","input":"0x","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ce032","gasUsed":"0x44d","value":"0x0","output":"0xd1f96d5378eeab9611b9247d2e2cc6a3e8cf0b2b0f8f0ef8286317d55464002a","input":"0x848e1bfa1ac4e3576b728bda6721b215c70a7799a5b4866282a71bab954baac8000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002582f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000064490cf0c697572adde73c8c02a43dfd982f5029a65923917d8f60ab62784cf0c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x000000000000000000000000000000000000800b","gas":"0xf80cdac8","gasUsed":"0x1d8","value":"0x0","output":"0x000000000000000000000000000000000000000000000000000000000000010e","input":"0x9a8a0592","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80cd717","gasUsed":"0x193","value":"0x0","output":"0x90c05efb083b1455ff9cfdbd3792b42bea87908b3a05f46c28244311c105b5a6","input":"0xc2f8787176b8ac6bf7215b4adcc1e069bf4ab82d9ab1df05a57a91d425935b6e19b453ce45aaaaf3a300f5a9ec95869b4f28ab10430b572ee218c3a6a5e07d6fad7c5bef027816a800da1736444fb58a807ef4c9603b7848673f7e3a68eb14a5000000000000000000000000000000000000000000000000000000000000010e","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80cd3e4","gasUsed":"0x180","value":"0x0","output":"0x7a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c6","input":"0x190190c05efb083b1455ff9cfdbd3792b42bea87908b3a05f46c28244311c105b5a6d1f96d5378eeab9611b9247d2e2cc6a3e8cf0b2b0f8f0ef8286317d55464002a","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ccfb5","gasUsed":"0x180","value":"0x0","output":"0x0e0c0cea11018eb61614e76c4cd8927f5112d6fa9df527455b2ff366f20629a8","input":"0x896d4e65e020a8c1c5a1227d1ffba49a246f79b4691717dfa824af25962d1ded7c5769b35ba68315636604e2a191809b0fb686eeb0bdbada366515da2866ed781b","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80cca8a","gasUsed":"0x12f","value":"0x0","output":"0xa1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf676680","input":"0x7a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c60e0c0cea11018eb61614e76c4cd8927f5112d6fa9df527455b2ff366f20629a8","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbfcb9ce","gasUsed":"0x1294","value":"0x0","output":"0x","input":"0x06e7517ba1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf676680","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800b","to":"0x0000000000000000000000000000000000008010","gas":"0xf80cc367","gasUsed":"0x12f","value":"0x0","output":"0xa512af0b1539d24cf7dab2a48c83ad66adff8b2a32b4e286e88c0d54949408a9","input":"0x0000000000000000000000000000000000000000000000000000000000000000a1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf676680","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0x206c4","gasUsed":"0xfd7","value":"0x0","output":"0x","input":"0xa851ae780000000000000000000000000000000000000000000000000000000000008001","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0x1f5c9","gasUsed":"0xf21","value":"0x0","output":"0x","input":"0xbf1fe420000000000000000000000000000000000000000000000000000000000ee6b280","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008006","gas":"0x1cd6d","gasUsed":"0x97e","value":"0x0","output":"0x0000000000000000000000000000000000000000000000000000000000000001","input":"0xbb0fd61000000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008006","to":"0x0000000000000000000000000000000000008010","gas":"0x1c3d4","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008006","to":"0x0000000000000000000000000000000000008002","gas":"0x1c023","gasUsed":"0x1f1","value":"0x0","output":"0x0000000000000000000000000000000000000000000000000000000000000000","input":"0x4de2e46800000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008003","gas":"0x1bd6e","gasUsed":"0xa0c","value":"0x0","output":"0x","input":"0x6ee1dc2000000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc04900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x1b3d5","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x1b0e1","gasUsed":"0x12f","value":"0x0","output":"0x1aaedb9739e2eccf88498b4b7b94dc130336bc3f6f75d8479999c9f1cf84be6f","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000001","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x1ae6b","gasUsed":"0x12f","value":"0x0","output":"0x8b94614891bdf5e652dabf07f56421084c5bd1236fd42f2ba55ed8e163960999","input":"0x00000000000000000000000000000000000000000000000000000000000000011aaedb9739e2eccf88498b4b7b94dc130336bc3f6f75d8479999c9f1cf84be6f","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","gas":"0x1960e","gasUsed":"0x30a7","value":"0x0","output":"0x202bcce700000000000000000000000000000000000000000000000000000000","input":"0x202bcce7a1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf6766807a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c60000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002582f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000064a41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041896d4e65e020a8c1c5a1227d1ffba49a246f79b4691717dfa824af25962d1ded7c5769b35ba68315636604e2a191809b0fb686eeb0bdbada366515da2866ed781b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x0000000000000000000000000000000000008003","gas":"0x18c36","gasUsed":"0x15f7","value":"0x0","output":"0x","input":"0xe1239cd80000000000000000000000000000000000000000000000000000000000000001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x183d8","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x18066","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x000000000000000000000000000000000000800a","gas":"0x16f2c","gasUsed":"0x492","value":"0x0","output":"0x00000000000000000000000000000000000000000000000098b1e70ee1ff5d80","input":"0x9cc7f70800000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x1670d","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x0000000000000000000000000000000000000001","gas":"0x165d2","gasUsed":"0x538","value":"0x0","output":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","input":"0x7a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c6000000000000000000000000000000000000000000000000000000000000001b896d4e65e020a8c1c5a1227d1ffba49a246f79b4691717dfa824af25962d1ded7c5769b35ba68315636604e2a191809b0fb686eeb0bdbada366515da2866ed78","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008003","gas":"0x16458","gasUsed":"0x498","value":"0x0","output":"0x","input":"0x6ee1dc2000000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc04900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x15c39","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800a","gas":"0x15db3","gasUsed":"0x492","value":"0x0","output":"0x0000000000000000000000000000000000000000000000000000000000000000","input":"0x9cc7f7080000000000000000000000000000000000000000000000000000000000008001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x155d3","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","gas":"0x15612","gasUsed":"0x35c0","value":"0x0","output":"0x","input":"0xe2f318e3a1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf6766807a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c60000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002582f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000064a41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041896d4e65e020a8c1c5a1227d1ffba49a246f79b4691717dfa824af25962d1ded7c5769b35ba68315636604e2a191809b0fb686eeb0bdbada366515da2866ed781b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x0000000000000000000000000000000000008009","gas":"0x14bfb","gasUsed":"0x3092","value":"0x0","output":"0x","input":"0x","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008009","to":"0x000000000000000000000000000000000000800a","gas":"0x143dc","gasUsed":"0x2ac7","value":"0x0","output":"0x","input":"0x579952fc00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000008001000000000000000000000000000000000000000000000000000022ef6eb6c580","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x13c3b","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x13908","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x126d2","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x000000000000000000000000000000000000800d","gas":"0x115d7","gasUsed":"0x13d","value":"0x0","output":"0x","input":"0x000000000000000000000000000000000000000000000000000022ef6eb6c580","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x0000000000000000000000000000000000008001","gas":"0x1180e","gasUsed":"0x17","value":"0x22ef6eb6c580","output":"0x","input":"0x","error":null,"revertReason":null,"calls":[]}]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800a","gas":"0x11faf","gasUsed":"0x492","value":"0x0","output":"0x000000000000000000000000000000000000000000000000000022ef6eb6c580","input":"0x9cc7f7080000000000000000000000000000000000000000000000000000000000008001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x118cb","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008004","gas":"0xac44","gasUsed":"0x200","value":"0x0","output":"0x","input":"0xe516761e000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008002","gas":"0xa65c","gasUsed":"0x1f1","value":"0x0","output":"0x0000000000000000000000000000000000000000000000000000000000000000","input":"0x4de2e46800000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xa2ab","gasUsed":"0xfd7","value":"0x0","output":"0x","input":"0xa851ae7800000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","gas":"0x8fb8","gasUsed":"0x1f88","value":"0x0","output":"0x","input":"0xdf9c1589a1ae38705aa3f3e65ec9f2ce2692aaff6e531d56031998d33ac3e015bf6766807a45f7107299d3de5b653e96a838b865fa2d8b60fb6f714895efceadf2ecd6c60000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002582f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000064a41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041896d4e65e020a8c1c5a1227d1ffba49a246f79b4691717dfa824af25962d1ded7c5769b35ba68315636604e2a191809b0fb686eeb0bdbada366515da2866ed781b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x111c3e89ce80e62ee88318c2804920d4c96f92bb","gas":"0x871b","gasUsed":"0x18e0","value":"0x0","output":"0x","input":"0xa41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbfb700a","gasUsed":"0xfd7","value":"0x0","output":"0x","input":"0xa851ae780000000000000000000000000000000000000000000000000000000000008001","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800a","gas":"0xfbfb5e13","gasUsed":"0x2806","value":"0x0","output":"0x","input":"0x579952fc000000000000000000000000000000000000000000000000000000000000800100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000069f5b388f00","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0xf80b6dd3","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0xf80b6adf","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0xf80b5b1f","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x000000000000000000000000000000000000800d","gas":"0xf80b4a63","gasUsed":"0x13d","value":"0x0","output":"0x","input":"0x0000000000000000000000000000000000000000000000000000069f5b388f00","error":null,"revertReason":null,"calls":[]}]}]}]},"id":2} \ No newline at end of file diff --git a/core/tests/ts-integration/src/validium_pubdata_0_output.txt b/core/tests/ts-integration/src/validium_pubdata_0_output.txt deleted file mode 100644 index 0ce9092f419c..000000000000 --- a/core/tests/ts-integration/src/validium_pubdata_0_output.txt +++ /dev/null @@ -1 +0,0 @@ -{"jsonrpc":"2.0","result":{"type":"Call","from":"0x0000000000000000000000000000000000000000","to":"0x0000000000000000000000000000000000008001","gas":"0x2495f","gasUsed":"0x1cf05","value":"0x0","output":"0x","input":"0xa41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008002","gas":"0xfbfffb92","gasUsed":"0x262","value":"0x0","output":"0x0100023ba65021e4689dd1755f82108214a1f25150d439fe58c55cdb1f376436","input":"0xe03fe177000000000000000000000000000000000000000000000000000000000000800b","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbffee87","gasUsed":"0x29369","value":"0x0","output":"0x","input":"0x02fa577922e70838a8f535b47bf7ad019ab0b68e3be720a0ee1e912ce9164bc387d2e41000000000000000000000000000000000000000000000000000000000659808540000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000ee6b280","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800b","to":"0x0000000000000000000000000000000000008010","gas":"0xf80fe95c","gasUsed":"0x12f","value":"0x0","output":"0x625b35f5e76f098dd7c3a05b10e2e5e78a4a01228d60c3b143426cdf36d26455","input":"0x00000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000008","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbfd5aff","gasUsed":"0x41b7","value":"0x0","output":"0x","input":"0x06bed0360000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000006598085447a151fa13a58d9ccbcfcc77ed412cca250bf303a606453c542745cb5e7caf7c00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800b","to":"0x0000000000000000000000000000000000008010","gas":"0xf80d5eb0","gasUsed":"0x193","value":"0x0","output":"0x47a151fa13a58d9ccbcfcc77ed412cca250bf303a606453c542745cb5e7caf7c","input":"0x0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000006598084e16515efcd6c8efccfa2265bc465b215cbce87e6dfec8326ef4a77960b5f38a400000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbfd112b","gasUsed":"0x1ea","value":"0x0","output":"0x000000000000000000000000000000000000000000000000000000000ee6b280","input":"0x6ef25c3a","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800c","gas":"0xfbfce659","gasUsed":"0x2a9b","value":"0x0","output":"0x2e12b56a38421e5acd07ac74cc802bd068dd88f6e212f0433a0ec6ac87ba9aa3b37d3336048c611fe145531c22544ec4c8446192c0730ff772313741ed043ece","input":"0xebe4a3d70000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002495f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000064a41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004194b261de419e279b183dfcb5ad55f883ea97b5f98ea4ff5ea4ad5573390ceff5417865478febc829505924352b340706379b34b5b7f6c22293fb445723aeacfd1b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ceeb7","gasUsed":"0x1b2","value":"0x0","output":"0x64490cf0c697572adde73c8c02a43dfd982f5029a65923917d8f60ab62784cf0","input":"0xa41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ce8cf","gasUsed":"0xc5","value":"0x0","output":"0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","input":"0x","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ce5db","gasUsed":"0xc5","value":"0x0","output":"0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","input":"0x","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ce032","gasUsed":"0x44d","value":"0x0","output":"0x3223ede48b26d0cba434f98cffdf43579a0c355475595fb32577825f7076fff9","input":"0x848e1bfa1ac4e3576b728bda6721b215c70a7799a5b4866282a71bab954baac8000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002495f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000064490cf0c697572adde73c8c02a43dfd982f5029a65923917d8f60ab62784cf0c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x000000000000000000000000000000000000800b","gas":"0xf80cdac8","gasUsed":"0x1d8","value":"0x0","output":"0x000000000000000000000000000000000000000000000000000000000000010e","input":"0x9a8a0592","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80cd717","gasUsed":"0x193","value":"0x0","output":"0x90c05efb083b1455ff9cfdbd3792b42bea87908b3a05f46c28244311c105b5a6","input":"0xc2f8787176b8ac6bf7215b4adcc1e069bf4ab82d9ab1df05a57a91d425935b6e19b453ce45aaaaf3a300f5a9ec95869b4f28ab10430b572ee218c3a6a5e07d6fad7c5bef027816a800da1736444fb58a807ef4c9603b7848673f7e3a68eb14a5000000000000000000000000000000000000000000000000000000000000010e","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80cd3e4","gasUsed":"0x180","value":"0x0","output":"0xb37d3336048c611fe145531c22544ec4c8446192c0730ff772313741ed043ece","input":"0x190190c05efb083b1455ff9cfdbd3792b42bea87908b3a05f46c28244311c105b5a63223ede48b26d0cba434f98cffdf43579a0c355475595fb32577825f7076fff9","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80ccfb5","gasUsed":"0x180","value":"0x0","output":"0x8efc1270f748e83e034fe8e5f574389fa61bd508035f16c99f83189285ee235d","input":"0x94b261de419e279b183dfcb5ad55f883ea97b5f98ea4ff5ea4ad5573390ceff5417865478febc829505924352b340706379b34b5b7f6c22293fb445723aeacfd1b","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800c","to":"0x0000000000000000000000000000000000008010","gas":"0xf80cca8a","gasUsed":"0x12f","value":"0x0","output":"0x2e12b56a38421e5acd07ac74cc802bd068dd88f6e212f0433a0ec6ac87ba9aa3","input":"0xb37d3336048c611fe145531c22544ec4c8446192c0730ff772313741ed043ece8efc1270f748e83e034fe8e5f574389fa61bd508035f16c99f83189285ee235d","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbfcb9ce","gasUsed":"0x1294","value":"0x0","output":"0x","input":"0x06e7517b2e12b56a38421e5acd07ac74cc802bd068dd88f6e212f0433a0ec6ac87ba9aa3","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800b","to":"0x0000000000000000000000000000000000008010","gas":"0xf80cc367","gasUsed":"0x12f","value":"0x0","output":"0x6dfa3a291459f3e87d041aeaafd236c05e2d84bb63aedcd8985d17155708b360","input":"0x00000000000000000000000000000000000000000000000000000000000000002e12b56a38421e5acd07ac74cc802bd068dd88f6e212f0433a0ec6ac87ba9aa3","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0x2044e","gasUsed":"0xfd7","value":"0x0","output":"0x","input":"0xa851ae780000000000000000000000000000000000000000000000000000000000008001","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0x1f392","gasUsed":"0xf21","value":"0x0","output":"0x","input":"0xbf1fe420000000000000000000000000000000000000000000000000000000000ee6b280","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008006","gas":"0x1caf7","gasUsed":"0x97e","value":"0x0","output":"0x0000000000000000000000000000000000000000000000000000000000000001","input":"0xbb0fd61000000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008006","to":"0x0000000000000000000000000000000000008010","gas":"0x1c15e","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008006","to":"0x0000000000000000000000000000000000008002","gas":"0x1bdad","gasUsed":"0x1f1","value":"0x0","output":"0x0000000000000000000000000000000000000000000000000000000000000000","input":"0x4de2e46800000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008003","gas":"0x1baf8","gasUsed":"0xa0c","value":"0x0","output":"0x","input":"0x6ee1dc2000000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc04900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x1b19e","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x1ae6b","gasUsed":"0x12f","value":"0x0","output":"0x1aaedb9739e2eccf88498b4b7b94dc130336bc3f6f75d8479999c9f1cf84be6f","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000001","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x1ac34","gasUsed":"0x12f","value":"0x0","output":"0x8b94614891bdf5e652dabf07f56421084c5bd1236fd42f2ba55ed8e163960999","input":"0x00000000000000000000000000000000000000000000000000000000000000011aaedb9739e2eccf88498b4b7b94dc130336bc3f6f75d8479999c9f1cf84be6f","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","gas":"0x19398","gasUsed":"0x30a7","value":"0x0","output":"0x202bcce700000000000000000000000000000000000000000000000000000000","input":"0x202bcce72e12b56a38421e5acd07ac74cc802bd068dd88f6e212f0433a0ec6ac87ba9aa3b37d3336048c611fe145531c22544ec4c8446192c0730ff772313741ed043ece0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002495f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000064a41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004194b261de419e279b183dfcb5ad55f883ea97b5f98ea4ff5ea4ad5573390ceff5417865478febc829505924352b340706379b34b5b7f6c22293fb445723aeacfd1b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x0000000000000000000000000000000000008003","gas":"0x189c0","gasUsed":"0x15f7","value":"0x0","output":"0x","input":"0xe1239cd80000000000000000000000000000000000000000000000000000000000000001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x18162","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x17df0","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x000000000000000000000000000000000000800a","gas":"0x16cb6","gasUsed":"0x492","value":"0x0","output":"0x00000000000000000000000000000000000000000000000098b88fffca1ae680","input":"0x9cc7f70800000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x16497","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x0000000000000000000000000000000000000001","gas":"0x1639b","gasUsed":"0x538","value":"0x0","output":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","input":"0xb37d3336048c611fe145531c22544ec4c8446192c0730ff772313741ed043ece000000000000000000000000000000000000000000000000000000000000001b94b261de419e279b183dfcb5ad55f883ea97b5f98ea4ff5ea4ad5573390ceff5417865478febc829505924352b340706379b34b5b7f6c22293fb445723aeacfd","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008003","gas":"0x161e2","gasUsed":"0x498","value":"0x0","output":"0x","input":"0x6ee1dc2000000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc04900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008003","to":"0x0000000000000000000000000000000000008010","gas":"0x159c3","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800a","gas":"0x15b3d","gasUsed":"0x492","value":"0x0","output":"0x0000000000000000000000000000000000000000000000000000000000000000","input":"0x9cc7f7080000000000000000000000000000000000000000000000000000000000008001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x1535d","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","gas":"0x1539c","gasUsed":"0x35c0","value":"0x0","output":"0x","input":"0xe2f318e32e12b56a38421e5acd07ac74cc802bd068dd88f6e212f0433a0ec6ac87ba9aa3b37d3336048c611fe145531c22544ec4c8446192c0730ff772313741ed043ece0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002495f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000064a41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004194b261de419e279b183dfcb5ad55f883ea97b5f98ea4ff5ea4ad5573390ceff5417865478febc829505924352b340706379b34b5b7f6c22293fb445723aeacfd1b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x0000000000000000000000000000000000008009","gas":"0x14985","gasUsed":"0x3092","value":"0x0","output":"0x","input":"0x","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x0000000000000000000000000000000000008009","to":"0x000000000000000000000000000000000000800a","gas":"0x14166","gasUsed":"0x2ac7","value":"0x0","output":"0x","input":"0x579952fc00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000000000000000000000000000000000000000800100000000000000000000000000000000000000000000000000002212b582bd80","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x139c5","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x13692","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x1249b","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x000000000000000000000000000000000000800d","gas":"0x11361","gasUsed":"0x13d","value":"0x0","output":"0x","input":"0x00000000000000000000000000000000000000000000000000002212b582bd80","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x0000000000000000000000000000000000008001","gas":"0x11598","gasUsed":"0x17","value":"0x2212b582bd80","output":"0x","input":"0x","error":null,"revertReason":null,"calls":[]}]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800a","gas":"0x11d78","gasUsed":"0x492","value":"0x0","output":"0x00000000000000000000000000000000000000000000000000002212b582bd80","input":"0x9cc7f7080000000000000000000000000000000000000000000000000000000000008001","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0x11694","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008004","gas":"0xa9ce","gasUsed":"0x200","value":"0x0","output":"0x","input":"0xe516761e000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x0000000000000000000000000000000000008002","gas":"0xa3e6","gasUsed":"0x1f1","value":"0x0","output":"0x0000000000000000000000000000000000000000000000000000000000000000","input":"0x4de2e46800000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xa035","gasUsed":"0xfd7","value":"0x0","output":"0x","input":"0xa851ae7800000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","gas":"0x8d42","gasUsed":"0x1f88","value":"0x0","output":"0x","input":"0xdf9c15892e12b56a38421e5acd07ac74cc802bd068dd88f6e212f0433a0ec6ac87ba9aa3b37d3336048c611fe145531c22544ec4c8446192c0730ff772313741ed043ece0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000007100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049000000000000000000000000111c3e89ce80e62ee88318c2804920d4c96f92bb000000000000000000000000000000000000000000000000000000000002495f000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000ee6b2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000064a41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004194b261de419e279b183dfcb5ad55f883ea97b5f98ea4ff5ea4ad5573390ceff5417865478febc829505924352b340706379b34b5b7f6c22293fb445723aeacfd1b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x36615cf349d7f6344891b1e7ca7c72883f5dc049","to":"0x111c3e89ce80e62ee88318c2804920d4c96f92bb","gas":"0x84a5","gasUsed":"0x18e0","value":"0x0","output":"0x","input":"0xa41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]}]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800b","gas":"0xfbfb700a","gasUsed":"0xfd7","value":"0x0","output":"0x","input":"0xa851ae780000000000000000000000000000000000000000000000000000000000008001","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x0000000000000000000000000000000000008001","to":"0x000000000000000000000000000000000000800a","gas":"0xfbfb5e13","gasUsed":"0x2806","value":"0x0","output":"0x","input":"0x579952fc000000000000000000000000000000000000000000000000000000000000800100000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000071f2e2bc100","error":null,"revertReason":null,"calls":[{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0xf80b6dd3","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0xf80b6adf","gasUsed":"0x12f","value":"0x0","output":"0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da","input":"0x00000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x0000000000000000000000000000000000008010","gas":"0xf80b5b1f","gasUsed":"0x12f","value":"0x0","output":"0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a","input":"0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc0490000000000000000000000000000000000000000000000000000000000000000","error":null,"revertReason":null,"calls":[]},{"type":"Call","from":"0x000000000000000000000000000000000000800a","to":"0x000000000000000000000000000000000000800d","gas":"0xf80b4a63","gasUsed":"0x13d","value":"0x0","output":"0x","input":"0x0000000000000000000000000000000000000000000000000000071f2e2bc100","error":null,"revertReason":null,"calls":[]}]}]}]},"id":2} \ No newline at end of file From 5e98b842bdffbc9bb94cd9846eb142660e6e3858 Mon Sep 17 00:00:00 2001 From: Ivan Litteri Date: Fri, 19 Jan 2024 11:20:00 -0300 Subject: [PATCH 29/29] zk fmt --- validium_mode_example/README.md | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/validium_mode_example/README.md b/validium_mode_example/README.md index 200c6e44b944..55e9cac9e952 100644 --- a/validium_mode_example/README.md +++ b/validium_mode_example/README.md @@ -4,33 +4,36 @@ In order to start the node as a validium and run the example follow the next ste ### Run the server -To run this example we need to run the server in validium mode. In the `zksync-era` directory, you can run the following command: +To run this example we need to run the server in validium mode. In the `zksync-era` directory, you can run the following +command: ```sh zk && zk clean --all && zk init --validium-mode && zk server ``` -> [!IMPORTANT] -> Make sure that the flag `--validium-mode` is present when initilizing the server. +> [!IMPORTANT] Make sure that the flag `--validium-mode` is present when initilizing the server. -This will set up the Ethereum node with the validium contracts, and also define an `env` var which the server will pick up in order to run as a validium node. +This will set up the Ethereum node with the validium contracts, and also define an `env` var which the server will pick +up in order to run as a validium node. ### Run the example In this example we're going to run some transactions. Once the server is running, run this command in other terminal: + ```sh cargo run --release --bin zksync_full_stack ``` This test does the following: - - Inits a wallet - - Deposits some funds into the wallet - - Deploys a sample ERC20 contract - - Query the contract for the token name and symbol - - Mint 100000 tokens into the address `CD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826` - - Transfer 1000 tokens from `CD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826` to `bBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB` + +- Inits a wallet +- Deposits some funds into the wallet +- Deploys a sample ERC20 contract +- Query the contract for the token name and symbol +- Mint 100000 tokens into the address `CD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826` +- Transfer 1000 tokens from `CD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826` to `bBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB` ### Logs and prints @@ -65,5 +68,5 @@ L2 fee: 31366500000000 L1 max fee per gas: 1000000010 ``` -> [!NOTE] -> You can observe how the diferent fields evolve depending on the operation. The `transaction hash` is a changing field. \ No newline at end of file +> [!NOTE] You can observe how the diferent fields evolve depending on the operation. The `transaction hash` is a +> changing field.