@aztec/sequencer-client 0.38.0 → 0.40.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/config.js +6 -1
- package/dest/sequencer/sequencer.d.ts.map +1 -1
- package/dest/sequencer/sequencer.js +3 -2
- package/dest/tx_validator/gas_validator.d.ts +2 -2
- package/dest/tx_validator/gas_validator.d.ts.map +1 -1
- package/dest/tx_validator/gas_validator.js +4 -33
- package/dest/tx_validator/phases_validator.d.ts +1 -2
- package/dest/tx_validator/phases_validator.d.ts.map +1 -1
- package/dest/tx_validator/phases_validator.js +6 -10
- package/dest/tx_validator/tx_validator_factory.d.ts +1 -1
- package/dest/tx_validator/tx_validator_factory.d.ts.map +1 -1
- package/dest/tx_validator/tx_validator_factory.js +3 -3
- package/package.json +14 -14
- package/src/config.ts +6 -0
- package/src/sequencer/sequencer.ts +2 -5
- package/src/tx_validator/gas_validator.ts +5 -44
- package/src/tx_validator/phases_validator.ts +6 -19
- package/src/tx_validator/tx_validator_factory.ts +2 -6
package/dest/config.js
CHANGED
|
@@ -96,6 +96,11 @@ function getDefaultAllowedSetupFunctions() {
|
|
|
96
96
|
classId: getContractClassFromArtifact(EcdsaAccountContractArtifact).id,
|
|
97
97
|
selector: FunctionSelector.fromSignature('approve_public_authwit(Field)'),
|
|
98
98
|
},
|
|
99
|
+
// needed for native payments while they are not yet enshrined
|
|
100
|
+
{
|
|
101
|
+
classId: getContractClassFromArtifact(GasTokenContract.artifact).id,
|
|
102
|
+
selector: FunctionSelector.fromSignature('pay_fee(Field)'),
|
|
103
|
+
},
|
|
99
104
|
// needed for private transfers via FPC
|
|
100
105
|
{
|
|
101
106
|
classId: getContractClassFromArtifact(TokenContractArtifact).id,
|
|
@@ -123,4 +128,4 @@ function getDefaultAllowedTeardownFunctions() {
|
|
|
123
128
|
},
|
|
124
129
|
];
|
|
125
130
|
}
|
|
126
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRSxnQkFBZ0IsRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RHLE9BQU8sRUFBNEIsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzNELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN6RixPQUFPLEVBQUUsdUNBQXVDLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUMzRyxPQUFPLEVBQUUsdUNBQXVDLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUMzRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQXlCdkU7O0dBRUc7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCO0lBQzlCLE1BQU0sRUFDSix5QkFBeUIsRUFDekIsYUFBYSxFQUNiLFFBQVEsRUFDUixPQUFPLEVBQ1AsT0FBTyxFQUNQLDBCQUEwQixFQUMxQiw2QkFBNkIsRUFDN0IsMEJBQTBCLEVBQzFCLG9CQUFvQixFQUNwQixvQkFBb0IsRUFDcEIsb0JBQW9CLEVBQ3BCLHVCQUF1QixFQUN2QixvQ0FBb0MsRUFDcEMsdUJBQXVCLEVBQ3ZCLHlCQUF5QixFQUN6QixzQkFBc0IsRUFDdEIsdUJBQXVCLEVBQ3ZCLDBCQUEwQixFQUMxQiwyQkFBMkIsRUFDM0IsUUFBUSxFQUNSLGFBQWEsRUFDYixzQkFBc0IsRUFDdEIsZ0JB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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sequencer.d.ts","sourceRoot":"","sources":["../../src/sequencer/sequencer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,OAAO,EACZ,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,EAAE,EACF,KAAK,WAAW,EACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAwB,KAAK,WAAW,EAAkB,MAAM,iCAAiC,CAAC;AAEzG,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAK9D,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAyB,KAAK,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAExF,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AAC1F,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAClF,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD;;;;;;;;GAQG;AACH,qBAAa,SAAS;IAclB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,mBAAmB;IAC3B,OAAO,CAAC,sBAAsB;IAC9B,OAAO,CAAC,kBAAkB;IAE1B,OAAO,CAAC,GAAG;IAvBb,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,iBAAiB,CAAgB;IACzC,OAAO,CAAC,cAAc,CAAM;IAC5B,OAAO,CAAC,cAAc,CAAK;IAE3B,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,kBAAkB,CAAK;IAC/B,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,uBAAuB,CAAyB;IACxD,OAAO,CAAC,0BAA0B,CAAyB;gBAGjD,SAAS,EAAE,WAAW,EACtB,cAAc,EAAE,qBAAqB,EACrC,SAAS,EAAE,GAAG,EACd,UAAU,EAAE,sBAAsB,EAClC,MAAM,EAAE,WAAW,EACnB,aAAa,EAAE,aAAa,EAC5B,mBAAmB,EAAE,mBAAmB,EACxC,sBAAsB,EAAE,sBAAsB,EAC9C,kBAAkB,EAAE,kBAAkB,EAC9C,MAAM,GAAE,eAAoB,EACpB,GAAG,yCAAuC;IAMpD;;;OAGG;IACI,YAAY,CAAC,MAAM,EAAE,eAAe;
|
|
1
|
+
{"version":3,"file":"sequencer.d.ts","sourceRoot":"","sources":["../../src/sequencer/sequencer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,OAAO,EACZ,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,EAAE,EACF,KAAK,WAAW,EACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAwB,KAAK,WAAW,EAAkB,MAAM,iCAAiC,CAAC;AAEzG,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAK9D,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAyB,KAAK,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAExF,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AAC1F,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAClF,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD;;;;;;;;GAQG;AACH,qBAAa,SAAS;IAclB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,mBAAmB;IAC3B,OAAO,CAAC,sBAAsB;IAC9B,OAAO,CAAC,kBAAkB;IAE1B,OAAO,CAAC,GAAG;IAvBb,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,iBAAiB,CAAgB;IACzC,OAAO,CAAC,cAAc,CAAM;IAC5B,OAAO,CAAC,cAAc,CAAK;IAE3B,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,kBAAkB,CAAK;IAC/B,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,uBAAuB,CAAyB;IACxD,OAAO,CAAC,0BAA0B,CAAyB;gBAGjD,SAAS,EAAE,WAAW,EACtB,cAAc,EAAE,qBAAqB,EACrC,SAAS,EAAE,GAAG,EACd,UAAU,EAAE,sBAAsB,EAClC,MAAM,EAAE,WAAW,EACnB,aAAa,EAAE,aAAa,EAC5B,mBAAmB,EAAE,mBAAmB,EACxC,sBAAsB,EAAE,sBAAsB,EAC9C,kBAAkB,EAAE,kBAAkB,EAC9C,MAAM,GAAE,eAAoB,EACpB,GAAG,yCAAuC;IAMpD;;;OAGG;IACI,YAAY,CAAC,MAAM,EAAE,eAAe;IAyB3C;;OAEG;IACU,KAAK;IASlB;;OAEG;IACU,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQlC;;OAEG;IACI,OAAO;IAOd;;;OAGG;IACI,MAAM;;;cAIG,WAAW;IAK3B;;OAEG;cACa,IAAI;IAmIpB;;;OAGG;cACa,cAAc,CAAC,KAAK,EAAE,OAAO;cAW7B,YAAY,CAAC,CAAC,SAAS,EAAE,GAAG,WAAW,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAU3G;;;OAGG;cACa,aAAa;IAW7B,IAAI,QAAQ,IAAI,UAAU,CAEzB;IAED,IAAI,YAAY,IAAI,YAAY,CAE/B;CACF;AAED;;GAEG;AACH,oBAAY,cAAc;IACxB;;OAEG;IACH,IAAI,IAAA;IACJ;;OAEG;IACH,eAAe,IAAA;IACf;;OAEG;IACH,cAAc,IAAA;IACd;;OAEG;IACH,wBAAwB,IAAA;IACxB;;OAEG;IACH,gBAAgB,IAAA;IAChB;;OAEG;IACH,OAAO,IAAA;CACR"}
|
|
@@ -62,6 +62,7 @@ export class Sequencer {
|
|
|
62
62
|
if (config.allowedFunctionsInSetup) {
|
|
63
63
|
this.allowedFunctionsInSetup = config.allowedFunctionsInSetup;
|
|
64
64
|
}
|
|
65
|
+
// TODO(#5917) remove this. it is no longer needed since we don't need to whitelist functions in teardown
|
|
65
66
|
if (config.allowedFunctionsInTeardown) {
|
|
66
67
|
this.allowedFunctionsInTeardown = config.allowedFunctionsInTeardown;
|
|
67
68
|
}
|
|
@@ -144,7 +145,7 @@ export class Sequencer {
|
|
|
144
145
|
};
|
|
145
146
|
const newGlobalVariables = await this.globalsBuilder.buildGlobalVariables(new Fr(newBlockNumber), this._coinbase, this._feeRecipient);
|
|
146
147
|
// TODO: It should be responsibility of the P2P layer to validate txs before passing them on here
|
|
147
|
-
const validTxs = await this.takeValidTxs(pendingTxs, this.txValidatorFactory.validatorForNewTxs(newGlobalVariables, this.allowedFunctionsInSetup
|
|
148
|
+
const validTxs = await this.takeValidTxs(pendingTxs, this.txValidatorFactory.validatorForNewTxs(newGlobalVariables, this.allowedFunctionsInSetup));
|
|
148
149
|
if (validTxs.length < this.minTxsPerBLock) {
|
|
149
150
|
return;
|
|
150
151
|
}
|
|
@@ -281,4 +282,4 @@ export var SequencerState;
|
|
|
281
282
|
*/
|
|
282
283
|
SequencerState[SequencerState["STOPPED"] = 5] = "STOPPED";
|
|
283
284
|
})(SequencerState || (SequencerState = {}));
|
|
284
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VxdWVuY2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcXVlbmNlci9zZXF1ZW5jZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUtMLEVBQUUsR0FFSCxNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBMEMsY0FBYyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFekcsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFVekQ7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLE9BQU8sU0FBUztJQWFwQixZQUNVLFNBQXNCLEVBQ3RCLGNBQXFDLEVBQ3JDLFNBQWMsRUFDZCxVQUFrQyxFQUNsQyxNQUFtQixFQUNuQixhQUE0QixFQUM1QixtQkFBd0MsRUFDeEMsc0JBQThDLEVBQzlDLGtCQUFzQyxFQUM5QyxTQUEwQixFQUFFLEVBQ3BCLE1BQU0saUJBQWlCLENBQUMsaUJBQWlCLENBQUM7UUFWMUMsY0FBUyxHQUFULFNBQVMsQ0FBYTtRQUN0QixtQkFBYyxHQUFkLGNBQWMsQ0FBdUI7UUFDckMsY0FBUyxHQUFULFNBQVMsQ0FBSztRQUNkLGVBQVUsR0FBVixVQUFVLENBQXdCO1FBQ2xDLFdBQU0sR0FBTixNQUFNLENBQWE7UUFDbkIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4QywyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQzlDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FB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
|
|
285
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VxdWVuY2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcXVlbmNlci9zZXF1ZW5jZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUtMLEVBQUUsR0FFSCxNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBMEMsY0FBYyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFekcsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFVekQ7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLE9BQU8sU0FBUztJQWFwQixZQUNVLFNBQXNCLEVBQ3RCLGNBQXFDLEVBQ3JDLFNBQWMsRUFDZCxVQUFrQyxFQUNsQyxNQUFtQixFQUNuQixhQUE0QixFQUM1QixtQkFBd0MsRUFDeEMsc0JBQThDLEVBQzlDLGtCQUFzQyxFQUM5QyxTQUEwQixFQUFFLEVBQ3BCLE1BQU0saUJBQWlCLENBQUMsaUJBQWlCLENBQUM7UUFWMUMsY0FBUyxHQUFULFNBQVMsQ0FBYTtRQUN0QixtQkFBYyxHQUFkLGNBQWMsQ0FBdUI7UUFDckMsY0FBUyxHQUFULFNBQVMsQ0FBSztRQUNkLGVBQVUsR0FBVixVQUFVLENBQXdCO1FBQ2xDLFdBQU0sR0FBTixNQUFNLENBQWE7UUFDbkIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4QywyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQzlDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FB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
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Tx, type TxValidator } from '@aztec/circuit-types';
|
|
2
|
-
import { type AztecAddress, Fr } from '@aztec/circuits.js';
|
|
1
|
+
import { type Tx, type TxValidator } from '@aztec/circuit-types';
|
|
2
|
+
import { type AztecAddress, type Fr } from '@aztec/circuits.js';
|
|
3
3
|
/** Provides a view into public contract state */
|
|
4
4
|
export interface PublicStateSource {
|
|
5
5
|
storageRead: (contractAddress: AztecAddress, slot: Fr) => Promise<Fr>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gas_validator.d.ts","sourceRoot":"","sources":["../../src/tx_validator/gas_validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"gas_validator.d.ts","sourceRoot":"","sources":["../../src/tx_validator/gas_validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAGhE,iDAAiD;AACjD,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,CAAC,eAAe,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC,CAAC;CACvE;AAED,qBAAa,cAAe,YAAW,WAAW,CAAC,EAAE,CAAC;;gBAMxC,gBAAgB,EAAE,iBAAiB,EAAE,eAAe,EAAE,YAAY,EAAE,WAAW,UAAQ;IAM7F,WAAW,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;CAoB1E"}
|
|
@@ -1,11 +1,6 @@
|
|
|
1
1
|
var _GasTxValidator_instances, _GasTxValidator_log, _GasTxValidator_publicDataSource, _GasTxValidator_gasTokenAddress, _GasTxValidator_requireFees, _GasTxValidator_validateTxFee;
|
|
2
2
|
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
3
|
-
import { Tx } from '@aztec/circuit-types';
|
|
4
|
-
import { Fr } from '@aztec/circuits.js';
|
|
5
|
-
import { pedersenHash } from '@aztec/foundation/crypto';
|
|
6
3
|
import { createDebugLogger } from '@aztec/foundation/log';
|
|
7
|
-
import { GasTokenContract } from '@aztec/noir-contracts.js';
|
|
8
|
-
import { AbstractPhaseManager, PublicKernelPhase } from '@aztec/simulator';
|
|
9
4
|
export class GasTxValidator {
|
|
10
5
|
constructor(publicDataSource, gasTokenAddress, requireFees = false) {
|
|
11
6
|
_GasTxValidator_instances.add(this);
|
|
@@ -31,32 +26,8 @@ export class GasTxValidator {
|
|
|
31
26
|
return [validTxs, invalidTxs];
|
|
32
27
|
}
|
|
33
28
|
}
|
|
34
|
-
_GasTxValidator_log = new WeakMap(), _GasTxValidator_publicDataSource = new WeakMap(), _GasTxValidator_gasTokenAddress = new WeakMap(), _GasTxValidator_requireFees = new WeakMap(), _GasTxValidator_instances = new WeakSet(), _GasTxValidator_validateTxFee =
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
if (__classPrivateFieldGet(this, _GasTxValidator_requireFees, "f")) {
|
|
38
|
-
__classPrivateFieldGet(this, _GasTxValidator_log, "f").warn(`Rejecting tx ${Tx.getHash(tx)} because it should pay for gas but has no enqueued teardown functions`);
|
|
39
|
-
return false;
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
__classPrivateFieldGet(this, _GasTxValidator_log, "f").debug(`Tx ${Tx.getHash(tx)} does not pay fees. Skipping balance check.`);
|
|
43
|
-
return true;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
if (teardownFns.length > 1) {
|
|
47
|
-
__classPrivateFieldGet(this, _GasTxValidator_log, "f").warn(`Rejecting tx ${Tx.getHash(tx)} because it has multiple teardown functions`);
|
|
48
|
-
return false;
|
|
49
|
-
}
|
|
50
|
-
// check that the caller of the teardown function has enough balance to pay for tx costs
|
|
51
|
-
const teardownFn = teardownFns[0];
|
|
52
|
-
const slot = pedersenHash([GasTokenContract.storage.balances.slot, teardownFn.callContext.msgSender]);
|
|
53
|
-
const gasBalance = await __classPrivateFieldGet(this, _GasTxValidator_publicDataSource, "f").storageRead(__classPrivateFieldGet(this, _GasTxValidator_gasTokenAddress, "f"), slot);
|
|
54
|
-
// TODO(#5004) calculate fee needed based on tx limits and gas prices
|
|
55
|
-
const gasAmountNeeded = new Fr(1);
|
|
56
|
-
if (gasBalance.lt(gasAmountNeeded)) {
|
|
57
|
-
__classPrivateFieldGet(this, _GasTxValidator_log, "f").warn(`Rejecting tx ${Tx.getHash(tx)} because it should pay for gas but has insufficient balance ${gasBalance.toShortString()} < ${gasAmountNeeded.toShortString()}`);
|
|
58
|
-
return false;
|
|
59
|
-
}
|
|
60
|
-
return true;
|
|
29
|
+
_GasTxValidator_log = new WeakMap(), _GasTxValidator_publicDataSource = new WeakMap(), _GasTxValidator_gasTokenAddress = new WeakMap(), _GasTxValidator_requireFees = new WeakMap(), _GasTxValidator_instances = new WeakSet(), _GasTxValidator_validateTxFee = function _GasTxValidator_validateTxFee(_tx) {
|
|
30
|
+
return Promise.resolve(true);
|
|
31
|
+
// TODO(#5920) re-enable sequencer checks after we have fee payer in kernel outputs
|
|
61
32
|
};
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FzX3ZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eF92YWxpZGF0b3IvZ2FzX3ZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUVBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBTzFELE1BQU0sT0FBTyxjQUFjO0lBTXpCLFlBQVksZ0JBQW1DLEVBQUUsZUFBNkIsRUFBRSxXQUFXLEdBQUcsS0FBSzs7UUFMbkcsOEJBQU8saUJBQWlCLENBQUMscUNBQXFDLENBQUMsRUFBQztRQUNoRSxtREFBcUM7UUFDckMsa0RBQStCO1FBQy9CLDhDQUFzQjtRQUdwQix1QkFBQSxJQUFJLG9DQUFxQixnQkFBZ0IsTUFBQSxDQUFDO1FBQzFDLHVCQUFBLElBQUksbUNBQW9CLGVBQWUsTUFBQSxDQUFDO1FBQ3hDLHVCQUFBLElBQUksK0JBQWdCLFdBQVcsTUFBQSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxLQUFLLENBQUMsV0FBVyxDQUFDLEdBQVM7UUFDekIsTUFBTSxRQUFRLEdBQVMsRUFBRSxDQUFDO1FBQzFCLE1BQU0sVUFBVSxHQUFTLEVBQUUsQ0FBQztRQUU1QixLQUFLLE1BQU0sRUFBRSxJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ3JCLElBQUksTUFBTSx1QkFBQSxJQUFJLGdFQUFlLE1BQW5CLElBQUksRUFBZ0IsRUFBRSxDQUFDLEVBQUUsQ0FBQztnQkFDbEMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNwQixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUN0QixDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDaEMsQ0FBQztDQU9GO3VTQUxnQixHQUFPO0lBQ3BCLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUU3QixtRkFBbUY7QUFDckYsQ0FBQyJ9
|
|
@@ -5,8 +5,7 @@ export declare class PhasesTxValidator implements TxValidator<Tx> {
|
|
|
5
5
|
#private;
|
|
6
6
|
private contractDataSource;
|
|
7
7
|
private setupAllowList;
|
|
8
|
-
|
|
9
|
-
constructor(contractDataSource: ContractDataSource, setupAllowList: AllowedFunction[], teardownAllowList: AllowedFunction[]);
|
|
8
|
+
constructor(contractDataSource: ContractDataSource, setupAllowList: AllowedFunction[]);
|
|
10
9
|
validateTxs(txs: Tx[]): Promise<[validTxs: Tx[], invalidTxs: Tx[]]>;
|
|
11
10
|
isOnAllowList(publicCall: PublicCallRequest, allowList: AllowedFunction[]): Promise<boolean>;
|
|
12
11
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"phases_validator.d.ts","sourceRoot":"","sources":["../../src/tx_validator/phases_validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,EAAE,EAAE,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAG5D,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,qBAAa,iBAAkB,YAAW,WAAW,CAAC,EAAE,CAAC;;
|
|
1
|
+
{"version":3,"file":"phases_validator.d.ts","sourceRoot":"","sources":["../../src/tx_validator/phases_validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,EAAE,EAAE,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAG5D,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,qBAAa,iBAAkB,YAAW,WAAW,CAAC,EAAE,CAAC;;IAG3C,OAAO,CAAC,kBAAkB;IAAsB,OAAO,CAAC,cAAc;gBAA9D,kBAAkB,EAAE,kBAAkB,EAAU,cAAc,EAAE,eAAe,EAAE;IAE/F,WAAW,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;IAsCnE,aAAa,CAAC,UAAU,EAAE,iBAAiB,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;CAsCnG"}
|
|
@@ -4,11 +4,10 @@ import { Tx } from '@aztec/circuit-types';
|
|
|
4
4
|
import { createDebugLogger } from '@aztec/foundation/log';
|
|
5
5
|
import { AbstractPhaseManager, PublicKernelPhase } from '@aztec/simulator';
|
|
6
6
|
export class PhasesTxValidator {
|
|
7
|
-
constructor(contractDataSource, setupAllowList
|
|
7
|
+
constructor(contractDataSource, setupAllowList) {
|
|
8
8
|
_PhasesTxValidator_instances.add(this);
|
|
9
9
|
this.contractDataSource = contractDataSource;
|
|
10
10
|
this.setupAllowList = setupAllowList;
|
|
11
|
-
this.teardownAllowList = teardownAllowList;
|
|
12
11
|
_PhasesTxValidator_log.set(this, createDebugLogger('aztec:sequencer:tx_validator:tx_phases'));
|
|
13
12
|
}
|
|
14
13
|
async validateTxs(txs) {
|
|
@@ -25,6 +24,9 @@ export class PhasesTxValidator {
|
|
|
25
24
|
return Promise.resolve([validTxs, invalidTxs]);
|
|
26
25
|
}
|
|
27
26
|
async isOnAllowList(publicCall, allowList) {
|
|
27
|
+
if (publicCall.isEmpty()) {
|
|
28
|
+
return true;
|
|
29
|
+
}
|
|
28
30
|
const { contractAddress, functionData: { selector }, } = publicCall;
|
|
29
31
|
// do these checks first since they don't require the contract class
|
|
30
32
|
for (const entry of allowList) {
|
|
@@ -55,19 +57,13 @@ _PhasesTxValidator_log = new WeakMap(), _PhasesTxValidator_instances = new WeakS
|
|
|
55
57
|
__classPrivateFieldGet(this, _PhasesTxValidator_log, "f").debug(`Tx ${Tx.getHash(tx)} does not contain enqueued public functions. Skipping phases validation.`);
|
|
56
58
|
return true;
|
|
57
59
|
}
|
|
58
|
-
const { [PublicKernelPhase.SETUP]: setupFns
|
|
60
|
+
const { [PublicKernelPhase.SETUP]: setupFns } = AbstractPhaseManager.extractEnqueuedPublicCallsByPhase(tx);
|
|
59
61
|
for (const setupFn of setupFns) {
|
|
60
62
|
if (!(await this.isOnAllowList(setupFn, this.setupAllowList))) {
|
|
61
63
|
__classPrivateFieldGet(this, _PhasesTxValidator_log, "f").warn(`Rejecting tx ${Tx.getHash(tx)} because it calls setup function not on allow list: ${setupFn.contractAddress}:${setupFn.functionData.selector}`);
|
|
62
64
|
return false;
|
|
63
65
|
}
|
|
64
66
|
}
|
|
65
|
-
for (const teardownFn of teardownFns) {
|
|
66
|
-
if (!(await this.isOnAllowList(teardownFn, this.teardownAllowList))) {
|
|
67
|
-
__classPrivateFieldGet(this, _PhasesTxValidator_log, "f").warn(`Rejecting tx ${Tx.getHash(tx)} because it calls teardown function not on allowlist: ${teardownFn.contractAddress}:${teardownFn.functionData.selector}`);
|
|
68
|
-
return false;
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
67
|
return true;
|
|
72
68
|
};
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhhc2VzX3ZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eF92YWxpZGF0b3IvcGhhc2VzX3ZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBd0IsRUFBRSxFQUFvQixNQUFNLHNCQUFzQixDQUFDO0FBRWxGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRzNFLE1BQU0sT0FBTyxpQkFBaUI7SUFHNUIsWUFBb0Isa0JBQXNDLEVBQVUsY0FBaUM7O1FBQWpGLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFGckcsaUNBQU8saUJBQWlCLENBQUMsd0NBQXdDLENBQUMsRUFBQztJQUVxQyxDQUFDO0lBRXpHLEtBQUssQ0FBQyxXQUFXLENBQUMsR0FBUztRQUN6QixNQUFNLFFBQVEsR0FBUyxFQUFFLENBQUM7UUFDMUIsTUFBTSxVQUFVLEdBQVMsRUFBRSxDQUFDO1FBRTVCLEtBQUssTUFBTSxFQUFFLElBQUksR0FBRyxFQUFFLENBQUM7WUFDckIsSUFBSSxNQUFNLHVCQUFBLElBQUksbUVBQVksTUFBaEIsSUFBSSxFQUFhLEVBQUUsQ0FBQyxFQUFFLENBQUM7Z0JBQy9CLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDcEIsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDdEIsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBeUJELEtBQUssQ0FBQyxhQUFhLENBQUMsVUFBNkIsRUFBRSxTQUE0QjtR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
|
|
@@ -7,7 +7,7 @@ export declare class TxValidatorFactory {
|
|
|
7
7
|
private contractDataSource;
|
|
8
8
|
private gasPortalAddress;
|
|
9
9
|
constructor(merkleTreeDb: MerkleTreeOperations, contractDataSource: ContractDataSource, gasPortalAddress: EthAddress);
|
|
10
|
-
validatorForNewTxs(globalVariables: GlobalVariables, setupAllowList: AllowedFunction[]
|
|
10
|
+
validatorForNewTxs(globalVariables: GlobalVariables, setupAllowList: AllowedFunction[]): TxValidator<Tx>;
|
|
11
11
|
validatorForProcessedTxs(): TxValidator<ProcessedTx>;
|
|
12
12
|
}
|
|
13
13
|
//# sourceMappingURL=tx_validator_factory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tx_validator_factory.d.ts","sourceRoot":"","sources":["../../src/tx_validator/tx_validator_factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,WAAW,EAAE,KAAK,EAAE,EAAE,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACzG,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAG3E,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAQ/D,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,kBAAkB,
|
|
1
|
+
{"version":3,"file":"tx_validator_factory.d.ts","sourceRoot":"","sources":["../../src/tx_validator/tx_validator_factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,WAAW,EAAE,KAAK,EAAE,EAAE,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACzG,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAG3E,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAQ/D,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,kBAAkB,CAAC,eAAe,EAAE,eAAe,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,WAAW,CAAC,EAAE,CAAC;IASxG,wBAAwB,IAAI,WAAW,CAAC,WAAW,CAAC;CAGrD"}
|
|
@@ -11,11 +11,11 @@ export class TxValidatorFactory {
|
|
|
11
11
|
this.contractDataSource = contractDataSource;
|
|
12
12
|
this.gasPortalAddress = gasPortalAddress;
|
|
13
13
|
}
|
|
14
|
-
validatorForNewTxs(globalVariables, setupAllowList
|
|
15
|
-
return new AggregateTxValidator(new MetadataTxValidator(globalVariables), new DoubleSpendTxValidator(new WorldStateDB(this.merkleTreeDb)), new PhasesTxValidator(this.contractDataSource, setupAllowList
|
|
14
|
+
validatorForNewTxs(globalVariables, setupAllowList) {
|
|
15
|
+
return new AggregateTxValidator(new MetadataTxValidator(globalVariables), new DoubleSpendTxValidator(new WorldStateDB(this.merkleTreeDb)), new PhasesTxValidator(this.contractDataSource, setupAllowList), new GasTxValidator(new WorldStatePublicDB(this.merkleTreeDb), getCanonicalGasTokenAddress(this.gasPortalAddress)));
|
|
16
16
|
}
|
|
17
17
|
validatorForProcessedTxs() {
|
|
18
18
|
return new DoubleSpendTxValidator(new WorldStateDB(this.merkleTreeDb));
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhfdmFsaWRhdG9yX2ZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHhfdmFsaWRhdG9yL3R4X3ZhbGlkYXRvcl9mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUlwRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFMUQsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixZQUNVLFlBQWtDLEVBQ2xDLGtCQUFzQyxFQUN0QyxnQkFBNEI7UUFGNUIsaUJBQVksR0FBWixZQUFZLENBQXNCO1FBQ2xDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFZO0lBQ25DLENBQUM7SUFFSixrQkFBa0IsQ0FBQyxlQUFnQyxFQUFFLGNBQWlDO1FBQ3BGLE9BQU8sSUFBSSxvQkFBb0IsQ0FDN0IsSUFBSSxtQkFBbUIsQ0FBQyxlQUFlLENBQUMsRUFDeEMsSUFBSSxzQkFBc0IsQ0FBQyxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsRUFDL0QsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsY0FBYyxDQUFDLEVBQzlELElBQUksY0FBYyxDQUFDLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLDJCQUEyQixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQ2xILENBQUM7SUFDSixDQUFDO0lBRUQsd0JBQXdCO1FBQ3RCLE9BQU8sSUFBSSxzQkFBc0IsQ0FBQyxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUN6RSxDQUFDO0NBQ0YifQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/sequencer-client",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.40.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": "./dest/index.js",
|
|
6
6
|
"typedocOptions": {
|
|
@@ -24,19 +24,19 @@
|
|
|
24
24
|
"test:integration:run": "NODE_NO_WARNINGS=1 node --experimental-vm-modules $(yarn bin jest) --no-cache --config jest.integration.config.json"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@aztec/circuit-types": "0.
|
|
28
|
-
"@aztec/circuits.js": "0.
|
|
29
|
-
"@aztec/ethereum": "0.
|
|
30
|
-
"@aztec/foundation": "0.
|
|
31
|
-
"@aztec/l1-artifacts": "0.
|
|
32
|
-
"@aztec/merkle-tree": "0.
|
|
33
|
-
"@aztec/noir-contracts.js": "0.
|
|
34
|
-
"@aztec/noir-protocol-circuits-types": "0.
|
|
35
|
-
"@aztec/p2p": "0.
|
|
36
|
-
"@aztec/protocol-contracts": "0.
|
|
37
|
-
"@aztec/simulator": "0.
|
|
38
|
-
"@aztec/types": "0.
|
|
39
|
-
"@aztec/world-state": "0.
|
|
27
|
+
"@aztec/circuit-types": "0.40.0",
|
|
28
|
+
"@aztec/circuits.js": "0.40.0",
|
|
29
|
+
"@aztec/ethereum": "0.40.0",
|
|
30
|
+
"@aztec/foundation": "0.40.0",
|
|
31
|
+
"@aztec/l1-artifacts": "0.40.0",
|
|
32
|
+
"@aztec/merkle-tree": "0.40.0",
|
|
33
|
+
"@aztec/noir-contracts.js": "0.40.0",
|
|
34
|
+
"@aztec/noir-protocol-circuits-types": "0.40.0",
|
|
35
|
+
"@aztec/p2p": "0.40.0",
|
|
36
|
+
"@aztec/protocol-contracts": "0.40.0",
|
|
37
|
+
"@aztec/simulator": "0.40.0",
|
|
38
|
+
"@aztec/types": "0.40.0",
|
|
39
|
+
"@aztec/world-state": "0.40.0",
|
|
40
40
|
"@noir-lang/acvm_js": "portal:../../noir/packages/acvm_js",
|
|
41
41
|
"@noir-lang/types": "portal:../../noir/packages/types",
|
|
42
42
|
"lodash.chunk": "^4.2.0",
|
package/src/config.ts
CHANGED
|
@@ -153,6 +153,12 @@ function getDefaultAllowedSetupFunctions(): AllowedFunction[] {
|
|
|
153
153
|
selector: FunctionSelector.fromSignature('approve_public_authwit(Field)'),
|
|
154
154
|
},
|
|
155
155
|
|
|
156
|
+
// needed for native payments while they are not yet enshrined
|
|
157
|
+
{
|
|
158
|
+
classId: getContractClassFromArtifact(GasTokenContract.artifact).id,
|
|
159
|
+
selector: FunctionSelector.fromSignature('pay_fee(Field)'),
|
|
160
|
+
},
|
|
161
|
+
|
|
156
162
|
// needed for private transfers via FPC
|
|
157
163
|
{
|
|
158
164
|
classId: getContractClassFromArtifact(TokenContractArtifact).id,
|
|
@@ -84,6 +84,7 @@ export class Sequencer {
|
|
|
84
84
|
if (config.allowedFunctionsInSetup) {
|
|
85
85
|
this.allowedFunctionsInSetup = config.allowedFunctionsInSetup;
|
|
86
86
|
}
|
|
87
|
+
// TODO(#5917) remove this. it is no longer needed since we don't need to whitelist functions in teardown
|
|
87
88
|
if (config.allowedFunctionsInTeardown) {
|
|
88
89
|
this.allowedFunctionsInTeardown = config.allowedFunctionsInTeardown;
|
|
89
90
|
}
|
|
@@ -187,11 +188,7 @@ export class Sequencer {
|
|
|
187
188
|
// TODO: It should be responsibility of the P2P layer to validate txs before passing them on here
|
|
188
189
|
const validTxs = await this.takeValidTxs(
|
|
189
190
|
pendingTxs,
|
|
190
|
-
this.txValidatorFactory.validatorForNewTxs(
|
|
191
|
-
newGlobalVariables,
|
|
192
|
-
this.allowedFunctionsInSetup,
|
|
193
|
-
this.allowedFunctionsInTeardown,
|
|
194
|
-
),
|
|
191
|
+
this.txValidatorFactory.validatorForNewTxs(newGlobalVariables, this.allowedFunctionsInSetup),
|
|
195
192
|
);
|
|
196
193
|
if (validTxs.length < this.minTxsPerBLock) {
|
|
197
194
|
return;
|
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
import { Tx, type TxValidator } from '@aztec/circuit-types';
|
|
2
|
-
import { type AztecAddress, Fr } from '@aztec/circuits.js';
|
|
3
|
-
import { pedersenHash } from '@aztec/foundation/crypto';
|
|
1
|
+
import { type Tx, type TxValidator } from '@aztec/circuit-types';
|
|
2
|
+
import { type AztecAddress, type Fr } from '@aztec/circuits.js';
|
|
4
3
|
import { createDebugLogger } from '@aztec/foundation/log';
|
|
5
|
-
import { GasTokenContract } from '@aztec/noir-contracts.js';
|
|
6
|
-
import { AbstractPhaseManager, PublicKernelPhase } from '@aztec/simulator';
|
|
7
4
|
|
|
8
5
|
/** Provides a view into public contract state */
|
|
9
6
|
export interface PublicStateSource {
|
|
@@ -37,45 +34,9 @@ export class GasTxValidator implements TxValidator<Tx> {
|
|
|
37
34
|
return [validTxs, invalidTxs];
|
|
38
35
|
}
|
|
39
36
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
tx.data,
|
|
43
|
-
tx.enqueuedPublicFunctionCalls,
|
|
44
|
-
);
|
|
37
|
+
#validateTxFee(_tx: Tx): Promise<boolean> {
|
|
38
|
+
return Promise.resolve(true);
|
|
45
39
|
|
|
46
|
-
|
|
47
|
-
if (this.#requireFees) {
|
|
48
|
-
this.#log.warn(
|
|
49
|
-
`Rejecting tx ${Tx.getHash(tx)} because it should pay for gas but has no enqueued teardown functions`,
|
|
50
|
-
);
|
|
51
|
-
return false;
|
|
52
|
-
} else {
|
|
53
|
-
this.#log.debug(`Tx ${Tx.getHash(tx)} does not pay fees. Skipping balance check.`);
|
|
54
|
-
return true;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
if (teardownFns.length > 1) {
|
|
59
|
-
this.#log.warn(`Rejecting tx ${Tx.getHash(tx)} because it has multiple teardown functions`);
|
|
60
|
-
return false;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
// check that the caller of the teardown function has enough balance to pay for tx costs
|
|
64
|
-
const teardownFn = teardownFns[0];
|
|
65
|
-
const slot = pedersenHash([GasTokenContract.storage.balances.slot, teardownFn.callContext.msgSender]);
|
|
66
|
-
const gasBalance = await this.#publicDataSource.storageRead(this.#gasTokenAddress, slot);
|
|
67
|
-
|
|
68
|
-
// TODO(#5004) calculate fee needed based on tx limits and gas prices
|
|
69
|
-
const gasAmountNeeded = new Fr(1);
|
|
70
|
-
if (gasBalance.lt(gasAmountNeeded)) {
|
|
71
|
-
this.#log.warn(
|
|
72
|
-
`Rejecting tx ${Tx.getHash(
|
|
73
|
-
tx,
|
|
74
|
-
)} because it should pay for gas but has insufficient balance ${gasBalance.toShortString()} < ${gasAmountNeeded.toShortString()}`,
|
|
75
|
-
);
|
|
76
|
-
return false;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
return true;
|
|
40
|
+
// TODO(#5920) re-enable sequencer checks after we have fee payer in kernel outputs
|
|
80
41
|
}
|
|
81
42
|
}
|
|
@@ -7,11 +7,7 @@ import { type ContractDataSource } from '@aztec/types/contracts';
|
|
|
7
7
|
export class PhasesTxValidator implements TxValidator<Tx> {
|
|
8
8
|
#log = createDebugLogger('aztec:sequencer:tx_validator:tx_phases');
|
|
9
9
|
|
|
10
|
-
constructor(
|
|
11
|
-
private contractDataSource: ContractDataSource,
|
|
12
|
-
private setupAllowList: AllowedFunction[],
|
|
13
|
-
private teardownAllowList: AllowedFunction[],
|
|
14
|
-
) {}
|
|
10
|
+
constructor(private contractDataSource: ContractDataSource, private setupAllowList: AllowedFunction[]) {}
|
|
15
11
|
|
|
16
12
|
async validateTxs(txs: Tx[]): Promise<[validTxs: Tx[], invalidTxs: Tx[]]> {
|
|
17
13
|
const validTxs: Tx[] = [];
|
|
@@ -34,8 +30,7 @@ export class PhasesTxValidator implements TxValidator<Tx> {
|
|
|
34
30
|
return true;
|
|
35
31
|
}
|
|
36
32
|
|
|
37
|
-
const { [PublicKernelPhase.SETUP]: setupFns
|
|
38
|
-
AbstractPhaseManager.extractEnqueuedPublicCallsByPhase(tx.data, tx.enqueuedPublicFunctionCalls);
|
|
33
|
+
const { [PublicKernelPhase.SETUP]: setupFns } = AbstractPhaseManager.extractEnqueuedPublicCallsByPhase(tx);
|
|
39
34
|
|
|
40
35
|
for (const setupFn of setupFns) {
|
|
41
36
|
if (!(await this.isOnAllowList(setupFn, this.setupAllowList))) {
|
|
@@ -49,22 +44,14 @@ export class PhasesTxValidator implements TxValidator<Tx> {
|
|
|
49
44
|
}
|
|
50
45
|
}
|
|
51
46
|
|
|
52
|
-
for (const teardownFn of teardownFns) {
|
|
53
|
-
if (!(await this.isOnAllowList(teardownFn, this.teardownAllowList))) {
|
|
54
|
-
this.#log.warn(
|
|
55
|
-
`Rejecting tx ${Tx.getHash(tx)} because it calls teardown function not on allowlist: ${
|
|
56
|
-
teardownFn.contractAddress
|
|
57
|
-
}:${teardownFn.functionData.selector}`,
|
|
58
|
-
);
|
|
59
|
-
|
|
60
|
-
return false;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
|
|
64
47
|
return true;
|
|
65
48
|
}
|
|
66
49
|
|
|
67
50
|
async isOnAllowList(publicCall: PublicCallRequest, allowList: AllowedFunction[]): Promise<boolean> {
|
|
51
|
+
if (publicCall.isEmpty()) {
|
|
52
|
+
return true;
|
|
53
|
+
}
|
|
54
|
+
|
|
68
55
|
const {
|
|
69
56
|
contractAddress,
|
|
70
57
|
functionData: { selector },
|
|
@@ -18,15 +18,11 @@ export class TxValidatorFactory {
|
|
|
18
18
|
private gasPortalAddress: EthAddress,
|
|
19
19
|
) {}
|
|
20
20
|
|
|
21
|
-
validatorForNewTxs(
|
|
22
|
-
globalVariables: GlobalVariables,
|
|
23
|
-
setupAllowList: AllowedFunction[],
|
|
24
|
-
teardownAllowList: AllowedFunction[],
|
|
25
|
-
): TxValidator<Tx> {
|
|
21
|
+
validatorForNewTxs(globalVariables: GlobalVariables, setupAllowList: AllowedFunction[]): TxValidator<Tx> {
|
|
26
22
|
return new AggregateTxValidator(
|
|
27
23
|
new MetadataTxValidator(globalVariables),
|
|
28
24
|
new DoubleSpendTxValidator(new WorldStateDB(this.merkleTreeDb)),
|
|
29
|
-
new PhasesTxValidator(this.contractDataSource, setupAllowList
|
|
25
|
+
new PhasesTxValidator(this.contractDataSource, setupAllowList),
|
|
30
26
|
new GasTxValidator(new WorldStatePublicDB(this.merkleTreeDb), getCanonicalGasTokenAddress(this.gasPortalAddress)),
|
|
31
27
|
);
|
|
32
28
|
}
|