@aztec/protocol-contracts 4.0.0-rc.4 → 4.0.0-rc.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -2327,7 +2327,7 @@
|
|
|
2327
2327
|
}
|
|
2328
2328
|
},
|
|
2329
2329
|
"bytecode": "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",
|
|
2330
|
-
"debug_symbols": "
|
|
2330
|
+
"debug_symbols": "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"
|
|
2331
2331
|
}
|
|
2332
2332
|
],
|
|
2333
2333
|
"outputs": {
|
|
@@ -2654,7 +2654,7 @@
|
|
|
2654
2654
|
},
|
|
2655
2655
|
"309": {
|
|
2656
2656
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/noir-protocol-circuits/crates/types/src/abis/block_header.nr",
|
|
2657
|
-
"source": "use crate::{\n abis::{\n append_only_tree_snapshot::AppendOnlyTreeSnapshot, global_variables::GlobalVariables,\n state_reference::StateReference,\n },\n constants::{BLOCK_HEADER_LENGTH, DOM_SEP__BLOCK_HEADER_HASH, GENESIS_BLOCK_HEADER_HASH},\n hash::poseidon2_hash_with_separator,\n traits::{Deserialize, Empty, Hash, Serialize},\n};\nuse std::meta::derive;\n\n// docs:start:block-header\n#[derive(Deserialize, Eq, Serialize)]\npub struct BlockHeader {\n pub last_archive: AppendOnlyTreeSnapshot,\n pub state: StateReference,\n\n // The hash of the sponge blob for this block, which commits to the tx effects added in this block.\n // Note: it may also include tx effects from previous blocks within the same checkpoint.\n // When proving tx effects from this block only, we must refer to the `sponge_blob_hash` in the previous block\n // header to show that the effect was added after the previous block.\n // The previous block header can be validated using a membership proof of the last leaf in `last_archive`.\n pub sponge_blob_hash: Field,\n\n pub global_variables: GlobalVariables,\n pub total_fees: Field,\n pub total_mana_used: Field,\n}\n// docs:end:block-header\n\nimpl Empty for BlockHeader {\n fn empty() -> Self {\n Self {\n last_archive: AppendOnlyTreeSnapshot::empty(),\n state: StateReference::empty(),\n sponge_blob_hash: 0,\n global_variables: GlobalVariables::empty(),\n total_fees: 0,\n total_mana_used: 0,\n }\n }\n}\n\nimpl Hash for BlockHeader {\n fn hash(self) -> Field {\n poseidon2_hash_with_separator(self.serialize(), DOM_SEP__BLOCK_HEADER_HASH)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let header = BlockHeader::empty();\n // We use the BLOCK_HEADER_LENGTH constant to ensure that there is a match\n // between the derived trait implementation and the constant.\n let serialized: [Field; BLOCK_HEADER_LENGTH] = header.serialize();\n let deserialized = BlockHeader::deserialize(serialized);\n assert(header.eq(deserialized));\n}\n\n#[test]\nfn hash_of_genesis_block_header() {\n let mut header = BlockHeader::empty();\n // The following values are taken from world_state.test.cpp > WorldStateTest.GetInitialTreeInfoForAllTrees.\n header.state.l1_to_l2_message_tree.root =\n 0x0d582c10ff8115413aa5b70564fdd2f3cefe1f33a1e43a47bc495081e91e73e5;\n header.state.partial.note_hash_tree.root =\n 0x2ac5dda169f6bb3b9ca09bbac34e14c94d1654597db740153a1288d859a8a30a;\n header.state.partial.nullifier_tree.root =\n 0x1ec3788cd1c32e54d889d67fe29e481114f9d4afe9b44b229aa29d8ad528dd31;\n header.state.partial.nullifier_tree.next_available_leaf_index = 128;\n header.state.partial.public_data_tree.root =\n 0x23c08a6b1297210c5e24c76b9a936250a1ce2721576c26ea797c7ec35f9e46a9;\n header.state.partial.public_data_tree.next_available_leaf_index = 128;\n\n let hash = header.hash();\n assert_eq(hash, GENESIS_BLOCK_HEADER_HASH);\n}\n\n#[test]\nfn hash_of_empty_block_header_match_typescript() {\n let header = BlockHeader::empty();\n let hash = header.hash();\n\n // Value from block_header.test.ts \"computes empty hash\" test\n let test_data_empty_hash = 0x0bdc537052dea0f80db9698585dff9f32063b86b6d4934ac17c30c81e8e416d3;\n assert_eq(hash, test_data_empty_hash);\n}\n"
|
|
2657
|
+
"source": "use crate::{\n abis::{\n append_only_tree_snapshot::AppendOnlyTreeSnapshot, global_variables::GlobalVariables,\n state_reference::StateReference,\n },\n constants::{BLOCK_HEADER_LENGTH, DOM_SEP__BLOCK_HEADER_HASH, GENESIS_BLOCK_HEADER_HASH},\n hash::poseidon2_hash_with_separator,\n traits::{Deserialize, Empty, Hash, Serialize},\n};\nuse std::meta::derive;\n\n// docs:start:block-header\n#[derive(Deserialize, Eq, Serialize)]\npub struct BlockHeader {\n pub last_archive: AppendOnlyTreeSnapshot,\n pub state: StateReference,\n\n // The hash of the sponge blob for this block, which commits to the tx effects added in this block.\n // Note: it may also include tx effects from previous blocks within the same checkpoint.\n // When proving tx effects from this block only, we must refer to the `sponge_blob_hash` in the previous block\n // header to show that the effect was added after the previous block.\n // The previous block header can be validated using a membership proof of the last leaf in `last_archive`.\n pub sponge_blob_hash: Field,\n\n pub global_variables: GlobalVariables,\n pub total_fees: Field,\n pub total_mana_used: Field,\n}\n// docs:end:block-header\n\nimpl BlockHeader {\n pub fn chain_id(self) -> Field {\n self.global_variables.chain_id\n }\n\n pub fn version(self) -> Field {\n self.global_variables.version\n }\n\n pub fn block_number(self) -> u32 {\n self.global_variables.block_number\n }\n\n pub fn timestamp(self) -> u64 {\n self.global_variables.timestamp\n }\n}\n\nimpl Empty for BlockHeader {\n fn empty() -> Self {\n Self {\n last_archive: AppendOnlyTreeSnapshot::empty(),\n state: StateReference::empty(),\n sponge_blob_hash: 0,\n global_variables: GlobalVariables::empty(),\n total_fees: 0,\n total_mana_used: 0,\n }\n }\n}\n\nimpl Hash for BlockHeader {\n fn hash(self) -> Field {\n poseidon2_hash_with_separator(self.serialize(), DOM_SEP__BLOCK_HEADER_HASH)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let header = BlockHeader::empty();\n // We use the BLOCK_HEADER_LENGTH constant to ensure that there is a match\n // between the derived trait implementation and the constant.\n let serialized: [Field; BLOCK_HEADER_LENGTH] = header.serialize();\n let deserialized = BlockHeader::deserialize(serialized);\n assert(header.eq(deserialized));\n}\n\n#[test]\nfn hash_of_genesis_block_header() {\n let mut header = BlockHeader::empty();\n // The following values are taken from world_state.test.cpp > WorldStateTest.GetInitialTreeInfoForAllTrees.\n header.state.l1_to_l2_message_tree.root =\n 0x0d582c10ff8115413aa5b70564fdd2f3cefe1f33a1e43a47bc495081e91e73e5;\n header.state.partial.note_hash_tree.root =\n 0x2ac5dda169f6bb3b9ca09bbac34e14c94d1654597db740153a1288d859a8a30a;\n header.state.partial.nullifier_tree.root =\n 0x1ec3788cd1c32e54d889d67fe29e481114f9d4afe9b44b229aa29d8ad528dd31;\n header.state.partial.nullifier_tree.next_available_leaf_index = 128;\n header.state.partial.public_data_tree.root =\n 0x23c08a6b1297210c5e24c76b9a936250a1ce2721576c26ea797c7ec35f9e46a9;\n header.state.partial.public_data_tree.next_available_leaf_index = 128;\n\n let hash = header.hash();\n assert_eq(hash, GENESIS_BLOCK_HEADER_HASH);\n}\n\n#[test]\nfn hash_of_empty_block_header_match_typescript() {\n let header = BlockHeader::empty();\n let hash = header.hash();\n\n // Value from block_header.test.ts \"computes empty hash\" test\n let test_data_empty_hash = 0x0bdc537052dea0f80db9698585dff9f32063b86b6d4934ac17c30c81e8e416d3;\n assert_eq(hash, test_data_empty_hash);\n}\n"
|
|
2658
2658
|
},
|
|
2659
2659
|
"387": {
|
|
2660
2660
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/noir-protocol-circuits/crates/types/src/hash.nr",
|