@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
|
@@ -72,7 +72,7 @@ export declare class CheckpointAttestation extends Gossipable {
|
|
|
72
72
|
lastArchive: `0x${string}`;
|
|
73
73
|
blockHeadersHash: `0x${string}`;
|
|
74
74
|
blobsHash: `0x${string}`;
|
|
75
|
-
|
|
75
|
+
inboxRollingHash: `0x${string}`;
|
|
76
76
|
epochOutHash: `0x${string}`;
|
|
77
77
|
slotNumber: SlotNumber;
|
|
78
78
|
timestamp: bigint;
|
|
@@ -7,6 +7,7 @@ import { BufferReader } from '@aztec/foundation/serialize';
|
|
|
7
7
|
import type { TypedDataDefinition } from 'viem';
|
|
8
8
|
import type { L2BlockInfo } from '../block/l2_block_info.js';
|
|
9
9
|
import { type SigningContext } from '../ha-signing/index.js';
|
|
10
|
+
import { InboxBucketRef } from '../messaging/inbox_bucket.js';
|
|
10
11
|
import { CheckpointHeader } from '../rollup/checkpoint_header.js';
|
|
11
12
|
import { BlockHeader } from '../tx/block_header.js';
|
|
12
13
|
import { TxHash } from '../tx/index.js';
|
|
@@ -47,6 +48,11 @@ export type CheckpointLastBlock = Omit<CheckpointLastBlockData, 'txs'> & {
|
|
|
47
48
|
signature: Signature;
|
|
48
49
|
/** The signed transactions in the last block (optional, for DA guarantees) */
|
|
49
50
|
signedTxs?: SignedTxs;
|
|
51
|
+
/**
|
|
52
|
+
* Reference to the Inbox bucket the last block proposes to consume. When set, its rolling hash must equal the
|
|
53
|
+
* checkpoint header's `inboxRollingHash` (enforced at construction).
|
|
54
|
+
*/
|
|
55
|
+
bucketRef?: InboxBucketRef;
|
|
50
56
|
};
|
|
51
57
|
/**
|
|
52
58
|
* A checkpoint proposal is created by the leader of the chain for the last block in a checkpoint.
|
|
@@ -86,7 +92,6 @@ export declare class CheckpointProposal extends Gossipable implements Signable {
|
|
|
86
92
|
get slotNumber(): SlotNumber;
|
|
87
93
|
/**
|
|
88
94
|
* Extract a BlockProposal from the last block info.
|
|
89
|
-
* Uses inHash from checkpointHeader.contentCommitment.inHash
|
|
90
95
|
*/
|
|
91
96
|
getBlockProposal(): BlockProposal | undefined;
|
|
92
97
|
toBlockInfo(): Omit<L2BlockInfo, 'blockNumber'>;
|
|
@@ -132,7 +137,7 @@ export declare class CheckpointProposal extends Gossipable implements Signable {
|
|
|
132
137
|
lastArchive: `0x${string}`;
|
|
133
138
|
blockHeadersHash: `0x${string}`;
|
|
134
139
|
blobsHash: `0x${string}`;
|
|
135
|
-
|
|
140
|
+
inboxRollingHash: `0x${string}`;
|
|
136
141
|
epochOutHash: `0x${string}`;
|
|
137
142
|
slotNumber: SlotNumber;
|
|
138
143
|
timestamp: bigint;
|
|
@@ -177,6 +182,11 @@ export declare class CheckpointProposal extends Gossipable implements Signable {
|
|
|
177
182
|
indexWithinCheckpoint: IndexWithinCheckpoint;
|
|
178
183
|
txHashes: `0x${string}`[];
|
|
179
184
|
signature: `0x${string}`;
|
|
185
|
+
bucketRef: {
|
|
186
|
+
bucketSeq: string;
|
|
187
|
+
bucketTimestamp: string;
|
|
188
|
+
inboxRollingHash: `0x${string}`;
|
|
189
|
+
} | undefined;
|
|
180
190
|
} | undefined;
|
|
181
191
|
};
|
|
182
192
|
/**
|
|
@@ -191,4 +201,4 @@ export declare class CheckpointProposal extends Gossipable implements Signable {
|
|
|
191
201
|
* This type makes it clear that lastBlock and getBlockProposal() are not available.
|
|
192
202
|
*/
|
|
193
203
|
export type CheckpointProposalCore = Omit<CheckpointProposal, 'lastBlock' | 'getBlockProposal' | 'toCore'>;
|
|
194
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
204
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludF9wcm9wb3NhbC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3AycC9jaGVja3BvaW50X3Byb3Bvc2FsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxLQUFLLGdCQUFnQixFQUNyQixzQkFBc0IsRUFDdEIscUJBQXFCLEVBQ3JCLFVBQVUsRUFDWCxNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxLQUFLLFlBQVksRUFBWSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBNEMsTUFBTSw2QkFBNkIsQ0FBQztBQUVyRyxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVoRCxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RCxPQUFPLEVBQVksS0FBSyxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFD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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkpoint_proposal.d.ts","sourceRoot":"","sources":["../../src/p2p/checkpoint_proposal.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,gBAAgB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,UAAU,EACX,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,KAAK,YAAY,EAAY,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EAAE,YAAY,EAA4C,MAAM,6BAA6B,CAAC;AAErG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,MAAM,CAAC;AAEhD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAE7D,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EACL,KAAK,4BAA4B,EACjC,KAAK,yBAAyB,EAE9B,KAAK,QAAQ,EAMd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,YAAY,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAE9E,MAAM,MAAM,yBAAyB,GAAG;IACtC;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;OAGG;IACH,kCAAkC,CAAC,EAAE,OAAO,CAAC;CAC9C,CAAC;AAEF,gEAAgE;AAChE,MAAM,MAAM,uBAAuB,GAAG;IACpC,gEAAgE;IAChE,WAAW,EAAE,WAAW,CAAC;IACzB,gGAAgG;IAChG,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,qDAAqD;IACrD,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,6DAA6D;IAC7D,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC;CACZ,CAAC;AAEF,mDAAmD;AACnD,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,uBAAuB,EAAE,KAAK,CAAC,GAAG;IACvE,wFAAwF;IACxF,SAAS,EAAE,SAAS,CAAC;IACrB,8EAA8E;IAC9E,SAAS,CAAC,EAAE,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"checkpoint_proposal.d.ts","sourceRoot":"","sources":["../../src/p2p/checkpoint_proposal.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ import { Signature } from '@aztec/foundation/eth-signature';
|
|
|
5
5
|
import { BufferReader, serializeSignedBigInt, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
6
6
|
import { MAX_TXS_PER_BLOCK } from '../deserialization/index.js';
|
|
7
7
|
import { DutyType } from '../ha-signing/index.js';
|
|
8
|
+
import { InboxBucketRef } from '../messaging/inbox_bucket.js';
|
|
8
9
|
import { CheckpointHeader } from '../rollup/checkpoint_header.js';
|
|
9
10
|
import { BlockHeader } from '../tx/block_header.js';
|
|
10
11
|
import { TxHash } from '../tx/index.js';
|
|
@@ -30,9 +31,10 @@ import { TopicType } from './topic_type.js';
|
|
|
30
31
|
cachedSender;
|
|
31
32
|
constructor(/** The aggregated checkpoint header for consensus */ checkpointHeader, /** Archive root after this checkpoint is applied */ archive, /** The fee asset price modifier in basis points (from oracle) */ feeAssetPriceModifier, /** The proposer's signature over the checkpoint payload (checkpointHeader + archive + feeAssetPriceModifier) */ signature, /** The signing domain (chainId + rollupAddress) the signature is bound to */ signatureContext, /** Optional last block info, including its own signature for BlockProposal extraction */ lastBlock){
|
|
32
33
|
super(), this.checkpointHeader = checkpointHeader, this.archive = archive, this.feeAssetPriceModifier = feeAssetPriceModifier, this.signature = signature, this.signatureContext = signatureContext, this.lastBlock = lastBlock, this.primaryType = 'CheckpointProposal', this.cachedSender = undefined;
|
|
33
|
-
// Check that last block properties match those of the checkpoint.
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
// Check that last block properties match those of the checkpoint. The last block's bucket reference
|
|
35
|
+
// commits to the same rolling hash as the checkpoint header. Only enforced when the reference is set.
|
|
36
|
+
if (lastBlock?.bucketRef && !lastBlock.bucketRef.inboxRollingHash.equals(checkpointHeader.inboxRollingHash)) {
|
|
37
|
+
throw new Error(`CheckpointProposal lastBlock bucketRef rolling hash ${lastBlock.bucketRef.inboxRollingHash} does not match checkpoint inboxRollingHash ${checkpointHeader.inboxRollingHash}`);
|
|
36
38
|
}
|
|
37
39
|
if (lastBlock && 'archiveRoot' in lastBlock && !lastBlock.archiveRoot.equals(archive)) {
|
|
38
40
|
throw new Error(`CheckpointProposal lastBlock archive ${lastBlock.archiveRoot} does not match checkpoint archive ${archive}`);
|
|
@@ -49,12 +51,11 @@ import { TopicType } from './topic_type.js';
|
|
|
49
51
|
}
|
|
50
52
|
/**
|
|
51
53
|
* Extract a BlockProposal from the last block info.
|
|
52
|
-
* Uses inHash from checkpointHeader.contentCommitment.inHash
|
|
53
54
|
*/ getBlockProposal() {
|
|
54
55
|
if (!this.lastBlock) {
|
|
55
56
|
return undefined;
|
|
56
57
|
}
|
|
57
|
-
return new BlockProposal(this.lastBlock.blockHeader, this.lastBlock.indexWithinCheckpoint, this.
|
|
58
|
+
return new BlockProposal(this.lastBlock.blockHeader, this.lastBlock.indexWithinCheckpoint, this.archive, this.lastBlock.txHashes, this.lastBlock.signature, this.signatureContext, this.lastBlock.signedTxs, this.lastBlock.bucketRef);
|
|
58
59
|
}
|
|
59
60
|
toBlockInfo() {
|
|
60
61
|
if (!this.lastBlock) {
|
|
@@ -156,6 +157,12 @@ import { TopicType } from './topic_type.js';
|
|
|
156
157
|
} else {
|
|
157
158
|
buffer.push(0); // hasSignedTxs = false
|
|
158
159
|
}
|
|
160
|
+
// Optional bucket-reference tail. Appended only when set, so a proposal without a reference
|
|
161
|
+
// serializes without the tail and a decoder that reaches EOF reads it as unset.
|
|
162
|
+
if (this.lastBlock.bucketRef) {
|
|
163
|
+
buffer.push(1); // hasBucketRef = true
|
|
164
|
+
buffer.push(this.lastBlock.bucketRef.toBuffer());
|
|
165
|
+
}
|
|
159
166
|
} else {
|
|
160
167
|
buffer.push(0); // hasLastBlock = false
|
|
161
168
|
}
|
|
@@ -185,12 +192,22 @@ import { TopicType } from './topic_type.js';
|
|
|
185
192
|
signedTxs = SignedTxs.fromBuffer(reader);
|
|
186
193
|
}
|
|
187
194
|
}
|
|
195
|
+
// Optional bucket-reference tail. A buffer that ends after the signedTxs flag decodes as
|
|
196
|
+
// "no reference", so proposals written without the tail round-trip cleanly.
|
|
197
|
+
let bucketRef;
|
|
198
|
+
if (!reader.isEmpty()) {
|
|
199
|
+
const hasBucketRef = reader.readNumber();
|
|
200
|
+
if (hasBucketRef) {
|
|
201
|
+
bucketRef = InboxBucketRef.fromBuffer(reader);
|
|
202
|
+
}
|
|
203
|
+
}
|
|
188
204
|
return new CheckpointProposal(checkpointHeader, archive, feeAssetPriceModifier, signature, signatureContext, {
|
|
189
205
|
blockHeader,
|
|
190
206
|
indexWithinCheckpoint,
|
|
191
207
|
txHashes,
|
|
192
208
|
signature: blockSignature,
|
|
193
|
-
signedTxs
|
|
209
|
+
signedTxs,
|
|
210
|
+
bucketRef
|
|
194
211
|
});
|
|
195
212
|
}
|
|
196
213
|
return new CheckpointProposal(checkpointHeader, archive, feeAssetPriceModifier, signature, signatureContext);
|
|
@@ -198,7 +215,7 @@ import { TopicType } from './topic_type.js';
|
|
|
198
215
|
getSize() {
|
|
199
216
|
let size = this.checkpointHeader.toBuffer().length + this.archive.size + this.signature.getSize() + 8 /* feeAssetPriceModifier */ + 4 /* chainId */ + 20 /* rollupAddress */ + 4; /* hasLastBlock flag */
|
|
200
217
|
if (this.lastBlock) {
|
|
201
|
-
size += this.lastBlock.blockHeader.getSize() + 4 /* indexWithinCheckpoint */ + this.lastBlock.signature.getSize() + 4 /* txHashes.length */ + this.lastBlock.txHashes.length * TxHash.SIZE + 4 /* hasSignedTxs flag */ + (this.lastBlock.signedTxs ? this.lastBlock.signedTxs.getSize() : 0);
|
|
218
|
+
size += this.lastBlock.blockHeader.getSize() + 4 /* indexWithinCheckpoint */ + this.lastBlock.signature.getSize() + 4 /* txHashes.length */ + this.lastBlock.txHashes.length * TxHash.SIZE + 4 /* hasSignedTxs flag */ + (this.lastBlock.signedTxs ? this.lastBlock.signedTxs.getSize() : 0) + (this.lastBlock.bucketRef ? 4 /* hasBucketRef flag */ + this.lastBlock.bucketRef.getSize() : 0);
|
|
202
219
|
}
|
|
203
220
|
return size;
|
|
204
221
|
}
|
|
@@ -228,7 +245,8 @@ import { TopicType } from './topic_type.js';
|
|
|
228
245
|
blockHeader: this.lastBlock.blockHeader.toInspect(),
|
|
229
246
|
indexWithinCheckpoint: this.lastBlock.indexWithinCheckpoint,
|
|
230
247
|
txHashes: this.lastBlock.txHashes.map((h)=>h.toString()),
|
|
231
|
-
signature: this.lastBlock.signature.toString()
|
|
248
|
+
signature: this.lastBlock.signature.toString(),
|
|
249
|
+
bucketRef: this.lastBlock.bucketRef?.toInspect()
|
|
232
250
|
} : undefined
|
|
233
251
|
};
|
|
234
252
|
}
|
|
@@ -62,7 +62,7 @@ export declare class ConsensusPayload implements Signable {
|
|
|
62
62
|
lastArchive: `0x${string}`;
|
|
63
63
|
blockHeadersHash: `0x${string}`;
|
|
64
64
|
blobsHash: `0x${string}`;
|
|
65
|
-
|
|
65
|
+
inboxRollingHash: `0x${string}`;
|
|
66
66
|
epochOutHash: `0x${string}`;
|
|
67
67
|
slotNumber: import("@aztec/foundation/schemas").SlotNumber;
|
|
68
68
|
timestamp: bigint;
|
package/dest/p2p/index.d.ts
CHANGED
|
@@ -7,7 +7,8 @@ export * from './gossipable.js';
|
|
|
7
7
|
export * from './signature_utils.js';
|
|
8
8
|
export * from './signed_txs.js';
|
|
9
9
|
export * from './topic_type.js';
|
|
10
|
+
export * from './validated_proposal.js';
|
|
10
11
|
export * from './message_validator.js';
|
|
11
12
|
export * from './peer_error.js';
|
|
12
13
|
export * from './constants.js';
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wMnAvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxnQkFBZ0IsQ0FBQyJ9
|
package/dest/p2p/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/p2p/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/p2p/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC"}
|
package/dest/p2p/index.js
CHANGED
|
@@ -7,6 +7,7 @@ export * from './gossipable.js';
|
|
|
7
7
|
export * from './signature_utils.js';
|
|
8
8
|
export * from './signed_txs.js';
|
|
9
9
|
export * from './topic_type.js';
|
|
10
|
+
export * from './validated_proposal.js';
|
|
10
11
|
export * from './message_validator.js';
|
|
11
12
|
export * from './peer_error.js';
|
|
12
13
|
export * from './constants.js';
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { Branded } from '@aztec/foundation/branded-types';
|
|
2
|
+
import type { BlockProposal } from './block_proposal.js';
|
|
3
|
+
import type { CheckpointProposalCore } from './checkpoint_proposal.js';
|
|
4
|
+
/**
|
|
5
|
+
* A block proposal that has passed p2p ingress validation.
|
|
6
|
+
*
|
|
7
|
+
* Downstream consumers (the validator client's proposal handlers) rely on that validation having already
|
|
8
|
+
* happened and do not repeat it, so this brand marks the proposals they are allowed to receive. It is a
|
|
9
|
+
* compile-time marker only: at runtime a `ValidatedBlockProposal` is just a `BlockProposal`.
|
|
10
|
+
*/
|
|
11
|
+
export type ValidatedBlockProposal = Branded<BlockProposal, 'ValidatedBlockProposal'>;
|
|
12
|
+
/**
|
|
13
|
+
* Marks a block proposal as having passed p2p ingress validation.
|
|
14
|
+
*
|
|
15
|
+
* May only be called at a point where the gossipsub topic validator has accepted the proposal, which covers
|
|
16
|
+
* the signature context, the signature itself, the expected proposer for the slot, the index within the
|
|
17
|
+
* checkpoint, the tx field checks, and the receive-window timeliness check.
|
|
18
|
+
*/
|
|
19
|
+
export declare function ValidatedBlockProposal(proposal: BlockProposal): ValidatedBlockProposal;
|
|
20
|
+
/**
|
|
21
|
+
* A checkpoint proposal (without its last block) that has passed p2p ingress validation.
|
|
22
|
+
*
|
|
23
|
+
* Downstream consumers (the validator client's proposal handlers) rely on that validation having already
|
|
24
|
+
* happened and do not repeat it, so this brand marks the proposals they are allowed to receive. It is a
|
|
25
|
+
* compile-time marker only: at runtime a `ValidatedCheckpointProposalCore` is just a `CheckpointProposalCore`.
|
|
26
|
+
*/
|
|
27
|
+
export type ValidatedCheckpointProposalCore = Branded<CheckpointProposalCore, 'ValidatedCheckpointProposalCore'>;
|
|
28
|
+
/**
|
|
29
|
+
* Marks a checkpoint proposal as having passed p2p ingress validation.
|
|
30
|
+
*
|
|
31
|
+
* May only be called at a point where the gossipsub topic validator has accepted the proposal, which covers
|
|
32
|
+
* the expected proposer for the slot and the receive-window timeliness check.
|
|
33
|
+
*/
|
|
34
|
+
export declare function ValidatedCheckpointProposalCore(proposal: CheckpointProposalCore): ValidatedCheckpointProposalCore;
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGVkX3Byb3Bvc2FsLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcDJwL3ZhbGlkYXRlZF9wcm9wb3NhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUUvRCxPQUFPLEtBQUssRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RCxPQUFPLEtBQUssRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXZFOzs7Ozs7R0FNRztBQUNILE1BQU0sTUFBTSxzQkFBc0IsR0FBRyxPQUFPLENBQUMsYUFBYSxFQUFFLHdCQUF3QixDQUFDLENBQUM7QUFFdEY7Ozs7OztHQU1HO0FBQ0gsd0JBQWdCLHNCQUFzQixDQUFDLFFBQVEsRUFBRSxhQUFhLEdBQUcsc0JBQXNCLENBRXRGO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxNQUFNLCtCQUErQixHQUFHLE9BQU8sQ0FBQyxzQkFBc0IsRUFBRSxpQ0FBaUMsQ0FBQyxDQUFDO0FBRWpIOzs7OztHQUtHO0FBQ0gsd0JBQWdCLCtCQUErQixDQUFDLFFBQVEsRUFBRSxzQkFBc0IsR0FBRywrQkFBK0IsQ0FFakgifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validated_proposal.d.ts","sourceRoot":"","sources":["../../src/p2p/validated_proposal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAE/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAEvE;;;;;;GAMG;AACH,MAAM,MAAM,sBAAsB,GAAG,OAAO,CAAC,aAAa,EAAE,wBAAwB,CAAC,CAAC;AAEtF;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,aAAa,GAAG,sBAAsB,CAEtF;AAED;;;;;;GAMG;AACH,MAAM,MAAM,+BAA+B,GAAG,OAAO,CAAC,sBAAsB,EAAE,iCAAiC,CAAC,CAAC;AAEjH;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAAC,QAAQ,EAAE,sBAAsB,GAAG,+BAA+B,CAEjH"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Marks a block proposal as having passed p2p ingress validation.
|
|
3
|
+
*
|
|
4
|
+
* May only be called at a point where the gossipsub topic validator has accepted the proposal, which covers
|
|
5
|
+
* the signature context, the signature itself, the expected proposer for the slot, the index within the
|
|
6
|
+
* checkpoint, the tx field checks, and the receive-window timeliness check.
|
|
7
|
+
*/ export function ValidatedBlockProposal(proposal) {
|
|
8
|
+
return proposal;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Marks a checkpoint proposal as having passed p2p ingress validation.
|
|
12
|
+
*
|
|
13
|
+
* May only be called at a point where the gossipsub topic validator has accepted the proposal, which covers
|
|
14
|
+
* the expected proposer for the slot and the receive-window timeliness check.
|
|
15
|
+
*/ export function ValidatedCheckpointProposalCore(proposal) {
|
|
16
|
+
return proposal;
|
|
17
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** Legacy `BlockProposal.toBuffer()` bytes (no signedTxs, no bucket reference). */
|
|
2
|
+
export declare const LEGACY_BLOCK_PROPOSAL_HEX = "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000630000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000800000000";
|
|
3
|
+
/** Legacy `CheckpointProposal.toBuffer()` bytes (lastBlock without signedTxs or bucket reference). */
|
|
4
|
+
export declare const LEGACY_CHECKPOINT_PROPOSAL_HEX = "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000700000000";
|
|
5
|
+
/** Legacy `BlockProposal.getPayloadToSign()` bytes (no bucket reference). */
|
|
6
|
+
export declare const LEGACY_BLOCK_PROPOSAL_PAYLOAD_HEX = "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000630000000200000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000008";
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lyZV9jb21wYXRfZml4dHVyZXMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wMnAvd2lyZV9jb21wYXRfZml4dHVyZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBWUEsbUZBQW1GO0FBQ25GLGVBQU8sTUFBTSx5QkFBeUIsdXdDQUNndUMsQ0FBQztBQUV2d0Msc0dBQXNHO0FBQ3RHLGVBQU8sTUFBTSw4QkFBOEIsK2tFQUNtaUUsQ0FBQztBQUUva0UsNkVBQTZFO0FBQzdFLGVBQU8sTUFBTSxpQ0FBaUMsdWtDQUN3aEMsQ0FBQyJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wire_compat_fixtures.d.ts","sourceRoot":"","sources":["../../src/p2p/wire_compat_fixtures.ts"],"names":[],"mappings":"AAYA,mFAAmF;AACnF,eAAO,MAAM,yBAAyB,uwCACguC,CAAC;AAEvwC,sGAAsG;AACtG,eAAO,MAAM,8BAA8B,+kEACmiE,CAAC;AAE/kE,6EAA6E;AAC7E,eAAO,MAAM,iCAAiC,ukCACwhC,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
// Golden wire fixtures that pin the exact bytes a peer produces and consumes, so the optional bucket-reference tail
|
|
2
|
+
// added to proposals stays wire compatible: an unset proposal must serialize to these bytes, and decoding these bytes
|
|
3
|
+
// must yield no bucket reference. The block-proposal fixtures were refreshed for the removal of the legacy `inHash`
|
|
4
|
+
// field; the checkpoint-proposal fixture was refreshed for the checkpoint-header format change.
|
|
5
|
+
//
|
|
6
|
+
// Both fixtures come from a deterministic proposal built with:
|
|
7
|
+
// BlockHeader.empty(), IndexWithinCheckpoint(3), archiveRoot=Fr(99),
|
|
8
|
+
// txHashes=[TxHash.fromField(Fr(7)), TxHash.fromField(Fr(8))], Signature.empty(), EMPTY_COORDINATION_SIGNATURE_CONTEXT
|
|
9
|
+
// (checkpoint: CheckpointHeader.empty(), archive=Fr(123), feeAssetPriceModifier=0, empty signature/context, and a
|
|
10
|
+
// lastBlock with BlockHeader.empty(), IndexWithinCheckpoint(4), txHashes=[TxHash.fromField(Fr(7))], empty signature).
|
|
11
|
+
// Regenerate the checkpoint fixture only when the checkpoint serialization format changes on purpose.
|
|
12
|
+
/** Legacy `BlockProposal.toBuffer()` bytes (no signedTxs, no bucket reference). */ export const LEGACY_BLOCK_PROPOSAL_HEX = '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000630000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000800000000';
|
|
13
|
+
/** Legacy `CheckpointProposal.toBuffer()` bytes (lastBlock without signedTxs or bucket reference). */ export const LEGACY_CHECKPOINT_PROPOSAL_HEX = '0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000700000000';
|
|
14
|
+
/** Legacy `BlockProposal.getPayloadToSign()` bytes (no bucket reference). */ export const LEGACY_BLOCK_PROPOSAL_PAYLOAD_HEX = '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000630000000200000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000008';
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
|
+
import { BufferReader } from '@aztec/foundation/serialize';
|
|
3
|
+
/** The InboxParity size ladder, ascending. One VK per size; the prover proves the smallest that fits. */
|
|
4
|
+
export declare const INBOX_PARITY_SIZES: readonly [64, 256, 1024];
|
|
5
|
+
/** A valid InboxParity ladder size. */
|
|
6
|
+
export type InboxParitySize = (typeof INBOX_PARITY_SIZES)[number];
|
|
7
|
+
/**
|
|
8
|
+
* Picks the smallest ladder size that can hold `numMessages` messages.
|
|
9
|
+
* @throws if `numMessages` exceeds the largest rung.
|
|
10
|
+
*/
|
|
11
|
+
export declare function pickInboxParitySize(numMessages: number): InboxParitySize;
|
|
12
|
+
/**
|
|
13
|
+
* Private inputs for one `InboxParity<S>` proof (S = `size`). The prover produces exactly one per checkpoint, sized
|
|
14
|
+
* by the checkpoint's message count via {@link pickInboxParitySize}.
|
|
15
|
+
*/
|
|
16
|
+
export declare class InboxParityPrivateInputs {
|
|
17
|
+
/** Ladder size S: the length of `messages` and the circuit variant to prove ({@link INBOX_PARITY_SIZES}). */
|
|
18
|
+
readonly size: InboxParitySize;
|
|
19
|
+
/** The checkpoint's L1-to-L2 messages, padded with zeros to `size`; the first `numMessages` are real. */
|
|
20
|
+
readonly messages: Fr[];
|
|
21
|
+
/** Number of real (non-padding) messages in `messages`. */
|
|
22
|
+
readonly numMessages: number;
|
|
23
|
+
/** Inbox rolling hash before this checkpoint's messages (the previous checkpoint's end; genesis is zero). */
|
|
24
|
+
readonly startRollingHash: Fr;
|
|
25
|
+
/** Prover identity committed to by the circuit, for sybil protection. */
|
|
26
|
+
readonly proverId: Fr;
|
|
27
|
+
constructor(
|
|
28
|
+
/** Ladder size S: the length of `messages` and the circuit variant to prove ({@link INBOX_PARITY_SIZES}). */
|
|
29
|
+
size: InboxParitySize,
|
|
30
|
+
/** The checkpoint's L1-to-L2 messages, padded with zeros to `size`; the first `numMessages` are real. */
|
|
31
|
+
messages: Fr[],
|
|
32
|
+
/** Number of real (non-padding) messages in `messages`. */
|
|
33
|
+
numMessages: number,
|
|
34
|
+
/** Inbox rolling hash before this checkpoint's messages (the previous checkpoint's end; genesis is zero). */
|
|
35
|
+
startRollingHash: Fr,
|
|
36
|
+
/** Prover identity committed to by the circuit, for sybil protection. */
|
|
37
|
+
proverId: Fr);
|
|
38
|
+
/**
|
|
39
|
+
* Builds the inputs from a checkpoint's real messages, sizing the circuit by the message count and padding the
|
|
40
|
+
* message array out to that size.
|
|
41
|
+
*/
|
|
42
|
+
static fromMessages(messages: Fr[], startRollingHash: Fr, proverId: Fr): InboxParityPrivateInputs;
|
|
43
|
+
/** Serializes the inputs to a buffer. */
|
|
44
|
+
toBuffer(): Buffer<ArrayBufferLike>;
|
|
45
|
+
/** Serializes the inputs to a hex string. */
|
|
46
|
+
toString(): `0x${string}`;
|
|
47
|
+
/**
|
|
48
|
+
* Deserializes the inputs from a buffer.
|
|
49
|
+
* @param buffer - The buffer to deserialize from.
|
|
50
|
+
*/
|
|
51
|
+
static fromBuffer(buffer: Buffer | BufferReader): InboxParityPrivateInputs;
|
|
52
|
+
/**
|
|
53
|
+
* Deserializes the inputs from a hex string.
|
|
54
|
+
* @param str - The hex string to deserialize from.
|
|
55
|
+
*/
|
|
56
|
+
static fromString(str: string): InboxParityPrivateInputs;
|
|
57
|
+
/** Returns a buffer representation for JSON serialization. */
|
|
58
|
+
toJSON(): Buffer<ArrayBufferLike>;
|
|
59
|
+
static get schema(): import("zod").ZodType<InboxParityPrivateInputs, string, import("zod/v4/core").$ZodTypeInternals<InboxParityPrivateInputs, string>>;
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5ib3hfcGFyaXR5X3ByaXZhdGVfaW5wdXRzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGFyaXR5L2luYm94X3Bhcml0eV9wcml2YXRlX2lucHV0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFcEQsT0FBTyxFQUFFLFlBQVksRUFBcUIsTUFBTSw2QkFBNkIsQ0FBQztBQUc5RSx5R0FBeUc7QUFDekcsZUFBTyxNQUFNLGtCQUFrQiwwQkFBd0YsQ0FBQztBQUV4SCx1Q0FBdUM7QUFDdkMsTUFBTSxNQUFNLGVBQWUsR0FBRyxDQUFDLE9BQU8sa0JBQWtCLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUVsRTs7O0dBR0c7QUFDSCx3QkFBZ0IsbUJBQW1CLENBQUMsV0FBVyxFQUFFLE1BQU0sR0FBRyxlQUFlLENBUXhFO0FBRUQ7OztHQUdHO0FBQ0gscUJBQWEsd0JBQXdCO0lBRWpDLDZHQUE2RzthQUM3RixJQUFJLEVBQUUsZUFBZTtJQUNyQyx5R0FBeUc7YUFDekYsUUFBUSxFQUFFLEVBQUUsRUFBRTtJQUM5QiwyREFBMkQ7YUFDM0MsV0FBVyxFQUFFLE1BQU07SUFDbkMsNkdBQTZHO2FBQzdGLGdCQUFnQixFQUFFLEVBQUU7SUFDcEMseUVBQXlFO2FBQ3pELFFBQVEsRUFBRSxFQUFFO0lBVjlCO0lBQ0UsNkdBQTZHO0lBQzdGLElBQUksRUFBRSxlQUFlO0lBQ3JDLHlHQUF5RztJQUN6RixRQUFRLEVBQUUsRUFBRSxFQUFFO0lBQzlCLDJEQUEyRDtJQUMzQyxXQUFXLEVBQUUsTUFBTTtJQUNuQyw2R0FBNkc7SUFDN0YsZ0JBQWdCLEVBQUUsRUFBRTtJQUNwQyx5RUFBeUU7SUFDekQsUUFBUSxFQUFFLEVBQUUsRUFLN0I7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxFQUFFLEVBQUUsRUFBRSxnQkFBZ0IsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsR0FBRyx3QkFBd0IsQ0FVaEc7SUFFRCx5Q0FBeUM7SUFDekMsUUFBUSw0QkFRUDtJQUVELDZDQUE2QztJQUM3QyxRQUFRLGtCQUVQO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFlBQVksNEJBWTlDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSw0QkFFNUI7SUFFRCw4REFBOEQ7SUFDOUQsTUFBTSw0QkFFTDtJQUVELE1BQU0sS0FBSyxNQUFNLHVJQUVoQjtDQUNGIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inbox_parity_private_inputs.d.ts","sourceRoot":"","sources":["../../src/parity/inbox_parity_private_inputs.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAG9E,yGAAyG;AACzG,eAAO,MAAM,kBAAkB,0BAAwF,CAAC;AAExH,uCAAuC;AACvC,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAElE;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,eAAe,CAQxE;AAED;;;GAGG;AACH,qBAAa,wBAAwB;IAEjC,6GAA6G;aAC7F,IAAI,EAAE,eAAe;IACrC,yGAAyG;aACzF,QAAQ,EAAE,EAAE,EAAE;IAC9B,2DAA2D;aAC3C,WAAW,EAAE,MAAM;IACnC,6GAA6G;aAC7F,gBAAgB,EAAE,EAAE;IACpC,yEAAyE;aACzD,QAAQ,EAAE,EAAE;IAV9B;IACE,6GAA6G;IAC7F,IAAI,EAAE,eAAe;IACrC,yGAAyG;IACzF,QAAQ,EAAE,EAAE,EAAE;IAC9B,2DAA2D;IAC3C,WAAW,EAAE,MAAM;IACnC,6GAA6G;IAC7F,gBAAgB,EAAE,EAAE;IACpC,yEAAyE;IACzD,QAAQ,EAAE,EAAE,EAK7B;IAED;;;OAGG;IACH,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,GAAG,wBAAwB,CAUhG;IAED,yCAAyC;IACzC,QAAQ,4BAQP;IAED,6CAA6C;IAC7C,QAAQ,kBAEP;IAED;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,4BAY9C;IAED;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,4BAE5B;IAED,8DAA8D;IAC9D,MAAM,4BAEL;IAED,MAAM,KAAK,MAAM,uIAEhB;CACF"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { INBOX_PARITY_SIZE_LARGE, INBOX_PARITY_SIZE_MEDIUM, INBOX_PARITY_SIZE_SMALL } from '@aztec/constants';
|
|
2
|
+
import { padArrayEnd } from '@aztec/foundation/collection';
|
|
3
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
4
|
+
import { bufferSchemaFor } from '@aztec/foundation/schemas';
|
|
5
|
+
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
6
|
+
import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
|
|
7
|
+
/** The InboxParity size ladder, ascending. One VK per size; the prover proves the smallest that fits. */ export const INBOX_PARITY_SIZES = [
|
|
8
|
+
INBOX_PARITY_SIZE_SMALL,
|
|
9
|
+
INBOX_PARITY_SIZE_MEDIUM,
|
|
10
|
+
INBOX_PARITY_SIZE_LARGE
|
|
11
|
+
];
|
|
12
|
+
/**
|
|
13
|
+
* Picks the smallest ladder size that can hold `numMessages` messages.
|
|
14
|
+
* @throws if `numMessages` exceeds the largest rung.
|
|
15
|
+
*/ export function pickInboxParitySize(numMessages) {
|
|
16
|
+
const size = INBOX_PARITY_SIZES.find((s)=>numMessages <= s);
|
|
17
|
+
if (size === undefined) {
|
|
18
|
+
throw new Error(`Cannot fit ${numMessages} L1-to-L2 messages into any InboxParity size (max ${INBOX_PARITY_SIZE_LARGE})`);
|
|
19
|
+
}
|
|
20
|
+
return size;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Private inputs for one `InboxParity<S>` proof (S = `size`). The prover produces exactly one per checkpoint, sized
|
|
24
|
+
* by the checkpoint's message count via {@link pickInboxParitySize}.
|
|
25
|
+
*/ export class InboxParityPrivateInputs {
|
|
26
|
+
size;
|
|
27
|
+
messages;
|
|
28
|
+
numMessages;
|
|
29
|
+
startRollingHash;
|
|
30
|
+
proverId;
|
|
31
|
+
constructor(/** Ladder size S: the length of `messages` and the circuit variant to prove ({@link INBOX_PARITY_SIZES}). */ size, /** The checkpoint's L1-to-L2 messages, padded with zeros to `size`; the first `numMessages` are real. */ messages, /** Number of real (non-padding) messages in `messages`. */ numMessages, /** Inbox rolling hash before this checkpoint's messages (the previous checkpoint's end; genesis is zero). */ startRollingHash, /** Prover identity committed to by the circuit, for sybil protection. */ proverId){
|
|
32
|
+
this.size = size;
|
|
33
|
+
this.messages = messages;
|
|
34
|
+
this.numMessages = numMessages;
|
|
35
|
+
this.startRollingHash = startRollingHash;
|
|
36
|
+
this.proverId = proverId;
|
|
37
|
+
if (messages.length !== size) {
|
|
38
|
+
throw new Error(`InboxParity messages length (${messages.length}) must equal size (${size})`);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Builds the inputs from a checkpoint's real messages, sizing the circuit by the message count and padding the
|
|
43
|
+
* message array out to that size.
|
|
44
|
+
*/ static fromMessages(messages, startRollingHash, proverId) {
|
|
45
|
+
const size = pickInboxParitySize(messages.length);
|
|
46
|
+
// Explicit `<Fr, number>` keeps the result `Fr[]`; padding to the union-literal `size` would infer a deep tuple.
|
|
47
|
+
return new InboxParityPrivateInputs(size, padArrayEnd(messages, Fr.ZERO, size), messages.length, startRollingHash, proverId);
|
|
48
|
+
}
|
|
49
|
+
/** Serializes the inputs to a buffer. */ toBuffer() {
|
|
50
|
+
return serializeToBuffer(new Fr(this.size), this.messages, new Fr(this.numMessages), this.startRollingHash, this.proverId);
|
|
51
|
+
}
|
|
52
|
+
/** Serializes the inputs to a hex string. */ toString() {
|
|
53
|
+
return bufferToHex(this.toBuffer());
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Deserializes the inputs from a buffer.
|
|
57
|
+
* @param buffer - The buffer to deserialize from.
|
|
58
|
+
*/ static fromBuffer(buffer) {
|
|
59
|
+
const reader = BufferReader.asReader(buffer);
|
|
60
|
+
const size = Fr.fromBuffer(reader).toNumber();
|
|
61
|
+
// Array.from keeps the type `Fr[]`; readArray with the union-literal `size` would infer a deep tuple.
|
|
62
|
+
const messages = Array.from({
|
|
63
|
+
length: size
|
|
64
|
+
}, ()=>Fr.fromBuffer(reader));
|
|
65
|
+
return new InboxParityPrivateInputs(size, messages, Fr.fromBuffer(reader).toNumber(), Fr.fromBuffer(reader), Fr.fromBuffer(reader));
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Deserializes the inputs from a hex string.
|
|
69
|
+
* @param str - The hex string to deserialize from.
|
|
70
|
+
*/ static fromString(str) {
|
|
71
|
+
return InboxParityPrivateInputs.fromBuffer(hexToBuffer(str));
|
|
72
|
+
}
|
|
73
|
+
/** Returns a buffer representation for JSON serialization. */ toJSON() {
|
|
74
|
+
return this.toBuffer();
|
|
75
|
+
}
|
|
76
|
+
static get schema() {
|
|
77
|
+
return bufferSchemaFor(InboxParityPrivateInputs);
|
|
78
|
+
}
|
|
79
|
+
}
|
package/dest/parity/index.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
export * from './
|
|
1
|
+
export * from './inbox_parity_private_inputs.js';
|
|
2
2
|
export * from './parity_public_inputs.js';
|
|
3
|
-
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYXJpdHkvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsaUNBQWlDLENBQUMifQ==
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYXJpdHkvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLDJCQUEyQixDQUFDIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/parity/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/parity/index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAC;AACjD,cAAc,2BAA2B,CAAC"}
|
package/dest/parity/index.js
CHANGED
|
@@ -1,22 +1,23 @@
|
|
|
1
1
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
2
|
import { BufferReader } from '@aztec/foundation/serialize';
|
|
3
3
|
import type { FieldsOf } from '@aztec/foundation/types';
|
|
4
|
+
import { L1ToL2MessageSponge } from '../messaging/l1_to_l2_message_sponge.js';
|
|
4
5
|
export declare class ParityPublicInputs {
|
|
5
|
-
/**
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
|
|
6
|
+
/** Inbox rolling hash before absorbing this checkpoint's messages. */
|
|
7
|
+
startRollingHash: Fr;
|
|
8
|
+
/** Inbox rolling hash after absorbing the checkpoint's real messages. */
|
|
9
|
+
endRollingHash: Fr;
|
|
10
|
+
/** Message-bundle sponge after absorbing the same real messages into the empty per-checkpoint sponge. */
|
|
11
|
+
endSponge: L1ToL2MessageSponge;
|
|
11
12
|
/** Prover identity committed to by the circuit, for sybil protection. */
|
|
12
13
|
proverId: Fr;
|
|
13
14
|
constructor(
|
|
14
|
-
/**
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
|
|
15
|
+
/** Inbox rolling hash before absorbing this checkpoint's messages. */
|
|
16
|
+
startRollingHash: Fr,
|
|
17
|
+
/** Inbox rolling hash after absorbing the checkpoint's real messages. */
|
|
18
|
+
endRollingHash: Fr,
|
|
19
|
+
/** Message-bundle sponge after absorbing the same real messages into the empty per-checkpoint sponge. */
|
|
20
|
+
endSponge: L1ToL2MessageSponge,
|
|
20
21
|
/** Prover identity committed to by the circuit, for sybil protection. */
|
|
21
22
|
proverId: Fr);
|
|
22
23
|
/**
|
|
@@ -42,7 +43,7 @@ export declare class ParityPublicInputs {
|
|
|
42
43
|
* @param fields - The instance to get the fields from.
|
|
43
44
|
* @returns The instance fields.
|
|
44
45
|
*/
|
|
45
|
-
static getFields(fields: FieldsOf<ParityPublicInputs>): readonly [Fr, Fr,
|
|
46
|
+
static getFields(fields: FieldsOf<ParityPublicInputs>): readonly [Fr, Fr, L1ToL2MessageSponge, Fr];
|
|
46
47
|
/**
|
|
47
48
|
* Deserializes the inputs from a buffer.
|
|
48
49
|
* @param buffer - The buffer to deserialize from.
|
|
@@ -57,4 +58,4 @@ export declare class ParityPublicInputs {
|
|
|
57
58
|
static fromString(str: string): ParityPublicInputs;
|
|
58
59
|
static get schema(): import("zod").ZodType<ParityPublicInputs, string, import("zod/v4/core").$ZodTypeInternals<ParityPublicInputs, string>>;
|
|
59
60
|
}
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyaXR5X3B1YmxpY19pbnB1dHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYXJpdHkvcGFyaXR5X3B1YmxpY19pbnB1dHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sRUFBRSxZQUFZLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFFOUUsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFeEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFFOUUscUJBQWEsa0JBQWtCO0lBRTNCLHNFQUFzRTtJQUMvRCxnQkFBZ0IsRUFBRSxFQUFFO0lBQzNCLHlFQUF5RTtJQUNsRSxjQUFjLEVBQUUsRUFBRTtJQUN6Qix5R0FBeUc7SUFDbEcsU0FBUyxFQUFFLG1CQUFtQjtJQUNyQyx5RUFBeUU7SUFDbEUsUUFBUSxFQUFFLEVBQUU7SUFSckI7SUFDRSxzRUFBc0U7SUFDL0QsZ0JBQWdCLEVBQUUsRUFBRTtJQUMzQix5RUFBeUU7SUFDbEUsY0FBYyxFQUFFLEVBQUU7SUFDekIseUdBQXlHO0lBQ2xHLFNBQVMsRUFBRSxtQkFBbUI7SUFDckMseUVBQXlFO0lBQ2xFLFFBQVEsRUFBRSxFQUFFLEVBQ2pCO0lBRUo7OztPQUdHO0lBQ0gsUUFBUSw0QkFFUDtJQUVEOzs7T0FHRztJQUNILFFBQVEsa0JBRVA7SUFFRCx1REFBdUQ7SUFDdkQsTUFBTSw0QkFFTDtJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsa0JBQWtCLENBQUMsR0FBRyxrQkFBa0IsQ0FFcEU7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLGtCQUFrQixDQUFDLDhDQUVwRDtJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsWUFBWSxzQkFROUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxzQkFFNUI7SUFFRCxNQUFNLEtBQUssTUFBTSwySEFFaEI7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parity_public_inputs.d.ts","sourceRoot":"","sources":["../../src/parity/parity_public_inputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,qBAAa,kBAAkB;IAE3B
|
|
1
|
+
{"version":3,"file":"parity_public_inputs.d.ts","sourceRoot":"","sources":["../../src/parity/parity_public_inputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAE9E,qBAAa,kBAAkB;IAE3B,sEAAsE;IAC/D,gBAAgB,EAAE,EAAE;IAC3B,yEAAyE;IAClE,cAAc,EAAE,EAAE;IACzB,yGAAyG;IAClG,SAAS,EAAE,mBAAmB;IACrC,yEAAyE;IAClE,QAAQ,EAAE,EAAE;IARrB;IACE,sEAAsE;IAC/D,gBAAgB,EAAE,EAAE;IAC3B,yEAAyE;IAClE,cAAc,EAAE,EAAE;IACzB,yGAAyG;IAClG,SAAS,EAAE,mBAAmB;IACrC,yEAAyE;IAClE,QAAQ,EAAE,EAAE,EACjB;IAEJ;;;OAGG;IACH,QAAQ,4BAEP;IAED;;;OAGG;IACH,QAAQ,kBAEP;IAED,uDAAuD;IACvD,MAAM,4BAEL;IAED;;;;OAIG;IACH,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,kBAAkB,CAAC,GAAG,kBAAkB,CAEpE;IAED;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,kBAAkB,CAAC,8CAEpD;IAED;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,sBAQ9C;IAED;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,sBAE5B;IAED,MAAM,KAAK,MAAM,2HAEhB;CACF"}
|