@aztec/stdlib 6.0.0-nightly.20260812 → 6.0.0-nightly.20260821
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/abi/abi.d.ts +4 -3
- package/dest/abi/abi.d.ts.map +1 -1
- package/dest/abi/abi.js +5 -1
- package/dest/abi/contract_artifact.d.ts +7 -2
- package/dest/abi/contract_artifact.d.ts.map +1 -1
- package/dest/abi/contract_artifact.js +18 -19
- package/dest/avm/avm.d.ts +3 -2
- package/dest/avm/avm.d.ts.map +1 -1
- package/dest/avm/avm.js +9 -3
- package/dest/avm/avm_proving_request.d.ts +70 -70
- package/dest/block/l2_block.d.ts +1 -2
- package/dest/block/l2_block.d.ts.map +1 -1
- package/dest/block/l2_block.js +2 -3
- package/dest/block/l2_block_source.d.ts +3 -6
- package/dest/block/l2_block_source.d.ts.map +1 -1
- package/dest/block/l2_block_stream/event_driven_l2_block_stream.d.ts +11 -20
- package/dest/block/l2_block_stream/event_driven_l2_block_stream.d.ts.map +1 -1
- package/dest/block/l2_block_stream/event_driven_l2_block_stream.js +12 -116
- package/dest/checkpoint/checkpoint_data.d.ts +14 -2
- package/dest/checkpoint/checkpoint_data.d.ts.map +1 -1
- package/dest/checkpoint/checkpoint_data.js +2 -1
- package/dest/checkpoint/index.d.ts +2 -1
- package/dest/checkpoint/index.d.ts.map +1 -1
- package/dest/checkpoint/index.js +1 -0
- package/dest/checkpoint/previous_checkpoint_inbox_rolling_hash.d.ts +21 -0
- package/dest/checkpoint/previous_checkpoint_inbox_rolling_hash.d.ts.map +1 -0
- package/dest/checkpoint/previous_checkpoint_inbox_rolling_hash.js +34 -0
- package/dest/checkpoint/simulation_overrides.d.ts +2 -2
- package/dest/checkpoint/simulation_overrides.d.ts.map +1 -1
- package/dest/checkpoint/simulation_overrides.js +11 -8
- package/dest/config/network-consensus-config.d.ts +4 -3
- package/dest/config/network-consensus-config.d.ts.map +1 -1
- package/dest/config/network-consensus-config.js +9 -4
- package/dest/config/node-rpc-config.d.ts +13 -1
- package/dest/config/node-rpc-config.d.ts.map +1 -1
- package/dest/config/node-rpc-config.js +34 -1
- package/dest/deserialization/index.d.ts +17 -17
- package/dest/deserialization/index.d.ts.map +1 -1
- package/dest/deserialization/index.js +18 -18
- package/dest/gas/gas_settings.d.ts +17 -5
- package/dest/gas/gas_settings.d.ts.map +1 -1
- package/dest/gas/gas_settings.js +4 -4
- package/dest/gas/tx_gas_limits.d.ts +3 -4
- package/dest/gas/tx_gas_limits.d.ts.map +1 -1
- package/dest/gas/tx_gas_limits.js +4 -5
- package/dest/interfaces/archiver.d.ts +2 -2
- package/dest/interfaces/archiver.d.ts.map +1 -1
- package/dest/interfaces/archiver.js +32 -5
- package/dest/interfaces/aztec-node-admin.d.ts +2 -1
- package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.d.ts +22 -4
- package/dest/interfaces/aztec-node.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.js +11 -9
- package/dest/interfaces/block-builder.d.ts +11 -2
- package/dest/interfaces/block-builder.d.ts.map +1 -1
- package/dest/interfaces/configs.d.ts +7 -1
- package/dest/interfaces/configs.d.ts.map +1 -1
- package/dest/interfaces/configs.js +2 -1
- package/dest/interfaces/p2p.d.ts +18 -1
- package/dest/interfaces/p2p.d.ts.map +1 -1
- package/dest/interfaces/p2p.js +8 -0
- package/dest/interfaces/proving-job.d.ts +17 -42
- package/dest/interfaces/proving-job.d.ts.map +1 -1
- package/dest/interfaces/proving-job.js +16 -47
- package/dest/interfaces/server_circuit_prover.d.ts +8 -15
- package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
- package/dest/interfaces/validator.d.ts +7 -7
- package/dest/interfaces/validator.d.ts.map +1 -1
- package/dest/messaging/append_l1_to_l2_messages.d.ts +5 -5
- package/dest/messaging/append_l1_to_l2_messages.d.ts.map +1 -1
- package/dest/messaging/append_l1_to_l2_messages.js +4 -8
- package/dest/messaging/inbox_bucket.d.ts +77 -0
- package/dest/messaging/inbox_bucket.d.ts.map +1 -0
- package/dest/messaging/inbox_bucket.js +73 -0
- package/dest/messaging/inbox_consumption.d.ts +55 -0
- package/dest/messaging/inbox_consumption.d.ts.map +1 -0
- package/dest/messaging/inbox_consumption.js +53 -0
- package/dest/messaging/inbox_rolling_hash.d.ts +16 -0
- package/dest/messaging/inbox_rolling_hash.d.ts.map +1 -0
- package/dest/messaging/inbox_rolling_hash.js +23 -0
- package/dest/messaging/index.d.ts +6 -3
- package/dest/messaging/index.d.ts.map +1 -1
- package/dest/messaging/index.js +5 -2
- package/dest/messaging/l1_to_l2_message_bundle.d.ts +31 -0
- package/dest/messaging/l1_to_l2_message_bundle.d.ts.map +1 -0
- package/dest/messaging/l1_to_l2_message_bundle.js +51 -0
- package/dest/messaging/l1_to_l2_message_source.d.ts +44 -10
- package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -1
- package/dest/messaging/l1_to_l2_message_sponge.d.ts +40 -0
- package/dest/messaging/l1_to_l2_message_sponge.d.ts.map +1 -0
- package/dest/messaging/l1_to_l2_message_sponge.js +56 -0
- package/dest/noir/index.d.ts +3 -3
- package/dest/noir/index.d.ts.map +1 -1
- package/dest/p2p/block_proposal.d.ts +24 -9
- package/dest/p2p/block_proposal.d.ts.map +1 -1
- package/dest/p2p/block_proposal.js +42 -20
- package/dest/p2p/checkpoint_attestation.d.ts +1 -1
- package/dest/p2p/checkpoint_proposal.d.ts +13 -3
- package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
- package/dest/p2p/checkpoint_proposal.js +26 -8
- package/dest/p2p/consensus_payload.d.ts +1 -1
- package/dest/p2p/index.d.ts +2 -1
- package/dest/p2p/index.d.ts.map +1 -1
- package/dest/p2p/index.js +1 -0
- package/dest/p2p/validated_proposal.d.ts +35 -0
- package/dest/p2p/validated_proposal.d.ts.map +1 -0
- package/dest/p2p/validated_proposal.js +17 -0
- package/dest/p2p/wire_compat_fixtures.d.ts +7 -0
- package/dest/p2p/wire_compat_fixtures.d.ts.map +1 -0
- package/dest/p2p/wire_compat_fixtures.js +14 -0
- package/dest/parity/inbox_parity_private_inputs.d.ts +61 -0
- package/dest/parity/inbox_parity_private_inputs.d.ts.map +1 -0
- package/dest/parity/inbox_parity_private_inputs.js +79 -0
- package/dest/parity/index.d.ts +2 -3
- package/dest/parity/index.d.ts.map +1 -1
- package/dest/parity/index.js +1 -2
- package/dest/parity/parity_public_inputs.d.ts +15 -14
- package/dest/parity/parity_public_inputs.d.ts.map +1 -1
- package/dest/parity/parity_public_inputs.js +13 -15
- package/dest/proofs/proving_request_type.d.ts +11 -14
- package/dest/proofs/proving_request_type.d.ts.map +1 -1
- package/dest/proofs/proving_request_type.js +10 -13
- package/dest/rollup/block_constant_data.d.ts +8 -8
- package/dest/rollup/block_constant_data.js +4 -4
- package/dest/rollup/block_rollup_public_inputs.d.ts +18 -6
- package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/block_rollup_public_inputs.js +14 -7
- package/dest/rollup/block_root_rollup_private_inputs.d.ts +109 -113
- package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/block_root_rollup_private_inputs.js +79 -130
- package/dest/rollup/checkpoint_header.d.ts +14 -6
- package/dest/rollup/checkpoint_header.d.ts.map +1 -1
- package/dest/rollup/checkpoint_header.js +18 -14
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +22 -2
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_rollup_public_inputs.js +14 -3
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +27 -6
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_root_rollup_private_inputs.js +17 -4
- package/dest/rollup/root_rollup_public_inputs.d.ts +10 -2
- package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/root_rollup_public_inputs.js +9 -3
- package/dest/stats/stats.d.ts +2 -2
- package/dest/stats/stats.d.ts.map +1 -1
- package/dest/tests/factories.d.ts +7 -7
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +26 -22
- package/dest/tests/fixtures.d.ts +1 -1
- package/dest/tests/fixtures.d.ts.map +1 -1
- package/dest/tests/fixtures.js +2 -0
- package/dest/tests/mocks.d.ts +4 -2
- package/dest/tests/mocks.d.ts.map +1 -1
- package/dest/tests/mocks.js +4 -7
- package/dest/tx/state_reference.d.ts +5 -2
- package/dest/tx/state_reference.d.ts.map +1 -1
- package/dest/tx/state_reference.js +5 -5
- package/package.json +8 -8
- package/src/abi/abi.ts +7 -2
- package/src/abi/contract_artifact.ts +20 -23
- package/src/avm/avm.ts +11 -1
- package/src/block/l2_block.ts +2 -3
- package/src/block/l2_block_source.ts +2 -5
- package/src/block/l2_block_stream/event_driven_l2_block_stream.ts +17 -143
- package/src/checkpoint/checkpoint_data.ts +14 -1
- package/src/checkpoint/index.ts +1 -0
- package/src/checkpoint/previous_checkpoint_inbox_rolling_hash.ts +46 -0
- package/src/checkpoint/simulation_overrides.ts +11 -8
- package/src/config/network-consensus-config.ts +17 -4
- package/src/config/node-rpc-config.ts +51 -1
- package/src/deserialization/index.ts +18 -18
- package/src/gas/README.md +4 -3
- package/src/gas/gas_settings.ts +7 -3
- package/src/gas/tx_gas_limits.ts +4 -12
- package/src/interfaces/archiver.ts +19 -2
- package/src/interfaces/aztec-node.ts +33 -12
- package/src/interfaces/block-builder.ts +10 -1
- package/src/interfaces/configs.ts +6 -0
- package/src/interfaces/p2p.ts +21 -0
- package/src/interfaces/proving-job.ts +19 -70
- package/src/interfaces/server_circuit_prover.ts +13 -37
- package/src/interfaces/validator.ts +6 -5
- package/src/kernel/private_kernel_reset_dimensions.ts +1 -1
- package/src/messaging/append_l1_to_l2_messages.ts +5 -13
- package/src/messaging/inbox_bucket.ts +125 -0
- package/src/messaging/inbox_consumption.ts +74 -0
- package/src/messaging/inbox_rolling_hash.ts +24 -0
- package/src/messaging/index.ts +5 -2
- package/src/messaging/l1_to_l2_message_bundle.ts +65 -0
- package/src/messaging/l1_to_l2_message_source.ts +48 -10
- package/src/messaging/l1_to_l2_message_sponge.ts +69 -0
- package/src/noir/index.ts +1 -2
- package/src/p2p/block_proposal.ts +41 -28
- package/src/p2p/checkpoint_proposal.ts +31 -6
- package/src/p2p/index.ts +1 -0
- package/src/p2p/validated_proposal.ts +43 -0
- package/src/p2p/wire_compat_fixtures.ts +23 -0
- package/src/parity/inbox_parity_private_inputs.ts +116 -0
- package/src/parity/index.ts +1 -2
- package/src/parity/parity_public_inputs.ts +12 -14
- package/src/proofs/proving_request_type.ts +2 -5
- package/src/rollup/block_constant_data.ts +4 -4
- package/src/rollup/block_rollup_public_inputs.ts +14 -5
- package/src/rollup/block_root_rollup_private_inputs.ts +117 -153
- package/src/rollup/checkpoint_header.ts +17 -13
- package/src/rollup/checkpoint_rollup_public_inputs.ts +15 -0
- package/src/rollup/checkpoint_root_rollup_private_inputs.ts +16 -3
- package/src/rollup/root_rollup_public_inputs.ts +10 -0
- package/src/stats/stats.ts +4 -5
- package/src/tests/factories.ts +38 -32
- package/src/tests/fixtures.ts +3 -0
- package/src/tests/mocks.ts +6 -7
- package/src/tx/state_reference.ts +5 -12
- package/dest/messaging/in_hash.d.ts +0 -6
- package/dest/messaging/in_hash.d.ts.map +0 -1
- package/dest/messaging/in_hash.js +0 -10
- package/dest/messaging/inbox_leaf.d.ts +0 -25
- package/dest/messaging/inbox_leaf.d.ts.map +0 -1
- package/dest/messaging/inbox_leaf.js +0 -42
- package/dest/parity/parity_base_private_inputs.d.ts +0 -39
- package/dest/parity/parity_base_private_inputs.d.ts.map +0 -1
- package/dest/parity/parity_base_private_inputs.js +0 -51
- package/dest/parity/parity_root_private_inputs.d.ts +0 -39
- package/dest/parity/parity_root_private_inputs.d.ts.map +0 -1
- package/dest/parity/parity_root_private_inputs.js +0 -46
- package/src/messaging/in_hash.ts +0 -12
- package/src/messaging/inbox_leaf.ts +0 -44
- package/src/parity/parity_base_private_inputs.ts +0 -71
- package/src/parity/parity_root_private_inputs.ts +0 -64
|
@@ -1,125 +1,26 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { SpongeBlob } from '@aztec/blob-lib/types';
|
|
2
|
+
import { ARCHIVE_HEIGHT, L1_TO_L2_MSG_TREE_HEIGHT } from '@aztec/constants';
|
|
2
3
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
4
|
import { bufferSchemaFor } from '@aztec/foundation/schemas';
|
|
4
5
|
import { BufferReader, bigintToUInt64BE, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
5
|
-
import {
|
|
6
|
+
import { L1ToL2MessageBundle } from '../messaging/l1_to_l2_message_bundle.js';
|
|
7
|
+
import { L1ToL2MessageSponge } from '../messaging/l1_to_l2_message_sponge.js';
|
|
6
8
|
import { ProofData } from '../proofs/proof_data.js';
|
|
7
9
|
import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
|
|
8
10
|
import { StateReference } from '../tx/state_reference.js';
|
|
9
11
|
import { CheckpointConstantData } from './checkpoint_constant_data.js';
|
|
10
12
|
import { TxRollupPublicInputs } from './tx_rollup_public_inputs.js';
|
|
11
|
-
export class
|
|
12
|
-
l1ToL2Roots;
|
|
13
|
-
previousRollups;
|
|
14
|
-
previousL1ToL2;
|
|
15
|
-
newL1ToL2MessageSubtreeRootSiblingPath;
|
|
16
|
-
newArchiveSiblingPath;
|
|
17
|
-
constructor(/**
|
|
18
|
-
* The original and converted roots of the L1 to L2 messages subtrees.
|
|
19
|
-
*/ l1ToL2Roots, /**
|
|
20
|
-
* The previous rollup proof data from base or merge rollup circuits.
|
|
21
|
-
*/ previousRollups, /**
|
|
22
|
-
* The l1 to l2 message tree snapshot immediately before this block.
|
|
23
|
-
*/ previousL1ToL2, /**
|
|
24
|
-
* Hint for inserting the new l1 to l2 message subtree root into `previousL1ToL2`.
|
|
25
|
-
*/ newL1ToL2MessageSubtreeRootSiblingPath, /**
|
|
26
|
-
* Hint for inserting the new block hash to the last archive.
|
|
27
|
-
*/ newArchiveSiblingPath){
|
|
28
|
-
this.l1ToL2Roots = l1ToL2Roots;
|
|
29
|
-
this.previousRollups = previousRollups;
|
|
30
|
-
this.previousL1ToL2 = previousL1ToL2;
|
|
31
|
-
this.newL1ToL2MessageSubtreeRootSiblingPath = newL1ToL2MessageSubtreeRootSiblingPath;
|
|
32
|
-
this.newArchiveSiblingPath = newArchiveSiblingPath;
|
|
33
|
-
}
|
|
34
|
-
static from(fields) {
|
|
35
|
-
return new BlockRootFirstRollupPrivateInputs(...BlockRootFirstRollupPrivateInputs.getFields(fields));
|
|
36
|
-
}
|
|
37
|
-
static getFields(fields) {
|
|
38
|
-
return [
|
|
39
|
-
fields.l1ToL2Roots,
|
|
40
|
-
fields.previousRollups,
|
|
41
|
-
fields.previousL1ToL2,
|
|
42
|
-
fields.newL1ToL2MessageSubtreeRootSiblingPath,
|
|
43
|
-
fields.newArchiveSiblingPath
|
|
44
|
-
];
|
|
45
|
-
}
|
|
46
|
-
toBuffer() {
|
|
47
|
-
return serializeToBuffer(...BlockRootFirstRollupPrivateInputs.getFields(this));
|
|
48
|
-
}
|
|
49
|
-
static fromBuffer(buffer) {
|
|
50
|
-
const reader = BufferReader.asReader(buffer);
|
|
51
|
-
return new BlockRootFirstRollupPrivateInputs(ProofData.fromBuffer(reader, ParityPublicInputs), [
|
|
52
|
-
ProofData.fromBuffer(reader, TxRollupPublicInputs),
|
|
53
|
-
ProofData.fromBuffer(reader, TxRollupPublicInputs)
|
|
54
|
-
], AppendOnlyTreeSnapshot.fromBuffer(reader), reader.readArray(L1_TO_L2_MSG_SUBTREE_ROOT_SIBLING_PATH_LENGTH, Fr), reader.readArray(ARCHIVE_HEIGHT, Fr));
|
|
55
|
-
}
|
|
56
|
-
toJSON() {
|
|
57
|
-
return this.toBuffer();
|
|
58
|
-
}
|
|
59
|
-
static get schema() {
|
|
60
|
-
return bufferSchemaFor(BlockRootFirstRollupPrivateInputs);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
export class BlockRootSingleTxFirstRollupPrivateInputs {
|
|
64
|
-
l1ToL2Roots;
|
|
65
|
-
previousRollup;
|
|
66
|
-
previousL1ToL2;
|
|
67
|
-
newL1ToL2MessageSubtreeRootSiblingPath;
|
|
68
|
-
newArchiveSiblingPath;
|
|
69
|
-
constructor(/**
|
|
70
|
-
* The original and converted roots of the L1 to L2 messages subtrees.
|
|
71
|
-
*/ l1ToL2Roots, /**
|
|
72
|
-
* The previous rollup proof data from base or merge rollup circuits.
|
|
73
|
-
*/ previousRollup, /**
|
|
74
|
-
* The l1 to l2 message tree snapshot immediately before this block.
|
|
75
|
-
*/ previousL1ToL2, /**
|
|
76
|
-
* Hint for inserting the new l1 to l2 message subtree root.
|
|
77
|
-
*/ newL1ToL2MessageSubtreeRootSiblingPath, /**
|
|
78
|
-
* Hint for inserting the new block hash to the last archive.
|
|
79
|
-
*/ newArchiveSiblingPath){
|
|
80
|
-
this.l1ToL2Roots = l1ToL2Roots;
|
|
81
|
-
this.previousRollup = previousRollup;
|
|
82
|
-
this.previousL1ToL2 = previousL1ToL2;
|
|
83
|
-
this.newL1ToL2MessageSubtreeRootSiblingPath = newL1ToL2MessageSubtreeRootSiblingPath;
|
|
84
|
-
this.newArchiveSiblingPath = newArchiveSiblingPath;
|
|
85
|
-
}
|
|
86
|
-
static from(fields) {
|
|
87
|
-
return new BlockRootSingleTxFirstRollupPrivateInputs(...BlockRootSingleTxFirstRollupPrivateInputs.getFields(fields));
|
|
88
|
-
}
|
|
89
|
-
static getFields(fields) {
|
|
90
|
-
return [
|
|
91
|
-
fields.l1ToL2Roots,
|
|
92
|
-
fields.previousRollup,
|
|
93
|
-
fields.previousL1ToL2,
|
|
94
|
-
fields.newL1ToL2MessageSubtreeRootSiblingPath,
|
|
95
|
-
fields.newArchiveSiblingPath
|
|
96
|
-
];
|
|
97
|
-
}
|
|
98
|
-
toBuffer() {
|
|
99
|
-
return serializeToBuffer(...BlockRootSingleTxFirstRollupPrivateInputs.getFields(this));
|
|
100
|
-
}
|
|
101
|
-
static fromBuffer(buffer) {
|
|
102
|
-
const reader = BufferReader.asReader(buffer);
|
|
103
|
-
return new BlockRootSingleTxFirstRollupPrivateInputs(ProofData.fromBuffer(reader, ParityPublicInputs), ProofData.fromBuffer(reader, TxRollupPublicInputs), AppendOnlyTreeSnapshot.fromBuffer(reader), reader.readArray(L1_TO_L2_MSG_SUBTREE_ROOT_SIBLING_PATH_LENGTH, Fr), reader.readArray(ARCHIVE_HEIGHT, Fr));
|
|
104
|
-
}
|
|
105
|
-
toJSON() {
|
|
106
|
-
return this.toBuffer();
|
|
107
|
-
}
|
|
108
|
-
static get schema() {
|
|
109
|
-
return bufferSchemaFor(BlockRootSingleTxFirstRollupPrivateInputs);
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
export class BlockRootEmptyTxFirstRollupPrivateInputs {
|
|
113
|
-
l1ToL2Roots;
|
|
13
|
+
export class BlockRootNoTxsRollupPrivateInputs {
|
|
114
14
|
previousArchive;
|
|
115
15
|
previousState;
|
|
116
16
|
constants;
|
|
117
17
|
timestamp;
|
|
118
|
-
|
|
18
|
+
startSpongeBlob;
|
|
19
|
+
startMsgSponge;
|
|
20
|
+
messageBundle;
|
|
21
|
+
l1ToL2MessageFrontierHint;
|
|
119
22
|
newArchiveSiblingPath;
|
|
120
23
|
constructor(/**
|
|
121
|
-
* The original and converted roots of the L1 to L2 messages subtrees.
|
|
122
|
-
*/ l1ToL2Roots, /**
|
|
123
24
|
* The archive after applying the previous block.
|
|
124
25
|
*/ previousArchive, /**
|
|
125
26
|
* The state reference of the previous block.
|
|
@@ -128,63 +29,85 @@ export class BlockRootEmptyTxFirstRollupPrivateInputs {
|
|
|
128
29
|
*/ constants, /**
|
|
129
30
|
* The timestamp of this block.
|
|
130
31
|
*/ timestamp, /**
|
|
131
|
-
*
|
|
132
|
-
|
|
32
|
+
* Sponge blob this block starts from: initialized for the checkpoint's first block, inherited from the previous
|
|
33
|
+
* block otherwise (checked against `SpongeBlob.init()` or the previous block's `endSpongeBlob` respectively).
|
|
34
|
+
*/ startSpongeBlob, /**
|
|
35
|
+
* Message sponge this block starts from: empty for the checkpoint's first block, inherited from the previous block
|
|
36
|
+
* otherwise (checked against the empty sponge or the previous block's `endMsgSponge` respectively).
|
|
37
|
+
*/ startMsgSponge, /**
|
|
38
|
+
* L1-to-L2 message bundle inserted by this block.
|
|
39
|
+
*/ messageBundle, /**
|
|
40
|
+
* Frontier hint for appending the message bundle to the previous state's l1 to l2 message tree.
|
|
41
|
+
*/ l1ToL2MessageFrontierHint, /**
|
|
133
42
|
* Hint for inserting the new block hash to the last archive.
|
|
134
43
|
*/ newArchiveSiblingPath){
|
|
135
|
-
this.l1ToL2Roots = l1ToL2Roots;
|
|
136
44
|
this.previousArchive = previousArchive;
|
|
137
45
|
this.previousState = previousState;
|
|
138
46
|
this.constants = constants;
|
|
139
47
|
this.timestamp = timestamp;
|
|
140
|
-
this.
|
|
48
|
+
this.startSpongeBlob = startSpongeBlob;
|
|
49
|
+
this.startMsgSponge = startMsgSponge;
|
|
50
|
+
this.messageBundle = messageBundle;
|
|
51
|
+
this.l1ToL2MessageFrontierHint = l1ToL2MessageFrontierHint;
|
|
141
52
|
this.newArchiveSiblingPath = newArchiveSiblingPath;
|
|
142
53
|
}
|
|
143
54
|
static from(fields) {
|
|
144
|
-
return new
|
|
55
|
+
return new BlockRootNoTxsRollupPrivateInputs(...BlockRootNoTxsRollupPrivateInputs.getFields(fields));
|
|
145
56
|
}
|
|
146
57
|
static getFields(fields) {
|
|
147
58
|
return [
|
|
148
|
-
fields.l1ToL2Roots,
|
|
149
59
|
fields.previousArchive,
|
|
150
60
|
fields.previousState,
|
|
151
61
|
fields.constants,
|
|
152
62
|
fields.timestamp,
|
|
153
|
-
fields.
|
|
63
|
+
fields.startSpongeBlob,
|
|
64
|
+
fields.startMsgSponge,
|
|
65
|
+
fields.messageBundle,
|
|
66
|
+
fields.l1ToL2MessageFrontierHint,
|
|
154
67
|
fields.newArchiveSiblingPath
|
|
155
68
|
];
|
|
156
69
|
}
|
|
157
70
|
toBuffer() {
|
|
158
|
-
return serializeToBuffer(
|
|
159
|
-
this.l1ToL2Roots,
|
|
160
|
-
this.previousArchive,
|
|
161
|
-
this.previousState,
|
|
162
|
-
this.constants,
|
|
163
|
-
bigintToUInt64BE(this.timestamp),
|
|
164
|
-
this.newL1ToL2MessageSubtreeRootSiblingPath,
|
|
165
|
-
this.newArchiveSiblingPath
|
|
166
|
-
]);
|
|
71
|
+
return serializeToBuffer(this.previousArchive, this.previousState, this.constants, bigintToUInt64BE(this.timestamp), this.startSpongeBlob, this.startMsgSponge, this.messageBundle, this.l1ToL2MessageFrontierHint, this.newArchiveSiblingPath);
|
|
167
72
|
}
|
|
168
73
|
static fromBuffer(buffer) {
|
|
169
74
|
const reader = BufferReader.asReader(buffer);
|
|
170
|
-
return new
|
|
75
|
+
return new BlockRootNoTxsRollupPrivateInputs(AppendOnlyTreeSnapshot.fromBuffer(reader), StateReference.fromBuffer(reader), CheckpointConstantData.fromBuffer(reader), reader.readUInt64(), reader.readObject(SpongeBlob), reader.readObject(L1ToL2MessageSponge), reader.readObject(L1ToL2MessageBundle), reader.readArray(L1_TO_L2_MSG_TREE_HEIGHT, Fr), reader.readArray(ARCHIVE_HEIGHT, Fr));
|
|
171
76
|
}
|
|
172
77
|
toJSON() {
|
|
173
78
|
return this.toBuffer();
|
|
174
79
|
}
|
|
175
80
|
static get schema() {
|
|
176
|
-
return bufferSchemaFor(
|
|
81
|
+
return bufferSchemaFor(BlockRootNoTxsRollupPrivateInputs);
|
|
177
82
|
}
|
|
178
83
|
}
|
|
179
84
|
export class BlockRootRollupPrivateInputs {
|
|
180
85
|
previousRollups;
|
|
86
|
+
messageBundle;
|
|
87
|
+
previousL1ToL2;
|
|
88
|
+
startMsgSponge;
|
|
89
|
+
l1ToL2MessageFrontierHint;
|
|
181
90
|
newArchiveSiblingPath;
|
|
182
91
|
constructor(/**
|
|
183
92
|
* The previous rollup proof data from base or merge rollup circuits.
|
|
184
93
|
*/ previousRollups, /**
|
|
94
|
+
* L1-to-L2 message bundle inserted by this block.
|
|
95
|
+
*/ messageBundle, /**
|
|
96
|
+
* The l1 to l2 message tree snapshot this block builds on (the previous block's post-insertion snapshot). Pinned by
|
|
97
|
+
* block-merge continuity to the previous block's end state; the circuit appends this block's bundle on top and
|
|
98
|
+
* asserts the tx constants carry the resulting post-bundle snapshot.
|
|
99
|
+
*/ previousL1ToL2, /**
|
|
100
|
+
* Message sponge inherited from the previous block (checked against its `endMsgSponge` in the merge/checkpoint root).
|
|
101
|
+
*/ startMsgSponge, /**
|
|
102
|
+
* Frontier hint for appending the message bundle to `previousL1ToL2`.
|
|
103
|
+
*/ l1ToL2MessageFrontierHint, /**
|
|
185
104
|
* Hint for inserting the new block hash to the last archive.
|
|
186
105
|
*/ newArchiveSiblingPath){
|
|
187
106
|
this.previousRollups = previousRollups;
|
|
107
|
+
this.messageBundle = messageBundle;
|
|
108
|
+
this.previousL1ToL2 = previousL1ToL2;
|
|
109
|
+
this.startMsgSponge = startMsgSponge;
|
|
110
|
+
this.l1ToL2MessageFrontierHint = l1ToL2MessageFrontierHint;
|
|
188
111
|
this.newArchiveSiblingPath = newArchiveSiblingPath;
|
|
189
112
|
}
|
|
190
113
|
static from(fields) {
|
|
@@ -193,18 +116,22 @@ export class BlockRootRollupPrivateInputs {
|
|
|
193
116
|
static getFields(fields) {
|
|
194
117
|
return [
|
|
195
118
|
fields.previousRollups,
|
|
119
|
+
fields.messageBundle,
|
|
120
|
+
fields.previousL1ToL2,
|
|
121
|
+
fields.startMsgSponge,
|
|
122
|
+
fields.l1ToL2MessageFrontierHint,
|
|
196
123
|
fields.newArchiveSiblingPath
|
|
197
124
|
];
|
|
198
125
|
}
|
|
199
126
|
toBuffer() {
|
|
200
|
-
return serializeToBuffer(
|
|
127
|
+
return serializeToBuffer(this.previousRollups, this.messageBundle, this.previousL1ToL2, this.startMsgSponge, this.l1ToL2MessageFrontierHint, this.newArchiveSiblingPath);
|
|
201
128
|
}
|
|
202
129
|
static fromBuffer(buffer) {
|
|
203
130
|
const reader = BufferReader.asReader(buffer);
|
|
204
131
|
return new BlockRootRollupPrivateInputs([
|
|
205
132
|
ProofData.fromBuffer(reader, TxRollupPublicInputs),
|
|
206
133
|
ProofData.fromBuffer(reader, TxRollupPublicInputs)
|
|
207
|
-
], reader.readArray(ARCHIVE_HEIGHT, Fr));
|
|
134
|
+
], reader.readObject(L1ToL2MessageBundle), AppendOnlyTreeSnapshot.fromBuffer(reader), reader.readObject(L1ToL2MessageSponge), reader.readArray(L1_TO_L2_MSG_TREE_HEIGHT, Fr), reader.readArray(ARCHIVE_HEIGHT, Fr));
|
|
208
135
|
}
|
|
209
136
|
toJSON() {
|
|
210
137
|
return this.toBuffer();
|
|
@@ -215,13 +142,31 @@ export class BlockRootRollupPrivateInputs {
|
|
|
215
142
|
}
|
|
216
143
|
export class BlockRootSingleTxRollupPrivateInputs {
|
|
217
144
|
previousRollup;
|
|
145
|
+
messageBundle;
|
|
146
|
+
previousL1ToL2;
|
|
147
|
+
startMsgSponge;
|
|
148
|
+
l1ToL2MessageFrontierHint;
|
|
218
149
|
newArchiveSiblingPath;
|
|
219
150
|
constructor(/**
|
|
220
151
|
* The previous rollup proof data from base or merge rollup circuits.
|
|
221
152
|
*/ previousRollup, /**
|
|
153
|
+
* L1-to-L2 message bundle inserted by this block.
|
|
154
|
+
*/ messageBundle, /**
|
|
155
|
+
* The l1 to l2 message tree snapshot this block builds on (the previous block's post-insertion snapshot). Pinned by
|
|
156
|
+
* block-merge continuity to the previous block's end state; the circuit appends this block's bundle on top and
|
|
157
|
+
* asserts the tx constants carry the resulting post-bundle snapshot.
|
|
158
|
+
*/ previousL1ToL2, /**
|
|
159
|
+
* Message sponge inherited from the previous block (checked against its `endMsgSponge` in the merge/checkpoint root).
|
|
160
|
+
*/ startMsgSponge, /**
|
|
161
|
+
* Frontier hint for appending the message bundle to `previousL1ToL2`.
|
|
162
|
+
*/ l1ToL2MessageFrontierHint, /**
|
|
222
163
|
* Hint for inserting the new block hash to the last archive.
|
|
223
164
|
*/ newArchiveSiblingPath){
|
|
224
165
|
this.previousRollup = previousRollup;
|
|
166
|
+
this.messageBundle = messageBundle;
|
|
167
|
+
this.previousL1ToL2 = previousL1ToL2;
|
|
168
|
+
this.startMsgSponge = startMsgSponge;
|
|
169
|
+
this.l1ToL2MessageFrontierHint = l1ToL2MessageFrontierHint;
|
|
225
170
|
this.newArchiveSiblingPath = newArchiveSiblingPath;
|
|
226
171
|
}
|
|
227
172
|
static from(fields) {
|
|
@@ -230,15 +175,19 @@ export class BlockRootSingleTxRollupPrivateInputs {
|
|
|
230
175
|
static getFields(fields) {
|
|
231
176
|
return [
|
|
232
177
|
fields.previousRollup,
|
|
178
|
+
fields.messageBundle,
|
|
179
|
+
fields.previousL1ToL2,
|
|
180
|
+
fields.startMsgSponge,
|
|
181
|
+
fields.l1ToL2MessageFrontierHint,
|
|
233
182
|
fields.newArchiveSiblingPath
|
|
234
183
|
];
|
|
235
184
|
}
|
|
236
185
|
toBuffer() {
|
|
237
|
-
return serializeToBuffer(
|
|
186
|
+
return serializeToBuffer(this.previousRollup, this.messageBundle, this.previousL1ToL2, this.startMsgSponge, this.l1ToL2MessageFrontierHint, this.newArchiveSiblingPath);
|
|
238
187
|
}
|
|
239
188
|
static fromBuffer(buffer) {
|
|
240
189
|
const reader = BufferReader.asReader(buffer);
|
|
241
|
-
return new BlockRootSingleTxRollupPrivateInputs(ProofData.fromBuffer(reader, TxRollupPublicInputs), reader.readArray(ARCHIVE_HEIGHT, Fr));
|
|
190
|
+
return new BlockRootSingleTxRollupPrivateInputs(ProofData.fromBuffer(reader, TxRollupPublicInputs), reader.readObject(L1ToL2MessageBundle), AppendOnlyTreeSnapshot.fromBuffer(reader), reader.readObject(L1ToL2MessageSponge), reader.readArray(L1_TO_L2_MSG_TREE_HEIGHT, Fr), reader.readArray(ARCHIVE_HEIGHT, Fr));
|
|
242
191
|
}
|
|
243
192
|
toJSON() {
|
|
244
193
|
return this.toBuffer();
|
|
@@ -22,8 +22,12 @@ export declare class CheckpointHeader {
|
|
|
22
22
|
blockHeadersHash: Fr;
|
|
23
23
|
/** Hash of the blobs in the checkpoint. */
|
|
24
24
|
blobsHash: Fr;
|
|
25
|
-
/**
|
|
26
|
-
|
|
25
|
+
/**
|
|
26
|
+
* Inbox rolling-hash chain value after consuming all L1-to-L2 messages bundled into this checkpoint:
|
|
27
|
+
* the truncated-to-field sha256 chain the L1 Inbox accumulates. This is the checkpoint's only inbox
|
|
28
|
+
* commitment.
|
|
29
|
+
*/
|
|
30
|
+
inboxRollingHash: Fr;
|
|
27
31
|
/**
|
|
28
32
|
* The root of the epoch out hash balanced tree. The out hash of the first checkpoint in the epoch is inserted at
|
|
29
33
|
* index 0, the second at index 1, and so on.
|
|
@@ -53,8 +57,12 @@ export declare class CheckpointHeader {
|
|
|
53
57
|
blockHeadersHash: Fr,
|
|
54
58
|
/** Hash of the blobs in the checkpoint. */
|
|
55
59
|
blobsHash: Fr,
|
|
56
|
-
/**
|
|
57
|
-
|
|
60
|
+
/**
|
|
61
|
+
* Inbox rolling-hash chain value after consuming all L1-to-L2 messages bundled into this checkpoint:
|
|
62
|
+
* the truncated-to-field sha256 chain the L1 Inbox accumulates. This is the checkpoint's only inbox
|
|
63
|
+
* commitment.
|
|
64
|
+
*/
|
|
65
|
+
inboxRollingHash: Fr,
|
|
58
66
|
/**
|
|
59
67
|
* The root of the epoch out hash balanced tree. The out hash of the first checkpoint in the epoch is inserted at
|
|
60
68
|
* index 0, the second at index 1, and so on.
|
|
@@ -106,7 +114,7 @@ export declare class CheckpointHeader {
|
|
|
106
114
|
lastArchive: `0x${string}`;
|
|
107
115
|
blockHeadersHash: `0x${string}`;
|
|
108
116
|
blobsHash: `0x${string}`;
|
|
109
|
-
|
|
117
|
+
inboxRollingHash: `0x${string}`;
|
|
110
118
|
epochOutHash: `0x${string}`;
|
|
111
119
|
slotNumber: SlotNumber;
|
|
112
120
|
timestamp: bigint;
|
|
@@ -121,4 +129,4 @@ export declare class CheckpointHeader {
|
|
|
121
129
|
};
|
|
122
130
|
[inspect.custom](): string;
|
|
123
131
|
}
|
|
124
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
132
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludF9oZWFkZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yb2xsdXAvY2hlY2twb2ludF9oZWFkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRTdELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDM0QsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFlBQVksRUFBdUMsTUFBTSw2QkFBNkIsQ0FBQztBQUVoRyxPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV4RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRy9CLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFMUMsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakUsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFakQ7Ozs7R0FJRztBQUNILHFCQUFhLGdCQUFnQjtJQUV6QiwyREFBMkQ7SUFDcEQsZUFBZSxFQUFFLEVBQUU7SUFDMUIsNERBQTREO0lBQ3JELGdCQUFnQixFQUFFLEVBQUU7SUFDM0IsMkNBQTJDO0lBQ3BDLFNBQVMsRUFBRSxFQUFFO0lBQ3BCOzs7O09BSUc7SUFDSSxnQkFBZ0IsRUFBRSxFQUFFO0lBQzNCOzs7Ozs7T0FNRztJQUNJLFlBQVksRUFBRSxFQUFFO0lBQ3ZCLGtDQUFrQztJQUMzQixVQUFVLEVBQUUsVUFBVTtJQUM3QixpQ0FBaUM7SUFDMUIsU0FBUyxFQUFFLE1BQU07SUFDeEIsaUNBQWlDO0lBQzFCLFFBQVEsRUFBRSxVQUFVO0lBQzNCLCtCQUErQjtJQUN4QixZQUFZLEVBQUUsWUFBWTtJQUNqQyx3Q0FBd0M7SUFDakMsT0FBTyxFQUFFLE9BQU87SUFDdkIsd0VBQXdFO0lBQ2pFLGFBQWEsRUFBRSxFQUFFO0lBQ3hCLGdEQUFnRDtJQUN6QyxlQUFlLEVBQUUsRUFBRTtJQWxDNUI7SUFDRSwyREFBMkQ7SUFDcEQsZUFBZSxFQUFFLEVBQUU7SUFDMUIsNERBQTREO0lBQ3JELGdCQUFnQixFQUFFLEVBQUU7SUFDM0IsMkNBQTJDO0lBQ3BDLFNBQVMsRUFBRSxFQUFFO0lBQ3BCOzs7O09BSUc7SUFDSSxnQkFBZ0IsRUFBRSxFQUFFO0lBQzNCOzs7Ozs7T0FNRztJQUNJLFlBQVksRUFBRSxFQUFFO0lBQ3ZCLGtDQUFrQztJQUMzQixVQUFVLEVBQUUsVUFBVTtJQUM3QixpQ0FBaUM7SUFDMUIsU0FBUyxFQUFFLE1BQU07SUFDeEIsaUNBQWlDO0lBQzFCLFFBQVEsRUFBRSxVQUFVO0lBQzNCLCtCQUErQjtJQUN4QixZQUFZLEVBQUUsWUFBWTtJQUNqQyx3Q0FBd0M7SUFDakMsT0FBTyxFQUFFLE9BQU87SUFDdkIsd0VBQXdFO0lBQ2pFLGFBQWEsRUFBRSxFQUFFO0lBQ3hCLGdEQUFnRDtJQUN6QyxlQUFlLEVBQUUsRUFBRSxFQUN4QjtJQUVKLE1BQU0sS0FBSyxNQUFNLElBQUksTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBaUI1QztJQUVELE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxnR0FlbEQ7SUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsb0JBRTdDO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFlBQVksb0JBaUI5QztJQUVELE1BQU0sQ0FBQyxLQUFLLEVBQUUsZ0JBQWdCLFdBZTdCO0lBRUQsaUZBQWlGO0lBQ2pGLHNCQUFzQixDQUFDLEtBQUssRUFBRSxlQUFlLFdBUTVDO0lBRUQsUUFBUSw0QkFnQlA7SUFFRCxJQUFJLElBQUksRUFBRSxDQUVUO0lBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFNLG9CQWdCNUQ7SUFFRCxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsR0FBRSxPQUFPLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLENBQU0sR0FBRyxnQkFBZ0IsQ0FnQm5GO0lBRUQsT0FBTyxJQUFJLE9BQU8sQ0FlakI7SUFFRDs7O09BR0c7SUFDSSxRQUFRLGtCQUVkO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxvQkFFNUI7SUFFRCxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxVQUFVLG9CQWVqQztJQUVEOzs7T0FHRztJQUNILGFBQWEsSUFBSSxVQUFVLENBRTFCO0lBRUQsTUFBTSxJQUFJLFVBQVUsQ0FrQm5CO0lBRUQsU0FBUzs7Ozs7Ozs7Ozs7Ozs7OztNQWVSO0lBRUQsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFdBZWY7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkpoint_header.d.ts","sourceRoot":"","sources":["../../src/rollup/checkpoint_header.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAE7D,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAuC,MAAM,6BAA6B,CAAC;AAEhG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAG/B,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEjD;;;;GAIG;AACH,qBAAa,gBAAgB;IAEzB,2DAA2D;IACpD,eAAe,EAAE,EAAE;IAC1B,4DAA4D;IACrD,gBAAgB,EAAE,EAAE;IAC3B,2CAA2C;IACpC,SAAS,EAAE,EAAE;IACpB
|
|
1
|
+
{"version":3,"file":"checkpoint_header.d.ts","sourceRoot":"","sources":["../../src/rollup/checkpoint_header.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAE7D,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAuC,MAAM,6BAA6B,CAAC;AAEhG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAG/B,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEjD;;;;GAIG;AACH,qBAAa,gBAAgB;IAEzB,2DAA2D;IACpD,eAAe,EAAE,EAAE;IAC1B,4DAA4D;IACrD,gBAAgB,EAAE,EAAE;IAC3B,2CAA2C;IACpC,SAAS,EAAE,EAAE;IACpB;;;;OAIG;IACI,gBAAgB,EAAE,EAAE;IAC3B;;;;;;OAMG;IACI,YAAY,EAAE,EAAE;IACvB,kCAAkC;IAC3B,UAAU,EAAE,UAAU;IAC7B,iCAAiC;IAC1B,SAAS,EAAE,MAAM;IACxB,iCAAiC;IAC1B,QAAQ,EAAE,UAAU;IAC3B,+BAA+B;IACxB,YAAY,EAAE,YAAY;IACjC,wCAAwC;IACjC,OAAO,EAAE,OAAO;IACvB,wEAAwE;IACjE,aAAa,EAAE,EAAE;IACxB,gDAAgD;IACzC,eAAe,EAAE,EAAE;IAlC5B;IACE,2DAA2D;IACpD,eAAe,EAAE,EAAE;IAC1B,4DAA4D;IACrD,gBAAgB,EAAE,EAAE;IAC3B,2CAA2C;IACpC,SAAS,EAAE,EAAE;IACpB;;;;OAIG;IACI,gBAAgB,EAAE,EAAE;IAC3B;;;;;;OAMG;IACI,YAAY,EAAE,EAAE;IACvB,kCAAkC;IAC3B,UAAU,EAAE,UAAU;IAC7B,iCAAiC;IAC1B,SAAS,EAAE,MAAM;IACxB,iCAAiC;IAC1B,QAAQ,EAAE,UAAU;IAC3B,+BAA+B;IACxB,YAAY,EAAE,YAAY;IACjC,wCAAwC;IACjC,OAAO,EAAE,OAAO;IACvB,wEAAwE;IACjE,aAAa,EAAE,EAAE;IACxB,gDAAgD;IACzC,eAAe,EAAE,EAAE,EACxB;IAEJ,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,gBAAgB,CAAC,CAiB5C;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,gGAelD;IAED,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,oBAE7C;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,oBAiB9C;IAED,MAAM,CAAC,KAAK,EAAE,gBAAgB,WAe7B;IAED,iFAAiF;IACjF,sBAAsB,CAAC,KAAK,EAAE,eAAe,WAQ5C;IAED,QAAQ,4BAgBP;IAED,IAAI,IAAI,EAAE,CAET;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,GAAE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAM,oBAgB5D;IAED,MAAM,CAAC,MAAM,CAAC,SAAS,GAAE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAM,GAAG,gBAAgB,CAgBnF;IAED,OAAO,IAAI,OAAO,CAejB;IAED;;;OAGG;IACI,QAAQ,kBAEd;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,oBAE5B;IAED,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,oBAejC;IAED;;;OAGG;IACH,aAAa,IAAI,UAAU,CAE1B;IAED,MAAM,IAAI,UAAU,CAkBnB;IAED,SAAS;;;;;;;;;;;;;;;;MAeR;IAED,CAAC,OAAO,CAAC,MAAM,CAAC,WAef;CACF"}
|
|
@@ -19,7 +19,7 @@ _computedKey = inspect.custom;
|
|
|
19
19
|
lastArchiveRoot;
|
|
20
20
|
blockHeadersHash;
|
|
21
21
|
blobsHash;
|
|
22
|
-
|
|
22
|
+
inboxRollingHash;
|
|
23
23
|
epochOutHash;
|
|
24
24
|
slotNumber;
|
|
25
25
|
timestamp;
|
|
@@ -28,7 +28,11 @@ _computedKey = inspect.custom;
|
|
|
28
28
|
gasFees;
|
|
29
29
|
totalManaUsed;
|
|
30
30
|
accumulatedFees;
|
|
31
|
-
constructor(/** Root of the archive tree before this block is added. */ lastArchiveRoot, /** Hash of the headers of all blocks in this checkpoint. */ blockHeadersHash, /** Hash of the blobs in the checkpoint. */ blobsHash, /**
|
|
31
|
+
constructor(/** Root of the archive tree before this block is added. */ lastArchiveRoot, /** Hash of the headers of all blocks in this checkpoint. */ blockHeadersHash, /** Hash of the blobs in the checkpoint. */ blobsHash, /**
|
|
32
|
+
* Inbox rolling-hash chain value after consuming all L1-to-L2 messages bundled into this checkpoint:
|
|
33
|
+
* the truncated-to-field sha256 chain the L1 Inbox accumulates. This is the checkpoint's only inbox
|
|
34
|
+
* commitment.
|
|
35
|
+
*/ inboxRollingHash, /**
|
|
32
36
|
* The root of the epoch out hash balanced tree. The out hash of the first checkpoint in the epoch is inserted at
|
|
33
37
|
* index 0, the second at index 1, and so on.
|
|
34
38
|
* Note: This is not necessarily the final epoch out hash. It includes only the out hashes of checkpoints up to and
|
|
@@ -38,7 +42,7 @@ _computedKey = inspect.custom;
|
|
|
38
42
|
this.lastArchiveRoot = lastArchiveRoot;
|
|
39
43
|
this.blockHeadersHash = blockHeadersHash;
|
|
40
44
|
this.blobsHash = blobsHash;
|
|
41
|
-
this.
|
|
45
|
+
this.inboxRollingHash = inboxRollingHash;
|
|
42
46
|
this.epochOutHash = epochOutHash;
|
|
43
47
|
this.slotNumber = slotNumber;
|
|
44
48
|
this.timestamp = timestamp;
|
|
@@ -53,7 +57,7 @@ _computedKey = inspect.custom;
|
|
|
53
57
|
lastArchiveRoot: schemas.Fr,
|
|
54
58
|
blockHeadersHash: schemas.Fr,
|
|
55
59
|
blobsHash: schemas.Fr,
|
|
56
|
-
|
|
60
|
+
inboxRollingHash: schemas.Fr,
|
|
57
61
|
epochOutHash: schemas.Fr,
|
|
58
62
|
slotNumber: schemas.SlotNumber,
|
|
59
63
|
timestamp: schemas.BigInt,
|
|
@@ -69,7 +73,7 @@ _computedKey = inspect.custom;
|
|
|
69
73
|
fields.lastArchiveRoot,
|
|
70
74
|
fields.blockHeadersHash,
|
|
71
75
|
fields.blobsHash,
|
|
72
|
-
fields.
|
|
76
|
+
fields.inboxRollingHash,
|
|
73
77
|
fields.epochOutHash,
|
|
74
78
|
fields.slotNumber,
|
|
75
79
|
fields.timestamp,
|
|
@@ -88,7 +92,7 @@ _computedKey = inspect.custom;
|
|
|
88
92
|
return new CheckpointHeader(reader.readObject(Fr), reader.readObject(Fr), reader.readObject(Fr), reader.readObject(Fr), reader.readObject(Fr), SlotNumber(Fr.fromBuffer(reader).toNumber()), reader.readUInt64(), reader.readObject(EthAddress), reader.readObject(AztecAddress), reader.readObject(GasFees), reader.readObject(Fr), reader.readObject(Fr));
|
|
89
93
|
}
|
|
90
94
|
equals(other) {
|
|
91
|
-
return this.lastArchiveRoot.equals(other.lastArchiveRoot) && this.blockHeadersHash.equals(other.blockHeadersHash) && this.blobsHash.equals(other.blobsHash) && this.
|
|
95
|
+
return this.lastArchiveRoot.equals(other.lastArchiveRoot) && this.blockHeadersHash.equals(other.blockHeadersHash) && this.blobsHash.equals(other.blobsHash) && this.inboxRollingHash.equals(other.inboxRollingHash) && this.epochOutHash.equals(other.epochOutHash) && this.slotNumber === other.slotNumber && this.timestamp === other.timestamp && this.coinbase.equals(other.coinbase) && this.feeRecipient.equals(other.feeRecipient) && this.gasFees.equals(other.gasFees) && this.totalManaUsed.equals(other.totalManaUsed) && this.accumulatedFees.equals(other.accumulatedFees);
|
|
92
96
|
}
|
|
93
97
|
/** Returns true if the global variables match those in the checkpoint header. */ matchesGlobalVariables(other) {
|
|
94
98
|
return this.coinbase.equals(other.coinbase) && this.feeRecipient.equals(other.feeRecipient) && this.gasFees.equals(other.gasFees) && this.slotNumber === other.slotNumber && this.timestamp === other.timestamp;
|
|
@@ -99,7 +103,7 @@ _computedKey = inspect.custom;
|
|
|
99
103
|
this.lastArchiveRoot,
|
|
100
104
|
this.blockHeadersHash,
|
|
101
105
|
this.blobsHash,
|
|
102
|
-
this.
|
|
106
|
+
this.inboxRollingHash,
|
|
103
107
|
this.epochOutHash,
|
|
104
108
|
new Fr(this.slotNumber),
|
|
105
109
|
bigintToUInt64BE(this.timestamp),
|
|
@@ -120,7 +124,7 @@ _computedKey = inspect.custom;
|
|
|
120
124
|
lastArchiveRoot: Fr.ZERO,
|
|
121
125
|
blockHeadersHash: Fr.ZERO,
|
|
122
126
|
blobsHash: Fr.ZERO,
|
|
123
|
-
|
|
127
|
+
inboxRollingHash: Fr.ZERO,
|
|
124
128
|
epochOutHash: Fr.ZERO,
|
|
125
129
|
slotNumber: SlotNumber.ZERO,
|
|
126
130
|
timestamp: 0n,
|
|
@@ -137,7 +141,7 @@ _computedKey = inspect.custom;
|
|
|
137
141
|
lastArchiveRoot: Fr.random(),
|
|
138
142
|
blockHeadersHash: Fr.random(),
|
|
139
143
|
blobsHash: Fr.random(),
|
|
140
|
-
|
|
144
|
+
inboxRollingHash: Fr.random(),
|
|
141
145
|
epochOutHash: Fr.random(),
|
|
142
146
|
slotNumber: SlotNumber(Math.floor(Math.random() * 1000) + 1),
|
|
143
147
|
timestamp: BigInt(Math.floor(Date.now() / 1000)),
|
|
@@ -150,7 +154,7 @@ _computedKey = inspect.custom;
|
|
|
150
154
|
});
|
|
151
155
|
}
|
|
152
156
|
isEmpty() {
|
|
153
|
-
return this.lastArchiveRoot.isZero() && this.blockHeadersHash.isZero() && this.blobsHash.isZero() && this.
|
|
157
|
+
return this.lastArchiveRoot.isZero() && this.blockHeadersHash.isZero() && this.blobsHash.isZero() && this.inboxRollingHash.isZero() && this.epochOutHash.isZero() && this.slotNumber === 0 && this.timestamp === 0n && this.coinbase.isZero() && this.feeRecipient.isZero() && this.gasFees.isEmpty() && this.totalManaUsed.isZero() && this.accumulatedFees.isZero();
|
|
154
158
|
}
|
|
155
159
|
/**
|
|
156
160
|
* Serializes this instance into a string.
|
|
@@ -162,7 +166,7 @@ _computedKey = inspect.custom;
|
|
|
162
166
|
return CheckpointHeader.fromBuffer(hexToBuffer(str));
|
|
163
167
|
}
|
|
164
168
|
static fromViem(header) {
|
|
165
|
-
return new CheckpointHeader(Fr.fromString(header.lastArchiveRoot), Fr.fromString(header.blockHeadersHash), Fr.fromString(header.blobsHash), Fr.fromString(header.
|
|
169
|
+
return new CheckpointHeader(Fr.fromString(header.lastArchiveRoot), Fr.fromString(header.blockHeadersHash), Fr.fromString(header.blobsHash), Fr.fromString(header.inboxRollingHash), Fr.fromString(header.outHash), SlotNumber.fromBigInt(header.slotNumber), header.timestamp, new EthAddress(hexToBuffer(header.coinbase)), new AztecAddress(hexToBuffer(header.feeRecipient)), new GasFees(header.gasFees.feePerDaGas, header.gasFees.feePerL2Gas), new Fr(header.totalManaUsed), new Fr(header.accumulatedFees));
|
|
166
170
|
}
|
|
167
171
|
/**
|
|
168
172
|
* Returns the slot number as a SlotNumber branded type.
|
|
@@ -175,7 +179,7 @@ _computedKey = inspect.custom;
|
|
|
175
179
|
lastArchiveRoot: this.lastArchiveRoot.toString(),
|
|
176
180
|
blockHeadersHash: this.blockHeadersHash.toString(),
|
|
177
181
|
blobsHash: this.blobsHash.toString(),
|
|
178
|
-
|
|
182
|
+
inboxRollingHash: this.inboxRollingHash.toString(),
|
|
179
183
|
outHash: this.epochOutHash.toString(),
|
|
180
184
|
slotNumber: BigInt(this.slotNumber),
|
|
181
185
|
timestamp: this.timestamp,
|
|
@@ -194,7 +198,7 @@ _computedKey = inspect.custom;
|
|
|
194
198
|
lastArchive: this.lastArchiveRoot.toString(),
|
|
195
199
|
blockHeadersHash: this.blockHeadersHash.toString(),
|
|
196
200
|
blobsHash: this.blobsHash.toString(),
|
|
197
|
-
|
|
201
|
+
inboxRollingHash: this.inboxRollingHash.toString(),
|
|
198
202
|
epochOutHash: this.epochOutHash.toString(),
|
|
199
203
|
slotNumber: this.slotNumber,
|
|
200
204
|
timestamp: this.timestamp,
|
|
@@ -210,7 +214,7 @@ _computedKey = inspect.custom;
|
|
|
210
214
|
lastArchiveRoot: ${this.lastArchiveRoot.toString()},
|
|
211
215
|
blockHeadersHash: ${this.blockHeadersHash.toString()},
|
|
212
216
|
blobsHash: ${inspect(this.blobsHash)},
|
|
213
|
-
|
|
217
|
+
inboxRollingHash: ${inspect(this.inboxRollingHash)},
|
|
214
218
|
epochOutHash: ${inspect(this.epochOutHash)},
|
|
215
219
|
slotNumber: ${this.slotNumber},
|
|
216
220
|
timestamp: ${this.timestamp},
|
|
@@ -30,6 +30,15 @@ export declare class CheckpointRollupPublicInputs {
|
|
|
30
30
|
* The out hash tree snapshot after applying this checkpoint range.
|
|
31
31
|
*/
|
|
32
32
|
newOutHash: AppendOnlyTreeSnapshot;
|
|
33
|
+
/**
|
|
34
|
+
* Inbox rolling hash before consuming this checkpoint range's messages.
|
|
35
|
+
*/
|
|
36
|
+
startInboxRollingHash: Fr;
|
|
37
|
+
/**
|
|
38
|
+
* Inbox rolling hash after consuming this checkpoint range's messages (the end value lands in the checkpoint
|
|
39
|
+
* header). Checkpoint merges assert `right.start == left.end` for chain continuity.
|
|
40
|
+
*/
|
|
41
|
+
endInboxRollingHash: Fr;
|
|
33
42
|
/**
|
|
34
43
|
* The hashes of the headers of the constituent checkpoints.
|
|
35
44
|
*/
|
|
@@ -71,6 +80,15 @@ export declare class CheckpointRollupPublicInputs {
|
|
|
71
80
|
* The out hash tree snapshot after applying this checkpoint range.
|
|
72
81
|
*/
|
|
73
82
|
newOutHash: AppendOnlyTreeSnapshot,
|
|
83
|
+
/**
|
|
84
|
+
* Inbox rolling hash before consuming this checkpoint range's messages.
|
|
85
|
+
*/
|
|
86
|
+
startInboxRollingHash: Fr,
|
|
87
|
+
/**
|
|
88
|
+
* Inbox rolling hash after consuming this checkpoint range's messages (the end value lands in the checkpoint
|
|
89
|
+
* header). Checkpoint merges assert `right.start == left.end` for chain continuity.
|
|
90
|
+
*/
|
|
91
|
+
endInboxRollingHash: Fr,
|
|
74
92
|
/**
|
|
75
93
|
* The hashes of the headers of the constituent checkpoints.
|
|
76
94
|
*/
|
|
@@ -103,6 +121,8 @@ export declare class CheckpointRollupPublicInputs {
|
|
|
103
121
|
newArchiveRoot: `0x${string}`;
|
|
104
122
|
previousOutHashRoot: `0x${string}`;
|
|
105
123
|
newOutHashRoot: `0x${string}`;
|
|
124
|
+
startInboxRollingHash: `0x${string}`;
|
|
125
|
+
endInboxRollingHash: `0x${string}`;
|
|
106
126
|
};
|
|
107
127
|
/** Creates an instance from a hex string. */
|
|
108
128
|
static get schema(): import("zod").ZodType<CheckpointRollupPublicInputs, string, import("zod/v4/core").$ZodTypeInternals<CheckpointRollupPublicInputs, string>>;
|
|
@@ -118,12 +138,12 @@ export declare class FeeRecipient {
|
|
|
118
138
|
static empty(): FeeRecipient;
|
|
119
139
|
isEmpty(): boolean;
|
|
120
140
|
toFriendlyJSON(): {
|
|
121
|
-
value?: undefined;
|
|
122
141
|
recipient?: undefined;
|
|
142
|
+
value?: undefined;
|
|
123
143
|
} | {
|
|
124
144
|
recipient: `0x${string}`;
|
|
125
145
|
value: `0x${string}`;
|
|
126
146
|
};
|
|
127
147
|
static random(): FeeRecipient;
|
|
128
148
|
}
|
|
129
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
149
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludF9yb2xsdXBfcHVibGljX2lucHV0cy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JvbGx1cC9jaGVja3BvaW50X3JvbGx1cF9wdWJsaWNfaW5wdXRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTNELE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxLQUFLLEVBQXdDLE1BQU0sNkJBQTZCLENBQUM7QUFFN0csT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFeEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFN0Q7O0dBRUc7QUFDSCxxQkFBYSw0QkFBNEI7SUFFckM7O09BRUc7SUFDSSxTQUFTLEVBQUUsaUJBQWlCO0lBQ25DOztPQUVHO0lBQ0ksZUFBZSxFQUFFLHNCQUFzQjtJQUM5Qzs7T0FFRztJQUNJLFVBQVUsRUFBRSxzQkFBc0I7SUFDekM7O09BRUc7SUFDSSxlQUFlLEVBQUUsc0JBQXNCO0lBQzlDOztPQUVHO0lBQ0ksVUFBVSxFQUFFLHNCQUFzQjtJQUN6Qzs7T0FFRztJQUNJLHFCQUFxQixFQUFFLEVBQUU7SUFDaEM7OztPQUdHO0lBQ0ksbUJBQW1CLEVBQUUsRUFBRTtJQUM5Qjs7T0FFRztJQUNJLHNCQUFzQixFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsT0FBTyx5QkFBeUIsQ0FBQztJQUMxRTs7T0FFRztJQUNJLElBQUksRUFBRSxLQUFLLENBQUMsWUFBWSxFQUFFLE9BQU8seUJBQXlCLENBQUM7SUFDbEU7O09BRUc7SUFDSSxvQkFBb0IsRUFBRSxlQUFlO0lBQzVDOztPQUVHO0lBQ0ksa0JBQWtCLEVBQUUsZUFBZTtJQUMxQzs7T0FFRztJQUNJLG1CQUFtQixFQUFFLDJCQUEyQjtJQWpEekQ7SUFDRTs7T0FFRztJQUNJLFNBQVMsRUFBRSxpQkFBaUI7SUFDbkM7O09BRUc7SUFDSSxlQUFlLEVBQUUsc0JBQXNCO0lBQzlDOztPQUVHO0lBQ0ksVUFBVSxFQUFFLHNCQUFzQjtJQUN6Qzs7T0FFRztJQUNJLGVBQWUsRUFBRSxzQkFBc0I7SUFDOUM7O09BRUc7SUFDSSxVQUFVLEVBQUUsc0JBQXNCO0lBQ3pDOztPQUVHO0lBQ0kscUJBQXFCLEVBQUUsRUFBRTtJQUNoQzs7O09BR0c7SUFDSSxtQkFBbUIsRUFBRSxFQUFFO0lBQzlCOztPQUVHO0lBQ0ksc0JBQXNCLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxPQUFPLHlCQUF5QixDQUFDO0lBQzFFOztPQUVHO0lBQ0ksSUFBSSxFQUFFLEtBQUssQ0FBQyxZQUFZLEVBQUUsT0FBTyx5QkFBeUIsQ0FBQztJQUNsRTs7T0FFRztJQUNJLG9CQUFvQixFQUFFLGVBQWU7SUFDNUM7O09BRUc7SUFDSSxrQkFBa0IsRUFBRSxlQUFlO0lBQzFDOztPQUVHO0lBQ0ksbUJBQW1CLEVBQUUsMkJBQTJCLEVBQ3JEO0lBRUosTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFlBQVksZ0NBZ0I5QztJQUVELFFBQVEsNEJBZVA7SUFFRCxRQUFRLGtCQUVQO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxnQ0FFNUI7SUFFRCw4REFBOEQ7SUFDOUQsTUFBTSw0QkFFTDtJQUVELFNBQVM7Ozs7Ozs7O01BVVI7SUFFRCw2Q0FBNkM7SUFDN0MsTUFBTSxLQUFLLE1BQU0sK0lBRWhCO0NBQ0Y7QUFFRCxxQkFBYSxZQUFZO0lBRWQsU0FBUyxFQUFFLFVBQVU7SUFDckIsS0FBSyxFQUFFLEVBQUU7SUFGbEIsWUFDUyxTQUFTLEVBQUUsVUFBVSxFQUNyQixLQUFLLEVBQUUsRUFBRSxFQUNkO0lBRUosTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFlBQVksR0FBRyxZQUFZLENBRzdEO0lBRUQsUUFBUSw0QkFFUDtJQUVELE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxZQUFZLENBQUMsNkJBRTlDO0lBRUQsUUFBUSxTQUVQO0lBRUQsTUFBTSxDQUFDLEtBQUssaUJBRVg7SUFFRCxPQUFPLFlBRU47SUFFRCxjQUFjOzs7Ozs7TUFLYjtJQUVELE1BQU0sQ0FBQyxNQUFNLGlCQUVaO0NBQ0YifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkpoint_rollup_public_inputs.d.ts","sourceRoot":"","sources":["../../src/rollup/checkpoint_rollup_public_inputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACrF,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,KAAK,KAAK,EAAwC,MAAM,6BAA6B,CAAC;AAE7G,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D;;GAEG;AACH,qBAAa,4BAA4B;IAErC;;OAEG;IACI,SAAS,EAAE,iBAAiB;IACnC;;OAEG;IACI,eAAe,EAAE,sBAAsB;IAC9C;;OAEG;IACI,UAAU,EAAE,sBAAsB;IACzC;;OAEG;IACI,eAAe,EAAE,sBAAsB;IAC9C;;OAEG;IACI,UAAU,EAAE,sBAAsB;IACzC;;OAEG;IACI,sBAAsB,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,yBAAyB,CAAC;IAC1E;;OAEG;IACI,IAAI,EAAE,KAAK,CAAC,YAAY,EAAE,OAAO,yBAAyB,CAAC;IAClE;;OAEG;IACI,oBAAoB,EAAE,eAAe;IAC5C;;OAEG;IACI,kBAAkB,EAAE,eAAe;IAC1C;;OAEG;IACI,mBAAmB,EAAE,2BAA2B;
|
|
1
|
+
{"version":3,"file":"checkpoint_rollup_public_inputs.d.ts","sourceRoot":"","sources":["../../src/rollup/checkpoint_rollup_public_inputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACrF,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,KAAK,KAAK,EAAwC,MAAM,6BAA6B,CAAC;AAE7G,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D;;GAEG;AACH,qBAAa,4BAA4B;IAErC;;OAEG;IACI,SAAS,EAAE,iBAAiB;IACnC;;OAEG;IACI,eAAe,EAAE,sBAAsB;IAC9C;;OAEG;IACI,UAAU,EAAE,sBAAsB;IACzC;;OAEG;IACI,eAAe,EAAE,sBAAsB;IAC9C;;OAEG;IACI,UAAU,EAAE,sBAAsB;IACzC;;OAEG;IACI,qBAAqB,EAAE,EAAE;IAChC;;;OAGG;IACI,mBAAmB,EAAE,EAAE;IAC9B;;OAEG;IACI,sBAAsB,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,yBAAyB,CAAC;IAC1E;;OAEG;IACI,IAAI,EAAE,KAAK,CAAC,YAAY,EAAE,OAAO,yBAAyB,CAAC;IAClE;;OAEG;IACI,oBAAoB,EAAE,eAAe;IAC5C;;OAEG;IACI,kBAAkB,EAAE,eAAe;IAC1C;;OAEG;IACI,mBAAmB,EAAE,2BAA2B;IAjDzD;IACE;;OAEG;IACI,SAAS,EAAE,iBAAiB;IACnC;;OAEG;IACI,eAAe,EAAE,sBAAsB;IAC9C;;OAEG;IACI,UAAU,EAAE,sBAAsB;IACzC;;OAEG;IACI,eAAe,EAAE,sBAAsB;IAC9C;;OAEG;IACI,UAAU,EAAE,sBAAsB;IACzC;;OAEG;IACI,qBAAqB,EAAE,EAAE;IAChC;;;OAGG;IACI,mBAAmB,EAAE,EAAE;IAC9B;;OAEG;IACI,sBAAsB,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,yBAAyB,CAAC;IAC1E;;OAEG;IACI,IAAI,EAAE,KAAK,CAAC,YAAY,EAAE,OAAO,yBAAyB,CAAC;IAClE;;OAEG;IACI,oBAAoB,EAAE,eAAe;IAC5C;;OAEG;IACI,kBAAkB,EAAE,eAAe;IAC1C;;OAEG;IACI,mBAAmB,EAAE,2BAA2B,EACrD;IAEJ,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,gCAgB9C;IAED,QAAQ,4BAeP;IAED,QAAQ,kBAEP;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,gCAE5B;IAED,8DAA8D;IAC9D,MAAM,4BAEL;IAED,SAAS;;;;;;;;MAUR;IAED,6CAA6C;IAC7C,MAAM,KAAK,MAAM,+IAEhB;CACF;AAED,qBAAa,YAAY;IAEd,SAAS,EAAE,UAAU;IACrB,KAAK,EAAE,EAAE;IAFlB,YACS,SAAS,EAAE,UAAU,EACrB,KAAK,EAAE,EAAE,EACd;IAEJ,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,YAAY,CAG7D;IAED,QAAQ,4BAEP;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,6BAE9C;IAED,QAAQ,SAEP;IAED,MAAM,CAAC,KAAK,iBAEX;IAED,OAAO,YAEN;IAED,cAAc;;;;;;MAKb;IAED,MAAM,CAAC,MAAM,iBAEZ;CACF"}
|
|
@@ -15,6 +15,8 @@ import { EpochConstantData } from './epoch_constant_data.js';
|
|
|
15
15
|
newArchive;
|
|
16
16
|
previousOutHash;
|
|
17
17
|
newOutHash;
|
|
18
|
+
startInboxRollingHash;
|
|
19
|
+
endInboxRollingHash;
|
|
18
20
|
checkpointHeaderHashes;
|
|
19
21
|
fees;
|
|
20
22
|
startBlobAccumulator;
|
|
@@ -31,6 +33,11 @@ import { EpochConstantData } from './epoch_constant_data.js';
|
|
|
31
33
|
*/ previousOutHash, /**
|
|
32
34
|
* The out hash tree snapshot after applying this checkpoint range.
|
|
33
35
|
*/ newOutHash, /**
|
|
36
|
+
* Inbox rolling hash before consuming this checkpoint range's messages.
|
|
37
|
+
*/ startInboxRollingHash, /**
|
|
38
|
+
* Inbox rolling hash after consuming this checkpoint range's messages (the end value lands in the checkpoint
|
|
39
|
+
* header). Checkpoint merges assert `right.start == left.end` for chain continuity.
|
|
40
|
+
*/ endInboxRollingHash, /**
|
|
34
41
|
* The hashes of the headers of the constituent checkpoints.
|
|
35
42
|
*/ checkpointHeaderHashes, /**
|
|
36
43
|
* The summed transaction fees and recipients of the constituent checkpoints.
|
|
@@ -46,6 +53,8 @@ import { EpochConstantData } from './epoch_constant_data.js';
|
|
|
46
53
|
this.newArchive = newArchive;
|
|
47
54
|
this.previousOutHash = previousOutHash;
|
|
48
55
|
this.newOutHash = newOutHash;
|
|
56
|
+
this.startInboxRollingHash = startInboxRollingHash;
|
|
57
|
+
this.endInboxRollingHash = endInboxRollingHash;
|
|
49
58
|
this.checkpointHeaderHashes = checkpointHeaderHashes;
|
|
50
59
|
this.fees = fees;
|
|
51
60
|
this.startBlobAccumulator = startBlobAccumulator;
|
|
@@ -54,10 +63,10 @@ import { EpochConstantData } from './epoch_constant_data.js';
|
|
|
54
63
|
}
|
|
55
64
|
static fromBuffer(buffer) {
|
|
56
65
|
const reader = BufferReader.asReader(buffer);
|
|
57
|
-
return new CheckpointRollupPublicInputs(reader.readObject(EpochConstantData), reader.readObject(AppendOnlyTreeSnapshot), reader.readObject(AppendOnlyTreeSnapshot), reader.readObject(AppendOnlyTreeSnapshot), reader.readObject(AppendOnlyTreeSnapshot), reader.readArray(MAX_CHECKPOINTS_PER_EPOCH, Fr), reader.readArray(MAX_CHECKPOINTS_PER_EPOCH, FeeRecipient), reader.readObject(BlobAccumulator), reader.readObject(BlobAccumulator), reader.readObject(FinalBlobBatchingChallenges));
|
|
66
|
+
return new CheckpointRollupPublicInputs(reader.readObject(EpochConstantData), reader.readObject(AppendOnlyTreeSnapshot), reader.readObject(AppendOnlyTreeSnapshot), reader.readObject(AppendOnlyTreeSnapshot), reader.readObject(AppendOnlyTreeSnapshot), Fr.fromBuffer(reader), Fr.fromBuffer(reader), reader.readArray(MAX_CHECKPOINTS_PER_EPOCH, Fr), reader.readArray(MAX_CHECKPOINTS_PER_EPOCH, FeeRecipient), reader.readObject(BlobAccumulator), reader.readObject(BlobAccumulator), reader.readObject(FinalBlobBatchingChallenges));
|
|
58
67
|
}
|
|
59
68
|
toBuffer() {
|
|
60
|
-
return serializeToBuffer(this.constants, this.previousArchive, this.newArchive, this.previousOutHash, this.newOutHash, this.checkpointHeaderHashes, this.fees, this.startBlobAccumulator, this.endBlobAccumulator, this.finalBlobChallenges);
|
|
69
|
+
return serializeToBuffer(this.constants, this.previousArchive, this.newArchive, this.previousOutHash, this.newOutHash, this.startInboxRollingHash, this.endInboxRollingHash, this.checkpointHeaderHashes, this.fees, this.startBlobAccumulator, this.endBlobAccumulator, this.finalBlobChallenges);
|
|
61
70
|
}
|
|
62
71
|
toString() {
|
|
63
72
|
return bufferToHex(this.toBuffer());
|
|
@@ -74,7 +83,9 @@ import { EpochConstantData } from './epoch_constant_data.js';
|
|
|
74
83
|
previousArchiveRoot: this.previousArchive.root.toString(),
|
|
75
84
|
newArchiveRoot: this.newArchive.root.toString(),
|
|
76
85
|
previousOutHashRoot: this.previousOutHash.root.toString(),
|
|
77
|
-
newOutHashRoot: this.newOutHash.root.toString()
|
|
86
|
+
newOutHashRoot: this.newOutHash.root.toString(),
|
|
87
|
+
startInboxRollingHash: this.startInboxRollingHash.toString(),
|
|
88
|
+
endInboxRollingHash: this.endInboxRollingHash.toString()
|
|
78
89
|
};
|
|
79
90
|
}
|
|
80
91
|
/** Creates an instance from a hex string. */ static get schema() {
|