@aztec/sequencer-client 0.30.1 → 0.32.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 +7 -35
- package/dest/config.d.ts.map +1 -1
- package/dest/config.js +7 -3
- 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 +3 -5
- 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 +4 -9
- package/dest/sequencer/public_processor.d.ts.map +1 -1
- package/dest/sequencer/public_processor.js +9 -12
- package/dest/sequencer/sequencer.d.ts +8 -6
- package/dest/sequencer/sequencer.d.ts.map +1 -1
- package/dest/sequencer/sequencer.js +24 -23
- 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 +9 -3
- package/dest/sequencer/tx_validator.d.ts.map +1 -1
- package/dest/sequencer/tx_validator.js +68 -20
- package/dest/sequencer/tx_validator_factory.d.ts +12 -0
- package/dest/sequencer/tx_validator_factory.d.ts.map +1 -0
- package/dest/sequencer/tx_validator_factory.js +17 -0
- 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 +3 -4
- package/dest/simulator/public_executor.d.ts.map +1 -1
- package/dest/simulator/public_executor.js +27 -18
- 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 +10 -49
- package/src/config.ts +7 -1
- package/src/index.ts +0 -9
- package/src/publisher/viem-tx-sender.ts +1 -2
- package/src/sequencer/abstract_phase_manager.ts +17 -19
- 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 +14 -19
- package/src/sequencer/sequencer.ts +25 -25
- 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 +94 -26
- package/src/sequencer/tx_validator_factory.ts +32 -0
- package/src/simulator/index.ts +0 -45
- package/src/simulator/public_executor.ts +33 -22
- 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
|
@@ -3,12 +3,11 @@ import { AbstractPhaseManager, PublicKernelPhase } from './abstract_phase_manage
|
|
|
3
3
|
* The phase manager responsible for performing the fee preparation phase.
|
|
4
4
|
*/
|
|
5
5
|
export class TeardownPhaseManager extends AbstractPhaseManager {
|
|
6
|
-
constructor(db, publicExecutor, publicKernel,
|
|
7
|
-
super(db, publicExecutor, publicKernel,
|
|
6
|
+
constructor(db, publicExecutor, publicKernel, globalVariables, historicalHeader, publicContractsDB, publicStateDB, phase = PublicKernelPhase.TEARDOWN) {
|
|
7
|
+
super(db, publicExecutor, publicKernel, globalVariables, historicalHeader, phase);
|
|
8
8
|
this.db = db;
|
|
9
9
|
this.publicExecutor = publicExecutor;
|
|
10
10
|
this.publicKernel = publicKernel;
|
|
11
|
-
this.publicProver = publicProver;
|
|
12
11
|
this.globalVariables = globalVariables;
|
|
13
12
|
this.historicalHeader = historicalHeader;
|
|
14
13
|
this.publicContractsDB = publicContractsDB;
|
|
@@ -28,4 +27,4 @@ export class TeardownPhaseManager extends AbstractPhaseManager {
|
|
|
28
27
|
return { publicKernelOutput, publicKernelProof, revertReason };
|
|
29
28
|
}
|
|
30
29
|
}
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVhcmRvd25fcGhhc2VfbWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXF1ZW5jZXIvdGVhcmRvd25fcGhhc2VfbWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUV0Rjs7R0FFRztBQUNILE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxvQkFBb0I7SUFDNUQsWUFDWSxFQUF3QixFQUN4QixjQUE4QixFQUM5QixZQUEwQyxFQUMxQyxlQUFnQyxFQUNoQyxnQkFBd0IsRUFDeEIsaUJBQThDLEVBQzlDLGFBQTRCLEVBQy9CLFFBQTJCLGlCQUFpQixDQUFDLFFBQVE7UUFFNUQsS0FBSyxDQUFDLEVBQUUsRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsQ0FBQztRQVR4RSxPQUFFLEdBQUYsRUFBRSxDQUFzQjtRQUN4QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsaUJBQVksR0FBWixZQUFZLENBQThCO1FBQzFDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQVE7UUFDeEIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUE2QjtRQUM5QyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUMvQixVQUFLLEdBQUwsS0FBSyxDQUFnRDtJQUc5RCxDQUFDO0lBRVEsS0FBSyxDQUFDLE1BQU0sQ0FDbkIsRUFBTSxFQUNOLDBCQUEyRCxFQUMzRCx5QkFBZ0M7UUFFaEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM1QyxNQUFNLENBQUMsa0JBQWtCLEVBQUUsaUJBQWlCLEVBQUUsMEJBQTBCLEVBQUUsWUFBWSxDQUFDLEdBQ3JGLE1BQU0sSUFBSSxDQUFDLDBCQUEwQixDQUFDLEVBQUUsRUFBRSwwQkFBMEIsRUFBRSx5QkFBeUIsQ0FBQyxDQUFDLEtBQUs7UUFDcEcsd0ZBQXdGO1FBQ3hGLEtBQUssRUFBQyxHQUFHLEVBQUMsRUFBRTtZQUNWLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQzVDLE1BQU0sR0FBRyxDQUFDO1FBQ1osQ0FBQyxDQUNGLENBQUM7UUFDSixFQUFFLENBQUMsZUFBZSxDQUFDLGVBQWUsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQy9ELE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUN0QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLENBQUM7SUFDakUsQ0FBQztDQUNGIn0=
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Tx } from '@aztec/circuit-types';
|
|
1
|
+
import { ProcessedTx, Tx } from '@aztec/circuit-types';
|
|
2
2
|
import { AztecAddress, EthAddress, Fr, GlobalVariables } from '@aztec/circuits.js';
|
|
3
|
-
import {
|
|
3
|
+
import { ContractDataSource } from '@aztec/types/contracts';
|
|
4
4
|
/** A source of what nullifiers have been committed to the state trees */
|
|
5
5
|
export interface NullifierSource {
|
|
6
6
|
getNullifierIndex: (nullifier: Fr) => Promise<bigint | undefined>;
|
|
@@ -9,9 +9,14 @@ export interface NullifierSource {
|
|
|
9
9
|
export interface PublicStateSource {
|
|
10
10
|
storageRead: (contractAddress: AztecAddress, slot: Fr) => Promise<Fr>;
|
|
11
11
|
}
|
|
12
|
+
type FeeValidationConfig = {
|
|
13
|
+
gasPortalAddress: EthAddress;
|
|
14
|
+
allowedFeePaymentContractClasses: Fr[];
|
|
15
|
+
allowedFeePaymentContractInstances: AztecAddress[];
|
|
16
|
+
};
|
|
12
17
|
export declare class TxValidator {
|
|
13
18
|
#private;
|
|
14
|
-
constructor(nullifierSource: NullifierSource, publicStateSource: PublicStateSource,
|
|
19
|
+
constructor(nullifierSource: NullifierSource, publicStateSource: PublicStateSource, contractDataSource: ContractDataSource, globalVariables: GlobalVariables, feeValidationConfig: FeeValidationConfig, log?: import("@aztec/foundation/log").DebugLogger);
|
|
15
20
|
/**
|
|
16
21
|
* Validates a list of transactions.
|
|
17
22
|
* @param txs - The transactions to validate.
|
|
@@ -19,4 +24,5 @@ export declare class TxValidator {
|
|
|
19
24
|
*/
|
|
20
25
|
validateTxs<T extends Tx | ProcessedTx>(txs: T[]): Promise<[validTxs: T[], invalidTxs: T[]]>;
|
|
21
26
|
}
|
|
27
|
+
export {};
|
|
22
28
|
//# sourceMappingURL=tx_validator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tx_validator.d.ts","sourceRoot":"","sources":["../../src/sequencer/tx_validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"tx_validator.d.ts","sourceRoot":"","sources":["../../src/sequencer/tx_validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,EAAE,eAAe,EAAqB,MAAM,oBAAoB,CAAC;AAItG,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAI5D,yEAAyE;AACzE,MAAM,WAAW,eAAe;IAC9B,iBAAiB,EAAE,CAAC,SAAS,EAAE,EAAE,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CACnE;AAED,iDAAiD;AACjD,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,CAAC,eAAe,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC,CAAC;CACvE;AAaD,KAAK,mBAAmB,GAAG;IACzB,gBAAgB,EAAE,UAAU,CAAC;IAC7B,gCAAgC,EAAE,EAAE,EAAE,CAAC;IACvC,kCAAkC,EAAE,YAAY,EAAE,CAAC;CACpD,CAAC;AAEF,qBAAa,WAAW;;gBASpB,eAAe,EAAE,eAAe,EAChC,iBAAiB,EAAE,iBAAiB,EACpC,kBAAkB,EAAE,kBAAkB,EACtC,eAAe,EAAE,eAAe,EAChC,mBAAmB,EAAE,mBAAmB,EACxC,GAAG,8CAAoD;IAUzD;;;;OAIG;IACU,WAAW,CAAC,CAAC,SAAS,EAAE,GAAG,WAAW,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;CA+L1G"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var _TxValidator_instances, _TxValidator_log, _TxValidator_globalVariables, _TxValidator_nullifierSource, _TxValidator_publicStateSource,
|
|
1
|
+
var _TxValidator_instances, _a, _TxValidator_log, _TxValidator_globalVariables, _TxValidator_nullifierSource, _TxValidator_publicStateSource, _TxValidator_contractDataSource, _TxValidator_feeValidationConfig, _TxValidator_validateMetadata, _TxValidator_validateNullifiers, _TxValidator_validateGasBalance, _TxValidator_validateMaxBlockNumber, _TxValidator_validateFee, _TxValidator_extractFeeExecutionCall;
|
|
2
2
|
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
3
3
|
import { Tx } from '@aztec/circuit-types';
|
|
4
4
|
import { Fr } from '@aztec/circuits.js';
|
|
@@ -14,17 +14,19 @@ const INVALID_TX = Symbol('invalid_tx');
|
|
|
14
14
|
// the storage slot associated with "storage.balances"
|
|
15
15
|
const GAS_TOKEN_BALANCES_SLOT = new Fr(1);
|
|
16
16
|
export class TxValidator {
|
|
17
|
-
constructor(nullifierSource, publicStateSource,
|
|
17
|
+
constructor(nullifierSource, publicStateSource, contractDataSource, globalVariables, feeValidationConfig, log = createDebugLogger('aztec:sequencer:tx_validator')) {
|
|
18
18
|
_TxValidator_instances.add(this);
|
|
19
19
|
_TxValidator_log.set(this, void 0);
|
|
20
20
|
_TxValidator_globalVariables.set(this, void 0);
|
|
21
21
|
_TxValidator_nullifierSource.set(this, void 0);
|
|
22
22
|
_TxValidator_publicStateSource.set(this, void 0);
|
|
23
|
-
|
|
23
|
+
_TxValidator_contractDataSource.set(this, void 0);
|
|
24
|
+
_TxValidator_feeValidationConfig.set(this, void 0);
|
|
24
25
|
__classPrivateFieldSet(this, _TxValidator_nullifierSource, nullifierSource, "f");
|
|
25
|
-
__classPrivateFieldSet(this, _TxValidator_globalVariables, globalVariables, "f");
|
|
26
26
|
__classPrivateFieldSet(this, _TxValidator_publicStateSource, publicStateSource, "f");
|
|
27
|
-
__classPrivateFieldSet(this,
|
|
27
|
+
__classPrivateFieldSet(this, _TxValidator_contractDataSource, contractDataSource, "f");
|
|
28
|
+
__classPrivateFieldSet(this, _TxValidator_globalVariables, globalVariables, "f");
|
|
29
|
+
__classPrivateFieldSet(this, _TxValidator_feeValidationConfig, feeValidationConfig, "f");
|
|
28
30
|
__classPrivateFieldSet(this, _TxValidator_log, log, "f");
|
|
29
31
|
}
|
|
30
32
|
/**
|
|
@@ -46,7 +48,17 @@ export class TxValidator {
|
|
|
46
48
|
continue;
|
|
47
49
|
}
|
|
48
50
|
// skip already processed transactions
|
|
49
|
-
if (tx instanceof Tx
|
|
51
|
+
if (tx instanceof Tx) {
|
|
52
|
+
if ((await __classPrivateFieldGet(this, _TxValidator_instances, "m", _TxValidator_validateFee).call(this, tx)) === INVALID_TX) {
|
|
53
|
+
invalidTxs.push(tx);
|
|
54
|
+
continue;
|
|
55
|
+
}
|
|
56
|
+
if ((await __classPrivateFieldGet(this, _TxValidator_instances, "m", _TxValidator_validateGasBalance).call(this, tx)) === INVALID_TX) {
|
|
57
|
+
invalidTxs.push(tx);
|
|
58
|
+
continue;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
if (__classPrivateFieldGet(this, _TxValidator_instances, "m", _TxValidator_validateMaxBlockNumber).call(this, tx) === INVALID_TX) {
|
|
50
62
|
invalidTxs.push(tx);
|
|
51
63
|
continue;
|
|
52
64
|
}
|
|
@@ -55,7 +67,7 @@ export class TxValidator {
|
|
|
55
67
|
return [validTxs, invalidTxs];
|
|
56
68
|
}
|
|
57
69
|
}
|
|
58
|
-
_TxValidator_log = new WeakMap(), _TxValidator_globalVariables = new WeakMap(), _TxValidator_nullifierSource = new WeakMap(), _TxValidator_publicStateSource = new WeakMap(),
|
|
70
|
+
_a = TxValidator, _TxValidator_log = new WeakMap(), _TxValidator_globalVariables = new WeakMap(), _TxValidator_nullifierSource = new WeakMap(), _TxValidator_publicStateSource = new WeakMap(), _TxValidator_contractDataSource = new WeakMap(), _TxValidator_feeValidationConfig = new WeakMap(), _TxValidator_instances = new WeakSet(), _TxValidator_validateMetadata = function _TxValidator_validateMetadata(tx) {
|
|
59
71
|
if (!tx.data.constants.txContext.chainId.equals(__classPrivateFieldGet(this, _TxValidator_globalVariables, "f").chainId)) {
|
|
60
72
|
__classPrivateFieldGet(this, _TxValidator_log, "f").warn(`Rejecting tx ${Tx.getHash(tx)} because of incorrect chain ${tx.data.constants.txContext.chainId.toString()} != ${__classPrivateFieldGet(this, _TxValidator_globalVariables, "f").chainId.toString()}`);
|
|
61
73
|
return INVALID_TX;
|
|
@@ -97,29 +109,65 @@ async function _TxValidator_validateNullifiers(tx, thisBlockNullifiers) {
|
|
|
97
109
|
return INVALID_TX;
|
|
98
110
|
}
|
|
99
111
|
return VALID_TX;
|
|
112
|
+
}, _TxValidator_validateGasBalance = async function _TxValidator_validateGasBalance(tx) {
|
|
113
|
+
if (!tx.data.needsTeardown) {
|
|
114
|
+
return VALID_TX;
|
|
115
|
+
}
|
|
116
|
+
const teardownFn = __classPrivateFieldGet(_a, _a, "m", _TxValidator_extractFeeExecutionCall).call(_a, tx);
|
|
117
|
+
// TODO(#1204) if a generator index is used for the derived storage slot of a map, update it here as well
|
|
118
|
+
const slot = pedersenHash([GAS_TOKEN_BALANCES_SLOT, teardownFn.callContext.msgSender]);
|
|
119
|
+
const gasBalance = await __classPrivateFieldGet(this, _TxValidator_publicStateSource, "f").storageRead(getCanonicalGasTokenAddress(__classPrivateFieldGet(this, _TxValidator_feeValidationConfig, "f").gasPortalAddress), slot);
|
|
120
|
+
// TODO(#5004) calculate fee needed based on tx limits and gas prices
|
|
121
|
+
const gasAmountNeeded = new Fr(1);
|
|
122
|
+
if (gasBalance.lt(gasAmountNeeded)) {
|
|
123
|
+
__classPrivateFieldGet(this, _TxValidator_log, "f").warn(`Rejecting tx ${Tx.getHash(tx)} because it should pay for gas but has insufficient balance ${gasBalance.toShortString()} < ${gasAmountNeeded.toShortString()}`);
|
|
124
|
+
return INVALID_TX;
|
|
125
|
+
}
|
|
126
|
+
return VALID_TX;
|
|
127
|
+
}, _TxValidator_validateMaxBlockNumber = function _TxValidator_validateMaxBlockNumber(tx) {
|
|
128
|
+
const maxBlockNumber = tx.data.rollupValidationRequests.maxBlockNumber;
|
|
129
|
+
if (maxBlockNumber.isSome && maxBlockNumber.value < __classPrivateFieldGet(this, _TxValidator_globalVariables, "f").blockNumber) {
|
|
130
|
+
__classPrivateFieldGet(this, _TxValidator_log, "f").warn(`Rejecting tx ${Tx.getHash(tx)} for low max block number`);
|
|
131
|
+
return INVALID_TX;
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
return VALID_TX;
|
|
135
|
+
}
|
|
100
136
|
}, _TxValidator_validateFee = async function _TxValidator_validateFee(tx) {
|
|
101
137
|
if (!tx.data.needsTeardown) {
|
|
102
138
|
// TODO check if fees are mandatory and reject this tx
|
|
103
139
|
__classPrivateFieldGet(this, _TxValidator_log, "f").debug(`Tx ${Tx.getHash(tx)} doesn't pay for gas`);
|
|
104
140
|
return VALID_TX;
|
|
105
141
|
}
|
|
106
|
-
const
|
|
107
|
-
// TODO what if there's more than one function call?
|
|
108
|
-
// if we're to enshrine that teardown = 1 function call, then we should turn this into a single function call
|
|
109
|
-
[PublicKernelPhase.TEARDOWN]: [teardownFn], } = AbstractPhaseManager.extractEnqueuedPublicCallsByPhase(tx.data, tx.enqueuedPublicFunctionCalls);
|
|
142
|
+
const teardownFn = __classPrivateFieldGet(_a, _a, "m", _TxValidator_extractFeeExecutionCall).call(_a, tx);
|
|
110
143
|
if (!teardownFn) {
|
|
111
144
|
__classPrivateFieldGet(this, _TxValidator_log, "f").warn(`Rejecting tx ${Tx.getHash(tx)} because it should pay for gas but has no enqueued teardown function call`);
|
|
112
145
|
return INVALID_TX;
|
|
113
146
|
}
|
|
114
|
-
|
|
115
|
-
const
|
|
116
|
-
|
|
117
|
-
// TODO(#5004) calculate fee needed based on tx limits and gas prices
|
|
118
|
-
const gasAmountNeeded = new Fr(1);
|
|
119
|
-
if (gasBalance.lt(gasAmountNeeded)) {
|
|
120
|
-
__classPrivateFieldGet(this, _TxValidator_log, "f").warn(`Rejecting tx ${Tx.getHash(tx)} because it should pay for gas but has insufficient balance ${gasBalance.toShortString()} < ${gasAmountNeeded.toShortString()}`);
|
|
147
|
+
const fpcAddress = teardownFn.contractAddress;
|
|
148
|
+
const contractClass = await __classPrivateFieldGet(this, _TxValidator_contractDataSource, "f").getContract(fpcAddress);
|
|
149
|
+
if (!contractClass) {
|
|
121
150
|
return INVALID_TX;
|
|
122
151
|
}
|
|
123
|
-
|
|
152
|
+
if (fpcAddress.equals(getCanonicalGasTokenAddress(__classPrivateFieldGet(this, _TxValidator_feeValidationConfig, "f").gasPortalAddress))) {
|
|
153
|
+
return VALID_TX;
|
|
154
|
+
}
|
|
155
|
+
for (const allowedContract of __classPrivateFieldGet(this, _TxValidator_feeValidationConfig, "f").allowedFeePaymentContractInstances) {
|
|
156
|
+
if (fpcAddress.equals(allowedContract)) {
|
|
157
|
+
return VALID_TX;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
for (const allowedContractClass of __classPrivateFieldGet(this, _TxValidator_feeValidationConfig, "f").allowedFeePaymentContractClasses) {
|
|
161
|
+
if (contractClass.contractClassId.equals(allowedContractClass)) {
|
|
162
|
+
return VALID_TX;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
return INVALID_TX;
|
|
166
|
+
}, _TxValidator_extractFeeExecutionCall = function _TxValidator_extractFeeExecutionCall(tx) {
|
|
167
|
+
const {
|
|
168
|
+
// TODO what if there's more than one function call?
|
|
169
|
+
// if we're to enshrine that teardown = 1 function call, then we should turn this into a single function call
|
|
170
|
+
[PublicKernelPhase.TEARDOWN]: [teardownFn], } = AbstractPhaseManager.extractEnqueuedPublicCallsByPhase(tx.data, tx.enqueuedPublicFunctionCalls);
|
|
171
|
+
return teardownFn;
|
|
124
172
|
};
|
|
125
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
173
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhfdmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcXVlbmNlci90eF92YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQWUsRUFBRSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUE0QixFQUFFLEVBQXNDLE1BQU0sb0JBQW9CLENBQUM7QUFDdEcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3hELE9BQU8sRUFBVSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBR2xGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBWXRGLG1FQUFtRTtBQUNuRSx1REFBdUQ7QUFDdkQsMEVBQTBFO0FBQzFFLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUNwQyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7QUFJeEMsc0RBQXNEO0FBQ3RELE1BQU0sdUJBQXVCLEdBQUcsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFRMUMsTUFBTSxPQUFPLFdBQVc7SUFRdEIsWUFDRSxlQUFnQyxFQUNoQyxpQkFBb0MsRUFDcEMsa0JBQXNDLEVBQ3RDLGVBQWdDLEVBQ2hDLG1CQUF3QyxFQUN4QyxHQUFHLEdBQUcsaUJBQWlCLENBQUMsOEJBQThCLENBQUM7O1FBYnpELG1DQUFhO1FBQ2IsK0NBQWtDO1FBQ2xDLCtDQUFrQztRQUNsQyxpREFBc0M7UUFDdEMsa0RBQXdDO1FBQ3hDLG1EQUEwQztRQVV4Qyx1QkFBQSxJQUFJLGdDQUFvQixlQUFlLE1BQUEsQ0FBQztRQUN4Qyx1QkFBQSxJQUFJLGtDQUFzQixpQkFBaUIsTUFBQSxDQUFDO1FBQzVDLHVCQUFB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
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AztecAddress, EthAddress, Fr, GlobalVariables } from '@aztec/circuits.js';
|
|
2
|
+
import { ContractDataSource } from '@aztec/types/contracts';
|
|
3
|
+
import { MerkleTreeOperations } from '@aztec/world-state';
|
|
4
|
+
import { TxValidator } from './tx_validator.js';
|
|
5
|
+
export declare class TxValidatorFactory {
|
|
6
|
+
private merkleTreeDb;
|
|
7
|
+
private contractDataSource;
|
|
8
|
+
private gasPortalAddress;
|
|
9
|
+
constructor(merkleTreeDb: MerkleTreeOperations, contractDataSource: ContractDataSource, gasPortalAddress: EthAddress);
|
|
10
|
+
buildTxValidator(globalVariables: GlobalVariables, allowedFeePaymentContractClasses: Fr[], allowedFeePaymentContractInstances: AztecAddress[]): TxValidator;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=tx_validator_factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tx_validator_factory.d.ts","sourceRoot":"","sources":["../../src/sequencer/tx_validator_factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAG1D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,qBAAa,kBAAkB;IAE3B,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,kBAAkB;IAC1B,OAAO,CAAC,gBAAgB;gBAFhB,YAAY,EAAE,oBAAoB,EAClC,kBAAkB,EAAE,kBAAkB,EACtC,gBAAgB,EAAE,UAAU;IAGtC,gBAAgB,CACd,eAAe,EAAE,eAAe,EAChC,gCAAgC,EAAE,EAAE,EAAE,EACtC,kCAAkC,EAAE,YAAY,EAAE,GACjD,WAAW;CAaf"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { WorldStateDB, WorldStatePublicDB } from '../simulator/public_executor.js';
|
|
2
|
+
import { TxValidator } from './tx_validator.js';
|
|
3
|
+
export class TxValidatorFactory {
|
|
4
|
+
constructor(merkleTreeDb, contractDataSource, gasPortalAddress) {
|
|
5
|
+
this.merkleTreeDb = merkleTreeDb;
|
|
6
|
+
this.contractDataSource = contractDataSource;
|
|
7
|
+
this.gasPortalAddress = gasPortalAddress;
|
|
8
|
+
}
|
|
9
|
+
buildTxValidator(globalVariables, allowedFeePaymentContractClasses, allowedFeePaymentContractInstances) {
|
|
10
|
+
return new TxValidator(new WorldStateDB(this.merkleTreeDb), new WorldStatePublicDB(this.merkleTreeDb), this.contractDataSource, globalVariables, {
|
|
11
|
+
allowedFeePaymentContractClasses,
|
|
12
|
+
allowedFeePaymentContractInstances,
|
|
13
|
+
gasPortalAddress: this.gasPortalAddress,
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhfdmFsaWRhdG9yX2ZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VxdWVuY2VyL3R4X3ZhbGlkYXRvcl9mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFaEQsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixZQUNVLFlBQWtDLEVBQ2xDLGtCQUFzQyxFQUN0QyxnQkFBNEI7UUFGNUIsaUJBQVksR0FBWixZQUFZLENBQXNCO1FBQ2xDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFZO0lBQ25DLENBQUM7SUFFSixnQkFBZ0IsQ0FDZCxlQUFnQyxFQUNoQyxnQ0FBc0MsRUFDdEMsa0NBQWtEO1FBRWxELE9BQU8sSUFBSSxXQUFXLENBQ3BCLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFDbkMsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQ3pDLElBQUksQ0FBQyxrQkFBa0IsRUFDdkIsZUFBZSxFQUNmO1lBQ0UsZ0NBQWdDO1lBQ2hDLGtDQUFrQztZQUNsQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsZ0JBQWdCO1NBQ3hDLENBQ0YsQ0FBQztJQUNKLENBQUM7Q0FDRiJ9
|
|
@@ -1,39 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
/**
|
|
3
|
-
* Circuit simulator for the rollup circuits.
|
|
4
|
-
*/
|
|
5
|
-
export interface RollupSimulator {
|
|
6
|
-
/**
|
|
7
|
-
* Simulates the base parity circuit from its inputs.
|
|
8
|
-
* @param inputs - Inputs to the circuit.
|
|
9
|
-
* @returns The public inputs of the parity circuit.
|
|
10
|
-
*/
|
|
11
|
-
baseParityCircuit(inputs: BaseParityInputs): Promise<ParityPublicInputs>;
|
|
12
|
-
/**
|
|
13
|
-
* Simulates the root parity circuit from its inputs.
|
|
14
|
-
* @param inputs - Inputs to the circuit.
|
|
15
|
-
* @returns The public inputs of the parity circuit.
|
|
16
|
-
*/
|
|
17
|
-
rootParityCircuit(inputs: RootParityInputs): Promise<ParityPublicInputs>;
|
|
18
|
-
/**
|
|
19
|
-
* Simulates the base rollup circuit from its inputs.
|
|
20
|
-
* @param input - Inputs to the circuit.
|
|
21
|
-
* @returns The public inputs as outputs of the simulation.
|
|
22
|
-
*/
|
|
23
|
-
baseRollupCircuit(input: BaseRollupInputs): Promise<BaseOrMergeRollupPublicInputs>;
|
|
24
|
-
/**
|
|
25
|
-
* Simulates the merge rollup circuit from its inputs.
|
|
26
|
-
* @param input - Inputs to the circuit.
|
|
27
|
-
* @returns The public inputs as outputs of the simulation.
|
|
28
|
-
*/
|
|
29
|
-
mergeRollupCircuit(input: MergeRollupInputs): Promise<BaseOrMergeRollupPublicInputs>;
|
|
30
|
-
/**
|
|
31
|
-
* Simulates the root rollup circuit from its inputs.
|
|
32
|
-
* @param input - Inputs to the circuit.
|
|
33
|
-
* @returns The public inputs as outputs of the simulation.
|
|
34
|
-
*/
|
|
35
|
-
rootRollupCircuit(input: RootRollupInputs): Promise<RootRollupPublicInputs>;
|
|
36
|
-
}
|
|
1
|
+
import { PublicKernelCircuitPrivateInputs, PublicKernelCircuitPublicInputs, PublicKernelTailCircuitPrivateInputs } from '@aztec/circuits.js';
|
|
37
2
|
/**
|
|
38
3
|
* Circuit simulator for the public kernel circuits.
|
|
39
4
|
*/
|
|
@@ -63,5 +28,4 @@ export interface PublicKernelCircuitSimulator {
|
|
|
63
28
|
*/
|
|
64
29
|
publicKernelCircuitTail(inputs: PublicKernelTailCircuitPrivateInputs): Promise<PublicKernelCircuitPublicInputs>;
|
|
65
30
|
}
|
|
66
|
-
export * from './acvm_wasm.js';
|
|
67
31
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/simulator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/simulator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gCAAgC,EAChC,+BAA+B,EAC/B,oCAAoC,EACrC,MAAM,oBAAoB,CAAC;AAE5B;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C;;;;OAIG;IACH,wBAAwB,CAAC,MAAM,EAAE,gCAAgC,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;IAC7G;;;;OAIG;IACH,2BAA2B,CAAC,MAAM,EAAE,gCAAgC,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;IAChH;;;;OAIG;IACH,2BAA2B,CAAC,MAAM,EAAE,gCAAgC,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;IAChH;;;;OAIG;IACH,uBAAuB,CAAC,MAAM,EAAE,oCAAoC,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;CACjH"}
|
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==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
-
import {
|
|
2
|
+
import { NullifierMembershipWitness, Tx } from '@aztec/circuit-types';
|
|
3
3
|
import { AztecAddress, EthAddress, Fr, FunctionSelector, L1_TO_L2_MSG_TREE_HEIGHT } from '@aztec/circuits.js';
|
|
4
4
|
import { CommitmentsDB, MessageLoadOracleInputs, PublicContractsDB, PublicStateDB } from '@aztec/simulator';
|
|
5
5
|
import { ContractClassPublic, ContractDataSource, ContractInstanceWithAddress } from '@aztec/types/contracts';
|
|
@@ -70,10 +70,9 @@ export declare class WorldStatePublicDB implements PublicStateDB {
|
|
|
70
70
|
*/
|
|
71
71
|
export declare class WorldStateDB implements CommitmentsDB {
|
|
72
72
|
private db;
|
|
73
|
-
|
|
74
|
-
constructor(db: MerkleTreeOperations, l1ToL2MessageSource: L1ToL2MessageSource);
|
|
73
|
+
constructor(db: MerkleTreeOperations);
|
|
75
74
|
getNullifierMembershipWitnessAtLatestBlock(nullifier: Fr): Promise<NullifierMembershipWitness | undefined>;
|
|
76
|
-
getL1ToL2MembershipWitness(
|
|
75
|
+
getL1ToL2MembershipWitness(contractAddress: AztecAddress, messageHash: Fr, secret: Fr): Promise<MessageLoadOracleInputs<typeof L1_TO_L2_MSG_TREE_HEIGHT>>;
|
|
77
76
|
getCommitmentIndex(commitment: Fr): Promise<bigint | undefined>;
|
|
78
77
|
getNullifierIndex(nullifier: Fr): Promise<bigint | undefined>;
|
|
79
78
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public_executor.d.ts","sourceRoot":"","sources":["../../src/simulator/public_executor.ts"],"names":[],"mappings":";AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"public_executor.d.ts","sourceRoot":"","sources":["../../src/simulator/public_executor.ts"],"names":[],"mappings":";AAAA,OAAO,EAAgB,0BAA0B,EAAE,EAAE,EAAE,MAAM,sBAAsB,CAAC;AACpF,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;gBAAF,EAAE,EAAE,oBAAoB;IAE/B,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;IA2BvD,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
|
-
import { MerkleTreeId, NullifierMembershipWitness
|
|
1
|
+
import { MerkleTreeId, NullifierMembershipWitness } 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.
|
|
@@ -21,8 +21,8 @@ export class ContractsDataSourcePublicDB {
|
|
|
21
21
|
*/
|
|
22
22
|
addNewContracts(tx) {
|
|
23
23
|
// Extract contract class and instance data from logs and add to cache for this block
|
|
24
|
-
const logs = tx.unencryptedLogs.unrollLogs()
|
|
25
|
-
ContractClassRegisteredEvent.fromLogs(logs,
|
|
24
|
+
const logs = tx.unencryptedLogs.unrollLogs();
|
|
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
|
});
|
|
@@ -40,8 +40,8 @@ export class ContractsDataSourcePublicDB {
|
|
|
40
40
|
// TODO(@spalladino): Can this inadvertently delete a valid contract added by another tx?
|
|
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
|
-
const logs = tx.unencryptedLogs.unrollLogs()
|
|
44
|
-
ContractClassRegisteredEvent.fromLogs(logs,
|
|
43
|
+
const logs = tx.unencryptedLogs.unrollLogs();
|
|
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
|
}
|
|
@@ -154,9 +154,8 @@ export class WorldStatePublicDB {
|
|
|
154
154
|
* Implements WorldState db using a world state database.
|
|
155
155
|
*/
|
|
156
156
|
export class WorldStateDB {
|
|
157
|
-
constructor(db
|
|
157
|
+
constructor(db) {
|
|
158
158
|
this.db = db;
|
|
159
|
-
this.l1ToL2MessageSource = l1ToL2MessageSource;
|
|
160
159
|
}
|
|
161
160
|
async getNullifierMembershipWitnessAtLatestBlock(nullifier) {
|
|
162
161
|
const index = await this.db.findLeafIndex(MerkleTreeId.NULLIFIER_TREE, nullifier.toBuffer());
|
|
@@ -171,19 +170,29 @@ export class WorldStateDB {
|
|
|
171
170
|
}
|
|
172
171
|
return new NullifierMembershipWitness(BigInt(index), leafPreimage, siblingPath);
|
|
173
172
|
}
|
|
174
|
-
async getL1ToL2MembershipWitness(
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
173
|
+
async getL1ToL2MembershipWitness(contractAddress, messageHash, secret) {
|
|
174
|
+
let nullifierIndex;
|
|
175
|
+
let messageIndex;
|
|
176
|
+
let startIndex = 0n;
|
|
177
|
+
// We iterate over messages until we find one whose nullifier is not in the nullifier tree --> we need to check
|
|
178
|
+
// for nullifiers because messages can have duplicates.
|
|
179
|
+
do {
|
|
180
|
+
messageIndex = (await this.db.findLeafIndexAfter(MerkleTreeId.L1_TO_L2_MESSAGE_TREE, messageHash, startIndex));
|
|
181
|
+
if (messageIndex === undefined) {
|
|
182
|
+
throw new Error(`No non-nullified L1 to L2 message found for message hash ${messageHash.toString()}`);
|
|
183
|
+
}
|
|
184
|
+
const messageNullifier = computeL1ToL2MessageNullifier(contractAddress, messageHash, secret, messageIndex);
|
|
185
|
+
nullifierIndex = await this.getNullifierIndex(messageNullifier);
|
|
186
|
+
startIndex = messageIndex + 1n;
|
|
187
|
+
} while (nullifierIndex !== undefined);
|
|
188
|
+
const siblingPath = await this.db.getSiblingPath(MerkleTreeId.L1_TO_L2_MESSAGE_TREE, messageIndex);
|
|
189
|
+
return new MessageLoadOracleInputs(messageIndex, siblingPath);
|
|
181
190
|
}
|
|
182
191
|
async getCommitmentIndex(commitment) {
|
|
183
|
-
return await this.db.findLeafIndex(MerkleTreeId.NOTE_HASH_TREE, commitment
|
|
192
|
+
return await this.db.findLeafIndex(MerkleTreeId.NOTE_HASH_TREE, commitment);
|
|
184
193
|
}
|
|
185
194
|
async getNullifierIndex(nullifier) {
|
|
186
195
|
return await this.db.findLeafIndex(MerkleTreeId.NULLIFIER_TREE, nullifier.toBuffer());
|
|
187
196
|
}
|
|
188
197
|
}
|
|
189
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
198
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2V4ZWN1dG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NpbXVsYXRvci9wdWJsaWNfZXhlY3V0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSwwQkFBMEIsRUFBTSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BGLE9BQU8sRUFFTCw0QkFBNEIsRUFDNUIsNkJBQTZCLEVBRTdCLEVBQUUsR0FNSCxNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ2hHLE9BQU8sRUFBaUIsdUJBQXVCLEVBQW9DLE1BQU0sa0JBQWtCLENBQUM7QUFJNUc7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLDJCQUEyQjtJQU10QyxZQUFvQixFQUFzQjtRQUF0QixPQUFFLEdBQUYsRUFBRSxDQUFvQjtRQUxsQyxrQkFBYSxHQUFHLElBQUksR0FBRyxFQUF1QyxDQUFDO1FBQy9ELGVBQVUsR0FBRyxJQUFJLEdBQUcsRUFBK0IsQ0FBQztRQUVwRCxRQUFHLEdBQUcsaUJBQWlCLENBQUMsdUNBQXVDLENBQUMsQ0FBQztJQUU1QixDQUFDO0lBRTlDOzs7T0FHRztJQUNJLGVBQWUsQ0FBQyxFQUFNO1FBQzNCLHFGQUFxRjtRQUNyRixNQUFNLElBQUksR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzdDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsa0NBQWtDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUM1RixJQUFJLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsZUFBZSxDQUFD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
|
|
@@ -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.32.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.32.0",
|
|
25
|
+
"@aztec/circuits.js": "0.32.0",
|
|
26
|
+
"@aztec/ethereum": "0.32.0",
|
|
27
|
+
"@aztec/foundation": "0.32.0",
|
|
28
|
+
"@aztec/l1-artifacts": "0.32.0",
|
|
29
|
+
"@aztec/merkle-tree": "0.32.0",
|
|
30
|
+
"@aztec/noir-protocol-circuits-types": "0.32.0",
|
|
31
|
+
"@aztec/p2p": "0.32.0",
|
|
32
|
+
"@aztec/protocol-contracts": "0.32.0",
|
|
33
|
+
"@aztec/simulator": "0.32.0",
|
|
34
|
+
"@aztec/types": "0.32.0",
|
|
35
|
+
"@aztec/world-state": "0.32.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",
|