@aztec/stdlib 3.0.0-nightly.20250917 → 3.0.0-nightly.20250919
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.
- package/dest/avm/avm.d.ts +6 -0
- package/dest/avm/avm.d.ts.map +1 -1
- package/dest/avm/avm_circuit_public_inputs.d.ts +6 -1
- package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
- package/dest/avm/avm_circuit_public_inputs.js +11 -6
- package/dest/avm/avm_proving_request.d.ts +7 -0
- package/dest/avm/avm_proving_request.d.ts.map +1 -1
- package/dest/block/body.d.ts +4 -1
- package/dest/block/body.d.ts.map +1 -1
- package/dest/block/body.js +16 -5
- package/dest/block/index.d.ts +1 -0
- package/dest/block/index.d.ts.map +1 -1
- package/dest/block/index.js +1 -0
- package/dest/block/l2_block.d.ts +8 -5
- package/dest/block/l2_block.d.ts.map +1 -1
- package/dest/block/l2_block.js +14 -7
- package/dest/block/l2_block_code_to_purge.d.ts +3 -14
- package/dest/block/l2_block_code_to_purge.d.ts.map +1 -1
- package/dest/block/l2_block_code_to_purge.js +23 -13
- package/dest/block/l2_block_header.d.ts +100 -0
- package/dest/block/l2_block_header.d.ts.map +1 -0
- package/dest/block/l2_block_header.js +146 -0
- package/dest/block/l2_block_stream/l2_tips_memory_store.js +1 -1
- package/dest/block/published_l2_block.d.ts +2 -2
- package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
- package/dest/block/test/l2_tips_store_test_suite.js +1 -3
- package/dest/interfaces/block-builder.d.ts +2 -2
- package/dest/interfaces/block-builder.d.ts.map +1 -1
- package/dest/interfaces/epoch-prover.d.ts +26 -9
- package/dest/interfaces/epoch-prover.d.ts.map +1 -1
- package/dest/interfaces/proving-job.d.ts +233 -125
- package/dest/interfaces/proving-job.d.ts.map +1 -1
- package/dest/interfaces/proving-job.js +120 -102
- package/dest/interfaces/pxe.d.ts +192 -90
- package/dest/interfaces/pxe.d.ts.map +1 -1
- package/dest/interfaces/pxe.js +5 -31
- package/dest/interfaces/server_circuit_prover.d.ts +31 -27
- package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
- package/dest/interfaces/validator.d.ts +3 -2
- package/dest/interfaces/validator.d.ts.map +1 -1
- package/dest/kernel/private_circuit_public_inputs.d.ts +4 -4
- package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_circuit_public_inputs.js +7 -7
- package/dest/kernel/private_context_inputs.d.ts +2 -2
- package/dest/kernel/private_context_inputs.d.ts.map +1 -1
- package/dest/kernel/private_context_inputs.js +4 -4
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +1 -1
- package/dest/p2p/consensus_payload.d.ts +7 -6
- package/dest/p2p/consensus_payload.d.ts.map +1 -1
- package/dest/p2p/consensus_payload.js +7 -6
- package/dest/parity/index.d.ts +2 -3
- package/dest/parity/index.d.ts.map +1 -1
- package/dest/parity/index.js +2 -3
- package/dest/parity/{base_parity_inputs.d.ts → parity_base_private_inputs.d.ts} +6 -6
- package/dest/parity/parity_base_private_inputs.d.ts.map +1 -0
- package/dest/parity/{base_parity_inputs.js → parity_base_private_inputs.js} +5 -5
- package/dest/parity/parity_root_private_inputs.d.ts +39 -0
- package/dest/parity/parity_root_private_inputs.d.ts.map +1 -0
- package/dest/parity/{root_parity_inputs.js → parity_root_private_inputs.js} +12 -13
- package/dest/proofs/proof_data.d.ts +4 -3
- package/dest/proofs/proof_data.d.ts.map +1 -1
- package/dest/proofs/proof_data.js +2 -2
- package/dest/proofs/proving_request_type.d.ts +16 -11
- package/dest/proofs/proving_request_type.d.ts.map +1 -1
- package/dest/proofs/proving_request_type.js +16 -11
- package/dest/rollup/base_rollup_hints.d.ts +12 -3
- package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
- package/dest/rollup/base_rollup_hints.js +11 -5
- package/dest/rollup/block_constant_data.d.ts +20 -6
- package/dest/rollup/block_constant_data.d.ts.map +1 -1
- package/dest/rollup/block_constant_data.js +15 -7
- package/dest/rollup/{block_merge_rollup.d.ts → block_merge_rollup_private_inputs.d.ts} +17 -10
- package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/{block_merge_rollup.js → block_merge_rollup_private_inputs.js} +14 -13
- package/dest/rollup/block_rollup_public_inputs.d.ts +124 -0
- package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -0
- package/dest/rollup/block_rollup_public_inputs.js +85 -0
- package/dest/rollup/block_root_rollup_private_inputs.d.ts +236 -0
- package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/block_root_rollup_private_inputs.js +257 -0
- package/dest/rollup/checkpoint_constant_data.d.ts +54 -0
- package/dest/rollup/checkpoint_constant_data.d.ts.map +1 -0
- package/dest/rollup/checkpoint_constant_data.js +55 -0
- package/dest/{tx/proposed_block_header.d.ts → rollup/checkpoint_header.d.ts} +11 -12
- package/dest/rollup/checkpoint_header.d.ts.map +1 -0
- package/dest/{tx/proposed_block_header.js → rollup/checkpoint_header.js} +9 -9
- package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +30 -0
- package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/checkpoint_merge_rollup_private_inputs.js +37 -0
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +105 -0
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -0
- package/dest/rollup/checkpoint_rollup_public_inputs.js +105 -0
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +123 -0
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/checkpoint_root_rollup_private_inputs.js +178 -0
- package/dest/rollup/epoch_constant_data.d.ts +19 -2
- package/dest/rollup/epoch_constant_data.d.ts.map +1 -1
- package/dest/rollup/epoch_constant_data.js +20 -7
- package/dest/rollup/index.d.ts +14 -12
- package/dest/rollup/index.d.ts.map +1 -1
- package/dest/rollup/index.js +14 -12
- package/dest/rollup/{private_base_rollup_inputs.d.ts → private_tx_base_rollup_private_inputs.d.ts} +7 -7
- package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/{private_base_rollup_inputs.js → private_tx_base_rollup_private_inputs.js} +6 -6
- package/dest/rollup/{public_base_rollup_inputs.d.ts → public_tx_base_rollup_private_inputs.d.ts} +7 -7
- package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/{public_base_rollup_inputs.js → public_tx_base_rollup_private_inputs.js} +6 -6
- package/dest/rollup/root_rollup_private_inputs.d.ts +67 -0
- package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/root_rollup_private_inputs.js +69 -0
- package/dest/rollup/root_rollup_public_inputs.d.ts +46 -0
- package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -0
- package/dest/rollup/root_rollup_public_inputs.js +71 -0
- package/dest/rollup/{merge_rollup.d.ts → tx_merge_rollup_private_inputs.d.ts} +11 -10
- package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/{merge_rollup.js → tx_merge_rollup_private_inputs.js} +14 -13
- package/dest/rollup/{base_or_merge_rollup_public_inputs.d.ts → tx_rollup_public_inputs.d.ts} +12 -12
- package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -0
- package/dest/rollup/{base_or_merge_rollup_public_inputs.js → tx_rollup_public_inputs.js} +14 -14
- package/dest/stats/stats.d.ts +1 -1
- package/dest/stats/stats.d.ts.map +1 -1
- package/dest/tests/factories.d.ts +28 -68
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +90 -115
- package/dest/tests/mocks.d.ts +3 -2
- package/dest/tests/mocks.d.ts.map +1 -1
- package/dest/tests/mocks.js +3 -3
- package/dest/tx/block_header.d.ts +12 -13
- package/dest/tx/block_header.d.ts.map +1 -1
- package/dest/tx/block_header.js +16 -21
- package/dest/tx/global_variables.d.ts.map +1 -1
- package/dest/tx/global_variables.js +0 -1
- package/dest/tx/index.d.ts +0 -1
- package/dest/tx/index.d.ts.map +1 -1
- package/dest/tx/index.js +0 -1
- package/dest/tx/private_execution_result.d.ts +2 -2
- package/dest/tx/private_execution_result.d.ts.map +1 -1
- package/dest/tx/private_execution_result.js +3 -3
- package/dest/tx/tx_constant_data.d.ts +4 -4
- package/dest/tx/tx_constant_data.d.ts.map +1 -1
- package/dest/tx/tx_constant_data.js +6 -6
- package/dest/tx/tx_effect.d.ts +0 -3
- package/dest/tx/tx_effect.d.ts.map +1 -1
- package/dest/tx/tx_effect.js +2 -7
- package/package.json +8 -8
- package/src/avm/avm_circuit_public_inputs.ts +10 -0
- package/src/block/body.ts +23 -6
- package/src/block/index.ts +1 -0
- package/src/block/l2_block.ts +18 -8
- package/src/block/l2_block_code_to_purge.ts +30 -31
- package/src/block/l2_block_header.ts +232 -0
- package/src/block/l2_block_stream/l2_tips_memory_store.ts +1 -1
- package/src/block/test/l2_tips_store_test_suite.ts +1 -2
- package/src/interfaces/block-builder.ts +2 -6
- package/src/interfaces/epoch-prover.ts +35 -11
- package/src/interfaces/proving-job.ts +199 -123
- package/src/interfaces/pxe.ts +3 -138
- package/src/interfaces/server_circuit_prover.ts +83 -52
- package/src/interfaces/validator.ts +3 -2
- package/src/kernel/private_circuit_public_inputs.ts +5 -5
- package/src/kernel/private_context_inputs.ts +2 -2
- package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +1 -1
- package/src/p2p/consensus_payload.ts +8 -7
- package/src/parity/index.ts +2 -3
- package/src/parity/{base_parity_inputs.ts → parity_base_private_inputs.ts} +6 -6
- package/src/parity/{root_parity_inputs.ts → parity_root_private_inputs.ts} +16 -18
- package/src/proofs/proof_data.ts +5 -8
- package/src/proofs/proving_request_type.ts +14 -8
- package/src/rollup/base_rollup_hints.ts +9 -1
- package/src/rollup/block_constant_data.ts +13 -3
- package/src/rollup/{block_merge_rollup.ts → block_merge_rollup_private_inputs.ts} +15 -11
- package/src/rollup/block_rollup_public_inputs.ts +123 -0
- package/src/rollup/block_root_rollup_private_inputs.ts +312 -0
- package/src/rollup/checkpoint_constant_data.ts +84 -0
- package/src/{tx/proposed_block_header.ts → rollup/checkpoint_header.ts} +16 -17
- package/src/rollup/checkpoint_merge_rollup_private_inputs.ts +49 -0
- package/src/rollup/{block_root_or_block_merge_public_inputs.ts → checkpoint_rollup_public_inputs.ts} +26 -52
- package/src/rollup/checkpoint_root_rollup_private_inputs.ts +218 -0
- package/src/rollup/epoch_constant_data.ts +32 -8
- package/src/rollup/index.ts +14 -12
- package/src/rollup/{private_base_rollup_inputs.ts → private_tx_base_rollup_private_inputs.ts} +9 -9
- package/src/rollup/{public_base_rollup_inputs.ts → public_tx_base_rollup_private_inputs.ts} +9 -9
- package/src/rollup/root_rollup_private_inputs.ts +90 -0
- package/src/rollup/{root_rollup.ts → root_rollup_public_inputs.ts} +8 -104
- package/src/rollup/{merge_rollup.ts → tx_merge_rollup_private_inputs.ts} +13 -9
- package/src/rollup/{base_or_merge_rollup_public_inputs.ts → tx_rollup_public_inputs.ts} +12 -12
- package/src/stats/stats.ts +18 -12
- package/src/tests/factories.ts +144 -199
- package/src/tests/mocks.ts +6 -13
- package/src/tx/block_header.ts +17 -32
- package/src/tx/global_variables.ts +0 -1
- package/src/tx/index.ts +0 -1
- package/src/tx/private_execution_result.ts +3 -3
- package/src/tx/tx_constant_data.ts +4 -4
- package/src/tx/tx_effect.ts +2 -7
- package/dest/parity/base_parity_inputs.d.ts.map +0 -1
- package/dest/parity/root_parity_input.d.ts +0 -52
- package/dest/parity/root_parity_input.d.ts.map +0 -1
- package/dest/parity/root_parity_input.js +0 -50
- package/dest/parity/root_parity_inputs.d.ts +0 -37
- package/dest/parity/root_parity_inputs.d.ts.map +0 -1
- package/dest/rollup/base_or_merge_rollup_public_inputs.d.ts.map +0 -1
- package/dest/rollup/block_merge_rollup.d.ts.map +0 -1
- package/dest/rollup/block_root_or_block_merge_public_inputs.d.ts +0 -134
- package/dest/rollup/block_root_or_block_merge_public_inputs.d.ts.map +0 -1
- package/dest/rollup/block_root_or_block_merge_public_inputs.js +0 -125
- package/dest/rollup/block_root_rollup.d.ts +0 -283
- package/dest/rollup/block_root_rollup.d.ts.map +0 -1
- package/dest/rollup/block_root_rollup.js +0 -306
- package/dest/rollup/empty_block_root_rollup_inputs.d.ts +0 -51
- package/dest/rollup/empty_block_root_rollup_inputs.d.ts.map +0 -1
- package/dest/rollup/empty_block_root_rollup_inputs.js +0 -65
- package/dest/rollup/merge_rollup.d.ts.map +0 -1
- package/dest/rollup/padding_block_root_rollup_inputs.d.ts +0 -20
- package/dest/rollup/padding_block_root_rollup_inputs.d.ts.map +0 -1
- package/dest/rollup/padding_block_root_rollup_inputs.js +0 -39
- package/dest/rollup/previous_rollup_block_data.d.ts +0 -47
- package/dest/rollup/previous_rollup_block_data.d.ts.map +0 -1
- package/dest/rollup/previous_rollup_block_data.js +0 -37
- package/dest/rollup/previous_rollup_data.d.ts +0 -47
- package/dest/rollup/previous_rollup_data.d.ts.map +0 -1
- package/dest/rollup/previous_rollup_data.js +0 -37
- package/dest/rollup/private_base_rollup_inputs.d.ts.map +0 -1
- package/dest/rollup/public_base_rollup_inputs.d.ts.map +0 -1
- package/dest/rollup/root_rollup.d.ts +0 -106
- package/dest/rollup/root_rollup.d.ts.map +0 -1
- package/dest/rollup/root_rollup.js +0 -147
- package/dest/tx/proposed_block_header.d.ts.map +0 -1
- package/src/parity/root_parity_input.ts +0 -71
- package/src/rollup/block_root_rollup.ts +0 -380
- package/src/rollup/empty_block_root_rollup_inputs.ts +0 -80
- package/src/rollup/padding_block_root_rollup_inputs.ts +0 -47
- package/src/rollup/previous_rollup_block_data.ts +0 -48
- package/src/rollup/previous_rollup_data.ts +0 -48
package/dest/tests/factories.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { BlobAccumulatorPublicInputs, FinalBlobAccumulatorPublicInputs } from '@aztec/blob-lib';
|
|
2
|
-
import { makeBatchedBlobAccumulator,
|
|
3
|
-
import { ARCHIVE_HEIGHT, AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED, AZTEC_MAX_EPOCH_DURATION,
|
|
2
|
+
import { makeBatchedBlobAccumulator, makeSpongeBlob } from '@aztec/blob-lib/testing';
|
|
3
|
+
import { ARCHIVE_HEIGHT, AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED, AZTEC_MAX_EPOCH_DURATION, CIVC_PROOF_LENGTH, CONTRACT_CLASS_LOG_SIZE_IN_FIELDS, FIXED_DA_GAS, FIXED_L2_GAS, GeneratorIndex, L1_TO_L2_MSG_SUBTREE_SIBLING_PATH_LENGTH, MAX_CONTRACT_CLASS_LOGS_PER_TX, MAX_ENQUEUED_CALLS_PER_CALL, MAX_ENQUEUED_CALLS_PER_TX, MAX_KEY_VALIDATION_REQUESTS_PER_CALL, MAX_L2_TO_L1_MSGS_PER_CALL, MAX_L2_TO_L1_MSGS_PER_TX, MAX_NOTE_HASHES_PER_CALL, MAX_NOTE_HASHES_PER_TX, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, MAX_NULLIFIERS_PER_CALL, MAX_NULLIFIERS_PER_TX, MAX_NULLIFIER_READ_REQUESTS_PER_CALL, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL, MAX_PRIVATE_LOGS_PER_CALL, MAX_PRIVATE_LOGS_PER_TX, MAX_PROTOCOL_CONTRACTS, MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX, MAX_PUBLIC_LOGS_PER_TX, MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX, NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, NOTE_HASH_SUBTREE_SIBLING_PATH_LENGTH, NULLIFIER_SUBTREE_SIBLING_PATH_LENGTH, NULLIFIER_TREE_HEIGHT, NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP, NUM_BASE_PARITY_PER_ROOT_PARITY, NUM_MSGS_PER_BASE_PARITY, PRIVATE_LOG_SIZE_IN_FIELDS, PUBLIC_DATA_TREE_HEIGHT, PUBLIC_LOG_SIZE_IN_FIELDS, RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, VK_TREE_HEIGHT } from '@aztec/constants';
|
|
4
4
|
import { makeHalfFullTuple, makeTuple } from '@aztec/foundation/array';
|
|
5
5
|
import { compact, padArrayEnd } from '@aztec/foundation/collection';
|
|
6
6
|
import { SchnorrSignature, poseidon2HashWithSeparator, sha256 } from '@aztec/foundation/crypto';
|
|
7
7
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
8
|
-
import {
|
|
8
|
+
import { Fr, GrumpkinScalar, Point } from '@aztec/foundation/fields';
|
|
9
9
|
import { MembershipWitness } from '@aztec/foundation/trees';
|
|
10
10
|
import { FunctionSelector } from '../abi/function_selector.js';
|
|
11
11
|
import { ContractStorageRead } from '../avm/contract_storage_read.js';
|
|
@@ -15,6 +15,7 @@ import { PublicDataHint } from '../avm/public_data_hint.js';
|
|
|
15
15
|
import { PublicDataRead } from '../avm/public_data_read.js';
|
|
16
16
|
import { PublicDataWrite } from '../avm/public_data_write.js';
|
|
17
17
|
import { AztecAddress } from '../aztec-address/index.js';
|
|
18
|
+
import { L2BlockHeader } from '../block/index.js';
|
|
18
19
|
import { SerializableContractInstance, computeContractClassId, computePublicBytecodeCommitment } from '../contract/index.js';
|
|
19
20
|
import { Gas, GasFees, GasSettings } from '../gas/index.js';
|
|
20
21
|
import { computeCalldataHash } from '../hash/hash.js';
|
|
@@ -35,30 +36,29 @@ import { ContractClassLogFields } from '../logs/index.js';
|
|
|
35
36
|
import { PrivateLog } from '../logs/private_log.js';
|
|
36
37
|
import { PublicLog } from '../logs/public_log.js';
|
|
37
38
|
import { CountedL2ToL1Message, L2ToL1Message, ScopedL2ToL1Message } from '../messaging/l2_to_l1_message.js';
|
|
38
|
-
import {
|
|
39
|
+
import { ParityBasePrivateInputs } from '../parity/parity_base_private_inputs.js';
|
|
39
40
|
import { ParityPublicInputs } from '../parity/parity_public_inputs.js';
|
|
40
|
-
import {
|
|
41
|
-
import {
|
|
41
|
+
import { ParityRootPrivateInputs } from '../parity/parity_root_private_inputs.js';
|
|
42
|
+
import { ProofData } from '../proofs/index.js';
|
|
42
43
|
import { Proof } from '../proofs/proof.js';
|
|
43
|
-
import { ProofData } from '../proofs/proof_data.js';
|
|
44
44
|
import { ProvingRequestType } from '../proofs/proving_request_type.js';
|
|
45
45
|
import { makeRecursiveProof } from '../proofs/recursive_proof.js';
|
|
46
46
|
import { AvmProofData } from '../rollup/avm_proof_data.js';
|
|
47
|
-
import { BaseOrMergeRollupPublicInputs } from '../rollup/base_or_merge_rollup_public_inputs.js';
|
|
48
47
|
import { PrivateBaseRollupHints, PublicBaseRollupHints } from '../rollup/base_rollup_hints.js';
|
|
49
|
-
import {
|
|
50
|
-
import {
|
|
51
|
-
import {
|
|
52
|
-
import {
|
|
48
|
+
import { BlockConstantData } from '../rollup/block_constant_data.js';
|
|
49
|
+
import { BlockMergeRollupPrivateInputs } from '../rollup/block_merge_rollup_private_inputs.js';
|
|
50
|
+
import { BlockRollupPublicInputs } from '../rollup/block_rollup_public_inputs.js';
|
|
51
|
+
import { BlockRootFirstRollupPrivateInputs, BlockRootSingleTxRollupPrivateInputs } from '../rollup/block_root_rollup_private_inputs.js';
|
|
52
|
+
import { CheckpointConstantData } from '../rollup/checkpoint_constant_data.js';
|
|
53
|
+
import { CheckpointHeader } from '../rollup/checkpoint_header.js';
|
|
54
|
+
import { CheckpointRollupPublicInputs, FeeRecipient } from '../rollup/checkpoint_rollup_public_inputs.js';
|
|
53
55
|
import { EpochConstantData } from '../rollup/epoch_constant_data.js';
|
|
54
|
-
import {
|
|
55
|
-
import {
|
|
56
|
-
import {
|
|
57
|
-
import { PreviousRollupData } from '../rollup/previous_rollup_data.js';
|
|
58
|
-
import { PrivateBaseRollupInputs } from '../rollup/private_base_rollup_inputs.js';
|
|
59
|
-
import { PublicBaseRollupInputs } from '../rollup/public_base_rollup_inputs.js';
|
|
60
|
-
import { RootRollupInputs, RootRollupPublicInputs } from '../rollup/root_rollup.js';
|
|
56
|
+
import { PrivateTxBaseRollupPrivateInputs } from '../rollup/private_tx_base_rollup_private_inputs.js';
|
|
57
|
+
import { PublicTxBaseRollupPrivateInputs } from '../rollup/public_tx_base_rollup_private_inputs.js';
|
|
58
|
+
import { RootRollupPublicInputs } from '../rollup/root_rollup_public_inputs.js';
|
|
61
59
|
import { PrivateBaseStateDiffHints } from '../rollup/state_diff_hints.js';
|
|
60
|
+
import { TxMergeRollupPrivateInputs } from '../rollup/tx_merge_rollup_private_inputs.js';
|
|
61
|
+
import { TxRollupPublicInputs } from '../rollup/tx_rollup_public_inputs.js';
|
|
62
62
|
import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
|
|
63
63
|
import { MerkleTreeId } from '../trees/merkle_tree_id.js';
|
|
64
64
|
import { NullifierLeaf, NullifierLeafPreimage } from '../trees/nullifier_leaf.js';
|
|
@@ -239,7 +239,7 @@ export function makePrivateToPublicKernelCircuitPublicInputs(seed = 1) {
|
|
|
239
239
|
return new PrivateToRollupKernelCircuitPublicInputs(makeTxConstantData(seed + 0x100), makePrivateToRollupAccumulatedData(seed, fullAccumulatedData), makeGas(seed + 0x600), makeAztecAddress(seed + 0x700), BigInt(seed + 0x800));
|
|
240
240
|
}
|
|
241
241
|
function makeAvmCircuitPublicInputs(seed = 1) {
|
|
242
|
-
return new AvmCircuitPublicInputs(makeGlobalVariables(seed), makeTreeSnapshots(seed + 0x10), makeGas(seed + 0x20), makeGasSettings(), makeGasFees(seed + 0x30), makeAztecAddress(seed + 0x40), makePublicCallRequestArrayLengths(seed + 0x40), makeTuple(MAX_ENQUEUED_CALLS_PER_TX, makePublicCallRequest, seed + 0x100), makeTuple(MAX_ENQUEUED_CALLS_PER_TX, makePublicCallRequest, seed + 0x200), makePublicCallRequest(seed + 0x300), makePrivateToAvmAccumulatedDataArrayLengths(seed + 0x400), makePrivateToAvmAccumulatedDataArrayLengths(seed + 0x410), makePrivateToAvmAccumulatedData(seed + 0x500), makePrivateToAvmAccumulatedData(seed + 0x600), makeTreeSnapshots(seed + 0x700), makeGas(seed + 0x750), makeAvmAccumulatedDataArrayLengths(seed + 0x800), makeAvmAccumulatedData(seed + 0x800), fr(seed + 0x900), false);
|
|
242
|
+
return new AvmCircuitPublicInputs(makeGlobalVariables(seed), fr(seed + 0x100), makeTreeSnapshots(seed + 0x10), makeGas(seed + 0x20), makeGasSettings(), makeGasFees(seed + 0x30), makeAztecAddress(seed + 0x40), makePublicCallRequestArrayLengths(seed + 0x40), makeTuple(MAX_ENQUEUED_CALLS_PER_TX, makePublicCallRequest, seed + 0x100), makeTuple(MAX_ENQUEUED_CALLS_PER_TX, makePublicCallRequest, seed + 0x200), makePublicCallRequest(seed + 0x300), makePrivateToAvmAccumulatedDataArrayLengths(seed + 0x400), makePrivateToAvmAccumulatedDataArrayLengths(seed + 0x410), makePrivateToAvmAccumulatedData(seed + 0x500), makePrivateToAvmAccumulatedData(seed + 0x600), makeTreeSnapshots(seed + 0x700), makeGas(seed + 0x750), makeAvmAccumulatedDataArrayLengths(seed + 0x800), makeAvmAccumulatedData(seed + 0x800), fr(seed + 0x900), false);
|
|
243
243
|
}
|
|
244
244
|
function makeSiblingPath(seed, size) {
|
|
245
245
|
return makeTuple(size, fr, seed);
|
|
@@ -339,7 +339,7 @@ function makeClaimedLengthArray(arraySize, makeItem, seed, length = arraySize) {
|
|
|
339
339
|
contractClassLogsHashes: makeClaimedLengthArray(MAX_CONTRACT_CLASS_LOGS_PER_TX, makeCountedLogHash, seed + 0xa00),
|
|
340
340
|
startSideEffectCounter: fr(seed + 0x849),
|
|
341
341
|
endSideEffectCounter: fr(seed + 0x850),
|
|
342
|
-
|
|
342
|
+
anchorBlockHeader: makeHeader(seed + 0xd00, undefined),
|
|
343
343
|
txContext: makeTxContext(seed + 0x1400),
|
|
344
344
|
isFeePayer: false
|
|
345
345
|
});
|
|
@@ -357,10 +357,10 @@ export function makeGlobalVariables(seed = 1, overrides = {}) {
|
|
|
357
357
|
...compact(overrides)
|
|
358
358
|
});
|
|
359
359
|
}
|
|
360
|
-
|
|
360
|
+
function makeGasFees(seed = 1) {
|
|
361
361
|
return new GasFees(seed, seed + 1);
|
|
362
362
|
}
|
|
363
|
-
|
|
363
|
+
function makeFeeRecipient(seed = 1) {
|
|
364
364
|
return new FeeRecipient(EthAddress.fromField(fr(seed)), fr(seed + 1));
|
|
365
365
|
}
|
|
366
366
|
/**
|
|
@@ -400,95 +400,42 @@ export function makeFeeRecipient(seed = 1) {
|
|
|
400
400
|
return new SchnorrSignature(Buffer.alloc(SchnorrSignature.SIZE, seed));
|
|
401
401
|
}
|
|
402
402
|
function makeBlockConstantData(seed = 1, globalVariables) {
|
|
403
|
-
return new BlockConstantData(makeAppendOnlyTreeSnapshot(seed + 0x100), makeAppendOnlyTreeSnapshot(seed + 0x200), fr(seed + 0x300), fr(seed + 0x400), globalVariables ?? makeGlobalVariables(seed + 0x500));
|
|
403
|
+
return new BlockConstantData(makeAppendOnlyTreeSnapshot(seed + 0x100), makeAppendOnlyTreeSnapshot(seed + 0x200), fr(seed + 0x300), fr(seed + 0x400), globalVariables ?? makeGlobalVariables(seed + 0x500), fr(seed + 0x600));
|
|
404
|
+
}
|
|
405
|
+
function makeCheckpointConstantData(seed = 1) {
|
|
406
|
+
return new CheckpointConstantData(fr(seed), fr(seed + 1), fr(seed + 2), fr(seed + 3), fr(seed + 4), fr(seed + 5), makeEthAddress(seed + 6), makeAztecAddress(seed + 7), makeGasFees(seed + 8));
|
|
407
|
+
}
|
|
408
|
+
function makeEpochConstantData(seed = 1) {
|
|
409
|
+
return new EpochConstantData(fr(seed), fr(seed + 1), fr(seed + 2), fr(seed + 3), fr(seed + 4));
|
|
404
410
|
}
|
|
405
411
|
/**
|
|
406
412
|
* Makes arbitrary base or merge rollup circuit public inputs.
|
|
407
413
|
* @param seed - The seed to use for generating the base rollup circuit public inputs.
|
|
408
414
|
* @param blockNumber - The block number to use for generating the base rollup circuit public inputs.
|
|
409
415
|
* @returns A base or merge rollup circuit public inputs.
|
|
410
|
-
*/ export function
|
|
411
|
-
return new
|
|
412
|
-
}
|
|
413
|
-
function makeEpochConstantData(seed = 1) {
|
|
414
|
-
return new EpochConstantData(fr(seed), fr(seed + 1), fr(seed + 2));
|
|
416
|
+
*/ export function makeTxRollupPublicInputs(seed = 0, globalVariables = undefined) {
|
|
417
|
+
return new TxRollupPublicInputs(1, makeBlockConstantData(seed + 0x200, globalVariables), makePartialStateReference(seed + 0x300), makePartialStateReference(seed + 0x400), makeSpongeBlob(seed + 0x500), makeSpongeBlob(seed + 0x600), fr(seed + 0x901), fr(seed + 0x902), fr(seed + 0x903));
|
|
415
418
|
}
|
|
416
419
|
/**
|
|
417
420
|
* Makes arbitrary block merge or block root rollup circuit public inputs.
|
|
418
421
|
* @param seed - The seed to use for generating the block merge or block root rollup circuit public inputs.
|
|
419
422
|
* @param blockNumber - The block number to use for generating the block merge or block root rollup circuit public inputs.
|
|
420
423
|
* @returns A block merge or block root rollup circuit public inputs.
|
|
421
|
-
*/ export function
|
|
422
|
-
return new
|
|
423
|
-
}
|
|
424
|
-
/**
|
|
425
|
-
* Makes arbitrary previous rollup data.
|
|
426
|
-
* @param seed - The seed to use for generating the previous rollup data.
|
|
427
|
-
* @param globalVariables - The global variables to use when generating the previous rollup data.
|
|
428
|
-
* @returns A previous rollup data.
|
|
429
|
-
*/ export function makePreviousRollupData(seed = 0, globalVariables = undefined) {
|
|
430
|
-
return new PreviousRollupData(makeBaseOrMergeRollupPublicInputs(seed, globalVariables), makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, seed + 0x50), makeVkData(seed + 0x100));
|
|
431
|
-
}
|
|
432
|
-
/**
|
|
433
|
-
* Makes arbitrary previous rollup block data.
|
|
434
|
-
* @param seed - The seed to use for generating the previous rollup block data.
|
|
435
|
-
* @param globalVariables - The global variables to use when generating the previous rollup block data.
|
|
436
|
-
* @returns A previous rollup block data.
|
|
437
|
-
*/ export function makePreviousRollupBlockData(seed = 0, globalVariables = undefined) {
|
|
438
|
-
return new PreviousRollupBlockData(makeBlockRootOrBlockMergeRollupPublicInputs(seed, globalVariables), makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, seed + 0x50), makeVkData(seed + 0x100));
|
|
439
|
-
}
|
|
440
|
-
/**
|
|
441
|
-
* Makes root rollup inputs.
|
|
442
|
-
* @param seed - The seed to use for generating the root rollup inputs.
|
|
443
|
-
* @param globalVariables - The global variables to use.
|
|
444
|
-
* @returns A root rollup inputs.
|
|
445
|
-
*/ export function makeRootRollupInputs(seed = 0, globalVariables) {
|
|
446
|
-
return new RootRollupInputs([
|
|
447
|
-
makePreviousRollupBlockData(seed, globalVariables),
|
|
448
|
-
makePreviousRollupBlockData(seed + 0x1000, globalVariables)
|
|
449
|
-
]);
|
|
424
|
+
*/ export function makeBlockRollupPublicInputs(seed = 0) {
|
|
425
|
+
return new BlockRollupPublicInputs(makeCheckpointConstantData(seed + 0x100), makeAppendOnlyTreeSnapshot(seed + 0x200), makeAppendOnlyTreeSnapshot(seed + 0x300), makeStateReference(seed + 0x400), makeStateReference(seed + 0x500), makeSpongeBlob(seed + 0x600), makeSpongeBlob(seed + 0x700), BigInt(seed + 0x810), BigInt(seed + 0x820), fr(seed + 0x830), fr(seed + 0x840), fr(seed + 0x850), fr(seed + 0x860));
|
|
450
426
|
}
|
|
451
|
-
function
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
function makeBlockRootRollupBlobData(seed = 0) {
|
|
455
|
-
return new BlockRootRollupBlobData(makeTuple(FIELDS_PER_BLOB * BLOBS_PER_BLOCK, fr, 0x2500), makeTuple(BLOBS_PER_BLOCK, ()=>BLS12Point.random()), fr(seed + 0x2700));
|
|
456
|
-
}
|
|
457
|
-
/**
|
|
458
|
-
* Makes block root rollup inputs.
|
|
459
|
-
* @param seed - The seed to use for generating the root rollup inputs.
|
|
460
|
-
* @param globalVariables - The global variables to use.
|
|
461
|
-
* @returns A block root rollup inputs.
|
|
462
|
-
*/ export function makeBlockRootRollupInputs(seed = 0, globalVariables) {
|
|
463
|
-
return new BlockRootRollupInputs([
|
|
464
|
-
makePreviousRollupData(seed, globalVariables),
|
|
465
|
-
makePreviousRollupData(seed + 0x1000, globalVariables)
|
|
466
|
-
], makeBlockRootRollupData(seed + 0x2000), makeBlockRootRollupBlobData(seed + 0x4000));
|
|
467
|
-
}
|
|
468
|
-
export function makeSingleTxBlockRootRollupInputs(seed = 0, globalVariables) {
|
|
469
|
-
return new SingleTxBlockRootRollupInputs([
|
|
470
|
-
makePreviousRollupData(seed, globalVariables)
|
|
471
|
-
], makeBlockRootRollupData(seed + 0x2000), makeBlockRootRollupBlobData(seed + 0x4000));
|
|
472
|
-
}
|
|
473
|
-
/**
|
|
474
|
-
* Makes empty block root rollup inputs.
|
|
475
|
-
* @param seed - The seed to use for generating the root rollup inputs.
|
|
476
|
-
* @param globalVariables - The global variables to use.
|
|
477
|
-
* @returns A block root rollup inputs.
|
|
478
|
-
*/ export function makeEmptyBlockRootRollupInputs(seed = 0, globalVariables) {
|
|
479
|
-
return new EmptyBlockRootRollupInputs(makeBlockRootRollupData(seed + 0x1000), makeBlockConstantData(0x2500, globalVariables));
|
|
480
|
-
}
|
|
481
|
-
export function makeRootParityInput(proofSize, seed = 0) {
|
|
482
|
-
return new RootParityInput(makeRecursiveProof(proofSize, seed), VerificationKeyAsFields.makeFake(seed + 0x100), makeTuple(VK_TREE_HEIGHT, fr, 0x200), makeParityPublicInputs(seed + 0x300));
|
|
427
|
+
export function makeCheckpointRollupPublicInputs(seed = 0) {
|
|
428
|
+
const startBlobAccumulator = makeBatchedBlobAccumulator(seed);
|
|
429
|
+
return new CheckpointRollupPublicInputs(makeEpochConstantData(seed), makeAppendOnlyTreeSnapshot(seed + 0x100), makeAppendOnlyTreeSnapshot(seed + 0x200), makeTuple(AZTEC_MAX_EPOCH_DURATION, ()=>fr(seed), 0x300), makeTuple(AZTEC_MAX_EPOCH_DURATION, ()=>makeFeeRecipient(seed), 0x700), BlobAccumulatorPublicInputs.fromBatchedBlobAccumulator(startBlobAccumulator), BlobAccumulatorPublicInputs.fromBatchedBlobAccumulator(makeBatchedBlobAccumulator(seed + 1)), startBlobAccumulator.finalBlobChallenges);
|
|
483
430
|
}
|
|
484
431
|
export function makeParityPublicInputs(seed = 0) {
|
|
485
432
|
return new ParityPublicInputs(new Fr(BigInt(seed + 0x200)), new Fr(BigInt(seed + 0x300)), new Fr(BigInt(seed + 0x400)));
|
|
486
433
|
}
|
|
487
|
-
export function
|
|
488
|
-
return new
|
|
434
|
+
export function makeParityBasePrivateInputs(seed = 0) {
|
|
435
|
+
return new ParityBasePrivateInputs(makeTuple(NUM_MSGS_PER_BASE_PARITY, fr, seed + 0x3000), new Fr(seed + 0x4000));
|
|
489
436
|
}
|
|
490
|
-
export function
|
|
491
|
-
return new
|
|
437
|
+
export function makeParityRootPrivateInputs(seed = 0) {
|
|
438
|
+
return new ParityRootPrivateInputs(makeTuple(NUM_BASE_PARITY_PER_ROOT_PARITY, ()=>makeProofData(seed, makeParityPublicInputs)));
|
|
492
439
|
}
|
|
493
440
|
/**
|
|
494
441
|
* Makes root rollup public inputs.
|
|
@@ -496,7 +443,7 @@ export function makeRootParityInputs(seed = 0) {
|
|
|
496
443
|
* @param blockNumber - The block number to use in the global variables of a header.
|
|
497
444
|
* @returns A root rollup public inputs.
|
|
498
445
|
*/ export function makeRootRollupPublicInputs(seed = 0) {
|
|
499
|
-
return new RootRollupPublicInputs(fr(seed + 0x100), fr(seed + 0x200), makeTuple(AZTEC_MAX_EPOCH_DURATION, ()=>fr(seed), 0x300), makeTuple(AZTEC_MAX_EPOCH_DURATION, ()=>makeFeeRecipient(seed), 0x500),
|
|
446
|
+
return new RootRollupPublicInputs(fr(seed + 0x100), fr(seed + 0x200), makeTuple(AZTEC_MAX_EPOCH_DURATION, ()=>fr(seed), 0x300), makeTuple(AZTEC_MAX_EPOCH_DURATION, ()=>makeFeeRecipient(seed), 0x500), makeEpochConstantData(seed + 0x600), FinalBlobAccumulatorPublicInputs.fromBatchedBlobAccumulator(makeBatchedBlobAccumulator(seed)));
|
|
500
447
|
}
|
|
501
448
|
/**
|
|
502
449
|
* Makes content commitment
|
|
@@ -508,8 +455,8 @@ export function makeRootParityInputs(seed = 0) {
|
|
|
508
455
|
*/ export function makeHeader(seed = 0, blockNumber = undefined, slotNumber = undefined, overrides = {}) {
|
|
509
456
|
return BlockHeader.from({
|
|
510
457
|
lastArchive: makeAppendOnlyTreeSnapshot(seed + 0x100),
|
|
511
|
-
|
|
512
|
-
|
|
458
|
+
state: makeStateReference(seed + 0x200),
|
|
459
|
+
spongeBlobHash: fr(seed + 0x300),
|
|
513
460
|
globalVariables: makeGlobalVariables(seed += 0x700, {
|
|
514
461
|
...blockNumber ? {
|
|
515
462
|
blockNumber
|
|
@@ -523,6 +470,28 @@ export function makeRootParityInputs(seed = 0) {
|
|
|
523
470
|
...overrides
|
|
524
471
|
});
|
|
525
472
|
}
|
|
473
|
+
export function makeL2BlockHeader(seed = 0, blockNumber, slotNumber, overrides = {}) {
|
|
474
|
+
return new L2BlockHeader(makeAppendOnlyTreeSnapshot(seed + 0x100), overrides?.contentCommitment ?? makeContentCommitment(seed + 0x200), overrides?.state ?? makeStateReference(seed + 0x600), makeGlobalVariables(seed += 0x700, {
|
|
475
|
+
...blockNumber ? {
|
|
476
|
+
blockNumber
|
|
477
|
+
} : {},
|
|
478
|
+
...slotNumber ? {
|
|
479
|
+
slotNumber: new Fr(slotNumber)
|
|
480
|
+
} : {}
|
|
481
|
+
}), new Fr(seed + 0x800), new Fr(seed + 0x900), new Fr(seed + 0xa00));
|
|
482
|
+
}
|
|
483
|
+
export function makeCheckpointHeader(seed = 0) {
|
|
484
|
+
return CheckpointHeader.from({
|
|
485
|
+
lastArchiveRoot: fr(seed + 0x100),
|
|
486
|
+
contentCommitment: makeContentCommitment(seed + 0x200),
|
|
487
|
+
slotNumber: new Fr(seed + 0x300),
|
|
488
|
+
timestamp: BigInt(seed + 0x400),
|
|
489
|
+
coinbase: makeEthAddress(seed + 0x500),
|
|
490
|
+
feeRecipient: makeAztecAddress(seed + 0x600),
|
|
491
|
+
gasFees: makeGasFees(seed + 0x700),
|
|
492
|
+
totalManaUsed: fr(seed + 0x800)
|
|
493
|
+
});
|
|
494
|
+
}
|
|
526
495
|
/**
|
|
527
496
|
* Makes arbitrary state reference.
|
|
528
497
|
* @param seed - The seed to use for generating the state reference.
|
|
@@ -555,24 +524,29 @@ function makeScopedL2ToL1Message(seed = 1) {
|
|
|
555
524
|
*/ export function makePartialStateReference(seed = 0) {
|
|
556
525
|
return new PartialStateReference(makeAppendOnlyTreeSnapshot(MAX_NOTE_HASHES_PER_TX * seed), makeAppendOnlyTreeSnapshot(MAX_NULLIFIERS_PER_TX * (seed + 1)), makeAppendOnlyTreeSnapshot(MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX * (seed + 2)));
|
|
557
526
|
}
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
*/ export function makeMergeRollupInputs(seed = 0) {
|
|
563
|
-
return new MergeRollupInputs([
|
|
564
|
-
makePreviousRollupData(seed),
|
|
565
|
-
makePreviousRollupData(seed + 0x1000)
|
|
527
|
+
export function makeTxMergeRollupPrivateInputs(seed = 0) {
|
|
528
|
+
return new TxMergeRollupPrivateInputs([
|
|
529
|
+
makeProofData(seed, makeTxRollupPublicInputs),
|
|
530
|
+
makeProofData(seed + 0x1000, makeTxRollupPublicInputs)
|
|
566
531
|
]);
|
|
567
532
|
}
|
|
533
|
+
export function makeBlockRootFirstRollupPrivateInputs(seed = 0) {
|
|
534
|
+
return new BlockRootFirstRollupPrivateInputs(makeProofData(seed, makeParityPublicInputs), [
|
|
535
|
+
makeProofData(seed + 0x1000, makeTxRollupPublicInputs),
|
|
536
|
+
makeProofData(seed + 0x2000, makeTxRollupPublicInputs)
|
|
537
|
+
], makeAppendOnlyTreeSnapshot(seed + 0x3000), makeSiblingPath(seed + 0x4000, L1_TO_L2_MSG_SUBTREE_SIBLING_PATH_LENGTH), makeSiblingPath(seed + 0x5000, ARCHIVE_HEIGHT));
|
|
538
|
+
}
|
|
539
|
+
export function makeBlockRootSingleTxRollupPrivateInputs(seed = 0) {
|
|
540
|
+
return new BlockRootSingleTxRollupPrivateInputs(makeProofData(seed + 0x1000, makeTxRollupPublicInputs), makeSiblingPath(seed + 0x4000, ARCHIVE_HEIGHT));
|
|
541
|
+
}
|
|
568
542
|
/**
|
|
569
543
|
* Makes arbitrary block merge rollup inputs.
|
|
570
544
|
* @param seed - The seed to use for generating the merge rollup inputs.
|
|
571
545
|
* @returns A block merge rollup inputs.
|
|
572
|
-
*/ export function
|
|
573
|
-
return new
|
|
574
|
-
|
|
575
|
-
|
|
546
|
+
*/ export function makeBlockMergeRollupPrivateInputs(seed = 0) {
|
|
547
|
+
return new BlockMergeRollupPrivateInputs([
|
|
548
|
+
makeProofData(seed, makeBlockRollupPublicInputs),
|
|
549
|
+
makeProofData(seed + 0x1000, makeBlockRollupPublicInputs)
|
|
576
550
|
]);
|
|
577
551
|
}
|
|
578
552
|
/**
|
|
@@ -651,11 +625,12 @@ function makePublicBaseRollupHints(seed = 1) {
|
|
|
651
625
|
startSpongeBlob: makeSpongeBlob(seed),
|
|
652
626
|
lastArchive: makeAppendOnlyTreeSnapshot(seed + 0x1000),
|
|
653
627
|
archiveRootMembershipWitness: makeMembershipWitness(ARCHIVE_HEIGHT, seed + 0x2000),
|
|
654
|
-
contractClassLogsFields: makeTuple(MAX_CONTRACT_CLASS_LOGS_PER_TX, makeContractClassLogFields, seed + 0x3000)
|
|
628
|
+
contractClassLogsFields: makeTuple(MAX_CONTRACT_CLASS_LOGS_PER_TX, makeContractClassLogFields, seed + 0x3000),
|
|
629
|
+
proverId: fr(seed + 0x4000)
|
|
655
630
|
});
|
|
656
631
|
}
|
|
657
|
-
export function
|
|
658
|
-
return
|
|
632
|
+
export function makePrivateTxBaseRollupPrivateInputs(seed = 0) {
|
|
633
|
+
return PrivateTxBaseRollupPrivateInputs.from({
|
|
659
634
|
hidingKernelProofData: makeProofData(seed, makePrivateToRollupKernelCircuitPublicInputs, CIVC_PROOF_LENGTH),
|
|
660
635
|
hints: makePrivateBaseRollupHints(seed + 0x100)
|
|
661
636
|
});
|
|
@@ -663,11 +638,11 @@ export function makePrivateBaseRollupInputs(seed = 0) {
|
|
|
663
638
|
function makeAvmProofData(seed = 1) {
|
|
664
639
|
return new AvmProofData(makeAvmCircuitPublicInputs(seed), makeRecursiveProof(AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED, seed + 0x100), makeVkData(seed + 0x200));
|
|
665
640
|
}
|
|
666
|
-
export function
|
|
641
|
+
export function makePublicTxBaseRollupPrivateInputs(seed = 0) {
|
|
667
642
|
const publicTubeProofData = makeProofData(seed, makePrivateToPublicKernelCircuitPublicInputs, RECURSIVE_ROLLUP_HONK_PROOF_LENGTH);
|
|
668
643
|
const avmProofData = makeAvmProofData(seed + 0x100);
|
|
669
644
|
const hints = makePublicBaseRollupHints(seed + 0x200);
|
|
670
|
-
return
|
|
645
|
+
return PublicTxBaseRollupPrivateInputs.from({
|
|
671
646
|
publicTubeProofData,
|
|
672
647
|
avmProofData,
|
|
673
648
|
hints
|
|
@@ -935,7 +910,7 @@ export function makeAvmProtocolContractDerivedAddressesHint(seed = 0) {
|
|
|
935
910
|
header ??= db?.getInitialHeader() ?? makeHeader(seed);
|
|
936
911
|
feePayer ??= await AztecAddress.random();
|
|
937
912
|
const txConstantData = TxConstantData.empty();
|
|
938
|
-
txConstantData.
|
|
913
|
+
txConstantData.anchorBlockHeader = header;
|
|
939
914
|
txConstantData.txContext.chainId = chainId;
|
|
940
915
|
txConstantData.txContext.version = version;
|
|
941
916
|
txConstantData.txContext.gasSettings = gasSettings;
|
package/dest/tests/mocks.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { Secp256k1Signer } from '@aztec/foundation/crypto';
|
|
|
2
2
|
import { Fr } from '@aztec/foundation/fields';
|
|
3
3
|
import type { ContractArtifact } from '../abi/abi.js';
|
|
4
4
|
import { AztecAddress } from '../aztec-address/index.js';
|
|
5
|
+
import { L2BlockHeader } from '../block/index.js';
|
|
5
6
|
import { L2Block } from '../block/l2_block.js';
|
|
6
7
|
import type { CommitteeAttestationsAndSigners } from '../block/proposal/attestations_and_signers.js';
|
|
7
8
|
import { PublishedL2Block } from '../block/published_l2_block.js';
|
|
@@ -11,7 +12,7 @@ import { ExtendedNote, UniqueNote } from '../note/extended_note.js';
|
|
|
11
12
|
import { BlockAttestation } from '../p2p/block_attestation.js';
|
|
12
13
|
import { BlockProposal } from '../p2p/block_proposal.js';
|
|
13
14
|
import { ClientIvcProof } from '../proofs/client_ivc_proof.js';
|
|
14
|
-
import {
|
|
15
|
+
import { StateReference, Tx } from '../tx/index.js';
|
|
15
16
|
import { TxSimulationResult } from '../tx/simulated_tx.js';
|
|
16
17
|
import { TxHash } from '../tx/tx_hash.js';
|
|
17
18
|
export declare const randomTxHash: () => TxHash;
|
|
@@ -43,7 +44,7 @@ export declare const randomDeployedContract: () => Promise<{
|
|
|
43
44
|
}>;
|
|
44
45
|
export interface MakeConsensusPayloadOptions {
|
|
45
46
|
signer?: Secp256k1Signer;
|
|
46
|
-
header?:
|
|
47
|
+
header?: L2BlockHeader;
|
|
47
48
|
archive?: Fr;
|
|
48
49
|
stateReference?: StateReference;
|
|
49
50
|
txHashes?: TxHash[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mocks.d.ts","sourceRoot":"","sources":["../../src/tests/mocks.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAe,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"mocks.d.ts","sourceRoot":"","sources":["../../src/tests/mocks.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAe,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAyC,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACzF,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,+CAA+C,CAAC;AACrG,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAIlE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAS7C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAGzD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAoE,cAAc,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAEtH,OAAO,EAAE,kBAAkB,EAAiC,MAAM,uBAAuB,CAAC;AAE1F,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAG1C,eAAO,MAAM,YAAY,QAAO,MAAyB,CAAC;AAE1D,eAAO,MAAM,kBAAkB,GAAU,6DAMtC,OAAO,CAAC,YAAY,CAAM,0BAQ5B,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAU,wEAOpC,OAAO,CAAC,UAAU,CAAM,wBAS1B,CAAC;AAEF,eAAO,MAAM,MAAM,GACjB,aAAQ,EACR,8QAaG;IACD,uCAAuC,CAAC,EAAE,MAAM,CAAC;IACjD,oCAAoC,CAAC,EAAE,MAAM,CAAC;IAC9C,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,OAAO,CAAC,EAAE,EAAE,CAAC;IACb,OAAO,CAAC,EAAE,EAAE,CAAC;IACb,UAAU,CAAC,EAAE,EAAE,CAAC;IAChB,wBAAwB,CAAC,EAAE,EAAE,CAAC;CAC1B,gBAiEP,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,aAAQ,EAAE,OAAM,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAM,gBAC+B,CAAC;AAmBjH,eAAO,MAAM,eAAe,GAAU,aAAQ,gCAgB7C,CAAC;AAEF,eAAO,MAAM,sBAAsB,QAAO,gBAUxC,CAAC;AAEH,eAAO,MAAM,iCAAiC,GAC5C,OAAM;IAAE,eAAe,CAAC,EAAE,EAAE,CAAA;CAAO,EACnC,UAAU,YAAY,KACrB,OAAO,CAAC,2BAA2B,CAUrC,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;EAIlC,CAAC;AAEF,MAAM,WAAW,2BAA2B;IAC1C,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,OAAO,CAAC,EAAE,EAAE,CAAC;IACb,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC;CACZ;AAqBD,eAAO,MAAM,0CAA0C,GACrD,wBAAwB,+BAA+B,EACvD,SAAQ,eAA0C,0CAOnD,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,UAAU,2BAA2B,KAAG,aAOzE,CAAC;AAGF,eAAO,MAAM,oBAAoB,GAAI,UAAU,2BAA2B,KAAG,gBAM5E,CAAC;AAEF,eAAO,MAAM,6BAA6B,GAAI,OAAO,OAAO,EAAE,SAAS,eAAe,KAAG,gBAQxF,CAAC;AAEF,wBAAsB,sBAAsB,CAC1C,aAAa,EAAE,MAAM,EACrB,IAAI,GAAE;IAAE,OAAO,CAAC,EAAE,eAAe,EAAE,CAAA;CAAO,GACzC,OAAO,CAAC,gBAAgB,CAAC,CAc3B"}
|
package/dest/tests/mocks.js
CHANGED
|
@@ -28,7 +28,7 @@ import { PublicSimulationOutput } from '../tx/public_simulation_output.js';
|
|
|
28
28
|
import { TxSimulationResult, accumulatePrivateReturnValues } from '../tx/simulated_tx.js';
|
|
29
29
|
import { TxEffect } from '../tx/tx_effect.js';
|
|
30
30
|
import { TxHash } from '../tx/tx_hash.js';
|
|
31
|
-
import { makeGas, makeGlobalVariables,
|
|
31
|
+
import { makeGas, makeGlobalVariables, makeL2BlockHeader, makePublicCallRequest } from './factories.js';
|
|
32
32
|
export const randomTxHash = ()=>TxHash.random();
|
|
33
33
|
export const randomExtendedNote = async ({ note = Note.random(), recipient = undefined, contractAddress = undefined, txHash = randomTxHash(), storageSlot = Fr.random() } = {})=>{
|
|
34
34
|
return new ExtendedNote(note, recipient ?? await AztecAddress.random(), contractAddress ?? await AztecAddress.random(), storageSlot, txHash);
|
|
@@ -133,10 +133,10 @@ export const randomDeployedContract = async ()=>{
|
|
|
133
133
|
};
|
|
134
134
|
};
|
|
135
135
|
const makeAndSignConsensusPayload = (domainSeparator, options)=>{
|
|
136
|
-
const header = options?.header ??
|
|
136
|
+
const header = options?.header ?? makeL2BlockHeader(1);
|
|
137
137
|
const { signer = Secp256k1Signer.random(), archive = Fr.random(), stateReference = header.state } = options ?? {};
|
|
138
138
|
const payload = ConsensusPayload.fromFields({
|
|
139
|
-
header: header.
|
|
139
|
+
header: header.toCheckpointHeader(),
|
|
140
140
|
archive,
|
|
141
141
|
stateReference
|
|
142
142
|
});
|
|
@@ -4,18 +4,19 @@ import { BufferReader, FieldReader } from '@aztec/foundation/serialize';
|
|
|
4
4
|
import type { FieldsOf } from '@aztec/foundation/types';
|
|
5
5
|
import { inspect } from 'util';
|
|
6
6
|
import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
|
|
7
|
-
import { ContentCommitment } from './content_commitment.js';
|
|
8
7
|
import { GlobalVariables } from './global_variables.js';
|
|
9
|
-
import { ProposedBlockHeader } from './proposed_block_header.js';
|
|
10
8
|
import { StateReference } from './state_reference.js';
|
|
11
9
|
/** A header of an L2 block. */
|
|
12
10
|
export declare class BlockHeader {
|
|
13
11
|
/** Snapshot of archive before the block is applied. */
|
|
14
12
|
lastArchive: AppendOnlyTreeSnapshot;
|
|
15
|
-
/** Hash of the body of an L2 block. */
|
|
16
|
-
contentCommitment: ContentCommitment;
|
|
17
13
|
/** State reference. */
|
|
18
14
|
state: StateReference;
|
|
15
|
+
/**
|
|
16
|
+
* Hash of the sponge blob after the tx effects of this block has been applied.
|
|
17
|
+
* May contain tx effects from the previous blocks in the same checkpoint.
|
|
18
|
+
*/
|
|
19
|
+
spongeBlobHash: Fr;
|
|
19
20
|
/** Global variables of an L2 block. */
|
|
20
21
|
globalVariables: GlobalVariables;
|
|
21
22
|
/** Total fees in the block, computed by the root rollup circuit */
|
|
@@ -25,10 +26,13 @@ export declare class BlockHeader {
|
|
|
25
26
|
constructor(
|
|
26
27
|
/** Snapshot of archive before the block is applied. */
|
|
27
28
|
lastArchive: AppendOnlyTreeSnapshot,
|
|
28
|
-
/** Hash of the body of an L2 block. */
|
|
29
|
-
contentCommitment: ContentCommitment,
|
|
30
29
|
/** State reference. */
|
|
31
30
|
state: StateReference,
|
|
31
|
+
/**
|
|
32
|
+
* Hash of the sponge blob after the tx effects of this block has been applied.
|
|
33
|
+
* May contain tx effects from the previous blocks in the same checkpoint.
|
|
34
|
+
*/
|
|
35
|
+
spongeBlobHash: Fr,
|
|
32
36
|
/** Global variables of an L2 block. */
|
|
33
37
|
globalVariables: GlobalVariables,
|
|
34
38
|
/** Total fees in the block, computed by the root rollup circuit */
|
|
@@ -36,7 +40,7 @@ export declare class BlockHeader {
|
|
|
36
40
|
/** Total mana used in the block, computed by the root rollup circuit */
|
|
37
41
|
totalManaUsed: Fr);
|
|
38
42
|
static get schema(): ZodFor<BlockHeader>;
|
|
39
|
-
static getFields(fields: FieldsOf<BlockHeader>): readonly [AppendOnlyTreeSnapshot,
|
|
43
|
+
static getFields(fields: FieldsOf<BlockHeader>): readonly [AppendOnlyTreeSnapshot, StateReference, Fr, GlobalVariables, Fr, Fr];
|
|
40
44
|
static from(fields: FieldsOf<BlockHeader>): BlockHeader;
|
|
41
45
|
getSlot(): bigint;
|
|
42
46
|
getBlockNumber(): number;
|
|
@@ -55,20 +59,15 @@ export declare class BlockHeader {
|
|
|
55
59
|
toString(): `0x${string}`;
|
|
56
60
|
static fromString(str: string): BlockHeader;
|
|
57
61
|
hash(): Promise<Fr>;
|
|
58
|
-
toPropose(): ProposedBlockHeader;
|
|
59
62
|
toInspect(): {
|
|
60
63
|
lastArchive: `0x${string}`;
|
|
61
|
-
contentCommitment: {
|
|
62
|
-
blobsHash: `0x${string}`;
|
|
63
|
-
inHash: `0x${string}`;
|
|
64
|
-
outHash: `0x${string}`;
|
|
65
|
-
};
|
|
66
64
|
state: {
|
|
67
65
|
l1ToL2MessageTree: `0x${string}`;
|
|
68
66
|
noteHashTree: `0x${string}`;
|
|
69
67
|
nullifierTree: `0x${string}`;
|
|
70
68
|
publicDataTree: `0x${string}`;
|
|
71
69
|
};
|
|
70
|
+
spongeBlobHash: bigint;
|
|
72
71
|
globalVariables: {
|
|
73
72
|
chainId: number;
|
|
74
73
|
version: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block_header.d.ts","sourceRoot":"","sources":["../../src/tx/block_header.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAwC,MAAM,6BAA6B,CAAC;AAE9G,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAG/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"block_header.d.ts","sourceRoot":"","sources":["../../src/tx/block_header.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAwC,MAAM,6BAA6B,CAAC;AAE9G,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAG/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,+BAA+B;AAC/B,qBAAa,WAAW;IAEpB,uDAAuD;IAChD,WAAW,EAAE,sBAAsB;IAC1C,uBAAuB;IAChB,KAAK,EAAE,cAAc;IAC5B;;;OAGG;IACI,cAAc,EAAE,EAAE;IACzB,uCAAuC;IAChC,eAAe,EAAE,eAAe;IACvC,mEAAmE;IAC5D,SAAS,EAAE,EAAE;IACpB,wEAAwE;IACjE,aAAa,EAAE,EAAE;;IAdxB,uDAAuD;IAChD,WAAW,EAAE,sBAAsB;IAC1C,uBAAuB;IAChB,KAAK,EAAE,cAAc;IAC5B;;;OAGG;IACI,cAAc,EAAE,EAAE;IACzB,uCAAuC;IAChC,eAAe,EAAE,eAAe;IACvC,mEAAmE;IAC5D,SAAS,EAAE,EAAE;IACpB,wEAAwE;IACjE,aAAa,EAAE,EAAE;IAG1B,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,WAAW,CAAC,CAWvC;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC;IAW9C,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC;IAIzC,OAAO;IAIP,cAAc;IAId,OAAO;IAWP,QAAQ;IAIR,QAAQ,IAAI,EAAE,EAAE;IAQhB,KAAK,IAAI,WAAW;IAIpB,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,WAAW;IAa7D,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,GAAG,WAAW;IAa1D,MAAM,CAAC,KAAK,CAAC,MAAM,GAAE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAM,GAAG,WAAW;IAYtE,OAAO,IAAI,OAAO;IAWlB;;;OAGG;IACI,QAAQ;IAIf,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW;IAI3C,IAAI,IAAI,OAAO,CAAC,EAAE,CAAC;IAInB,SAAS;;;;;;;;;;;;;;;;;;;;;;;IAWT,CAAC,OAAO,CAAC,MAAM,CAAC;IAcT,MAAM,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO;CAUpC"}
|
package/dest/tx/block_header.js
CHANGED
|
@@ -7,21 +7,22 @@ import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
|
|
|
7
7
|
import { inspect } from 'util';
|
|
8
8
|
import { z } from 'zod';
|
|
9
9
|
import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
|
|
10
|
-
import { ContentCommitment } from './content_commitment.js';
|
|
11
10
|
import { GlobalVariables } from './global_variables.js';
|
|
12
|
-
import { ProposedBlockHeader } from './proposed_block_header.js';
|
|
13
11
|
import { StateReference } from './state_reference.js';
|
|
14
12
|
/** A header of an L2 block. */ export class BlockHeader {
|
|
15
13
|
lastArchive;
|
|
16
|
-
contentCommitment;
|
|
17
14
|
state;
|
|
15
|
+
spongeBlobHash;
|
|
18
16
|
globalVariables;
|
|
19
17
|
totalFees;
|
|
20
18
|
totalManaUsed;
|
|
21
|
-
constructor(/** Snapshot of archive before the block is applied. */ lastArchive, /**
|
|
19
|
+
constructor(/** Snapshot of archive before the block is applied. */ lastArchive, /** State reference. */ state, /**
|
|
20
|
+
* Hash of the sponge blob after the tx effects of this block has been applied.
|
|
21
|
+
* May contain tx effects from the previous blocks in the same checkpoint.
|
|
22
|
+
*/ spongeBlobHash, /** Global variables of an L2 block. */ globalVariables, /** Total fees in the block, computed by the root rollup circuit */ totalFees, /** Total mana used in the block, computed by the root rollup circuit */ totalManaUsed){
|
|
22
23
|
this.lastArchive = lastArchive;
|
|
23
|
-
this.contentCommitment = contentCommitment;
|
|
24
24
|
this.state = state;
|
|
25
|
+
this.spongeBlobHash = spongeBlobHash;
|
|
25
26
|
this.globalVariables = globalVariables;
|
|
26
27
|
this.totalFees = totalFees;
|
|
27
28
|
this.totalManaUsed = totalManaUsed;
|
|
@@ -29,19 +30,18 @@ import { StateReference } from './state_reference.js';
|
|
|
29
30
|
static get schema() {
|
|
30
31
|
return z.object({
|
|
31
32
|
lastArchive: AppendOnlyTreeSnapshot.schema,
|
|
32
|
-
contentCommitment: ContentCommitment.schema,
|
|
33
33
|
state: StateReference.schema,
|
|
34
|
+
spongeBlobHash: schemas.Fr,
|
|
34
35
|
globalVariables: GlobalVariables.schema,
|
|
35
36
|
totalFees: schemas.Fr,
|
|
36
37
|
totalManaUsed: schemas.Fr
|
|
37
38
|
}).transform(BlockHeader.from);
|
|
38
39
|
}
|
|
39
40
|
static getFields(fields) {
|
|
40
|
-
// Note: The order here must match the order in the ProposedHeaderLib solidity library.
|
|
41
41
|
return [
|
|
42
42
|
fields.lastArchive,
|
|
43
|
-
fields.contentCommitment,
|
|
44
43
|
fields.state,
|
|
44
|
+
fields.spongeBlobHash,
|
|
45
45
|
fields.globalVariables,
|
|
46
46
|
fields.totalFees,
|
|
47
47
|
fields.totalManaUsed
|
|
@@ -57,7 +57,7 @@ import { StateReference } from './state_reference.js';
|
|
|
57
57
|
return this.globalVariables.blockNumber;
|
|
58
58
|
}
|
|
59
59
|
getSize() {
|
|
60
|
-
return this.lastArchive.getSize() + this.
|
|
60
|
+
return this.lastArchive.getSize() + this.state.getSize() + this.spongeBlobHash.size + this.globalVariables.getSize() + this.totalFees.size + this.totalManaUsed.size;
|
|
61
61
|
}
|
|
62
62
|
toBuffer() {
|
|
63
63
|
return serializeToBuffer(...BlockHeader.getFields(this));
|
|
@@ -74,17 +74,17 @@ import { StateReference } from './state_reference.js';
|
|
|
74
74
|
}
|
|
75
75
|
static fromBuffer(buffer) {
|
|
76
76
|
const reader = BufferReader.asReader(buffer);
|
|
77
|
-
return new BlockHeader(reader.readObject(AppendOnlyTreeSnapshot), reader.readObject(
|
|
77
|
+
return new BlockHeader(reader.readObject(AppendOnlyTreeSnapshot), reader.readObject(StateReference), reader.readObject(Fr), reader.readObject(GlobalVariables), reader.readObject(Fr), reader.readObject(Fr));
|
|
78
78
|
}
|
|
79
79
|
static fromFields(fields) {
|
|
80
80
|
const reader = FieldReader.asReader(fields);
|
|
81
|
-
return new BlockHeader(AppendOnlyTreeSnapshot.fromFields(reader),
|
|
81
|
+
return new BlockHeader(AppendOnlyTreeSnapshot.fromFields(reader), StateReference.fromFields(reader), reader.readField(), GlobalVariables.fromFields(reader), reader.readField(), reader.readField());
|
|
82
82
|
}
|
|
83
83
|
static empty(fields = {}) {
|
|
84
84
|
return BlockHeader.from({
|
|
85
85
|
lastArchive: AppendOnlyTreeSnapshot.empty(),
|
|
86
|
-
contentCommitment: ContentCommitment.empty(),
|
|
87
86
|
state: StateReference.empty(),
|
|
87
|
+
spongeBlobHash: Fr.ZERO,
|
|
88
88
|
globalVariables: GlobalVariables.empty(),
|
|
89
89
|
totalFees: Fr.ZERO,
|
|
90
90
|
totalManaUsed: Fr.ZERO,
|
|
@@ -92,7 +92,7 @@ import { StateReference } from './state_reference.js';
|
|
|
92
92
|
});
|
|
93
93
|
}
|
|
94
94
|
isEmpty() {
|
|
95
|
-
return this.lastArchive.isEmpty() && this.
|
|
95
|
+
return this.lastArchive.isEmpty() && this.state.isEmpty() && this.spongeBlobHash.isZero() && this.globalVariables.isEmpty() && this.totalFees.isZero() && this.totalManaUsed.isZero();
|
|
96
96
|
}
|
|
97
97
|
/**
|
|
98
98
|
* Serializes this instance into a string.
|
|
@@ -106,14 +106,11 @@ import { StateReference } from './state_reference.js';
|
|
|
106
106
|
hash() {
|
|
107
107
|
return poseidon2HashWithSeparator(this.toFields(), GeneratorIndex.BLOCK_HASH);
|
|
108
108
|
}
|
|
109
|
-
toPropose() {
|
|
110
|
-
return new ProposedBlockHeader(this.lastArchive.root, this.contentCommitment, this.globalVariables.slotNumber, this.globalVariables.timestamp, this.globalVariables.coinbase, this.globalVariables.feeRecipient, this.globalVariables.gasFees, this.totalManaUsed);
|
|
111
|
-
}
|
|
112
109
|
toInspect() {
|
|
113
110
|
return {
|
|
114
111
|
lastArchive: this.lastArchive.root.toString(),
|
|
115
|
-
contentCommitment: this.contentCommitment.toInspect(),
|
|
116
112
|
state: this.state.toInspect(),
|
|
113
|
+
spongeBlobHash: this.spongeBlobHash.toBigInt(),
|
|
117
114
|
globalVariables: this.globalVariables.toInspect(),
|
|
118
115
|
totalFees: this.totalFees.toBigInt(),
|
|
119
116
|
totalManaUsed: this.totalManaUsed.toBigInt()
|
|
@@ -122,19 +119,17 @@ import { StateReference } from './state_reference.js';
|
|
|
122
119
|
[inspect.custom]() {
|
|
123
120
|
return `Header {
|
|
124
121
|
lastArchive: ${inspect(this.lastArchive)},
|
|
125
|
-
contentCommitment.blobsHash: ${inspect(this.contentCommitment.blobsHash)},
|
|
126
|
-
contentCommitment.inHash: ${inspect(this.contentCommitment.inHash)},
|
|
127
|
-
contentCommitment.outHash: ${inspect(this.contentCommitment.outHash)},
|
|
128
122
|
state.l1ToL2MessageTree: ${inspect(this.state.l1ToL2MessageTree)},
|
|
129
123
|
state.noteHashTree: ${inspect(this.state.partial.noteHashTree)},
|
|
130
124
|
state.nullifierTree: ${inspect(this.state.partial.nullifierTree)},
|
|
131
125
|
state.publicDataTree: ${inspect(this.state.partial.publicDataTree)},
|
|
126
|
+
spongeBlobHash: ${this.spongeBlobHash},
|
|
132
127
|
globalVariables: ${inspect(this.globalVariables)},
|
|
133
128
|
totalFees: ${this.totalFees},
|
|
134
129
|
totalManaUsed: ${this.totalManaUsed},
|
|
135
130
|
}`;
|
|
136
131
|
}
|
|
137
132
|
equals(other) {
|
|
138
|
-
return this.
|
|
133
|
+
return this.lastArchive.equals(other.lastArchive) && this.state.equals(other.state) && this.spongeBlobHash.equals(other.spongeBlobHash) && this.globalVariables.equals(other.globalVariables) && this.totalFees.equals(other.totalFees) && this.totalManaUsed.equals(other.totalManaUsed);
|
|
139
134
|
}
|
|
140
135
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global_variables.d.ts","sourceRoot":"","sources":["../../src/tx/global_variables.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EACL,YAAY,EACZ,WAAW,EAIZ,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAExD;;GAEG;AACH,qBAAa,eAAe;IAExB,gCAAgC;IACzB,OAAO,EAAE,EAAE;IAClB,gCAAgC;IACzB,OAAO,EAAE,EAAE;IAClB,oCAAoC;IAC7B,WAAW,EAAE,MAAM;IAC1B,kCAAkC;IAC3B,UAAU,EAAE,EAAE;IACrB,iCAAiC;IAC1B,SAAS,EAAE,MAAM;IACxB,iCAAiC;IAC1B,QAAQ,EAAE,UAAU;IAC3B,+BAA+B;IACxB,YAAY,EAAE,YAAY;IACjC,wCAAwC;IACjC,OAAO,EAAE,OAAO;;IAfvB,gCAAgC;IACzB,OAAO,EAAE,EAAE;IAClB,gCAAgC;IACzB,OAAO,EAAE,EAAE;IAClB,oCAAoC;IAC7B,WAAW,EAAE,MAAM;IAC1B,kCAAkC;IAC3B,UAAU,EAAE,EAAE;IACrB,iCAAiC;IAC1B,SAAS,EAAE,MAAM;IACxB,iCAAiC;IAC1B,QAAQ,EAAE,UAAU;IAC3B,+BAA+B;IACxB,YAAY,EAAE,YAAY;IACjC,wCAAwC;IACjC,OAAO,EAAE,OAAO;IAGzB,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAahB;IAED,OAAO,IAAI,MAAM;IAIjB,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,eAAe;IAI/D,MAAM,CAAC,KAAK,CAAC,MAAM,GAAE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAM,GAAG,eAAe;IAc9E,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,eAAe;IAcjE,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,GAAG,eAAe;IAe9D,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"global_variables.d.ts","sourceRoot":"","sources":["../../src/tx/global_variables.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EACL,YAAY,EACZ,WAAW,EAIZ,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAExD;;GAEG;AACH,qBAAa,eAAe;IAExB,gCAAgC;IACzB,OAAO,EAAE,EAAE;IAClB,gCAAgC;IACzB,OAAO,EAAE,EAAE;IAClB,oCAAoC;IAC7B,WAAW,EAAE,MAAM;IAC1B,kCAAkC;IAC3B,UAAU,EAAE,EAAE;IACrB,iCAAiC;IAC1B,SAAS,EAAE,MAAM;IACxB,iCAAiC;IAC1B,QAAQ,EAAE,UAAU;IAC3B,+BAA+B;IACxB,YAAY,EAAE,YAAY;IACjC,wCAAwC;IACjC,OAAO,EAAE,OAAO;;IAfvB,gCAAgC;IACzB,OAAO,EAAE,EAAE;IAClB,gCAAgC;IACzB,OAAO,EAAE,EAAE;IAClB,oCAAoC;IAC7B,WAAW,EAAE,MAAM;IAC1B,kCAAkC;IAC3B,UAAU,EAAE,EAAE;IACrB,iCAAiC;IAC1B,SAAS,EAAE,MAAM;IACxB,iCAAiC;IAC1B,QAAQ,EAAE,UAAU;IAC3B,+BAA+B;IACxB,YAAY,EAAE,YAAY;IACjC,wCAAwC;IACjC,OAAO,EAAE,OAAO;IAGzB,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAahB;IAED,OAAO,IAAI,MAAM;IAIjB,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,eAAe;IAI/D,MAAM,CAAC,KAAK,CAAC,MAAM,GAAE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAM,GAAG,eAAe;IAc9E,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,eAAe;IAcjE,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,GAAG,eAAe;IAe9D,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC;IAalD,QAAQ;IAaR,QAAQ;IAUR;;;OAGG;IACH,cAAc;;;;;;;IAUd,KAAK,IAAI,eAAe;IAIxB,OAAO,IAAI,OAAO;IAalB,SAAS;;;;;;;;;;;IAcT,CAAC,OAAO,CAAC,MAAM,CAAC;IAIT,MAAM,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO;CAYpC"}
|