@aztec/sequencer-client 0.1.0-alpha17 → 0.1.0-alpha21

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.
@@ -1,13 +1,12 @@
1
- import { ARGS_LENGTH, CallContext, CircuitsWasm, EthAddress, Fr, FunctionData, GlobalVariables, KERNEL_PRIVATE_CALL_STACK_LENGTH, KERNEL_PUBLIC_CALL_STACK_LENGTH, PUBLIC_DATA_TREE_HEIGHT, makeEmptyProof, makeTuple, } from '@aztec/circuits.js';
1
+ import { ARGS_LENGTH, CallContext, CircuitsWasm, EthAddress, Fr, FunctionData, GlobalVariables, MAX_PRIVATE_CALL_STACK_LENGTH_PER_TX, MAX_PUBLIC_CALL_STACK_LENGTH_PER_TX, PUBLIC_DATA_TREE_HEIGHT, makeEmptyProof, makeTuple, } from '@aztec/circuits.js';
2
2
  import { computeCallStackItemHash } from '@aztec/circuits.js/abis';
3
3
  import { makeAztecAddress, makeKernelPublicInputs, makePublicCallRequest, makeSelector, } from '@aztec/circuits.js/factories';
4
4
  import { padArrayEnd } from '@aztec/foundation/collection';
5
5
  import { SiblingPath } from '@aztec/merkle-tree';
6
- import { ContractPublicData, EncodedContractFunction, FunctionL2Logs, Tx, TxL2Logs, } from '@aztec/types';
6
+ import { ContractPublicData, EncodedContractFunction, FunctionL2Logs, mockTx, Tx, TxL2Logs, } from '@aztec/types';
7
7
  import { mock } from 'jest-mock-extended';
8
8
  import pick from 'lodash.pick';
9
9
  import times from 'lodash.times';
10
- import { makeTx } from '../index.js';
11
10
  import { WasmPublicKernelCircuitSimulator } from '../simulator/public_kernel.js';
12
11
  import { PublicProcessor } from './public_processor.js';
13
12
  describe('public_processor', () => {
@@ -42,8 +41,8 @@ describe('public_processor', () => {
42
41
  processor = new PublicProcessor(db, publicExecutor, publicKernel, publicProver, contractDataSource);
43
42
  });
44
43
  it('skips txs without public execution requests', async function () {
45
- const tx = makeTx();
46
- tx.data.end.publicCallStack = makeTuple(KERNEL_PUBLIC_CALL_STACK_LENGTH, Fr.zero);
44
+ const tx = mockTx();
45
+ tx.data.end.publicCallStack = makeTuple(MAX_PUBLIC_CALL_STACK_LENGTH_PER_TX, Fr.zero);
47
46
  const hash = await tx.getTxHash();
48
47
  const [processed, failed] = await processor.process([tx], GlobalVariables.empty());
49
48
  expect(processed).toEqual([
@@ -53,7 +52,7 @@ describe('public_processor', () => {
53
52
  });
54
53
  it('returns failed txs without aborting entire operation', async function () {
55
54
  publicExecutor.execute.mockRejectedValue(new Error(`Failed`));
56
- const tx = makeTx();
55
+ const tx = mockTx();
57
56
  const [processed, failed] = await processor.process([tx], GlobalVariables.empty());
58
57
  expect(processed).toEqual([]);
59
58
  expect(failed).toEqual([tx]);
@@ -80,8 +79,8 @@ describe('public_processor', () => {
80
79
  const callStackItems = await Promise.all(callRequests.map(call => call.toPublicCallStackItem()));
81
80
  const callStackHashes = callStackItems.map(call => computeCallStackItemHash(wasm, call));
82
81
  const kernelOutput = makeKernelPublicInputs(0x10);
83
- kernelOutput.end.publicCallStack = padArrayEnd(callStackHashes, Fr.ZERO, KERNEL_PUBLIC_CALL_STACK_LENGTH);
84
- kernelOutput.end.privateCallStack = padArrayEnd([], Fr.ZERO, KERNEL_PRIVATE_CALL_STACK_LENGTH);
82
+ kernelOutput.end.publicCallStack = padArrayEnd(callStackHashes, Fr.ZERO, MAX_PUBLIC_CALL_STACK_LENGTH_PER_TX);
83
+ kernelOutput.end.privateCallStack = padArrayEnd([], Fr.ZERO, MAX_PRIVATE_CALL_STACK_LENGTH_PER_TX);
85
84
  const tx = new Tx(kernelOutput, proof, TxL2Logs.random(2, 3), TxL2Logs.random(3, 2), [], callRequests);
86
85
  publicExecutor.execute.mockImplementation(execution => {
87
86
  for (const request of callRequests) {
@@ -102,8 +101,8 @@ describe('public_processor', () => {
102
101
  const callStackItem = await callRequest.toPublicCallStackItem();
103
102
  const callStackHash = computeCallStackItemHash(wasm, callStackItem);
104
103
  const kernelOutput = makeKernelPublicInputs(0x10);
105
- kernelOutput.end.publicCallStack = padArrayEnd([callStackHash], Fr.ZERO, KERNEL_PUBLIC_CALL_STACK_LENGTH);
106
- kernelOutput.end.privateCallStack = padArrayEnd([], Fr.ZERO, KERNEL_PRIVATE_CALL_STACK_LENGTH);
104
+ kernelOutput.end.publicCallStack = padArrayEnd([callStackHash], Fr.ZERO, MAX_PUBLIC_CALL_STACK_LENGTH_PER_TX);
105
+ kernelOutput.end.privateCallStack = padArrayEnd([], Fr.ZERO, MAX_PRIVATE_CALL_STACK_LENGTH_PER_TX);
107
106
  const tx = new Tx(kernelOutput, proof, TxL2Logs.random(2, 3), TxL2Logs.random(3, 2), [], [callRequest]);
108
107
  const publicExecutionResult = makePublicExecutionResultFromRequest(callRequest);
109
108
  publicExecutionResult.nestedExecutions = [
@@ -156,4 +155,4 @@ function makePublicExecutionResult(tx, nestedExecutions = []) {
156
155
  unencryptedLogs: new FunctionL2Logs([]),
157
156
  };
158
157
  }
159
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX3Byb2Nlc3Nvci50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcXVlbmNlci9wdWJsaWNfcHJvY2Vzc29yLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNMLFdBQVcsRUFDWCxXQUFXLEVBQ1gsWUFBWSxFQUNaLFVBQVUsRUFDVixFQUFFLEVBQ0YsWUFBWSxFQUNaLGVBQWUsRUFDZixnQ0FBZ0MsRUFDaEMsK0JBQStCLEVBQy9CLHVCQUF1QixFQUd2QixjQUFjLEVBQ2QsU0FBUyxHQUNWLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbkUsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixzQkFBc0IsRUFDdEIscUJBQXFCLEVBQ3JCLFlBQVksR0FDYixNQUFNLDhCQUE4QixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDakQsT0FBTyxFQUVMLGtCQUFrQixFQUNsQix1QkFBdUIsRUFFdkIsY0FBYyxFQUNkLEVBQUUsRUFDRixRQUFRLEdBQ1QsTUFBTSxjQUFjLENBQUM7QUFFdEIsT0FBTyxFQUFhLElBQUksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sSUFBSSxNQUFNLGFBQWEsQ0FBQztBQUMvQixPQUFPLEtBQUssTUFBTSxjQUFjLENBQUM7QUFDakMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUdyQyxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNqRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFeEQsUUFBUSxDQUFDLGtCQUFrQixFQUFFLEdBQUcsRUFBRTtJQUNoQyxJQUFJLEVBQW1DLENBQUM7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
158
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX3Byb2Nlc3Nvci50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcXVlbmNlci9wdWJsaWNfcHJvY2Vzc29yLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNMLFdBQVcsRUFDWCxXQUFXLEVBQ1gsWUFBWSxFQUNaLFVBQVUsRUFDVixFQUFFLEVBQ0YsWUFBWSxFQUNaLGVBQWUsRUFDZixvQ0FBb0MsRUFDcEMsbUNBQW1DLEVBQ25DLHVCQUF1QixFQUd2QixjQUFjLEVBQ2QsU0FBUyxHQUNWLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbkUsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixzQkFBc0IsRUFDdEIscUJBQXFCLEVBQ3JCLFlBQVksR0FDYixNQUFNLDhCQUE4QixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDakQsT0FBTyxFQUVMLGtCQUFrQixFQUNsQix1QkFBdUIsRUFFdkIsY0FBYyxFQUNkLE1BQU0sRUFDTixFQUFFLEVBQ0YsUUFBUSxHQUNULE1BQU0sY0FBYyxDQUFDO0FBRXRCLE9BQU8sRUFBYSxJQUFJLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLElBQUksTUFBTSxhQUFhLENBQUM7QUFDL0IsT0FBTyxLQUFLLE1BQU0sY0FBYyxDQUFDO0FBR2pDLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV4RCxRQUFRLENBQUMsa0JBQWtCLEVBQUUsR0FBRyxFQUFFO0lBQ2hDLElBQUksRUFBbUMsQ0FBQztJQUN4QyxJQUFJLGNBQXlDLENBQUM7SUFDOUMsSUFB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
@@ -1,10 +1,9 @@
1
1
  import { CombinedHistoricTreeRoots, Fr, GlobalVariables, NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP, makeEmptyProof, } from '@aztec/circuits.js';
2
2
  import { P2PClientState } from '@aztec/p2p';
3
- import { L2Block, MerkleTreeId, Tx, TxHash } from '@aztec/types';
3
+ import { L2Block, MerkleTreeId, mockTx, Tx, TxHash } from '@aztec/types';
4
4
  import { WorldStateRunningState } from '@aztec/world-state';
5
5
  import { mock } from 'jest-mock-extended';
6
6
  import times from 'lodash.times';
7
- import { makeTx } from '../index.js';
8
7
  import { makeEmptyProcessedTx, makeProcessedTx } from './processed_tx.js';
9
8
  import { Sequencer } from './sequencer.js';
10
9
  describe('sequencer', () => {
@@ -54,7 +53,7 @@ describe('sequencer', () => {
54
53
  });
55
54
  });
56
55
  it('builds a block out of a single tx', async () => {
57
- const tx = makeTx();
56
+ const tx = mockTx();
58
57
  const block = L2Block.random(lastBlockNumber + 1);
59
58
  const proof = makeEmptyProof();
60
59
  p2p.getTxs.mockResolvedValueOnce([tx]);
@@ -68,7 +67,7 @@ describe('sequencer', () => {
68
67
  expect(publisher.processL2Block).toHaveBeenCalledWith(block);
69
68
  });
70
69
  it('builds a block out of several txs rejecting double spends', async () => {
71
- const txs = [makeTx(0x10000), makeTx(0x20000), makeTx(0x30000)];
70
+ const txs = [mockTx(0x10000), mockTx(0x20000), mockTx(0x30000)];
72
71
  const doubleSpendTx = txs[1];
73
72
  const block = L2Block.random(lastBlockNumber + 1);
74
73
  const proof = makeEmptyProof();
@@ -97,4 +96,4 @@ class TestSubject extends Sequencer {
97
96
  return super.initialSync();
98
97
  }
99
98
  }
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VxdWVuY2VyLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VxdWVuY2VyL3NlcXVlbmNlci50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx5QkFBeUIsRUFDekIsRUFBRSxFQUNGLGVBQWUsRUFDZixtQ0FBbUMsRUFDbkMsY0FBYyxHQUNmLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFPLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNqRCxPQUFPLEVBQXVCLE9BQU8sRUFBaUIsWUFBWSxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDckcsT0FBTyxFQUF3QixzQkFBc0IsRUFBMEIsTUFBTSxvQkFBb0IsQ0FBQztBQUMxRyxPQUFPLEVBQWEsSUFBSSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxLQUFLLE1BQU0sY0FBYyxDQUFDO0FBRWpDLE9BQU8sRUFBZSxNQUFNLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUczQyxRQUFRLENBQUMsV0FBVyxFQUFFLEdBQUcsRUFBRTtJQUN6QixJQUFJLFNBQWlDLENBQUM7SUFDdEMsSUFBSSxxQkFBdUQsQ0FBQztJQUM1RCxJQUFJLEdBQW1CLENBQUM7SUFDeEIsSUFBSSxVQUE2QyxDQUFDO0lBQ2xELElBQUksWUFBcUMsQ0FBQztJQUMxQyxJQUFJLGFBQThDLENBQUM7SUFDbkQsSUFBSSxlQUEyQyxDQUFDO0lBQ2hELElBQUksYUFBdUMsQ0FBQztJQUM1QyxJQUFJLG1CQUFtRCxDQUFDO0lBQ3hELElBQUksc0JBQXlELENBQUM7SUFFOUQsSUFBSSxlQUF1QixDQUFDO0lBRTVCLElBQUksU0FBc0IsQ0FBQztJQUUz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
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VxdWVuY2VyLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VxdWVuY2VyL3NlcXVlbmNlci50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx5QkFBeUIsRUFDekIsRUFBRSxFQUNGLGVBQWUsRUFDZixtQ0FBbUMsRUFDbkMsY0FBYyxHQUNmLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFPLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNqRCxPQUFPLEVBQXVCLE9BQU8sRUFBaUIsWUFBWSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzdHLE9BQU8sRUFBd0Isc0JBQXNCLEVBQTBCLE1BQU0sb0JBQW9CLENBQUM7QUFDMUcsT0FBTyxFQUFhLElBQUksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sS0FBSyxNQUFNLGNBQWMsQ0FBQztBQUdqQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFMUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRzNDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsR0FBRyxFQUFFO0lBQ3pCLElBQUksU0FBaUMsQ0FBQztJQUN0QyxJQUFJLHFCQUF1RCxDQUFDO0lBQzVELElBQUksR0FBbUIsQ0FBQztJQUN4QixJQUFJLFVBQTZDLENBQUM7SUFDbEQsSUFBSSxZQUFxQyxDQUFDO0lBQzFDLElBQUksYUFBOEMsQ0FBQztJQUNuRCxJQUFJLGVBQTJDLENBQUM7SUFDaEQsSUFBSSxhQUF1QyxDQUFDO0lBQzVDLElBQUksbUJBQW1ELENBQUM7SUFDeEQsSUFBSSxzQkFBeUQsQ0FBQztJQUU5RCxJQUFJLGVBQXVCLENBQUM7SUFFNUIsSUFBSSxTQUFzQixDQUFDO0lBRTNCLE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQyxJQUFJ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
package/package.json CHANGED
@@ -1,18 +1,18 @@
1
1
  {
2
2
  "name": "@aztec/sequencer-client",
3
- "version": "0.1.0-alpha17",
3
+ "version": "0.1.0-alpha21",
4
4
  "exports": "./dest/index.js",
5
5
  "type": "module",
6
6
  "dependencies": {
7
- "@aztec/acir-simulator": "0.1.0-alpha17",
8
- "@aztec/circuits.js": "0.1.0-alpha17",
9
- "@aztec/ethereum": "0.1.0-alpha17",
10
- "@aztec/foundation": "0.1.0-alpha17",
11
- "@aztec/l1-artifacts": "0.1.0-alpha17",
12
- "@aztec/merkle-tree": "0.1.0-alpha17",
13
- "@aztec/p2p": "0.1.0-alpha17",
14
- "@aztec/types": "0.1.0-alpha17",
15
- "@aztec/world-state": "0.1.0-alpha17",
7
+ "@aztec/acir-simulator": "0.1.0-alpha21",
8
+ "@aztec/circuits.js": "0.1.0-alpha21",
9
+ "@aztec/ethereum": "0.1.0-alpha21",
10
+ "@aztec/foundation": "0.1.0-alpha21",
11
+ "@aztec/l1-artifacts": "0.1.0-alpha21",
12
+ "@aztec/merkle-tree": "0.1.0-alpha21",
13
+ "@aztec/p2p": "0.1.0-alpha21",
14
+ "@aztec/types": "0.1.0-alpha21",
15
+ "@aztec/world-state": "0.1.0-alpha21",
16
16
  "lodash.chunk": "^4.2.0",
17
17
  "lodash.flatmap": "^4.5.0",
18
18
  "lodash.pick": "^4.4.0",
@@ -5,13 +5,12 @@ import {
5
5
  CircuitsWasm,
6
6
  Fr,
7
7
  GlobalVariables,
8
- KERNEL_NEW_COMMITMENTS_LENGTH,
9
- KERNEL_NEW_L2_TO_L1_MSGS_LENGTH,
10
- KERNEL_NEW_NULLIFIERS_LENGTH,
11
- KERNEL_PUBLIC_CALL_STACK_LENGTH,
12
- KERNEL_PUBLIC_DATA_UPDATE_REQUESTS_LENGTH,
8
+ MAX_NEW_COMMITMENTS_PER_TX,
9
+ MAX_NEW_L2_TO_L1_MSGS_PER_TX,
10
+ MAX_NEW_NULLIFIERS_PER_TX,
11
+ MAX_PUBLIC_CALL_STACK_LENGTH_PER_TX,
12
+ MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX,
13
13
  KernelCircuitPublicInputs,
14
- NULLIFIER_TREE_HEIGHT,
15
14
  NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP,
16
15
  Proof,
17
16
  PublicDataUpdateRequest,
@@ -30,14 +29,23 @@ import {
30
29
  makeRootRollupPublicInputs,
31
30
  } from '@aztec/circuits.js/factories';
32
31
  import { toBufferBE } from '@aztec/foundation/bigint-buffer';
33
- import { ContractData, L2Block, L2BlockL2Logs, MerkleTreeId, PublicDataWrite, Tx, TxL2Logs } from '@aztec/types';
32
+ import {
33
+ ContractData,
34
+ L2Block,
35
+ L2BlockL2Logs,
36
+ MerkleTreeId,
37
+ mockTx,
38
+ PublicDataWrite,
39
+ Tx,
40
+ TxL2Logs,
41
+ makeEmptyLogs,
42
+ } from '@aztec/types';
34
43
  import { MerkleTreeOperations, MerkleTrees } from '@aztec/world-state';
35
44
  import { MockProxy, mock } from 'jest-mock-extended';
36
45
  import { default as levelup } from 'levelup';
37
46
  import flatMap from 'lodash.flatmap';
38
47
  import times from 'lodash.times';
39
48
  import { default as memdown, type MemDown } from 'memdown';
40
- import { makeEmptyLogs, makeTx } from '../mocks/tx.js';
41
49
  import { VerificationKeys, getVerificationKeys } from '../mocks/verification_keys.js';
42
50
  import { EmptyRollupProver } from '../prover/empty.js';
43
51
  import { RollupProver } from '../prover/index.js';
@@ -121,10 +129,14 @@ describe('sequencer/solo_block_builder', () => {
121
129
  for (const [tree, leaves] of [
122
130
  [MerkleTreeId.PRIVATE_DATA_TREE, flatMap(txs, tx => tx.data.end.newCommitments.map(l => l.toBuffer()))],
123
131
  [MerkleTreeId.CONTRACT_TREE, newContracts.map(x => x.toBuffer())],
124
- [MerkleTreeId.NULLIFIER_TREE, flatMap(txs, tx => tx.data.end.newNullifiers.map(x => x.toBuffer()))],
125
132
  ] as const) {
126
133
  await expectsDb.appendLeaves(tree, leaves);
127
134
  }
135
+ await expectsDb.batchInsert(
136
+ MerkleTreeId.NULLIFIER_TREE,
137
+ flatMap(txs, tx => tx.data.end.newNullifiers.map(x => x.toBuffer())),
138
+ BaseRollupInputs.NULLIFIER_SUBTREE_HEIGHT,
139
+ );
128
140
  for (const write of txs.flatMap(tx => tx.data.end.publicDataUpdateRequests)) {
129
141
  await expectsDb.updateLeaf(MerkleTreeId.PUBLIC_DATA_TREE, write.newValue.toBuffer(), write.leafIndex.value);
130
142
  }
@@ -151,7 +163,7 @@ describe('sequencer/solo_block_builder', () => {
151
163
  makeEmptyLogs(),
152
164
  makeEmptyLogs(),
153
165
  [],
154
- times(KERNEL_PUBLIC_CALL_STACK_LENGTH, makePublicCallRequest),
166
+ times(MAX_PUBLIC_CALL_STACK_LENGTH_PER_TX, makePublicCallRequest),
155
167
  ),
156
168
  );
157
169
 
@@ -263,29 +275,6 @@ describe('sequencer/solo_block_builder', () => {
263
275
  expect(proof).toEqual(emptyProof);
264
276
  }, 20000);
265
277
 
266
- // For varying orders of insertions assert the local batch insertion generator creates the correct proofs
267
- it.each([
268
- // These are arbitrary but it needs to be higher than the constant `INITIAL_NULLIFIER_TREE_SIZE` and `KERNEL_NEW_NULLIFIERS_LENGTH * 2`
269
- [[1003, 1002, 1001, 1000, 0, 0, 0, 0]],
270
- [[1003, 1004, 1005, 1006, 0, 0, 0, 0]],
271
- [[1234, 1098, 0, 0, 99999, 1096, 1054, 0]],
272
- [[1970, 1980, 1040, 0, 99999, 1880, 100001, 9000000]],
273
- ] as const)('performs nullifier tree batch insertion correctly', async nullifiers => {
274
- const leaves = nullifiers.map(i => toBufferBE(BigInt(i), 32));
275
- await expectsDb.appendLeaves(MerkleTreeId.NULLIFIER_TREE, leaves);
276
-
277
- await builderDb.batchInsert(
278
- MerkleTreeId.NULLIFIER_TREE,
279
- leaves,
280
- NULLIFIER_TREE_HEIGHT,
281
- BaseRollupInputs.NULLIFIER_SUBTREE_HEIGHT,
282
- );
283
-
284
- const expected = await expectsDb.getTreeInfo(MerkleTreeId.NULLIFIER_TREE);
285
- const actual = await builderDb.getTreeInfo(MerkleTreeId.NULLIFIER_TREE);
286
- expect(actual).toEqual(expected);
287
- });
288
-
289
278
  it('rejects if too many l1 to l2 messages are provided', async () => {
290
279
  // Assemble a fake transaction
291
280
  const txs = await buildMockSimulatorInputs();
@@ -308,21 +297,21 @@ describe('sequencer/solo_block_builder', () => {
308
297
  };
309
298
 
310
299
  const makeBloatedProcessedTx = async (seed = 0x1) => {
311
- const tx = makeTx(seed);
300
+ const tx = mockTx(seed);
312
301
  const kernelOutput = KernelCircuitPublicInputs.empty();
313
302
  kernelOutput.constants.historicTreeRoots = await getCombinedHistoricTreeRoots(builderDb);
314
303
  kernelOutput.end.publicDataUpdateRequests = makeTuple(
315
- KERNEL_PUBLIC_DATA_UPDATE_REQUESTS_LENGTH,
304
+ MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX,
316
305
  i => new PublicDataUpdateRequest(fr(i), fr(0), fr(i + 10)),
317
306
  seed + 0x500,
318
307
  );
319
308
 
320
309
  const processedTx = await makeProcessedTx(tx, kernelOutput, makeProof());
321
310
 
322
- processedTx.data.end.newCommitments = makeTuple(KERNEL_NEW_COMMITMENTS_LENGTH, fr, seed + 0x100);
323
- processedTx.data.end.newNullifiers = makeTuple(KERNEL_NEW_NULLIFIERS_LENGTH, fr, seed + 0x200);
311
+ processedTx.data.end.newCommitments = makeTuple(MAX_NEW_COMMITMENTS_PER_TX, fr, seed + 0x100);
312
+ processedTx.data.end.newNullifiers = makeTuple(MAX_NEW_NULLIFIERS_PER_TX, fr, seed + 0x200);
324
313
  processedTx.data.end.newNullifiers[tx.data.end.newNullifiers.length - 1] = Fr.ZERO;
325
- processedTx.data.end.newL2ToL1Msgs = makeTuple(KERNEL_NEW_L2_TO_L1_MSGS_LENGTH, fr, seed + 0x300);
314
+ processedTx.data.end.newL2ToL1Msgs = makeTuple(MAX_NEW_L2_TO_L1_MSGS_PER_TX, fr, seed + 0x300);
326
315
  processedTx.data.end.newContracts = [makeNewContractData(seed + 0x1000)];
327
316
  processedTx.data.end.encryptedLogsHash = to2Fields(L2Block.computeKernelLogsHash(processedTx.encryptedLogs));
328
317
  processedTx.data.end.unencryptedLogsHash = to2Fields(L2Block.computeKernelLogsHash(processedTx.unencryptedLogs));
@@ -395,13 +384,14 @@ describe('sequencer/solo_block_builder', () => {
395
384
  const prover = new EmptyRollupProver();
396
385
  builder = new SoloBlockBuilder(builderDb, vks, simulator, prover);
397
386
  // update the starting tree
398
- const updateVals = Array(4 * KERNEL_NEW_NULLIFIERS_LENGTH).fill(0n);
387
+ const updateVals = Array(4 * MAX_NEW_NULLIFIERS_PER_TX).fill(0n);
399
388
  updateVals[0] = 19777494491628650244807463906174285795660759352776418619064841306523677458742n;
400
389
  updateVals[1] = 10246291467305176436335175657884940686778521321101740385288169037814567547848n;
401
390
 
402
- await builderDb.appendLeaves(
391
+ await builderDb.batchInsert(
403
392
  MerkleTreeId.NULLIFIER_TREE,
404
393
  updateVals.map(v => toBufferBE(v, 32)),
394
+ BaseRollupInputs.NULLIFIER_SUBTREE_HEIGHT,
405
395
  );
406
396
 
407
397
  // new added values
@@ -6,8 +6,8 @@ import {
6
6
  CircuitsWasm,
7
7
  ConstantBaseRollupData,
8
8
  GlobalVariables,
9
- L1_TO_L2_MESSAGES_ROOTS_TREE_HEIGHT,
10
- L1_TO_L2_MESSAGES_SUBTREE_HEIGHT,
9
+ L1_TO_L2_MSG_ROOTS_TREE_HEIGHT,
10
+ L1_TO_L2_MSG_SUBTREE_HEIGHT,
11
11
  MembershipWitness,
12
12
  MergeRollupInputs,
13
13
  NULLIFIER_TREE_HEIGHT,
@@ -426,7 +426,7 @@ export class SoloBlockBuilder implements BlockBuilder {
426
426
  );
427
427
  const newL1ToL2MessageTreeRootSiblingPath = await this.getSubtreeSiblingPath(
428
428
  MerkleTreeId.L1_TO_L2_MESSAGES_TREE,
429
- L1_TO_L2_MESSAGES_SUBTREE_HEIGHT,
429
+ L1_TO_L2_MSG_SUBTREE_HEIGHT,
430
430
  );
431
431
 
432
432
  // Get tree snapshots
@@ -518,7 +518,7 @@ export class SoloBlockBuilder implements BlockBuilder {
518
518
  return this.getMembershipWitnessFor(
519
519
  tx.data.constants.historicTreeRoots.privateHistoricTreeRoots.l1ToL2MessagesTreeRoot,
520
520
  MerkleTreeId.L1_TO_L2_MESSAGES_ROOTS_TREE,
521
- L1_TO_L2_MESSAGES_ROOTS_TREE_HEIGHT,
521
+ L1_TO_L2_MSG_ROOTS_TREE_HEIGHT,
522
522
  );
523
523
  }
524
524
 
@@ -655,7 +655,6 @@ export class SoloBlockBuilder implements BlockBuilder {
655
655
  const [nullifierWitnessLeaves, newNullifiersSubtreeSiblingPath] = await this.db.batchInsert(
656
656
  MerkleTreeId.NULLIFIER_TREE,
657
657
  newNullifiers.map(fr => fr.toBuffer()),
658
- NULLIFIER_TREE_HEIGHT,
659
658
  BaseRollupInputs.NULLIFIER_SUBTREE_HEIGHT,
660
659
  );
661
660
  if (nullifierWitnessLeaves === undefined) {
package/src/index.ts CHANGED
@@ -2,7 +2,6 @@ export * from './sequencer/index.js';
2
2
  export * from './config.js';
3
3
  export * from './publisher/index.js';
4
4
  export * from './client/index.js';
5
- export * from './mocks/tx.js';
6
5
  export * from './mocks/verification_keys.js';
7
6
 
8
7
  // Used by publisher test in e2e
@@ -7,8 +7,8 @@ import {
7
7
  Fr,
8
8
  FunctionData,
9
9
  GlobalVariables,
10
- KERNEL_PRIVATE_CALL_STACK_LENGTH,
11
- KERNEL_PUBLIC_CALL_STACK_LENGTH,
10
+ MAX_PRIVATE_CALL_STACK_LENGTH_PER_TX,
11
+ MAX_PUBLIC_CALL_STACK_LENGTH_PER_TX,
12
12
  PUBLIC_DATA_TREE_HEIGHT,
13
13
  Proof,
14
14
  PublicCallRequest,
@@ -30,6 +30,7 @@ import {
30
30
  EncodedContractFunction,
31
31
  ExecutionRequest,
32
32
  FunctionL2Logs,
33
+ mockTx,
33
34
  Tx,
34
35
  TxL2Logs,
35
36
  } from '@aztec/types';
@@ -37,7 +38,6 @@ import { MerkleTreeOperations, TreeInfo } from '@aztec/world-state';
37
38
  import { MockProxy, mock } from 'jest-mock-extended';
38
39
  import pick from 'lodash.pick';
39
40
  import times from 'lodash.times';
40
- import { makeTx } from '../index.js';
41
41
  import { PublicProver } from '../prover/index.js';
42
42
  import { PublicKernelCircuitSimulator } from '../simulator/index.js';
43
43
  import { WasmPublicKernelCircuitSimulator } from '../simulator/public_kernel.js';
@@ -83,8 +83,8 @@ describe('public_processor', () => {
83
83
  });
84
84
 
85
85
  it('skips txs without public execution requests', async function () {
86
- const tx = makeTx();
87
- tx.data.end.publicCallStack = makeTuple(KERNEL_PUBLIC_CALL_STACK_LENGTH, Fr.zero);
86
+ const tx = mockTx();
87
+ tx.data.end.publicCallStack = makeTuple(MAX_PUBLIC_CALL_STACK_LENGTH_PER_TX, Fr.zero);
88
88
  const hash = await tx.getTxHash();
89
89
  const [processed, failed] = await processor.process([tx], GlobalVariables.empty());
90
90
 
@@ -97,7 +97,7 @@ describe('public_processor', () => {
97
97
  it('returns failed txs without aborting entire operation', async function () {
98
98
  publicExecutor.execute.mockRejectedValue(new Error(`Failed`));
99
99
 
100
- const tx = makeTx();
100
+ const tx = mockTx();
101
101
  const [processed, failed] = await processor.process([tx], GlobalVariables.empty());
102
102
 
103
103
  expect(processed).toEqual([]);
@@ -132,8 +132,8 @@ describe('public_processor', () => {
132
132
  const callStackHashes = callStackItems.map(call => computeCallStackItemHash(wasm, call));
133
133
 
134
134
  const kernelOutput = makeKernelPublicInputs(0x10);
135
- kernelOutput.end.publicCallStack = padArrayEnd(callStackHashes, Fr.ZERO, KERNEL_PUBLIC_CALL_STACK_LENGTH);
136
- kernelOutput.end.privateCallStack = padArrayEnd([], Fr.ZERO, KERNEL_PRIVATE_CALL_STACK_LENGTH);
135
+ kernelOutput.end.publicCallStack = padArrayEnd(callStackHashes, Fr.ZERO, MAX_PUBLIC_CALL_STACK_LENGTH_PER_TX);
136
+ kernelOutput.end.privateCallStack = padArrayEnd([], Fr.ZERO, MAX_PRIVATE_CALL_STACK_LENGTH_PER_TX);
137
137
 
138
138
  const tx = new Tx(kernelOutput, proof, TxL2Logs.random(2, 3), TxL2Logs.random(3, 2), [], callRequests);
139
139
 
@@ -160,8 +160,8 @@ describe('public_processor', () => {
160
160
  const callStackHash = computeCallStackItemHash(wasm, callStackItem);
161
161
 
162
162
  const kernelOutput = makeKernelPublicInputs(0x10);
163
- kernelOutput.end.publicCallStack = padArrayEnd([callStackHash], Fr.ZERO, KERNEL_PUBLIC_CALL_STACK_LENGTH);
164
- kernelOutput.end.privateCallStack = padArrayEnd([], Fr.ZERO, KERNEL_PRIVATE_CALL_STACK_LENGTH);
163
+ kernelOutput.end.publicCallStack = padArrayEnd([callStackHash], Fr.ZERO, MAX_PUBLIC_CALL_STACK_LENGTH_PER_TX);
164
+ kernelOutput.end.privateCallStack = padArrayEnd([], Fr.ZERO, MAX_PRIVATE_CALL_STACK_LENGTH_PER_TX);
165
165
 
166
166
  const tx = new Tx(kernelOutput, proof, TxL2Logs.random(2, 3), TxL2Logs.random(3, 2), [], [callRequest]);
167
167
 
@@ -6,14 +6,14 @@ import {
6
6
  ContractStorageUpdateRequest,
7
7
  Fr,
8
8
  GlobalVariables,
9
- KERNEL_PUBLIC_DATA_READS_LENGTH,
10
- KERNEL_PUBLIC_DATA_UPDATE_REQUESTS_LENGTH,
9
+ MAX_PUBLIC_DATA_READS_PER_CALL,
10
+ MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL,
11
11
  KernelCircuitPublicInputs,
12
12
  MembershipWitness,
13
- NEW_COMMITMENTS_LENGTH,
14
- NEW_L2_TO_L1_MSGS_LENGTH,
15
- NEW_NULLIFIERS_LENGTH,
16
- PUBLIC_CALL_STACK_LENGTH,
13
+ MAX_NEW_COMMITMENTS_PER_CALL,
14
+ MAX_NEW_L2_TO_L1_MSGS_PER_CALL,
15
+ MAX_NEW_NULLIFIERS_PER_CALL,
16
+ MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,
17
17
  PreviousKernelData,
18
18
  Proof,
19
19
  PublicCallData,
@@ -210,19 +210,19 @@ export class PublicProcessor {
210
210
  callContext: result.execution.callContext,
211
211
  proverAddress: AztecAddress.random(),
212
212
  argsHash: await computeVarArgsHash(wasm, result.execution.args),
213
- newCommitments: padArrayEnd(result.newCommitments, Fr.ZERO, NEW_COMMITMENTS_LENGTH),
214
- newNullifiers: padArrayEnd(result.newNullifiers, Fr.ZERO, NEW_NULLIFIERS_LENGTH),
215
- newL2ToL1Msgs: padArrayEnd(result.newL2ToL1Messages, Fr.ZERO, NEW_L2_TO_L1_MSGS_LENGTH),
213
+ newCommitments: padArrayEnd(result.newCommitments, Fr.ZERO, MAX_NEW_COMMITMENTS_PER_CALL),
214
+ newNullifiers: padArrayEnd(result.newNullifiers, Fr.ZERO, MAX_NEW_NULLIFIERS_PER_CALL),
215
+ newL2ToL1Msgs: padArrayEnd(result.newL2ToL1Messages, Fr.ZERO, MAX_NEW_L2_TO_L1_MSGS_PER_CALL),
216
216
  returnValues: padArrayEnd(result.returnValues, Fr.ZERO, RETURN_VALUES_LENGTH),
217
217
  contractStorageReads: padArrayEnd(
218
218
  result.contractStorageReads,
219
219
  ContractStorageRead.empty(),
220
- KERNEL_PUBLIC_DATA_READS_LENGTH,
220
+ MAX_PUBLIC_DATA_READS_PER_CALL,
221
221
  ),
222
222
  contractStorageUpdateRequests: padArrayEnd(
223
223
  result.contractStorageUpdateRequests,
224
224
  ContractStorageUpdateRequest.empty(),
225
- KERNEL_PUBLIC_DATA_UPDATE_REQUESTS_LENGTH,
225
+ MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL,
226
226
  ),
227
227
  publicCallStack,
228
228
  unencryptedLogsHash,
@@ -243,12 +243,14 @@ export class PublicProcessor {
243
243
  protected async getPublicCallStackPreimages(result: PublicExecutionResult) {
244
244
  const nested = result.nestedExecutions;
245
245
  const preimages: PublicCallStackItem[] = await Promise.all(nested.map(n => this.getPublicCallStackItem(n)));
246
- if (preimages.length > PUBLIC_CALL_STACK_LENGTH) {
247
- throw new Error(`Public call stack size exceeded (max ${PUBLIC_CALL_STACK_LENGTH}, got ${preimages.length})`);
246
+ if (preimages.length > MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL) {
247
+ throw new Error(
248
+ `Public call stack size exceeded (max ${MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL}, got ${preimages.length})`,
249
+ );
248
250
  }
249
251
 
250
252
  // Top of the stack is at the end of the array, so we padStart
251
- return padArrayStart(preimages, PublicCallStackItem.empty(), PUBLIC_CALL_STACK_LENGTH);
253
+ return padArrayStart(preimages, PublicCallStackItem.empty(), MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL);
252
254
  }
253
255
 
254
256
  protected getBytecodeHash(_result: PublicExecutionResult) {
@@ -268,7 +270,7 @@ export class PublicProcessor {
268
270
  */
269
271
  protected async getPublicCallData(
270
272
  result: PublicExecutionResult,
271
- preimages: Tuple<PublicCallStackItem, typeof PUBLIC_CALL_STACK_LENGTH>,
273
+ preimages: Tuple<PublicCallStackItem, typeof MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL>,
272
274
  isExecutionRequest = false,
273
275
  ) {
274
276
  const bytecodeHash = await this.getBytecodeHash(result);
@@ -6,12 +6,12 @@ import {
6
6
  makeEmptyProof,
7
7
  } from '@aztec/circuits.js';
8
8
  import { P2P, P2PClientState } from '@aztec/p2p';
9
- import { L1ToL2MessageSource, L2Block, L2BlockSource, MerkleTreeId, Tx, TxHash } from '@aztec/types';
9
+ import { L1ToL2MessageSource, L2Block, L2BlockSource, MerkleTreeId, mockTx, Tx, TxHash } from '@aztec/types';
10
10
  import { MerkleTreeOperations, WorldStateRunningState, WorldStateSynchroniser } from '@aztec/world-state';
11
11
  import { MockProxy, mock } from 'jest-mock-extended';
12
12
  import times from 'lodash.times';
13
13
  import { BlockBuilder } from '../block_builder/index.js';
14
- import { L1Publisher, makeTx } from '../index.js';
14
+ import { L1Publisher } from '../index.js';
15
15
  import { makeEmptyProcessedTx, makeProcessedTx } from './processed_tx.js';
16
16
  import { PublicProcessor, PublicProcessorFactory } from './public_processor.js';
17
17
  import { Sequencer } from './sequencer.js';
@@ -87,7 +87,7 @@ describe('sequencer', () => {
87
87
  });
88
88
 
89
89
  it('builds a block out of a single tx', async () => {
90
- const tx = makeTx();
90
+ const tx = mockTx();
91
91
  const block = L2Block.random(lastBlockNumber + 1);
92
92
  const proof = makeEmptyProof();
93
93
 
@@ -112,7 +112,7 @@ describe('sequencer', () => {
112
112
  });
113
113
 
114
114
  it('builds a block out of several txs rejecting double spends', async () => {
115
- const txs = [makeTx(0x10000), makeTx(0x20000), makeTx(0x30000)];
115
+ const txs = [mockTx(0x10000), mockTx(0x20000), mockTx(0x30000)];
116
116
  const doubleSpendTx = txs[1];
117
117
  const block = L2Block.random(lastBlockNumber + 1);
118
118
  const proof = makeEmptyProof();
@@ -1,10 +0,0 @@
1
- import { Tx, TxL2Logs } from '@aztec/types';
2
- /**
3
- * Testing utility to create empty logs composed from a single empty log.
4
- */
5
- export declare function makeEmptyLogs(): TxL2Logs;
6
- /**
7
- * Testing utility to create a tx with gibberish kernel circuit output, random logs, and an empty proof.
8
- */
9
- export declare function makeTx(seed?: number): Tx;
10
- //# sourceMappingURL=tx.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tx.d.ts","sourceRoot":"","sources":["../../src/mocks/tx.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,EAAE,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAG5D;;GAEG;AACH,wBAAgB,aAAa,IAAI,QAAQ,CAGxC;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,IAAI,SAAI,MAS9B"}
package/dest/mocks/tx.js DELETED
@@ -1,18 +0,0 @@
1
- import { KERNEL_PUBLIC_CALL_STACK_LENGTH, makeEmptyProof } from '@aztec/circuits.js';
2
- import { makeKernelPublicInputs, makePublicCallRequest } from '@aztec/circuits.js/factories';
3
- import { FunctionL2Logs, Tx, TxL2Logs } from '@aztec/types';
4
- import times from 'lodash.times';
5
- /**
6
- * Testing utility to create empty logs composed from a single empty log.
7
- */
8
- export function makeEmptyLogs() {
9
- const functionLogs = [new FunctionL2Logs([Buffer.alloc(0)])];
10
- return new TxL2Logs(functionLogs);
11
- }
12
- /**
13
- * Testing utility to create a tx with gibberish kernel circuit output, random logs, and an empty proof.
14
- */
15
- export function makeTx(seed = 0) {
16
- return new Tx(makeKernelPublicInputs(seed), makeEmptyProof(), TxL2Logs.random(2, 3), TxL2Logs.random(3, 0), [], times(KERNEL_PUBLIC_CALL_STACK_LENGTH, makePublicCallRequest));
17
- }
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9ja3MvdHgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLCtCQUErQixFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdGLE9BQU8sRUFBRSxjQUFjLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM1RCxPQUFPLEtBQUssTUFBTSxjQUFjLENBQUM7QUFFakM7O0dBRUc7QUFDSCxNQUFNLFVBQVUsYUFBYTtJQUMzQixNQUFNLFlBQVksR0FBRyxDQUFDLElBQUksY0FBYyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3RCxPQUFPLElBQUksUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBQ3BDLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxNQUFNLENBQUMsSUFBSSxHQUFHLENBQUM7SUFDN0IsT0FBTyxJQUFJLEVBQUUsQ0FDWCxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsRUFDNUIsY0FBYyxFQUFFLEVBQ2hCLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUNyQixRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFDckIsRUFBRSxFQUNGLEtBQUssQ0FBQywrQkFBK0IsRUFBRSxxQkFBcUIsQ0FBQyxDQUM5RCxDQUFDO0FBQ0osQ0FBQyJ9
package/src/mocks/tx.ts DELETED
@@ -1,26 +0,0 @@
1
- import { KERNEL_PUBLIC_CALL_STACK_LENGTH, makeEmptyProof } from '@aztec/circuits.js';
2
- import { makeKernelPublicInputs, makePublicCallRequest } from '@aztec/circuits.js/factories';
3
- import { FunctionL2Logs, Tx, TxL2Logs } from '@aztec/types';
4
- import times from 'lodash.times';
5
-
6
- /**
7
- * Testing utility to create empty logs composed from a single empty log.
8
- */
9
- export function makeEmptyLogs(): TxL2Logs {
10
- const functionLogs = [new FunctionL2Logs([Buffer.alloc(0)])];
11
- return new TxL2Logs(functionLogs);
12
- }
13
-
14
- /**
15
- * Testing utility to create a tx with gibberish kernel circuit output, random logs, and an empty proof.
16
- */
17
- export function makeTx(seed = 0) {
18
- return new Tx(
19
- makeKernelPublicInputs(seed),
20
- makeEmptyProof(),
21
- TxL2Logs.random(2, 3),
22
- TxL2Logs.random(3, 0),
23
- [],
24
- times(KERNEL_PUBLIC_CALL_STACK_LENGTH, makePublicCallRequest),
25
- );
26
- }