diff --git a/Cargo.lock b/Cargo.lock index 078e6bdd..2a58dc7a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -24,7 +24,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0" dependencies = [ "crypto-common", - "generic-array 0.14.7", + "generic-array", ] [[package]] @@ -316,9 +316,9 @@ checksum = "d86b93f97252c47b41663388e6d155714a9d0c398b99f1005cbc5f978b29f445" [[package]] name = "bfieldcodec_derive" -version = "0.6.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea4587af76b177449245b3d59e8a94f579f02155c123452bb22d5faa4083bb93" +checksum = "4265eba9f15a272bf097026963df8badd58ea1b12b9fe4c01666bffef5aa6a9b" dependencies = [ "proc-macro2", "quote", @@ -374,34 +374,13 @@ dependencies = [ "constant_time_eq", ] -[[package]] -name = "block-buffer" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b" -dependencies = [ - "block-padding", - "byte-tools", - "byteorder", - "generic-array 0.12.4", -] - [[package]] name = "block-buffer" version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" dependencies = [ - "generic-array 0.14.7", -] - -[[package]] -name = "block-padding" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa79dedbb091f449f1f39e53edf88d5dbe95f895dae6135a8d7b881fb5af73f5" -dependencies = [ - "byte-tools", + "generic-array", ] [[package]] @@ -410,12 +389,6 @@ version = "3.15.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7ff69b9dd49fd426c69a0db9fc04dd934cdb6645ff000864d98f7e2af8830eaa" -[[package]] -name = "byte-tools" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" - [[package]] name = "byteorder" version = "1.5.0" @@ -796,7 +769,7 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ - "generic-array 0.14.7", + "generic-array", "rand_core", "typenum", ] @@ -844,28 +817,19 @@ dependencies = [ [[package]] name = "derive_tasm_object" version = "0.1.0" -source = "git+https://github.com/dan-da/tasm-lib.git?rev=15a708cf6fcbd9ed3e65e5e2067be6e622176328#15a708cf6fcbd9ed3e65e5e2067be6e622176328" +source = "git+https://github.com/TritonVM/tasm-lib.git?rev=0591f8eab9b5d86380afdcd422d77dfeaacc5870#0591f8eab9b5d86380afdcd422d77dfeaacc5870" dependencies = [ "quote", "syn 2.0.58", ] -[[package]] -name = "digest" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5" -dependencies = [ - "generic-array 0.12.4", -] - [[package]] name = "digest" version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ - "block-buffer 0.10.4", + "block-buffer", "crypto-common", "subtle", ] @@ -934,15 +898,6 @@ version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a" -[[package]] -name = "emojihash-rs" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2e8fb8b3d5d170ae72b4ecdff636f1ff4d384bea0d1ede30dcad8f7890a624d" -dependencies = [ - "sha2 0.8.2", -] - [[package]] name = "enum-ordinalize" version = "3.1.15" @@ -972,12 +927,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "fake-simd" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" - [[package]] name = "fastrand" version = "2.0.2" @@ -1114,15 +1063,6 @@ dependencies = [ "slab", ] -[[package]] -name = "generic-array" -version = "0.12.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffdf9f34f1447443d37393cc6c2b8313aebddcd96906caf34e54c68d8e57d7bd" -dependencies = [ - "typenum", -] - [[package]] name = "generic-array" version = "0.14.7" @@ -1170,7 +1110,7 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0d8a4362ccb29cb0b265253fb0a2728f592895ee6854fd9bc13f2ffda266ff1" dependencies = [ - "opaque-debug 0.3.1", + "opaque-debug", "polyval", ] @@ -1268,7 +1208,7 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" dependencies = [ - "digest 0.10.7", + "digest", ] [[package]] @@ -1402,7 +1342,7 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" dependencies = [ - "generic-array 0.14.7", + "generic-array", ] [[package]] @@ -1666,6 +1606,7 @@ dependencies = [ "serde", "serde_derive", "serde_json", + "sha3", "strum 0.25.0", "tarpc", "tasm-lib", @@ -1816,12 +1757,6 @@ version = "11.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575" -[[package]] -name = "opaque-debug" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c" - [[package]] name = "opaque-debug" version = "0.3.1" @@ -1918,7 +1853,7 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" dependencies = [ - "digest 0.10.7", + "digest", ] [[package]] @@ -2037,7 +1972,7 @@ checksum = "9d1fe60d06143b2430aa532c94cfe9e29783047f06c0d7fd359a9a51b729fa25" dependencies = [ "cfg-if", "cpufeatures", - "opaque-debug 0.3.1", + "opaque-debug", "universal-hash", ] @@ -2491,25 +2426,23 @@ dependencies = [ [[package]] name = "sha2" -version = "0.8.2" +version = "0.10.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a256f46ea78a0c0d9ff00077504903ac881a1dafdc20da66545699e7776b3e69" +checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" dependencies = [ - "block-buffer 0.7.3", - "digest 0.8.1", - "fake-simd", - "opaque-debug 0.2.3", + "cfg-if", + "cpufeatures", + "digest", ] [[package]] -name = "sha2" +name = "sha3" version = "0.10.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" dependencies = [ - "cfg-if", - "cpufeatures", - "digest 0.10.7", + "digest", + "keccak", ] [[package]] @@ -2733,21 +2666,21 @@ dependencies = [ [[package]] name = "tasm-lib" version = "0.2.1" -source = "git+https://github.com/dan-da/tasm-lib.git?rev=15a708cf6fcbd9ed3e65e5e2067be6e622176328#15a708cf6fcbd9ed3e65e5e2067be6e622176328" +source = "git+https://github.com/TritonVM/tasm-lib.git?rev=0591f8eab9b5d86380afdcd422d77dfeaacc5870#0591f8eab9b5d86380afdcd422d77dfeaacc5870" dependencies = [ "anyhow", "arbitrary", "const_format", "derive_tasm_object", "hex", - "itertools 0.12.1", + "itertools 0.10.5", "ndarray", "num", "num-traits", "rand", - "rayon", "serde", "serde_json", + "strum 0.26.2", "triton-vm", ] @@ -2858,7 +2791,7 @@ dependencies = [ "pbkdf2", "rand", "rustc-hash", - "sha2 0.10.8", + "sha2", "thiserror", "unicode-normalization", "wasm-bindgen", @@ -3146,9 +3079,9 @@ dependencies = [ [[package]] name = "triton-vm" -version = "0.38.2" +version = "0.40.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85fc0cd3dc6c5a78654584abe02c01d6c9fc7e6a4ad6346f595b434ef36f4ca2" +checksum = "aa7b9ca092127dddef3e623e3ba6be6dfae12944a8fe88e1f035fd31ff347d20" dependencies = [ "arbitrary", "colored", @@ -3180,19 +3113,16 @@ checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "twenty-first" -version = "0.38.0" -source = "git+https://github.com/Neptune-Crypto/twenty-first.git?rev=81573735e9df4836ca16655fd31884271984bac7#81573735e9df4836ca16655fd31884271984bac7" +version = "0.40.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c23d90a342ccf515da09a83b1f85288c79d4ef973dc86ee700590d555d03e20" dependencies = [ "arbitrary", "bfieldcodec_derive", - "bincode", "blake3", - "colored", - "emojihash-rs", "get-size", "hashbrown 0.14.3", "itertools 0.12.1", - "keccak", "lazy_static", "num-bigint", "num-traits", @@ -3204,6 +3134,7 @@ dependencies = [ "serde-big-array", "serde_derive", "serde_json", + "sha3", "thiserror", ] diff --git a/Cargo.toml b/Cargo.toml index 62d615ac..e720f5da 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -65,6 +65,7 @@ rs-leveldb = "0.1.5" leveldb-sys = "2.0.9" async-trait = "0.1.77" async-stream = "0.3.5" +sha3 = "0.10.8" [dev-dependencies] test-strategy = "0.3" @@ -122,7 +123,7 @@ harness = false [patch.crates-io] # 15a708cf6fcbd9ed3e65e5e2067be6e622176328 is tip of branch: make_storage_async as of 2024-03-18 -tasm-lib = { git = "https://github.com/dan-da/tasm-lib.git", rev = "15a708cf6fcbd9ed3e65e5e2067be6e622176328" } +tasm-lib = { git = "https://github.com/TritonVM/tasm-lib.git", rev = "0591f8eab9b5d86380afdcd422d77dfeaacc5870" } # 81573735e9df4836ca16655fd31884271984bac7 = tip of branch: make_storage_async on 2024-03-18 -twenty-first = { git = "https://github.com/Neptune-Crypto/twenty-first.git", rev = "81573735e9df4836ca16655fd31884271984bac7" } +# twenty-first = { git = "https://github.com/Neptune-Crypto/twenty-first.git", rev = "81573735e9df4836ca16655fd31884271984bac7" } diff --git a/benches/archival_mmr.rs b/benches/archival_mmr.rs index 9efc2059..7b643819 100644 --- a/benches/archival_mmr.rs +++ b/benches/archival_mmr.rs @@ -10,7 +10,7 @@ use neptune_core::database::storage::storage_vec::traits::StorageVecBase; use neptune_core::database::NeptuneLevelDb; use neptune_core::util_types::mutator_set::archival_mmr::ArchivalMmr; use rand::random; -use tasm_lib::twenty_first::shared_math::tip5::Tip5; +use tasm_lib::twenty_first::math::tip5::Tip5; use tasm_lib::twenty_first::util_types::mmr::shared_advanced::leaf_count_to_node_count; use tasm_lib::Digest; @@ -100,7 +100,7 @@ mod append { mod append_5000 { const NUM_WRITE_ITEMS: usize = 5000; const INIT_AMMR_LEAF_COUNT: u64 = 0; - use tasm_lib::twenty_first::shared_math::other::random_elements; + use tasm_lib::twenty_first::math::other::random_elements; use super::*; @@ -141,7 +141,7 @@ mod mutate { const AMMR_LEAF_COUNT: u64 = 10000; use itertools::Itertools; use rand::{thread_rng, Rng}; - use tasm_lib::twenty_first::shared_math::other::random_elements; + use tasm_lib::twenty_first::math::other::random_elements; use super::*; @@ -188,7 +188,7 @@ mod batch_mutate_leaf_and_update_mps { const AMMR_LEAF_COUNT: u64 = 10000; use itertools::Itertools; use rand::{thread_rng, Rng}; - use tasm_lib::twenty_first::shared_math::other::random_elements; + use tasm_lib::twenty_first::math::other::random_elements; use super::*; diff --git a/benchmarks/tasm_neptune_transaction_compute_commitment.json b/benchmarks/tasm_neptune_transaction_compute_commitment.json index 76531dd9..c6ffec5b 100644 --- a/benchmarks/tasm_neptune_transaction_compute_commitment.json +++ b/benchmarks/tasm_neptune_transaction_compute_commitment.json @@ -1,16 +1,24 @@ [ { "name": "tasm_neptune_transaction_compute_commitment", - "clock_cycle_count": 95, - "hash_table_height": 114, - "u32_table_height": 0, + "benchmark_result": { + "clock_cycle_count": 95, + "hash_table_height": 114, + "u32_table_height": 0, + "op_stack_table_height": 70, + "ram_table_height": 14 + }, "case": "CommonCase" }, { "name": "tasm_neptune_transaction_compute_commitment", - "clock_cycle_count": 95, - "hash_table_height": 114, - "u32_table_height": 0, + "benchmark_result": { + "clock_cycle_count": 95, + "hash_table_height": 114, + "u32_table_height": 0, + "op_stack_table_height": 70, + "ram_table_height": 14 + }, "case": "WorstCase" } ] \ No newline at end of file diff --git a/benchmarks/tasm_neptune_transaction_compute_indices.json b/benchmarks/tasm_neptune_transaction_compute_indices.json index 88150578..ab0611ce 100644 --- a/benchmarks/tasm_neptune_transaction_compute_indices.json +++ b/benchmarks/tasm_neptune_transaction_compute_indices.json @@ -1,16 +1,24 @@ [ { "name": "tasm_neptune_transaction_compute_indices", - "clock_cycle_count": 5570, - "hash_table_height": 601, - "u32_table_height": 4604, + "benchmark_result": { + "clock_cycle_count": 4722, + "hash_table_height": 595, + "u32_table_height": 4346, + "op_stack_table_height": 3533, + "ram_table_height": 488 + }, "case": "CommonCase" }, { "name": "tasm_neptune_transaction_compute_indices", - "clock_cycle_count": 5570, - "hash_table_height": 601, - "u32_table_height": 4740, + "benchmark_result": { + "clock_cycle_count": 4722, + "hash_table_height": 595, + "u32_table_height": 4482, + "op_stack_table_height": 3533, + "ram_table_height": 488 + }, "case": "WorstCase" } ] \ No newline at end of file diff --git a/benchmarks/tasm_neptune_transaction_hash_index_list.json b/benchmarks/tasm_neptune_transaction_hash_index_list.json index 6d02ec71..319c3c3b 100644 --- a/benchmarks/tasm_neptune_transaction_hash_index_list.json +++ b/benchmarks/tasm_neptune_transaction_hash_index_list.json @@ -1,16 +1,24 @@ [ { "name": "tasm_neptune_transaction_hash_index_list", - "clock_cycle_count": 390, - "hash_table_height": 217, - "u32_table_height": 14, + "benchmark_result": { + "clock_cycle_count": 390, + "hash_table_height": 217, + "u32_table_height": 14, + "op_stack_table_height": 634, + "ram_table_height": 181 + }, "case": "CommonCase" }, { "name": "tasm_neptune_transaction_hash_index_list", - "clock_cycle_count": 1134, - "hash_table_height": 589, - "u32_table_height": 16, + "benchmark_result": { + "clock_cycle_count": 1134, + "hash_table_height": 589, + "u32_table_height": 16, + "op_stack_table_height": 2370, + "ram_table_height": 801 + }, "case": "WorstCase" } ] \ No newline at end of file diff --git a/benchmarks/tasm_neptune_transaction_hash_removal_record_indices.json b/benchmarks/tasm_neptune_transaction_hash_removal_record_indices.json index 7d885b10..1833d883 100644 --- a/benchmarks/tasm_neptune_transaction_hash_removal_record_indices.json +++ b/benchmarks/tasm_neptune_transaction_hash_removal_record_indices.json @@ -1,16 +1,24 @@ [ { "name": "tasm_neptune_transaction_hash_removal_record_indices", - "clock_cycle_count": 392, - "hash_table_height": 223, - "u32_table_height": 14, + "benchmark_result": { + "clock_cycle_count": 392, + "hash_table_height": 223, + "u32_table_height": 14, + "op_stack_table_height": 636, + "ram_table_height": 181 + }, "case": "CommonCase" }, { "name": "tasm_neptune_transaction_hash_removal_record_indices", - "clock_cycle_count": 392, - "hash_table_height": 223, - "u32_table_height": 14, + "benchmark_result": { + "clock_cycle_count": 392, + "hash_table_height": 223, + "u32_table_height": 14, + "op_stack_table_height": 636, + "ram_table_height": 181 + }, "case": "WorstCase" } ] \ No newline at end of file diff --git a/benchmarks/tasm_neptune_transaction_hash_utxo.json b/benchmarks/tasm_neptune_transaction_hash_utxo.json index 1b6fae19..9fe0d899 100644 --- a/benchmarks/tasm_neptune_transaction_hash_utxo.json +++ b/benchmarks/tasm_neptune_transaction_hash_utxo.json @@ -1,16 +1,24 @@ [ { "name": "tasm_neptune_transaction_hash_utxo", - "clock_cycle_count": 168, - "hash_table_height": 115, - "u32_table_height": 11, + "benchmark_result": { + "clock_cycle_count": 168, + "hash_table_height": 115, + "u32_table_height": 11, + "op_stack_table_height": 140, + "ram_table_height": 20 + }, "case": "CommonCase" }, { "name": "tasm_neptune_transaction_hash_utxo", - "clock_cycle_count": 168, - "hash_table_height": 115, - "u32_table_height": 11, + "benchmark_result": { + "clock_cycle_count": 168, + "hash_table_height": 115, + "u32_table_height": 11, + "op_stack_table_height": 140, + "ram_table_height": 20 + }, "case": "WorstCase" } ] \ No newline at end of file diff --git a/benchmarks/tasm_neptune_transaction_removal_records_integrity.json b/benchmarks/tasm_neptune_transaction_removal_records_integrity.json index 721b65c5..f685809f 100644 --- a/benchmarks/tasm_neptune_transaction_removal_records_integrity.json +++ b/benchmarks/tasm_neptune_transaction_removal_records_integrity.json @@ -1,9 +1,13 @@ [ { "name": "tasm_neptune_transaction_removal_records_integrity", - "clock_cycle_count": 30848, - "hash_table_height": 5621, - "u32_table_height": 13792, + "benchmark_result": { + "clock_cycle_count": 28824, + "hash_table_height": 5579, + "u32_table_height": 13590, + "op_stack_table_height": 27231, + "ram_table_height": 5570 + }, "case": "CommonCase" } ] \ No newline at end of file diff --git a/benchmarks/tasm_neptune_transaction_transaction_kernel_mast_hash.json b/benchmarks/tasm_neptune_transaction_transaction_kernel_mast_hash.json index f50624e5..035b2b11 100644 --- a/benchmarks/tasm_neptune_transaction_transaction_kernel_mast_hash.json +++ b/benchmarks/tasm_neptune_transaction_transaction_kernel_mast_hash.json @@ -1,16 +1,24 @@ [ { "name": "tasm_neptune_transaction_transaction_kernel_mast_hash", - "clock_cycle_count": 7819, - "hash_table_height": 3601, - "u32_table_height": 159, + "benchmark_result": { + "clock_cycle_count": 7819, + "hash_table_height": 3601, + "u32_table_height": 159, + "op_stack_table_height": 15738, + "ram_table_height": 5289 + }, "case": "CommonCase" }, { "name": "tasm_neptune_transaction_transaction_kernel_mast_hash", - "clock_cycle_count": 8551, - "hash_table_height": 3967, - "u32_table_height": 160, + "benchmark_result": { + "clock_cycle_count": 8551, + "hash_table_height": 3967, + "u32_table_height": 160, + "op_stack_table_height": 17446, + "ram_table_height": 5899 + }, "case": "WorstCase" } ] \ No newline at end of file diff --git a/benchmarks/tasm_neptune_transaction_verify_aocl_membership.json b/benchmarks/tasm_neptune_transaction_verify_aocl_membership.json index f5230aa2..dc32c589 100644 --- a/benchmarks/tasm_neptune_transaction_verify_aocl_membership.json +++ b/benchmarks/tasm_neptune_transaction_verify_aocl_membership.json @@ -1,16 +1,24 @@ [ { "name": "tasm_neptune_transaction_verify_aocl_membership", - "clock_cycle_count": 717, - "hash_table_height": 366, - "u32_table_height": 144, + "benchmark_result": { + "clock_cycle_count": 717, + "hash_table_height": 366, + "u32_table_height": 144, + "op_stack_table_height": 455, + "ram_table_height": 43 + }, "case": "CommonCase" }, { "name": "tasm_neptune_transaction_verify_aocl_membership", - "clock_cycle_count": 702, - "hash_table_height": 366, - "u32_table_height": 148, + "benchmark_result": { + "clock_cycle_count": 702, + "hash_table_height": 366, + "u32_table_height": 148, + "op_stack_table_height": 455, + "ram_table_height": 43 + }, "case": "WorstCase" } ] \ No newline at end of file diff --git a/profiles/tasm_neptune_transaction_removal_records_integrity.profile b/profiles/tasm_neptune_transaction_removal_records_integrity.profile index 61d9f698..e2656ce0 100644 --- a/profiles/tasm_neptune_transaction_removal_records_integrity.profile +++ b/profiles/tasm_neptune_transaction_removal_records_integrity.profile @@ -1,1609 +1,1376 @@ tasm_neptune_transaction_removal_records_integrity: # call graph - tasm_neptune_transaction_transaction_kernel_mast_hash: 4723 - tasm_list_new___digest: 27 - tasm_memory_dyn_malloc: 20 - tasm_memory_dyn_malloc_initialize: 3 - tasm_list_set_length___digest: 5 - tasm_hashing_algebraic_hasher_hash_varlen: 3114 - tasm_hashing_absorb_multiple: 3100 - tasm_hashing_absorb_multiple_hash_all_full_chunks: 2957 - tasm_hashing_absorb_multiple_pad_varnum_zeros: 93 - tasm_hashing_absorb_multiple_read_remainder: 14 - tasm_list_set_element___digest: 8 - tasm_hashing_algebraic_hasher_hash_varlen: 174 - tasm_hashing_absorb_multiple: 160 - tasm_hashing_absorb_multiple_hash_all_full_chunks: 17 - tasm_hashing_absorb_multiple_pad_varnum_zeros: 93 - tasm_hashing_absorb_multiple_read_remainder: 14 - tasm_list_set_element___digest: 8 - tasm_hashing_algebraic_hasher_hash_varlen: 212 - tasm_hashing_absorb_multiple: 198 - tasm_hashing_absorb_multiple_hash_all_full_chunks: 53 - tasm_hashing_absorb_multiple_pad_varnum_zeros: 104 - tasm_hashing_absorb_multiple_read_remainder: 5 - tasm_list_set_element___digest: 8 - tasm_hashing_algebraic_hasher_hash_varlen: 156 - tasm_hashing_absorb_multiple: 142 - tasm_hashing_absorb_multiple_hash_all_full_chunks: 5 - tasm_hashing_absorb_multiple_pad_varnum_zeros: 60 - tasm_hashing_absorb_multiple_read_remainder: 41 - tasm_list_set_element___digest: 8 - tasm_hashing_algebraic_hasher_hash_varlen: 154 - tasm_hashing_absorb_multiple: 140 - tasm_hashing_absorb_multiple_hash_all_full_chunks: 5 - tasm_hashing_absorb_multiple_pad_varnum_zeros: 49 - tasm_hashing_absorb_multiple_read_remainder: 50 - tasm_list_set_element___digest: 8 - tasm_hashing_algebraic_hasher_hash_varlen: 162 - tasm_hashing_absorb_multiple: 148 - tasm_hashing_absorb_multiple_hash_all_full_chunks: 5 - tasm_hashing_absorb_multiple_pad_varnum_zeros: 93 - tasm_hashing_absorb_multiple_read_remainder: 14 - tasm_list_set_element___digest: 8 - tasm_hashing_algebraic_hasher_hash_varlen: 154 - tasm_hashing_absorb_multiple: 140 - tasm_hashing_absorb_multiple_hash_all_full_chunks: 5 - tasm_hashing_absorb_multiple_pad_varnum_zeros: 49 - tasm_hashing_absorb_multiple_read_remainder: 50 - tasm_list_set_element___digest: 8 - tasm_list_set_element___digest: 8 - tasm_list_get_element___digest: 13 - tasm_list_get_element___digest: 13 - tasm_list_set_element___digest: 8 - tasm_list_get_element___digest: 13 - tasm_list_get_element___digest: 13 - tasm_list_set_element___digest: 8 - tasm_list_get_element___digest: 13 - tasm_list_get_element___digest: 13 - tasm_list_set_element___digest: 8 - tasm_list_get_element___digest: 13 - tasm_list_get_element___digest: 13 - tasm_list_set_element___digest: 8 - tasm_list_get_element___digest: 13 - tasm_list_get_element___digest: 13 - tasm_list_set_element___digest: 8 - tasm_list_get_element___digest: 13 - tasm_list_get_element___digest: 13 - tasm_list_set_element___digest: 8 - tasm_list_get_element___digest: 13 - tasm_list_get_element___digest: 13 - tasm_list_set_element___digest: 8 - tasm_list_get_element___digest: 13 - tasm_memory_push_ram_to_stack___digest: 5 - tasm_mmr_bag_peaks: 102 - tasm_list_length___digest: 3 - tasm_mmr_bag_peaks_length_is_not_zero: 89 - tasm_mmr_bag_peaks_length_is_not_zero_or_one: 81 - tasm_list_get_element___digest: 13 - tasm_list_get_element___digest: 13 - tasm_mmr_bag_peaks_loop: 31 - tasm_list_get_element___digest: 13 - tasm_mmr_bag_peaks: 1038 - tasm_list_length___digest: 3 - tasm_mmr_bag_peaks_length_is_not_zero: 1025 - tasm_mmr_bag_peaks_length_is_not_zero_or_one: 1017 - tasm_list_get_element___digest: 13 - tasm_list_get_element___digest: 13 - tasm_mmr_bag_peaks_loop: 967 - tasm_list_get_element___digest: 13 - tasm_list_get_element___digest: 13 - tasm_list_get_element___digest: 13 - tasm_list_get_element___digest: 13 - tasm_list_get_element___digest: 13 - tasm_list_get_element___digest: 13 - tasm_list_get_element___digest: 13 - tasm_list_get_element___digest: 13 - tasm_list_get_element___digest: 13 - tasm_list_get_element___digest: 13 - tasm_list_get_element___digest: 13 - tasm_list_get_element___digest: 13 - tasm_list_get_element___digest: 13 - tasm_list_get_element___digest: 13 - tasm_list_get_element___digest: 13 - tasm_list_get_element___digest: 13 - tasm_list_get_element___digest: 13 - tasm_list_get_element___digest: 13 - tasm_list_get_element___digest: 13 - tasm_list_get_element___digest: 13 - tasm_list_get_element___digest: 13 - tasm_list_get_element___digest: 13 - tasm_list_get_element___digest: 13 - tasm_list_get_element___digest: 13 - tasm_list_get_element___digest: 13 - tasm_list_get_element___digest: 13 - tasm_list_get_element___digest: 13 - tasm_list_get_element___digest: 13 - tasm_list_get_element___digest: 13 - tasm_list_get_element___digest: 13 - tasm_list_get_element___digest: 13 - tasm_list_get_element___digest: 13 - tasm_list_get_element___digest: 13 - tasm_list_get_element___digest: 13 - tasm_list_get_element___digest: 13 - tasm_list_get_element___digest: 13 - tasm_list_get_element___digest: 13 - tasm_memory_push_ram_to_stack___digest: 5 - tasm_list_contiguous_list_get_pointer_list: 101 - tasm_list_contiguous_list_get_length: 3 - tasm_list_new___void_pointer: 23 - tasm_memory_dyn_malloc: 16 - tasm_list_set_length___void_pointer: 5 - tasm_list_contiguous_list_get_pointer_list_loop: 55 - tasm_list_set_element___void_pointer: 6 - tasm_list_set_element___void_pointer: 6 - tasm_list_higher_order_u32_map_tasm_neptune_transaction_hash_utxo: 445 - tasm_list_length___void_pointer: 3 - tasm_list_new___digest: 23 - tasm_memory_dyn_malloc: 16 - tasm_list_set_length___digest: 5 - tasm_list_higher_order_u32_map_tasm_neptune_transaction_hash_utxo_loop: 403 - tasm_list_get_element___void_pointer: 11 - tasm_neptune_transaction_hash_utxo: 166 - tasm_hashing_algebraic_hasher_hash_varlen: 158 - tasm_hashing_absorb_multiple: 144 - tasm_hashing_absorb_multiple_hash_all_full_chunks: 17 - tasm_hashing_absorb_multiple_pad_varnum_zeros: 5 - tasm_hashing_absorb_multiple_read_remainder: 86 - tasm_list_set_element___digest: 8 - tasm_list_get_element___void_pointer: 11 - tasm_neptune_transaction_hash_utxo: 166 - tasm_hashing_algebraic_hasher_hash_varlen: 158 - tasm_hashing_absorb_multiple: 144 - tasm_hashing_absorb_multiple_hash_all_full_chunks: 17 - tasm_hashing_absorb_multiple_pad_varnum_zeros: 5 - tasm_hashing_absorb_multiple_read_remainder: 86 - tasm_list_set_element___digest: 8 - tasm_list_contiguous_list_get_pointer_list: 101 - tasm_list_contiguous_list_get_length: 3 - tasm_list_new___void_pointer: 23 - tasm_memory_dyn_malloc: 16 - tasm_list_set_length___void_pointer: 5 - tasm_list_contiguous_list_get_pointer_list_loop: 55 - tasm_list_set_element___void_pointer: 6 - tasm_list_set_element___void_pointer: 6 - tasm_list_higher_order_u32_zip_digest_with_void_pointer: 289 - tasm_list_length___digest: 3 - tasm_list_length___void_pointer: 3 - tasm_list_new___tuple_Ldigest___void_pointerR: 23 - tasm_memory_dyn_malloc: 16 - tasm_list_set_length___tuple_Ldigest___void_pointerR: 5 - tasm_list_higher_order_u32_zip_digest_with_void_pointer_loop: 239 - tasm_memory_memcpy: 38 - tasm_memory_memcpy_loop_cpy5_words: 5 - tasm_memory_memcpy_cpy1_word: 9 - tasm_memory_memcpy: 43 - tasm_memory_memcpy_loop_cpy5_words: 20 - tasm_memory_memcpy: 38 - tasm_memory_memcpy_loop_cpy5_words: 5 - tasm_memory_memcpy_cpy1_word: 9 - tasm_memory_memcpy: 43 - tasm_memory_memcpy_loop_cpy5_words: 20 - tasm_list_higher_order_u32_map_tasm_neptune_transaction_compute_indices: 11243 - tasm_list_length___tuple_Ldigest___void_pointerR: 3 - tasm_list_new___void_pointer: 23 - tasm_memory_dyn_malloc: 16 - tasm_list_set_length___void_pointer: 5 - tasm_list_higher_order_u32_map_tasm_neptune_transaction_compute_indices_loop: 11201 - tasm_list_get_element___tuple_Ldigest___void_pointerR: 14 - tasm_neptune_transaction_compute_indices: 5564 - tasm_memory_push_ram_to_stack___u64: 5 - tasm_memory_push_ram_to_stack___digest: 5 - tasm_memory_push_ram_to_stack___digest: 5 - tasm_neptune_mutator_get_swbf_indices_1048576_45: 5452 - tasm_arithmetic_u128_shift_right_static_3: 24 - tasm_arithmetic_u128_shift_left_static_12: 22 - tasm_hashing_algebraic_hasher_sample_indices: 2766 - tasm_list_new___u32: 23 - tasm_memory_dyn_malloc: 16 - tasm_hashing_algebraic_hasher_sample_indices_main_loop: 2734 - tasm_list_length___u32: 3 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_else_drop_tip: 5 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_else_drop_tip: 5 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_else_drop_tip: 5 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_else_drop_tip: 5 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_else_drop_tip: 5 - tasm_list_length___u32: 3 - tasm_list_higher_order_u32_map_u32_to_u128_add_another_u128: 2612 - tasm_list_length___u32: 3 - tasm_list_new___u128: 23 - tasm_memory_dyn_malloc: 16 - tasm_list_set_length___u128: 5 - tasm_list_higher_order_u32_map_u32_to_u128_add_another_u128_loop: 2570 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_set_element___void_pointer: 6 - tasm_list_get_element___tuple_Ldigest___void_pointerR: 14 - tasm_neptune_transaction_compute_indices: 5564 - tasm_memory_push_ram_to_stack___u64: 5 - tasm_memory_push_ram_to_stack___digest: 5 - tasm_memory_push_ram_to_stack___digest: 5 - tasm_neptune_mutator_get_swbf_indices_1048576_45: 5452 - tasm_arithmetic_u128_shift_right_static_3: 24 - tasm_arithmetic_u128_shift_left_static_12: 22 - tasm_hashing_algebraic_hasher_sample_indices: 2766 - tasm_list_new___u32: 23 - tasm_memory_dyn_malloc: 16 - tasm_hashing_algebraic_hasher_sample_indices_main_loop: 2734 - tasm_list_length___u32: 3 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 34 - tasm_list_push___u32: 18 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_else_drop_tip: 5 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_else_drop_tip: 5 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_else_drop_tip: 5 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_else_drop_tip: 5 - tasm_list_length___u32: 3 - tasm_hashing_algebraic_hasher_sample_indices_else_drop_tip: 5 - tasm_list_length___u32: 3 - tasm_list_higher_order_u32_map_u32_to_u128_add_another_u128: 2612 - tasm_list_length___u32: 3 - tasm_list_new___u128: 23 - tasm_memory_dyn_malloc: 16 - tasm_list_set_length___u128: 5 - tasm_list_higher_order_u32_map_u32_to_u128_add_another_u128_loop: 2570 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_get_element___u32: 11 - u32_to_u128_add_another_u128: 24 - tasm_list_set_element___u128: 8 - tasm_list_set_element___void_pointer: 6 - tasm_list_higher_order_u32_map_tasm_neptune_transaction_hash_index_list: 889 - tasm_list_length___void_pointer: 3 - tasm_list_new___digest: 23 - tasm_memory_dyn_malloc: 16 - tasm_list_set_length___digest: 5 - tasm_list_higher_order_u32_map_tasm_neptune_transaction_hash_index_list_loop: 847 - tasm_list_get_element___void_pointer: 11 - tasm_neptune_transaction_hash_index_list: 388 - tasm_hashing_algebraic_hasher_hash_varlen: 380 - tasm_hashing_absorb_multiple: 366 - tasm_hashing_absorb_multiple_hash_all_full_chunks: 221 - tasm_hashing_absorb_multiple_pad_varnum_zeros: 104 - tasm_hashing_absorb_multiple_read_remainder: 5 - tasm_list_set_element___digest: 8 - tasm_list_get_element___void_pointer: 11 - tasm_neptune_transaction_hash_index_list: 388 - tasm_hashing_algebraic_hasher_hash_varlen: 380 - tasm_hashing_absorb_multiple: 366 - tasm_hashing_absorb_multiple_hash_all_full_chunks: 221 - tasm_hashing_absorb_multiple_pad_varnum_zeros: 104 - tasm_hashing_absorb_multiple_read_remainder: 5 - tasm_list_set_element___digest: 8 - tasm_list_contiguous_list_get_pointer_list: 101 - tasm_list_contiguous_list_get_length: 3 - tasm_list_new___void_pointer: 23 - tasm_memory_dyn_malloc: 16 - tasm_list_set_length___void_pointer: 5 - tasm_list_contiguous_list_get_pointer_list_loop: 55 - tasm_list_set_element___void_pointer: 6 - tasm_list_set_element___void_pointer: 6 - tasm_list_higher_order_u32_map_tasm_neptune_transaction_hash_removal_record_indices: 893 - tasm_list_length___void_pointer: 3 - tasm_list_new___digest: 23 - tasm_memory_dyn_malloc: 16 - tasm_list_set_length___digest: 5 - tasm_list_higher_order_u32_map_tasm_neptune_transaction_hash_removal_record_indices_loop: 851 - tasm_list_get_element___void_pointer: 11 - tasm_neptune_transaction_hash_removal_record_indices: 390 - tasm_hashing_algebraic_hasher_hash_varlen: 380 - tasm_hashing_absorb_multiple: 366 - tasm_hashing_absorb_multiple_hash_all_full_chunks: 221 - tasm_hashing_absorb_multiple_pad_varnum_zeros: 104 - tasm_hashing_absorb_multiple_read_remainder: 5 - tasm_list_set_element___digest: 8 - tasm_list_get_element___void_pointer: 11 - tasm_neptune_transaction_hash_removal_record_indices: 390 - tasm_hashing_algebraic_hasher_hash_varlen: 380 - tasm_hashing_absorb_multiple: 366 - tasm_hashing_absorb_multiple_hash_all_full_chunks: 221 - tasm_hashing_absorb_multiple_pad_varnum_zeros: 104 - tasm_hashing_absorb_multiple_read_remainder: 5 - tasm_list_set_element___digest: 8 - tasm_list_multiset_equality: 553 - tasm_list_length___digest: 3 - tasm_list_length___digest: 3 - tasm_list_multiset_equality_continue: 532 - tasm_hashing_algebraic_hasher_hash_varlen: 176 - tasm_hashing_absorb_multiple: 162 - tasm_hashing_absorb_multiple_hash_all_full_chunks: 17 - tasm_hashing_absorb_multiple_pad_varnum_zeros: 104 - tasm_hashing_absorb_multiple_read_remainder: 5 - tasm_hashing_algebraic_hasher_hash_varlen: 176 - tasm_hashing_absorb_multiple: 162 - tasm_hashing_absorb_multiple_hash_all_full_chunks: 17 - tasm_hashing_absorb_multiple_pad_varnum_zeros: 104 - tasm_hashing_absorb_multiple_read_remainder: 5 - tasm_list_multiset_equality_running_product: 71 - tasm_list_multiset_equality_running_product_loop: 57 - tasm_list_multiset_equality_running_product: 71 - tasm_list_multiset_equality_running_product_loop: 57 - tasm_list_higher_order_u32_map_tasm_neptune_transaction_compute_commitment: 307 - tasm_list_length___tuple_Ldigest___void_pointerR: 3 - tasm_list_new___tuple_Lvoid_pointer___digestR: 23 - tasm_memory_dyn_malloc: 16 - tasm_list_set_length___tuple_Lvoid_pointer___digestR: 5 - tasm_list_higher_order_u32_map_tasm_neptune_transaction_compute_commitment_loop: 265 - tasm_list_get_element___tuple_Ldigest___void_pointerR: 14 - tasm_neptune_transaction_compute_commitment: 93 - tasm_memory_push_ram_to_stack___digest: 5 - tasm_memory_push_ram_to_stack___digest: 5 - tasm_neptune_mutator_set_commit: 3 - tasm_list_set_element___tuple_Lvoid_pointer___digestR: 9 - tasm_list_get_element___tuple_Ldigest___void_pointerR: 14 - tasm_neptune_transaction_compute_commitment: 93 - tasm_memory_push_ram_to_stack___digest: 5 - tasm_memory_push_ram_to_stack___digest: 5 - tasm_neptune_mutator_set_commit: 3 - tasm_list_set_element___tuple_Lvoid_pointer___digestR: 9 - tasm_list_higher_order_u32_all_tasm_neptune_transaction_verify_aocl_membership: 9761 - tasm_list_length___tuple_Lvoid_pointer___digestR: 3 - tasm_list_higher_order_u32_all_tasm_neptune_transaction_verify_aocl_membership_loop: 9751 - tasm_list_get_element___tuple_Lvoid_pointer___digestR: 14 - tasm_neptune_transaction_verify_aocl_membership: 4829 - tasm_mmr_verify_from_memory: 4756 - tasm_mmr_leaf_index_to_mt_index_and_peak_index: 124 - tasm_arithmetic_u64_lt: 6 - tasm_arithmetic_u64_xor: 5 - tasm_arithmetic_u64_log_2_floor: 15 - tasm_arithmetic_u64_log_2_floor_then: 8 - tasm_arithmetic_u64_pow2: 4 - tasm_arithmetic_u64_decr: 19 - tasm_arithmetic_u64_decr_carry: 11 - tasm_arithmetic_u64_and: 5 - tasm_arithmetic_u64_add: 14 - tasm_arithmetic_u64_popcount: 5 - tasm_arithmetic_u64_and: 5 - tasm_arithmetic_u64_popcount: 5 - tasm_mmr_verify_from_memory_while: 4576 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_hashing_swap_digest: 14 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_hashing_swap_digest: 14 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_hashing_swap_digest: 14 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_hashing_swap_digest: 14 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_hashing_swap_digest: 14 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_hashing_swap_digest: 14 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_hashing_swap_digest: 14 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_hashing_swap_digest: 14 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_hashing_swap_digest: 14 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_hashing_swap_digest: 14 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_hashing_swap_digest: 14 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_hashing_swap_digest: 14 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_hashing_swap_digest: 14 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_hashing_swap_digest: 14 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_hashing_swap_digest: 14 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_hashing_swap_digest: 14 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_hashing_swap_digest: 14 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_hashing_swap_digest: 14 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_hashing_swap_digest: 14 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_hashing_swap_digest: 14 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_hashing_swap_digest: 14 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_hashing_swap_digest: 14 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_hashing_swap_digest: 14 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_hashing_swap_digest: 14 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_hashing_swap_digest: 14 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_hashing_swap_digest: 14 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_hashing_swap_digest: 14 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_hashing_eq_digest: 15 - tasm_list_get_element___tuple_Lvoid_pointer___digestR: 14 - tasm_neptune_transaction_verify_aocl_membership: 4859 - tasm_mmr_verify_from_memory: 4786 - tasm_mmr_leaf_index_to_mt_index_and_peak_index: 124 - tasm_arithmetic_u64_lt: 6 - tasm_arithmetic_u64_xor: 5 - tasm_arithmetic_u64_log_2_floor: 15 - tasm_arithmetic_u64_log_2_floor_then: 8 - tasm_arithmetic_u64_pow2: 4 - tasm_arithmetic_u64_decr: 19 - tasm_arithmetic_u64_decr_carry: 11 - tasm_arithmetic_u64_and: 5 - tasm_arithmetic_u64_add: 14 - tasm_arithmetic_u64_popcount: 5 - tasm_arithmetic_u64_and: 5 - tasm_arithmetic_u64_popcount: 5 - tasm_mmr_verify_from_memory_while: 4606 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_hashing_swap_digest: 14 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_hashing_swap_digest: 14 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_hashing_swap_digest: 14 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_hashing_swap_digest: 14 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_hashing_swap_digest: 14 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_hashing_swap_digest: 14 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_hashing_swap_digest: 14 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_hashing_swap_digest: 14 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_hashing_swap_digest: 14 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_hashing_swap_digest: 14 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_hashing_swap_digest: 14 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_hashing_swap_digest: 14 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_hashing_swap_digest: 14 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_hashing_swap_digest: 14 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_hashing_swap_digest: 14 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_hashing_swap_digest: 14 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_hashing_swap_digest: 14 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_hashing_swap_digest: 14 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_hashing_swap_digest: 14 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_hashing_swap_digest: 14 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_hashing_swap_digest: 14 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_hashing_swap_digest: 14 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_hashing_swap_digest: 14 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_hashing_swap_digest: 14 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_hashing_swap_digest: 14 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_hashing_swap_digest: 14 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_hashing_swap_digest: 14 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_hashing_swap_digest: 14 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_arithmetic_u32_isodd: 6 - tasm_hashing_swap_digest: 14 - tasm_arithmetic_u64_div2: 14 - tasm_arithmetic_u64_eq: 6 - tasm_list_get_element___digest: 13 - tasm_hashing_eq_digest: 15 - total: 30848 + tasm_neptune_transaction_transaction_kernel_mast_hash: 12 + tasmlib_list_new___digest: 14 + tasmlib_memory_dyn_malloc: 15 + tasmlib_memory_dyn_malloc_initialize: 23 + tasmlib_list_set_length___digest: 43 + tasmlib_hashing_algebraic_hasher_hash_varlen: 89 + tasmlib_hashing_absorb_multiple: 91 + tasmlib_hashing_absorb_multiple_hash_all_full_chunks: 111 + tasmlib_hashing_absorb_multiple_pad_varnum_zeros: 3075 + tasmlib_hashing_absorb_multiple_read_remainder: 3174 + tasmlib_list_set_element___digest: 3206 + tasmlib_hashing_algebraic_hasher_hash_varlen: 3248 + tasmlib_hashing_absorb_multiple: 3250 + tasmlib_hashing_absorb_multiple_hash_all_full_chunks: 3270 + tasmlib_hashing_absorb_multiple_pad_varnum_zeros: 3294 + tasmlib_hashing_absorb_multiple_read_remainder: 3393 + tasmlib_list_set_element___digest: 3425 + tasmlib_hashing_algebraic_hasher_hash_varlen: 3460 + tasmlib_hashing_absorb_multiple: 3462 + tasmlib_hashing_absorb_multiple_hash_all_full_chunks: 3482 + tasmlib_hashing_absorb_multiple_pad_varnum_zeros: 3542 + tasmlib_hashing_absorb_multiple_read_remainder: 3652 + tasmlib_list_set_element___digest: 3675 + tasmlib_hashing_algebraic_hasher_hash_varlen: 3697 + tasmlib_hashing_absorb_multiple: 3699 + tasmlib_hashing_absorb_multiple_hash_all_full_chunks: 3719 + tasmlib_hashing_absorb_multiple_pad_varnum_zeros: 3731 + tasmlib_hashing_absorb_multiple_read_remainder: 3797 + tasmlib_list_set_element___digest: 3856 + tasmlib_hashing_algebraic_hasher_hash_varlen: 3882 + tasmlib_hashing_absorb_multiple: 3884 + tasmlib_hashing_absorb_multiple_hash_all_full_chunks: 3904 + tasmlib_hashing_absorb_multiple_pad_varnum_zeros: 3916 + tasmlib_hashing_absorb_multiple_read_remainder: 3971 + tasmlib_list_set_element___digest: 4039 + tasmlib_hashing_algebraic_hasher_hash_varlen: 4052 + tasmlib_hashing_absorb_multiple: 4054 + tasmlib_hashing_absorb_multiple_hash_all_full_chunks: 4074 + tasmlib_hashing_absorb_multiple_pad_varnum_zeros: 4086 + tasmlib_hashing_absorb_multiple_read_remainder: 4185 + tasmlib_list_set_element___digest: 4217 + tasmlib_hashing_algebraic_hasher_hash_varlen: 4228 + tasmlib_hashing_absorb_multiple: 4230 + tasmlib_hashing_absorb_multiple_hash_all_full_chunks: 4250 + tasmlib_hashing_absorb_multiple_pad_varnum_zeros: 4262 + tasmlib_hashing_absorb_multiple_read_remainder: 4317 + tasmlib_list_set_element___digest: 4385 + tasmlib_list_set_element___digest: 4401 + tasmlib_list_get_element___digest: 4412 + tasmlib_list_get_element___digest: 4428 + tasmlib_list_set_element___digest: 4445 + tasmlib_list_get_element___digest: 4456 + tasmlib_list_get_element___digest: 4472 + tasmlib_list_set_element___digest: 4489 + tasmlib_list_get_element___digest: 4500 + tasmlib_list_get_element___digest: 4516 + tasmlib_list_set_element___digest: 4533 + tasmlib_list_get_element___digest: 4544 + tasmlib_list_get_element___digest: 4560 + tasmlib_list_set_element___digest: 4577 + tasmlib_list_get_element___digest: 4588 + tasmlib_list_get_element___digest: 4604 + tasmlib_list_set_element___digest: 4621 + tasmlib_list_get_element___digest: 4632 + tasmlib_list_get_element___digest: 4648 + tasmlib_list_set_element___digest: 4665 + tasmlib_list_get_element___digest: 4676 + tasmlib_list_get_element___digest: 4692 + tasmlib_list_set_element___digest: 4709 + tasmlib_list_get_element___digest: 4721 + tasmlib_memory_push_ram_to_stack___digest: 4754 + tasmlib_mmr_bag_peaks: 4789 + tasmlib_list_length___digest: 4791 + tasmlib_mmr_bag_peaks_length_is_not_zero: 4801 + tasmlib_mmr_bag_peaks_length_is_not_zero_or_one: 4808 + tasmlib_list_get_element___digest: 4813 + tasmlib_list_get_element___digest: 4831 + tasmlib_mmr_bag_peaks_loop: 4850 + tasmlib_list_get_element___digest: 4861 + tasmlib_mmr_bag_peaks: 4927 + tasmlib_list_length___digest: 4929 + tasmlib_mmr_bag_peaks_length_is_not_zero: 4939 + tasmlib_mmr_bag_peaks_length_is_not_zero_or_one: 4946 + tasmlib_list_get_element___digest: 4951 + tasmlib_list_get_element___digest: 4969 + tasmlib_mmr_bag_peaks_loop: 4988 + tasmlib_list_get_element___digest: 4999 + tasmlib_list_get_element___digest: 5025 + tasmlib_list_get_element___digest: 5051 + tasmlib_list_get_element___digest: 5077 + tasmlib_list_get_element___digest: 5103 + tasmlib_list_get_element___digest: 5129 + tasmlib_list_get_element___digest: 5155 + tasmlib_list_get_element___digest: 5181 + tasmlib_list_get_element___digest: 5207 + tasmlib_list_get_element___digest: 5233 + tasmlib_list_get_element___digest: 5259 + tasmlib_list_get_element___digest: 5285 + tasmlib_list_get_element___digest: 5311 + tasmlib_list_get_element___digest: 5337 + tasmlib_list_get_element___digest: 5363 + tasmlib_list_get_element___digest: 5389 + tasmlib_list_get_element___digest: 5415 + tasmlib_list_get_element___digest: 5441 + tasmlib_list_get_element___digest: 5467 + tasmlib_list_get_element___digest: 5493 + tasmlib_list_get_element___digest: 5519 + tasmlib_list_get_element___digest: 5545 + tasmlib_list_get_element___digest: 5571 + tasmlib_list_get_element___digest: 5597 + tasmlib_list_get_element___digest: 5623 + tasmlib_list_get_element___digest: 5649 + tasmlib_list_get_element___digest: 5675 + tasmlib_list_get_element___digest: 5701 + tasmlib_list_get_element___digest: 5727 + tasmlib_list_get_element___digest: 5753 + tasmlib_list_get_element___digest: 5779 + tasmlib_list_get_element___digest: 5805 + tasmlib_list_get_element___digest: 5831 + tasmlib_list_get_element___digest: 5857 + tasmlib_list_get_element___digest: 5883 + tasmlib_list_get_element___digest: 5909 + tasmlib_list_get_element___digest: 5935 + tasmlib_memory_push_ram_to_stack___digest: 5971 + tasmlib_list_contiguous_list_get_pointer_list: 6019 + tasmlib_list_contiguous_list_get_length: 6021 + tasmlib_list_new___void_pointer: 6025 + tasmlib_memory_dyn_malloc: 6026 + tasmlib_list_set_length___void_pointer: 6050 + tasmlib_list_contiguous_list_get_pointer_list_loop: 6061 + tasmlib_list_set_element___void_pointer: 6072 + tasmlib_list_set_element___void_pointer: 6097 + tasmlib_list_higher_order_u32_map_tasm_neptune_transaction_hash_utxo: 6121 + tasmlib_list_new___digest: 6128 + tasmlib_memory_dyn_malloc: 6129 + tasmlib_list_higher_order_u32_map_tasm_neptune_transaction_hash_utxo_loop: 6164 + tasm_neptune_transaction_hash_utxo: 6173 + tasmlib_hashing_algebraic_hasher_hash_varlen: 6180 + tasmlib_hashing_absorb_multiple: 6182 + tasmlib_hashing_absorb_multiple_hash_all_full_chunks: 6202 + tasmlib_hashing_absorb_multiple_pad_varnum_zeros: 6226 + tasmlib_hashing_absorb_multiple_read_remainder: 6237 + tasm_neptune_transaction_hash_utxo: 6355 + tasmlib_hashing_algebraic_hasher_hash_varlen: 6362 + tasmlib_hashing_absorb_multiple: 6364 + tasmlib_hashing_absorb_multiple_hash_all_full_chunks: 6384 + tasmlib_hashing_absorb_multiple_pad_varnum_zeros: 6408 + tasmlib_hashing_absorb_multiple_read_remainder: 6419 + tasmlib_list_contiguous_list_get_pointer_list: 6573 + tasmlib_list_contiguous_list_get_length: 6575 + tasmlib_list_new___void_pointer: 6579 + tasmlib_memory_dyn_malloc: 6580 + tasmlib_list_set_length___void_pointer: 6604 + tasmlib_list_contiguous_list_get_pointer_list_loop: 6615 + tasmlib_list_set_element___void_pointer: 6626 + tasmlib_list_set_element___void_pointer: 6651 + tasmlib_list_higher_order_u32_zip_digest_with_void_pointer: 6675 + tasmlib_list_new___tuple_Ldigest___void_pointerR: 6685 + tasmlib_memory_dyn_malloc: 6686 + tasmlib_list_higher_order_u32_zip_digest_with_void_pointer_loop: 6727 + tasmlib_list_higher_order_u32_map_tasm_neptune_transaction_compute_indices: 6782 + tasmlib_list_new___void_pointer: 6791 + tasmlib_memory_dyn_malloc: 6792 + tasmlib_list_higher_order_u32_map_tasm_neptune_transaction_compute_indices_loop: 6823 + tasm_neptune_transaction_compute_indices: 6833 + tasmlib_memory_push_ram_to_stack___u64: 6896 + tasmlib_memory_push_ram_to_stack___digest: 6909 + tasmlib_memory_push_ram_to_stack___digest: 6917 + tasmlib_neptune_mutator_get_swbf_indices_1048576_45: 6944 + tasmlib_arithmetic_u128_shift_right_static_3: 6962 + tasmlib_arithmetic_u128_shift_left_static_12: 6987 + tasmlib_hashing_algebraic_hasher_sample_indices: 7012 + tasmlib_list_new___u32: 7013 + tasmlib_memory_dyn_malloc: 7014 + tasmlib_hashing_algebraic_hasher_sample_indices_main_loop: 7041 + tasmlib_list_length___u32: 7043 + tasmlib_list_length___u32: 7055 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 7074 + tasmlib_list_push___u32: 7088 + tasmlib_list_length___u32: 7111 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 7130 + tasmlib_list_push___u32: 7144 + tasmlib_list_length___u32: 7167 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 7186 + tasmlib_list_push___u32: 7200 + tasmlib_list_length___u32: 7223 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 7242 + tasmlib_list_push___u32: 7256 + tasmlib_list_length___u32: 7279 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 7298 + tasmlib_list_push___u32: 7312 + tasmlib_list_length___u32: 7335 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 7354 + tasmlib_list_push___u32: 7368 + tasmlib_list_length___u32: 7391 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 7410 + tasmlib_list_push___u32: 7424 + tasmlib_list_length___u32: 7447 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 7466 + tasmlib_list_push___u32: 7480 + tasmlib_list_length___u32: 7503 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 7522 + tasmlib_list_push___u32: 7536 + tasmlib_list_length___u32: 7559 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 7578 + tasmlib_list_push___u32: 7592 + tasmlib_list_length___u32: 7617 + tasmlib_list_length___u32: 7629 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 7648 + tasmlib_list_push___u32: 7662 + tasmlib_list_length___u32: 7685 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 7704 + tasmlib_list_push___u32: 7718 + tasmlib_list_length___u32: 7741 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 7760 + tasmlib_list_push___u32: 7774 + tasmlib_list_length___u32: 7797 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 7816 + tasmlib_list_push___u32: 7830 + tasmlib_list_length___u32: 7853 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 7872 + tasmlib_list_push___u32: 7886 + tasmlib_list_length___u32: 7909 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 7928 + tasmlib_list_push___u32: 7942 + tasmlib_list_length___u32: 7965 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 7984 + tasmlib_list_push___u32: 7998 + tasmlib_list_length___u32: 8021 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 8040 + tasmlib_list_push___u32: 8054 + tasmlib_list_length___u32: 8077 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 8096 + tasmlib_list_push___u32: 8110 + tasmlib_list_length___u32: 8133 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 8152 + tasmlib_list_push___u32: 8166 + tasmlib_list_length___u32: 8191 + tasmlib_list_length___u32: 8203 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 8222 + tasmlib_list_push___u32: 8236 + tasmlib_list_length___u32: 8259 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 8278 + tasmlib_list_push___u32: 8292 + tasmlib_list_length___u32: 8315 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 8334 + tasmlib_list_push___u32: 8348 + tasmlib_list_length___u32: 8371 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 8390 + tasmlib_list_push___u32: 8404 + tasmlib_list_length___u32: 8427 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 8446 + tasmlib_list_push___u32: 8460 + tasmlib_list_length___u32: 8483 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 8502 + tasmlib_list_push___u32: 8516 + tasmlib_list_length___u32: 8539 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 8558 + tasmlib_list_push___u32: 8572 + tasmlib_list_length___u32: 8595 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 8614 + tasmlib_list_push___u32: 8628 + tasmlib_list_length___u32: 8651 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 8670 + tasmlib_list_push___u32: 8684 + tasmlib_list_length___u32: 8707 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 8726 + tasmlib_list_push___u32: 8740 + tasmlib_list_length___u32: 8765 + tasmlib_list_length___u32: 8777 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 8796 + tasmlib_list_push___u32: 8810 + tasmlib_list_length___u32: 8833 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 8852 + tasmlib_list_push___u32: 8866 + tasmlib_list_length___u32: 8889 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 8908 + tasmlib_list_push___u32: 8922 + tasmlib_list_length___u32: 8945 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 8964 + tasmlib_list_push___u32: 8978 + tasmlib_list_length___u32: 9001 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 9020 + tasmlib_list_push___u32: 9034 + tasmlib_list_length___u32: 9057 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 9076 + tasmlib_list_push___u32: 9090 + tasmlib_list_length___u32: 9113 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 9132 + tasmlib_list_push___u32: 9146 + tasmlib_list_length___u32: 9169 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 9188 + tasmlib_list_push___u32: 9202 + tasmlib_list_length___u32: 9225 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 9244 + tasmlib_list_push___u32: 9258 + tasmlib_list_length___u32: 9281 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 9300 + tasmlib_list_push___u32: 9314 + tasmlib_list_length___u32: 9339 + tasmlib_list_length___u32: 9351 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 9370 + tasmlib_list_push___u32: 9384 + tasmlib_list_length___u32: 9407 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 9426 + tasmlib_list_push___u32: 9440 + tasmlib_list_length___u32: 9463 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 9482 + tasmlib_list_push___u32: 9496 + tasmlib_list_length___u32: 9519 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 9538 + tasmlib_list_push___u32: 9552 + tasmlib_list_length___u32: 9575 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 9594 + tasmlib_list_push___u32: 9608 + tasmlib_list_length___u32: 9631 + tasmlib_hashing_algebraic_hasher_sample_indices_else_drop_tip: 9651 + tasmlib_list_length___u32: 9658 + tasmlib_hashing_algebraic_hasher_sample_indices_else_drop_tip: 9678 + tasmlib_list_length___u32: 9685 + tasmlib_hashing_algebraic_hasher_sample_indices_else_drop_tip: 9705 + tasmlib_list_length___u32: 9712 + tasmlib_hashing_algebraic_hasher_sample_indices_else_drop_tip: 9732 + tasmlib_list_length___u32: 9739 + tasmlib_hashing_algebraic_hasher_sample_indices_else_drop_tip: 9759 + tasmlib_list_length___u32: 9768 + tasmlib_list_higher_order_u32_map_u32_to_u128_add_another_u128: 9779 + tasmlib_list_new___u128: 9786 + tasmlib_memory_dyn_malloc: 9787 + tasmlib_list_higher_order_u32_map_u32_to_u128_add_another_u128_loop: 9822 + tasm_neptune_transaction_compute_indices: 11566 + tasmlib_memory_push_ram_to_stack___u64: 11629 + tasmlib_memory_push_ram_to_stack___digest: 11642 + tasmlib_memory_push_ram_to_stack___digest: 11650 + tasmlib_neptune_mutator_get_swbf_indices_1048576_45: 11677 + tasmlib_arithmetic_u128_shift_right_static_3: 11695 + tasmlib_arithmetic_u128_shift_left_static_12: 11720 + tasmlib_hashing_algebraic_hasher_sample_indices: 11745 + tasmlib_list_new___u32: 11746 + tasmlib_memory_dyn_malloc: 11747 + tasmlib_hashing_algebraic_hasher_sample_indices_main_loop: 11774 + tasmlib_list_length___u32: 11776 + tasmlib_list_length___u32: 11788 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 11807 + tasmlib_list_push___u32: 11821 + tasmlib_list_length___u32: 11844 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 11863 + tasmlib_list_push___u32: 11877 + tasmlib_list_length___u32: 11900 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 11919 + tasmlib_list_push___u32: 11933 + tasmlib_list_length___u32: 11956 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 11975 + tasmlib_list_push___u32: 11989 + tasmlib_list_length___u32: 12012 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 12031 + tasmlib_list_push___u32: 12045 + tasmlib_list_length___u32: 12068 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 12087 + tasmlib_list_push___u32: 12101 + tasmlib_list_length___u32: 12124 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 12143 + tasmlib_list_push___u32: 12157 + tasmlib_list_length___u32: 12180 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 12199 + tasmlib_list_push___u32: 12213 + tasmlib_list_length___u32: 12236 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 12255 + tasmlib_list_push___u32: 12269 + tasmlib_list_length___u32: 12292 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 12311 + tasmlib_list_push___u32: 12325 + tasmlib_list_length___u32: 12350 + tasmlib_list_length___u32: 12362 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 12381 + tasmlib_list_push___u32: 12395 + tasmlib_list_length___u32: 12418 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 12437 + tasmlib_list_push___u32: 12451 + tasmlib_list_length___u32: 12474 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 12493 + tasmlib_list_push___u32: 12507 + tasmlib_list_length___u32: 12530 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 12549 + tasmlib_list_push___u32: 12563 + tasmlib_list_length___u32: 12586 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 12605 + tasmlib_list_push___u32: 12619 + tasmlib_list_length___u32: 12642 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 12661 + tasmlib_list_push___u32: 12675 + tasmlib_list_length___u32: 12698 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 12717 + tasmlib_list_push___u32: 12731 + tasmlib_list_length___u32: 12754 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 12773 + tasmlib_list_push___u32: 12787 + tasmlib_list_length___u32: 12810 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 12829 + tasmlib_list_push___u32: 12843 + tasmlib_list_length___u32: 12866 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 12885 + tasmlib_list_push___u32: 12899 + tasmlib_list_length___u32: 12924 + tasmlib_list_length___u32: 12936 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 12955 + tasmlib_list_push___u32: 12969 + tasmlib_list_length___u32: 12992 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 13011 + tasmlib_list_push___u32: 13025 + tasmlib_list_length___u32: 13048 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 13067 + tasmlib_list_push___u32: 13081 + tasmlib_list_length___u32: 13104 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 13123 + tasmlib_list_push___u32: 13137 + tasmlib_list_length___u32: 13160 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 13179 + tasmlib_list_push___u32: 13193 + tasmlib_list_length___u32: 13216 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 13235 + tasmlib_list_push___u32: 13249 + tasmlib_list_length___u32: 13272 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 13291 + tasmlib_list_push___u32: 13305 + tasmlib_list_length___u32: 13328 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 13347 + tasmlib_list_push___u32: 13361 + tasmlib_list_length___u32: 13384 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 13403 + tasmlib_list_push___u32: 13417 + tasmlib_list_length___u32: 13440 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 13459 + tasmlib_list_push___u32: 13473 + tasmlib_list_length___u32: 13498 + tasmlib_list_length___u32: 13510 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 13529 + tasmlib_list_push___u32: 13543 + tasmlib_list_length___u32: 13566 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 13585 + tasmlib_list_push___u32: 13599 + tasmlib_list_length___u32: 13622 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 13641 + tasmlib_list_push___u32: 13655 + tasmlib_list_length___u32: 13678 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 13697 + tasmlib_list_push___u32: 13711 + tasmlib_list_length___u32: 13734 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 13753 + tasmlib_list_push___u32: 13767 + tasmlib_list_length___u32: 13790 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 13809 + tasmlib_list_push___u32: 13823 + tasmlib_list_length___u32: 13846 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 13865 + tasmlib_list_push___u32: 13879 + tasmlib_list_length___u32: 13902 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 13921 + tasmlib_list_push___u32: 13935 + tasmlib_list_length___u32: 13958 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 13977 + tasmlib_list_push___u32: 13991 + tasmlib_list_length___u32: 14014 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 14033 + tasmlib_list_push___u32: 14047 + tasmlib_list_length___u32: 14072 + tasmlib_list_length___u32: 14084 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 14103 + tasmlib_list_push___u32: 14117 + tasmlib_list_length___u32: 14140 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 14159 + tasmlib_list_push___u32: 14173 + tasmlib_list_length___u32: 14196 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 14215 + tasmlib_list_push___u32: 14229 + tasmlib_list_length___u32: 14252 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 14271 + tasmlib_list_push___u32: 14285 + tasmlib_list_length___u32: 14308 + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 14327 + tasmlib_list_push___u32: 14341 + tasmlib_list_length___u32: 14364 + tasmlib_hashing_algebraic_hasher_sample_indices_else_drop_tip: 14384 + tasmlib_list_length___u32: 14391 + tasmlib_hashing_algebraic_hasher_sample_indices_else_drop_tip: 14411 + tasmlib_list_length___u32: 14418 + tasmlib_hashing_algebraic_hasher_sample_indices_else_drop_tip: 14438 + tasmlib_list_length___u32: 14445 + tasmlib_hashing_algebraic_hasher_sample_indices_else_drop_tip: 14465 + tasmlib_list_length___u32: 14472 + tasmlib_hashing_algebraic_hasher_sample_indices_else_drop_tip: 14492 + tasmlib_list_length___u32: 14501 + tasmlib_list_higher_order_u32_map_u32_to_u128_add_another_u128: 14512 + tasmlib_list_new___u128: 14519 + tasmlib_memory_dyn_malloc: 14520 + tasmlib_list_higher_order_u32_map_u32_to_u128_add_another_u128_loop: 14555 + tasmlib_list_higher_order_u32_map_tasm_neptune_transaction_hash_index_list: 16299 + tasmlib_list_new___digest: 16306 + tasmlib_memory_dyn_malloc: 16307 + tasmlib_list_higher_order_u32_map_tasm_neptune_transaction_hash_index_list_loop: 16342 + tasm_neptune_transaction_hash_index_list: 16351 + tasmlib_hashing_algebraic_hasher_hash_varlen: 16358 + tasmlib_hashing_absorb_multiple: 16360 + tasmlib_hashing_absorb_multiple_hash_all_full_chunks: 16380 + tasmlib_hashing_absorb_multiple_pad_varnum_zeros: 16608 + tasmlib_hashing_absorb_multiple_read_remainder: 16718 + tasm_neptune_transaction_hash_index_list: 16755 + tasmlib_hashing_algebraic_hasher_hash_varlen: 16762 + tasmlib_hashing_absorb_multiple: 16764 + tasmlib_hashing_absorb_multiple_hash_all_full_chunks: 16784 + tasmlib_hashing_absorb_multiple_pad_varnum_zeros: 17012 + tasmlib_hashing_absorb_multiple_read_remainder: 17122 + tasmlib_list_contiguous_list_get_pointer_list: 17199 + tasmlib_list_contiguous_list_get_length: 17201 + tasmlib_list_new___void_pointer: 17205 + tasmlib_memory_dyn_malloc: 17206 + tasmlib_list_set_length___void_pointer: 17230 + tasmlib_list_contiguous_list_get_pointer_list_loop: 17241 + tasmlib_list_set_element___void_pointer: 17252 + tasmlib_list_set_element___void_pointer: 17277 + tasmlib_list_higher_order_u32_map_tasm_neptune_transaction_hash_removal_record_indices: 17301 + tasmlib_list_new___digest: 17308 + tasmlib_memory_dyn_malloc: 17309 + tasmlib_list_higher_order_u32_map_tasm_neptune_transaction_hash_removal_record_indices_loop: 17344 + tasm_neptune_transaction_hash_removal_record_indices: 17353 + tasmlib_hashing_algebraic_hasher_hash_varlen: 17362 + tasmlib_hashing_absorb_multiple: 17364 + tasmlib_hashing_absorb_multiple_hash_all_full_chunks: 17384 + tasmlib_hashing_absorb_multiple_pad_varnum_zeros: 17612 + tasmlib_hashing_absorb_multiple_read_remainder: 17722 + tasm_neptune_transaction_hash_removal_record_indices: 17759 + tasmlib_hashing_algebraic_hasher_hash_varlen: 17768 + tasmlib_hashing_absorb_multiple: 17770 + tasmlib_hashing_absorb_multiple_hash_all_full_chunks: 17790 + tasmlib_hashing_absorb_multiple_pad_varnum_zeros: 18018 + tasmlib_hashing_absorb_multiple_read_remainder: 18128 + tasmlib_list_multiset_equality: 18168 + tasmlib_list_length___digest: 18171 + tasmlib_list_length___digest: 18176 + tasmlib_list_multiset_equality_continue: 18188 + tasmlib_hashing_algebraic_hasher_hash_varlen: 18195 + tasmlib_hashing_absorb_multiple: 18197 + tasmlib_hashing_absorb_multiple_hash_all_full_chunks: 18217 + tasmlib_hashing_absorb_multiple_pad_varnum_zeros: 18241 + tasmlib_hashing_absorb_multiple_read_remainder: 18351 + tasmlib_hashing_algebraic_hasher_hash_varlen: 18378 + tasmlib_hashing_absorb_multiple: 18380 + tasmlib_hashing_absorb_multiple_hash_all_full_chunks: 18400 + tasmlib_hashing_absorb_multiple_pad_varnum_zeros: 18424 + tasmlib_hashing_absorb_multiple_read_remainder: 18534 + tasmlib_list_multiset_equality_running_product: 18557 + tasmlib_list_multiset_equality_running_product_loop: 18565 + tasmlib_list_multiset_equality_running_product: 18634 + tasmlib_list_multiset_equality_running_product_loop: 18642 + tasmlib_list_higher_order_u32_map_tasm_neptune_transaction_compute_commitment: 18781 + tasmlib_list_new___tuple_Lvoid_pointer___digestR: 18790 + tasmlib_memory_dyn_malloc: 18791 + tasmlib_list_higher_order_u32_map_tasm_neptune_transaction_compute_commitment_loop: 18826 + tasm_neptune_transaction_compute_commitment: 18836 + tasmlib_memory_push_ram_to_stack___digest: 18885 + tasmlib_memory_push_ram_to_stack___digest: 18902 + tasmlib_neptune_mutator_set_commit: 18925 + tasm_neptune_transaction_compute_commitment: 18947 + tasmlib_memory_push_ram_to_stack___digest: 18996 + tasmlib_memory_push_ram_to_stack___digest: 19013 + tasmlib_neptune_mutator_set_commit: 19036 + tasmlib_list_higher_order_u32_all_tasm_neptune_transaction_verify_aocl_membership: 19060 + tasmlib_list_length___tuple_Lvoid_pointer___digestR: 19064 + tasmlib_list_higher_order_u32_all_tasm_neptune_transaction_verify_aocl_membership_loop: 19068 + tasmlib_list_get_element___tuple_Lvoid_pointer___digestR: 19077 + tasm_neptune_transaction_verify_aocl_membership: 19092 + tasmlib_mmr_verify_from_memory: 19160 + tasmlib_mmr_leaf_index_to_mt_index_and_peak_index: 19165 + tasmlib_arithmetic_u64_lt: 19166 + tasmlib_arithmetic_u64_xor: 19178 + tasmlib_arithmetic_u64_log_2_floor: 19184 + tasmlib_arithmetic_u64_log_2_floor_then: 19189 + tasmlib_arithmetic_u64_pow2: 19200 + tasmlib_arithmetic_u64_decr: 19209 + tasmlib_arithmetic_u64_decr_carry: 19216 + tasmlib_arithmetic_u64_and: 19233 + tasmlib_arithmetic_u64_add: 19241 + tasmlib_arithmetic_u64_popcount: 19262 + tasmlib_arithmetic_u64_and: 19270 + tasmlib_arithmetic_u64_popcount: 19276 + tasmlib_mmr_verify_from_memory_while: 19300 + tasmlib_arithmetic_u64_eq: 19305 + tasmlib_list_get_element___digest: 19315 + tasmlib_arithmetic_u32_isodd: 19330 + tasmlib_arithmetic_u64_div2: 19348 + tasmlib_arithmetic_u64_eq: 19371 + tasmlib_list_get_element___digest: 19381 + tasmlib_arithmetic_u32_isodd: 19396 + tasmlib_arithmetic_u64_div2: 19414 + tasmlib_arithmetic_u64_eq: 19437 + tasmlib_list_get_element___digest: 19447 + tasmlib_arithmetic_u32_isodd: 19462 + tasmlib_arithmetic_u64_div2: 19480 + tasmlib_arithmetic_u64_eq: 19503 + tasmlib_list_get_element___digest: 19513 + tasmlib_arithmetic_u32_isodd: 19528 + tasmlib_hashing_swap_digest: 19538 + tasmlib_arithmetic_u64_div2: 19561 + tasmlib_arithmetic_u64_eq: 19584 + tasmlib_list_get_element___digest: 19594 + tasmlib_arithmetic_u32_isodd: 19609 + tasmlib_hashing_swap_digest: 19619 + tasmlib_arithmetic_u64_div2: 19642 + tasmlib_arithmetic_u64_eq: 19665 + tasmlib_list_get_element___digest: 19675 + tasmlib_arithmetic_u32_isodd: 19690 + tasmlib_hashing_swap_digest: 19700 + tasmlib_arithmetic_u64_div2: 19723 + tasmlib_arithmetic_u64_eq: 19746 + tasmlib_list_get_element___digest: 19756 + tasmlib_arithmetic_u32_isodd: 19771 + tasmlib_arithmetic_u64_div2: 19789 + tasmlib_arithmetic_u64_eq: 19812 + tasmlib_list_get_element___digest: 19822 + tasmlib_arithmetic_u32_isodd: 19837 + tasmlib_hashing_swap_digest: 19847 + tasmlib_arithmetic_u64_div2: 19870 + tasmlib_arithmetic_u64_eq: 19893 + tasmlib_list_get_element___digest: 19903 + tasmlib_arithmetic_u32_isodd: 19918 + tasmlib_arithmetic_u64_div2: 19936 + tasmlib_arithmetic_u64_eq: 19959 + tasmlib_list_get_element___digest: 19969 + tasmlib_arithmetic_u32_isodd: 19984 + tasmlib_hashing_swap_digest: 19994 + tasmlib_arithmetic_u64_div2: 20017 + tasmlib_arithmetic_u64_eq: 20040 + tasmlib_list_get_element___digest: 20050 + tasmlib_arithmetic_u32_isodd: 20065 + tasmlib_hashing_swap_digest: 20075 + tasmlib_arithmetic_u64_div2: 20098 + tasmlib_arithmetic_u64_eq: 20121 + tasmlib_list_get_element___digest: 20131 + tasmlib_arithmetic_u32_isodd: 20146 + tasmlib_arithmetic_u64_div2: 20164 + tasmlib_arithmetic_u64_eq: 20187 + tasmlib_list_get_element___digest: 20197 + tasmlib_arithmetic_u32_isodd: 20212 + tasmlib_arithmetic_u64_div2: 20230 + tasmlib_arithmetic_u64_eq: 20253 + tasmlib_list_get_element___digest: 20263 + tasmlib_arithmetic_u32_isodd: 20278 + tasmlib_arithmetic_u64_div2: 20296 + tasmlib_arithmetic_u64_eq: 20319 + tasmlib_list_get_element___digest: 20329 + tasmlib_arithmetic_u32_isodd: 20344 + tasmlib_hashing_swap_digest: 20354 + tasmlib_arithmetic_u64_div2: 20377 + tasmlib_arithmetic_u64_eq: 20400 + tasmlib_list_get_element___digest: 20410 + tasmlib_arithmetic_u32_isodd: 20425 + tasmlib_arithmetic_u64_div2: 20443 + tasmlib_arithmetic_u64_eq: 20466 + tasmlib_list_get_element___digest: 20476 + tasmlib_arithmetic_u32_isodd: 20491 + tasmlib_arithmetic_u64_div2: 20509 + tasmlib_arithmetic_u64_eq: 20532 + tasmlib_list_get_element___digest: 20542 + tasmlib_arithmetic_u32_isodd: 20557 + tasmlib_arithmetic_u64_div2: 20575 + tasmlib_arithmetic_u64_eq: 20598 + tasmlib_list_get_element___digest: 20608 + tasmlib_arithmetic_u32_isodd: 20623 + tasmlib_arithmetic_u64_div2: 20641 + tasmlib_arithmetic_u64_eq: 20664 + tasmlib_list_get_element___digest: 20674 + tasmlib_arithmetic_u32_isodd: 20689 + tasmlib_arithmetic_u64_div2: 20707 + tasmlib_arithmetic_u64_eq: 20730 + tasmlib_list_get_element___digest: 20740 + tasmlib_arithmetic_u32_isodd: 20755 + tasmlib_arithmetic_u64_div2: 20773 + tasmlib_arithmetic_u64_eq: 20796 + tasmlib_list_get_element___digest: 20806 + tasmlib_arithmetic_u32_isodd: 20821 + tasmlib_hashing_swap_digest: 20831 + tasmlib_arithmetic_u64_div2: 20854 + tasmlib_arithmetic_u64_eq: 20877 + tasmlib_list_get_element___digest: 20887 + tasmlib_arithmetic_u32_isodd: 20902 + tasmlib_arithmetic_u64_div2: 20920 + tasmlib_arithmetic_u64_eq: 20943 + tasmlib_list_get_element___digest: 20953 + tasmlib_arithmetic_u32_isodd: 20968 + tasmlib_arithmetic_u64_div2: 20986 + tasmlib_arithmetic_u64_eq: 21009 + tasmlib_list_get_element___digest: 21019 + tasmlib_arithmetic_u32_isodd: 21034 + tasmlib_hashing_swap_digest: 21044 + tasmlib_arithmetic_u64_div2: 21067 + tasmlib_arithmetic_u64_eq: 21090 + tasmlib_list_get_element___digest: 21100 + tasmlib_arithmetic_u32_isodd: 21115 + tasmlib_hashing_swap_digest: 21125 + tasmlib_arithmetic_u64_div2: 21148 + tasmlib_arithmetic_u64_eq: 21171 + tasmlib_list_get_element___digest: 21181 + tasmlib_arithmetic_u32_isodd: 21196 + tasmlib_hashing_swap_digest: 21206 + tasmlib_arithmetic_u64_div2: 21229 + tasmlib_arithmetic_u64_eq: 21252 + tasmlib_list_get_element___digest: 21262 + tasmlib_arithmetic_u32_isodd: 21277 + tasmlib_arithmetic_u64_div2: 21295 + tasmlib_arithmetic_u64_eq: 21318 + tasmlib_list_get_element___digest: 21328 + tasmlib_arithmetic_u32_isodd: 21343 + tasmlib_arithmetic_u64_div2: 21361 + tasmlib_arithmetic_u64_eq: 21384 + tasmlib_list_get_element___digest: 21394 + tasmlib_arithmetic_u32_isodd: 21409 + tasmlib_hashing_swap_digest: 21419 + tasmlib_arithmetic_u64_div2: 21442 + tasmlib_arithmetic_u64_eq: 21465 + tasmlib_list_get_element___digest: 21475 + tasmlib_arithmetic_u32_isodd: 21490 + tasmlib_hashing_swap_digest: 21500 + tasmlib_arithmetic_u64_div2: 21523 + tasmlib_arithmetic_u64_eq: 21546 + tasmlib_list_get_element___digest: 21556 + tasmlib_arithmetic_u32_isodd: 21571 + tasmlib_arithmetic_u64_div2: 21589 + tasmlib_arithmetic_u64_eq: 21612 + tasmlib_list_get_element___digest: 21622 + tasmlib_arithmetic_u32_isodd: 21637 + tasmlib_hashing_swap_digest: 21647 + tasmlib_arithmetic_u64_div2: 21670 + tasmlib_arithmetic_u64_eq: 21693 + tasmlib_list_get_element___digest: 21703 + tasmlib_arithmetic_u32_isodd: 21718 + tasmlib_arithmetic_u64_div2: 21736 + tasmlib_arithmetic_u64_eq: 21759 + tasmlib_list_get_element___digest: 21769 + tasmlib_arithmetic_u32_isodd: 21784 + tasmlib_arithmetic_u64_div2: 21802 + tasmlib_arithmetic_u64_eq: 21825 + tasmlib_list_get_element___digest: 21835 + tasmlib_arithmetic_u32_isodd: 21850 + tasmlib_arithmetic_u64_div2: 21868 + tasmlib_arithmetic_u64_eq: 21891 + tasmlib_list_get_element___digest: 21901 + tasmlib_arithmetic_u32_isodd: 21916 + tasmlib_arithmetic_u64_div2: 21934 + tasmlib_arithmetic_u64_eq: 21957 + tasmlib_list_get_element___digest: 21967 + tasmlib_arithmetic_u32_isodd: 21982 + tasmlib_hashing_swap_digest: 21992 + tasmlib_arithmetic_u64_div2: 22015 + tasmlib_arithmetic_u64_eq: 22038 + tasmlib_list_get_element___digest: 22048 + tasmlib_arithmetic_u32_isodd: 22063 + tasmlib_arithmetic_u64_div2: 22081 + tasmlib_arithmetic_u64_eq: 22104 + tasmlib_list_get_element___digest: 22114 + tasmlib_arithmetic_u32_isodd: 22129 + tasmlib_arithmetic_u64_div2: 22147 + tasmlib_arithmetic_u64_eq: 22170 + tasmlib_list_get_element___digest: 22180 + tasmlib_arithmetic_u32_isodd: 22195 + tasmlib_arithmetic_u64_div2: 22213 + tasmlib_arithmetic_u64_eq: 22236 + tasmlib_list_get_element___digest: 22246 + tasmlib_arithmetic_u32_isodd: 22261 + tasmlib_arithmetic_u64_div2: 22279 + tasmlib_arithmetic_u64_eq: 22302 + tasmlib_list_get_element___digest: 22312 + tasmlib_arithmetic_u32_isodd: 22327 + tasmlib_hashing_swap_digest: 22337 + tasmlib_arithmetic_u64_div2: 22360 + tasmlib_arithmetic_u64_eq: 22383 + tasmlib_list_get_element___digest: 22393 + tasmlib_arithmetic_u32_isodd: 22408 + tasmlib_hashing_swap_digest: 22418 + tasmlib_arithmetic_u64_div2: 22441 + tasmlib_arithmetic_u64_eq: 22464 + tasmlib_list_get_element___digest: 22474 + tasmlib_arithmetic_u32_isodd: 22489 + tasmlib_hashing_swap_digest: 22499 + tasmlib_arithmetic_u64_div2: 22522 + tasmlib_arithmetic_u64_eq: 22545 + tasmlib_list_get_element___digest: 22555 + tasmlib_arithmetic_u32_isodd: 22570 + tasmlib_hashing_swap_digest: 22580 + tasmlib_arithmetic_u64_div2: 22603 + tasmlib_arithmetic_u64_eq: 22626 + tasmlib_list_get_element___digest: 22636 + tasmlib_arithmetic_u32_isodd: 22651 + tasmlib_hashing_swap_digest: 22661 + tasmlib_arithmetic_u64_div2: 22684 + tasmlib_arithmetic_u64_eq: 22707 + tasmlib_list_get_element___digest: 22717 + tasmlib_arithmetic_u32_isodd: 22732 + tasmlib_hashing_swap_digest: 22742 + tasmlib_arithmetic_u64_div2: 22765 + tasmlib_arithmetic_u64_eq: 22788 + tasmlib_list_get_element___digest: 22798 + tasmlib_arithmetic_u32_isodd: 22813 + tasmlib_arithmetic_u64_div2: 22831 + tasmlib_arithmetic_u64_eq: 22854 + tasmlib_list_get_element___digest: 22864 + tasmlib_arithmetic_u32_isodd: 22879 + tasmlib_hashing_swap_digest: 22889 + tasmlib_arithmetic_u64_div2: 22912 + tasmlib_arithmetic_u64_eq: 22935 + tasmlib_list_get_element___digest: 22945 + tasmlib_arithmetic_u32_isodd: 22960 + tasmlib_hashing_swap_digest: 22970 + tasmlib_arithmetic_u64_div2: 22993 + tasmlib_arithmetic_u64_eq: 23016 + tasmlib_list_get_element___digest: 23026 + tasmlib_arithmetic_u32_isodd: 23041 + tasmlib_hashing_swap_digest: 23051 + tasmlib_arithmetic_u64_div2: 23074 + tasmlib_arithmetic_u64_eq: 23097 + tasmlib_list_get_element___digest: 23107 + tasmlib_arithmetic_u32_isodd: 23122 + tasmlib_arithmetic_u64_div2: 23140 + tasmlib_arithmetic_u64_eq: 23163 + tasmlib_list_get_element___digest: 23173 + tasmlib_arithmetic_u32_isodd: 23188 + tasmlib_arithmetic_u64_div2: 23206 + tasmlib_arithmetic_u64_eq: 23229 + tasmlib_list_get_element___digest: 23239 + tasmlib_arithmetic_u32_isodd: 23254 + tasmlib_hashing_swap_digest: 23264 + tasmlib_arithmetic_u64_div2: 23287 + tasmlib_arithmetic_u64_eq: 23310 + tasmlib_list_get_element___digest: 23320 + tasmlib_arithmetic_u32_isodd: 23335 + tasmlib_hashing_swap_digest: 23345 + tasmlib_arithmetic_u64_div2: 23368 + tasmlib_arithmetic_u64_eq: 23391 + tasmlib_list_get_element___digest: 23401 + tasmlib_arithmetic_u32_isodd: 23416 + tasmlib_arithmetic_u64_div2: 23434 + tasmlib_arithmetic_u64_eq: 23457 + tasmlib_list_get_element___digest: 23467 + tasmlib_arithmetic_u32_isodd: 23482 + tasmlib_arithmetic_u64_div2: 23500 + tasmlib_arithmetic_u64_eq: 23523 + tasmlib_list_get_element___digest: 23533 + tasmlib_arithmetic_u32_isodd: 23548 + tasmlib_arithmetic_u64_div2: 23566 + tasmlib_arithmetic_u64_eq: 23589 + tasmlib_list_get_element___digest: 23599 + tasmlib_arithmetic_u32_isodd: 23614 + tasmlib_arithmetic_u64_div2: 23632 + tasmlib_arithmetic_u64_eq: 23655 + tasmlib_list_get_element___digest: 23665 + tasmlib_arithmetic_u32_isodd: 23680 + tasmlib_hashing_swap_digest: 23690 + tasmlib_arithmetic_u64_div2: 23713 + tasmlib_arithmetic_u64_eq: 23736 + tasmlib_list_get_element___digest: 23746 + tasmlib_arithmetic_u32_isodd: 23761 + tasmlib_arithmetic_u64_div2: 23779 + tasmlib_arithmetic_u64_eq: 23802 + tasmlib_list_get_element___digest: 23812 + tasmlib_arithmetic_u32_isodd: 23827 + tasmlib_arithmetic_u64_div2: 23845 + tasmlib_arithmetic_u64_eq: 23868 + tasmlib_list_get_element___digest: 23879 + tasmlib_hashing_eq_digest: 23893 + tasmlib_list_get_element___tuple_Lvoid_pointer___digestR: 23935 + tasm_neptune_transaction_verify_aocl_membership: 23950 + tasmlib_mmr_verify_from_memory: 24018 + tasmlib_mmr_leaf_index_to_mt_index_and_peak_index: 24023 + tasmlib_arithmetic_u64_lt: 24024 + tasmlib_arithmetic_u64_xor: 24036 + tasmlib_arithmetic_u64_log_2_floor: 24042 + tasmlib_arithmetic_u64_log_2_floor_then: 24047 + tasmlib_arithmetic_u64_pow2: 24058 + tasmlib_arithmetic_u64_decr: 24067 + tasmlib_arithmetic_u64_decr_carry: 24074 + tasmlib_arithmetic_u64_and: 24091 + tasmlib_arithmetic_u64_add: 24099 + tasmlib_arithmetic_u64_popcount: 24120 + tasmlib_arithmetic_u64_and: 24128 + tasmlib_arithmetic_u64_popcount: 24134 + tasmlib_mmr_verify_from_memory_while: 24158 + tasmlib_arithmetic_u64_eq: 24163 + tasmlib_list_get_element___digest: 24173 + tasmlib_arithmetic_u32_isodd: 24188 + tasmlib_hashing_swap_digest: 24198 + tasmlib_arithmetic_u64_div2: 24221 + tasmlib_arithmetic_u64_eq: 24244 + tasmlib_list_get_element___digest: 24254 + tasmlib_arithmetic_u32_isodd: 24269 + tasmlib_hashing_swap_digest: 24279 + tasmlib_arithmetic_u64_div2: 24302 + tasmlib_arithmetic_u64_eq: 24325 + tasmlib_list_get_element___digest: 24335 + tasmlib_arithmetic_u32_isodd: 24350 + tasmlib_hashing_swap_digest: 24360 + tasmlib_arithmetic_u64_div2: 24383 + tasmlib_arithmetic_u64_eq: 24406 + tasmlib_list_get_element___digest: 24416 + tasmlib_arithmetic_u32_isodd: 24431 + tasmlib_arithmetic_u64_div2: 24449 + tasmlib_arithmetic_u64_eq: 24472 + tasmlib_list_get_element___digest: 24482 + tasmlib_arithmetic_u32_isodd: 24497 + tasmlib_hashing_swap_digest: 24507 + tasmlib_arithmetic_u64_div2: 24530 + tasmlib_arithmetic_u64_eq: 24553 + tasmlib_list_get_element___digest: 24563 + tasmlib_arithmetic_u32_isodd: 24578 + tasmlib_hashing_swap_digest: 24588 + tasmlib_arithmetic_u64_div2: 24611 + tasmlib_arithmetic_u64_eq: 24634 + tasmlib_list_get_element___digest: 24644 + tasmlib_arithmetic_u32_isodd: 24659 + tasmlib_arithmetic_u64_div2: 24677 + tasmlib_arithmetic_u64_eq: 24700 + tasmlib_list_get_element___digest: 24710 + tasmlib_arithmetic_u32_isodd: 24725 + tasmlib_hashing_swap_digest: 24735 + tasmlib_arithmetic_u64_div2: 24758 + tasmlib_arithmetic_u64_eq: 24781 + tasmlib_list_get_element___digest: 24791 + tasmlib_arithmetic_u32_isodd: 24806 + tasmlib_hashing_swap_digest: 24816 + tasmlib_arithmetic_u64_div2: 24839 + tasmlib_arithmetic_u64_eq: 24862 + tasmlib_list_get_element___digest: 24872 + tasmlib_arithmetic_u32_isodd: 24887 + tasmlib_arithmetic_u64_div2: 24905 + tasmlib_arithmetic_u64_eq: 24928 + tasmlib_list_get_element___digest: 24938 + tasmlib_arithmetic_u32_isodd: 24953 + tasmlib_arithmetic_u64_div2: 24971 + tasmlib_arithmetic_u64_eq: 24994 + tasmlib_list_get_element___digest: 25004 + tasmlib_arithmetic_u32_isodd: 25019 + tasmlib_hashing_swap_digest: 25029 + tasmlib_arithmetic_u64_div2: 25052 + tasmlib_arithmetic_u64_eq: 25075 + tasmlib_list_get_element___digest: 25085 + tasmlib_arithmetic_u32_isodd: 25100 + tasmlib_arithmetic_u64_div2: 25118 + tasmlib_arithmetic_u64_eq: 25141 + tasmlib_list_get_element___digest: 25151 + tasmlib_arithmetic_u32_isodd: 25166 + tasmlib_hashing_swap_digest: 25176 + tasmlib_arithmetic_u64_div2: 25199 + tasmlib_arithmetic_u64_eq: 25222 + tasmlib_list_get_element___digest: 25232 + tasmlib_arithmetic_u32_isodd: 25247 + tasmlib_arithmetic_u64_div2: 25265 + tasmlib_arithmetic_u64_eq: 25288 + tasmlib_list_get_element___digest: 25298 + tasmlib_arithmetic_u32_isodd: 25313 + tasmlib_arithmetic_u64_div2: 25331 + tasmlib_arithmetic_u64_eq: 25354 + tasmlib_list_get_element___digest: 25364 + tasmlib_arithmetic_u32_isodd: 25379 + tasmlib_arithmetic_u64_div2: 25397 + tasmlib_arithmetic_u64_eq: 25420 + tasmlib_list_get_element___digest: 25430 + tasmlib_arithmetic_u32_isodd: 25445 + tasmlib_arithmetic_u64_div2: 25463 + tasmlib_arithmetic_u64_eq: 25486 + tasmlib_list_get_element___digest: 25496 + tasmlib_arithmetic_u32_isodd: 25511 + tasmlib_hashing_swap_digest: 25521 + tasmlib_arithmetic_u64_div2: 25544 + tasmlib_arithmetic_u64_eq: 25567 + tasmlib_list_get_element___digest: 25577 + tasmlib_arithmetic_u32_isodd: 25592 + tasmlib_arithmetic_u64_div2: 25610 + tasmlib_arithmetic_u64_eq: 25633 + tasmlib_list_get_element___digest: 25643 + tasmlib_arithmetic_u32_isodd: 25658 + tasmlib_arithmetic_u64_div2: 25676 + tasmlib_arithmetic_u64_eq: 25699 + tasmlib_list_get_element___digest: 25709 + tasmlib_arithmetic_u32_isodd: 25724 + tasmlib_arithmetic_u64_div2: 25742 + tasmlib_arithmetic_u64_eq: 25765 + tasmlib_list_get_element___digest: 25775 + tasmlib_arithmetic_u32_isodd: 25790 + tasmlib_hashing_swap_digest: 25800 + tasmlib_arithmetic_u64_div2: 25823 + tasmlib_arithmetic_u64_eq: 25846 + tasmlib_list_get_element___digest: 25856 + tasmlib_arithmetic_u32_isodd: 25871 + tasmlib_arithmetic_u64_div2: 25889 + tasmlib_arithmetic_u64_eq: 25912 + tasmlib_list_get_element___digest: 25922 + tasmlib_arithmetic_u32_isodd: 25937 + tasmlib_arithmetic_u64_div2: 25955 + tasmlib_arithmetic_u64_eq: 25978 + tasmlib_list_get_element___digest: 25988 + tasmlib_arithmetic_u32_isodd: 26003 + tasmlib_arithmetic_u64_div2: 26021 + tasmlib_arithmetic_u64_eq: 26044 + tasmlib_list_get_element___digest: 26054 + tasmlib_arithmetic_u32_isodd: 26069 + tasmlib_arithmetic_u64_div2: 26087 + tasmlib_arithmetic_u64_eq: 26110 + tasmlib_list_get_element___digest: 26120 + tasmlib_arithmetic_u32_isodd: 26135 + tasmlib_hashing_swap_digest: 26145 + tasmlib_arithmetic_u64_div2: 26168 + tasmlib_arithmetic_u64_eq: 26191 + tasmlib_list_get_element___digest: 26201 + tasmlib_arithmetic_u32_isodd: 26216 + tasmlib_arithmetic_u64_div2: 26234 + tasmlib_arithmetic_u64_eq: 26257 + tasmlib_list_get_element___digest: 26267 + tasmlib_arithmetic_u32_isodd: 26282 + tasmlib_arithmetic_u64_div2: 26300 + tasmlib_arithmetic_u64_eq: 26323 + tasmlib_list_get_element___digest: 26333 + tasmlib_arithmetic_u32_isodd: 26348 + tasmlib_arithmetic_u64_div2: 26366 + tasmlib_arithmetic_u64_eq: 26389 + tasmlib_list_get_element___digest: 26399 + tasmlib_arithmetic_u32_isodd: 26414 + tasmlib_hashing_swap_digest: 26424 + tasmlib_arithmetic_u64_div2: 26447 + tasmlib_arithmetic_u64_eq: 26470 + tasmlib_list_get_element___digest: 26480 + tasmlib_arithmetic_u32_isodd: 26495 + tasmlib_arithmetic_u64_div2: 26513 + tasmlib_arithmetic_u64_eq: 26536 + tasmlib_list_get_element___digest: 26546 + tasmlib_arithmetic_u32_isodd: 26561 + tasmlib_arithmetic_u64_div2: 26579 + tasmlib_arithmetic_u64_eq: 26602 + tasmlib_list_get_element___digest: 26612 + tasmlib_arithmetic_u32_isodd: 26627 + tasmlib_hashing_swap_digest: 26637 + tasmlib_arithmetic_u64_div2: 26660 + tasmlib_arithmetic_u64_eq: 26683 + tasmlib_list_get_element___digest: 26693 + tasmlib_arithmetic_u32_isodd: 26708 + tasmlib_arithmetic_u64_div2: 26726 + tasmlib_arithmetic_u64_eq: 26749 + tasmlib_list_get_element___digest: 26759 + tasmlib_arithmetic_u32_isodd: 26774 + tasmlib_arithmetic_u64_div2: 26792 + tasmlib_arithmetic_u64_eq: 26815 + tasmlib_list_get_element___digest: 26825 + tasmlib_arithmetic_u32_isodd: 26840 + tasmlib_arithmetic_u64_div2: 26858 + tasmlib_arithmetic_u64_eq: 26881 + tasmlib_list_get_element___digest: 26891 + tasmlib_arithmetic_u32_isodd: 26906 + tasmlib_hashing_swap_digest: 26916 + tasmlib_arithmetic_u64_div2: 26939 + tasmlib_arithmetic_u64_eq: 26962 + tasmlib_list_get_element___digest: 26972 + tasmlib_arithmetic_u32_isodd: 26987 + tasmlib_arithmetic_u64_div2: 27005 + tasmlib_arithmetic_u64_eq: 27028 + tasmlib_list_get_element___digest: 27038 + tasmlib_arithmetic_u32_isodd: 27053 + tasmlib_hashing_swap_digest: 27063 + tasmlib_arithmetic_u64_div2: 27086 + tasmlib_arithmetic_u64_eq: 27109 + tasmlib_list_get_element___digest: 27119 + tasmlib_arithmetic_u32_isodd: 27134 + tasmlib_hashing_swap_digest: 27144 + tasmlib_arithmetic_u64_div2: 27167 + tasmlib_arithmetic_u64_eq: 27190 + tasmlib_list_get_element___digest: 27200 + tasmlib_arithmetic_u32_isodd: 27215 + tasmlib_hashing_swap_digest: 27225 + tasmlib_arithmetic_u64_div2: 27248 + tasmlib_arithmetic_u64_eq: 27271 + tasmlib_list_get_element___digest: 27281 + tasmlib_arithmetic_u32_isodd: 27296 + tasmlib_hashing_swap_digest: 27306 + tasmlib_arithmetic_u64_div2: 27329 + tasmlib_arithmetic_u64_eq: 27352 + tasmlib_list_get_element___digest: 27362 + tasmlib_arithmetic_u32_isodd: 27377 + tasmlib_hashing_swap_digest: 27387 + tasmlib_arithmetic_u64_div2: 27410 + tasmlib_arithmetic_u64_eq: 27433 + tasmlib_list_get_element___digest: 27443 + tasmlib_arithmetic_u32_isodd: 27458 + tasmlib_arithmetic_u64_div2: 27476 + tasmlib_arithmetic_u64_eq: 27499 + tasmlib_list_get_element___digest: 27509 + tasmlib_arithmetic_u32_isodd: 27524 + tasmlib_hashing_swap_digest: 27534 + tasmlib_arithmetic_u64_div2: 27557 + tasmlib_arithmetic_u64_eq: 27580 + tasmlib_list_get_element___digest: 27590 + tasmlib_arithmetic_u32_isodd: 27605 + tasmlib_arithmetic_u64_div2: 27623 + tasmlib_arithmetic_u64_eq: 27646 + tasmlib_list_get_element___digest: 27656 + tasmlib_arithmetic_u32_isodd: 27671 + tasmlib_hashing_swap_digest: 27681 + tasmlib_arithmetic_u64_div2: 27704 + tasmlib_arithmetic_u64_eq: 27727 + tasmlib_list_get_element___digest: 27737 + tasmlib_arithmetic_u32_isodd: 27752 + tasmlib_arithmetic_u64_div2: 27770 + tasmlib_arithmetic_u64_eq: 27793 + tasmlib_list_get_element___digest: 27803 + tasmlib_arithmetic_u32_isodd: 27818 + tasmlib_hashing_swap_digest: 27828 + tasmlib_arithmetic_u64_div2: 27851 + tasmlib_arithmetic_u64_eq: 27874 + tasmlib_list_get_element___digest: 27884 + tasmlib_arithmetic_u32_isodd: 27899 + tasmlib_hashing_swap_digest: 27909 + tasmlib_arithmetic_u64_div2: 27932 + tasmlib_arithmetic_u64_eq: 27955 + tasmlib_list_get_element___digest: 27965 + tasmlib_arithmetic_u32_isodd: 27980 + tasmlib_hashing_swap_digest: 27990 + tasmlib_arithmetic_u64_div2: 28013 + tasmlib_arithmetic_u64_eq: 28036 + tasmlib_list_get_element___digest: 28046 + tasmlib_arithmetic_u32_isodd: 28061 + tasmlib_hashing_swap_digest: 28071 + tasmlib_arithmetic_u64_div2: 28094 + tasmlib_arithmetic_u64_eq: 28117 + tasmlib_list_get_element___digest: 28127 + tasmlib_arithmetic_u32_isodd: 28142 + tasmlib_arithmetic_u64_div2: 28160 + tasmlib_arithmetic_u64_eq: 28183 + tasmlib_list_get_element___digest: 28193 + tasmlib_arithmetic_u32_isodd: 28208 + tasmlib_hashing_swap_digest: 28218 + tasmlib_arithmetic_u64_div2: 28241 + tasmlib_arithmetic_u64_eq: 28264 + tasmlib_list_get_element___digest: 28274 + tasmlib_arithmetic_u32_isodd: 28289 + tasmlib_arithmetic_u64_div2: 28307 + tasmlib_arithmetic_u64_eq: 28330 + tasmlib_list_get_element___digest: 28340 + tasmlib_arithmetic_u32_isodd: 28355 + tasmlib_arithmetic_u64_div2: 28373 + tasmlib_arithmetic_u64_eq: 28396 + tasmlib_list_get_element___digest: 28406 + tasmlib_arithmetic_u32_isodd: 28421 + tasmlib_arithmetic_u64_div2: 28439 + tasmlib_arithmetic_u64_eq: 28462 + tasmlib_list_get_element___digest: 28472 + tasmlib_arithmetic_u32_isodd: 28487 + tasmlib_arithmetic_u64_div2: 28505 + tasmlib_arithmetic_u64_eq: 28528 + tasmlib_list_get_element___digest: 28538 + tasmlib_arithmetic_u32_isodd: 28553 + tasmlib_arithmetic_u64_div2: 28571 + tasmlib_arithmetic_u64_eq: 28594 + tasmlib_list_get_element___digest: 28604 + tasmlib_arithmetic_u32_isodd: 28619 + tasmlib_hashing_swap_digest: 28629 + tasmlib_arithmetic_u64_div2: 28652 + tasmlib_arithmetic_u64_eq: 28675 + tasmlib_list_get_element___digest: 28685 + tasmlib_arithmetic_u32_isodd: 28700 + tasmlib_hashing_swap_digest: 28710 + tasmlib_arithmetic_u64_div2: 28733 + tasmlib_arithmetic_u64_eq: 28756 + tasmlib_list_get_element___digest: 28767 + tasmlib_hashing_eq_digest: 28781 -# aggregated - tasm_neptune_transaction_transaction_kernel_mast_hash: 4723 (1) - tasm_list_new___digest: 96 (0.020326063) - tasm_memory_dyn_malloc: 164 (0.03472369) - tasm_memory_dyn_malloc_initialize: 3 (0.00063518947) - tasm_list_set_length___digest: 20 (0.0042345966) - tasm_hashing_algebraic_hasher_hash_varlen: 4126 (0.87359726) - tasm_hashing_absorb_multiple: 4028 (0.85284775) - tasm_hashing_absorb_multiple_hash_all_full_chunks: 3047 (0.6451408) - tasm_hashing_absorb_multiple_pad_varnum_zeros: 541 (0.11454584) - tasm_hashing_absorb_multiple_read_remainder: 188 (0.039805207) - tasm_list_set_element___digest: 120 (0.02540758) - tasm_list_get_element___digest: 195 (0.041287318) - tasm_memory_push_ram_to_stack___digest: 10 (0.0021172983) - tasm_mmr_bag_peaks: 1140 (0.241372) - tasm_list_length___digest: 15 (0.0031759476) - tasm_mmr_bag_peaks_length_is_not_zero: 1114 (0.23586704) - tasm_mmr_bag_peaks_length_is_not_zero_or_one: 1098 (0.23247936) - tasm_list_get_element___digest: 52 (0.011009951) - tasm_mmr_bag_peaks_loop: 998 (0.21130638) - tasm_list_get_element___digest: 520 (0.11009951) - tasm_list_contiguous_list_get_pointer_list: 303 (0.06415414) - tasm_list_contiguous_list_get_length: 9 (0.0019055685) - tasm_list_new___void_pointer: 92 (0.019479144) - tasm_list_set_length___void_pointer: 20 (0.0042345966) - tasm_list_contiguous_list_get_pointer_list_loop: 165 (0.034935422) - tasm_list_set_element___void_pointer: 48 (0.0101630315) - tasm_list_higher_order_u32_map_tasm_neptune_transaction_hash_utxo: 445 (0.094219774) - tasm_list_length___void_pointer: 12 (0.0025407579) - tasm_list_higher_order_u32_map_tasm_neptune_transaction_hash_utxo_loop: 403 (0.085327126) - tasm_list_get_element___void_pointer: 66 (0.013974169) - tasm_neptune_transaction_hash_utxo: 332 (0.070294306) - tasm_hashing_algebraic_hasher_hash_varlen: 1836 (0.38873598) - tasm_hashing_absorb_multiple: 1752 (0.37095067) - tasm_hashing_absorb_multiple_hash_all_full_chunks: 918 (0.19436799) - tasm_hashing_absorb_multiple_pad_varnum_zeros: 426 (0.09019691) - tasm_hashing_absorb_multiple_read_remainder: 192 (0.040652126) - tasm_list_set_element___digest: 48 (0.0101630315) - tasm_list_higher_order_u32_zip_digest_with_void_pointer: 289 (0.061189923) - tasm_list_new___tuple_Ldigest___void_pointerR: 23 (0.004869786) - tasm_list_set_length___tuple_Ldigest___void_pointerR: 5 (0.0010586492) - tasm_list_higher_order_u32_zip_digest_with_void_pointer_loop: 239 (0.05060343) - tasm_memory_memcpy: 162 (0.034300234) - tasm_memory_memcpy_loop_cpy5_words: 50 (0.010586492) - tasm_memory_memcpy_cpy1_word: 18 (0.003811137) - tasm_list_higher_order_u32_map_tasm_neptune_transaction_compute_indices: 11243 (2.3804786) - tasm_list_length___tuple_Ldigest___void_pointerR: 6 (0.0012703789) - tasm_list_higher_order_u32_map_tasm_neptune_transaction_compute_indices_loop: 11201 (2.3715858) - tasm_list_get_element___tuple_Ldigest___void_pointerR: 56 (0.011856871) - tasm_neptune_transaction_compute_indices: 11128 (2.3561296) - tasm_memory_push_ram_to_stack___u64: 10 (0.0021172983) - tasm_memory_push_ram_to_stack___digest: 40 (0.008469193) - tasm_neptune_mutator_get_swbf_indices_1048576_45: 10904 (2.308702) - tasm_arithmetic_u128_shift_right_static_3: 48 (0.0101630315) - tasm_arithmetic_u128_shift_left_static_12: 44 (0.009316113) - tasm_hashing_algebraic_hasher_sample_indices: 5532 (1.1712894) - tasm_list_new___u32: 46 (0.009739572) - tasm_memory_dyn_malloc: 64 (0.013550709) - tasm_hashing_algebraic_hasher_sample_indices_main_loop: 5468 (1.1577387) - tasm_list_length___u32: 336 (0.07114122) - tasm_hashing_algebraic_hasher_sample_indices_then_reduce_and_save: 3060 (0.6478933) - tasm_list_push___u32: 1620 (0.34300232) - tasm_hashing_algebraic_hasher_sample_indices_else_drop_tip: 50 (0.010586492) - tasm_list_higher_order_u32_map_u32_to_u128_add_another_u128: 5224 (1.1060766) - tasm_list_length___u32: 6 (0.0012703789) - tasm_list_new___u128: 46 (0.009739572) - tasm_list_set_length___u128: 10 (0.0021172983) - tasm_list_higher_order_u32_map_u32_to_u128_add_another_u128_loop: 5140 (1.0882913) - tasm_list_get_element___u32: 990 (0.20961253) - u32_to_u128_add_another_u128: 2160 (0.45733643) - tasm_list_set_element___u128: 720 (0.15244548) - tasm_list_higher_order_u32_map_tasm_neptune_transaction_hash_index_list: 889 (0.18822782) - tasm_list_higher_order_u32_map_tasm_neptune_transaction_hash_index_list_loop: 847 (0.17933516) - tasm_neptune_transaction_hash_index_list: 776 (0.16430235) - tasm_list_higher_order_u32_map_tasm_neptune_transaction_hash_removal_record_indices: 893 (0.18907474) - tasm_list_higher_order_u32_map_tasm_neptune_transaction_hash_removal_record_indices_loop: 851 (0.18018208) - tasm_neptune_transaction_hash_removal_record_indices: 780 (0.16514927) - tasm_list_multiset_equality: 553 (0.1170866) - tasm_list_multiset_equality_continue: 532 (0.11264027) - tasm_hashing_algebraic_hasher_hash_varlen: 352 (0.0745289) - tasm_hashing_absorb_multiple: 324 (0.06860047) - tasm_hashing_absorb_multiple_hash_all_full_chunks: 34 (0.0071988143) - tasm_hashing_absorb_multiple_pad_varnum_zeros: 208 (0.044039804) - tasm_hashing_absorb_multiple_read_remainder: 10 (0.0021172983) - tasm_list_multiset_equality_running_product: 142 (0.030065637) - tasm_list_multiset_equality_running_product_loop: 114 (0.0241372) - tasm_list_higher_order_u32_map_tasm_neptune_transaction_compute_commitment: 307 (0.065001056) - tasm_list_new___tuple_Lvoid_pointer___digestR: 23 (0.004869786) - tasm_list_set_length___tuple_Lvoid_pointer___digestR: 5 (0.0010586492) - tasm_list_higher_order_u32_map_tasm_neptune_transaction_compute_commitment_loop: 265 (0.056108404) - tasm_neptune_transaction_compute_commitment: 186 (0.03938175) - tasm_neptune_mutator_set_commit: 6 (0.0012703789) - tasm_list_set_element___tuple_Lvoid_pointer___digestR: 18 (0.003811137) - tasm_list_higher_order_u32_all_tasm_neptune_transaction_verify_aocl_membership: 9761 (2.066695) - tasm_list_length___tuple_Lvoid_pointer___digestR: 3 (0.00063518947) - tasm_list_higher_order_u32_all_tasm_neptune_transaction_verify_aocl_membership_loop: 9751 (2.0645776) - tasm_list_get_element___tuple_Lvoid_pointer___digestR: 28 (0.0059284354) - tasm_neptune_transaction_verify_aocl_membership: 9688 (2.0512385) - tasm_mmr_verify_from_memory: 9542 (2.0203261) - tasm_mmr_leaf_index_to_mt_index_and_peak_index: 248 (0.052509) - tasm_arithmetic_u64_lt: 12 (0.0025407579) - tasm_arithmetic_u64_xor: 10 (0.0021172983) - tasm_arithmetic_u64_log_2_floor: 30 (0.006351895) - tasm_arithmetic_u64_log_2_floor_then: 16 (0.0033876773) - tasm_arithmetic_u64_pow2: 8 (0.0016938386) - tasm_arithmetic_u64_decr: 38 (0.008045734) - tasm_arithmetic_u64_decr_carry: 22 (0.0046580564) - tasm_arithmetic_u64_and: 20 (0.0042345966) - tasm_arithmetic_u64_add: 28 (0.0059284354) - tasm_arithmetic_u64_popcount: 20 (0.0042345966) - tasm_mmr_verify_from_memory_while: 9182 (1.9441034) - tasm_arithmetic_u64_eq: 768 (0.1626085) - tasm_list_get_element___digest: 1638 (0.34681347) - tasm_arithmetic_u32_isodd: 756 (0.16006775) - tasm_arithmetic_u64_div2: 1764 (0.37349144) - tasm_hashing_swap_digest: 784 (0.1659962) - tasm_hashing_eq_digest: 30 (0.006351895) - total: 30848 (6.5314417) +# aggregated unsorted + tasm_neptune_transaction_transaction_kernel_mast_hash:, 12, 1; + tasmlib_list_new___digest:, 39756, 3313; + tasmlib_memory_dyn_malloc:, 101841, 8486.75; + tasmlib_memory_dyn_malloc_initialize:, 23, 1.9166666; + tasmlib_list_set_length___digest:, 43, 3.5833333; + tasmlib_hashing_algebraic_hasher_hash_varlen:, 22656, 1888; + tasmlib_hashing_absorb_multiple:, 22670, 1889.1666; + tasmlib_hashing_absorb_multiple_hash_all_full_chunks:, 22810, 1900.8334; + tasmlib_hashing_absorb_multiple_pad_varnum_zeros:, 25906, 2158.8333; + tasmlib_hashing_absorb_multiple_read_remainder:, 26489, 2207.4167; + tasmlib_list_set_element___digest:, 63243, 5270.25; + tasmlib_list_get_element___digest:, 68449, 5704.0835; + tasmlib_memory_push_ram_to_stack___digest:, 10725, 893.75; + tasmlib_mmr_bag_peaks:, 9716, 809.6667; + tasmlib_list_length___digest:, 46067, 3838.9167; + tasmlib_mmr_bag_peaks_length_is_not_zero:, 9740, 811.6667; + tasmlib_mmr_bag_peaks_length_is_not_zero_or_one:, 9754, 812.8333; + tasmlib_list_get_element___digest:, 19564, 1630.3334; + tasmlib_mmr_bag_peaks_loop:, 9838, 819.8333; + tasmlib_list_get_element___digest:, 259786, 21648.834; + tasmlib_list_contiguous_list_get_pointer_list:, 29791, 2482.5833; + tasmlib_list_contiguous_list_get_length:, 29797, 2483.0833; + tasmlib_list_new___void_pointer:, 36600, 3050; + tasmlib_list_set_length___void_pointer:, 29884, 2490.3333; + tasmlib_list_contiguous_list_get_pointer_list_loop:, 29917, 2493.0833; + tasmlib_list_set_element___void_pointer:, 59975, 4997.9165; + tasmlib_list_higher_order_u32_map_tasm_neptune_transaction_hash_utxo:, 6121, 510.08334; + tasmlib_list_higher_order_u32_map_tasm_neptune_transaction_hash_utxo_loop:, 6164, 513.6667; + tasm_neptune_transaction_hash_utxo:, 12528, 1044; + tasmlib_hashing_algebraic_hasher_hash_varlen:, 80792, 6732.6665; + tasmlib_hashing_absorb_multiple:, 80804, 6733.6665; + tasmlib_hashing_absorb_multiple_hash_all_full_chunks:, 80924, 6743.6665; + tasmlib_hashing_absorb_multiple_pad_varnum_zeros:, 81884, 6823.6665; + tasmlib_hashing_absorb_multiple_read_remainder:, 82346, 6862.1665; + tasmlib_list_higher_order_u32_zip_digest_with_void_pointer:, 6675, 556.25; + tasmlib_list_new___tuple_Ldigest___void_pointerR:, 6685, 557.0833; + tasmlib_list_higher_order_u32_zip_digest_with_void_pointer_loop:, 6727, 560.5833; + tasmlib_list_higher_order_u32_map_tasm_neptune_transaction_compute_indices:, 6782, 565.1667; + tasmlib_list_higher_order_u32_map_tasm_neptune_transaction_compute_indices_loop:, 6823, 568.5833; + tasm_neptune_transaction_compute_indices:, 18399, 1533.25; + tasmlib_memory_push_ram_to_stack___u64:, 18525, 1543.75; + tasmlib_memory_push_ram_to_stack___digest:, 112914, 9409.5; + tasmlib_neptune_mutator_get_swbf_indices_1048576_45:, 18621, 1551.75; + tasmlib_arithmetic_u128_shift_right_static_3:, 18657, 1554.75; + tasmlib_arithmetic_u128_shift_left_static_12:, 18707, 1558.9166; + tasmlib_hashing_algebraic_hasher_sample_indices:, 18757, 1563.0834; + tasmlib_list_new___u32:, 18759, 1563.25; + tasmlib_memory_dyn_malloc:, 43068, 3589; + tasmlib_hashing_algebraic_hasher_sample_indices_main_loop:, 18815, 1567.9166; + tasmlib_list_length___u32:, 1211414, 100951.164; + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save:, 962765, 80230.414; + tasmlib_list_push___u32:, 964025, 80335.414; + tasmlib_hashing_algebraic_hasher_sample_indices_else_drop_tip:, 120715, 10059.583; + tasmlib_list_higher_order_u32_map_u32_to_u128_add_another_u128:, 24291, 2024.25; + tasmlib_list_new___u128:, 24305, 2025.4166; + tasmlib_list_higher_order_u32_map_u32_to_u128_add_another_u128_loop:, 24377, 2031.4166; + tasmlib_list_higher_order_u32_map_tasm_neptune_transaction_hash_index_list:, 16299, 1358.25; + tasmlib_list_higher_order_u32_map_tasm_neptune_transaction_hash_index_list_loop:, 16342, 1361.8334; + tasm_neptune_transaction_hash_index_list:, 33106, 2758.8333; + tasmlib_list_higher_order_u32_map_tasm_neptune_transaction_hash_removal_record_indices:, 17301, 1441.75; + tasmlib_list_higher_order_u32_map_tasm_neptune_transaction_hash_removal_record_indices_loop:, 17344, 1445.3334; + tasm_neptune_transaction_hash_removal_record_indices:, 35112, 2926; + tasmlib_list_multiset_equality:, 18168, 1514; + tasmlib_list_multiset_equality_continue:, 18188, 1515.6666; + tasmlib_hashing_algebraic_hasher_hash_varlen:, 36573, 3047.75; + tasmlib_hashing_absorb_multiple:, 36577, 3048.0833; + tasmlib_hashing_absorb_multiple_hash_all_full_chunks:, 36617, 3051.4167; + tasmlib_hashing_absorb_multiple_pad_varnum_zeros:, 36665, 3055.4167; + tasmlib_hashing_absorb_multiple_read_remainder:, 36885, 3073.75; + tasmlib_list_multiset_equality_running_product:, 37191, 3099.25; + tasmlib_list_multiset_equality_running_product_loop:, 37207, 3100.5833; + tasmlib_list_higher_order_u32_map_tasm_neptune_transaction_compute_commitment:, 18781, 1565.0834; + tasmlib_list_new___tuple_Lvoid_pointer___digestR:, 18790, 1565.8334; + tasmlib_list_higher_order_u32_map_tasm_neptune_transaction_compute_commitment_loop:, 18826, 1568.8334; + tasm_neptune_transaction_compute_commitment:, 37783, 3148.5833; + tasmlib_neptune_mutator_set_commit:, 37961, 3163.4167; + tasmlib_list_higher_order_u32_all_tasm_neptune_transaction_verify_aocl_membership:, 19060, 1588.3334; + tasmlib_list_length___tuple_Lvoid_pointer___digestR:, 19064, 1588.6666; + tasmlib_list_higher_order_u32_all_tasm_neptune_transaction_verify_aocl_membership_loop:, 19068, 1589; + tasmlib_list_get_element___tuple_Lvoid_pointer___digestR:, 43012, 3584.3333; + tasm_neptune_transaction_verify_aocl_membership:, 43042, 3586.8333; + tasmlib_mmr_verify_from_memory:, 43178, 3598.1667; + tasmlib_mmr_leaf_index_to_mt_index_and_peak_index:, 43188, 3599; + tasmlib_arithmetic_u64_lt:, 43190, 3599.1667; + tasmlib_arithmetic_u64_xor:, 43214, 3601.1667; + tasmlib_arithmetic_u64_log_2_floor:, 43226, 3602.1667; + tasmlib_arithmetic_u64_log_2_floor_then:, 43236, 3603; + tasmlib_arithmetic_u64_pow2:, 43258, 3604.8333; + tasmlib_arithmetic_u64_decr:, 43276, 3606.3333; + tasmlib_arithmetic_u64_decr_carry:, 43290, 3607.5; + tasmlib_arithmetic_u64_and:, 86722, 7226.8335; + tasmlib_arithmetic_u64_add:, 43340, 3611.6667; + tasmlib_arithmetic_u64_popcount:, 86792, 7232.6665; + tasmlib_mmr_verify_from_memory_while:, 43458, 3621.5; + tasmlib_arithmetic_u64_eq:, 3074419, 256201.58; + tasmlib_list_get_element___digest:, 3023055, 251921.25; + tasmlib_arithmetic_u32_isodd:, 3024945, 252078.75; + tasmlib_arithmetic_u64_div2:, 3028053, 252337.75; + tasmlib_hashing_swap_digest:, 1352163, 112680.25; + tasmlib_hashing_eq_digest:, 52674, 4389.5; + +# aggregated + sorted + tasm_neptune_transaction_transaction_kernel_mast_hash:, 12, 1; + tasmlib_memory_dyn_malloc_initialize:, 23, 1.9166666; + tasmlib_list_set_length___digest:, 43, 3.5833333; + tasmlib_list_higher_order_u32_map_tasm_neptune_transaction_hash_utxo:, 6121, 510.08334; + tasmlib_list_higher_order_u32_map_tasm_neptune_transaction_hash_utxo_loop:, 6164, 513.6667; + tasmlib_list_higher_order_u32_zip_digest_with_void_pointer:, 6675, 556.25; + tasmlib_list_new___tuple_Ldigest___void_pointerR:, 6685, 557.0833; + tasmlib_list_higher_order_u32_zip_digest_with_void_pointer_loop:, 6727, 560.5833; + tasmlib_list_higher_order_u32_map_tasm_neptune_transaction_compute_indices:, 6782, 565.1667; + tasmlib_list_higher_order_u32_map_tasm_neptune_transaction_compute_indices_loop:, 6823, 568.5833; + tasmlib_mmr_bag_peaks:, 9716, 809.6667; + tasmlib_mmr_bag_peaks_length_is_not_zero:, 9740, 811.6667; + tasmlib_mmr_bag_peaks_length_is_not_zero_or_one:, 9754, 812.8333; + tasmlib_mmr_bag_peaks_loop:, 9838, 819.8333; + tasmlib_memory_push_ram_to_stack___digest:, 10725, 893.75; + tasm_neptune_transaction_hash_utxo:, 12528, 1044; + tasmlib_list_higher_order_u32_map_tasm_neptune_transaction_hash_index_list:, 16299, 1358.25; + tasmlib_list_higher_order_u32_map_tasm_neptune_transaction_hash_index_list_loop:, 16342, 1361.8334; + tasmlib_list_higher_order_u32_map_tasm_neptune_transaction_hash_removal_record_indices:, 17301, 1441.75; + tasmlib_list_higher_order_u32_map_tasm_neptune_transaction_hash_removal_record_indices_loop:, 17344, 1445.3334; + tasmlib_list_multiset_equality:, 18168, 1514; + tasmlib_list_multiset_equality_continue:, 18188, 1515.6666; + tasm_neptune_transaction_compute_indices:, 18399, 1533.25; + tasmlib_memory_push_ram_to_stack___u64:, 18525, 1543.75; + tasmlib_neptune_mutator_get_swbf_indices_1048576_45:, 18621, 1551.75; + tasmlib_arithmetic_u128_shift_right_static_3:, 18657, 1554.75; + tasmlib_arithmetic_u128_shift_left_static_12:, 18707, 1558.9166; + tasmlib_hashing_algebraic_hasher_sample_indices:, 18757, 1563.0834; + tasmlib_list_new___u32:, 18759, 1563.25; + tasmlib_list_higher_order_u32_map_tasm_neptune_transaction_compute_commitment:, 18781, 1565.0834; + tasmlib_list_new___tuple_Lvoid_pointer___digestR:, 18790, 1565.8334; + tasmlib_hashing_algebraic_hasher_sample_indices_main_loop:, 18815, 1567.9166; + tasmlib_list_higher_order_u32_map_tasm_neptune_transaction_compute_commitment_loop:, 18826, 1568.8334; + tasmlib_list_higher_order_u32_all_tasm_neptune_transaction_verify_aocl_membership:, 19060, 1588.3334; + tasmlib_list_length___tuple_Lvoid_pointer___digestR:, 19064, 1588.6666; + tasmlib_list_higher_order_u32_all_tasm_neptune_transaction_verify_aocl_membership_loop:, 19068, 1589; + tasmlib_list_get_element___digest:, 19564, 1630.3334; + tasmlib_hashing_algebraic_hasher_hash_varlen:, 22656, 1888; + tasmlib_hashing_absorb_multiple:, 22670, 1889.1666; + tasmlib_hashing_absorb_multiple_hash_all_full_chunks:, 22810, 1900.8334; + tasmlib_list_higher_order_u32_map_u32_to_u128_add_another_u128:, 24291, 2024.25; + tasmlib_list_new___u128:, 24305, 2025.4166; + tasmlib_list_higher_order_u32_map_u32_to_u128_add_another_u128_loop:, 24377, 2031.4166; + tasmlib_hashing_absorb_multiple_pad_varnum_zeros:, 25906, 2158.8333; + tasmlib_hashing_absorb_multiple_read_remainder:, 26489, 2207.4167; + tasmlib_list_contiguous_list_get_pointer_list:, 29791, 2482.5833; + tasmlib_list_contiguous_list_get_length:, 29797, 2483.0833; + tasmlib_list_set_length___void_pointer:, 29884, 2490.3333; + tasmlib_list_contiguous_list_get_pointer_list_loop:, 29917, 2493.0833; + tasm_neptune_transaction_hash_index_list:, 33106, 2758.8333; + tasm_neptune_transaction_hash_removal_record_indices:, 35112, 2926; + tasmlib_hashing_algebraic_hasher_hash_varlen:, 36573, 3047.75; + tasmlib_hashing_absorb_multiple:, 36577, 3048.0833; + tasmlib_list_new___void_pointer:, 36600, 3050; + tasmlib_hashing_absorb_multiple_hash_all_full_chunks:, 36617, 3051.4167; + tasmlib_hashing_absorb_multiple_pad_varnum_zeros:, 36665, 3055.4167; + tasmlib_hashing_absorb_multiple_read_remainder:, 36885, 3073.75; + tasmlib_list_multiset_equality_running_product:, 37191, 3099.25; + tasmlib_list_multiset_equality_running_product_loop:, 37207, 3100.5833; + tasm_neptune_transaction_compute_commitment:, 37783, 3148.5833; + tasmlib_neptune_mutator_set_commit:, 37961, 3163.4167; + tasmlib_list_new___digest:, 39756, 3313; + tasmlib_list_get_element___tuple_Lvoid_pointer___digestR:, 43012, 3584.3333; + tasm_neptune_transaction_verify_aocl_membership:, 43042, 3586.8333; + tasmlib_memory_dyn_malloc:, 43068, 3589; + tasmlib_mmr_verify_from_memory:, 43178, 3598.1667; + tasmlib_mmr_leaf_index_to_mt_index_and_peak_index:, 43188, 3599; + tasmlib_arithmetic_u64_lt:, 43190, 3599.1667; + tasmlib_arithmetic_u64_xor:, 43214, 3601.1667; + tasmlib_arithmetic_u64_log_2_floor:, 43226, 3602.1667; + tasmlib_arithmetic_u64_log_2_floor_then:, 43236, 3603; + tasmlib_arithmetic_u64_pow2:, 43258, 3604.8333; + tasmlib_arithmetic_u64_decr:, 43276, 3606.3333; + tasmlib_arithmetic_u64_decr_carry:, 43290, 3607.5; + tasmlib_arithmetic_u64_add:, 43340, 3611.6667; + tasmlib_mmr_verify_from_memory_while:, 43458, 3621.5; + tasmlib_list_length___digest:, 46067, 3838.9167; + tasmlib_hashing_eq_digest:, 52674, 4389.5; + tasmlib_list_set_element___void_pointer:, 59975, 4997.9165; + tasmlib_list_set_element___digest:, 63243, 5270.25; + tasmlib_list_get_element___digest:, 68449, 5704.0835; + tasmlib_hashing_algebraic_hasher_hash_varlen:, 80792, 6732.6665; + tasmlib_hashing_absorb_multiple:, 80804, 6733.6665; + tasmlib_hashing_absorb_multiple_hash_all_full_chunks:, 80924, 6743.6665; + tasmlib_hashing_absorb_multiple_pad_varnum_zeros:, 81884, 6823.6665; + tasmlib_hashing_absorb_multiple_read_remainder:, 82346, 6862.1665; + tasmlib_arithmetic_u64_and:, 86722, 7226.8335; + tasmlib_arithmetic_u64_popcount:, 86792, 7232.6665; + tasmlib_memory_dyn_malloc:, 101841, 8486.75; + tasmlib_memory_push_ram_to_stack___digest:, 112914, 9409.5; + tasmlib_hashing_algebraic_hasher_sample_indices_else_drop_tip:, 120715, 10059.583; + tasmlib_list_get_element___digest:, 259786, 21648.834; + tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save:, 962765, 80230.414; + tasmlib_list_push___u32:, 964025, 80335.414; + tasmlib_list_length___u32:, 1211414, 100951.164; + tasmlib_hashing_swap_digest:, 1352163, 112680.25; + tasmlib_list_get_element___digest:, 3023055, 251921.25; + tasmlib_arithmetic_u32_isodd:, 3024945, 252078.75; + tasmlib_arithmetic_u64_div2:, 3028053, 252337.75; + tasmlib_arithmetic_u64_eq:, 3074419, 256201.58; diff --git a/src/bin/neptune-cli.rs b/src/bin/neptune-cli.rs index 679b3a04..743d4501 100644 --- a/src/bin/neptune-cli.rs +++ b/src/bin/neptune-cli.rs @@ -19,7 +19,7 @@ use tarpc::{client, context, tokio_serde::formats::Json}; use neptune_core::models::state::wallet::wallet_status::WalletStatus; use neptune_core::rpc_server::{BlockSelector, RPCClient}; use std::io::stdout; -use twenty_first::shared_math::digest::Digest; +use twenty_first::math::digest::Digest; #[derive(Debug, Parser)] enum Command { diff --git a/src/config_models/network.rs b/src/config_models/network.rs index 2101e8eb..67521588 100644 --- a/src/config_models/network.rs +++ b/src/config_models/network.rs @@ -3,7 +3,7 @@ use std::fmt; use std::str::FromStr; use std::time::{SystemTime, UNIX_EPOCH}; use strum::EnumIter; -use tasm_lib::twenty_first::shared_math::b_field_element::BFieldElement; +use tasm_lib::twenty_first::math::b_field_element::BFieldElement; use crate::models::consensus::timestamp::Timestamp; diff --git a/src/connect_to_peers.rs b/src/connect_to_peers.rs index afb64a61..a62443e3 100644 --- a/src/connect_to_peers.rs +++ b/src/connect_to_peers.rs @@ -466,7 +466,7 @@ mod connect_tests { use anyhow::{bail, Result}; use tokio_test::io::Builder; use tracing_test::traced_test; - use twenty_first::shared_math::digest::Digest; + use twenty_first::math::digest::Digest; use crate::config_models::network::Network; use crate::models::peer::{ diff --git a/src/database/storage/storage_schema/mod.rs b/src/database/storage/storage_schema/mod.rs index 66b4b81b..895739b5 100644 --- a/src/database/storage/storage_schema/mod.rs +++ b/src/database/storage/storage_schema/mod.rs @@ -57,7 +57,7 @@ mod tests { use serde::{Deserialize, Serialize}; use crate::database::NeptuneLevelDb; - use crate::twenty_first::shared_math::other::random_elements; + use crate::twenty_first::math::other::random_elements; use itertools::Itertools; diff --git a/src/mine_loop.rs b/src/mine_loop.rs index 3b722844..f803c611 100644 --- a/src/mine_loop.rs +++ b/src/mine_loop.rs @@ -37,9 +37,9 @@ use tokio::sync::{mpsc, watch}; use tokio::task::JoinHandle; use tracing::*; use twenty_first::amount::u32s::U32s; -use twenty_first::shared_math::b_field_element::BFieldElement; -use twenty_first::shared_math::bfield_codec::BFieldCodec; -use twenty_first::shared_math::digest::Digest; +use twenty_first::math::b_field_element::BFieldElement; +use twenty_first::math::bfield_codec::BFieldCodec; +use twenty_first::math::digest::Digest; use twenty_first::util_types::algebraic_hasher::AlgebraicHasher; use self::primitive_witness::SaltedUtxos; diff --git a/src/models/blockchain/block/block_body.rs b/src/models/blockchain/block/block_body.rs index a539f647..e31c8253 100644 --- a/src/models/blockchain/block/block_body.rs +++ b/src/models/blockchain/block/block_body.rs @@ -4,10 +4,10 @@ use crate::prelude::twenty_first; use get_size::GetSize; use serde::{Deserialize, Serialize}; use strum::EnumCount; -use tasm_lib::twenty_first::shared_math::b_field_element::BFieldElement; +use tasm_lib::twenty_first::math::b_field_element::BFieldElement; use tasm_lib::twenty_first::util_types::mmr::mmr_accumulator::MmrAccumulator; use tasm_lib::Digest; -use twenty_first::shared_math::bfield_codec::BFieldCodec; +use twenty_first::math::bfield_codec::BFieldCodec; use crate::models::blockchain::shared::Hash; use crate::models::blockchain::transaction::Transaction; diff --git a/src/models/blockchain/block/block_header.rs b/src/models/blockchain/block/block_header.rs index ae5342d3..ad4050ed 100644 --- a/src/models/blockchain/block/block_header.rs +++ b/src/models/blockchain/block/block_header.rs @@ -6,11 +6,11 @@ use crate::models::consensus::mast_hash::MastHash; use get_size::GetSize; use serde::{Deserialize, Serialize}; use std::fmt::Display; -use twenty_first::shared_math::bfield_codec::BFieldCodec; -use twenty_first::shared_math::digest::Digest; +use twenty_first::math::bfield_codec::BFieldCodec; +use twenty_first::math::digest::Digest; use twenty_first::amount::u32s::U32s; -use twenty_first::shared_math::b_field_element::BFieldElement; +use twenty_first::math::b_field_element::BFieldElement; use super::block_height::BlockHeight; diff --git a/src/models/blockchain/block/block_height.rs b/src/models/blockchain/block/block_height.rs index 81ba5436..7aa23b0e 100644 --- a/src/models/blockchain/block/block_height.rs +++ b/src/models/blockchain/block/block_height.rs @@ -8,7 +8,7 @@ use std::{ fmt::Display, ops::{Add, Sub}, }; -use twenty_first::shared_math::{b_field_element::BFieldElement, bfield_codec::BFieldCodec}; +use twenty_first::math::{b_field_element::BFieldElement, bfield_codec::BFieldCodec}; #[derive( Clone, Copy, Debug, Default, PartialEq, Eq, Serialize, Deserialize, Hash, BFieldCodec, GetSize, diff --git a/src/models/blockchain/block/block_kernel.rs b/src/models/blockchain/block/block_kernel.rs index 01be4433..4c99ae4e 100644 --- a/src/models/blockchain/block/block_kernel.rs +++ b/src/models/blockchain/block/block_kernel.rs @@ -1,8 +1,6 @@ use get_size::GetSize; use serde::{Deserialize, Serialize}; -use tasm_lib::twenty_first::shared_math::{ - b_field_element::BFieldElement, bfield_codec::BFieldCodec, -}; +use tasm_lib::twenty_first::math::{b_field_element::BFieldElement, bfield_codec::BFieldCodec}; use crate::models::consensus::mast_hash::{HasDiscriminant, MastHash}; diff --git a/src/models/blockchain/block/mod.rs b/src/models/blockchain/block/mod.rs index 9fd1e6bd..639bd196 100644 --- a/src/models/blockchain/block/mod.rs +++ b/src/models/blockchain/block/mod.rs @@ -14,14 +14,14 @@ use std::cmp::max; use tasm_lib::triton_vm::proof::Proof; use tasm_lib::twenty_first::util_types::mmr::mmr_accumulator::MmrAccumulator; use tasm_lib::twenty_first::util_types::mmr::mmr_trait::Mmr; -use twenty_first::shared_math::bfield_codec::BFieldCodec; +use twenty_first::math::bfield_codec::BFieldCodec; use tracing::{debug, error, warn}; use twenty_first::amount::u32s::U32s; -use twenty_first::shared_math::b_field_element::BFieldElement; -use twenty_first::shared_math::digest::Digest; -use twenty_first::shared_math::tip5::DIGEST_LENGTH; +use twenty_first::math::b_field_element::BFieldElement; +use twenty_first::math::digest::Digest; +use twenty_first::math::tip5::DIGEST_LENGTH; use twenty_first::util_types::algebraic_hasher::AlgebraicHasher; pub mod block_body; diff --git a/src/models/blockchain/block/validity.rs b/src/models/blockchain/block/validity.rs index 6744be9b..f7ae5428 100644 --- a/src/models/blockchain/block/validity.rs +++ b/src/models/blockchain/block/validity.rs @@ -5,9 +5,9 @@ use tasm_lib::{ instruction::LabelledInstruction, program::{NonDeterminism, PublicInput}, }, - twenty_first::{self, shared_math::b_field_element::BFieldElement}, + twenty_first, }; -use twenty_first::shared_math::bfield_codec::BFieldCodec; +use twenty_first::math::bfield_codec::BFieldCodec; use crate::models::consensus::{tasm::program::ConsensusProgram, SecretWitness}; @@ -67,7 +67,7 @@ pub struct PrincipalBlockValidationWitness { } impl SecretWitness for PrincipalBlockValidationWitness { - fn nondeterminism(&self) -> NonDeterminism { + fn nondeterminism(&self) -> NonDeterminism { todo!() } diff --git a/src/models/blockchain/block/validity/coinbase_is_valid.rs b/src/models/blockchain/block/validity/coinbase_is_valid.rs index c8760a3c..77eaf844 100644 --- a/src/models/blockchain/block/validity/coinbase_is_valid.rs +++ b/src/models/blockchain/block/validity/coinbase_is_valid.rs @@ -5,9 +5,9 @@ use tasm_lib::{ instruction::LabelledInstruction, program::{NonDeterminism, PublicInput}, }, - twenty_first::{self, shared_math::b_field_element::BFieldElement}, + twenty_first, }; -use twenty_first::shared_math::bfield_codec::BFieldCodec; +use twenty_first::math::bfield_codec::BFieldCodec; use crate::models::{ blockchain::block::Block, @@ -20,7 +20,7 @@ pub struct CoinbaseIsValidWitness { } impl SecretWitness for CoinbaseIsValidWitness { - fn nondeterminism(&self) -> NonDeterminism { + fn nondeterminism(&self) -> NonDeterminism { todo!() } diff --git a/src/models/blockchain/block/validity/correct_control_parameter_update.rs b/src/models/blockchain/block/validity/correct_control_parameter_update.rs index 37428346..4f866df9 100644 --- a/src/models/blockchain/block/validity/correct_control_parameter_update.rs +++ b/src/models/blockchain/block/validity/correct_control_parameter_update.rs @@ -2,7 +2,7 @@ use get_size::GetSize; use serde::{Deserialize, Serialize}; use tasm_lib::{ triton_vm::program::{NonDeterminism, PublicInput}, - twenty_first::shared_math::{b_field_element::BFieldElement, bfield_codec::BFieldCodec}, + twenty_first::math::bfield_codec::BFieldCodec, }; use crate::models::{ @@ -16,7 +16,7 @@ pub struct CorrectControlParameterUpdateWitness { } impl SecretWitness for CorrectControlParameterUpdateWitness { - fn nondeterminism(&self) -> NonDeterminism { + fn nondeterminism(&self) -> NonDeterminism { todo!() } diff --git a/src/models/blockchain/block/validity/correct_mmr_update.rs b/src/models/blockchain/block/validity/correct_mmr_update.rs index 5a36db72..1b4b406c 100644 --- a/src/models/blockchain/block/validity/correct_mmr_update.rs +++ b/src/models/blockchain/block/validity/correct_mmr_update.rs @@ -4,8 +4,7 @@ use serde::{Deserialize, Serialize}; use tasm_lib::{ triton_vm::program::{NonDeterminism, PublicInput}, twenty_first::{ - shared_math::{b_field_element::BFieldElement, bfield_codec::BFieldCodec}, - util_types::mmr::mmr_accumulator::MmrAccumulator, + math::bfield_codec::BFieldCodec, util_types::mmr::mmr_accumulator::MmrAccumulator, }, }; @@ -17,7 +16,7 @@ pub struct CorrectMmrUpdateWitness { } impl SecretWitness for CorrectMmrUpdateWitness { - fn nondeterminism(&self) -> NonDeterminism { + fn nondeterminism(&self) -> NonDeterminism { todo!() } diff --git a/src/models/blockchain/block/validity/correct_mutator_set_update.rs b/src/models/blockchain/block/validity/correct_mutator_set_update.rs index 0fec0129..ada48ca2 100644 --- a/src/models/blockchain/block/validity/correct_mutator_set_update.rs +++ b/src/models/blockchain/block/validity/correct_mutator_set_update.rs @@ -1,9 +1,7 @@ +use crate::models::blockchain::block::BFieldCodec; use get_size::GetSize; use serde::{Deserialize, Serialize}; -use tasm_lib::{ - triton_vm::program::{NonDeterminism, PublicInput}, - twenty_first::{bfieldcodec_derive::BFieldCodec, shared_math::b_field_element::BFieldElement}, -}; +use tasm_lib::triton_vm::program::{NonDeterminism, PublicInput}; use crate::{ models::consensus::{tasm::program::ConsensusProgram, SecretWitness}, @@ -16,7 +14,7 @@ pub struct CorrectMutatorSetUpdateWitness { } impl SecretWitness for CorrectMutatorSetUpdateWitness { - fn nondeterminism(&self) -> NonDeterminism { + fn nondeterminism(&self) -> NonDeterminism { todo!() } diff --git a/src/models/blockchain/block/validity/mmr_membership.rs b/src/models/blockchain/block/validity/mmr_membership.rs index 7a41bc22..ac31ffe8 100644 --- a/src/models/blockchain/block/validity/mmr_membership.rs +++ b/src/models/blockchain/block/validity/mmr_membership.rs @@ -8,7 +8,6 @@ use crate::models::consensus::SecretWitness; use tasm_lib::triton_vm::instruction::LabelledInstruction; use tasm_lib::triton_vm::program::NonDeterminism; use tasm_lib::triton_vm::program::PublicInput; -use tasm_lib::twenty_first::shared_math::b_field_element::BFieldElement; use tasm_lib::twenty_first::util_types::mmr::mmr_membership_proof::MmrMembershipProof; #[derive(Debug, Clone, BFieldCodec, GetSize, PartialEq, Eq, Serialize, Deserialize)] @@ -17,7 +16,7 @@ pub struct MmrMembershipWitness { } impl SecretWitness for MmrMembershipWitness { - fn nondeterminism(&self) -> NonDeterminism { + fn nondeterminism(&self) -> NonDeterminism { todo!() } diff --git a/src/models/blockchain/block/validity/predecessor_is_valid.rs b/src/models/blockchain/block/validity/predecessor_is_valid.rs index 55d73f10..adba1a80 100644 --- a/src/models/blockchain/block/validity/predecessor_is_valid.rs +++ b/src/models/blockchain/block/validity/predecessor_is_valid.rs @@ -5,7 +5,7 @@ use tasm_lib::{ instruction::LabelledInstruction, program::{NonDeterminism, PublicInput}, }, - twenty_first::shared_math::{b_field_element::BFieldElement, bfield_codec::BFieldCodec}, + twenty_first::math::bfield_codec::BFieldCodec, }; use crate::models::{ @@ -19,7 +19,7 @@ pub struct PredecessorIsValidWitness { } impl SecretWitness for PredecessorIsValidWitness { - fn nondeterminism(&self) -> NonDeterminism { + fn nondeterminism(&self) -> NonDeterminism { todo!() } diff --git a/src/models/blockchain/block/validity/transaction_is_valid.rs b/src/models/blockchain/block/validity/transaction_is_valid.rs index 8c8f7165..0f7318d9 100644 --- a/src/models/blockchain/block/validity/transaction_is_valid.rs +++ b/src/models/blockchain/block/validity/transaction_is_valid.rs @@ -5,7 +5,7 @@ use tasm_lib::{ instruction::LabelledInstruction, program::{NonDeterminism, PublicInput}, }, - twenty_first::shared_math::{b_field_element::BFieldElement, bfield_codec::BFieldCodec}, + twenty_first::math::bfield_codec::BFieldCodec, }; use crate::models::{ @@ -19,7 +19,7 @@ pub struct TransactionIsValidWitness { } impl SecretWitness for TransactionIsValidWitness { - fn nondeterminism(&self) -> NonDeterminism { + fn nondeterminism(&self) -> NonDeterminism { todo!() } diff --git a/src/models/blockchain/shared.rs b/src/models/blockchain/shared.rs index fc8c384e..93c134e8 100644 --- a/src/models/blockchain/shared.rs +++ b/src/models/blockchain/shared.rs @@ -1,3 +1,3 @@ -use crate::prelude::twenty_first::shared_math::tip5::Tip5; +use crate::prelude::twenty_first::math::tip5::Tip5; pub type Hash = Tip5; diff --git a/src/models/blockchain/transaction/mod.rs b/src/models/blockchain/transaction/mod.rs index 752bcdef..ed4b4c97 100644 --- a/src/models/blockchain/transaction/mod.rs +++ b/src/models/blockchain/transaction/mod.rs @@ -21,8 +21,8 @@ use std::hash::{Hash as StdHash, Hasher as StdHasher}; use tasm_lib::Digest; use tracing::{debug, error, warn}; use triton_vm::prelude::NonDeterminism; -use twenty_first::shared_math::b_field_element::BFieldElement; -use twenty_first::shared_math::bfield_codec::BFieldCodec; +use twenty_first::math::b_field_element::BFieldElement; +use twenty_first::math::bfield_codec::BFieldCodec; use twenty_first::util_types::algebraic_hasher::AlgebraicHasher; use self::primitive_witness::PrimitiveWitness; diff --git a/src/models/blockchain/transaction/primitive_witness.rs b/src/models/blockchain/transaction/primitive_witness.rs index bcdcae58..f72e4f4f 100644 --- a/src/models/blockchain/transaction/primitive_witness.rs +++ b/src/models/blockchain/transaction/primitive_witness.rs @@ -12,7 +12,7 @@ use serde::{Deserialize, Serialize}; use tasm_lib::{ structure::tasm_object::TasmObject, twenty_first::{ - shared_math::{b_field_element::BFieldElement, bfield_codec::BFieldCodec}, + math::{b_field_element::BFieldElement, bfield_codec::BFieldCodec}, util_types::algebraic_hasher::AlgebraicHasher, }, Digest, diff --git a/src/models/blockchain/transaction/transaction_kernel.rs b/src/models/blockchain/transaction/transaction_kernel.rs index b02d46d0..aca2ac39 100644 --- a/src/models/blockchain/transaction/transaction_kernel.rs +++ b/src/models/blockchain/transaction/transaction_kernel.rs @@ -16,9 +16,7 @@ use rand::{rngs::StdRng, Rng, RngCore, SeedableRng}; use serde::{Deserialize, Serialize}; use strum::EnumCount; use tasm_lib::structure::tasm_object::TasmObject; -use twenty_first::shared_math::{ - b_field_element::BFieldElement, bfield_codec::BFieldCodec, tip5::Digest, -}; +use twenty_first::math::{b_field_element::BFieldElement, bfield_codec::BFieldCodec, tip5::Digest}; use super::{primitive_witness::PrimitiveWitness, PublicAnnouncement}; use crate::util_types::mutator_set::{ diff --git a/src/models/blockchain/transaction/utxo.rs b/src/models/blockchain/transaction/utxo.rs index 3ee6f02f..6d7ebf99 100644 --- a/src/models/blockchain/transaction/utxo.rs +++ b/src/models/blockchain/transaction/utxo.rs @@ -16,10 +16,10 @@ use std::hash::{Hash as StdHash, Hasher as StdHasher}; use triton_vm::instruction::LabelledInstruction; use triton_vm::program::Program; use triton_vm::triton_asm; -use twenty_first::shared_math::bfield_codec::BFieldCodec; -use twenty_first::shared_math::tip5::Digest; +use twenty_first::math::bfield_codec::BFieldCodec; +use twenty_first::math::tip5::Digest; -use twenty_first::shared_math::b_field_element::BFieldElement; +use twenty_first::math::b_field_element::BFieldElement; use twenty_first::util_types::algebraic_hasher::AlgebraicHasher; #[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq, BFieldCodec, Arbitrary)] @@ -266,7 +266,7 @@ mod utxo_tests { use super::*; use rand::{thread_rng, Rng}; use tracing_test::traced_test; - use twenty_first::shared_math::other::random_elements; + use twenty_first::math::other::random_elements; fn make_random_utxo() -> Utxo { let mut rng = thread_rng(); diff --git a/src/models/blockchain/transaction/validity.rs b/src/models/blockchain/transaction/validity.rs index 1843171f..32ae59fe 100644 --- a/src/models/blockchain/transaction/validity.rs +++ b/src/models/blockchain/transaction/validity.rs @@ -20,7 +20,7 @@ use get_size::GetSize; use serde::{Deserialize, Serialize}; use tasm_lib::triton_vm::proof::Claim; use tasm_lib::Digest; -use twenty_first::shared_math::bfield_codec::BFieldCodec; +use twenty_first::math::bfield_codec::BFieldCodec; use self::lockscripts_halt::LockScriptsHalt; use self::removal_records_integrity::RemovalRecordsIntegrity; diff --git a/src/models/blockchain/transaction/validity/kernel_to_inputs.rs b/src/models/blockchain/transaction/validity/kernel_to_inputs.rs index 6e52b805..42bc88f1 100644 --- a/src/models/blockchain/transaction/validity/kernel_to_inputs.rs +++ b/src/models/blockchain/transaction/validity/kernel_to_inputs.rs @@ -1,7 +1,7 @@ use get_size::GetSize; use serde::{Deserialize, Serialize}; use twenty_first::{ - shared_math::bfield_codec::BFieldCodec, util_types::algebraic_hasher::AlgebraicHasher, + math::bfield_codec::BFieldCodec, util_types::algebraic_hasher::AlgebraicHasher, }; use crate::models::blockchain::shared::Hash; diff --git a/src/models/blockchain/transaction/validity/kernel_to_lock_scripts.rs b/src/models/blockchain/transaction/validity/kernel_to_lock_scripts.rs index 002ec999..85c34505 100644 --- a/src/models/blockchain/transaction/validity/kernel_to_lock_scripts.rs +++ b/src/models/blockchain/transaction/validity/kernel_to_lock_scripts.rs @@ -14,7 +14,7 @@ use tasm_lib::library::Library; use tasm_lib::traits::compiled_program::CompiledProgram; use tasm_lib::triton_vm::instruction::LabelledInstruction; use triton_vm::prelude::{BFieldElement, Digest, NonDeterminism, PublicInput}; -use twenty_first::shared_math::bfield_codec::BFieldCodec; +use twenty_first::math::bfield_codec::BFieldCodec; #[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq, GetSize, BFieldCodec)] pub struct KernelToLockScriptsWitness { @@ -23,7 +23,7 @@ pub struct KernelToLockScriptsWitness { } impl SecretWitness for KernelToLockScriptsWitness { - fn nondeterminism(&self) -> NonDeterminism { + fn nondeterminism(&self) -> NonDeterminism { todo!() } @@ -68,7 +68,7 @@ impl From for KernelToLockScripts { impl CompiledProgram for KernelToLockScripts { fn rust_shadow( _public_input: &PublicInput, - _secret_input: &NonDeterminism, + _secret_input: &NonDeterminism, ) -> anyhow::Result> { todo!() } diff --git a/src/models/blockchain/transaction/validity/kernel_to_type_scripts.rs b/src/models/blockchain/transaction/validity/kernel_to_type_scripts.rs index 35fb77c0..2a5e7ae6 100644 --- a/src/models/blockchain/transaction/validity/kernel_to_type_scripts.rs +++ b/src/models/blockchain/transaction/validity/kernel_to_type_scripts.rs @@ -12,7 +12,7 @@ use tasm_lib::library::Library; use tasm_lib::traits::compiled_program::CompiledProgram; use triton_vm::instruction::LabelledInstruction; use triton_vm::prelude::{BFieldElement, Digest, NonDeterminism, PublicInput}; -use twenty_first::shared_math::bfield_codec::BFieldCodec; +use twenty_first::math::bfield_codec::BFieldCodec; #[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq, GetSize, BFieldCodec)] pub struct KernelToTypeScriptsWitness { @@ -21,7 +21,7 @@ pub struct KernelToTypeScriptsWitness { } impl SecretWitness for KernelToTypeScriptsWitness { - fn nondeterminism(&self) -> NonDeterminism { + fn nondeterminism(&self) -> NonDeterminism { todo!() } @@ -78,7 +78,7 @@ impl From for KernelToTypeScripts { impl CompiledProgram for KernelToTypeScripts { fn rust_shadow( _public_input: &PublicInput, - _secret_input: &NonDeterminism, + _secret_input: &NonDeterminism, ) -> anyhow::Result> { todo!() } diff --git a/src/models/blockchain/transaction/validity/lockscripts_halt.rs b/src/models/blockchain/transaction/validity/lockscripts_halt.rs index 0ea57b5f..75ae34a2 100644 --- a/src/models/blockchain/transaction/validity/lockscripts_halt.rs +++ b/src/models/blockchain/transaction/validity/lockscripts_halt.rs @@ -21,7 +21,7 @@ use tasm_lib::{ Digest, }; use triton_vm::prelude::{BFieldElement, NonDeterminism}; -use twenty_first::shared_math::bfield_codec::BFieldCodec; +use twenty_first::math::bfield_codec::BFieldCodec; use crate::models::{blockchain::transaction::utxo::LockScript, consensus::SecretWitness}; @@ -68,7 +68,7 @@ pub struct LockScriptHaltsWitness { } impl SecretWitness for LockScriptHaltsWitness { - fn nondeterminism(&self) -> NonDeterminism { + fn nondeterminism(&self) -> NonDeterminism { NonDeterminism::new( self.nondeterministic_tokens .clone() diff --git a/src/models/blockchain/transaction/validity/removal_records_integrity.rs b/src/models/blockchain/transaction/validity/removal_records_integrity.rs index 48c3f5ff..58946f5b 100644 --- a/src/models/blockchain/transaction/validity/removal_records_integrity.rs +++ b/src/models/blockchain/transaction/validity/removal_records_integrity.rs @@ -23,9 +23,9 @@ use tasm_lib::triton_vm::instruction::LabelledInstruction; use tasm_lib::triton_vm::program::PublicInput; use tasm_lib::twenty_first::util_types::mmr::mmr_membership_proof::MmrMembershipProof; use tasm_lib::twenty_first::util_types::mmr::mmr_trait::Mmr; -use triton_vm::prelude::{BFieldElement, NonDeterminism}; +use triton_vm::prelude::NonDeterminism; use twenty_first::{ - shared_math::{bfield_codec::BFieldCodec, tip5::Digest}, + math::{bfield_codec::BFieldCodec, tip5::Digest}, util_types::{algebraic_hasher::AlgebraicHasher, mmr::mmr_accumulator::MmrAccumulator}, }; @@ -78,7 +78,7 @@ impl RemovalRecordsIntegrityWitness { } impl SecretWitness for RemovalRecordsIntegrityWitness { - fn nondeterminism(&self) -> NonDeterminism { + fn nondeterminism(&self) -> NonDeterminism { let mut memory = HashMap::default(); encode_to_memory( &mut memory, diff --git a/src/models/blockchain/transaction/validity/tasm/compute_canonical_commitment.rs b/src/models/blockchain/transaction/validity/tasm/compute_canonical_commitment.rs index 70c8765c..b295aae1 100644 --- a/src/models/blockchain/transaction/validity/tasm/compute_canonical_commitment.rs +++ b/src/models/blockchain/transaction/validity/tasm/compute_canonical_commitment.rs @@ -15,7 +15,7 @@ use tasm_lib::neptune::mutator_set::commit::Commit; use tasm_lib::traits::basic_snippet::BasicSnippet; use tasm_lib::traits::function::{Function, FunctionInitialState}; use triton_vm::prelude::{triton_asm, BFieldElement, Digest}; -use twenty_first::shared_math::bfield_codec::BFieldCodec; +use twenty_first::math::bfield_codec::BFieldCodec; use crate::util_types::mutator_set::{commit, ms_membership_proof::MsMembershipProof}; diff --git a/src/models/blockchain/transaction/validity/tasm/compute_indices.rs b/src/models/blockchain/transaction/validity/tasm/compute_indices.rs index 30ece47f..596ec4b3 100644 --- a/src/models/blockchain/transaction/validity/tasm/compute_indices.rs +++ b/src/models/blockchain/transaction/validity/tasm/compute_indices.rs @@ -13,9 +13,9 @@ use tasm_lib::traits::function::{Function, FunctionInitialState}; use tasm_lib::neptune::mutator_set::get_swbf_indices::GetSwbfIndices; use tasm_lib::traits::basic_snippet::BasicSnippet; use triton_vm::triton_asm; -use twenty_first::shared_math::b_field_element::BFieldElement; -use twenty_first::shared_math::bfield_codec::BFieldCodec; -use twenty_first::shared_math::tip5::Digest; +use twenty_first::math::b_field_element::BFieldElement; +use twenty_first::math::bfield_codec::BFieldCodec; +use twenty_first::math::tip5::Digest; use twenty_first::util_types::mmr::mmr_membership_proof::MmrMembershipProof; use crate::util_types::mutator_set::ms_membership_proof::{ @@ -203,7 +203,7 @@ impl Function for ComputeIndices { let mut msmp = pseudorandom_mutator_set_membership_proof(rand::Rng::gen(&mut rng)); msmp.auth_path_aocl.leaf_index = rng.next_u32() as u64; - let msmp_encoded = twenty_first::shared_math::bfield_codec::BFieldCodec::encode(&msmp); + let msmp_encoded = twenty_first::math::bfield_codec::BFieldCodec::encode(&msmp); let item: Digest = rand::Rng::gen(&mut rng); let mut memory: std::collections::HashMap = @@ -252,7 +252,7 @@ mod tests { }, }; use triton_vm::prelude::NonDeterminism; - use twenty_first::shared_math::bfield_codec::BFieldCodec; + use twenty_first::math::bfield_codec::BFieldCodec; use crate::util_types::mutator_set::get_swbf_indices; @@ -357,7 +357,7 @@ mod tests { maybe_write_debuggable_program_to_disk(&program, &vm_state); // inspect memory - let final_ram = vm_output_state.final_ram; + let final_ram = vm_output_state.ram; let output_list_address = stack.pop().unwrap(); let output_list_length = final_ram.get(&output_list_address).unwrap().value() as usize; assert_eq!(output_list_length, num_items); diff --git a/src/models/blockchain/transaction/validity/tasm/hash_index_list.rs b/src/models/blockchain/transaction/validity/tasm/hash_index_list.rs index bddfc970..31f3f30b 100644 --- a/src/models/blockchain/transaction/validity/tasm/hash_index_list.rs +++ b/src/models/blockchain/transaction/validity/tasm/hash_index_list.rs @@ -110,8 +110,7 @@ impl Function for HashIndexList { let mut memory: std::collections::HashMap = std::collections::HashMap::new(); - let index_list_encoded = - twenty_first::shared_math::bfield_codec::BFieldCodec::encode(&index_list); + let index_list_encoded = twenty_first::math::bfield_codec::BFieldCodec::encode(&index_list); for (i, v) in index_list_encoded.iter().enumerate() { memory.insert(address + BFieldElement::new(i as u64), *v); @@ -145,7 +144,7 @@ mod tests { traits::function::ShadowedFunction, }; use triton_vm::prelude::{Digest, NonDeterminism}; - use twenty_first::shared_math::{bfield_codec::BFieldCodec, tip5::DIGEST_LENGTH}; + use twenty_first::math::{bfield_codec::BFieldCodec, tip5::DIGEST_LENGTH}; use super::*; @@ -199,7 +198,7 @@ mod tests { memory, ); - let memory_after_1st_run = vm_output.final_ram; + let memory_after_1st_run = vm_output.ram; assert_eq!( *memory_after_1st_run.get(stack.last().unwrap()).unwrap(), BFieldElement::new(num_lists as u64) @@ -218,7 +217,7 @@ mod tests { ); // inspect memory - let final_memory = vm_output_state.final_ram; + let final_memory = vm_output_state.ram; let output_list = stack.pop().unwrap(); let num_hashes = rust_shadowing_helper_functions::list::list_get_length(output_list, &final_memory); diff --git a/src/models/blockchain/transaction/validity/tasm/hash_removal_record_indices.rs b/src/models/blockchain/transaction/validity/tasm/hash_removal_record_indices.rs index 7a49c9f1..c150057d 100644 --- a/src/models/blockchain/transaction/validity/tasm/hash_removal_record_indices.rs +++ b/src/models/blockchain/transaction/validity/tasm/hash_removal_record_indices.rs @@ -15,7 +15,7 @@ use tasm_lib::{ }; use triton_vm::prelude::{triton_asm, BFieldElement}; use twenty_first::{ - shared_math::bfield_codec::BFieldCodec, util_types::algebraic_hasher::AlgebraicHasher, + math::bfield_codec::BFieldCodec, util_types::algebraic_hasher::AlgebraicHasher, }; use crate::{ @@ -140,7 +140,7 @@ mod tests { traits::rust_shadow::RustShadow, }; use triton_vm::prelude::{BFieldElement, Digest, NonDeterminism}; - use twenty_first::shared_math::tip5::DIGEST_LENGTH; + use twenty_first::math::tip5::DIGEST_LENGTH; use super::*; @@ -206,7 +206,7 @@ mod tests { // read list of pointers from memory let pointers_list_address = *stack.last().unwrap(); - let memory_after_1st_run = _vm_output.final_ram; + let memory_after_1st_run = _vm_output.ram; let num_pointers = memory_after_1st_run .get(&pointers_list_address) .unwrap() @@ -268,7 +268,7 @@ mod tests { // STACK: 0^16 *[digest] // inspect memory - let final_memory = vm_output_state.final_ram; + let final_memory = vm_output_state.ram; let output_address = stack.pop().unwrap(); let length: usize = final_memory.get(&output_address).unwrap().value() as usize; assert_eq!(length, num_removal_records); diff --git a/src/models/blockchain/transaction/validity/tasm/hash_utxo.rs b/src/models/blockchain/transaction/validity/tasm/hash_utxo.rs index fc7f4236..4b800b14 100644 --- a/src/models/blockchain/transaction/validity/tasm/hash_utxo.rs +++ b/src/models/blockchain/transaction/validity/tasm/hash_utxo.rs @@ -16,7 +16,7 @@ use triton_vm::prelude::{triton_asm, BFieldElement}; use tasm_lib::library::Library; use twenty_first::{ - shared_math::bfield_codec::BFieldCodec, util_types::algebraic_hasher::AlgebraicHasher, + math::bfield_codec::BFieldCodec, util_types::algebraic_hasher::AlgebraicHasher, }; use crate::models::blockchain::{ diff --git a/src/models/blockchain/transaction/validity/tasm/removal_records_integrity.rs b/src/models/blockchain/transaction/validity/tasm/removal_records_integrity.rs index e7879160..65407fde 100644 --- a/src/models/blockchain/transaction/validity/tasm/removal_records_integrity.rs +++ b/src/models/blockchain/transaction/validity/tasm/removal_records_integrity.rs @@ -23,7 +23,7 @@ use tasm_lib::{ use triton_vm::instruction::LabelledInstruction; use triton_vm::prelude::{triton_asm, BFieldElement, NonDeterminism, PublicInput}; use twenty_first::{ - shared_math::{bfield_codec::BFieldCodec, tip5::Digest}, + math::{bfield_codec::BFieldCodec, tip5::Digest}, util_types::{ algebraic_hasher::AlgebraicHasher, mmr::{mmr_accumulator::MmrAccumulator, mmr_trait::Mmr}, @@ -54,7 +54,7 @@ use super::{ impl CompiledProgram for RemovalRecordsIntegrity { fn rust_shadow( public_input: &PublicInput, - nondeterminism: &NonDeterminism, + nondeterminism: &NonDeterminism, ) -> anyhow::Result> { let hash_of_kernel = *Digest::decode( &public_input diff --git a/src/models/blockchain/transaction/validity/tasm/transaction_kernel_mast_hash.rs b/src/models/blockchain/transaction/validity/tasm/transaction_kernel_mast_hash.rs index f1f86ba6..d811724e 100644 --- a/src/models/blockchain/transaction/validity/tasm/transaction_kernel_mast_hash.rs +++ b/src/models/blockchain/transaction/validity/tasm/transaction_kernel_mast_hash.rs @@ -21,9 +21,9 @@ use tasm_lib::traits::basic_snippet::BasicSnippet; use tasm_lib::traits::function::{Function, FunctionInitialState}; use tasm_lib::{rust_shadowing_helper_functions, ExecutionState}; use triton_vm::{prelude::BFieldElement, triton_asm}; -use twenty_first::shared_math::bfield_codec::BFieldCodec; +use twenty_first::math::bfield_codec::BFieldCodec; use twenty_first::{ - shared_math::{tip5::Digest, tip5::DIGEST_LENGTH}, + math::{tip5::Digest, tip5::DIGEST_LENGTH}, util_types::algebraic_hasher::AlgebraicHasher, }; @@ -417,7 +417,7 @@ impl Function for TransactionKernelMastHash { let mut rng: StdRng = SeedableRng::from_seed(seed); let input_state = Self::input_state_with_kernel_in_memory( BFieldElement::new(rng.gen_range(0..(1 << 20))), - &twenty_first::shared_math::bfield_codec::BFieldCodec::encode( + &twenty_first::math::bfield_codec::BFieldCodec::encode( &pseudorandom_transaction_kernel(rand::Rng::gen::<[u8; 32]>(&mut rng), 4, 4, 2), ), ); @@ -434,8 +434,8 @@ mod tests { use tasm_lib::test_helpers::test_rust_equivalence_given_complete_state; use tasm_lib::traits::function::ShadowedFunction; use tasm_lib::traits::rust_shadow::RustShadow; - use tasm_lib::twenty_first::shared_math::tip5::Tip5; - use twenty_first::shared_math::bfield_codec::BFieldCodec; + use tasm_lib::twenty_first::math::tip5::Tip5; + use twenty_first::math::bfield_codec::BFieldCodec; use twenty_first::util_types::algebraic_hasher::Domain; use crate::models::consensus::mast_hash::MastHash; @@ -464,11 +464,11 @@ mod tests { ); // read the digest from the very short TX kernel - let d0 = output_with_known_digest.final_stack.pop().unwrap(); - let d1 = output_with_known_digest.final_stack.pop().unwrap(); - let d2 = output_with_known_digest.final_stack.pop().unwrap(); - let d3 = output_with_known_digest.final_stack.pop().unwrap(); - let d4 = output_with_known_digest.final_stack.pop().unwrap(); + let d0 = output_with_known_digest.op_stack.stack.pop().unwrap(); + let d1 = output_with_known_digest.op_stack.stack.pop().unwrap(); + let d2 = output_with_known_digest.op_stack.stack.pop().unwrap(); + let d3 = output_with_known_digest.op_stack.stack.pop().unwrap(); + let d4 = output_with_known_digest.op_stack.stack.pop().unwrap(); let mast_hash_from_vm = Digest::new([d0, d1, d2, d3, d4]); // Verify agreement with mast_hash method on tx kernel diff --git a/src/models/blockchain/transaction/validity/typescripts_halt.rs b/src/models/blockchain/transaction/validity/typescripts_halt.rs index 3e81c0af..c606e2dd 100644 --- a/src/models/blockchain/transaction/validity/typescripts_halt.rs +++ b/src/models/blockchain/transaction/validity/typescripts_halt.rs @@ -44,7 +44,7 @@ use itertools::Itertools; // self.type_script_standard_input() // } -// fn nondeterminism(&self) -> NonDeterminism { +// fn nondeterminism(&self) -> NonDeterminism { // todo!() // } // } diff --git a/src/models/blockchain/type_scripts/mod.rs b/src/models/blockchain/type_scripts/mod.rs index e0bff9dc..e7700422 100644 --- a/src/models/blockchain/type_scripts/mod.rs +++ b/src/models/blockchain/type_scripts/mod.rs @@ -11,7 +11,7 @@ use tasm_lib::{ program::{Program, PublicInput}, }, twenty_first::{ - shared_math::bfield_codec::BFieldCodec, util_types::algebraic_hasher::AlgebraicHasher, + math::bfield_codec::BFieldCodec, util_types::algebraic_hasher::AlgebraicHasher, }, Digest, }; diff --git a/src/models/blockchain/type_scripts/native_currency.rs b/src/models/blockchain/type_scripts/native_currency.rs index 37b19d1f..eeeae637 100644 --- a/src/models/blockchain/type_scripts/native_currency.rs +++ b/src/models/blockchain/type_scripts/native_currency.rs @@ -24,7 +24,7 @@ use tasm_lib::triton_vm::instruction::LabelledInstruction; use tasm_lib::triton_vm::program::{NonDeterminism, Program, PublicInput}; use tasm_lib::triton_vm::triton_asm; use tasm_lib::twenty_first::util_types::algebraic_hasher::AlgebraicHasher; -use tasm_lib::{twenty_first::shared_math::b_field_element::BFieldElement, Digest}; +use tasm_lib::{twenty_first::math::b_field_element::BFieldElement, Digest}; use super::neptune_coins::NeptuneCoins; use super::TypeScriptWitness; @@ -220,7 +220,7 @@ impl SecretWitness for NativeCurrencyWitness { self.type_script_standard_input() } - fn nondeterminism(&self) -> NonDeterminism { + fn nondeterminism(&self) -> NonDeterminism { // memory let mut memory: HashMap = HashMap::new(); let input_salted_utxos_address = FIRST_NON_DETERMINISTICALLY_INITIALIZED_MEMORY_ADDRESS; diff --git a/src/models/blockchain/type_scripts/neptune_coins.rs b/src/models/blockchain/type_scripts/neptune_coins.rs index 95591419..152e9359 100644 --- a/src/models/blockchain/type_scripts/neptune_coins.rs +++ b/src/models/blockchain/type_scripts/neptune_coins.rs @@ -18,9 +18,7 @@ use std::{ ops::{Add, Mul, Neg, Sub}, str::FromStr, }; -use tasm_lib::{ - structure::tasm_object::TasmObject, twenty_first::shared_math::bfield_codec::BFieldCodec, -}; +use tasm_lib::{structure::tasm_object::TasmObject, twenty_first::math::bfield_codec::BFieldCodec}; /// `NeptuneCoins` records an amount of Neptune coins. Amounts are internally represented /// by an atomic unit called Neptune atomic units (nau), which itself is represented as a 128 diff --git a/src/models/blockchain/type_scripts/time_lock.rs b/src/models/blockchain/type_scripts/time_lock.rs index 897f5e3f..a8adb014 100644 --- a/src/models/blockchain/type_scripts/time_lock.rs +++ b/src/models/blockchain/type_scripts/time_lock.rs @@ -30,11 +30,11 @@ use tasm_lib::memory::encode_to_memory; use tasm_lib::memory::FIRST_NON_DETERMINISTICALLY_INITIALIZED_MEMORY_ADDRESS; use tasm_lib::triton_vm::program::Program; use tasm_lib::triton_vm::program::PublicInput; +use tasm_lib::twenty_first::math::tip5::Tip5; use tasm_lib::twenty_first::prelude::AlgebraicHasher; -use tasm_lib::twenty_first::shared_math::tip5::Tip5; use tasm_lib::{ triton_vm::{instruction::LabelledInstruction, program::NonDeterminism, triton_asm}, - twenty_first::shared_math::{b_field_element::BFieldElement, bfield_codec::BFieldCodec}, + twenty_first::math::{b_field_element::BFieldElement, bfield_codec::BFieldCodec}, Digest, }; @@ -397,7 +397,7 @@ pub struct TimeLockWitness { impl TimeLockWitness {} impl SecretWitness for TimeLockWitness { - fn nondeterminism(&self) -> NonDeterminism { + fn nondeterminism(&self) -> NonDeterminism { let mut memory: HashMap = HashMap::new(); let input_salted_utxos_address = FIRST_NON_DETERMINISTICALLY_INITIALIZED_MEMORY_ADDRESS; let output_salted_utxos_address = encode_to_memory( diff --git a/src/models/channel.rs b/src/models/channel.rs index d838c661..0d5112d1 100644 --- a/src/models/channel.rs +++ b/src/models/channel.rs @@ -3,7 +3,7 @@ use crate::prelude::twenty_first; use std::net::SocketAddr; use twenty_first::amount::u32s::U32s; -use twenty_first::shared_math::digest::Digest; +use twenty_first::math::digest::Digest; use super::blockchain::block::block_header::PROOF_OF_WORK_COUNT_U32_SIZE; use super::blockchain::block::{block_height::BlockHeight, Block}; diff --git a/src/models/consensus/mast_hash.rs b/src/models/consensus/mast_hash.rs index 604764fc..4d826adb 100644 --- a/src/models/consensus/mast_hash.rs +++ b/src/models/consensus/mast_hash.rs @@ -1,6 +1,6 @@ use itertools::Itertools; use tasm_lib::twenty_first::{ - shared_math::{b_field_element::BFieldElement, tip5::Digest}, + math::{b_field_element::BFieldElement, tip5::Digest}, util_types::{ algebraic_hasher::AlgebraicHasher, merkle_tree::{CpuParallel, MerkleTree}, diff --git a/src/models/consensus/mod.rs b/src/models/consensus/mod.rs index be79baa4..b94db010 100644 --- a/src/models/consensus/mod.rs +++ b/src/models/consensus/mod.rs @@ -11,8 +11,8 @@ use strum::Display; use tasm_lib::triton_vm; use tasm_lib::triton_vm::program::Program; use tasm_lib::triton_vm::stark::Stark; -use tasm_lib::twenty_first::shared_math::b_field_element::BFieldElement; -use tasm_lib::twenty_first::shared_math::bfield_codec::BFieldCodec; +use tasm_lib::twenty_first::math::b_field_element::BFieldElement; +use tasm_lib::twenty_first::math::bfield_codec::BFieldCodec; use tasm_lib::Digest; use triton_vm::prelude::Claim; use triton_vm::prelude::NonDeterminism; @@ -72,8 +72,8 @@ pub struct RawWitness { digests: Vec, } -impl From> for RawWitness { - fn from(nondeterminism: NonDeterminism) -> Self { +impl From for RawWitness { + fn from(nondeterminism: NonDeterminism) -> Self { Self { tokens: nondeterminism.individual_tokens, ram: nondeterminism.ram.into_iter().collect_vec(), @@ -82,7 +82,7 @@ impl From> for RawWitness { } } -impl From for NonDeterminism { +impl From for NonDeterminism { fn from(value: RawWitness) -> Self { Self { individual_tokens: value.tokens.clone(), @@ -239,8 +239,7 @@ impl ValidityTree { && !program.as_ref().unwrap().labelled_instructions().is_empty() { if let WitnessType::RawWitness(raw_witness) = &self.witness_type { - let nondeterminism: NonDeterminism = - raw_witness.clone().into(); + let nondeterminism: NonDeterminism = raw_witness.clone().into(); let proof = triton_vm::prove( Stark::default(), claim, @@ -279,7 +278,7 @@ pub trait SecretWitness { } /// The non-determinism for the VM that this witness corresponds to - fn nondeterminism(&self) -> NonDeterminism; + fn nondeterminism(&self) -> NonDeterminism; // fn verify(&self) -> bool { // if self.consensus_program().code().is_empty() { @@ -322,7 +321,7 @@ impl WhichProgram { pub fn run( &self, public_input: PublicInput, - non_determinism: NonDeterminism, + non_determinism: NonDeterminism, ) -> Result, ConsensusError> { match self { WhichProgram::TimeLock => { diff --git a/src/models/consensus/tasm/builtins.rs b/src/models/consensus/tasm/builtins.rs index 7bd9b642..1a8edfa2 100644 --- a/src/models/consensus/tasm/builtins.rs +++ b/src/models/consensus/tasm/builtins.rs @@ -1,7 +1,7 @@ use tasm_lib::{ structure::tasm_object::TasmObject, twenty_first::{ - shared_math::{ + math::{ b_field_element::BFieldElement, bfield_codec::BFieldCodec, x_field_element::XFieldElement, }, diff --git a/src/models/consensus/tasm/environment.rs b/src/models/consensus/tasm/environment.rs index 6a4ec910..472ca706 100644 --- a/src/models/consensus/tasm/environment.rs +++ b/src/models/consensus/tasm/environment.rs @@ -8,8 +8,7 @@ use std::{cell::RefCell, collections::HashMap}; use tasm_lib::{ - triton_vm::program::NonDeterminism, twenty_first::shared_math::b_field_element::BFieldElement, - Digest, + triton_vm::program::NonDeterminism, twenty_first::math::b_field_element::BFieldElement, Digest, }; thread_local! { @@ -27,7 +26,7 @@ thread_local! { pub(crate) fn init( program_digest: Digest, input: &[BFieldElement], - nondeterminism: NonDeterminism, + nondeterminism: NonDeterminism, ) { let mut pub_input_reversed = input.to_vec(); pub_input_reversed.reverse(); diff --git a/src/models/consensus/tasm/program.rs b/src/models/consensus/tasm/program.rs index ef54d521..9cfedc9f 100644 --- a/src/models/consensus/tasm/program.rs +++ b/src/models/consensus/tasm/program.rs @@ -6,7 +6,7 @@ use tasm_lib::{ instruction::LabelledInstruction, program::{NonDeterminism, Program}, }, - twenty_first::shared_math::b_field_element::BFieldElement, + twenty_first::math::b_field_element::BFieldElement, Digest, }; @@ -49,7 +49,7 @@ where fn run( &self, input: &[BFieldElement], - nondeterminism: NonDeterminism, + nondeterminism: NonDeterminism, ) -> Result, ConsensusError> { println!( "Running consensus program with input: {}", diff --git a/src/models/consensus/timestamp.rs b/src/models/consensus/timestamp.rs index 784e811a..41ed7a7c 100644 --- a/src/models/consensus/timestamp.rs +++ b/src/models/consensus/timestamp.rs @@ -11,9 +11,7 @@ use num_traits::Zero; use proptest::strategy::{BoxedStrategy, Strategy}; use rand::distributions::{Distribution, Standard}; use serde::{Deserialize, Serialize}; -use tasm_lib::twenty_first::shared_math::{ - b_field_element::BFieldElement, bfield_codec::BFieldCodec, -}; +use tasm_lib::twenty_first::math::{b_field_element::BFieldElement, bfield_codec::BFieldCodec}; /// Dedicated struct for timestamps (and durations). Counts the number of /// milliseconds elapsed since the Unix epoch (00:00 UTC on 1 Jan 1970) using @@ -123,16 +121,6 @@ impl Display for Timestamp { } } -#[cfg(test)] -mod test { - use crate::models::consensus::timestamp::Timestamp; - - #[test] - fn print_now() { - println!("{}", Timestamp::now()); - } -} - impl Distribution for Standard { fn sample(&self, rng: &mut R) -> Timestamp { Timestamp(rng.gen::()) @@ -146,3 +134,13 @@ impl<'a> Arbitrary<'a> for Timestamp { ))) } } + +#[cfg(test)] +mod test { + use crate::models::consensus::timestamp::Timestamp; + + #[test] + fn print_now() { + println!("{}", Timestamp::now()); + } +} diff --git a/src/models/database.rs b/src/models/database.rs index a0e4ada6..d057463c 100644 --- a/src/models/database.rs +++ b/src/models/database.rs @@ -2,7 +2,7 @@ use crate::prelude::twenty_first; use serde::{Deserialize, Serialize}; use std::{fmt, net::IpAddr}; -use twenty_first::shared_math::digest::Digest; +use twenty_first::math::digest::Digest; use super::blockchain::block::block_header::BlockHeader; use super::blockchain::block::block_height::BlockHeight; diff --git a/src/models/peer.rs b/src/models/peer.rs index bb5c81a0..8943374d 100644 --- a/src/models/peer.rs +++ b/src/models/peer.rs @@ -4,7 +4,7 @@ use serde::{Deserialize, Serialize}; use std::fmt::Display; use std::net::SocketAddr; use std::time::SystemTime; -use twenty_first::shared_math::digest::Digest; +use twenty_first::math::digest::Digest; use twenty_first::amount::u32s::U32s; use twenty_first::util_types::algebraic_hasher::AlgebraicHasher; diff --git a/src/models/shared.rs b/src/models/shared.rs index af4ad5f3..e6043258 100644 --- a/src/models/shared.rs +++ b/src/models/shared.rs @@ -2,7 +2,7 @@ use crate::prelude::twenty_first; use serde::{Deserialize, Serialize}; -use twenty_first::shared_math::digest::Digest; +use twenty_first::math::digest::Digest; use super::blockchain::block::block_height::BlockHeight; use super::blockchain::block::Block; diff --git a/src/models/state/archival_state.rs b/src/models/state/archival_state.rs index 89d814eb..27fdbdcd 100644 --- a/src/models/state/archival_state.rs +++ b/src/models/state/archival_state.rs @@ -12,7 +12,7 @@ use tokio::io::AsyncWriteExt; use tokio::io::SeekFrom; use tracing::{debug, warn}; use twenty_first::amount::u32s::U32s; -use twenty_first::shared_math::digest::Digest; +use twenty_first::math::digest::Digest; use super::shared::new_block_file_is_needed; use crate::config_models::data_directory::DataDirectory; diff --git a/src/models/state/mempool.rs b/src/models/state/mempool.rs index d04c477b..457563d7 100644 --- a/src/models/state/mempool.rs +++ b/src/models/state/mempool.rs @@ -25,7 +25,7 @@ use std::{ collections::{hash_map::RandomState, HashMap, HashSet}, iter::Rev, }; -use twenty_first::shared_math::digest::Digest; +use twenty_first::math::digest::Digest; use twenty_first::util_types::algebraic_hasher::AlgebraicHasher; use crate::models::blockchain::block::Block; diff --git a/src/models/state/mod.rs b/src/models/state/mod.rs index 7f23c829..aa722dcb 100644 --- a/src/models/state/mod.rs +++ b/src/models/state/mod.rs @@ -12,8 +12,8 @@ use num_traits::CheckedSub; use std::cmp::max; use std::ops::{Deref, DerefMut}; use tracing::{debug, info, warn}; -use twenty_first::shared_math::bfield_codec::BFieldCodec; -use twenty_first::shared_math::digest::Digest; +use twenty_first::math::bfield_codec::BFieldCodec; +use twenty_first::math::digest::Digest; use twenty_first::util_types::algebraic_hasher::AlgebraicHasher; use self::blockchain_state::BlockchainState; diff --git a/src/models/state/wallet/address/generation_address.rs b/src/models/state/wallet/address/generation_address.rs index 7471c9c7..4f8f323d 100644 --- a/src/models/state/wallet/address/generation_address.rs +++ b/src/models/state/wallet/address/generation_address.rs @@ -14,12 +14,15 @@ use rand::thread_rng; use rand::Rng; use serde_derive::Deserialize; use serde_derive::Serialize; +use sha3::digest::ExtendableOutput; +use sha3::digest::Update; +use sha3::Shake256; use triton_vm::triton_asm; use triton_vm::triton_instr; -use twenty_first::shared_math::lattice::kem::CIPHERTEXT_SIZE_IN_BFES; -use twenty_first::shared_math::tip5::DIGEST_LENGTH; +use twenty_first::math::lattice::kem::CIPHERTEXT_SIZE_IN_BFES; +use twenty_first::math::tip5::DIGEST_LENGTH; use twenty_first::{ - shared_math::{b_field_element::BFieldElement, fips202::shake256, lattice, tip5::Digest}, + math::{b_field_element::BFieldElement, lattice, tip5::Digest}, util_types::algebraic_hasher::AlgebraicHasher, }; @@ -143,9 +146,7 @@ pub fn std_lockscript_reference_verify_unlock( impl SpendingKey { pub fn to_address(&self) -> ReceivingAddress { - let randomness: [u8; 32] = shake256(&bincode::serialize(&self.seed).unwrap(), 32) - .try_into() - .unwrap(); + let randomness: [u8; 32] = shake256::<32>(&bincode::serialize(&self.seed).unwrap()); let (_sk, pk) = lattice::kem::keygen(randomness); let privacy_digest = self.privacy_preimage.hash::(); ReceivingAddress { @@ -215,9 +216,7 @@ impl SpendingKey { Hash::hash_varlen(&[seed.values().to_vec(), vec![BFieldElement::new(0)]].concat()); let unlock_key = Hash::hash_varlen(&[seed.values().to_vec(), vec![BFieldElement::new(1)]].concat()); - let randomness: [u8; 32] = shake256(&bincode::serialize(&seed).unwrap(), 32) - .try_into() - .unwrap(); + let randomness: [u8; 32] = shake256::<32>(&bincode::serialize(&seed).unwrap()); let (sk, _pk) = lattice::kem::keygen(randomness); let receiver_identifier = derive_receiver_id(seed); @@ -290,9 +289,7 @@ impl ReceivingAddress { pub fn from_spending_key(spending_key: &SpendingKey) -> Self { let seed = spending_key.seed; let receiver_identifier = derive_receiver_id(seed); - let randomness: [u8; 32] = shake256(&bincode::serialize(&seed).unwrap(), 32) - .try_into() - .unwrap(); + let randomness: [u8; 32] = shake256::<32>(&bincode::serialize(&seed).unwrap()); let (_sk, pk) = lattice::kem::keygen(randomness); let privacy_digest = spending_key.privacy_preimage.hash::(); Self { @@ -440,6 +437,17 @@ impl ReceivingAddress { } } +// note: copied from twenty_first::math::lattice::kem::shake256() +// which is not public +fn shake256(randomness: impl AsRef<[u8]>) -> [u8; NUM_OUT_BYTES] { + let mut hasher = Shake256::default(); + hasher.update(randomness.as_ref()); + + let mut result = [0u8; NUM_OUT_BYTES]; + hasher.finalize_xof_into(&mut result); + result +} + /// /// Claim /// - (input: Hash(kernel), output: [], program: lock_script) @@ -447,7 +455,7 @@ impl ReceivingAddress { #[cfg(test)] mod test_generation_addresses { use rand::{random, thread_rng, Rng, RngCore}; - use twenty_first::{shared_math::tip5::Digest, util_types::algebraic_hasher::AlgebraicHasher}; + use twenty_first::{math::tip5::Digest, util_types::algebraic_hasher::AlgebraicHasher}; use crate::{ config_models::network::Network, diff --git a/src/models/state/wallet/mod.rs b/src/models/state/wallet/mod.rs index b2ac4dde..4d63f006 100644 --- a/src/models/state/wallet/mod.rs +++ b/src/models/state/wallet/mod.rs @@ -18,13 +18,13 @@ use serde::{Deserialize, Serialize}; use std::fs::{self}; use std::path::{Path, PathBuf}; use tracing::info; -use twenty_first::shared_math::bfield_codec::BFieldCodec; -use twenty_first::shared_math::digest::Digest; -use twenty_first::shared_math::x_field_element::XFieldElement; +use twenty_first::math::bfield_codec::BFieldCodec; +use twenty_first::math::digest::Digest; +use twenty_first::math::x_field_element::XFieldElement; use twenty_first::util_types::algebraic_hasher::AlgebraicHasher; use zeroize::{Zeroize, ZeroizeOnDrop}; -use twenty_first::shared_math::b_field_element::BFieldElement; +use twenty_first::math::b_field_element::BFieldElement; use crate::models::blockchain::block::block_height::BlockHeight; @@ -352,8 +352,8 @@ mod wallet_tests { use num_traits::CheckedSub; use rand::random; use tracing_test::traced_test; - use twenty_first::shared_math::tip5::DIGEST_LENGTH; - use twenty_first::shared_math::x_field_element::EXTENSION_DEGREE; + use twenty_first::math::tip5::DIGEST_LENGTH; + use twenty_first::math::x_field_element::EXTENSION_DEGREE; use super::monitored_utxo::MonitoredUtxo; use super::wallet_state::WalletState; diff --git a/src/models/state/wallet/monitored_utxo.rs b/src/models/state/wallet/monitored_utxo.rs index 0c95232a..f214f99f 100644 --- a/src/models/state/wallet/monitored_utxo.rs +++ b/src/models/state/wallet/monitored_utxo.rs @@ -7,7 +7,7 @@ use crate::{ util_types::mutator_set::ms_membership_proof::MsMembershipProof, }; use serde::{Deserialize, Serialize}; -use twenty_first::shared_math::tip5::Digest; +use twenty_first::math::tip5::Digest; use crate::models::blockchain::transaction::utxo::Utxo; diff --git a/src/models/state/wallet/rusty_wallet_database.rs b/src/models/state/wallet/rusty_wallet_database.rs index c45092e9..d1260743 100644 --- a/src/models/state/wallet/rusty_wallet_database.rs +++ b/src/models/state/wallet/rusty_wallet_database.rs @@ -6,7 +6,7 @@ use crate::database::{ }, NeptuneLevelDb, }; -use twenty_first::shared_math::tip5::Digest; +use twenty_first::math::tip5::Digest; use super::monitored_utxo::MonitoredUtxo; diff --git a/src/models/state/wallet/utxo_notification_pool.rs b/src/models/state/wallet/utxo_notification_pool.rs index 4e4dee9e..da820f9e 100644 --- a/src/models/state/wallet/utxo_notification_pool.rs +++ b/src/models/state/wallet/utxo_notification_pool.rs @@ -14,7 +14,7 @@ use std::{ time::{Duration, SystemTime}, }; use tracing::{error, info, warn}; -use twenty_first::{shared_math::tip5::Digest, util_types::algebraic_hasher::AlgebraicHasher}; +use twenty_first::{math::tip5::Digest, util_types::algebraic_hasher::AlgebraicHasher}; use crate::models::{ blockchain::{ diff --git a/src/models/state/wallet/wallet_state.rs b/src/models/state/wallet/wallet_state.rs index 2abc8468..0690f29b 100644 --- a/src/models/state/wallet/wallet_state.rs +++ b/src/models/state/wallet/wallet_state.rs @@ -18,8 +18,8 @@ use std::path::PathBuf; use tokio::fs::OpenOptions; use tokio::io::{AsyncBufReadExt, AsyncWriteExt, BufReader, BufWriter}; use tracing::{debug, error, info, warn}; -use twenty_first::shared_math::bfield_codec::BFieldCodec; -use twenty_first::shared_math::digest::Digest; +use twenty_first::math::bfield_codec::BFieldCodec; +use twenty_first::math::digest::Digest; use twenty_first::util_types::algebraic_hasher::AlgebraicHasher; use super::coin_with_possible_timelock::CoinWithPossibleTimeLock; diff --git a/src/peer_loop.rs b/src/peer_loop.rs index cc35ffdf..1c7784da 100644 --- a/src/peer_loop.rs +++ b/src/peer_loop.rs @@ -25,7 +25,7 @@ use std::time::SystemTime; use tokio::select; use tokio::sync::{broadcast, mpsc}; use tracing::{debug, error, info, warn}; -use twenty_first::shared_math::digest::Digest; +use twenty_first::math::digest::Digest; const STANDARD_BLOCK_BATCH_SIZE: usize = 50; const MAX_PEER_LIST_LENGTH: usize = 10; diff --git a/src/rpc_server.rs b/src/rpc_server.rs index c53a5e32..03a3db83 100644 --- a/src/rpc_server.rs +++ b/src/rpc_server.rs @@ -13,8 +13,8 @@ use std::str::FromStr; use tarpc::context; use tokio::sync::mpsc::error::SendError; use tracing::{error, info}; +use twenty_first::math::digest::Digest; use twenty_first::prelude::U32s; -use twenty_first::shared_math::digest::Digest; use twenty_first::util_types::algebraic_hasher::AlgebraicHasher; use crate::config_models::network::Network; diff --git a/src/tests/shared.rs b/src/tests/shared.rs index 693cc9da..fe845973 100644 --- a/src/tests/shared.rs +++ b/src/tests/shared.rs @@ -33,12 +33,12 @@ use tasm_lib::twenty_first::util_types::mmr::mmr_accumulator::MmrAccumulator; use tokio::sync::{broadcast, mpsc}; use tokio_serde::{formats::SymmetricalBincode, Serializer}; use tokio_util::codec::{Encoder, LengthDelimitedCodec}; -use twenty_first::shared_math::bfield_codec::BFieldCodec; -use twenty_first::shared_math::digest::Digest; +use twenty_first::math::bfield_codec::BFieldCodec; +use twenty_first::math::digest::Digest; use twenty_first::util_types::algebraic_hasher::AlgebraicHasher; use twenty_first::util_types::mmr::mmr_trait::Mmr; -use twenty_first::shared_math::b_field_element::BFieldElement; +use twenty_first::math::b_field_element::BFieldElement; use crate::config_models::cli_args; use crate::config_models::data_directory::DataDirectory; diff --git a/src/util_types/mutator_set.rs b/src/util_types/mutator_set.rs index edc05bb4..f9e22e9f 100644 --- a/src/util_types/mutator_set.rs +++ b/src/util_types/mutator_set.rs @@ -3,7 +3,7 @@ use std::{error::Error, fmt}; use itertools::Itertools; use tasm_lib::{ twenty_first::{ - shared_math::bfield_codec::BFieldCodec, + math::bfield_codec::BFieldCodec, util_types::algebraic_hasher::{AlgebraicHasher, Sponge}, }, Digest, diff --git a/src/util_types/mutator_set/active_window.rs b/src/util_types/mutator_set/active_window.rs index 60ae68f1..cc0e17b8 100644 --- a/src/util_types/mutator_set/active_window.rs +++ b/src/util_types/mutator_set/active_window.rs @@ -5,7 +5,7 @@ use get_size::GetSize; use itertools::Itertools; use serde::{Deserialize, Serialize}; use std::ops::Range; -use twenty_first::shared_math::bfield_codec::BFieldCodec; +use twenty_first::math::bfield_codec::BFieldCodec; use super::chunk::Chunk; use super::shared::{CHUNK_SIZE, WINDOW_SIZE}; diff --git a/src/util_types/mutator_set/addition_record.rs b/src/util_types/mutator_set/addition_record.rs index 7a7e0b15..66fbf8e8 100644 --- a/src/util_types/mutator_set/addition_record.rs +++ b/src/util_types/mutator_set/addition_record.rs @@ -5,8 +5,8 @@ use get_size::GetSize; use rand::rngs::StdRng; use rand::{Rng, SeedableRng}; use serde::{Deserialize, Serialize}; -use twenty_first::shared_math::bfield_codec::BFieldCodec; -use twenty_first::shared_math::tip5::Digest; +use twenty_first::math::bfield_codec::BFieldCodec; +use twenty_first::math::tip5::Digest; #[derive( Clone, Copy, Debug, Serialize, Deserialize, PartialEq, Eq, Hash, GetSize, BFieldCodec, Arbitrary, diff --git a/src/util_types/mutator_set/archival_mmr.rs b/src/util_types/mutator_set/archival_mmr.rs index e52a87e1..ce33c756 100644 --- a/src/util_types/mutator_set/archival_mmr.rs +++ b/src/util_types/mutator_set/archival_mmr.rs @@ -6,7 +6,7 @@ use tasm_lib::twenty_first::util_types::mmr::shared_advanced::get_peak_heights_a use tasm_lib::twenty_first::util_types::mmr::shared_advanced::node_index_to_leaf_index; use tasm_lib::twenty_first::util_types::mmr::shared_basic::leaf_index_to_mt_index_and_peak_index; use tasm_lib::twenty_first::util_types::mmr::shared_basic::right_lineage_length_from_leaf_index; -use twenty_first::shared_math::digest::Digest; +use twenty_first::math::digest::Digest; use twenty_first::util_types::algebraic_hasher::AlgebraicHasher; use twenty_first::util_types::shared::bag_peaks; @@ -295,12 +295,13 @@ pub(crate) mod mmr_test { use crate::database::storage::storage_schema::SimpleRustyStorage; use crate::database::storage::storage_vec::OrdinaryVec; use crate::database::NeptuneLevelDb; - use twenty_first::shared_math::b_field_element::BFieldElement; - use twenty_first::shared_math::other::*; - use twenty_first::shared_math::tip5::Tip5; + use twenty_first::math::b_field_element::BFieldElement; + use twenty_first::math::other::*; + use twenty_first::math::tip5::Tip5; use twenty_first::util_types::merkle_tree::*; use twenty_first::util_types::merkle_tree_maker::MerkleTreeMaker; use twenty_first::util_types::mmr::mmr_accumulator::MmrAccumulator; + use twenty_first::util_types::mmr::shared_advanced::get_peak_heights; use twenty_first::util_types::mmr::shared_advanced::get_peak_heights_and_peak_node_indices; type Storage = OrdinaryVec; @@ -352,7 +353,7 @@ pub(crate) mod mmr_test { pub fn root_from_arbitrary_number_of_digests(digests: &[Digest]) -> Digest { let mut trees = vec![]; let mut num_processed_digests = 0; - for tree_height in indices_of_set_bits(digests.len() as u64) { + for tree_height in get_peak_heights(digests.len() as u64) { let num_leaves_in_tree = 1 << tree_height; let leaf_digests = &digests[num_processed_digests..num_processed_digests + num_leaves_in_tree]; @@ -380,7 +381,7 @@ pub(crate) mod mmr_test { #[tokio::test] async fn empty_mmr_behavior_test() { - type H = blake3::Hasher; + type H = Tip5; let mut archival_mmr: ArchivalMmr = mock::get_empty_ammr().await; let mut accumulator_mmr: MmrAccumulator = MmrAccumulator::::new(vec![]); @@ -459,7 +460,7 @@ pub(crate) mod mmr_test { #[tokio::test] async fn verify_against_correct_peak_test() { - type H = blake3::Hasher; + type H = Tip5; // This test addresses a bug that was discovered late in the development process // where it was possible to fake a verification proof by providing a valid leaf @@ -589,10 +590,10 @@ pub(crate) mod mmr_test { async fn bag_peaks_gen() { // Verify that archival and accumulator MMR produce the same root - let leaf_hashes_blake3: Vec = random_elements(3); + let leaf_hashes_tip5: Vec = random_elements(3); let archival_mmr_small: ArchivalMmr = - mock::get_ammr_from_digests::(leaf_hashes_blake3.clone()).await; - let accumulator_mmr_small = MmrAccumulator::::new(leaf_hashes_blake3); + mock::get_ammr_from_digests::(leaf_hashes_tip5.clone()).await; + let accumulator_mmr_small = MmrAccumulator::::new(leaf_hashes_tip5); assert_eq!( archival_mmr_small.bag_peaks().await, accumulator_mmr_small.bag_peaks() @@ -608,8 +609,7 @@ pub(crate) mod mmr_test { } #[tokio::test] - async fn bag_peaks_blake3_test() { - bag_peaks_gen::().await; + async fn bag_peaks_tip5_test() { bag_peaks_gen::().await; } @@ -656,17 +656,17 @@ pub(crate) mod mmr_test { #[tokio::test] async fn accumulator_mmr_mutate_leaf_test() { - type H = blake3::Hasher; + type H = Tip5; // Verify that upating leafs in archival and in accumulator MMR results in the same peaks // and verify that updating all leafs in an MMR results in the expected MMR for size in 1..150 { let new_leaf: Digest = random(); - let leaf_hashes_blake3: Vec = random_elements(size); + let leaf_hashes_tip5: Vec = random_elements(size); - let mut acc = MmrAccumulator::::new(leaf_hashes_blake3.clone()); + let mut acc = MmrAccumulator::::new(leaf_hashes_tip5.clone()); let mut archival: ArchivalMmr = - mock::get_ammr_from_digests::(leaf_hashes_blake3.clone()).await; + mock::get_ammr_from_digests::(leaf_hashes_tip5.clone()).await; let archival_end_state: ArchivalMmr = mock::get_ammr_from_digests::(vec![new_leaf; size]).await; for i in 0..size { @@ -685,15 +685,15 @@ pub(crate) mod mmr_test { #[tokio::test] async fn mmr_prove_verify_leaf_mutation_test() { - type H = blake3::Hasher; + type H = Tip5; for size in 1..150 { let new_leaf: Digest = random(); let bad_leaf: Digest = random(); - let leaf_hashes_blake3: Vec = random_elements(size); - let mut acc = MmrAccumulator::::new(leaf_hashes_blake3.clone()); + let leaf_hashes_tip5: Vec = random_elements(size); + let mut acc = MmrAccumulator::::new(leaf_hashes_tip5.clone()); let mut archival: ArchivalMmr = - mock::get_ammr_from_digests::(leaf_hashes_blake3.clone()).await; + mock::get_ammr_from_digests::(leaf_hashes_tip5.clone()).await; let archival_end_state: ArchivalMmr = mock::get_ammr_from_digests::(vec![new_leaf; size]).await; for i in 0..size { @@ -733,18 +733,18 @@ pub(crate) mod mmr_test { #[tokio::test] async fn mmr_append_test() { - type H = blake3::Hasher; + type H = Tip5; // Verify that building an MMR iteratively or in *one* function call results in the same MMR for size in 1..260 { - let leaf_hashes_blake3: Vec = random_elements(size); + let leaf_hashes_tip5: Vec = random_elements(size); let mut archival_iterative: ArchivalMmr = mock::get_ammr_from_digests::(vec![]).await; let archival_batch: ArchivalMmr = - mock::get_ammr_from_digests::(leaf_hashes_blake3.clone()).await; + mock::get_ammr_from_digests::(leaf_hashes_tip5.clone()).await; let mut accumulator_iterative = MmrAccumulator::::new(vec![]); - let accumulator_batch = MmrAccumulator::::new(leaf_hashes_blake3.clone()); - for (leaf_index, leaf_hash) in leaf_hashes_blake3.clone().into_iter().enumerate() { + let accumulator_batch = MmrAccumulator::::new(leaf_hashes_tip5.clone()); + for (leaf_index, leaf_hash) in leaf_hashes_tip5.clone().into_iter().enumerate() { let archival_membership_proof: MmrMembershipProof = archival_iterative.append(leaf_hash).await; let accumulator_membership_proof = accumulator_iterative.append(leaf_hash); @@ -790,7 +790,7 @@ pub(crate) mod mmr_test { let empty_accumulator = MmrAccumulator::::new(vec![]); assert!(empty_accumulator.verify_batch_update( &archival_batch.get_peaks().await, - &leaf_hashes_blake3, + &leaf_hashes_tip5, &[], )); } @@ -995,7 +995,7 @@ pub(crate) mod mmr_test { #[tokio::test] async fn remove_last_leaf_test() { - type H = blake3::Hasher; + type H = Tip5; let input_digests: Vec = random_elements(12); let mut mmr: ArchivalMmr = @@ -1031,7 +1031,7 @@ pub(crate) mod mmr_test { #[tokio::test] async fn remove_last_leaf_pbt() { - type H = blake3::Hasher; + type H = Tip5; let small_size: usize = 100; let big_size: usize = 350; @@ -1054,8 +1054,8 @@ pub(crate) mod mmr_test { } #[tokio::test] - async fn variable_size_blake3_mmr_test() { - type H = blake3::Hasher; + async fn variable_size_tip5_mmr_test2() { + type H = Tip5; let node_counts: Vec = vec![ 1, 3, 4, 7, 8, 10, 11, 15, 16, 18, 19, 22, 23, 25, 26, 31, 32, 34, 35, 38, 39, 41, 42, @@ -1142,7 +1142,7 @@ pub(crate) mod mmr_test { #[tokio::test] async fn leveldb_persist_storage_schema_test() { - type H = blake3::Hasher; + type H = Tip5; let db = NeptuneLevelDb::open_new_test_database(true, None, None, None) .await diff --git a/src/util_types/mutator_set/archival_mutator_set.rs b/src/util_types/mutator_set/archival_mutator_set.rs index dff76196..c0d7e8ec 100644 --- a/src/util_types/mutator_set/archival_mutator_set.rs +++ b/src/util_types/mutator_set/archival_mutator_set.rs @@ -7,7 +7,7 @@ use std::collections::{BTreeSet, HashMap}; use std::error::Error; use itertools::Itertools; -use twenty_first::shared_math::tip5::Digest; +use twenty_first::math::tip5::Digest; use twenty_first::util_types::algebraic_hasher::AlgebraicHasher; use twenty_first::util_types::mmr; use twenty_first::util_types::mmr::mmr_accumulator::MmrAccumulator; diff --git a/src/util_types/mutator_set/chunk.rs b/src/util_types/mutator_set/chunk.rs index 3c809c42..2cb6457a 100644 --- a/src/util_types/mutator_set/chunk.rs +++ b/src/util_types/mutator_set/chunk.rs @@ -4,7 +4,7 @@ use arbitrary::Arbitrary; use get_size::GetSize; use itertools::Itertools; use serde_derive::{Deserialize, Serialize}; -use twenty_first::shared_math::bfield_codec::BFieldCodec; +use twenty_first::math::bfield_codec::BFieldCodec; use super::shared::CHUNK_SIZE; @@ -132,7 +132,7 @@ mod chunk_tests { use rand::{thread_rng, RngCore}; use std::collections::HashSet; - use twenty_first::shared_math::b_field_element::BFieldElement; + use twenty_first::math::b_field_element::BFieldElement; use super::*; diff --git a/src/util_types/mutator_set/chunk_dictionary.rs b/src/util_types/mutator_set/chunk_dictionary.rs index 9e0ebf31..b912e33f 100644 --- a/src/util_types/mutator_set/chunk_dictionary.rs +++ b/src/util_types/mutator_set/chunk_dictionary.rs @@ -10,10 +10,10 @@ use rand::{Rng, RngCore, SeedableRng}; use serde::{Deserialize, Serialize}; use std::collections::HashMap; use triton_vm::prelude::Digest; -use twenty_first::shared_math::bfield_codec::BFieldCodec; +use twenty_first::math::bfield_codec::BFieldCodec; use super::chunk::Chunk; -use twenty_first::shared_math::b_field_element::BFieldElement; +use twenty_first::math::b_field_element::BFieldElement; use twenty_first::util_types::mmr::mmr_membership_proof::MmrMembershipProof; #[derive(Clone, Debug, Serialize, Deserialize, GetSize, PartialEq, Eq, Default, Arbitrary)] @@ -121,8 +121,8 @@ mod chunk_dict_tests { use super::super::archival_mmr::mmr_test::mock; use tasm_lib::twenty_first::util_types::algebraic_hasher::AlgebraicHasher; - use twenty_first::shared_math::other::random_elements; - use twenty_first::shared_math::tip5::{Digest, Tip5}; + use twenty_first::math::other::random_elements; + use twenty_first::math::tip5::{Digest, Tip5}; use twenty_first::util_types::mmr::mmr_membership_proof::MmrMembershipProof; use super::*; diff --git a/src/util_types/mutator_set/mmra_and_membership_proofs.rs b/src/util_types/mutator_set/mmra_and_membership_proofs.rs index 47d34fd2..6013d205 100644 --- a/src/util_types/mutator_set/mmra_and_membership_proofs.rs +++ b/src/util_types/mutator_set/mmra_and_membership_proofs.rs @@ -146,7 +146,7 @@ impl Arbitrary for MmraAndMembershipProofs { mod test { use super::*; - use crate::twenty_first::shared_math::tip5::Digest; + use crate::twenty_first::math::tip5::Digest; use proptest::collection::vec; use proptest::prelude::*; use proptest_arbitrary_interop::arb; diff --git a/src/util_types/mutator_set/ms_membership_proof.rs b/src/util_types/mutator_set/ms_membership_proof.rs index f998351a..f6290ac7 100644 --- a/src/util_types/mutator_set/ms_membership_proof.rs +++ b/src/util_types/mutator_set/ms_membership_proof.rs @@ -13,9 +13,8 @@ use std::fmt; use std::marker::PhantomData; use std::ops::IndexMut; use tasm_lib::structure::tasm_object::TasmObject; -use twenty_first::shared_math::bfield_codec::BFieldCodec; -use twenty_first::shared_math::other::log_2_floor; -use twenty_first::shared_math::tip5::Digest; +use twenty_first::math::bfield_codec::BFieldCodec; +use twenty_first::math::tip5::Digest; use twenty_first::util_types::mmr::mmr_membership_proof::MmrMembershipProof; use twenty_first::util_types::algebraic_hasher::AlgebraicHasher; @@ -357,7 +356,7 @@ impl MsMembershipProof { "Cannot revert a membership proof for an item to back its state before the item was added to the mutator set." ); let aocl_discrepancies = self.auth_path_aocl.leaf_index ^ previous_leaf_count; - let aocl_mt_height = log_2_floor(aocl_discrepancies as u128); + let aocl_mt_height = (aocl_discrepancies as u128).ilog2(); // trim to length while self.auth_path_aocl.authentication_path.len() > aocl_mt_height as usize { @@ -374,7 +373,7 @@ impl MsMembershipProof { for (k, (mp, _chnk)) in self.target_chunks.dictionary.iter_mut() { // calculate length let chunk_discrepancies = swbfi_leaf_count ^ k; - let chunk_mt_height = log_2_floor(chunk_discrepancies as u128); + let chunk_mt_height = (chunk_discrepancies as u128).ilog2(); // trim to length while mp.authentication_path.len() > chunk_mt_height as usize { @@ -555,7 +554,7 @@ mod ms_proof_tests { use itertools::{Either, Itertools}; use rand::rngs::StdRng; use rand::{random, thread_rng, Rng, RngCore, SeedableRng}; - use twenty_first::shared_math::other::random_elements; + use twenty_first::math::other::random_elements; use twenty_first::util_types::mmr::mmr_membership_proof::MmrMembershipProof; #[test] diff --git a/src/util_types/mutator_set/mutator_set_accumulator.rs b/src/util_types/mutator_set/mutator_set_accumulator.rs index 8ce3a6bd..a7faed8a 100644 --- a/src/util_types/mutator_set/mutator_set_accumulator.rs +++ b/src/util_types/mutator_set/mutator_set_accumulator.rs @@ -7,11 +7,11 @@ use get_size::GetSize; use itertools::Itertools; use num_traits::Zero; use serde::{Deserialize, Serialize}; -use tasm_lib::twenty_first::shared_math::b_field_element::BFieldElement; +use tasm_lib::twenty_first::math::b_field_element::BFieldElement; use tasm_lib::twenty_first::util_types::mmr::mmr_membership_proof::MmrMembershipProof; use tasm_lib::DIGEST_LENGTH; -use twenty_first::shared_math::bfield_codec::BFieldCodec; -use twenty_first::shared_math::tip5::Digest; +use twenty_first::math::bfield_codec::BFieldCodec; +use twenty_first::math::tip5::Digest; use twenty_first::util_types::mmr::mmr_trait::Mmr; use twenty_first::util_types::{ algebraic_hasher::AlgebraicHasher, mmr::mmr_accumulator::MmrAccumulator, diff --git a/src/util_types/mutator_set/removal_record.rs b/src/util_types/mutator_set/removal_record.rs index 6b36a98f..b96cbe14 100644 --- a/src/util_types/mutator_set/removal_record.rs +++ b/src/util_types/mutator_set/removal_record.rs @@ -14,8 +14,8 @@ use std::collections::{HashMap, HashSet}; use std::marker::PhantomData; use std::ops::IndexMut; use tasm_lib::structure::tasm_object::TasmObject; -use twenty_first::shared_math::bfield_codec::BFieldCodec; -use twenty_first::shared_math::tip5::Digest; +use twenty_first::math::bfield_codec::BFieldCodec; +use twenty_first::math::tip5::Digest; use twenty_first::util_types::algebraic_hasher::AlgebraicHasher; use super::chunk_dictionary::{pseudorandom_chunk_dictionary, ChunkDictionary}; diff --git a/src/util_types/mutator_set/rusty_archival_mutator_set.rs b/src/util_types/mutator_set/rusty_archival_mutator_set.rs index 8b7c86b4..bf44d10f 100644 --- a/src/util_types/mutator_set/rusty_archival_mutator_set.rs +++ b/src/util_types/mutator_set/rusty_archival_mutator_set.rs @@ -5,7 +5,7 @@ use crate::database::NeptuneLevelDb; use crate::prelude::twenty_first; use crate::Hash; -use twenty_first::shared_math::tip5::Digest; +use twenty_first::math::tip5::Digest; use super::{ active_window::ActiveWindow, archival_mmr::ArchivalMmr, @@ -98,7 +98,7 @@ impl StorageWriter for RustyArchivalMutatorSet { mod tests { use itertools::Itertools; use rand::{random, thread_rng, RngCore}; - use twenty_first::shared_math::tip5::Tip5; + use twenty_first::math::tip5::Tip5; use crate::util_types::mutator_set::commit; use crate::util_types::mutator_set::{ diff --git a/src/util_types/test_shared/mutator_set.rs b/src/util_types/test_shared/mutator_set.rs index 58712a47..fc95132b 100644 --- a/src/util_types/test_shared/mutator_set.rs +++ b/src/util_types/test_shared/mutator_set.rs @@ -10,8 +10,7 @@ use rand::{thread_rng, Rng, RngCore, SeedableRng}; use crate::database::storage::storage_vec::traits::*; use crate::database::NeptuneLevelDb; -use twenty_first::shared_math::other::{log_2_ceil, log_2_floor}; -use twenty_first::shared_math::tip5::Digest; +use twenty_first::math::tip5::Digest; use twenty_first::util_types::algebraic_hasher::AlgebraicHasher; use twenty_first::util_types::mmr::mmr_accumulator::MmrAccumulator; use twenty_first::util_types::mmr::mmr_membership_proof::MmrMembershipProof; @@ -135,7 +134,7 @@ pub fn pseudorandom_mmra_with_mp( let num_peaks = leaf_count.count_ones(); let leaf_index = rng.next_u64() % leaf_count; let (inner_index, peak_index) = leaf_index_to_mt_index_and_peak_index(leaf_index, leaf_count); - let tree_height = log_2_ceil(inner_index as u128 + 1u128) - 1; + let tree_height = (inner_index as u128 + 1u128).next_power_of_two().ilog2() - 1; let (root, authentication_paths) = pseudorandom_merkle_root_with_authentication_paths::( rng.gen(), @@ -216,8 +215,7 @@ pub fn pseudorandom_mmra_with_mps( // generate root and authentication paths let tree_height = - log_2_floor(*leafs_and_mt_indices.first().map(|(_l, i, _o)| i).unwrap() as u128) - as usize; + (*leafs_and_mt_indices.first().map(|(_l, i, _o)| i).unwrap() as u128).ilog2() as usize; let (root, authentication_paths) = pseudorandom_merkle_root_with_authentication_paths::( rng.gen(), tree_height,