@aztec/stdlib 0.0.1-commit.d1f2d6c → 0.0.1-commit.d431d1c
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/checkpointed_l2_block.d.ts +6 -6
- package/dest/block/checkpointed_l2_block.d.ts.map +1 -1
- package/dest/block/checkpointed_l2_block.js +3 -3
- package/dest/block/in_block.d.ts +3 -3
- package/dest/block/in_block.d.ts.map +1 -1
- package/dest/block/index.d.ts +2 -2
- package/dest/block/index.d.ts.map +1 -1
- package/dest/block/index.js +1 -1
- package/dest/block/{l2_block.d.ts → l2_block_new.d.ts} +6 -6
- package/dest/block/l2_block_new.d.ts.map +1 -0
- package/dest/block/{l2_block.js → l2_block_new.js} +9 -5
- package/dest/block/l2_block_source.d.ts +29 -37
- package/dest/block/l2_block_source.d.ts.map +1 -1
- package/dest/block/l2_block_stream/interfaces.d.ts +3 -3
- package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_block_stream.d.ts +3 -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 +4 -4
- package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +3 -3
- package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
- package/dest/block/test/l2_tips_store_test_suite.js +2 -2
- package/dest/checkpoint/checkpoint.d.ts +8 -8
- package/dest/checkpoint/checkpoint.d.ts.map +1 -1
- package/dest/checkpoint/checkpoint.js +4 -4
- package/dest/checkpoint/published_checkpoint.d.ts +2 -2
- package/dest/config/node-rpc-config.js +1 -1
- package/dest/contract/private_function.d.ts +1 -1
- package/dest/contract/private_function.d.ts.map +1 -1
- package/dest/contract/private_function.js +2 -1
- package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts +2 -2
- package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts.map +1 -1
- package/dest/delayed_public_mutable/delayed_public_mutable_values.js +10 -7
- package/dest/epoch-helpers/index.js +1 -1
- package/dest/interfaces/archiver.d.ts +1 -1
- package/dest/interfaces/archiver.d.ts.map +1 -1
- package/dest/interfaces/archiver.js +15 -15
- package/dest/interfaces/aztec-node-admin.d.ts +1 -4
- package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.d.ts +9 -23
- package/dest/interfaces/aztec-node.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.js +11 -11
- package/dest/interfaces/block-builder.d.ts +4 -4
- package/dest/interfaces/block-builder.d.ts.map +1 -1
- package/dest/interfaces/configs.d.ts +2 -2
- package/dest/interfaces/configs.d.ts.map +1 -1
- package/dest/interfaces/prover-client.d.ts +1 -10
- package/dest/interfaces/prover-client.d.ts.map +1 -1
- package/dest/interfaces/prover-client.js +1 -7
- package/dest/interfaces/tx_provider.d.ts +3 -3
- package/dest/interfaces/tx_provider.d.ts.map +1 -1
- package/dest/interfaces/validator.d.ts +2 -2
- package/dest/interfaces/validator.d.ts.map +1 -1
- package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +3 -3
- package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/build_nullifier_read_request_hints.js +6 -4
- package/dest/p2p/block_proposal.d.ts +4 -4
- package/dest/p2p/block_proposal.d.ts.map +1 -1
- package/dest/p2p/block_proposal.js +1 -1
- package/dest/p2p/message_validator.d.ts +3 -18
- package/dest/p2p/message_validator.d.ts.map +1 -1
- package/dest/p2p/message_validator.js +1 -2
- package/dest/tests/factories.js +1 -1
- package/dest/tests/jest.d.ts +4 -4
- package/dest/tests/jest.js +9 -9
- package/dest/tests/mocks.d.ts +9 -10
- package/dest/tests/mocks.d.ts.map +1 -1
- package/dest/tests/mocks.js +10 -15
- package/dest/tx/tx_receipt.d.ts +11 -39
- package/dest/tx/tx_receipt.d.ts.map +1 -1
- package/dest/tx/tx_receipt.js +13 -44
- package/package.json +9 -9
- package/src/block/checkpointed_l2_block.ts +4 -4
- package/src/block/in_block.ts +2 -2
- package/src/block/index.ts +1 -1
- package/src/block/{l2_block.ts → l2_block_new.ts} +11 -6
- package/src/block/l2_block_source.ts +30 -38
- package/src/block/l2_block_stream/interfaces.ts +2 -2
- package/src/block/l2_block_stream/l2_block_stream.ts +6 -5
- package/src/block/l2_block_stream/l2_tips_store_base.ts +2 -2
- package/src/block/test/l2_tips_store_test_suite.ts +4 -4
- package/src/checkpoint/checkpoint.ts +7 -7
- package/src/config/node-rpc-config.ts +1 -1
- package/src/contract/private_function.ts +2 -1
- package/src/delayed_public_mutable/delayed_public_mutable_values.ts +10 -9
- package/src/epoch-helpers/index.ts +1 -1
- package/src/interfaces/archiver.ts +24 -15
- package/src/interfaces/aztec-node.ts +31 -38
- package/src/interfaces/block-builder.ts +3 -3
- package/src/interfaces/configs.ts +3 -1
- package/src/interfaces/prover-client.ts +0 -15
- package/src/interfaces/tx_provider.ts +2 -2
- package/src/interfaces/validator.ts +2 -1
- package/src/kernel/hints/build_nullifier_read_request_hints.ts +10 -1
- package/src/p2p/block_proposal.ts +3 -3
- package/src/p2p/message_validator.ts +2 -14
- package/src/tests/factories.ts +1 -1
- package/src/tests/jest.ts +9 -9
- package/src/tests/mocks.ts +13 -20
- package/src/tx/tx_receipt.ts +15 -72
- package/dest/block/l2_block.d.ts.map +0 -1
package/dest/tests/jest.js
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { L2BlockNew } from '../block/l2_block_new.js';
|
|
2
2
|
/**
|
|
3
|
-
* Checks if two objects are the same
|
|
3
|
+
* Checks if two objects are the same L2BlockNew.
|
|
4
4
|
*
|
|
5
|
-
* Sometimes we might be comparing two
|
|
5
|
+
* Sometimes we might be comparing two L2BlockNew instances that represent the same block but one of them might not have
|
|
6
6
|
* calculated and filled its `blockHash` property (which is computed on demand). This function ensures both objects
|
|
7
|
-
* are really the same
|
|
7
|
+
* are really the same L2BlockNew.
|
|
8
8
|
*
|
|
9
9
|
* @param a - An object
|
|
10
10
|
* @param b - Another object
|
|
11
|
-
* @returns True if both a and b are the same
|
|
11
|
+
* @returns True if both a and b are the same L2BlockNew
|
|
12
12
|
*/ export function equalL2Blocks(a, b) {
|
|
13
|
-
const aAsL2Block = a && a instanceof
|
|
14
|
-
const bAsL2Block = b && b instanceof
|
|
13
|
+
const aAsL2Block = a && a instanceof L2BlockNew ? a : undefined;
|
|
14
|
+
const bAsL2Block = b && b instanceof L2BlockNew ? b : undefined;
|
|
15
15
|
if (aAsL2Block && bAsL2Block) {
|
|
16
|
-
// we got two
|
|
16
|
+
// we got two L2BlockNew instances, so we can compare them
|
|
17
17
|
// use a custom comparator because the blockHash property is lazily computed and one instance might not have it
|
|
18
18
|
return aAsL2Block.toBuffer().equals(bAsL2Block.toBuffer());
|
|
19
19
|
} else if (aAsL2Block || bAsL2Block) {
|
|
20
|
-
// one value is an
|
|
20
|
+
// one value is an L2BlockNew and the other isn't. Definitely not equal.
|
|
21
21
|
return false;
|
|
22
22
|
} else {
|
|
23
23
|
// we don't know what they are, tell Jest to keep looking
|
package/dest/tests/mocks.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ import type { ContractArtifact } from '../abi/abi.js';
|
|
|
7
7
|
import type { AvmAccumulatedData } from '../avm/avm_accumulated_data.js';
|
|
8
8
|
import { PublicDataWrite } from '../avm/public_data_write.js';
|
|
9
9
|
import { AztecAddress } from '../aztec-address/index.js';
|
|
10
|
-
import { CheckpointedL2Block,
|
|
10
|
+
import { CheckpointedL2Block, L2BlockNew } from '../block/index.js';
|
|
11
11
|
import type { CommitteeAttestationsAndSigners } from '../block/proposal/attestations_and_signers.js';
|
|
12
12
|
import { Checkpoint } from '../checkpoint/checkpoint.js';
|
|
13
13
|
import type { ContractInstanceWithAddress } from '../contract/index.js';
|
|
@@ -70,16 +70,15 @@ export declare function mockProcessedTx({ seed, anchorBlockHeader, db, chainId,
|
|
|
70
70
|
} & Parameters<typeof mockTx>[1]): Promise<import("../tx/processed_tx.js").ProcessedTx>;
|
|
71
71
|
export declare const mockSimulatedTx: (seed?: number) => Promise<TxSimulationResult>;
|
|
72
72
|
export declare function mockL1ToL2Messages(numL1ToL2Messages: number): Fr[];
|
|
73
|
-
export declare function mockCheckpointAndMessages(checkpointNumber: CheckpointNumber, { startBlockNumber, numBlocks, blocks, numTxsPerBlock, numL1ToL2Messages, makeBlockOptions, previousArchive,
|
|
73
|
+
export declare function mockCheckpointAndMessages(checkpointNumber: CheckpointNumber, { startBlockNumber, numBlocks, blocks, numTxsPerBlock, numL1ToL2Messages, makeBlockOptions, previousArchive, ...options }?: {
|
|
74
74
|
startBlockNumber?: BlockNumber;
|
|
75
75
|
numBlocks?: number;
|
|
76
76
|
numTxsPerBlock?: number;
|
|
77
77
|
numL1ToL2Messages?: number;
|
|
78
|
-
makeBlockOptions?: (blockNumber: BlockNumber) => Partial<Parameters<typeof
|
|
78
|
+
makeBlockOptions?: (blockNumber: BlockNumber) => Partial<Parameters<typeof L2BlockNew.random>[1]>;
|
|
79
79
|
previousArchive?: AppendOnlyTreeSnapshot;
|
|
80
|
-
blocks?:
|
|
81
|
-
|
|
82
|
-
} & Partial<Parameters<typeof Checkpoint.random>[1]> & Partial<Parameters<typeof L2Block.random>[1]>): Promise<{
|
|
80
|
+
blocks?: L2BlockNew[];
|
|
81
|
+
} & Partial<Parameters<typeof Checkpoint.random>[1]> & Partial<Parameters<typeof L2BlockNew.random>[1]>): Promise<{
|
|
83
82
|
checkpoint: Checkpoint;
|
|
84
83
|
messages: Fr[];
|
|
85
84
|
lastArchive: AppendOnlyTreeSnapshot | undefined;
|
|
@@ -148,11 +147,11 @@ export declare const makeCheckpointAttestationFromProposal: (proposal: Checkpoin
|
|
|
148
147
|
*/
|
|
149
148
|
export declare const makeCheckpointAttestationFromCheckpoint: (checkpoint: Checkpoint, attesterSigner?: Secp256k1Signer | undefined, proposerSigner?: Secp256k1Signer | undefined) => CheckpointAttestation;
|
|
150
149
|
/**
|
|
151
|
-
* Create a checkpoint attestation from an
|
|
152
|
-
* Note: This is a compatibility function for tests.
|
|
150
|
+
* Create a checkpoint attestation from an L2BlockNew
|
|
151
|
+
* Note: This is a compatibility function for tests. L2BlockNew doesn't have a checkpoint header directly.
|
|
153
152
|
*/
|
|
154
|
-
export declare const makeCheckpointAttestationFromBlock: (block:
|
|
153
|
+
export declare const makeCheckpointAttestationFromBlock: (block: L2BlockNew, attesterSigner?: Secp256k1Signer | undefined, proposerSigner?: Secp256k1Signer | undefined) => CheckpointAttestation;
|
|
155
154
|
export declare function randomPublishedL2Block(l2BlockNumber: number, opts?: {
|
|
156
155
|
signers?: Secp256k1Signer[];
|
|
157
156
|
}): Promise<CheckpointedL2Block>;
|
|
158
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
157
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja3MuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0cy9tb2Nrcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxPQUFPLEVBQUUsS0FBSyxRQUFRLEVBQWEsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLHFCQUFxQixFQUFjLE1BQU0saUNBQWlDLENBQUM7QUFJbkgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFNUQsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdEQsT0FBTyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV6RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBd0IsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUYsT0FBTyxLQUFLLEVBQUUsK0JBQStCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNyRyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFLekQsT0FBTyxLQUFLLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV4RSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFckQsT0FBTyxLQUFLLEVBQUUsd0JBQXdCLEVBQUUsTUFB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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mocks.d.ts","sourceRoot":"","sources":["../../src/tests/mocks.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,QAAQ,EAAa,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,qBAAqB,EAAc,MAAM,iCAAiC,CAAC;AAInH,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAC5E,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAE5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEzE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAwB,
|
|
1
|
+
{"version":3,"file":"mocks.d.ts","sourceRoot":"","sources":["../../src/tests/mocks.ts"],"names":[],"mappings":"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"}
|
package/dest/tests/mocks.js
CHANGED
|
@@ -12,7 +12,7 @@ import { AvmCircuitPublicInputs } from '../avm/avm_circuit_public_inputs.js';
|
|
|
12
12
|
import { PublicDataWrite } from '../avm/public_data_write.js';
|
|
13
13
|
import { RevertCode } from '../avm/revert_code.js';
|
|
14
14
|
import { AztecAddress } from '../aztec-address/index.js';
|
|
15
|
-
import { CheckpointedL2Block, CommitteeAttestation,
|
|
15
|
+
import { CheckpointedL2Block, CommitteeAttestation, L2BlockNew } from '../block/index.js';
|
|
16
16
|
import { Checkpoint } from '../checkpoint/checkpoint.js';
|
|
17
17
|
import { L1PublishedData } from '../checkpoint/published_checkpoint.js';
|
|
18
18
|
import { computeContractAddressFromInstance } from '../contract/contract_address.js';
|
|
@@ -212,24 +212,19 @@ export function mockL1ToL2Messages(numL1ToL2Messages) {
|
|
|
212
212
|
length: numL1ToL2Messages
|
|
213
213
|
}, ()=>Fr.random());
|
|
214
214
|
}
|
|
215
|
-
export async function mockCheckpointAndMessages(checkpointNumber, { startBlockNumber = BlockNumber(1), numBlocks = 1, blocks, numTxsPerBlock = 1, numL1ToL2Messages = 1, makeBlockOptions = ()=>({}), previousArchive,
|
|
216
|
-
const slotNumber = options.slotNumber ?? SlotNumber(
|
|
215
|
+
export async function mockCheckpointAndMessages(checkpointNumber, { startBlockNumber = BlockNumber(1), numBlocks = 1, blocks, numTxsPerBlock = 1, numL1ToL2Messages = 1, makeBlockOptions = ()=>({}), previousArchive, ...options } = {}) {
|
|
216
|
+
const slotNumber = options.slotNumber ?? SlotNumber(checkpointNumber * 10);
|
|
217
217
|
const blocksAndMessages = [];
|
|
218
218
|
// Track the previous block's archive to ensure consecutive blocks have consistent archive roots.
|
|
219
219
|
// The current block's header.lastArchive must equal the previous block's archive.
|
|
220
220
|
let lastArchive = previousArchive;
|
|
221
|
-
// Pass maxEffects via txOptions so it reaches TxEffect.random
|
|
222
|
-
const txOptions = maxEffects !== undefined ? {
|
|
223
|
-
maxEffects
|
|
224
|
-
} : {};
|
|
225
221
|
for(let i = 0; i < (blocks?.length ?? numBlocks); i++){
|
|
226
222
|
const blockNumber = BlockNumber(startBlockNumber + i);
|
|
227
223
|
const { block, messages } = {
|
|
228
|
-
block: blocks?.[i] ?? await
|
|
224
|
+
block: blocks?.[i] ?? await L2BlockNew.random(blockNumber, {
|
|
229
225
|
checkpointNumber,
|
|
230
226
|
indexWithinCheckpoint: IndexWithinCheckpoint(i),
|
|
231
227
|
txsPerBlock: numTxsPerBlock,
|
|
232
|
-
txOptions,
|
|
233
228
|
slotNumber,
|
|
234
229
|
...options,
|
|
235
230
|
...makeBlockOptions(blockNumber),
|
|
@@ -395,10 +390,10 @@ export const makeCheckpointProposal = (options)=>{
|
|
|
395
390
|
});
|
|
396
391
|
};
|
|
397
392
|
/**
|
|
398
|
-
* Create a checkpoint attestation from an
|
|
399
|
-
* Note: This is a compatibility function for tests.
|
|
393
|
+
* Create a checkpoint attestation from an L2BlockNew
|
|
394
|
+
* Note: This is a compatibility function for tests. L2BlockNew doesn't have a checkpoint header directly.
|
|
400
395
|
*/ export const makeCheckpointAttestationFromBlock = (block, attesterSigner, proposerSigner)=>{
|
|
401
|
-
// For
|
|
396
|
+
// For L2BlockNew, we create a minimal checkpoint header for testing purposes
|
|
402
397
|
const header = CheckpointHeader.empty({
|
|
403
398
|
lastArchiveRoot: block.header.lastArchive.root,
|
|
404
399
|
slotNumber: block.slot,
|
|
@@ -414,14 +409,14 @@ export const makeCheckpointProposal = (options)=>{
|
|
|
414
409
|
});
|
|
415
410
|
};
|
|
416
411
|
export async function randomPublishedL2Block(l2BlockNumber, opts = {}) {
|
|
417
|
-
const block = await
|
|
412
|
+
const block = await L2BlockNew.random(BlockNumber(l2BlockNumber));
|
|
418
413
|
const l1 = L1PublishedData.fromFields({
|
|
419
414
|
blockNumber: BigInt(block.number),
|
|
420
415
|
timestamp: block.header.globalVariables.timestamp,
|
|
421
416
|
blockHash: Buffer32.random().toString()
|
|
422
417
|
});
|
|
423
418
|
const signers = opts.signers ?? times(3, ()=>Secp256k1Signer.random());
|
|
424
|
-
const checkpoint = await Checkpoint.random(CheckpointNumber
|
|
419
|
+
const checkpoint = await Checkpoint.random(CheckpointNumber(l2BlockNumber), {
|
|
425
420
|
numBlocks: 0
|
|
426
421
|
});
|
|
427
422
|
checkpoint.blocks = [
|
|
@@ -433,5 +428,5 @@ export async function randomPublishedL2Block(l2BlockNumber, opts = {}) {
|
|
|
433
428
|
header: checkpoint.header
|
|
434
429
|
}));
|
|
435
430
|
const attestations = atts.map((attestation, i)=>new CommitteeAttestation(signers[i].address, attestation.signature));
|
|
436
|
-
return new CheckpointedL2Block(CheckpointNumber
|
|
431
|
+
return new CheckpointedL2Block(CheckpointNumber(l2BlockNumber), block, l1, attestations);
|
|
437
432
|
}
|
package/dest/tx/tx_receipt.d.ts
CHANGED
|
@@ -1,21 +1,15 @@
|
|
|
1
1
|
import { BlockNumber } from '@aztec/foundation/branded-types';
|
|
2
|
+
import type { FieldsOf } from '@aztec/foundation/types';
|
|
2
3
|
import { RevertCode } from '../avm/revert_code.js';
|
|
3
4
|
import { L2BlockHash } from '../block/block_hash.js';
|
|
4
5
|
import { type ZodFor } from '../schemas/schemas.js';
|
|
5
6
|
import { TxHash } from './tx_hash.js';
|
|
6
|
-
/**
|
|
7
|
+
/**
|
|
8
|
+
* Possible status of a transaction.
|
|
9
|
+
*/
|
|
7
10
|
export declare enum TxStatus {
|
|
8
11
|
DROPPED = "dropped",
|
|
9
12
|
PENDING = "pending",
|
|
10
|
-
PROPOSED = "proposed",
|
|
11
|
-
CHECKPOINTED = "checkpointed",
|
|
12
|
-
PROVEN = "proven",
|
|
13
|
-
FINALIZED = "finalized"
|
|
14
|
-
}
|
|
15
|
-
/** Tx status sorted by finalization progress. */
|
|
16
|
-
export declare const SortedTxStatuses: TxStatus[];
|
|
17
|
-
/** Execution result - only set when tx is in a block. */
|
|
18
|
-
export declare enum TxExecutionResult {
|
|
19
13
|
SUCCESS = "success",
|
|
20
14
|
APP_LOGIC_REVERTED = "app_logic_reverted",
|
|
21
15
|
TEARDOWN_REVERTED = "teardown_reverted",
|
|
@@ -30,12 +24,10 @@ export declare enum TxExecutionResult {
|
|
|
30
24
|
export declare class TxReceipt {
|
|
31
25
|
/** A unique identifier for a transaction. */
|
|
32
26
|
txHash: TxHash;
|
|
33
|
-
/** The transaction's
|
|
27
|
+
/** The transaction's status. */
|
|
34
28
|
status: TxStatus;
|
|
35
|
-
/** The execution result of the transaction, only set when tx is in a block. */
|
|
36
|
-
executionResult: TxExecutionResult | undefined;
|
|
37
29
|
/** Description of transaction error, if any. */
|
|
38
|
-
error: string
|
|
30
|
+
error: string;
|
|
39
31
|
/** The transaction fee paid for the transaction. */
|
|
40
32
|
transactionFee?: bigint | undefined;
|
|
41
33
|
/** The hash of the block containing the transaction. */
|
|
@@ -45,39 +37,19 @@ export declare class TxReceipt {
|
|
|
45
37
|
constructor(
|
|
46
38
|
/** A unique identifier for a transaction. */
|
|
47
39
|
txHash: TxHash,
|
|
48
|
-
/** The transaction's
|
|
40
|
+
/** The transaction's status. */
|
|
49
41
|
status: TxStatus,
|
|
50
|
-
/** The execution result of the transaction, only set when tx is in a block. */
|
|
51
|
-
executionResult: TxExecutionResult | undefined,
|
|
52
42
|
/** Description of transaction error, if any. */
|
|
53
|
-
error: string
|
|
43
|
+
error: string,
|
|
54
44
|
/** The transaction fee paid for the transaction. */
|
|
55
45
|
transactionFee?: bigint | undefined,
|
|
56
46
|
/** The hash of the block containing the transaction. */
|
|
57
47
|
blockHash?: L2BlockHash | undefined,
|
|
58
48
|
/** The block number in which the transaction was included. */
|
|
59
49
|
blockNumber?: BlockNumber | undefined);
|
|
60
|
-
/** Returns true if the transaction was executed successfully. */
|
|
61
|
-
hasExecutionSucceeded(): boolean;
|
|
62
|
-
/** Returns true if the transaction execution reverted. */
|
|
63
|
-
hasExecutionReverted(): boolean;
|
|
64
|
-
/** Returns true if the transaction has been included in a block (proposed, checkpointed, proven, or finalized). */
|
|
65
|
-
isMined(): boolean;
|
|
66
|
-
/** Returns true if the transaction is pending. */
|
|
67
|
-
isPending(): boolean;
|
|
68
|
-
/** Returns true if the transaction was dropped. */
|
|
69
|
-
isDropped(): boolean;
|
|
70
50
|
static empty(): TxReceipt;
|
|
71
51
|
static get schema(): ZodFor<TxReceipt>;
|
|
72
|
-
static from(fields:
|
|
73
|
-
|
|
74
|
-
status: TxStatus;
|
|
75
|
-
executionResult?: TxExecutionResult;
|
|
76
|
-
error?: string;
|
|
77
|
-
transactionFee?: bigint;
|
|
78
|
-
blockHash?: L2BlockHash;
|
|
79
|
-
blockNumber?: BlockNumber;
|
|
80
|
-
}): TxReceipt;
|
|
81
|
-
static executionResultFromRevertCode(revertCode: RevertCode): TxExecutionResult;
|
|
52
|
+
static from(fields: FieldsOf<TxReceipt>): TxReceipt;
|
|
53
|
+
static statusFromRevertCode(revertCode: RevertCode): TxStatus.SUCCESS | TxStatus.APP_LOGIC_REVERTED | TxStatus.TEARDOWN_REVERTED | TxStatus.BOTH_REVERTED;
|
|
82
54
|
}
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhfcmVjZWlwdC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R4L3R4X3JlY2VpcHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBcUIsTUFBTSxpQ0FBaUMsQ0FBQztBQUNqRixPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUl4RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBVyxNQUFNLHVCQUF1QixDQUFDO0FBQzdELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFdEM7O0dBRUc7QUFDSCxvQkFBWSxRQUFRO0lBQ2xCLE9BQU8sWUFBWTtJQUNuQixPQUFPLFlBQVk7SUFDbkIsT0FBTyxZQUFZO0lBQ25CLGtCQUFrQix1QkFBdUI7SUFDekMsaUJBQWlCLHNCQUFzQjtJQUN2QyxhQUFhLGtCQUFrQjtDQUNoQztBQUVEOzs7OztHQUtHO0FBQ0gscUJBQWEsU0FBUztJQUVsQiw2Q0FBNkM7SUFDdEMsTUFBTSxFQUFFLE1BQU07SUFDckIsZ0NBQWdDO0lBQ3pCLE1BQU0sRUFBRSxRQUFRO0lBQ3ZCLGdEQUFnRDtJQUN6QyxLQUFLLEVBQUUsTUFBTTtJQUNwQixvREFBb0Q7SUFDN0MsY0FBYyxDQUFDO0lBQ3RCLHdEQUF3RDtJQUNqRCxTQUFTLENBQUM7SUFDakIsOERBQThEO0lBQ3ZELFdBQVcsQ0FBQztJQVpyQjtJQUNFLDZDQUE2QztJQUN0QyxNQUFNLEVBQUUsTUFBTTtJQUNyQixnQ0FBZ0M7SUFDekIsTUFBTSxFQUFFLFFBQVE7SUFDdkIsZ0RBQWdEO0lBQ3pDLEtBQUssRUFBRSxNQUFNO0lBQ3BCLG9EQUFvRDtJQUM3QyxjQUFjLENBQUMsb0JBQVE7SUFDOUIsd0RBQXdEO0lBQ2pELFNBQVMsQ0FBQyx5QkFBYTtJQUM5Qiw4REFBOEQ7SUFDdkQsV0FBVyxDQUFDLHlCQUFhLEVBQzlCO0lBRUosTUFBTSxDQUFDLEtBQUssY0FFWDtJQUVELE1BQU0sS0FBSyxNQUFNLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQVdyQztJQUVELE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxTQUFTLENBQUMsYUFTdEM7SUFFRCxPQUFjLG9CQUFvQixDQUFDLFVBQVUsRUFBRSxVQUFVLHdHQVl4RDtDQUNGIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tx_receipt.d.ts","sourceRoot":"","sources":["../../src/tx/tx_receipt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAqB,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"tx_receipt.d.ts","sourceRoot":"","sources":["../../src/tx/tx_receipt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAqB,MAAM,iCAAiC,CAAC;AACjF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAIxD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC;;GAEG;AACH,oBAAY,QAAQ;IAClB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,kBAAkB,uBAAuB;IACzC,iBAAiB,sBAAsB;IACvC,aAAa,kBAAkB;CAChC;AAED;;;;;GAKG;AACH,qBAAa,SAAS;IAElB,6CAA6C;IACtC,MAAM,EAAE,MAAM;IACrB,gCAAgC;IACzB,MAAM,EAAE,QAAQ;IACvB,gDAAgD;IACzC,KAAK,EAAE,MAAM;IACpB,oDAAoD;IAC7C,cAAc,CAAC;IACtB,wDAAwD;IACjD,SAAS,CAAC;IACjB,8DAA8D;IACvD,WAAW,CAAC;IAZrB;IACE,6CAA6C;IACtC,MAAM,EAAE,MAAM;IACrB,gCAAgC;IACzB,MAAM,EAAE,QAAQ;IACvB,gDAAgD;IACzC,KAAK,EAAE,MAAM;IACpB,oDAAoD;IAC7C,cAAc,CAAC,oBAAQ;IAC9B,wDAAwD;IACjD,SAAS,CAAC,yBAAa;IAC9B,8DAA8D;IACvD,WAAW,CAAC,yBAAa,EAC9B;IAEJ,MAAM,CAAC,KAAK,cAEX;IAED,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC,CAWrC;IAED,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,aAStC;IAED,OAAc,oBAAoB,CAAC,UAAU,EAAE,UAAU,wGAYxD;CACF"}
|
package/dest/tx/tx_receipt.js
CHANGED
|
@@ -4,30 +4,17 @@ import { RevertCode } from '../avm/revert_code.js';
|
|
|
4
4
|
import { L2BlockHash } from '../block/block_hash.js';
|
|
5
5
|
import { schemas } from '../schemas/schemas.js';
|
|
6
6
|
import { TxHash } from './tx_hash.js';
|
|
7
|
-
/**
|
|
7
|
+
/**
|
|
8
|
+
* Possible status of a transaction.
|
|
9
|
+
*/ export var TxStatus = /*#__PURE__*/ function(TxStatus) {
|
|
8
10
|
TxStatus["DROPPED"] = "dropped";
|
|
9
11
|
TxStatus["PENDING"] = "pending";
|
|
10
|
-
TxStatus["
|
|
11
|
-
TxStatus["
|
|
12
|
-
TxStatus["
|
|
13
|
-
TxStatus["
|
|
12
|
+
TxStatus["SUCCESS"] = "success";
|
|
13
|
+
TxStatus["APP_LOGIC_REVERTED"] = "app_logic_reverted";
|
|
14
|
+
TxStatus["TEARDOWN_REVERTED"] = "teardown_reverted";
|
|
15
|
+
TxStatus["BOTH_REVERTED"] = "both_reverted";
|
|
14
16
|
return TxStatus;
|
|
15
17
|
}({});
|
|
16
|
-
/** Tx status sorted by finalization progress. */ export const SortedTxStatuses = [
|
|
17
|
-
"dropped",
|
|
18
|
-
"pending",
|
|
19
|
-
"proposed",
|
|
20
|
-
"checkpointed",
|
|
21
|
-
"proven",
|
|
22
|
-
"finalized"
|
|
23
|
-
];
|
|
24
|
-
/** Execution result - only set when tx is in a block. */ export var TxExecutionResult = /*#__PURE__*/ function(TxExecutionResult) {
|
|
25
|
-
TxExecutionResult["SUCCESS"] = "success";
|
|
26
|
-
TxExecutionResult["APP_LOGIC_REVERTED"] = "app_logic_reverted";
|
|
27
|
-
TxExecutionResult["TEARDOWN_REVERTED"] = "teardown_reverted";
|
|
28
|
-
TxExecutionResult["BOTH_REVERTED"] = "both_reverted";
|
|
29
|
-
return TxExecutionResult;
|
|
30
|
-
}({});
|
|
31
18
|
/**
|
|
32
19
|
* Represents a transaction receipt in the Aztec network.
|
|
33
20
|
* Contains essential information about the transaction including its status, origin, and associated addresses.
|
|
@@ -36,53 +23,35 @@ import { TxHash } from './tx_hash.js';
|
|
|
36
23
|
*/ export class TxReceipt {
|
|
37
24
|
txHash;
|
|
38
25
|
status;
|
|
39
|
-
executionResult;
|
|
40
26
|
error;
|
|
41
27
|
transactionFee;
|
|
42
28
|
blockHash;
|
|
43
29
|
blockNumber;
|
|
44
|
-
constructor(/** A unique identifier for a transaction. */ txHash, /** The transaction's
|
|
30
|
+
constructor(/** A unique identifier for a transaction. */ txHash, /** The transaction's status. */ status, /** Description of transaction error, if any. */ error, /** The transaction fee paid for the transaction. */ transactionFee, /** The hash of the block containing the transaction. */ blockHash, /** The block number in which the transaction was included. */ blockNumber){
|
|
45
31
|
this.txHash = txHash;
|
|
46
32
|
this.status = status;
|
|
47
|
-
this.executionResult = executionResult;
|
|
48
33
|
this.error = error;
|
|
49
34
|
this.transactionFee = transactionFee;
|
|
50
35
|
this.blockHash = blockHash;
|
|
51
36
|
this.blockNumber = blockNumber;
|
|
52
37
|
}
|
|
53
|
-
/** Returns true if the transaction was executed successfully. */ hasExecutionSucceeded() {
|
|
54
|
-
return this.executionResult === "success";
|
|
55
|
-
}
|
|
56
|
-
/** Returns true if the transaction execution reverted. */ hasExecutionReverted() {
|
|
57
|
-
return this.executionResult !== undefined && this.executionResult !== "success";
|
|
58
|
-
}
|
|
59
|
-
/** Returns true if the transaction has been included in a block (proposed, checkpointed, proven, or finalized). */ isMined() {
|
|
60
|
-
return this.status === "proposed" || this.status === "checkpointed" || this.status === "proven" || this.status === "finalized";
|
|
61
|
-
}
|
|
62
|
-
/** Returns true if the transaction is pending. */ isPending() {
|
|
63
|
-
return this.status === "pending";
|
|
64
|
-
}
|
|
65
|
-
/** Returns true if the transaction was dropped. */ isDropped() {
|
|
66
|
-
return this.status === "dropped";
|
|
67
|
-
}
|
|
68
38
|
static empty() {
|
|
69
|
-
return new TxReceipt(TxHash.zero(), "dropped",
|
|
39
|
+
return new TxReceipt(TxHash.zero(), "dropped", '');
|
|
70
40
|
}
|
|
71
41
|
static get schema() {
|
|
72
42
|
return z.object({
|
|
73
43
|
txHash: TxHash.schema,
|
|
74
44
|
status: z.nativeEnum(TxStatus),
|
|
75
|
-
|
|
76
|
-
error: z.string().optional(),
|
|
45
|
+
error: z.string(),
|
|
77
46
|
blockHash: L2BlockHash.schema.optional(),
|
|
78
47
|
blockNumber: BlockNumberSchema.optional(),
|
|
79
48
|
transactionFee: schemas.BigInt.optional()
|
|
80
|
-
}).transform(
|
|
49
|
+
}).transform(TxReceipt.from);
|
|
81
50
|
}
|
|
82
51
|
static from(fields) {
|
|
83
|
-
return new TxReceipt(fields.txHash, fields.status, fields.
|
|
52
|
+
return new TxReceipt(fields.txHash, fields.status, fields.error, fields.transactionFee, fields.blockHash, fields.blockNumber);
|
|
84
53
|
}
|
|
85
|
-
static
|
|
54
|
+
static statusFromRevertCode(revertCode) {
|
|
86
55
|
if (revertCode.equals(RevertCode.OK)) {
|
|
87
56
|
return "success";
|
|
88
57
|
} else if (revertCode.equals(RevertCode.APP_LOGIC_REVERTED)) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/stdlib",
|
|
3
|
-
"version": "0.0.1-commit.
|
|
3
|
+
"version": "0.0.1-commit.d431d1c",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"inherits": [
|
|
6
6
|
"../package.common.json",
|
|
@@ -78,14 +78,14 @@
|
|
|
78
78
|
},
|
|
79
79
|
"dependencies": {
|
|
80
80
|
"@aws-sdk/client-s3": "^3.892.0",
|
|
81
|
-
"@aztec/bb.js": "0.0.1-commit.
|
|
82
|
-
"@aztec/blob-lib": "0.0.1-commit.
|
|
83
|
-
"@aztec/constants": "0.0.1-commit.
|
|
84
|
-
"@aztec/ethereum": "0.0.1-commit.
|
|
85
|
-
"@aztec/foundation": "0.0.1-commit.
|
|
86
|
-
"@aztec/l1-artifacts": "0.0.1-commit.
|
|
87
|
-
"@aztec/noir-noirc_abi": "0.0.1-commit.
|
|
88
|
-
"@aztec/validator-ha-signer": "0.0.1-commit.
|
|
81
|
+
"@aztec/bb.js": "0.0.1-commit.d431d1c",
|
|
82
|
+
"@aztec/blob-lib": "0.0.1-commit.d431d1c",
|
|
83
|
+
"@aztec/constants": "0.0.1-commit.d431d1c",
|
|
84
|
+
"@aztec/ethereum": "0.0.1-commit.d431d1c",
|
|
85
|
+
"@aztec/foundation": "0.0.1-commit.d431d1c",
|
|
86
|
+
"@aztec/l1-artifacts": "0.0.1-commit.d431d1c",
|
|
87
|
+
"@aztec/noir-noirc_abi": "0.0.1-commit.d431d1c",
|
|
88
|
+
"@aztec/validator-ha-signer": "0.0.1-commit.d431d1c",
|
|
89
89
|
"@google-cloud/storage": "^7.15.0",
|
|
90
90
|
"axios": "^1.12.0",
|
|
91
91
|
"json-stringify-deterministic": "1.0.12",
|
|
@@ -7,7 +7,7 @@ import { z } from 'zod';
|
|
|
7
7
|
|
|
8
8
|
import { L1PublishedData } from '../checkpoint/published_checkpoint.js';
|
|
9
9
|
import { MAX_BLOCK_HASH_STRING_LENGTH, MAX_COMMITTEE_SIZE } from '../deserialization/index.js';
|
|
10
|
-
import {
|
|
10
|
+
import { L2BlockNew } from './l2_block_new.js';
|
|
11
11
|
import { CommitteeAttestation } from './proposal/committee_attestation.js';
|
|
12
12
|
|
|
13
13
|
/**
|
|
@@ -16,7 +16,7 @@ import { CommitteeAttestation } from './proposal/committee_attestation.js';
|
|
|
16
16
|
export class CheckpointedL2Block {
|
|
17
17
|
constructor(
|
|
18
18
|
public checkpointNumber: CheckpointNumber,
|
|
19
|
-
public block:
|
|
19
|
+
public block: L2BlockNew,
|
|
20
20
|
public l1: L1PublishedData,
|
|
21
21
|
public attestations: CommitteeAttestation[],
|
|
22
22
|
) {}
|
|
@@ -24,7 +24,7 @@ export class CheckpointedL2Block {
|
|
|
24
24
|
return z
|
|
25
25
|
.object({
|
|
26
26
|
checkpointNumber: CheckpointNumberSchema,
|
|
27
|
-
block:
|
|
27
|
+
block: L2BlockNew.schema,
|
|
28
28
|
l1: L1PublishedData.schema,
|
|
29
29
|
attestations: z.array(CommitteeAttestation.schema),
|
|
30
30
|
})
|
|
@@ -34,7 +34,7 @@ export class CheckpointedL2Block {
|
|
|
34
34
|
static fromBuffer(bufferOrReader: Buffer | BufferReader): CheckpointedL2Block {
|
|
35
35
|
const reader = BufferReader.asReader(bufferOrReader);
|
|
36
36
|
const checkpointNumber = reader.readNumber();
|
|
37
|
-
const block = reader.readObject(
|
|
37
|
+
const block = reader.readObject(L2BlockNew);
|
|
38
38
|
const l1BlockNumber = reader.readBigInt();
|
|
39
39
|
const l1BlockHash = reader.readString(MAX_BLOCK_HASH_STRING_LENGTH);
|
|
40
40
|
const l1Timestamp = reader.readBigInt();
|
package/src/block/in_block.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { BlockNumber, BlockNumberSchema } from '@aztec/foundation/branded-types'
|
|
|
3
3
|
import { type ZodTypeAny, z } from 'zod';
|
|
4
4
|
|
|
5
5
|
import { L2BlockHash } from './block_hash.js';
|
|
6
|
-
import type {
|
|
6
|
+
import type { L2BlockNew } from './l2_block_new.js';
|
|
7
7
|
|
|
8
8
|
export type InBlock = {
|
|
9
9
|
l2BlockNumber: BlockNumber;
|
|
@@ -29,7 +29,7 @@ export function randomDataInBlock<T>(data: T): DataInBlock<T> {
|
|
|
29
29
|
};
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
export async function wrapDataInBlock<T>(data: T, block:
|
|
32
|
+
export async function wrapDataInBlock<T>(data: T, block: L2BlockNew): Promise<DataInBlock<T>> {
|
|
33
33
|
return {
|
|
34
34
|
data,
|
|
35
35
|
l2BlockNumber: block.number,
|
package/src/block/index.ts
CHANGED
|
@@ -18,10 +18,15 @@ import { BlockHeader } from '../tx/block_header.js';
|
|
|
18
18
|
import { Body } from './body.js';
|
|
19
19
|
import type { L2BlockInfo } from './l2_block_info.js';
|
|
20
20
|
|
|
21
|
+
// TODO(palla/mbps): Delete the existing `L2Block` class and rename this to `L2Block`.
|
|
22
|
+
// TODO(palla/mbps): Consider moving the checkpointNumber and indexWithinCheckpoint to the header:
|
|
23
|
+
// if the blockNumber is there, why not these as well? Consider whether they should be part of the
|
|
24
|
+
// circuits structs though.
|
|
25
|
+
|
|
21
26
|
/**
|
|
22
27
|
* An L2 block with a header and a body.
|
|
23
28
|
*/
|
|
24
|
-
export class
|
|
29
|
+
export class L2BlockNew {
|
|
25
30
|
constructor(
|
|
26
31
|
/** Snapshot of archive tree after the block is applied. */
|
|
27
32
|
public archive: AppendOnlyTreeSnapshot,
|
|
@@ -58,7 +63,7 @@ export class L2Block {
|
|
|
58
63
|
})
|
|
59
64
|
.transform(
|
|
60
65
|
({ archive, header, body, checkpointNumber, indexWithinCheckpoint }) =>
|
|
61
|
-
new
|
|
66
|
+
new L2BlockNew(archive, header, body, checkpointNumber, indexWithinCheckpoint),
|
|
62
67
|
);
|
|
63
68
|
}
|
|
64
69
|
|
|
@@ -74,7 +79,7 @@ export class L2Block {
|
|
|
74
79
|
const checkpointNumber = CheckpointNumber(reader.readNumber());
|
|
75
80
|
const indexWithinCheckpoint = IndexWithinCheckpoint(reader.readNumber());
|
|
76
81
|
|
|
77
|
-
return new
|
|
82
|
+
return new L2BlockNew(archive, header, body, checkpointNumber, indexWithinCheckpoint);
|
|
78
83
|
}
|
|
79
84
|
|
|
80
85
|
/**
|
|
@@ -138,7 +143,7 @@ export class L2Block {
|
|
|
138
143
|
}
|
|
139
144
|
|
|
140
145
|
static empty(header?: BlockHeader) {
|
|
141
|
-
return new
|
|
146
|
+
return new L2BlockNew(
|
|
142
147
|
AppendOnlyTreeSnapshot.empty(),
|
|
143
148
|
header ?? BlockHeader.empty(),
|
|
144
149
|
Body.empty(),
|
|
@@ -172,11 +177,11 @@ export class L2Block {
|
|
|
172
177
|
txOptions?: Partial<Parameters<typeof Body.random>[0]>;
|
|
173
178
|
makeTxOptions?: (txIndex: number) => Partial<Parameters<typeof Body.random>[0]>;
|
|
174
179
|
} & Partial<Parameters<typeof BlockHeader.random>[0]> = {},
|
|
175
|
-
): Promise<
|
|
180
|
+
): Promise<L2BlockNew> {
|
|
176
181
|
const archive = new AppendOnlyTreeSnapshot(Fr.random(), blockNumber + 1);
|
|
177
182
|
const header = BlockHeader.random({ blockNumber, ...blockHeaderOverrides });
|
|
178
183
|
const body = await Body.random({ txsPerBlock, makeTxOptions, ...txOptions });
|
|
179
|
-
return new
|
|
184
|
+
return new L2BlockNew(archive, header, body, checkpointNumber, indexWithinCheckpoint);
|
|
180
185
|
}
|
|
181
186
|
|
|
182
187
|
/**
|