@aztec/stdlib 4.0.0-nightly.20260112 → 4.0.0-nightly.20260113
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/block/attestation_info.d.ts +5 -5
- package/dest/block/attestation_info.d.ts.map +1 -1
- package/dest/block/attestation_info.js +4 -4
- package/dest/block/l2_block.d.ts +6 -3
- package/dest/block/l2_block.d.ts.map +1 -1
- package/dest/block/l2_block.js +2 -2
- package/dest/block/l2_block_new.d.ts +1 -2
- package/dest/block/l2_block_new.d.ts.map +1 -1
- package/dest/block/l2_block_new.js +4 -1
- package/dest/block/l2_block_source.d.ts +245 -41
- package/dest/block/l2_block_source.d.ts.map +1 -1
- package/dest/block/l2_block_source.js +23 -5
- package/dest/block/l2_block_stream/index.d.ts +2 -1
- package/dest/block/l2_block_stream/index.d.ts.map +1 -1
- package/dest/block/l2_block_stream/index.js +1 -0
- package/dest/block/l2_block_stream/interfaces.d.ts +16 -5
- package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_block_stream.d.ts +4 -2
- package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_block_stream.js +102 -30
- package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +24 -16
- package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_tips_memory_store.js +55 -61
- package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +49 -0
- package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -0
- package/dest/block/l2_block_stream/l2_tips_store_base.js +179 -0
- package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
- package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
- package/dest/block/test/l2_tips_store_test_suite.js +483 -38
- package/dest/block/validate_block_result.d.ts +24 -24
- package/dest/block/validate_block_result.d.ts.map +1 -1
- package/dest/block/validate_block_result.js +13 -13
- package/dest/checkpoint/checkpoint.d.ts +1 -1
- package/dest/checkpoint/checkpoint.d.ts.map +1 -1
- package/dest/checkpoint/checkpoint.js +1 -0
- package/dest/checkpoint/checkpoint_info.d.ts +32 -3
- package/dest/checkpoint/checkpoint_info.d.ts.map +1 -1
- package/dest/checkpoint/checkpoint_info.js +34 -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/interfaces/api_limit.d.ts +2 -1
- package/dest/interfaces/api_limit.d.ts.map +1 -1
- package/dest/interfaces/api_limit.js +1 -0
- package/dest/interfaces/archiver.d.ts +6 -6
- package/dest/interfaces/archiver.d.ts.map +1 -1
- package/dest/interfaces/archiver.js +6 -4
- package/dest/interfaces/aztec-node-admin.d.ts +12 -6
- package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
- package/dest/interfaces/aztec-node-admin.js +2 -2
- package/dest/interfaces/aztec-node.d.ts +2 -2
- package/dest/interfaces/aztec-node.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.js +8 -3
- package/dest/interfaces/configs.d.ts +6 -1
- package/dest/interfaces/configs.d.ts.map +1 -1
- package/dest/interfaces/configs.js +2 -1
- package/dest/interfaces/p2p.d.ts +7 -9
- package/dest/interfaces/p2p.d.ts.map +1 -1
- package/dest/interfaces/p2p.js +3 -4
- package/dest/interfaces/proving-job.d.ts +166 -166
- package/dest/interfaces/validator.d.ts +41 -7
- package/dest/interfaces/validator.d.ts.map +1 -1
- package/dest/interfaces/validator.js +3 -1
- package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +6 -5
- package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/build_note_hash_read_request_hints.js +5 -6
- package/dest/p2p/attestation_utils.d.ts +3 -3
- package/dest/p2p/attestation_utils.d.ts.map +1 -1
- package/dest/p2p/attestation_utils.js +1 -1
- package/dest/p2p/block_proposal.d.ts +85 -21
- package/dest/p2p/block_proposal.d.ts.map +1 -1
- package/dest/p2p/block_proposal.js +120 -37
- package/dest/p2p/checkpoint_attestation.d.ts +77 -0
- package/dest/p2p/checkpoint_attestation.d.ts.map +1 -0
- package/dest/p2p/{block_attestation.js → checkpoint_attestation.js} +22 -19
- package/dest/p2p/checkpoint_proposal.d.ts +154 -0
- package/dest/p2p/checkpoint_proposal.d.ts.map +1 -0
- package/dest/p2p/checkpoint_proposal.js +217 -0
- package/dest/p2p/consensus_payload.d.ts +4 -2
- package/dest/p2p/consensus_payload.d.ts.map +1 -1
- package/dest/p2p/consensus_payload.js +3 -2
- package/dest/p2p/index.d.ts +4 -2
- package/dest/p2p/index.d.ts.map +1 -1
- package/dest/p2p/index.js +3 -1
- package/dest/p2p/signature_utils.d.ts +5 -3
- package/dest/p2p/signature_utils.d.ts.map +1 -1
- package/dest/p2p/signature_utils.js +3 -1
- package/dest/p2p/signed_txs.d.ts +40 -0
- package/dest/p2p/signed_txs.d.ts.map +1 -0
- package/dest/p2p/signed_txs.js +70 -0
- package/dest/p2p/topic_type.d.ts +3 -2
- package/dest/p2p/topic_type.d.ts.map +1 -1
- package/dest/p2p/topic_type.js +8 -2
- package/dest/rollup/checkpoint_header.d.ts +5 -1
- package/dest/rollup/checkpoint_header.d.ts.map +1 -1
- package/dest/rollup/checkpoint_header.js +4 -0
- package/dest/tests/factories.d.ts +13 -1
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +50 -1
- package/dest/tests/mocks.d.ts +55 -9
- package/dest/tests/mocks.d.ts.map +1 -1
- package/dest/tests/mocks.js +84 -35
- package/dest/tx/private_execution_result.d.ts +1 -5
- package/dest/tx/private_execution_result.d.ts.map +1 -1
- package/dest/tx/private_execution_result.js +3 -20
- package/package.json +8 -8
- package/src/block/attestation_info.ts +9 -6
- package/src/block/l2_block.ts +3 -3
- package/src/block/l2_block_new.ts +5 -1
- package/src/block/l2_block_source.ts +66 -16
- package/src/block/l2_block_stream/index.ts +1 -0
- package/src/block/l2_block_stream/interfaces.ts +16 -4
- package/src/block/l2_block_stream/l2_block_stream.ts +121 -38
- package/src/block/l2_block_stream/l2_tips_memory_store.ts +62 -56
- package/src/block/l2_block_stream/l2_tips_store_base.ts +226 -0
- package/src/block/test/l2_tips_store_test_suite.ts +485 -36
- package/src/block/validate_block_result.ts +35 -31
- package/src/checkpoint/checkpoint.ts +1 -0
- package/src/checkpoint/checkpoint_info.ts +45 -2
- package/src/checkpoint/index.ts +1 -0
- package/src/interfaces/api_limit.ts +1 -0
- package/src/interfaces/archiver.ts +14 -6
- package/src/interfaces/aztec-node-admin.ts +5 -2
- package/src/interfaces/aztec-node.ts +30 -3
- package/src/interfaces/configs.ts +5 -0
- package/src/interfaces/p2p.ts +8 -12
- package/src/interfaces/validator.ts +57 -7
- package/src/kernel/hints/build_note_hash_read_request_hints.ts +5 -8
- package/src/p2p/attestation_utils.ts +3 -3
- package/src/p2p/block_proposal.ts +185 -41
- package/src/p2p/{block_attestation.ts → checkpoint_attestation.ts} +31 -25
- package/src/p2p/checkpoint_proposal.ts +337 -0
- package/src/p2p/consensus_payload.ts +5 -2
- package/src/p2p/index.ts +3 -1
- package/src/p2p/signature_utils.ts +3 -1
- package/src/p2p/signed_txs.ts +83 -0
- package/src/p2p/topic_type.ts +3 -2
- package/src/rollup/checkpoint_header.ts +13 -0
- package/src/tests/factories.ts +42 -1
- package/src/tests/mocks.ts +146 -50
- package/src/tx/private_execution_result.ts +0 -15
- package/dest/p2p/block_attestation.d.ts +0 -77
- package/dest/p2p/block_attestation.d.ts.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { EthAddress } from '@aztec/foundation/eth-address';
|
|
2
|
+
import { Checkpoint } from '../checkpoint/checkpoint.js';
|
|
2
3
|
import { ConsensusPayload } from '../p2p/consensus_payload.js';
|
|
3
|
-
import type { L2Block } from './l2_block.js';
|
|
4
4
|
import type { CommitteeAttestation } from './proposal/committee_attestation.js';
|
|
5
5
|
/**
|
|
6
6
|
* Status indicating how the attestation address was determined
|
|
@@ -21,12 +21,12 @@ export type AttestationInfo = {
|
|
|
21
21
|
status: Extract<AttestationStatus, 'provided-as-address' | 'recovered-from-signature'>;
|
|
22
22
|
};
|
|
23
23
|
/**
|
|
24
|
-
* Extracts attestation information from a published
|
|
24
|
+
* Extracts attestation information from a published checkpoint.
|
|
25
25
|
* Returns info for each attestation, preserving array indices.
|
|
26
26
|
*/
|
|
27
|
-
export declare function
|
|
27
|
+
export declare function getAttestationInfoFromPublishedCheckpoint(block: {
|
|
28
28
|
attestations: CommitteeAttestation[];
|
|
29
|
-
|
|
29
|
+
checkpoint: Checkpoint;
|
|
30
30
|
}): AttestationInfo[];
|
|
31
31
|
export declare function getAttestationInfoFromPayload(payload: ConsensusPayload, attestations: CommitteeAttestation[]): AttestationInfo[];
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0ZXN0YXRpb25faW5mby5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Jsb2NrL2F0dGVzdGF0aW9uX2luZm8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFaEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRS9ELE9BQU8sS0FBSyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFaEY7O0dBRUc7QUFDSCxNQUFNLE1BQU0saUJBQWlCLEdBQUcsMEJBQTBCLEdBQUcscUJBQXFCLEdBQUcsbUJBQW1CLEdBQUcsT0FBTyxDQUFDO0FBRW5IOztHQUVHO0FBQ0gsTUFBTSxNQUFNLGVBQWUsR0FDdkI7SUFDRSwrRUFBK0U7SUFDL0UsT0FBTyxDQUFDLEVBQUUsU0FBUyxDQUFDO0lBQ3BCLGlEQUFpRDtJQUNqRCxNQUFNLEVBQUUsT0FBTyxDQUFDLGlCQUFpQixFQUFFLG1CQUFtQixHQUFHLE9BQU8sQ0FBQyxDQUFDO0NBQ25FLEdBQ0Q7SUFDRSw4QkFBOEI7SUFDOUIsT0FBTyxFQUFFLFVBQVUsQ0FBQztJQUNwQixpREFBaUQ7SUFDakQsTUFBTSxFQUFFLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxxQkFBcUIsR0FBRywwQkFBMEIsQ0FBQyxDQUFDO0NBQ3hGLENBQUM7QUFFTjs7O0dBR0c7QUFDSCx3QkFBZ0IseUNBQXlDLENBQUMsS0FBSyxFQUFFO0lBQy9ELFlBQVksRUFBRSxvQkFBb0IsRUFBRSxDQUFDO0lBQ3JDLFVBQVUsRUFBRSxVQUFVLENBQUM7Q0FDeEIsR0FBRyxlQUFlLEVBQUUsQ0FHcEI7QUFFRCx3QkFBZ0IsNkJBQTZCLENBQzNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFDekIsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEdBQ25DLGVBQWUsRUFBRSxDQTBCbkIifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attestation_info.d.ts","sourceRoot":"","sources":["../../src/block/attestation_info.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"attestation_info.d.ts","sourceRoot":"","sources":["../../src/block/attestation_info.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAEhF;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,0BAA0B,GAAG,qBAAqB,GAAG,mBAAmB,GAAG,OAAO,CAAC;AAEnH;;GAEG;AACH,MAAM,MAAM,eAAe,GACvB;IACE,+EAA+E;IAC/E,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,iDAAiD;IACjD,MAAM,EAAE,OAAO,CAAC,iBAAiB,EAAE,mBAAmB,GAAG,OAAO,CAAC,CAAC;CACnE,GACD;IACE,8BAA8B;IAC9B,OAAO,EAAE,UAAU,CAAC;IACpB,iDAAiD;IACjD,MAAM,EAAE,OAAO,CAAC,iBAAiB,EAAE,qBAAqB,GAAG,0BAA0B,CAAC,CAAC;CACxF,CAAC;AAEN;;;GAGG;AACH,wBAAgB,yCAAyC,CAAC,KAAK,EAAE;IAC/D,YAAY,EAAE,oBAAoB,EAAE,CAAC;IACrC,UAAU,EAAE,UAAU,CAAC;CACxB,GAAG,eAAe,EAAE,CAGpB;AAED,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,gBAAgB,EACzB,YAAY,EAAE,oBAAoB,EAAE,GACnC,eAAe,EAAE,CA0BnB"}
|
|
@@ -2,14 +2,14 @@ import { recoverAddress } from '@aztec/foundation/crypto/secp256k1-signer';
|
|
|
2
2
|
import { ConsensusPayload } from '../p2p/consensus_payload.js';
|
|
3
3
|
import { SignatureDomainSeparator, getHashedSignaturePayloadEthSignedMessage } from '../p2p/signature_utils.js';
|
|
4
4
|
/**
|
|
5
|
-
* Extracts attestation information from a published
|
|
5
|
+
* Extracts attestation information from a published checkpoint.
|
|
6
6
|
* Returns info for each attestation, preserving array indices.
|
|
7
|
-
*/ export function
|
|
8
|
-
const payload = ConsensusPayload.
|
|
7
|
+
*/ export function getAttestationInfoFromPublishedCheckpoint(block) {
|
|
8
|
+
const payload = ConsensusPayload.fromCheckpoint(block.checkpoint);
|
|
9
9
|
return getAttestationInfoFromPayload(payload, block.attestations);
|
|
10
10
|
}
|
|
11
11
|
export function getAttestationInfoFromPayload(payload, attestations) {
|
|
12
|
-
const hashedPayload = getHashedSignaturePayloadEthSignedMessage(payload, SignatureDomainSeparator.
|
|
12
|
+
const hashedPayload = getHashedSignaturePayloadEthSignedMessage(payload, SignatureDomainSeparator.checkpointAttestation);
|
|
13
13
|
return attestations.map((attestation)=>{
|
|
14
14
|
// If signature is empty, check if we have an address directly
|
|
15
15
|
if (attestation.signature.isEmpty()) {
|
package/dest/block/l2_block.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type BlockBlobData } from '@aztec/blob-lib/encoding';
|
|
2
|
-
import { BlockNumber, SlotNumber } from '@aztec/foundation/branded-types';
|
|
2
|
+
import { BlockNumber, CheckpointNumber, SlotNumber } from '@aztec/foundation/branded-types';
|
|
3
3
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
4
4
|
import { BufferReader } from '@aztec/foundation/serialize';
|
|
5
5
|
import { z } from 'zod';
|
|
@@ -113,7 +113,10 @@ export declare class L2Block {
|
|
|
113
113
|
*/
|
|
114
114
|
getCheckpointHeader(): import("../rollup/checkpoint_header.js").CheckpointHeader;
|
|
115
115
|
getBlockHeader(): BlockHeader;
|
|
116
|
-
toL2Block(
|
|
116
|
+
toL2Block(args?: {
|
|
117
|
+
checkpointNumber?: CheckpointNumber;
|
|
118
|
+
indexWithinCheckpoint?: number;
|
|
119
|
+
}): L2BlockNew;
|
|
117
120
|
toCheckpoint(): Checkpoint;
|
|
118
121
|
static fromCheckpoint(checkpoint: Checkpoint): L2Block;
|
|
119
122
|
/**
|
|
@@ -140,4 +143,4 @@ export declare class L2Block {
|
|
|
140
143
|
toBlockInfo(): L2BlockInfo;
|
|
141
144
|
equals(other: L2Block): boolean;
|
|
142
145
|
}
|
|
143
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
146
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDJfYmxvY2suZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ibG9jay9sMl9ibG9jay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxhQUFhLEVBQTJELE1BQU0sMEJBQTBCLENBQUM7QUFDdkgsT0FBTyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM1RixPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBcUIsTUFBTSw2QkFBNkIsQ0FBQztBQUc5RSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRSxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRWpDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFL0M7Ozs7R0FJRztBQUNILHFCQUFhLE9BQU87SUFHVCxPQUFPLEVBQUUsc0JBQXNCO0lBRS9CLE1BQU0sRUFBRSxhQUFhO0lBRXJCLElBQUksRUFBRSxJQUFJO0lBQ2pCLE9BQU8sQ0FBQyxTQUFTO0lBUG5CO0lBQ0UsMkRBQTJEO0lBQ3BELE9BQU8sRUFBRSxzQkFBc0I7SUFDdEMsdUJBQXVCO0lBQ2hCLE1BQU0sRUFBRSxhQUFhO0lBQzVCLHFCQUFxQjtJQUNkLElBQUksRUFBRSxJQUFJLEVBQ1QsU0FBUyxHQUFFLEVBQUUsR0FBRyxTQUFxQixFQUMzQztJQUVKLE1BQU0sS0FBSyxNQUFNOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BUWhCO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxHQUFHLFlBQVksV0FPM0M7SUFFRDs7O09BR0c7SUFDSCxRQUFRLDRCQUVQO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLE1BQU0sR0FBRyxPQUFPLENBRXRDO0lBRUQ7OztPQUdHO0lBQ0gsUUFBUSxJQUFJLE1BQU0sQ0FFakI7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILE9BQWEsTUFBTSxDQUNqQixVQUFVLEVBQUUsV0FBVyxFQUN2QixXQUFXLFNBQUksRUFDZixtQkFBbUIsU0FBSSxFQUN2QixvQkFBb0IsU0FBSSxFQUN4QixNQUFNLEdBQUUsRUFBRSxHQUFHLFNBQXFCLEVBQ2xDLFVBQVUsR0FBRSxNQUFNLEdBQUcsU0FBcUIsRUFDMUMsVUFBVSxHQUFFLE1BQU0sR0FBRyxTQUFxQixHQUN6QyxPQUFPLENBQUMsT0FBTyxDQUFDLENBUWxCO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLEtBQUssSUFBSSxPQUFPLENBRXRCO0lBRUQsSUFBSSxNQUFNLElBQUksV0FBVyxDQUV4QjtJQUVELElBQUksSUFBSSxJQUFJLFVBQVUsQ0FFckI7SUFFRCxJQUFJLFNBQVMsSUFBSSxNQUFNLENBRXRCO0lBRUQ7OztPQUdHO0lBQ1UsSUFBSSxJQUFJLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FLL0I7SUFFRDs7OztPQUlHO0lBQ0ksbUJBQW1CLDhEQUV6QjtJQUdNLGNBQWMsSUFBSSxXQUFXLENBRW5DO0lBRU0sU0FBUyxDQUFDLElBQUksR0FBRTtRQUFFLGdCQUFnQixDQUFDLEVBQUUsZ0JBQWdCLENBQUM7UUFBQyxxQkFBcUIsQ0FBQyxFQUFFLE1BQU0sQ0FBQTtLQUFPLEdBQUcsVUFBVSxDQVEvRztJQUVNLFlBQVksZUFPbEI7SUFFRCxNQUFNLENBQUMsY0FBYyxDQUFDLFVBQVUsRUFBRSxVQUFVLFdBZTNDO0lBRUQ7Ozs7T0FJRztJQUNJLHVCQUF1QixTQUc3QjtJQUVNLFlBQVksSUFBSSxFQUFFLEVBQUUsQ0FHMUI7SUFFTSxlQUFlLElBQUksYUFBYSxDQXVCdEM7SUFFRDs7O09BR0c7SUFDSCxRQUFROzs7Ozs7OztNQXFCUDtJQUVELFdBQVcsSUFBSSxXQUFXLENBVXpCO0lBRUQsTUFBTSxDQUFDLEtBQUssRUFBRSxPQUFPLFdBRXBCO0NBQ0YifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"l2_block.d.ts","sourceRoot":"","sources":["../../src/block/l2_block.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAA2D,MAAM,0BAA0B,CAAC;AACvH,OAAO,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"l2_block.d.ts","sourceRoot":"","sources":["../../src/block/l2_block.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAA2D,MAAM,0BAA0B,CAAC;AACvH,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC5F,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAG9E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C;;;;GAIG;AACH,qBAAa,OAAO;IAGT,OAAO,EAAE,sBAAsB;IAE/B,MAAM,EAAE,aAAa;IAErB,IAAI,EAAE,IAAI;IACjB,OAAO,CAAC,SAAS;IAPnB;IACE,2DAA2D;IACpD,OAAO,EAAE,sBAAsB;IACtC,uBAAuB;IAChB,MAAM,EAAE,aAAa;IAC5B,qBAAqB;IACd,IAAI,EAAE,IAAI,EACT,SAAS,GAAE,EAAE,GAAG,SAAqB,EAC3C;IAEJ,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAQhB;IAED;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,WAO3C;IAED;;;OAGG;IACH,QAAQ,4BAEP;IAED;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEtC;IAED;;;OAGG;IACH,QAAQ,IAAI,MAAM,CAEjB;IAED;;;;;;;;OAQG;IACH,OAAa,MAAM,CACjB,UAAU,EAAE,WAAW,EACvB,WAAW,SAAI,EACf,mBAAmB,SAAI,EACvB,oBAAoB,SAAI,EACxB,MAAM,GAAE,EAAE,GAAG,SAAqB,EAClC,UAAU,GAAE,MAAM,GAAG,SAAqB,EAC1C,UAAU,GAAE,MAAM,GAAG,SAAqB,GACzC,OAAO,CAAC,OAAO,CAAC,CAQlB;IAED;;;OAGG;IACH,MAAM,CAAC,KAAK,IAAI,OAAO,CAEtB;IAED,IAAI,MAAM,IAAI,WAAW,CAExB;IAED,IAAI,IAAI,IAAI,UAAU,CAErB;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED;;;OAGG;IACU,IAAI,IAAI,OAAO,CAAC,EAAE,CAAC,CAK/B;IAED;;;;OAIG;IACI,mBAAmB,8DAEzB;IAGM,cAAc,IAAI,WAAW,CAEnC;IAEM,SAAS,CAAC,IAAI,GAAE;QAAE,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;QAAC,qBAAqB,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,UAAU,CAQ/G;IAEM,YAAY,eAOlB;IAED,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,UAAU,WAe3C;IAED;;;;OAIG;IACI,uBAAuB,SAG7B;IAEM,YAAY,IAAI,EAAE,EAAE,CAG1B;IAEM,eAAe,IAAI,aAAa,CAuBtC;IAED;;;OAGG;IACH,QAAQ;;;;;;;;MAqBP;IAED,WAAW,IAAI,WAAW,CAUzB;IAED,MAAM,CAAC,KAAK,EAAE,OAAO,WAEpB;CACF"}
|
package/dest/block/l2_block.js
CHANGED
|
@@ -114,8 +114,8 @@ import { L2BlockNew } from './l2_block_new.js';
|
|
|
114
114
|
getBlockHeader() {
|
|
115
115
|
return this.header.toBlockHeader();
|
|
116
116
|
}
|
|
117
|
-
toL2Block() {
|
|
118
|
-
return new L2BlockNew(this.archive, this.getBlockHeader(), this.body, CheckpointNumber.fromBlockNumber(this.number), 0);
|
|
117
|
+
toL2Block(args = {}) {
|
|
118
|
+
return new L2BlockNew(this.archive, this.getBlockHeader(), this.body, args?.checkpointNumber ?? CheckpointNumber.fromBlockNumber(this.number), args?.indexWithinCheckpoint ?? 0);
|
|
119
119
|
}
|
|
120
120
|
toCheckpoint() {
|
|
121
121
|
return new Checkpoint(this.archive, this.getCheckpointHeader(), [
|
|
@@ -10,7 +10,6 @@ import { Body } from './body.js';
|
|
|
10
10
|
import type { L2BlockInfo } from './l2_block_info.js';
|
|
11
11
|
/**
|
|
12
12
|
* An L2 block with a header and a body.
|
|
13
|
-
* TODO: Delete the existing `L2Block` class and rename this to `L2Block`.
|
|
14
13
|
*/
|
|
15
14
|
export declare class L2BlockNew {
|
|
16
15
|
archive: AppendOnlyTreeSnapshot;
|
|
@@ -132,4 +131,4 @@ export declare class L2BlockNew {
|
|
|
132
131
|
getPrivateLogs(): PrivateLog[];
|
|
133
132
|
toBlockInfo(): L2BlockInfo;
|
|
134
133
|
}
|
|
135
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
134
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDJfYmxvY2tfbmV3LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYmxvY2svbDJfYmxvY2tfbmV3LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLGFBQWEsRUFBdUIsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRixPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUEwQixNQUFNLGlDQUFpQyxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFxQixNQUFNLDZCQUE2QixDQUFDO0FBRTlFLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDL0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDakMsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFPdEQ7O0dBRUc7QUFDSCxxQkFBYSxVQUFVO0lBR1osT0FBTyxFQUFFLHNCQUFzQjtJQUUvQixNQUFNLEVBQUUsV0FBVztJQUVuQixJQUFJLEVBQUUsSUFBSTtJQUVWLGdCQUFnQixFQUFFLGdCQUFnQjtJQUVsQyxxQkFBcUIsRUFBRSxNQUFNO0lBVnRDO0lBQ0UsMkRBQTJEO0lBQ3BELE9BQU8sRUFBRSxzQkFBc0I7SUFDdEMsMkJBQTJCO0lBQ3BCLE1BQU0sRUFBRSxXQUFXO0lBQzFCLHFCQUFxQjtJQUNkLElBQUksRUFBRSxJQUFJO0lBQ2pCLDBEQUEwRDtJQUNuRCxnQkFBZ0IsRUFBRSxnQkFBZ0I7SUFDekMsZ0RBQWdEO0lBQ3pDLHFCQUFxQixFQUFFLE1BQU0sRUFDbEM7SUFFSixJQUFJLE1BQU0sSUFBSSxXQUFXLENBRXhCO0lBRUQsSUFBSSxTQUFTLElBQUksTUFBTSxDQUV0QjtJQUVELE1BQU0sS0FBSyxNQUFNOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQWFoQjtJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLE1BQU0sR0FBRyxZQUFZLGNBUzNDO0lBRUQ7OztPQUdHO0lBQ0gsUUFBUSw0QkFFUDtJQUVEOzs7T0FHRztJQUNJLElBQUksSUFBSSxPQUFPLENBQUMsRUFBRSxDQUFDLENBRXpCO0lBRUQ7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxLQUFLLEVBQUUsSUFBSSxHQUFHLE9BQU8sQ0FRbEM7SUFFTSxZQUFZLElBQUksRUFBRSxFQUFFLENBRzFCO0lBRU0sZUFBZSxJQUFJLGFBQWEsQ0FzQnRDO0lBRUQsTUFBTSxDQUFDLEtBQUssZUFFWDtJQUVEOzs7Ozs7OztPQVFHO0lBQ0gsT0FBYSxNQUFNLENBQ2pCLFdBQVcsRUFBRSxXQUFXLEVBQ3hCLEVBQ0UsZ0JBQXdELEVBQ3hELHFCQUF5QixFQUN6QixXQUFlLEVBQ2YsU0FBYyxFQUNkLGFBQWEsRUFDYixHQUFHLG9CQUFvQixFQUN4QixHQUFFO1FBQ0QsZ0JBQWdCLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQztRQUNwQyxxQkFBcUIsQ0FBQyxFQUFFLE1BQU0sQ0FBQztRQUMvQixXQUFXLENBQUMsRUFBRSxNQUFNLENBQUM7UUFDckIsU0FBUyxDQUFDLEVBQUUsT0FBTyxDQUFDLFVBQVUsQ0FBQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZELGFBQWEsQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLE1BQU0sS0FBSyxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDakYsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFNLEdBQ3pELE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FLckI7SUFFRDs7O09BR0c7SUFDSCxRQUFROzs7Ozs7OztNQXFCUDtJQUVELGNBQWMsSUFBSSxVQUFVLEVBQUUsQ0FFN0I7SUFFRCxXQUFXLElBQUksV0FBVyxDQVN6QjtDQUNGIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"l2_block_new.d.ts","sourceRoot":"","sources":["../../src/block/l2_block_new.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAuB,MAAM,0BAA0B,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAA0B,MAAM,iCAAiC,CAAC;AACxG,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"l2_block_new.d.ts","sourceRoot":"","sources":["../../src/block/l2_block_new.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAuB,MAAM,0BAA0B,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAA0B,MAAM,iCAAiC,CAAC;AACxG,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAOtD;;GAEG;AACH,qBAAa,UAAU;IAGZ,OAAO,EAAE,sBAAsB;IAE/B,MAAM,EAAE,WAAW;IAEnB,IAAI,EAAE,IAAI;IAEV,gBAAgB,EAAE,gBAAgB;IAElC,qBAAqB,EAAE,MAAM;IAVtC;IACE,2DAA2D;IACpD,OAAO,EAAE,sBAAsB;IACtC,2BAA2B;IACpB,MAAM,EAAE,WAAW;IAC1B,qBAAqB;IACd,IAAI,EAAE,IAAI;IACjB,0DAA0D;IACnD,gBAAgB,EAAE,gBAAgB;IACzC,gDAAgD;IACzC,qBAAqB,EAAE,MAAM,EAClC;IAEJ,IAAI,MAAM,IAAI,WAAW,CAExB;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAahB;IAED;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,cAS3C;IAED;;;OAGG;IACH,QAAQ,4BAEP;IAED;;;OAGG;IACI,IAAI,IAAI,OAAO,CAAC,EAAE,CAAC,CAEzB;IAED;;;;OAIG;IACI,MAAM,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO,CAQlC;IAEM,YAAY,IAAI,EAAE,EAAE,CAG1B;IAEM,eAAe,IAAI,aAAa,CAsBtC;IAED,MAAM,CAAC,KAAK,eAEX;IAED;;;;;;;;OAQG;IACH,OAAa,MAAM,CACjB,WAAW,EAAE,WAAW,EACxB,EACE,gBAAwD,EACxD,qBAAyB,EACzB,WAAe,EACf,SAAc,EACd,aAAa,EACb,GAAG,oBAAoB,EACxB,GAAE;QACD,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;QACpC,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACjF,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAM,GACzD,OAAO,CAAC,UAAU,CAAC,CAKrB;IAED;;;OAGG;IACH,QAAQ;;;;;;;;MAqBP;IAED,cAAc,IAAI,UAAU,EAAE,CAE7B;IAED,WAAW,IAAI,WAAW,CASzB;CACF"}
|
|
@@ -6,9 +6,12 @@ import { z } from 'zod';
|
|
|
6
6
|
import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
|
|
7
7
|
import { BlockHeader } from '../tx/block_header.js';
|
|
8
8
|
import { Body } from './body.js';
|
|
9
|
+
// TODO(palla/mbps): Delete the existing `L2Block` class and rename this to `L2Block`.
|
|
10
|
+
// TODO(palla/mbps): Consider moving the checkpointNumber and indexWithinCheckpoint to the header:
|
|
11
|
+
// if the blockNumber is there, why not these as well? Consider whether they should be part of the
|
|
12
|
+
// circuits structs though.
|
|
9
13
|
/**
|
|
10
14
|
* An L2 block with a header and a body.
|
|
11
|
-
* TODO: Delete the existing `L2Block` class and rename this to `L2Block`.
|
|
12
15
|
*/ export class L2BlockNew {
|
|
13
16
|
archive;
|
|
14
17
|
header;
|
|
@@ -13,7 +13,7 @@ import type { TxReceipt } from '../tx/tx_receipt.js';
|
|
|
13
13
|
import { type CheckpointedL2Block, PublishedL2Block } from './checkpointed_l2_block.js';
|
|
14
14
|
import type { L2Block } from './l2_block.js';
|
|
15
15
|
import type { L2BlockNew } from './l2_block_new.js';
|
|
16
|
-
import type {
|
|
16
|
+
import type { ValidateCheckpointNegativeResult, ValidateCheckpointResult } from './validate_block_result.js';
|
|
17
17
|
/**
|
|
18
18
|
* Interface of classes allowing for the retrieval of L2 blocks.
|
|
19
19
|
*/
|
|
@@ -51,6 +51,7 @@ export interface L2BlockSource {
|
|
|
51
51
|
* @returns The requested checkpointed L2 block (or undefined if not found or not checkpointed).
|
|
52
52
|
*/
|
|
53
53
|
getCheckpointedBlock(number: BlockNumber): Promise<CheckpointedL2Block | undefined>;
|
|
54
|
+
getCheckpointedBlocks(from: BlockNumber, limit: number, proven?: boolean): Promise<CheckpointedL2Block[]>;
|
|
54
55
|
/**
|
|
55
56
|
* Retrieves a collection of published checkpoints
|
|
56
57
|
* @param checkpointNumber The first checkpoint to be retrieved
|
|
@@ -132,10 +133,10 @@ export interface L2BlockSource {
|
|
|
132
133
|
*/
|
|
133
134
|
isPendingChainInvalid(): Promise<boolean>;
|
|
134
135
|
/**
|
|
135
|
-
* Returns the status of the pending chain validation. If the chain is invalid, reports the earliest consecutive
|
|
136
|
-
* that is invalid, along with the reason for being invalid, which can be used to trigger an invalidation.
|
|
136
|
+
* Returns the status of the pending chain validation. If the chain is invalid, reports the earliest consecutive
|
|
137
|
+
* checkpoint that is invalid, along with the reason for being invalid, which can be used to trigger an invalidation.
|
|
137
138
|
*/
|
|
138
|
-
getPendingChainValidationStatus(): Promise<
|
|
139
|
+
getPendingChainValidationStatus(): Promise<ValidateCheckpointResult>;
|
|
139
140
|
/** Force a sync. */
|
|
140
141
|
syncImmediate(): Promise<void>;
|
|
141
142
|
/**
|
|
@@ -145,6 +146,8 @@ export interface L2BlockSource {
|
|
|
145
146
|
* @deprecated Use getL2BlockNew instead.
|
|
146
147
|
*/
|
|
147
148
|
getBlock(number: BlockNumber): Promise<L2Block | undefined>;
|
|
149
|
+
getL2BlockNew(number: BlockNumber): Promise<L2BlockNew | undefined>;
|
|
150
|
+
getL2BlocksNew(from: BlockNumber, limit: number, proven?: boolean): Promise<L2BlockNew[]>;
|
|
148
151
|
/**
|
|
149
152
|
* Returns all blocks for a given epoch.
|
|
150
153
|
* @dev Use this method only with recent epochs, since it walks the block list backwards.
|
|
@@ -192,28 +195,52 @@ export interface L2BlockSink {
|
|
|
192
195
|
export type ArchiverEmitter = TypedEventEmitter<{
|
|
193
196
|
[L2BlockSourceEvents.L2PruneDetected]: (args: L2BlockPruneEvent) => void;
|
|
194
197
|
[L2BlockSourceEvents.L2BlockProven]: (args: L2BlockProvenEvent) => void;
|
|
195
|
-
[L2BlockSourceEvents.
|
|
198
|
+
[L2BlockSourceEvents.InvalidAttestationsCheckpointDetected]: (args: InvalidCheckpointDetectedEvent) => void;
|
|
199
|
+
[L2BlockSourceEvents.L2BlocksCheckpointed]: (args: L2CheckpointEvent) => void;
|
|
196
200
|
}>;
|
|
197
201
|
export interface L2BlockSourceEventEmitter extends L2BlockSource, ArchiverEmitter {
|
|
198
202
|
}
|
|
199
203
|
/**
|
|
200
204
|
* Identifier for L2 block tags.
|
|
201
|
-
* -
|
|
205
|
+
* - proposed: Latest block proposed on L2.
|
|
206
|
+
* - checkpointed: Checkpointed block on L1.
|
|
202
207
|
* - proven: Proven block on L1.
|
|
203
208
|
* - finalized: Proven block on a finalized L1 block (not implemented, set to proven for now).
|
|
204
209
|
*/
|
|
205
|
-
export type L2BlockTag = '
|
|
210
|
+
export type L2BlockTag = 'proposed' | 'checkpointed' | 'proven' | 'finalized';
|
|
211
|
+
/**
|
|
212
|
+
* Reason for L2 block prune.
|
|
213
|
+
* - uncheckpointed: L2 blocks were pruned due to a failure to checkpoint.
|
|
214
|
+
* - unproven: L2 blocks were pruned due to a failure to prove.
|
|
215
|
+
*/
|
|
216
|
+
export type L2BlockPruneReason = 'uncheckpointed' | 'unproven';
|
|
206
217
|
/** Tips of the L2 chain. */
|
|
207
|
-
export type L2Tips =
|
|
218
|
+
export type L2Tips = {
|
|
219
|
+
proposed: L2BlockId;
|
|
220
|
+
checkpointed: L2TipId;
|
|
221
|
+
proven: L2TipId;
|
|
222
|
+
finalized: L2TipId;
|
|
223
|
+
};
|
|
224
|
+
export declare const GENESIS_CHECKPOINT_HEADER_HASH: Fr;
|
|
208
225
|
/** Identifies a block by number and hash. */
|
|
209
226
|
export type L2BlockId = {
|
|
210
227
|
number: BlockNumber;
|
|
211
228
|
hash: string;
|
|
212
229
|
};
|
|
230
|
+
export type CheckpointId = {
|
|
231
|
+
number: CheckpointNumber;
|
|
232
|
+
hash: string;
|
|
233
|
+
};
|
|
234
|
+
export type L2TipId = {
|
|
235
|
+
block: L2BlockId;
|
|
236
|
+
checkpoint: CheckpointId;
|
|
237
|
+
};
|
|
213
238
|
/** Creates an L2 block id */
|
|
214
239
|
export declare function makeL2BlockId(number: BlockNumber, hash?: string): L2BlockId;
|
|
240
|
+
/** Creates an L2 checkpoint id */
|
|
241
|
+
export declare function makeL2CheckpointId(number: CheckpointNumber, hash: string): CheckpointId;
|
|
215
242
|
export declare const L2TipsSchema: z.ZodObject<{
|
|
216
|
-
|
|
243
|
+
proposed: z.ZodObject<{
|
|
217
244
|
number: z.ZodEffects<z.ZodPipeline<z.ZodUnion<[z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodNumber>, BlockNumber, string | number | bigint>;
|
|
218
245
|
hash: z.ZodString;
|
|
219
246
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -225,67 +252,240 @@ export declare const L2TipsSchema: z.ZodObject<{
|
|
|
225
252
|
number: string | number | bigint;
|
|
226
253
|
hash: string;
|
|
227
254
|
}>;
|
|
255
|
+
checkpointed: z.ZodObject<{
|
|
256
|
+
block: z.ZodObject<{
|
|
257
|
+
number: z.ZodEffects<z.ZodPipeline<z.ZodUnion<[z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodNumber>, BlockNumber, string | number | bigint>;
|
|
258
|
+
hash: z.ZodString;
|
|
259
|
+
}, "strip", z.ZodTypeAny, {
|
|
260
|
+
number: number & {
|
|
261
|
+
_branding: "BlockNumber";
|
|
262
|
+
};
|
|
263
|
+
hash: string;
|
|
264
|
+
}, {
|
|
265
|
+
number: string | number | bigint;
|
|
266
|
+
hash: string;
|
|
267
|
+
}>;
|
|
268
|
+
checkpoint: z.ZodObject<{
|
|
269
|
+
number: z.ZodEffects<z.ZodPipeline<z.ZodUnion<[z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodNumber>, CheckpointNumber, string | number | bigint>;
|
|
270
|
+
hash: z.ZodString;
|
|
271
|
+
}, "strip", z.ZodTypeAny, {
|
|
272
|
+
number: number & {
|
|
273
|
+
_branding: "CheckpointNumber";
|
|
274
|
+
};
|
|
275
|
+
hash: string;
|
|
276
|
+
}, {
|
|
277
|
+
number: string | number | bigint;
|
|
278
|
+
hash: string;
|
|
279
|
+
}>;
|
|
280
|
+
}, "strip", z.ZodTypeAny, {
|
|
281
|
+
block: {
|
|
282
|
+
number: number & {
|
|
283
|
+
_branding: "BlockNumber";
|
|
284
|
+
};
|
|
285
|
+
hash: string;
|
|
286
|
+
};
|
|
287
|
+
checkpoint: {
|
|
288
|
+
number: number & {
|
|
289
|
+
_branding: "CheckpointNumber";
|
|
290
|
+
};
|
|
291
|
+
hash: string;
|
|
292
|
+
};
|
|
293
|
+
}, {
|
|
294
|
+
block: {
|
|
295
|
+
number: string | number | bigint;
|
|
296
|
+
hash: string;
|
|
297
|
+
};
|
|
298
|
+
checkpoint: {
|
|
299
|
+
number: string | number | bigint;
|
|
300
|
+
hash: string;
|
|
301
|
+
};
|
|
302
|
+
}>;
|
|
228
303
|
proven: z.ZodObject<{
|
|
229
|
-
|
|
230
|
-
|
|
304
|
+
block: z.ZodObject<{
|
|
305
|
+
number: z.ZodEffects<z.ZodPipeline<z.ZodUnion<[z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodNumber>, BlockNumber, string | number | bigint>;
|
|
306
|
+
hash: z.ZodString;
|
|
307
|
+
}, "strip", z.ZodTypeAny, {
|
|
308
|
+
number: number & {
|
|
309
|
+
_branding: "BlockNumber";
|
|
310
|
+
};
|
|
311
|
+
hash: string;
|
|
312
|
+
}, {
|
|
313
|
+
number: string | number | bigint;
|
|
314
|
+
hash: string;
|
|
315
|
+
}>;
|
|
316
|
+
checkpoint: z.ZodObject<{
|
|
317
|
+
number: z.ZodEffects<z.ZodPipeline<z.ZodUnion<[z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodNumber>, CheckpointNumber, string | number | bigint>;
|
|
318
|
+
hash: z.ZodString;
|
|
319
|
+
}, "strip", z.ZodTypeAny, {
|
|
320
|
+
number: number & {
|
|
321
|
+
_branding: "CheckpointNumber";
|
|
322
|
+
};
|
|
323
|
+
hash: string;
|
|
324
|
+
}, {
|
|
325
|
+
number: string | number | bigint;
|
|
326
|
+
hash: string;
|
|
327
|
+
}>;
|
|
231
328
|
}, "strip", z.ZodTypeAny, {
|
|
232
|
-
|
|
233
|
-
|
|
329
|
+
block: {
|
|
330
|
+
number: number & {
|
|
331
|
+
_branding: "BlockNumber";
|
|
332
|
+
};
|
|
333
|
+
hash: string;
|
|
334
|
+
};
|
|
335
|
+
checkpoint: {
|
|
336
|
+
number: number & {
|
|
337
|
+
_branding: "CheckpointNumber";
|
|
338
|
+
};
|
|
339
|
+
hash: string;
|
|
234
340
|
};
|
|
235
|
-
hash: string;
|
|
236
341
|
}, {
|
|
237
|
-
|
|
238
|
-
|
|
342
|
+
block: {
|
|
343
|
+
number: string | number | bigint;
|
|
344
|
+
hash: string;
|
|
345
|
+
};
|
|
346
|
+
checkpoint: {
|
|
347
|
+
number: string | number | bigint;
|
|
348
|
+
hash: string;
|
|
349
|
+
};
|
|
239
350
|
}>;
|
|
240
351
|
finalized: z.ZodObject<{
|
|
241
|
-
|
|
242
|
-
|
|
352
|
+
block: z.ZodObject<{
|
|
353
|
+
number: z.ZodEffects<z.ZodPipeline<z.ZodUnion<[z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodNumber>, BlockNumber, string | number | bigint>;
|
|
354
|
+
hash: z.ZodString;
|
|
355
|
+
}, "strip", z.ZodTypeAny, {
|
|
356
|
+
number: number & {
|
|
357
|
+
_branding: "BlockNumber";
|
|
358
|
+
};
|
|
359
|
+
hash: string;
|
|
360
|
+
}, {
|
|
361
|
+
number: string | number | bigint;
|
|
362
|
+
hash: string;
|
|
363
|
+
}>;
|
|
364
|
+
checkpoint: z.ZodObject<{
|
|
365
|
+
number: z.ZodEffects<z.ZodPipeline<z.ZodUnion<[z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodNumber>, CheckpointNumber, string | number | bigint>;
|
|
366
|
+
hash: z.ZodString;
|
|
367
|
+
}, "strip", z.ZodTypeAny, {
|
|
368
|
+
number: number & {
|
|
369
|
+
_branding: "CheckpointNumber";
|
|
370
|
+
};
|
|
371
|
+
hash: string;
|
|
372
|
+
}, {
|
|
373
|
+
number: string | number | bigint;
|
|
374
|
+
hash: string;
|
|
375
|
+
}>;
|
|
243
376
|
}, "strip", z.ZodTypeAny, {
|
|
244
|
-
|
|
245
|
-
|
|
377
|
+
block: {
|
|
378
|
+
number: number & {
|
|
379
|
+
_branding: "BlockNumber";
|
|
380
|
+
};
|
|
381
|
+
hash: string;
|
|
382
|
+
};
|
|
383
|
+
checkpoint: {
|
|
384
|
+
number: number & {
|
|
385
|
+
_branding: "CheckpointNumber";
|
|
386
|
+
};
|
|
387
|
+
hash: string;
|
|
246
388
|
};
|
|
247
|
-
hash: string;
|
|
248
389
|
}, {
|
|
249
|
-
|
|
250
|
-
|
|
390
|
+
block: {
|
|
391
|
+
number: string | number | bigint;
|
|
392
|
+
hash: string;
|
|
393
|
+
};
|
|
394
|
+
checkpoint: {
|
|
395
|
+
number: string | number | bigint;
|
|
396
|
+
hash: string;
|
|
397
|
+
};
|
|
251
398
|
}>;
|
|
252
399
|
}, "strip", z.ZodTypeAny, {
|
|
253
|
-
|
|
400
|
+
proposed: {
|
|
254
401
|
number: number & {
|
|
255
402
|
_branding: "BlockNumber";
|
|
256
403
|
};
|
|
257
404
|
hash: string;
|
|
258
405
|
};
|
|
406
|
+
checkpointed: {
|
|
407
|
+
block: {
|
|
408
|
+
number: number & {
|
|
409
|
+
_branding: "BlockNumber";
|
|
410
|
+
};
|
|
411
|
+
hash: string;
|
|
412
|
+
};
|
|
413
|
+
checkpoint: {
|
|
414
|
+
number: number & {
|
|
415
|
+
_branding: "CheckpointNumber";
|
|
416
|
+
};
|
|
417
|
+
hash: string;
|
|
418
|
+
};
|
|
419
|
+
};
|
|
259
420
|
proven: {
|
|
260
|
-
|
|
261
|
-
|
|
421
|
+
block: {
|
|
422
|
+
number: number & {
|
|
423
|
+
_branding: "BlockNumber";
|
|
424
|
+
};
|
|
425
|
+
hash: string;
|
|
426
|
+
};
|
|
427
|
+
checkpoint: {
|
|
428
|
+
number: number & {
|
|
429
|
+
_branding: "CheckpointNumber";
|
|
430
|
+
};
|
|
431
|
+
hash: string;
|
|
262
432
|
};
|
|
263
|
-
hash: string;
|
|
264
433
|
};
|
|
265
434
|
finalized: {
|
|
266
|
-
|
|
267
|
-
|
|
435
|
+
block: {
|
|
436
|
+
number: number & {
|
|
437
|
+
_branding: "BlockNumber";
|
|
438
|
+
};
|
|
439
|
+
hash: string;
|
|
440
|
+
};
|
|
441
|
+
checkpoint: {
|
|
442
|
+
number: number & {
|
|
443
|
+
_branding: "CheckpointNumber";
|
|
444
|
+
};
|
|
445
|
+
hash: string;
|
|
268
446
|
};
|
|
269
|
-
hash: string;
|
|
270
447
|
};
|
|
271
448
|
}, {
|
|
272
|
-
|
|
449
|
+
proposed: {
|
|
273
450
|
number: string | number | bigint;
|
|
274
451
|
hash: string;
|
|
275
452
|
};
|
|
453
|
+
checkpointed: {
|
|
454
|
+
block: {
|
|
455
|
+
number: string | number | bigint;
|
|
456
|
+
hash: string;
|
|
457
|
+
};
|
|
458
|
+
checkpoint: {
|
|
459
|
+
number: string | number | bigint;
|
|
460
|
+
hash: string;
|
|
461
|
+
};
|
|
462
|
+
};
|
|
276
463
|
proven: {
|
|
277
|
-
|
|
278
|
-
|
|
464
|
+
block: {
|
|
465
|
+
number: string | number | bigint;
|
|
466
|
+
hash: string;
|
|
467
|
+
};
|
|
468
|
+
checkpoint: {
|
|
469
|
+
number: string | number | bigint;
|
|
470
|
+
hash: string;
|
|
471
|
+
};
|
|
279
472
|
};
|
|
280
473
|
finalized: {
|
|
281
|
-
|
|
282
|
-
|
|
474
|
+
block: {
|
|
475
|
+
number: string | number | bigint;
|
|
476
|
+
hash: string;
|
|
477
|
+
};
|
|
478
|
+
checkpoint: {
|
|
479
|
+
number: string | number | bigint;
|
|
480
|
+
hash: string;
|
|
481
|
+
};
|
|
283
482
|
};
|
|
284
483
|
}>;
|
|
285
484
|
export declare enum L2BlockSourceEvents {
|
|
286
485
|
L2PruneDetected = "l2PruneDetected",
|
|
287
486
|
L2BlockProven = "l2BlockProven",
|
|
288
|
-
|
|
487
|
+
L2BlocksCheckpointed = "l2BlocksCheckpointed",
|
|
488
|
+
InvalidAttestationsCheckpointDetected = "invalidCheckpointDetected"
|
|
289
489
|
}
|
|
290
490
|
export type L2BlockProvenEvent = {
|
|
291
491
|
type: 'l2BlockProven';
|
|
@@ -296,10 +496,14 @@ export type L2BlockProvenEvent = {
|
|
|
296
496
|
export type L2BlockPruneEvent = {
|
|
297
497
|
type: 'l2PruneDetected';
|
|
298
498
|
epochNumber: EpochNumber;
|
|
299
|
-
blocks:
|
|
499
|
+
blocks: L2BlockNew[];
|
|
500
|
+
};
|
|
501
|
+
export type L2CheckpointEvent = {
|
|
502
|
+
type: 'l2BlocksCheckpointed';
|
|
503
|
+
checkpoint: PublishedCheckpoint;
|
|
300
504
|
};
|
|
301
|
-
export type
|
|
302
|
-
type: '
|
|
303
|
-
validationResult:
|
|
505
|
+
export type InvalidCheckpointDetectedEvent = {
|
|
506
|
+
type: 'invalidCheckpointDetected';
|
|
507
|
+
validationResult: ValidateCheckpointNegativeResult;
|
|
304
508
|
};
|
|
305
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
509
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDJfYmxvY2tfc291cmNlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYmxvY2svbDJfYmxvY2tfc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxXQUFXLEVBRVgsZ0JBQWdCLEVBRWhCLEtBQUssV0FBVyxFQUNoQixLQUFLLFVBQVUsRUFDaEIsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRWpFLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNqRixPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRW5FLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2xFLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQy9DLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxLQUFLLG1CQUFtQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDeEYsT0FBTyxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdDLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFD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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"l2_block_source.d.ts","sourceRoot":"","sources":["../../src/block/l2_block_source.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EAEX,gBAAgB,
|
|
1
|
+
{"version":3,"file":"l2_block_source.d.ts","sourceRoot":"","sources":["../../src/block/l2_block_source.ts"],"names":[],"mappings":"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"}
|