@aztec/stdlib 4.0.0-nightly.20260112 → 4.0.0-nightly.20260114
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/utils.d.ts +7 -1
- package/dest/abi/utils.d.ts.map +1 -1
- package/dest/abi/utils.js +7 -0
- package/dest/avm/avm.d.ts +300 -300
- 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/body.d.ts +1 -1
- package/dest/block/body.d.ts.map +1 -1
- package/dest/block/body.js +2 -1
- package/dest/block/checkpointed_l2_block.d.ts +1 -1
- package/dest/block/checkpointed_l2_block.d.ts.map +1 -1
- package/dest/block/checkpointed_l2_block.js +5 -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 +3 -3
- package/dest/block/l2_block_code_to_purge.d.ts +1 -1
- package/dest/block/l2_block_code_to_purge.d.ts.map +1 -1
- package/dest/block/l2_block_code_to_purge.js +1 -1
- package/dest/block/l2_block_header.d.ts +6 -2
- package/dest/block/l2_block_header.d.ts.map +1 -1
- package/dest/block/l2_block_header.js +14 -7
- 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 +247 -42
- 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 +18 -17
- package/dest/checkpoint/checkpoint.d.ts +2 -1
- package/dest/checkpoint/checkpoint.d.ts.map +1 -1
- package/dest/checkpoint/checkpoint.js +11 -1
- 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/checkpoint/published_checkpoint.d.ts +1 -1
- package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
- package/dest/checkpoint/published_checkpoint.js +4 -3
- package/dest/contract/index.d.ts +1 -3
- package/dest/contract/index.d.ts.map +1 -1
- package/dest/contract/index.js +0 -2
- package/dest/deserialization/index.d.ts +11 -0
- package/dest/deserialization/index.d.ts.map +1 -0
- package/dest/deserialization/index.js +10 -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 -9
- 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/block-builder.d.ts +2 -2
- package/dest/interfaces/block-builder.d.ts.map +1 -1
- 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/validator.d.ts +41 -15
- package/dest/interfaces/validator.d.ts.map +1 -1
- package/dest/interfaces/validator.js +3 -2
- 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/messaging/l2_to_l1_membership.d.ts +1 -1
- package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_membership.js +5 -3
- package/dest/messaging/out_hash.d.ts +41 -4
- package/dest/messaging/out_hash.d.ts.map +1 -1
- package/dest/messaging/out_hash.js +52 -26
- package/dest/note/note_dao.d.ts +8 -5
- package/dest/note/note_dao.d.ts.map +1 -1
- package/dest/note/note_dao.js +15 -12
- 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 +126 -38
- package/dest/p2p/checkpoint_attestation.d.ts +78 -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 +155 -0
- package/dest/p2p/checkpoint_proposal.d.ts.map +1 -0
- package/dest/p2p/checkpoint_proposal.js +222 -0
- package/dest/p2p/consensus_payload.d.ts +5 -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 +75 -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/block_headers_hash.js +1 -1
- package/dest/rollup/block_rollup_public_inputs.d.ts +2 -2
- package/dest/rollup/block_rollup_public_inputs.js +2 -2
- package/dest/rollup/checkpoint_header.d.ts +16 -2
- package/dest/rollup/checkpoint_header.d.ts.map +1 -1
- package/dest/rollup/checkpoint_header.js +25 -5
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +11 -6
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_rollup_public_inputs.js +10 -6
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +14 -3
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_root_rollup_private_inputs.js +13 -2
- package/dest/rollup/root_rollup_public_inputs.d.ts +5 -2
- package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/root_rollup_public_inputs.js +4 -1
- package/dest/tests/factories.d.ts +13 -1
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +53 -3
- 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/dest/tx/tx_effect.d.ts +1 -6
- package/dest/tx/tx_effect.d.ts.map +1 -1
- package/dest/tx/tx_effect.js +0 -7
- package/package.json +9 -8
- package/src/abi/utils.ts +17 -0
- package/src/block/attestation_info.ts +9 -6
- package/src/block/body.ts +2 -1
- package/src/block/checkpointed_l2_block.ts +5 -4
- package/src/block/l2_block.ts +4 -3
- package/src/block/l2_block_code_to_purge.ts +1 -0
- package/src/block/l2_block_header.ts +13 -0
- package/src/block/l2_block_new.ts +5 -1
- package/src/block/l2_block_source.ts +69 -17
- 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 +40 -35
- package/src/checkpoint/checkpoint.ts +12 -1
- package/src/checkpoint/checkpoint_info.ts +45 -2
- package/src/checkpoint/index.ts +1 -0
- package/src/checkpoint/published_checkpoint.ts +4 -3
- package/src/contract/index.ts +0 -2
- package/src/deserialization/index.ts +21 -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/block-builder.ts +1 -0
- package/src/interfaces/configs.ts +5 -0
- package/src/interfaces/p2p.ts +8 -12
- package/src/interfaces/validator.ts +57 -11
- package/src/kernel/hints/build_note_hash_read_request_hints.ts +5 -8
- package/src/messaging/l2_to_l1_membership.ts +5 -3
- package/src/messaging/out_hash.ts +60 -29
- package/src/note/note_dao.ts +18 -13
- package/src/p2p/attestation_utils.ts +3 -3
- package/src/p2p/block_proposal.ts +191 -42
- package/src/p2p/{block_attestation.ts → checkpoint_attestation.ts} +31 -25
- package/src/p2p/checkpoint_proposal.ts +342 -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 +88 -0
- package/src/p2p/topic_type.ts +3 -2
- package/src/rollup/block_headers_hash.ts +1 -1
- package/src/rollup/block_rollup_public_inputs.ts +2 -2
- package/src/rollup/checkpoint_header.ts +33 -0
- package/src/rollup/checkpoint_rollup_public_inputs.ts +12 -6
- package/src/rollup/checkpoint_root_rollup_private_inputs.ts +14 -1
- package/src/rollup/root_rollup_public_inputs.ts +4 -1
- package/src/tests/factories.ts +46 -2
- package/src/tests/mocks.ts +146 -50
- package/src/tx/private_execution_result.ts +0 -15
- package/src/tx/tx_effect.ts +0 -9
- package/dest/contract/contract_class_metadata.d.ts +0 -8
- package/dest/contract/contract_class_metadata.d.ts.map +0 -1
- package/dest/contract/contract_class_metadata.js +0 -1
- package/dest/contract/contract_metadata.d.ts +0 -7
- package/dest/contract/contract_metadata.d.ts.map +0 -1
- package/dest/contract/contract_metadata.js +0 -1
- package/dest/p2p/block_attestation.d.ts +0 -77
- package/dest/p2p/block_attestation.d.ts.map +0 -1
- package/src/contract/contract_class_metadata.ts +0 -8
- package/src/contract/contract_metadata.ts +0 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate_block_result.d.ts","sourceRoot":"","sources":["../../src/block/validate_block_result.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAqB,MAAM,iCAAiC,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAI9E,OAAO,
|
|
1
|
+
{"version":3,"file":"validate_block_result.d.ts","sourceRoot":"","sources":["../../src/block/validate_block_result.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAqB,MAAM,iCAAiC,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAI9E,OAAO,EACL,KAAK,cAAc,EAIpB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAE3E,wDAAwD;AACxD,MAAM,MAAM,gCAAgC,GACxC;IACE,KAAK,EAAE,KAAK,CAAC;IACb,8CAA8C;IAC9C,UAAU,EAAE,cAAc,CAAC;IAC3B,kEAAkE;IAClE,SAAS,EAAE,UAAU,EAAE,CAAC;IACxB,kDAAkD;IAClD,KAAK,EAAE,WAAW,CAAC;IACnB,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,SAAS,EAAE,UAAU,EAAE,CAAC;IACxB,2EAA2E;IAC3E,YAAY,EAAE,oBAAoB,EAAE,CAAC;IACrC,mFAAmF;IACnF,MAAM,EAAE,2BAA2B,CAAC;CACrC,GACD;IACE,KAAK,EAAE,KAAK,CAAC;IACb,8CAA8C;IAC9C,UAAU,EAAE,cAAc,CAAC;IAC3B,kEAAkE;IAClE,SAAS,EAAE,UAAU,EAAE,CAAC;IACxB,kDAAkD;IAClD,KAAK,EAAE,WAAW,CAAC;IACnB,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,SAAS,EAAE,UAAU,EAAE,CAAC;IACxB,2EAA2E;IAC3E,YAAY,EAAE,oBAAoB,EAAE,CAAC;IACrC,iFAAiF;IACjF,MAAM,EAAE,qBAAqB,CAAC;IAC9B,wEAAwE;IACxE,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEN,yDAAyD;AACzD,MAAM,MAAM,wBAAwB,GAAG;IAAE,KAAK,EAAE,IAAI,CAAA;CAAE,GAAG,gCAAgC,CAAC;AAE1F,eAAO,MAAM,8BAA8B,EAAE,MAAM,CAAC,wBAAwB,CAuB1E,CAAC;AAEH,wBAAgB,iCAAiC,CAAC,MAAM,EAAE,wBAAwB,GAAG,MAAM,CAqB1F;AAED,wBAAgB,mCAAmC,CAAC,cAAc,EAAE,MAAM,GAAG,YAAY,GAAG,wBAAwB,CAsBnH"}
|
|
@@ -3,15 +3,16 @@ import { EthAddress } from '@aztec/foundation/eth-address';
|
|
|
3
3
|
import { schemas } from '@aztec/foundation/schemas';
|
|
4
4
|
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
5
5
|
import { z } from 'zod';
|
|
6
|
-
import {
|
|
6
|
+
import { CheckpointInfoSchema, deserializeCheckpointInfo, serializeCheckpointInfo } from '../checkpoint/checkpoint_info.js';
|
|
7
|
+
import { MAX_COMMITTEE_SIZE } from '../deserialization/index.js';
|
|
7
8
|
import { CommitteeAttestation } from './proposal/committee_attestation.js';
|
|
8
|
-
export const
|
|
9
|
+
export const ValidateCheckpointResultSchema = z.union([
|
|
9
10
|
z.object({
|
|
10
11
|
valid: z.literal(true)
|
|
11
12
|
}),
|
|
12
13
|
z.object({
|
|
13
14
|
valid: z.literal(false),
|
|
14
|
-
|
|
15
|
+
checkpoint: CheckpointInfoSchema,
|
|
15
16
|
committee: z.array(schemas.EthAddress),
|
|
16
17
|
epoch: EpochNumberSchema,
|
|
17
18
|
seed: schemas.BigInt,
|
|
@@ -21,7 +22,7 @@ export const ValidateBlockResultSchema = z.union([
|
|
|
21
22
|
}),
|
|
22
23
|
z.object({
|
|
23
24
|
valid: z.literal(false),
|
|
24
|
-
|
|
25
|
+
checkpoint: CheckpointInfoSchema,
|
|
25
26
|
committee: z.array(schemas.EthAddress),
|
|
26
27
|
epoch: EpochNumberSchema,
|
|
27
28
|
seed: schemas.BigInt,
|
|
@@ -31,14 +32,14 @@ export const ValidateBlockResultSchema = z.union([
|
|
|
31
32
|
invalidIndex: z.number()
|
|
32
33
|
})
|
|
33
34
|
]);
|
|
34
|
-
export function
|
|
35
|
+
export function serializeValidateCheckpointResult(result) {
|
|
35
36
|
if (result.valid) {
|
|
36
37
|
return serializeToBuffer(true);
|
|
37
38
|
}
|
|
38
|
-
const
|
|
39
|
-
return serializeToBuffer(result.valid, result.reason,
|
|
39
|
+
const checkpointBuffer = serializeCheckpointInfo(result.checkpoint);
|
|
40
|
+
return serializeToBuffer(result.valid, result.reason, checkpointBuffer.length, checkpointBuffer, result.committee.length, result.committee, result.epoch, result.seed ?? 0n, result.attestors.length, result.attestors, result.attestations.length, result.attestations, result.reason === 'invalid-attestation' ? result.invalidIndex : 0);
|
|
40
41
|
}
|
|
41
|
-
export function
|
|
42
|
+
export function deserializeValidateCheckpointResult(bufferOrReader) {
|
|
42
43
|
const reader = BufferReader.asReader(bufferOrReader);
|
|
43
44
|
const valid = reader.readBoolean();
|
|
44
45
|
if (valid) {
|
|
@@ -46,36 +47,36 @@ export function deserializeValidateBlockResult(bufferOrReader) {
|
|
|
46
47
|
valid
|
|
47
48
|
};
|
|
48
49
|
}
|
|
49
|
-
const reason = reader.readString();
|
|
50
|
-
const
|
|
51
|
-
const committee = reader.readVector(EthAddress);
|
|
50
|
+
const reason = reader.readString(64);
|
|
51
|
+
const checkpoint = deserializeCheckpointInfo(reader.readBuffer());
|
|
52
|
+
const committee = reader.readVector(EthAddress, MAX_COMMITTEE_SIZE);
|
|
52
53
|
const epoch = EpochNumber(reader.readNumber());
|
|
53
54
|
const seed = reader.readBigInt();
|
|
54
|
-
const attestors = reader.readVector(EthAddress);
|
|
55
|
-
const attestations = reader.readVector(CommitteeAttestation);
|
|
55
|
+
const attestors = reader.readVector(EthAddress, MAX_COMMITTEE_SIZE);
|
|
56
|
+
const attestations = reader.readVector(CommitteeAttestation, MAX_COMMITTEE_SIZE);
|
|
56
57
|
const invalidIndex = reader.readNumber();
|
|
57
58
|
if (reason === 'insufficient-attestations') {
|
|
58
59
|
return {
|
|
59
60
|
valid,
|
|
60
61
|
reason,
|
|
61
|
-
|
|
62
|
+
checkpoint,
|
|
62
63
|
committee,
|
|
63
64
|
epoch,
|
|
64
65
|
seed,
|
|
65
66
|
attestors,
|
|
66
|
-
attestations
|
|
67
|
+
attestations
|
|
67
68
|
};
|
|
68
69
|
} else if (reason === 'invalid-attestation') {
|
|
69
70
|
return {
|
|
70
71
|
valid,
|
|
71
72
|
reason,
|
|
72
|
-
|
|
73
|
+
checkpoint,
|
|
73
74
|
committee,
|
|
74
75
|
epoch,
|
|
75
76
|
seed,
|
|
76
77
|
attestors,
|
|
77
78
|
invalidIndex,
|
|
78
|
-
attestations
|
|
79
|
+
attestations
|
|
79
80
|
};
|
|
80
81
|
} else {
|
|
81
82
|
const _ = reason;
|
|
@@ -130,6 +130,7 @@ export declare class Checkpoint {
|
|
|
130
130
|
toBuffer(): Buffer<ArrayBufferLike>;
|
|
131
131
|
toBlobFields(): Fr[];
|
|
132
132
|
hash(): Fr;
|
|
133
|
+
getCheckpointOutHash(): Fr;
|
|
133
134
|
getState(): import("../tx/state_reference.js").StateReference;
|
|
134
135
|
toCheckpointInfo(): CheckpointInfo;
|
|
135
136
|
/** Returns stats used for logging */
|
|
@@ -150,4 +151,4 @@ export declare class Checkpoint {
|
|
|
150
151
|
previousArchive?: AppendOnlyTreeSnapshot;
|
|
151
152
|
} & Partial<Parameters<typeof CheckpointHeader.random>[0]> & Partial<Parameters<typeof L2BlockNew.random>[1]>): Promise<Checkpoint>;
|
|
152
153
|
}
|
|
153
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
154
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NoZWNrcG9pbnQvY2hlY2twb2ludC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQWUsZ0JBQWdCLEVBQTBCLE1BQU0saUNBQWlDLENBQUM7QUFFeEcsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFDOUUsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFeEQsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHdEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDL0UsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFM0QscUJBQWEsVUFBVTtJQUdaLE9BQU8sRUFBRSxzQkFBc0I7SUFFL0IsTUFBTSxFQUFFLGdCQUFnQjtJQUV4QixNQUFNLEVBQUUsVUFBVSxFQUFFO0lBRXBCLE1BQU0sRUFBRSxnQkFBZ0I7SUFSakM7SUFDRSw4REFBOEQ7SUFDdkQsT0FBTyxFQUFFLHNCQUFzQjtJQUN0QyxnQ0FBZ0M7SUFDekIsTUFBTSxFQUFFLGdCQUFnQjtJQUMvQixtQ0FBbUM7SUFDNUIsTUFBTSxFQUFFLFVBQVUsRUFBRTtJQUMzQixnQ0FBZ0M7SUFDekIsTUFBTSxFQUFFLGdCQUFnQixFQUM3QjtJQUVKLE1BQU0sS0FBSyxNQUFNOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FTaEI7SUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsVUFBVSxDQUFDLGNBRXZDO0lBRUQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyx1RkFFNUM7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxNQUFNLEdBQUcsWUFBWSxjQVEzQztJQUVNLFFBQVEsNEJBRWQ7SUFFTSxZQUFZLElBQUksRUFBRSxFQUFFLENBRzFCO0lBRU0sSUFBSSxJQUFJLEVBQUUsQ0FFaEI7SUFLTSxvQkFBb0IsSUFBSSxFQUFFLENBR2hDO0lBRU0sUUFBUSxzREFFZDtJQUVNLGdCQUFnQixJQUFJLGNBQWMsQ0FReEM7SUFFRCxxQ0FBcUM7SUFDOUIsUUFBUTs7Ozs7Ozs7OztNQWtCZDtJQUVELE9BQWEsTUFBTSxDQUNqQixnQkFBZ0IsbUJBQXNCLEVBQ3RDLEVBQ0UsU0FBYSxFQUNiLGdCQUFvQixFQUNwQixlQUFlLEVBQ2YsR0FBRyxPQUFPLEVBQ1gsR0FBRTtRQUNELFNBQVMsQ0FBQyxFQUFFLE1BQU0sQ0FBQztRQUNuQixnQkFBZ0IsQ0FBQyxFQUFFLE1BQU0sQ0FBQztRQUMxQixlQUFlLENBQUMsRUFBRSxzQkFBc0IsQ0FBQztLQUMxQyxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUN4RCxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFNLHVCQW1CeEQ7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkpoint.d.ts","sourceRoot":"","sources":["../../src/checkpoint/checkpoint.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,gBAAgB,EAA0B,MAAM,iCAAiC,CAAC;AAExG,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAC9E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"checkpoint.d.ts","sourceRoot":"","sources":["../../src/checkpoint/checkpoint.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,gBAAgB,EAA0B,MAAM,iCAAiC,CAAC;AAExG,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAC9E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAGtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,qBAAa,UAAU;IAGZ,OAAO,EAAE,sBAAsB;IAE/B,MAAM,EAAE,gBAAgB;IAExB,MAAM,EAAE,UAAU,EAAE;IAEpB,MAAM,EAAE,gBAAgB;IARjC;IACE,8DAA8D;IACvD,OAAO,EAAE,sBAAsB;IACtC,gCAAgC;IACzB,MAAM,EAAE,gBAAgB;IAC/B,mCAAmC;IAC5B,MAAM,EAAE,UAAU,EAAE;IAC3B,gCAAgC;IACzB,MAAM,EAAE,gBAAgB,EAC7B;IAEJ,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAShB;IAED,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,cAEvC;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,uFAE5C;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,cAQ3C;IAEM,QAAQ,4BAEd;IAEM,YAAY,IAAI,EAAE,EAAE,CAG1B;IAEM,IAAI,IAAI,EAAE,CAEhB;IAKM,oBAAoB,IAAI,EAAE,CAGhC;IAEM,QAAQ,sDAEd;IAEM,gBAAgB,IAAI,cAAc,CAQxC;IAED,qCAAqC;IAC9B,QAAQ;;;;;;;;;;MAkBd;IAED,OAAa,MAAM,CACjB,gBAAgB,mBAAsB,EACtC,EACE,SAAa,EACb,gBAAoB,EACpB,eAAe,EACf,GAAG,OAAO,EACX,GAAE;QACD,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,eAAe,CAAC,EAAE,sBAAsB,CAAC;KAC1C,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GACxD,OAAO,CAAC,UAAU,CAAC,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAM,uBAmBxD;CACF"}
|
|
@@ -4,6 +4,8 @@ import { sum } from '@aztec/foundation/collection';
|
|
|
4
4
|
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
5
5
|
import { z } from 'zod';
|
|
6
6
|
import { L2BlockNew } from '../block/l2_block_new.js';
|
|
7
|
+
import { MAX_BLOCKS_PER_CHECKPOINT } from '../deserialization/index.js';
|
|
8
|
+
import { computeCheckpointOutHash } from '../messaging/out_hash.js';
|
|
7
9
|
import { CheckpointHeader } from '../rollup/checkpoint_header.js';
|
|
8
10
|
import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
|
|
9
11
|
export class Checkpoint {
|
|
@@ -38,7 +40,7 @@ export class Checkpoint {
|
|
|
38
40
|
}
|
|
39
41
|
static fromBuffer(buf) {
|
|
40
42
|
const reader = BufferReader.asReader(buf);
|
|
41
|
-
return new Checkpoint(reader.readObject(AppendOnlyTreeSnapshot), reader.readObject(CheckpointHeader), reader.readVector(L2BlockNew), CheckpointNumber(reader.readNumber()));
|
|
43
|
+
return new Checkpoint(reader.readObject(AppendOnlyTreeSnapshot), reader.readObject(CheckpointHeader), reader.readVector(L2BlockNew, MAX_BLOCKS_PER_CHECKPOINT), CheckpointNumber(reader.readNumber()));
|
|
42
44
|
}
|
|
43
45
|
toBuffer() {
|
|
44
46
|
return serializeToBuffer(this.archive, this.header, this.blocks.length, this.blocks, this.number);
|
|
@@ -50,12 +52,20 @@ export class Checkpoint {
|
|
|
50
52
|
hash() {
|
|
51
53
|
return this.header.hash();
|
|
52
54
|
}
|
|
55
|
+
// Returns the out hash computed from all l2-to-l1 messages in this checkpoint.
|
|
56
|
+
// Note: This value is different from the out hash in the header, which is the **accumulated** out hash over all
|
|
57
|
+
// checkpoints up to and including this one in the epoch.
|
|
58
|
+
getCheckpointOutHash() {
|
|
59
|
+
const msgs = this.blocks.map((block)=>block.body.txEffects.map((txEffect)=>txEffect.l2ToL1Msgs));
|
|
60
|
+
return computeCheckpointOutHash(msgs);
|
|
61
|
+
}
|
|
53
62
|
getState() {
|
|
54
63
|
return this.blocks.at(-1).header.state;
|
|
55
64
|
}
|
|
56
65
|
toCheckpointInfo() {
|
|
57
66
|
return {
|
|
58
67
|
archive: this.archive.root,
|
|
68
|
+
lastArchive: this.header.lastArchiveRoot,
|
|
59
69
|
slotNumber: this.header.slotNumber,
|
|
60
70
|
checkpointNumber: this.number,
|
|
61
71
|
timestamp: this.header.timestamp
|
|
@@ -1,9 +1,38 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import { CheckpointNumber, SlotNumber } from '@aztec/foundation/branded-types';
|
|
2
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
|
+
import { BufferReader } from '@aztec/foundation/serialize';
|
|
4
|
+
import { z } from 'zod';
|
|
3
5
|
export type CheckpointInfo = {
|
|
4
6
|
archive: Fr;
|
|
7
|
+
lastArchive: Fr;
|
|
5
8
|
slotNumber: SlotNumber;
|
|
6
9
|
checkpointNumber: CheckpointNumber;
|
|
7
10
|
timestamp: bigint;
|
|
8
11
|
};
|
|
9
|
-
|
|
12
|
+
export declare function randomCheckpointInfo(checkpointNumber?: CheckpointNumber | number): CheckpointInfo;
|
|
13
|
+
export declare const CheckpointInfoSchema: z.ZodObject<{
|
|
14
|
+
archive: z.ZodType<Fr, any, string>;
|
|
15
|
+
lastArchive: z.ZodType<Fr, any, string>;
|
|
16
|
+
slotNumber: z.ZodEffects<z.ZodPipeline<z.ZodUnion<[z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodNumber>, SlotNumber, string | number | bigint>;
|
|
17
|
+
checkpointNumber: z.ZodEffects<z.ZodPipeline<z.ZodUnion<[z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodNumber>, CheckpointNumber, string | number | bigint>;
|
|
18
|
+
timestamp: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
|
|
19
|
+
}, "strip", z.ZodTypeAny, {
|
|
20
|
+
archive: Fr;
|
|
21
|
+
lastArchive: Fr;
|
|
22
|
+
slotNumber: number & {
|
|
23
|
+
_branding: "SlotNumber";
|
|
24
|
+
};
|
|
25
|
+
checkpointNumber: number & {
|
|
26
|
+
_branding: "CheckpointNumber";
|
|
27
|
+
};
|
|
28
|
+
timestamp: bigint;
|
|
29
|
+
}, {
|
|
30
|
+
archive: string;
|
|
31
|
+
lastArchive: string;
|
|
32
|
+
slotNumber: string | number | bigint;
|
|
33
|
+
checkpointNumber: string | number | bigint;
|
|
34
|
+
timestamp: string | number | bigint;
|
|
35
|
+
}>;
|
|
36
|
+
export declare function serializeCheckpointInfo(info: CheckpointInfo): Buffer;
|
|
37
|
+
export declare function deserializeCheckpointInfo(buffer: Buffer | BufferReader): CheckpointInfo;
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludF9pbmZvLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2hlY2twb2ludC9jaGVja3BvaW50X2luZm8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGdCQUFnQixFQUVoQixVQUFVLEVBRVgsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFcEQsT0FBTyxFQUFFLFlBQVksRUFBcUIsTUFBTSw2QkFBNkIsQ0FBQztBQUU5RSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLE1BQU0sTUFBTSxjQUFjLEdBQUc7SUFDM0IsT0FBTyxFQUFFLEVBQUUsQ0FBQztJQUNaLFdBQVcsRUFBRSxFQUFFLENBQUM7SUFDaEIsVUFBVSxFQUFFLFVBQVUsQ0FBQztJQUN2QixnQkFBZ0IsRUFBRSxnQkFBZ0IsQ0FBQztJQUNuQyxTQUFTLEVBQUUsTUFBTSxDQUFDO0NBQ25CLENBQUM7QUFFRix3QkFBZ0Isb0JBQW9CLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxnQkFBZ0IsR0FBRyxNQUFNLEdBQUcsY0FBYyxDQVFqRztBQUVELGVBQU8sTUFBTSxvQkFBb0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFNL0IsQ0FBQztBQUVILHdCQUFnQix1QkFBdUIsQ0FBQyxJQUFJLEVBQUUsY0FBYyxHQUFHLE1BQU0sQ0FFcEU7QUFFRCx3QkFBZ0IseUJBQXlCLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxZQUFZLEdBQUcsY0FBYyxDQVN2RiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkpoint_info.d.ts","sourceRoot":"","sources":["../../src/checkpoint/checkpoint_info.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"checkpoint_info.d.ts","sourceRoot":"","sources":["../../src/checkpoint/checkpoint_info.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAEhB,UAAU,EAEX,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,EAAE,CAAC;IACZ,WAAW,EAAE,EAAE,CAAC;IAChB,UAAU,EAAE,UAAU,CAAC;IACvB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,MAAM,GAAG,cAAc,CAQjG;AAED,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;EAM/B,CAAC;AAEH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,CAEpE;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,cAAc,CASvF"}
|
|
@@ -1 +1,34 @@
|
|
|
1
|
-
|
|
1
|
+
import { CheckpointNumber, CheckpointNumberSchema, SlotNumber, SlotNumberSchema } from '@aztec/foundation/branded-types';
|
|
2
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
|
+
import { schemas } from '@aztec/foundation/schemas';
|
|
4
|
+
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
5
|
+
import { z } from 'zod';
|
|
6
|
+
export function randomCheckpointInfo(checkpointNumber) {
|
|
7
|
+
return {
|
|
8
|
+
archive: Fr.random(),
|
|
9
|
+
lastArchive: Fr.random(),
|
|
10
|
+
slotNumber: SlotNumber(Math.floor(Math.random() * 100000) + 1),
|
|
11
|
+
checkpointNumber: CheckpointNumber(checkpointNumber ?? Math.floor(Math.random() * 100000) + 1),
|
|
12
|
+
timestamp: BigInt(Math.floor(Date.now() / 1000))
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
export const CheckpointInfoSchema = z.object({
|
|
16
|
+
archive: schemas.Fr,
|
|
17
|
+
lastArchive: schemas.Fr,
|
|
18
|
+
slotNumber: SlotNumberSchema,
|
|
19
|
+
checkpointNumber: CheckpointNumberSchema,
|
|
20
|
+
timestamp: schemas.BigInt
|
|
21
|
+
});
|
|
22
|
+
export function serializeCheckpointInfo(info) {
|
|
23
|
+
return serializeToBuffer(info.archive, info.lastArchive, info.slotNumber, info.checkpointNumber, info.timestamp);
|
|
24
|
+
}
|
|
25
|
+
export function deserializeCheckpointInfo(buffer) {
|
|
26
|
+
const reader = BufferReader.asReader(buffer);
|
|
27
|
+
return {
|
|
28
|
+
archive: reader.readObject(Fr),
|
|
29
|
+
lastArchive: reader.readObject(Fr),
|
|
30
|
+
slotNumber: SlotNumber(reader.readNumber()),
|
|
31
|
+
checkpointNumber: CheckpointNumber(reader.readNumber()),
|
|
32
|
+
timestamp: reader.readBigInt()
|
|
33
|
+
};
|
|
34
|
+
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export * from './checkpoint.js';
|
|
2
|
+
export * from './checkpoint_info.js';
|
|
2
3
|
export * from './published_checkpoint.js';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jaGVja3BvaW50L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLDJCQUEyQixDQUFDIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/checkpoint/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/checkpoint/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC"}
|
package/dest/checkpoint/index.js
CHANGED
|
@@ -235,4 +235,4 @@ export declare class PublishedCheckpoint {
|
|
|
235
235
|
static fromBuffer(bufferOrReader: Buffer | BufferReader): PublishedCheckpoint;
|
|
236
236
|
toBuffer(): Buffer;
|
|
237
237
|
}
|
|
238
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
238
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGlzaGVkX2NoZWNrcG9pbnQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jaGVja3BvaW50L3B1Ymxpc2hlZF9jaGVja3BvaW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxZQUFZLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFDOUUsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFeEQsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUVsRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFN0MscUJBQWEsZUFBZTtJQUVqQixXQUFXLEVBQUUsTUFBTTtJQUNuQixTQUFTLEVBQUUsTUFBTTtJQUNqQixTQUFTLEVBQUUsTUFBTTtJQUgxQixZQUNTLFdBQVcsRUFBRSxNQUFNLEVBQ25CLFNBQVMsRUFBRSxNQUFNLEVBQ2pCLFNBQVMsRUFBRSxNQUFNLEVBQ3RCO0lBRUosTUFBTSxLQUFLLE1BQU07Ozs7Ozs7Ozs7Ozs7Ozs7T0FRaEI7SUFFRCxNQUFNLENBQUMsTUFBTSxvQkFNWjtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxlQUFlLENBQUMsbUJBRWxEO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxjQUFjLEVBQUUsTUFBTSxHQUFHLFlBQVksR0FBRyxlQUFlLENBTXhFO0lBRU0sUUFBUSxJQUFJLE1BQU0sQ0FFeEI7Q0FDRjtBQUVELHFCQUFhLG1CQUFtQjtJQUVyQixVQUFVLEVBQUUsVUFBVTtJQUN0QixFQUFFLEVBQUUsZUFBZTtJQUVuQixZQUFZLEVBQUUsb0JBQW9CLEVBQUU7SUFKN0MsWUFDUyxVQUFVLEVBQUUsVUFBVSxFQUN0QixFQUFFLEVBQUUsZUFBZSxFQUVuQixZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFDekM7SUFFSixNQUFNLEtBQUssTUFBTTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FRaEI7SUFFRCxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsbUJBQW1CLENBQUMsa0VBRXJEO0lBRUQsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLG1CQUFtQixDQUFDLHVCQUVoRDtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUFFLE1BQU0sR0FBRyxZQUFZLEdBQUcsbUJBQW1CLENBWTVFO0lBRU0sUUFBUSxJQUFJLE1BQU0sQ0FTeEI7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"published_checkpoint.d.ts","sourceRoot":"","sources":["../../src/checkpoint/published_checkpoint.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAC9E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;
|
|
1
|
+
{"version":3,"file":"published_checkpoint.d.ts","sourceRoot":"","sources":["../../src/checkpoint/published_checkpoint.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAC9E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAElF,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,qBAAa,eAAe;IAEjB,WAAW,EAAE,MAAM;IACnB,SAAS,EAAE,MAAM;IACjB,SAAS,EAAE,MAAM;IAH1B,YACS,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACtB;IAEJ,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;OAQhB;IAED,MAAM,CAAC,MAAM,oBAMZ;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC,mBAElD;IAED,MAAM,CAAC,UAAU,CAAC,cAAc,EAAE,MAAM,GAAG,YAAY,GAAG,eAAe,CAMxE;IAEM,QAAQ,IAAI,MAAM,CAExB;CACF;AAED,qBAAa,mBAAmB;IAErB,UAAU,EAAE,UAAU;IACtB,EAAE,EAAE,eAAe;IAEnB,YAAY,EAAE,oBAAoB,EAAE;IAJ7C,YACS,UAAU,EAAE,UAAU,EACtB,EAAE,EAAE,eAAe,EAEnB,YAAY,EAAE,oBAAoB,EAAE,EACzC;IAEJ,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAQhB;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,mBAAmB,CAAC,kEAErD;IAED,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,mBAAmB,CAAC,uBAEhD;IAED,MAAM,CAAC,UAAU,CAAC,cAAc,EAAE,MAAM,GAAG,YAAY,GAAG,mBAAmB,CAY5E;IAEM,QAAQ,IAAI,MAAM,CASxB;CACF"}
|
|
@@ -5,6 +5,7 @@ import { schemas } from '@aztec/foundation/schemas';
|
|
|
5
5
|
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
6
6
|
import { z } from 'zod';
|
|
7
7
|
import { CommitteeAttestation } from '../block/proposal/committee_attestation.js';
|
|
8
|
+
import { MAX_BLOCK_HASH_STRING_LENGTH, MAX_COMMITTEE_SIZE } from '../deserialization/index.js';
|
|
8
9
|
import { Checkpoint } from './checkpoint.js';
|
|
9
10
|
export class L1PublishedData {
|
|
10
11
|
blockNumber;
|
|
@@ -31,7 +32,7 @@ export class L1PublishedData {
|
|
|
31
32
|
static fromBuffer(bufferOrReader) {
|
|
32
33
|
const reader = BufferReader.asReader(bufferOrReader);
|
|
33
34
|
const l1BlockNumber = reader.readBigInt();
|
|
34
|
-
const l1BlockHash = reader.readString();
|
|
35
|
+
const l1BlockHash = reader.readString(MAX_BLOCK_HASH_STRING_LENGTH);
|
|
35
36
|
const l1Timestamp = reader.readBigInt();
|
|
36
37
|
return new L1PublishedData(l1BlockNumber, l1Timestamp, l1BlockHash);
|
|
37
38
|
}
|
|
@@ -70,9 +71,9 @@ export class PublishedCheckpoint {
|
|
|
70
71
|
const reader = BufferReader.asReader(bufferOrReader);
|
|
71
72
|
const checkpoint = reader.readObject(Checkpoint);
|
|
72
73
|
const l1BlockNumber = reader.readBigInt();
|
|
73
|
-
const l1BlockHash = reader.readString();
|
|
74
|
+
const l1BlockHash = reader.readString(MAX_BLOCK_HASH_STRING_LENGTH);
|
|
74
75
|
const l1Timestamp = reader.readBigInt();
|
|
75
|
-
const attestations = reader.readVector(CommitteeAttestation);
|
|
76
|
+
const attestations = reader.readVector(CommitteeAttestation, MAX_COMMITTEE_SIZE);
|
|
76
77
|
return new PublishedCheckpoint(checkpoint, new L1PublishedData(l1BlockNumber, l1Timestamp, l1BlockHash), attestations);
|
|
77
78
|
}
|
|
78
79
|
toBuffer() {
|
package/dest/contract/index.d.ts
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
export * from './artifact_hash.js';
|
|
2
2
|
export * from './contract_address.js';
|
|
3
3
|
export * from './contract_class.js';
|
|
4
|
-
export * from './contract_class_metadata.js';
|
|
5
4
|
export * from './contract_class_id.js';
|
|
6
5
|
export * from './contract_deployment_data.js';
|
|
7
6
|
export * from './contract_instance.js';
|
|
8
|
-
export * from './contract_metadata.js';
|
|
9
7
|
export * from './contract_instance_update.js';
|
|
10
8
|
export * from './private_function.js';
|
|
11
9
|
export * from './private_function_membership_proof.js';
|
|
@@ -15,4 +13,4 @@ export * from './contract_function_dao.js';
|
|
|
15
13
|
export * from './partial_address.js';
|
|
16
14
|
export * from './deployment_info.js';
|
|
17
15
|
export * from './complete_address.js';
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyx1QkFBdUIsQ0FBQyJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contract/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contract/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,wCAAwC,CAAC;AACvD,cAAc,wCAAwC,CAAC;AACvD,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC"}
|
package/dest/contract/index.js
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
export * from './artifact_hash.js';
|
|
2
2
|
export * from './contract_address.js';
|
|
3
3
|
export * from './contract_class.js';
|
|
4
|
-
export * from './contract_class_metadata.js';
|
|
5
4
|
export * from './contract_class_id.js';
|
|
6
5
|
export * from './contract_deployment_data.js';
|
|
7
6
|
export * from './contract_instance.js';
|
|
8
|
-
export * from './contract_metadata.js';
|
|
9
7
|
export * from './contract_instance_update.js';
|
|
10
8
|
export * from './private_function.js';
|
|
11
9
|
export * from './private_function_membership_proof.js';
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** Max transactions per block for deserialization validation */
|
|
2
|
+
export declare const MAX_TXS_PER_BLOCK: number;
|
|
3
|
+
/** Max committee size - theoretical max from bitmap design (256 bytes × 8 bits) */
|
|
4
|
+
export declare const MAX_COMMITTEE_SIZE = 2048;
|
|
5
|
+
/** Max blocks per checkpoint */
|
|
6
|
+
export declare const MAX_BLOCKS_PER_CHECKPOINT = 72;
|
|
7
|
+
/** Max tx effects per body (based on blob capacity per checkpoint) */
|
|
8
|
+
export declare const MAX_TX_EFFECTS_PER_BODY: number;
|
|
9
|
+
/** Max block hash string length (hex: 0x + 64 chars, with generous headroom) */
|
|
10
|
+
export declare const MAX_BLOCK_HASH_STRING_LENGTH = 128;
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kZXNlcmlhbGl6YXRpb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsZ0VBQWdFO0FBQ2hFLGVBQU8sTUFBTSxpQkFBaUIsUUFBVSxDQUFDO0FBRXpDLG9GQUFtRjtBQUNuRixlQUFPLE1BQU0sa0JBQWtCLE9BQU8sQ0FBQztBQUV2QyxnQ0FBZ0M7QUFDaEMsZUFBTyxNQUFNLHlCQUF5QixLQUFLLENBQUM7QUFFNUMsc0VBQXNFO0FBQ3RFLGVBQU8sTUFBTSx1QkFBdUIsUUFBeUMsQ0FBQztBQUU5RSxnRkFBZ0Y7QUFDaEYsZUFBTyxNQUFNLDRCQUE0QixNQUFNLENBQUMifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/deserialization/index.ts"],"names":[],"mappings":"AAOA,gEAAgE;AAChE,eAAO,MAAM,iBAAiB,QAAU,CAAC;AAEzC,oFAAmF;AACnF,eAAO,MAAM,kBAAkB,OAAO,CAAC;AAEvC,gCAAgC;AAChC,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAE5C,sEAAsE;AACtE,eAAO,MAAM,uBAAuB,QAAyC,CAAC;AAE9E,gFAAgF;AAChF,eAAO,MAAM,4BAA4B,MAAM,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Constants for deserialization bounds checking.
|
|
3
|
+
* These constants define maximum allowed sizes during deserialization
|
|
4
|
+
* to prevent DoS attacks via maliciously crafted messages.
|
|
5
|
+
*/ import { BLOBS_PER_CHECKPOINT, FIELDS_PER_BLOB } from '@aztec/constants';
|
|
6
|
+
/** Max transactions per block for deserialization validation */ export const MAX_TXS_PER_BLOCK = 2 ** 16;
|
|
7
|
+
/** Max committee size - theoretical max from bitmap design (256 bytes × 8 bits) */ export const MAX_COMMITTEE_SIZE = 2048;
|
|
8
|
+
/** Max blocks per checkpoint */ export const MAX_BLOCKS_PER_CHECKPOINT = 72;
|
|
9
|
+
/** Max tx effects per body (based on blob capacity per checkpoint) */ export const MAX_TX_EFFECTS_PER_BODY = BLOBS_PER_CHECKPOINT * FIELDS_PER_BLOB;
|
|
10
|
+
/** Max block hash string length (hex: 0x + 64 chars, with generous headroom) */ export const MAX_BLOCK_HASH_STRING_LENGTH = 128;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export declare const MAX_RPC_LEN = 100;
|
|
2
2
|
export declare const MAX_RPC_TXS_LEN = 50;
|
|
3
3
|
export declare const MAX_RPC_BLOCKS_LEN = 50;
|
|
4
|
-
|
|
4
|
+
export declare const MAX_RPC_CHECKPOINTS_LEN = 50;
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpX2xpbWl0LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW50ZXJmYWNlcy9hcGlfbGltaXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZUFBTyxNQUFNLFdBQVcsTUFBTSxDQUFDO0FBQy9CLGVBQU8sTUFBTSxlQUFlLEtBQUssQ0FBQztBQUNsQyxlQUFPLE1BQU0sa0JBQWtCLEtBQUssQ0FBQztBQUNyQyxlQUFPLE1BQU0sdUJBQXVCLEtBQUssQ0FBQyJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api_limit.d.ts","sourceRoot":"","sources":["../../src/interfaces/api_limit.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,MAAM,CAAC;AAC/B,eAAO,MAAM,eAAe,KAAK,CAAC;AAClC,eAAO,MAAM,kBAAkB,KAAK,CAAC"}
|
|
1
|
+
{"version":3,"file":"api_limit.d.ts","sourceRoot":"","sources":["../../src/interfaces/api_limit.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,MAAM,CAAC;AAC/B,eAAO,MAAM,eAAe,KAAK,CAAC;AAClC,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,uBAAuB,KAAK,CAAC"}
|
|
@@ -21,12 +21,12 @@ export type ArchiverSpecificConfig = {
|
|
|
21
21
|
maxLogs?: number;
|
|
22
22
|
/** The maximum possible size of the archiver DB in KB. Overwrites the general dataStoreMapSizeKb. */
|
|
23
23
|
archiverStoreMapSizeKb?: number;
|
|
24
|
-
/** Whether to skip validating block attestations (use only for testing). */
|
|
25
|
-
skipValidateBlockAttestations?: boolean;
|
|
26
24
|
/** Maximum allowed drift in seconds between the Ethereum client and current time. */
|
|
27
25
|
maxAllowedEthClientDriftSeconds?: number;
|
|
28
26
|
/** Whether to allow starting the archiver without debug/trace method support on Ethereum hosts */
|
|
29
27
|
ethereumAllowNoDebugHosts?: boolean;
|
|
28
|
+
/** Skip validating checkpoint attestations (for testing purposes only) */
|
|
29
|
+
skipValidateCheckpointAttestations?: boolean;
|
|
30
30
|
};
|
|
31
31
|
export declare const ArchiverSpecificConfigSchema: z.ZodObject<{
|
|
32
32
|
archiverPollingIntervalMS: z.ZodOptional<z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>>;
|
|
@@ -34,28 +34,28 @@ export declare const ArchiverSpecificConfigSchema: z.ZodObject<{
|
|
|
34
34
|
viemPollingIntervalMS: z.ZodOptional<z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>>;
|
|
35
35
|
maxLogs: z.ZodOptional<z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>>;
|
|
36
36
|
archiverStoreMapSizeKb: z.ZodOptional<z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>>;
|
|
37
|
-
skipValidateBlockAttestations: z.ZodOptional<z.ZodBoolean>;
|
|
38
37
|
maxAllowedEthClientDriftSeconds: z.ZodOptional<z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>>;
|
|
39
38
|
ethereumAllowNoDebugHosts: z.ZodOptional<z.ZodBoolean>;
|
|
39
|
+
skipValidateCheckpointAttestations: z.ZodOptional<z.ZodBoolean>;
|
|
40
40
|
}, "strip", z.ZodTypeAny, {
|
|
41
41
|
archiverPollingIntervalMS?: number | undefined;
|
|
42
42
|
archiverBatchSize?: number | undefined;
|
|
43
43
|
viemPollingIntervalMS?: number | undefined;
|
|
44
44
|
maxLogs?: number | undefined;
|
|
45
45
|
archiverStoreMapSizeKb?: number | undefined;
|
|
46
|
-
skipValidateBlockAttestations?: boolean | undefined;
|
|
47
46
|
maxAllowedEthClientDriftSeconds?: number | undefined;
|
|
48
47
|
ethereumAllowNoDebugHosts?: boolean | undefined;
|
|
48
|
+
skipValidateCheckpointAttestations?: boolean | undefined;
|
|
49
49
|
}, {
|
|
50
50
|
archiverPollingIntervalMS?: string | number | bigint | undefined;
|
|
51
51
|
archiverBatchSize?: string | number | bigint | undefined;
|
|
52
52
|
viemPollingIntervalMS?: string | number | bigint | undefined;
|
|
53
53
|
maxLogs?: string | number | bigint | undefined;
|
|
54
54
|
archiverStoreMapSizeKb?: string | number | bigint | undefined;
|
|
55
|
-
skipValidateBlockAttestations?: boolean | undefined;
|
|
56
55
|
maxAllowedEthClientDriftSeconds?: string | number | bigint | undefined;
|
|
57
56
|
ethereumAllowNoDebugHosts?: boolean | undefined;
|
|
57
|
+
skipValidateCheckpointAttestations?: boolean | undefined;
|
|
58
58
|
}>;
|
|
59
59
|
export type ArchiverApi = Omit<L2BlockSource & L2LogsSource & ContractDataSource & L1ToL2MessageSource, 'start' | 'stop'>;
|
|
60
60
|
export declare const ArchiverApiSchema: ApiSchemaFor<ArchiverApi>;
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJjaGl2ZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbnRlcmZhY2VzL2FyY2hpdmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFakYsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFOUQsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUt4QixPQUFPLEVBQUUsS0FBSyxhQUFhLEVBQWdCLE1BQU0sNkJBQTZCLENBQUM7QUFJL0UsT0FBTyxFQUVMLEtBQUssa0JBQWtCLEVBRXhCLE1BQU0sc0JBQXNCLENBQUM7QUFNOUIsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQU9uRixPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV4RDs7R0FFRztBQUNILE1BQU0sTUFBTSxzQkFBc0IsR0FBRztJQUNuQyxrRkFBa0Y7SUFDbEYseUJBQXlCLENBQUMsRUFBRSxNQUFNLENBQUM7SUFFbkMsK0VBQStFO0lBQy9FLGlCQUFpQixDQUFDLEVBQUUsTUFBTSxDQUFDO0lBRTNCLDJDQUEyQztJQUMzQyxxQkFBcUIsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUUvQix5Q0FBeUM7SUFDekMsV0FBVyxFQUFFLG1CQUFtQixDQUFDO0lBRWpDLDZFQUE2RTtJQUM3RSxPQUFPLENBQUMsRUFBRSxNQUFNLENBQUM7SUFFakIscUdBQXFHO0lBQ3JHLHNCQUFzQixDQUFDLEVBQUUsTUFBTSxDQUFDO0lBRWhDLHFGQUFxRjtJQUNyRiwrQkFBK0IsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUV6QyxrR0FBa0c7SUFDbEcseUJBQXlCLENBQUMsRUFBRSxPQUFPLENBQUM7SUFFcEMsMEVBQTBFO0lBQzFFLGtDQUFrQyxDQUFDLEVBQUUsT0FBTyxDQUFDO0NBQzlDLENBQUM7QUFFRixlQUFPLE1BQU0sNEJBQTRCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFTdkMsQ0FBQztBQUVILE1BQU0sTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUM1QixhQUFhLEdBQUcsWUFBWSxHQUFHLGtCQUFrQixHQUFHLG1CQUFtQixFQUN2RSxPQUFPLEdBQUcsTUFBTSxDQUNqQixDQUFDO0FBRUYsZUFBTyxNQUFNLGlCQUFpQixFQUFFLFlBQVksQ0FBQyxXQUFXLENBMkV2RCxDQUFDIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"archiver.d.ts","sourceRoot":"","sources":["../../src/interfaces/archiver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAEjF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,OAAO,EAAE,KAAK,aAAa,EAAgB,MAAM,6BAA6B,CAAC;AAI/E,OAAO,EAEL,KAAK,kBAAkB,EAExB,MAAM,sBAAsB,CAAC;AAM9B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAOnF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,kFAAkF;IAClF,yBAAyB,CAAC,EAAE,MAAM,CAAC;IAEnC,+EAA+E;IAC/E,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,2CAA2C;IAC3C,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B,yCAAyC;IACzC,WAAW,EAAE,mBAAmB,CAAC;IAEjC,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,qGAAqG;IACrG,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC,
|
|
1
|
+
{"version":3,"file":"archiver.d.ts","sourceRoot":"","sources":["../../src/interfaces/archiver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAEjF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,OAAO,EAAE,KAAK,aAAa,EAAgB,MAAM,6BAA6B,CAAC;AAI/E,OAAO,EAEL,KAAK,kBAAkB,EAExB,MAAM,sBAAsB,CAAC;AAM9B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAOnF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,kFAAkF;IAClF,yBAAyB,CAAC,EAAE,MAAM,CAAC;IAEnC,+EAA+E;IAC/E,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,2CAA2C;IAC3C,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B,yCAAyC;IACzC,WAAW,EAAE,mBAAmB,CAAC;IAEjC,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,qGAAqG;IACrG,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC,qFAAqF;IACrF,+BAA+B,CAAC,EAAE,MAAM,CAAC;IAEzC,kGAAkG;IAClG,yBAAyB,CAAC,EAAE,OAAO,CAAC;IAEpC,0EAA0E;IAC1E,kCAAkC,CAAC,EAAE,OAAO,CAAC;CAC9C,CAAC;AAEF,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;EASvC,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,IAAI,CAC5B,aAAa,GAAG,YAAY,GAAG,kBAAkB,GAAG,mBAAmB,EACvE,OAAO,GAAG,MAAM,CACjB,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,YAAY,CAAC,WAAW,CA2EvD,CAAC"}
|
|
@@ -4,7 +4,7 @@ import { CheckpointedL2Block, PublishedL2Block } from '../block/checkpointed_l2_
|
|
|
4
4
|
import { L2Block } from '../block/l2_block.js';
|
|
5
5
|
import { L2BlockNew } from '../block/l2_block_new.js';
|
|
6
6
|
import { L2TipsSchema } from '../block/l2_block_source.js';
|
|
7
|
-
import {
|
|
7
|
+
import { ValidateCheckpointResultSchema } from '../block/validate_block_result.js';
|
|
8
8
|
import { Checkpoint } from '../checkpoint/checkpoint.js';
|
|
9
9
|
import { PublishedCheckpoint } from '../checkpoint/published_checkpoint.js';
|
|
10
10
|
import { ContractClassPublicSchema, ContractInstanceWithAddressSchema } from '../contract/index.js';
|
|
@@ -25,9 +25,9 @@ export const ArchiverSpecificConfigSchema = z.object({
|
|
|
25
25
|
viemPollingIntervalMS: schemas.Integer.optional(),
|
|
26
26
|
maxLogs: schemas.Integer.optional(),
|
|
27
27
|
archiverStoreMapSizeKb: schemas.Integer.optional(),
|
|
28
|
-
skipValidateBlockAttestations: z.boolean().optional(),
|
|
29
28
|
maxAllowedEthClientDriftSeconds: schemas.Integer.optional(),
|
|
30
|
-
ethereumAllowNoDebugHosts: z.boolean().optional()
|
|
29
|
+
ethereumAllowNoDebugHosts: z.boolean().optional(),
|
|
30
|
+
skipValidateCheckpointAttestations: z.boolean().optional()
|
|
31
31
|
});
|
|
32
32
|
export const ArchiverApiSchema = {
|
|
33
33
|
getRollupAddress: z.function().args().returns(schemas.EthAddress),
|
|
@@ -40,9 +40,11 @@ export const ArchiverApiSchema = {
|
|
|
40
40
|
z.literal('latest')
|
|
41
41
|
])).returns(BlockHeader.schema.optional()),
|
|
42
42
|
getCheckpointedBlock: z.function().args(BlockNumberSchema).returns(CheckpointedL2Block.schema.optional()),
|
|
43
|
+
getCheckpointedBlocks: z.function().args(BlockNumberSchema, schemas.Integer, optional(z.boolean())).returns(z.array(CheckpointedL2Block.schema)),
|
|
43
44
|
getBlocks: z.function().args(BlockNumberSchema, schemas.Integer, optional(z.boolean())).returns(z.array(L2Block.schema)),
|
|
44
45
|
getPublishedCheckpoints: z.function().args(CheckpointNumberSchema, schemas.Integer).returns(z.array(PublishedCheckpoint.schema)),
|
|
45
46
|
getPublishedBlocks: z.function().args(BlockNumberSchema, schemas.Integer, optional(z.boolean())).returns(z.array(PublishedL2Block.schema)),
|
|
47
|
+
getL2BlocksNew: z.function().args(BlockNumberSchema, schemas.Integer, optional(z.boolean())).returns(z.array(L2BlockNew.schema)),
|
|
46
48
|
getPublishedBlockByHash: z.function().args(schemas.Fr).returns(PublishedL2Block.schema.optional()),
|
|
47
49
|
getPublishedBlockByArchive: z.function().args(schemas.Fr).returns(PublishedL2Block.schema.optional()),
|
|
48
50
|
getBlockHeaderByHash: z.function().args(schemas.Fr).returns(BlockHeader.schema.optional()),
|
|
@@ -76,5 +78,5 @@ export const ArchiverApiSchema = {
|
|
|
76
78
|
getL1Timestamp: z.function().args().returns(schemas.BigInt.optional()),
|
|
77
79
|
syncImmediate: z.function().args().returns(z.void()),
|
|
78
80
|
isPendingChainInvalid: z.function().args().returns(z.boolean()),
|
|
79
|
-
getPendingChainValidationStatus: z.function().args().returns(
|
|
81
|
+
getPendingChainValidationStatus: z.function().args().returns(ValidateCheckpointResultSchema)
|
|
80
82
|
};
|