@aztec/sequencer-client 0.30.1 → 0.31.0
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/client/sequencer-client.d.ts +5 -1
- package/dest/client/sequencer-client.d.ts.map +1 -1
- package/dest/client/sequencer-client.js +5 -34
- package/dest/index.d.ts +0 -7
- package/dest/index.d.ts.map +1 -1
- package/dest/index.js +1 -8
- package/dest/publisher/viem-tx-sender.d.ts.map +1 -1
- package/dest/publisher/viem-tx-sender.js +2 -3
- package/dest/sequencer/abstract_phase_manager.d.ts +1 -3
- package/dest/sequencer/abstract_phase_manager.d.ts.map +1 -1
- package/dest/sequencer/abstract_phase_manager.js +13 -17
- package/dest/sequencer/app_logic_phase_manager.d.ts +1 -3
- package/dest/sequencer/app_logic_phase_manager.d.ts.map +1 -1
- package/dest/sequencer/app_logic_phase_manager.js +3 -4
- package/dest/sequencer/phase_manager_factory.d.ts +2 -3
- package/dest/sequencer/phase_manager_factory.d.ts.map +1 -1
- package/dest/sequencer/phase_manager_factory.js +9 -9
- package/dest/sequencer/public_processor.d.ts +3 -7
- package/dest/sequencer/public_processor.d.ts.map +1 -1
- package/dest/sequencer/public_processor.js +6 -9
- package/dest/sequencer/sequencer.d.ts +4 -5
- package/dest/sequencer/sequencer.d.ts.map +1 -1
- package/dest/sequencer/sequencer.js +13 -12
- package/dest/sequencer/setup_phase_manager.d.ts +1 -3
- package/dest/sequencer/setup_phase_manager.d.ts.map +1 -1
- package/dest/sequencer/setup_phase_manager.js +3 -4
- package/dest/sequencer/tail_phase_manager.d.ts +1 -3
- package/dest/sequencer/tail_phase_manager.d.ts.map +1 -1
- package/dest/sequencer/tail_phase_manager.js +3 -4
- package/dest/sequencer/teardown_phase_manager.d.ts +1 -3
- package/dest/sequencer/teardown_phase_manager.d.ts.map +1 -1
- package/dest/sequencer/teardown_phase_manager.js +3 -4
- package/dest/sequencer/tx_validator.d.ts +1 -2
- package/dest/sequencer/tx_validator.d.ts.map +1 -1
- package/dest/sequencer/tx_validator.js +15 -2
- package/dest/simulator/index.d.ts +1 -37
- package/dest/simulator/index.d.ts.map +1 -1
- package/dest/simulator/index.js +2 -2
- package/dest/simulator/public_executor.d.ts +1 -1
- package/dest/simulator/public_executor.d.ts.map +1 -1
- package/dest/simulator/public_executor.js +22 -12
- package/dest/simulator/public_kernel.d.ts +1 -1
- package/dest/simulator/public_kernel.d.ts.map +1 -1
- package/dest/simulator/public_kernel.js +2 -2
- package/package.json +13 -13
- package/src/client/sequencer-client.ts +7 -42
- package/src/index.ts +0 -9
- package/src/publisher/viem-tx-sender.ts +1 -2
- package/src/sequencer/abstract_phase_manager.ts +14 -16
- package/src/sequencer/app_logic_phase_manager.ts +1 -3
- package/src/sequencer/phase_manager_factory.ts +0 -9
- package/src/sequencer/public_processor.ts +12 -17
- package/src/sequencer/sequencer.ts +12 -13
- package/src/sequencer/setup_phase_manager.ts +1 -3
- package/src/sequencer/tail_phase_manager.ts +1 -3
- package/src/sequencer/teardown_phase_manager.ts +1 -3
- package/src/sequencer/tx_validator.ts +17 -2
- package/src/simulator/index.ts +0 -45
- package/src/simulator/public_executor.ts +32 -11
- package/src/simulator/public_kernel.ts +2 -2
- package/dest/block_builder/index.d.ts +0 -19
- package/dest/block_builder/index.d.ts.map +0 -1
- package/dest/block_builder/index.js +0 -2
- package/dest/block_builder/solo_block_builder.d.ts +0 -78
- package/dest/block_builder/solo_block_builder.d.ts.map +0 -1
- package/dest/block_builder/solo_block_builder.js +0 -489
- package/dest/block_builder/types.d.ts +0 -10
- package/dest/block_builder/types.d.ts.map +0 -1
- package/dest/block_builder/types.js +0 -2
- package/dest/mocks/verification_keys.d.ts +0 -28
- package/dest/mocks/verification_keys.d.ts.map +0 -1
- package/dest/mocks/verification_keys.js +0 -14
- package/dest/prover/empty.d.ts +0 -53
- package/dest/prover/empty.d.ts.map +0 -1
- package/dest/prover/empty.js +0 -75
- package/dest/prover/index.d.ts +0 -52
- package/dest/prover/index.d.ts.map +0 -1
- package/dest/prover/index.js +0 -2
- package/dest/sequencer/processed_tx.d.ts +0 -81
- package/dest/sequencer/processed_tx.d.ts.map +0 -1
- package/dest/sequencer/processed_tx.js +0 -98
- package/dest/simulator/acvm_native.d.ts +0 -20
- package/dest/simulator/acvm_native.d.ts.map +0 -1
- package/dest/simulator/acvm_native.js +0 -96
- package/dest/simulator/acvm_wasm.d.ts +0 -7
- package/dest/simulator/acvm_wasm.d.ts.map +0 -1
- package/dest/simulator/acvm_wasm.js +0 -23
- package/dest/simulator/rollup.d.ts +0 -43
- package/dest/simulator/rollup.d.ts.map +0 -1
- package/dest/simulator/rollup.js +0 -78
- package/dest/simulator/simulation_provider.d.ts +0 -9
- package/dest/simulator/simulation_provider.d.ts.map +0 -1
- package/dest/simulator/simulation_provider.js +0 -2
- package/src/block_builder/index.ts +0 -20
- package/src/block_builder/solo_block_builder.ts +0 -812
- package/src/block_builder/types.ts +0 -8
- package/src/mocks/verification_keys.ts +0 -36
- package/src/prover/empty.ts +0 -97
- package/src/prover/index.ts +0 -70
- package/src/sequencer/processed_tx.ts +0 -210
- package/src/simulator/acvm_native.ts +0 -112
- package/src/simulator/acvm_wasm.ts +0 -31
- package/src/simulator/rollup.ts +0 -127
- package/src/simulator/simulation_provider.ts +0 -10
package/dest/simulator/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2ltdWxhdG9yL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
|
|
@@ -73,7 +73,7 @@ export declare class WorldStateDB implements CommitmentsDB {
|
|
|
73
73
|
private l1ToL2MessageSource;
|
|
74
74
|
constructor(db: MerkleTreeOperations, l1ToL2MessageSource: L1ToL2MessageSource);
|
|
75
75
|
getNullifierMembershipWitnessAtLatestBlock(nullifier: Fr): Promise<NullifierMembershipWitness | undefined>;
|
|
76
|
-
getL1ToL2MembershipWitness(
|
|
76
|
+
getL1ToL2MembershipWitness(contractAddress: AztecAddress, messageHash: Fr, secret: Fr): Promise<MessageLoadOracleInputs<typeof L1_TO_L2_MSG_TREE_HEIGHT>>;
|
|
77
77
|
getCommitmentIndex(commitment: Fr): Promise<bigint | undefined>;
|
|
78
78
|
getNullifierIndex(nullifier: Fr): Promise<bigint | undefined>;
|
|
79
79
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public_executor.d.ts","sourceRoot":"","sources":["../../src/simulator/public_executor.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,mBAAmB,EAEnB,0BAA0B,EAC1B,EAAE,EAEH,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,YAAY,EAGZ,UAAU,EACV,EAAE,EACF,gBAAgB,EAChB,wBAAwB,EAIzB,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC5G,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAC9G,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D;;;GAGG;AACH,qBAAa,2BAA4B,YAAW,iBAAiB;IAMvD,OAAO,CAAC,EAAE;IALtB,OAAO,CAAC,aAAa,CAAkD;IACvE,OAAO,CAAC,UAAU,CAA0C;IAE5D,OAAO,CAAC,GAAG,CAA8D;gBAErD,EAAE,EAAE,kBAAkB;IAE1C;;;OAGG;IACI,eAAe,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB7C;;;OAGG;IACI,kBAAkB,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAYnC,mBAAmB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,2BAA2B,GAAG,SAAS,CAAC;IAI5F,gBAAgB,CAAC,eAAe,EAAE,EAAE,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC;IAItF,WAAW,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAY3F,wBAAwB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;CAIvF;AAED;;GAEG;AACH,qBAAa,kBAAmB,YAAW,aAAa;IAK1C,OAAO,CAAC,EAAE;IAJtB,OAAO,CAAC,mBAAmB,CAA8B;IACzD,OAAO,CAAC,sBAAsB,CAA8B;IAC5D,OAAO,CAAC,qBAAqB,CAA8B;gBAEvC,EAAE,EAAE,oBAAoB;IAE5C;;;;;OAKG;IACU,WAAW,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;IA4BvE;;;;;OAKG;IACI,YAAY,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAMlF;;;OAGG;IACH,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAYvB;;;OAGG;IACG,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAMvC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAO3B,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;CAItC;AAED;;GAEG;AACH,qBAAa,YAAa,YAAW,aAAa;IACpC,OAAO,CAAC,EAAE;IAAwB,OAAO,CAAC,mBAAmB;gBAArD,EAAE,EAAE,oBAAoB,EAAU,mBAAmB,EAAE,mBAAmB;IAEjF,0CAA0C,CACrD,SAAS,EAAE,EAAE,GACZ,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC;IAqBrC,0BAA0B,CACrC,
|
|
1
|
+
{"version":3,"file":"public_executor.d.ts","sourceRoot":"","sources":["../../src/simulator/public_executor.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,mBAAmB,EAEnB,0BAA0B,EAC1B,EAAE,EAEH,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,YAAY,EAGZ,UAAU,EACV,EAAE,EACF,gBAAgB,EAChB,wBAAwB,EAIzB,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC5G,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAC9G,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D;;;GAGG;AACH,qBAAa,2BAA4B,YAAW,iBAAiB;IAMvD,OAAO,CAAC,EAAE;IALtB,OAAO,CAAC,aAAa,CAAkD;IACvE,OAAO,CAAC,UAAU,CAA0C;IAE5D,OAAO,CAAC,GAAG,CAA8D;gBAErD,EAAE,EAAE,kBAAkB;IAE1C;;;OAGG;IACI,eAAe,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB7C;;;OAGG;IACI,kBAAkB,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAYnC,mBAAmB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,2BAA2B,GAAG,SAAS,CAAC;IAI5F,gBAAgB,CAAC,eAAe,EAAE,EAAE,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC;IAItF,WAAW,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAY3F,wBAAwB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;CAIvF;AAED;;GAEG;AACH,qBAAa,kBAAmB,YAAW,aAAa;IAK1C,OAAO,CAAC,EAAE;IAJtB,OAAO,CAAC,mBAAmB,CAA8B;IACzD,OAAO,CAAC,sBAAsB,CAA8B;IAC5D,OAAO,CAAC,qBAAqB,CAA8B;gBAEvC,EAAE,EAAE,oBAAoB;IAE5C;;;;;OAKG;IACU,WAAW,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;IA4BvE;;;;;OAKG;IACI,YAAY,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAMlF;;;OAGG;IACH,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAYvB;;;OAGG;IACG,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAMvC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAO3B,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;CAItC;AAED;;GAEG;AACH,qBAAa,YAAa,YAAW,aAAa;IACpC,OAAO,CAAC,EAAE;IAAwB,OAAO,CAAC,mBAAmB;gBAArD,EAAE,EAAE,oBAAoB,EAAU,mBAAmB,EAAE,mBAAmB;IAEjF,0CAA0C,CACrD,SAAS,EAAE,EAAE,GACZ,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC;IAqBrC,0BAA0B,CACrC,eAAe,EAAE,YAAY,EAC7B,WAAW,EAAE,EAAE,EACf,MAAM,EAAE,EAAE,GACT,OAAO,CAAC,uBAAuB,CAAC,OAAO,wBAAwB,CAAC,CAAC;IA+BvD,kBAAkB,CAAC,UAAU,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAI/D,iBAAiB,CAAC,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;CAG3E"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { MerkleTreeId, NullifierMembershipWitness, UnencryptedL2Log, } from '@aztec/circuit-types';
|
|
2
2
|
import { ContractClassRegisteredEvent, ContractInstanceDeployedEvent, Fr, } from '@aztec/circuits.js';
|
|
3
|
-
import { computePublicDataTreeLeafSlot } from '@aztec/circuits.js/hash';
|
|
3
|
+
import { computeL1ToL2MessageNullifier, computePublicDataTreeLeafSlot } from '@aztec/circuits.js/hash';
|
|
4
4
|
import { createDebugLogger } from '@aztec/foundation/log';
|
|
5
|
-
import {
|
|
5
|
+
import { getCanonicalClassRegistererAddress } from '@aztec/protocol-contracts/class-registerer';
|
|
6
6
|
import { MessageLoadOracleInputs } from '@aztec/simulator';
|
|
7
7
|
/**
|
|
8
8
|
* Implements the PublicContractsDB using a ContractDataSource.
|
|
@@ -22,7 +22,7 @@ export class ContractsDataSourcePublicDB {
|
|
|
22
22
|
addNewContracts(tx) {
|
|
23
23
|
// Extract contract class and instance data from logs and add to cache for this block
|
|
24
24
|
const logs = tx.unencryptedLogs.unrollLogs().map(UnencryptedL2Log.fromBuffer);
|
|
25
|
-
ContractClassRegisteredEvent.fromLogs(logs,
|
|
25
|
+
ContractClassRegisteredEvent.fromLogs(logs, getCanonicalClassRegistererAddress()).forEach(e => {
|
|
26
26
|
this.log(`Adding class ${e.contractClassId.toString()} to public execution contract cache`);
|
|
27
27
|
this.classCache.set(e.contractClassId.toString(), e.toContractClassPublic());
|
|
28
28
|
});
|
|
@@ -41,7 +41,7 @@ export class ContractsDataSourcePublicDB {
|
|
|
41
41
|
// Let's say we have two txs adding the same contract on the same block. If the 2nd one reverts,
|
|
42
42
|
// wouldn't that accidentally remove the contract added on the first one?
|
|
43
43
|
const logs = tx.unencryptedLogs.unrollLogs().map(UnencryptedL2Log.fromBuffer);
|
|
44
|
-
ContractClassRegisteredEvent.fromLogs(logs,
|
|
44
|
+
ContractClassRegisteredEvent.fromLogs(logs, getCanonicalClassRegistererAddress()).forEach(e => this.classCache.delete(e.contractClassId.toString()));
|
|
45
45
|
ContractInstanceDeployedEvent.fromLogs(logs).forEach(e => this.instanceCache.delete(e.address.toString()));
|
|
46
46
|
return Promise.resolve();
|
|
47
47
|
}
|
|
@@ -171,13 +171,23 @@ export class WorldStateDB {
|
|
|
171
171
|
}
|
|
172
172
|
return new NullifierMembershipWitness(BigInt(index), leafPreimage, siblingPath);
|
|
173
173
|
}
|
|
174
|
-
async getL1ToL2MembershipWitness(
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
174
|
+
async getL1ToL2MembershipWitness(contractAddress, messageHash, secret) {
|
|
175
|
+
let nullifierIndex;
|
|
176
|
+
let messageIndex;
|
|
177
|
+
let startIndex = 0n;
|
|
178
|
+
// We iterate over messages until we find one whose nullifier is not in the nullifier tree --> we need to check
|
|
179
|
+
// for nullifiers because messages can have duplicates.
|
|
180
|
+
do {
|
|
181
|
+
messageIndex = (await this.db.findLeafIndexAfter(MerkleTreeId.L1_TO_L2_MESSAGE_TREE, messageHash.toBuffer(), startIndex));
|
|
182
|
+
if (messageIndex === undefined) {
|
|
183
|
+
throw new Error(`No non-nullified L1 to L2 message found for message hash ${messageHash.toString()}`);
|
|
184
|
+
}
|
|
185
|
+
const messageNullifier = computeL1ToL2MessageNullifier(contractAddress, messageHash, secret, messageIndex);
|
|
186
|
+
nullifierIndex = await this.getNullifierIndex(messageNullifier);
|
|
187
|
+
startIndex = messageIndex + 1n;
|
|
188
|
+
} while (nullifierIndex !== undefined);
|
|
189
|
+
const siblingPath = await this.db.getSiblingPath(MerkleTreeId.L1_TO_L2_MESSAGE_TREE, messageIndex);
|
|
190
|
+
return new MessageLoadOracleInputs(messageIndex, siblingPath);
|
|
181
191
|
}
|
|
182
192
|
async getCommitmentIndex(commitment) {
|
|
183
193
|
return await this.db.findLeafIndex(MerkleTreeId.NOTE_HASH_TREE, commitment.toBuffer());
|
|
@@ -186,4 +196,4 @@ export class WorldStateDB {
|
|
|
186
196
|
return await this.db.findLeafIndex(MerkleTreeId.NULLIFIER_TREE, nullifier.toBuffer());
|
|
187
197
|
}
|
|
188
198
|
}
|
|
189
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
199
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2V4ZWN1dG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NpbXVsYXRvci9wdWJsaWNfZXhlY3V0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFlBQVksRUFDWiwwQkFBMEIsRUFFMUIsZ0JBQWdCLEdBQ2pCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUVMLDRCQUE0QixFQUM1Qiw2QkFBNkIsRUFFN0IsRUFBRSxHQU1ILE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLDZCQUE2QixFQUFFLDZCQUE2QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDaEcsT0FBTyxFQUFpQix1QkFBdUIsRUFBb0MsTUFBTSxrQkFBa0IsQ0FBQztBQUk1Rzs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sMkJBQTJCO0lBTXRDLFlBQW9CLEVBQXNCO1FBQXRCLE9BQUUsR0FBRixFQUFFLENBQW9CO1FBTGxDLGtCQUFhLEdBQUcsSUFBSSxHQUFHLEVBQXVDLENBQUM7UUFDL0QsZUFBVSxHQUFHLElBQUksR0FBRyxFQUErQixDQUFDO1FBRXBELFFBQUcsR0FBRyxpQkFBaUIsQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDO0lBRTVCLENBQUM7SUFFOUM7OztPQUdHO0lBQ0ksZUFBZSxDQUFDLEVBQU07UUFDM0IscUZBQXFGO1FBQ3JGLE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQyxlQUFlLENBQUMsVUFBVSxFQUFFLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzlFLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsa0NBQWtDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUM1RixJQUFJLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxxQ0FBcUMsQ0FBQyxDQUFDO1lBQzVGLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQztRQUMvRSxDQUFDLENBQUMsQ0FBQztRQUNILDZCQUE2QixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDdkQsSUFBSSxDQUFDLEdBQUcsQ0FDTixtQkFBbUIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsZUFBZSxDQUFDLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxxQ0FBcUMsQ0FDeEgsQ0FBQztZQUNGLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQztRQUN2RSxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxrQkFBa0IsQ0FBQyxFQUFNO1FBQzlCLHlGQUF5RjtRQUN6RixnR0FBZ0c7UUFDaEcseUVBQXlFO1FBQ3pFLE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQyxlQUFlLENBQUMsVUFBVSxFQUFFLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzlFLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsa0NBQWtDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUM1RixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQ3JELENBQUM7UUFDRiw2QkFBNkIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDM0csT0FBTyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVNLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxPQUFxQjtRQUNwRCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQzVGLENBQUM7SUFFTSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsZUFBbUI7UUFDL0MsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO0lBQzlHLENBQUM7SUFFRCxLQUFLLENBQUMsV0FBVyxDQUFDLE9BQXFCLEVBQUUsUUFBMEI7UUFDakUsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2QsTUFBTSxJQUFJLEtBQUssQ0FBQyxZQUFZLE9BQU8sQ0FBQyxRQUFRLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDOUQsQ0FBQztRQUNELE1BQU0sYUFBYSxHQUFHLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUM1RSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDbkIsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQkFBa0IsUUFBUSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsUUFBUSxPQUFPLENBQUMsUUFBUSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQy9HLENBQUM7UUFDRCxPQUFPLGFBQWEsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUM7SUFDeEYsQ0FBQztJQUVELEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxPQUFxQjtRQUNsRCxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN6RCxPQUFPLFFBQVEsRUFBRSxxQkFBcUIsQ0FBQztJQUN6QyxDQUFDO0NBQ0Y7QUFFRDs7R0FFRztBQUNILE1BQU0sT0FBTyxrQkFBa0I7SUFLN0IsWUFBb0IsRUFBd0I7UUFBeEIsT0FBRSxHQUFGLEVBQUUsQ0FBc0I7UUFKcEMsd0JBQW1CLEdBQW9CLElBQUksR0FBRyxFQUFFLENBQUM7UUFDakQsMkJBQXNCLEdBQW9CLElBQUksR0FBRyxFQUFFLENBQUM7UUFDcEQsMEJBQXFCLEdBQW9CLElBQUksR0FBRyxFQUFFLENBQUM7SUFFWixDQUFDO0lBRWhEOzs7OztPQUtHO0lBQ0ksS0FBSyxDQUFDLFdBQVcsQ0FBQyxRQUFzQixFQUFFLElBQVE7UUFDdkQsTUFBTSxRQUFRLEdBQUcsNkJBQTZCLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUNyRSxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzdELElBQUksV0FBVyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzlCLE9BQU8sV0FBVyxDQUFDO1FBQ3JCLENBQUM7UUFDRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQy9ELElBQUksWUFBWSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQy9CLE9BQU8sWUFBWSxDQUFDO1FBQ3RCLENBQUM7UUFDRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3pELElBQUksU0FBUyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzVCLE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7UUFFRCxNQUFNLGFBQWEsR0FBRyxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUMscUJBQXFCLENBQUMsWUFBWSxDQUFDLGdCQUFnQixFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ25HLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDcEQsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDO1FBQ2pCLENBQUM7UUFFRCxNQUFNLFFBQVEsR0FBRyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQzdDLFlBQVksQ0FBQyxnQkFBZ0IsRUFDN0IsYUFBYSxDQUFDLEtBQUssQ0FDcEIsQ0FBK0IsQ0FBQztRQUVqQyxPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksWUFBWSxDQUFDLFFBQXNCLEVBQUUsSUFBUSxFQUFFLFFBQVk7UUFDaEUsTUFBTSxLQUFLLEdBQUcsNkJBQTZCLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUNsRSxJQUFJLENBQUMscUJBQXFCLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNoRCxPQUFPLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTTtRQUNKLEtBQUssTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUNqRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNyQyxDQUFDO1FBQ0QsOERBQThEO1FBQzlELGlDQUFpQztRQUNqQyxLQUFLLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDaEQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDckMsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxnQkFBZ0I7UUFDcEIsTUFBTSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUNsQyxJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxHQUFHLEVBQWMsQ0FBQztRQUNwRCxPQUFPLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsVUFBVTtRQUNSLEtBQUssTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztZQUNoRCxJQUFJLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN4QyxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQsb0JBQW9CO1FBQ2xCLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLEdBQUcsRUFBYyxDQUFDO1FBQ25ELE9BQU8sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzNCLENBQUM7Q0FDRjtBQUVEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFlBQVk7SUFDdkIsWUFBb0IsRUFBd0IsRUFBVSxtQkFBd0M7UUFBMUUsT0FBRSxHQUFGLEVBQUUsQ0FBc0I7UUFBVSx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO0lBQUcsQ0FBQztJQUUzRixLQUFLLENBQUMsMENBQTBDLENBQ3JELFNBQWE7UUFFYixNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxjQUFjLEVBQUUsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDN0YsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1gsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztRQUVELE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN4RixNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUMvQyxZQUFZLENBQUMsY0FBYyxFQUMzQixNQUFNLENBQUMsS0FBSyxDQUFDLENBQ2QsQ0FBQztRQUVGLE1BQU0sQ0FBQyxZQUFZLEVBQUUsV0FBVyxDQUFDLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsbUJBQW1CLEVBQUUsa0JBQWtCLENBQUMsQ0FBQyxDQUFDO1FBRWpHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNsQixPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO1FBRUQsT0FBTyxJQUFJLDBCQUEwQixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxZQUFxQyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQzNHLENBQUM7SUFFTSxLQUFLLENBQUMsMEJBQTBCLENBQ3JDLGVBQTZCLEVBQzdCLFdBQWUsRUFDZixNQUFVO1FBRVYsSUFBSSxjQUFrQyxDQUFDO1FBQ3ZDLElBQUksWUFBZ0MsQ0FBQztRQUNyQyxJQUFJLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFFcEIsK0dBQStHO1FBQy9HLHVEQUF1RDtRQUN2RCxHQUFHLENBQUM7WUFDRixZQUFZLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQzlDLFlBQVksQ0FBQyxxQkFBcUIsRUFDbEMsV0FBVyxDQUFDLFFBQVEsRUFBRSxFQUN0QixVQUFVLENBQ1gsQ0FBRSxDQUFDO1lBQ0osSUFBSSxZQUFZLEtBQUssU0FBUyxFQUFFLENBQUM7Z0JBQy9CLE1BQU0sSUFBSSxLQUFLLENBQUMsNERBQTRELFdBQVcsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDeEcsQ0FBQztZQUVELE1BQU0sZ0JBQWdCLEdBQUcsNkJBQTZCLENBQUMsZUFBZSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsWUFBWSxDQUFDLENBQUM7WUFDM0csY0FBYyxHQUFHLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFFaEUsVUFBVSxHQUFHLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDakMsQ0FBQyxRQUFRLGNBQWMsS0FBSyxTQUFTLEVBQUU7UUFFdkMsTUFBTSxXQUFXLEdBQUcsTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FDOUMsWUFBWSxDQUFDLHFCQUFxQixFQUNsQyxZQUFZLENBQ2IsQ0FBQztRQUVGLE9BQU8sSUFBSSx1QkFBdUIsQ0FBa0MsWUFBWSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ2pHLENBQUM7SUFFTSxLQUFLLENBQUMsa0JBQWtCLENBQUMsVUFBYztRQUM1QyxPQUFPLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBRSxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUN6RixDQUFDO0lBRU0sS0FBSyxDQUFDLGlCQUFpQixDQUFDLFNBQWE7UUFDMUMsT0FBTyxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxjQUFjLEVBQUUsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDeEYsQ0FBQztDQUNGIn0=
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { PublicKernelCircuitPrivateInputs, PublicKernelCircuitPublicInputs, PublicKernelTailCircuitPrivateInputs } from '@aztec/circuits.js';
|
|
2
|
+
import { SimulationProvider } from '@aztec/simulator';
|
|
2
3
|
import { PublicKernelCircuitSimulator } from './index.js';
|
|
3
|
-
import { SimulationProvider } from './simulation_provider.js';
|
|
4
4
|
/**
|
|
5
5
|
* Implements the PublicKernelCircuitSimulator.
|
|
6
6
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public_kernel.d.ts","sourceRoot":"","sources":["../../src/simulator/public_kernel.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gCAAgC,EAChC,+BAA+B,EAC/B,oCAAoC,EACrC,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"public_kernel.d.ts","sourceRoot":"","sources":["../../src/simulator/public_kernel.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gCAAgC,EAChC,+BAA+B,EAC/B,oCAAoC,EACrC,MAAM,oBAAoB,CAAC;AAiB5B,OAAO,EAAE,kBAAkB,EAAiB,MAAM,kBAAkB,CAAC;AAErE,OAAO,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC;AAE1D;;GAEG;AACH,qBAAa,gCAAiC,YAAW,4BAA4B;IAMvE,OAAO,CAAC,SAAS;IAL7B,OAAO,CAAC,GAAG,CAAsD;IAGjE,OAAO,CAAC,aAAa,CAAsC;gBAEvC,SAAS,EAAE,kBAAkB;IAEjD;;;;OAIG;IACU,wBAAwB,CACnC,KAAK,EAAE,gCAAgC,GACtC,OAAO,CAAC,+BAA+B,CAAC;IAmB3C;;;;OAIG;IACU,2BAA2B,CACtC,KAAK,EAAE,gCAAgC,GACtC,OAAO,CAAC,+BAA+B,CAAC;IAmB3C;;;;OAIG;IACU,2BAA2B,CACtC,KAAK,EAAE,gCAAgC,GACtC,OAAO,CAAC,+BAA+B,CAAC;IAmB3C;;;;OAIG;IACU,uBAAuB,CAClC,KAAK,EAAE,oCAAoC,GAC1C,OAAO,CAAC,+BAA+B,CAAC;CAe5C"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createDebugLogger } from '@aztec/foundation/log';
|
|
2
2
|
import { elapsed } from '@aztec/foundation/timer';
|
|
3
3
|
import { PublicKernelAppLogicArtifact, PublicKernelSetupArtifact, PublicKernelTailArtifact, PublicKernelTeardownArtifact, convertPublicInnerRollupInputsToWitnessMap, convertPublicInnerRollupOutputFromWitnessMap, convertPublicSetupRollupInputsToWitnessMap, convertPublicSetupRollupOutputFromWitnessMap, convertPublicTailInputsToWitnessMap, convertPublicTailOutputFromWitnessMap, convertPublicTeardownRollupInputsToWitnessMap, convertPublicTeardownRollupOutputFromWitnessMap, } from '@aztec/noir-protocol-circuits-types';
|
|
4
|
-
import { WASMSimulator } from '
|
|
4
|
+
import { WASMSimulator } from '@aztec/simulator';
|
|
5
5
|
/**
|
|
6
6
|
* Implements the PublicKernelCircuitSimulator.
|
|
7
7
|
*/
|
|
@@ -94,4 +94,4 @@ export class RealPublicKernelCircuitSimulator {
|
|
|
94
94
|
return result;
|
|
95
95
|
}
|
|
96
96
|
}
|
|
97
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2tlcm5lbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zaW11bGF0b3IvcHVibGljX2tlcm5lbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbEQsT0FBTyxFQUNMLDRCQUE0QixFQUM1Qix5QkFBeUIsRUFDekIsd0JBQXdCLEVBQ3hCLDRCQUE0QixFQUM1QiwwQ0FBMEMsRUFDMUMsNENBQTRDLEVBQzVDLDBDQUEwQyxFQUMxQyw0Q0FBNEMsRUFDNUMsbUNBQW1DLEVBQ25DLHFDQUFxQyxFQUNyQyw2Q0FBNkMsRUFDN0MsK0NBQStDLEdBQ2hELE1BQU0scUNBQXFDLENBQUM7QUFDN0MsT0FBTyxFQUFzQixhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUlyRTs7R0FFRztBQUNILE1BQU0sT0FBTyxnQ0FBZ0M7SUFNM0MsWUFBb0IsU0FBNkI7UUFBN0IsY0FBUyxHQUFULFNBQVMsQ0FBb0I7UUFMekMsUUFBRyxHQUFHLGlCQUFpQixDQUFDLCtCQUErQixDQUFDLENBQUM7UUFFakUsc0RBQXNEO1FBQzlDLGtCQUFhLEdBQWtCLElBQUksYUFBYSxFQUFFLENBQUM7SUFFUCxDQUFDO0lBRXJEOzs7O09BSUc7SUFDSSxLQUFLLENBQUMsd0JBQXdCLENBQ25DLEtBQXVDO1FBRXZDLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNsRCxNQUFNLElBQUksS0FBSyxDQUFDLCtDQUErQyxDQUFDLENBQUM7UUFDbkUsQ0FBQztRQUNELE1BQU0sWUFBWSxHQUFHLDBDQUEwQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZFLE1BQU0sQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLEdBQUcsTUFBTSxPQUFPLENBQUMs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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/sequencer-client",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.31.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": "./dest/index.js",
|
|
6
6
|
"typedocOptions": {
|
|
@@ -21,18 +21,18 @@
|
|
|
21
21
|
"test:integration:run": "NODE_NO_WARNINGS=1 node --experimental-vm-modules $(yarn bin jest) --no-cache --config jest.integration.config.json"
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@aztec/circuit-types": "0.
|
|
25
|
-
"@aztec/circuits.js": "0.
|
|
26
|
-
"@aztec/ethereum": "0.
|
|
27
|
-
"@aztec/foundation": "0.
|
|
28
|
-
"@aztec/l1-artifacts": "0.
|
|
29
|
-
"@aztec/merkle-tree": "0.
|
|
30
|
-
"@aztec/noir-protocol-circuits-types": "0.
|
|
31
|
-
"@aztec/p2p": "0.
|
|
32
|
-
"@aztec/protocol-contracts": "0.
|
|
33
|
-
"@aztec/simulator": "0.
|
|
34
|
-
"@aztec/types": "0.
|
|
35
|
-
"@aztec/world-state": "0.
|
|
24
|
+
"@aztec/circuit-types": "0.31.0",
|
|
25
|
+
"@aztec/circuits.js": "0.31.0",
|
|
26
|
+
"@aztec/ethereum": "0.31.0",
|
|
27
|
+
"@aztec/foundation": "0.31.0",
|
|
28
|
+
"@aztec/l1-artifacts": "0.31.0",
|
|
29
|
+
"@aztec/merkle-tree": "0.31.0",
|
|
30
|
+
"@aztec/noir-protocol-circuits-types": "0.31.0",
|
|
31
|
+
"@aztec/p2p": "0.31.0",
|
|
32
|
+
"@aztec/protocol-contracts": "0.31.0",
|
|
33
|
+
"@aztec/simulator": "0.31.0",
|
|
34
|
+
"@aztec/types": "0.31.0",
|
|
35
|
+
"@aztec/world-state": "0.31.0",
|
|
36
36
|
"@noir-lang/acvm_js": "portal:../../noir/packages/acvm_js",
|
|
37
37
|
"@noir-lang/types": "portal:../../noir/packages/types",
|
|
38
38
|
"lodash.chunk": "^4.2.0",
|
|
@@ -1,45 +1,15 @@
|
|
|
1
1
|
import { L1ToL2MessageSource, L2BlockSource } from '@aztec/circuit-types';
|
|
2
|
-
import {
|
|
2
|
+
import { BlockProver } from '@aztec/circuit-types/interfaces';
|
|
3
3
|
import { P2P } from '@aztec/p2p';
|
|
4
|
+
import { SimulationProvider } from '@aztec/simulator';
|
|
4
5
|
import { ContractDataSource } from '@aztec/types/contracts';
|
|
5
6
|
import { WorldStateSynchronizer } from '@aztec/world-state';
|
|
6
7
|
|
|
7
|
-
import * as fs from 'fs/promises';
|
|
8
|
-
|
|
9
|
-
import { SoloBlockBuilder } from '../block_builder/solo_block_builder.js';
|
|
10
8
|
import { SequencerClientConfig } from '../config.js';
|
|
11
9
|
import { getGlobalVariableBuilder } from '../global_variable_builder/index.js';
|
|
12
|
-
import { getVerificationKeys } from '../mocks/verification_keys.js';
|
|
13
|
-
import { EmptyRollupProver } from '../prover/empty.js';
|
|
14
10
|
import { getL1Publisher } from '../publisher/index.js';
|
|
15
11
|
import { Sequencer, SequencerConfig } from '../sequencer/index.js';
|
|
16
12
|
import { PublicProcessorFactory } from '../sequencer/public_processor.js';
|
|
17
|
-
import { NativeACVMSimulator } from '../simulator/acvm_native.js';
|
|
18
|
-
import { WASMSimulator } from '../simulator/acvm_wasm.js';
|
|
19
|
-
import { RealRollupCircuitSimulator } from '../simulator/rollup.js';
|
|
20
|
-
import { SimulationProvider } from '../simulator/simulation_provider.js';
|
|
21
|
-
|
|
22
|
-
const logger = createDebugLogger('aztec:sequencer-client');
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* Factory function to create a simulation provider. Will attempt to use native binary simulation falling back to WASM if unavailable.
|
|
26
|
-
* @param config - The provided sequencer client configuration
|
|
27
|
-
* @returns The constructed simulation provider
|
|
28
|
-
*/
|
|
29
|
-
async function getSimulationProvider(config: SequencerClientConfig): Promise<SimulationProvider> {
|
|
30
|
-
if (config.acvmBinaryPath && config.acvmWorkingDirectory) {
|
|
31
|
-
try {
|
|
32
|
-
await fs.access(config.acvmBinaryPath, fs.constants.R_OK);
|
|
33
|
-
await fs.mkdir(config.acvmWorkingDirectory, { recursive: true });
|
|
34
|
-
logger(`Using native ACVM at ${config.acvmBinaryPath}`);
|
|
35
|
-
return new NativeACVMSimulator(config.acvmWorkingDirectory, config.acvmBinaryPath);
|
|
36
|
-
} catch {
|
|
37
|
-
logger(`Failed to access ACVM at ${config.acvmBinaryPath}, falling back to WASM`);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
logger('Using WASM ACVM simulation');
|
|
41
|
-
return new WASMSimulator();
|
|
42
|
-
}
|
|
43
13
|
|
|
44
14
|
/**
|
|
45
15
|
* Encapsulates the full sequencer and publisher.
|
|
@@ -55,6 +25,8 @@ export class SequencerClient {
|
|
|
55
25
|
* @param contractDataSource - Provides access to contract bytecode for public executions.
|
|
56
26
|
* @param l2BlockSource - Provides information about the previously published blocks.
|
|
57
27
|
* @param l1ToL2MessageSource - Provides access to L1 to L2 messages.
|
|
28
|
+
* @param prover - An instance of a block prover
|
|
29
|
+
* @param simulationProvider - An instance of a simulation provider
|
|
58
30
|
* @returns A new running instance.
|
|
59
31
|
*/
|
|
60
32
|
public static async new(
|
|
@@ -64,20 +36,13 @@ export class SequencerClient {
|
|
|
64
36
|
contractDataSource: ContractDataSource,
|
|
65
37
|
l2BlockSource: L2BlockSource,
|
|
66
38
|
l1ToL2MessageSource: L1ToL2MessageSource,
|
|
39
|
+
prover: BlockProver,
|
|
40
|
+
simulationProvider: SimulationProvider,
|
|
67
41
|
) {
|
|
68
42
|
const publisher = getL1Publisher(config);
|
|
69
43
|
const globalsBuilder = getGlobalVariableBuilder(config);
|
|
70
44
|
const merkleTreeDb = worldStateSynchronizer.getLatest();
|
|
71
45
|
|
|
72
|
-
const simulationProvider = await getSimulationProvider(config);
|
|
73
|
-
|
|
74
|
-
const blockBuilder = new SoloBlockBuilder(
|
|
75
|
-
merkleTreeDb,
|
|
76
|
-
getVerificationKeys(),
|
|
77
|
-
new RealRollupCircuitSimulator(simulationProvider),
|
|
78
|
-
new EmptyRollupProver(),
|
|
79
|
-
);
|
|
80
|
-
|
|
81
46
|
const publicProcessorFactory = new PublicProcessorFactory(
|
|
82
47
|
merkleTreeDb,
|
|
83
48
|
contractDataSource,
|
|
@@ -90,7 +55,7 @@ export class SequencerClient {
|
|
|
90
55
|
globalsBuilder,
|
|
91
56
|
p2pClient,
|
|
92
57
|
worldStateSynchronizer,
|
|
93
|
-
|
|
58
|
+
prover,
|
|
94
59
|
l2BlockSource,
|
|
95
60
|
l1ToL2MessageSource,
|
|
96
61
|
publicProcessorFactory,
|
package/src/index.ts
CHANGED
|
@@ -1,17 +1,8 @@
|
|
|
1
1
|
export * from './client/index.js';
|
|
2
2
|
export * from './config.js';
|
|
3
|
-
export * from './mocks/verification_keys.js';
|
|
4
3
|
export * from './publisher/index.js';
|
|
5
4
|
export * from './sequencer/index.js';
|
|
6
5
|
|
|
7
6
|
// Used by the node to simulate public parts of transactions. Should these be moved to a shared library?
|
|
8
7
|
export * from './global_variable_builder/index.js';
|
|
9
8
|
export * from './sequencer/public_processor.js';
|
|
10
|
-
|
|
11
|
-
// Used by publisher test in e2e
|
|
12
|
-
export { SoloBlockBuilder } from './block_builder/solo_block_builder.js';
|
|
13
|
-
export { EmptyRollupProver } from './prover/empty.js';
|
|
14
|
-
export { makeEmptyProcessedTx, makeProcessedTx, partitionReverts } from './sequencer/processed_tx.js';
|
|
15
|
-
export { WASMSimulator } from './simulator/acvm_wasm.js';
|
|
16
|
-
export { RealRollupCircuitSimulator } from './simulator/rollup.js';
|
|
17
|
-
export { SimulationProvider } from './simulator/simulation_provider.js';
|
|
@@ -77,7 +77,7 @@ export class ViemTxSender implements L1PublisherTxSender {
|
|
|
77
77
|
}
|
|
78
78
|
|
|
79
79
|
checkIfTxsAreAvailable(block: L2Block): Promise<boolean> {
|
|
80
|
-
const args = [`0x${block.body.getTxsEffectsHash().toString('hex')}`] as const;
|
|
80
|
+
const args = [`0x${block.body.getTxsEffectsHash().toString('hex').padStart(64, '0')}`] as const;
|
|
81
81
|
return this.availabilityOracleContract.read.isAvailable(args);
|
|
82
82
|
}
|
|
83
83
|
|
|
@@ -145,7 +145,6 @@ export class ViemTxSender implements L1PublisherTxSender {
|
|
|
145
145
|
const args = [
|
|
146
146
|
`0x${encodedData.header.toString('hex')}`,
|
|
147
147
|
`0x${encodedData.archive.toString('hex')}`,
|
|
148
|
-
`0x${encodedData.body.toString('hex')}`,
|
|
149
148
|
`0x${encodedData.proof.toString('hex')}`,
|
|
150
149
|
] as const;
|
|
151
150
|
|
|
@@ -34,14 +34,17 @@ import {
|
|
|
34
34
|
PublicKernelTailCircuitPrivateInputs,
|
|
35
35
|
RETURN_VALUES_LENGTH,
|
|
36
36
|
ReadRequest,
|
|
37
|
+
RevertCode,
|
|
37
38
|
SideEffect,
|
|
38
39
|
SideEffectLinkedToNoteHash,
|
|
39
40
|
VK_TREE_HEIGHT,
|
|
41
|
+
VerificationKey,
|
|
42
|
+
makeEmptyProof,
|
|
40
43
|
} from '@aztec/circuits.js';
|
|
41
44
|
import { computeVarArgsHash } from '@aztec/circuits.js/hash';
|
|
42
45
|
import { arrayNonEmptyLength, padArrayEnd } from '@aztec/foundation/collection';
|
|
43
46
|
import { DebugLogger, createDebugLogger } from '@aztec/foundation/log';
|
|
44
|
-
import { Tuple
|
|
47
|
+
import { Tuple } from '@aztec/foundation/serialize';
|
|
45
48
|
import {
|
|
46
49
|
PublicExecution,
|
|
47
50
|
PublicExecutionResult,
|
|
@@ -52,10 +55,6 @@ import {
|
|
|
52
55
|
} from '@aztec/simulator';
|
|
53
56
|
import { MerkleTreeOperations } from '@aztec/world-state';
|
|
54
57
|
|
|
55
|
-
import { env } from 'process';
|
|
56
|
-
|
|
57
|
-
import { getVerificationKeys } from '../mocks/verification_keys.js';
|
|
58
|
-
import { PublicProver } from '../prover/index.js';
|
|
59
58
|
import { PublicKernelCircuitSimulator } from '../simulator/index.js';
|
|
60
59
|
import { HintsBuilder } from './hints_builder.js';
|
|
61
60
|
import { lastSideEffectCounter } from './utils.js';
|
|
@@ -81,7 +80,6 @@ export abstract class AbstractPhaseManager {
|
|
|
81
80
|
protected db: MerkleTreeOperations,
|
|
82
81
|
protected publicExecutor: PublicExecutor,
|
|
83
82
|
protected publicKernel: PublicKernelCircuitSimulator,
|
|
84
|
-
protected publicProver: PublicProver,
|
|
85
83
|
protected globalVariables: GlobalVariables,
|
|
86
84
|
protected historicalHeader: Header,
|
|
87
85
|
public phase: PublicKernelPhase,
|
|
@@ -209,9 +207,9 @@ export abstract class AbstractPhaseManager {
|
|
|
209
207
|
const isExecutionRequest = !isPublicExecutionResult(current);
|
|
210
208
|
|
|
211
209
|
const sideEffectCounter = lastSideEffectCounter(tx) + 1;
|
|
212
|
-
// NOTE: temporary glue to incorporate avm execution calls
|
|
210
|
+
// NOTE: temporary glue to incorporate avm execution calls.
|
|
213
211
|
const simulator = (execution: PublicExecution, globalVariables: GlobalVariables) =>
|
|
214
|
-
|
|
212
|
+
execution.functionData.isTranspiled
|
|
215
213
|
? this.publicExecutor.simulateAvm(execution, globalVariables, sideEffectCounter)
|
|
216
214
|
: this.publicExecutor.simulate(execution, globalVariables, sideEffectCounter);
|
|
217
215
|
|
|
@@ -240,7 +238,7 @@ export abstract class AbstractPhaseManager {
|
|
|
240
238
|
// sanity check. Note we can't expect them to just be equal, because e.g.
|
|
241
239
|
// if the simulator reverts in app logic, it "resets" and result.reverted will be false when we run teardown,
|
|
242
240
|
// but the kernel carries the reverted flag forward. But if the simulator reverts, so should the kernel.
|
|
243
|
-
if (result.reverted &&
|
|
241
|
+
if (result.reverted && kernelOutput.endNonRevertibleData.revertCode.isOK()) {
|
|
244
242
|
throw new Error(
|
|
245
243
|
`Public kernel circuit did not revert on ${result.execution.contractAddress.toString()}:${functionSelector}, but simulator did.`,
|
|
246
244
|
);
|
|
@@ -278,8 +276,7 @@ export abstract class AbstractPhaseManager {
|
|
|
278
276
|
callData?: PublicCallData,
|
|
279
277
|
): Promise<[PublicKernelCircuitPublicInputs, Proof]> {
|
|
280
278
|
const output = await this.getKernelCircuitOutput(previousOutput, previousProof, callData);
|
|
281
|
-
|
|
282
|
-
return [output, proof];
|
|
279
|
+
return [output, makeEmptyProof()];
|
|
283
280
|
}
|
|
284
281
|
|
|
285
282
|
protected async getKernelCircuitOutput(
|
|
@@ -330,7 +327,8 @@ export abstract class AbstractPhaseManager {
|
|
|
330
327
|
previousOutput: PublicKernelCircuitPublicInputs,
|
|
331
328
|
previousProof: Proof,
|
|
332
329
|
): PublicKernelData {
|
|
333
|
-
|
|
330
|
+
// TODO(@PhilWindle) Fix once we move this to prover-client
|
|
331
|
+
const vk = VerificationKey.makeFake();
|
|
334
332
|
const vkIndex = 0;
|
|
335
333
|
const vkSiblingPath = MembershipWitness.random(VK_TREE_HEIGHT).siblingPath;
|
|
336
334
|
return new PublicKernelData(previousOutput, previousProof, vk, vkIndex, vkSiblingPath);
|
|
@@ -348,7 +346,7 @@ export abstract class AbstractPhaseManager {
|
|
|
348
346
|
);
|
|
349
347
|
|
|
350
348
|
// TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165) --> set this in Noir
|
|
351
|
-
const unencryptedLogsHash =
|
|
349
|
+
const unencryptedLogsHash = Fr.fromBuffer(result.unencryptedLogs.hash());
|
|
352
350
|
const unencryptedLogPreimagesLength = new Fr(result.unencryptedLogs.getSerializedLength());
|
|
353
351
|
|
|
354
352
|
return PublicCircuitPublicInputs.from({
|
|
@@ -385,7 +383,8 @@ export abstract class AbstractPhaseManager {
|
|
|
385
383
|
unencryptedLogsHash,
|
|
386
384
|
unencryptedLogPreimagesLength,
|
|
387
385
|
historicalHeader: this.historicalHeader,
|
|
388
|
-
|
|
386
|
+
// TODO(@just-mitch): need better mapping from simulator to revert code.
|
|
387
|
+
revertCode: result.reverted ? RevertCode.REVERTED : RevertCode.OK,
|
|
389
388
|
});
|
|
390
389
|
}
|
|
391
390
|
|
|
@@ -432,8 +431,7 @@ export abstract class AbstractPhaseManager {
|
|
|
432
431
|
);
|
|
433
432
|
const publicCallStack = padArrayEnd(publicCallRequests, CallRequest.empty(), MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL);
|
|
434
433
|
const portalContractAddress = result.execution.callContext.portalContractAddress.toField();
|
|
435
|
-
|
|
436
|
-
return new PublicCallData(callStackItem, publicCallStack, proof, portalContractAddress, bytecodeHash);
|
|
434
|
+
return new PublicCallData(callStackItem, publicCallStack, makeEmptyProof(), portalContractAddress, bytecodeHash);
|
|
437
435
|
}
|
|
438
436
|
}
|
|
439
437
|
|
|
@@ -3,7 +3,6 @@ import { GlobalVariables, Header, Proof, PublicKernelCircuitPublicInputs } from
|
|
|
3
3
|
import { PublicExecutor, PublicStateDB } from '@aztec/simulator';
|
|
4
4
|
import { MerkleTreeOperations } from '@aztec/world-state';
|
|
5
5
|
|
|
6
|
-
import { PublicProver } from '../prover/index.js';
|
|
7
6
|
import { PublicKernelCircuitSimulator } from '../simulator/index.js';
|
|
8
7
|
import { ContractsDataSourcePublicDB } from '../simulator/public_executor.js';
|
|
9
8
|
import { AbstractPhaseManager, PublicKernelPhase } from './abstract_phase_manager.js';
|
|
@@ -16,14 +15,13 @@ export class AppLogicPhaseManager extends AbstractPhaseManager {
|
|
|
16
15
|
protected db: MerkleTreeOperations,
|
|
17
16
|
protected publicExecutor: PublicExecutor,
|
|
18
17
|
protected publicKernel: PublicKernelCircuitSimulator,
|
|
19
|
-
protected publicProver: PublicProver,
|
|
20
18
|
protected globalVariables: GlobalVariables,
|
|
21
19
|
protected historicalHeader: Header,
|
|
22
20
|
protected publicContractsDB: ContractsDataSourcePublicDB,
|
|
23
21
|
protected publicStateDB: PublicStateDB,
|
|
24
22
|
public phase: PublicKernelPhase = PublicKernelPhase.APP_LOGIC,
|
|
25
23
|
) {
|
|
26
|
-
super(db, publicExecutor, publicKernel,
|
|
24
|
+
super(db, publicExecutor, publicKernel, globalVariables, historicalHeader, phase);
|
|
27
25
|
}
|
|
28
26
|
|
|
29
27
|
override async handle(
|
|
@@ -3,7 +3,6 @@ import { GlobalVariables, Header, PublicKernelCircuitPublicInputs } from '@aztec
|
|
|
3
3
|
import { PublicExecutor, PublicStateDB } from '@aztec/simulator';
|
|
4
4
|
import { MerkleTreeOperations } from '@aztec/world-state';
|
|
5
5
|
|
|
6
|
-
import { PublicProver } from '../prover/index.js';
|
|
7
6
|
import { PublicKernelCircuitSimulator } from '../simulator/index.js';
|
|
8
7
|
import { ContractsDataSourcePublicDB } from '../simulator/public_executor.js';
|
|
9
8
|
import { AbstractPhaseManager, PublicKernelPhase } from './abstract_phase_manager.js';
|
|
@@ -30,7 +29,6 @@ export class PhaseManagerFactory {
|
|
|
30
29
|
db: MerkleTreeOperations,
|
|
31
30
|
publicExecutor: PublicExecutor,
|
|
32
31
|
publicKernel: PublicKernelCircuitSimulator,
|
|
33
|
-
publicProver: PublicProver,
|
|
34
32
|
globalVariables: GlobalVariables,
|
|
35
33
|
historicalHeader: Header,
|
|
36
34
|
publicContractsDB: ContractsDataSourcePublicDB,
|
|
@@ -41,7 +39,6 @@ export class PhaseManagerFactory {
|
|
|
41
39
|
db,
|
|
42
40
|
publicExecutor,
|
|
43
41
|
publicKernel,
|
|
44
|
-
publicProver,
|
|
45
42
|
globalVariables,
|
|
46
43
|
historicalHeader,
|
|
47
44
|
publicContractsDB,
|
|
@@ -52,7 +49,6 @@ export class PhaseManagerFactory {
|
|
|
52
49
|
db,
|
|
53
50
|
publicExecutor,
|
|
54
51
|
publicKernel,
|
|
55
|
-
publicProver,
|
|
56
52
|
globalVariables,
|
|
57
53
|
historicalHeader,
|
|
58
54
|
publicContractsDB,
|
|
@@ -63,7 +59,6 @@ export class PhaseManagerFactory {
|
|
|
63
59
|
db,
|
|
64
60
|
publicExecutor,
|
|
65
61
|
publicKernel,
|
|
66
|
-
publicProver,
|
|
67
62
|
globalVariables,
|
|
68
63
|
historicalHeader,
|
|
69
64
|
publicContractsDB,
|
|
@@ -80,7 +75,6 @@ export class PhaseManagerFactory {
|
|
|
80
75
|
db: MerkleTreeOperations,
|
|
81
76
|
publicExecutor: PublicExecutor,
|
|
82
77
|
publicKernel: PublicKernelCircuitSimulator,
|
|
83
|
-
publicProver: PublicProver,
|
|
84
78
|
globalVariables: GlobalVariables,
|
|
85
79
|
historicalHeader: Header,
|
|
86
80
|
publicContractsDB: ContractsDataSourcePublicDB,
|
|
@@ -96,7 +90,6 @@ export class PhaseManagerFactory {
|
|
|
96
90
|
db,
|
|
97
91
|
publicExecutor,
|
|
98
92
|
publicKernel,
|
|
99
|
-
publicProver,
|
|
100
93
|
globalVariables,
|
|
101
94
|
historicalHeader,
|
|
102
95
|
publicContractsDB,
|
|
@@ -110,7 +103,6 @@ export class PhaseManagerFactory {
|
|
|
110
103
|
db,
|
|
111
104
|
publicExecutor,
|
|
112
105
|
publicKernel,
|
|
113
|
-
publicProver,
|
|
114
106
|
globalVariables,
|
|
115
107
|
historicalHeader,
|
|
116
108
|
publicContractsDB,
|
|
@@ -121,7 +113,6 @@ export class PhaseManagerFactory {
|
|
|
121
113
|
db,
|
|
122
114
|
publicExecutor,
|
|
123
115
|
publicKernel,
|
|
124
|
-
publicProver,
|
|
125
116
|
globalVariables,
|
|
126
117
|
historicalHeader,
|
|
127
118
|
publicContractsDB,
|
|
@@ -1,28 +1,27 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
FailedTx,
|
|
3
|
+
L1ToL2MessageSource,
|
|
4
|
+
ProcessedTx,
|
|
5
|
+
SimulationError,
|
|
6
|
+
Tx,
|
|
7
|
+
getPreviousOutputAndProof,
|
|
8
|
+
makeEmptyProcessedTx,
|
|
9
|
+
makeProcessedTx,
|
|
10
|
+
validateProcessedTx,
|
|
11
|
+
} from '@aztec/circuit-types';
|
|
2
12
|
import { TxSequencerProcessingStats } from '@aztec/circuit-types/stats';
|
|
3
13
|
import { GlobalVariables, Header } from '@aztec/circuits.js';
|
|
4
14
|
import { createDebugLogger } from '@aztec/foundation/log';
|
|
5
15
|
import { Timer } from '@aztec/foundation/timer';
|
|
6
|
-
import { PublicExecutor, PublicStateDB } from '@aztec/simulator';
|
|
16
|
+
import { PublicExecutor, PublicStateDB, SimulationProvider } from '@aztec/simulator';
|
|
7
17
|
import { ContractDataSource } from '@aztec/types/contracts';
|
|
8
18
|
import { MerkleTreeOperations } from '@aztec/world-state';
|
|
9
19
|
|
|
10
|
-
import { EmptyPublicProver } from '../prover/empty.js';
|
|
11
|
-
import { PublicProver } from '../prover/index.js';
|
|
12
20
|
import { PublicKernelCircuitSimulator } from '../simulator/index.js';
|
|
13
21
|
import { ContractsDataSourcePublicDB, WorldStateDB, WorldStatePublicDB } from '../simulator/public_executor.js';
|
|
14
22
|
import { RealPublicKernelCircuitSimulator } from '../simulator/public_kernel.js';
|
|
15
|
-
import { SimulationProvider } from '../simulator/simulation_provider.js';
|
|
16
23
|
import { AbstractPhaseManager } from './abstract_phase_manager.js';
|
|
17
24
|
import { PhaseManagerFactory } from './phase_manager_factory.js';
|
|
18
|
-
import {
|
|
19
|
-
FailedTx,
|
|
20
|
-
ProcessedTx,
|
|
21
|
-
getPreviousOutputAndProof,
|
|
22
|
-
makeEmptyProcessedTx,
|
|
23
|
-
makeProcessedTx,
|
|
24
|
-
validateProcessedTx,
|
|
25
|
-
} from './processed_tx.js';
|
|
26
25
|
|
|
27
26
|
/**
|
|
28
27
|
* Creates new instances of PublicProcessor given the provided merkle tree db and contract data source.
|
|
@@ -56,7 +55,6 @@ export class PublicProcessorFactory {
|
|
|
56
55
|
this.merkleTree,
|
|
57
56
|
publicExecutor,
|
|
58
57
|
new RealPublicKernelCircuitSimulator(this.simulator),
|
|
59
|
-
new EmptyPublicProver(),
|
|
60
58
|
globalVariables,
|
|
61
59
|
historicalHeader,
|
|
62
60
|
publicContractsDB,
|
|
@@ -74,7 +72,6 @@ export class PublicProcessor {
|
|
|
74
72
|
protected db: MerkleTreeOperations,
|
|
75
73
|
protected publicExecutor: PublicExecutor,
|
|
76
74
|
protected publicKernel: PublicKernelCircuitSimulator,
|
|
77
|
-
protected publicProver: PublicProver,
|
|
78
75
|
protected globalVariables: GlobalVariables,
|
|
79
76
|
protected historicalHeader: Header,
|
|
80
77
|
protected publicContractsDB: ContractsDataSourcePublicDB,
|
|
@@ -100,7 +97,6 @@ export class PublicProcessor {
|
|
|
100
97
|
this.db,
|
|
101
98
|
this.publicExecutor,
|
|
102
99
|
this.publicKernel,
|
|
103
|
-
this.publicProver,
|
|
104
100
|
this.globalVariables,
|
|
105
101
|
this.historicalHeader,
|
|
106
102
|
this.publicContractsDB,
|
|
@@ -122,7 +118,6 @@ export class PublicProcessor {
|
|
|
122
118
|
this.db,
|
|
123
119
|
this.publicExecutor,
|
|
124
120
|
this.publicKernel,
|
|
125
|
-
this.publicProver,
|
|
126
121
|
this.globalVariables,
|
|
127
122
|
this.historicalHeader,
|
|
128
123
|
this.publicContractsDB,
|