@aztec/pxe 0.0.1-commit.88c5703d4 → 0.0.1-commit.88e6f9396
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/contract_function_simulator/contract_function_simulator.d.ts +1 -1
- package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -1
- package/dest/contract_function_simulator/contract_function_simulator.js +17 -2
- package/dest/contract_function_simulator/oracle/interfaces.d.ts +2 -1
- package/dest/contract_function_simulator/oracle/interfaces.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/legacy_oracle_mappings.d.ts +1 -1
- package/dest/contract_function_simulator/oracle/legacy_oracle_mappings.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/legacy_oracle_mappings.js +22 -32
- package/dest/contract_function_simulator/oracle/oracle.d.ts +3 -2
- package/dest/contract_function_simulator/oracle/oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/oracle.js +24 -4
- package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +1 -4
- package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/private_execution_oracle.js +0 -2
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +9 -1
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +11 -0
- package/dest/contract_sync/contract_sync_service.d.ts +5 -3
- package/dest/contract_sync/contract_sync_service.d.ts.map +1 -1
- package/dest/contract_sync/contract_sync_service.js +47 -30
- package/dest/oracle_version.d.ts +2 -2
- package/dest/oracle_version.js +2 -2
- package/dest/pxe.d.ts +5 -3
- package/dest/pxe.d.ts.map +1 -1
- package/dest/pxe.js +11 -8
- package/package.json +16 -16
- package/src/contract_function_simulator/contract_function_simulator.ts +24 -2
- package/src/contract_function_simulator/oracle/interfaces.ts +1 -0
- package/src/contract_function_simulator/oracle/legacy_oracle_mappings.ts +103 -45
- package/src/contract_function_simulator/oracle/oracle.ts +24 -4
- package/src/contract_function_simulator/oracle/private_execution_oracle.ts +0 -4
- package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +15 -0
- package/src/contract_sync/contract_sync_service.ts +67 -38
- package/src/oracle_version.ts +2 -2
- package/src/pxe.ts +24 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utility_execution_oracle.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/utility_execution_oracle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAEnE,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAC1D,OAAO,EAA0B,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAEhG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,KAAK,UAAU,EAAwB,MAAM,oBAAoB,CAAC;AAG3E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAgB,KAAK,0BAA0B,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACvG,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAE7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"utility_execution_oracle.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/utility_execution_oracle.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,6 +41,7 @@ import { MessageLoadOracleInputs } from './message_load_oracle_inputs.js';
|
|
|
41
41
|
capsuleStore;
|
|
42
42
|
privateEventStore;
|
|
43
43
|
messageContextService;
|
|
44
|
+
contractSyncService;
|
|
44
45
|
jobId;
|
|
45
46
|
logger;
|
|
46
47
|
scopes;
|
|
@@ -59,6 +60,7 @@ import { MessageLoadOracleInputs } from './message_load_oracle_inputs.js';
|
|
|
59
60
|
this.capsuleStore = args.capsuleStore;
|
|
60
61
|
this.privateEventStore = args.privateEventStore;
|
|
61
62
|
this.messageContextService = args.messageContextService;
|
|
63
|
+
this.contractSyncService = args.contractSyncService;
|
|
62
64
|
this.jobId = args.jobId;
|
|
63
65
|
this.logger = args.log ?? createLogger('simulator:client_view_context');
|
|
64
66
|
this.scopes = args.scopes;
|
|
@@ -410,6 +412,15 @@ import { MessageLoadOracleInputs } from './message_load_oracle_inputs.js';
|
|
|
410
412
|
}
|
|
411
413
|
return this.capsuleStore.copyCapsule(this.contractAddress, srcSlot, dstSlot, numEntries, this.jobId);
|
|
412
414
|
}
|
|
415
|
+
/**
|
|
416
|
+
* Clears cached sync state for a contract for a set of scopes, forcing re-sync on the next query so that newly
|
|
417
|
+
* stored notes or events are discovered.
|
|
418
|
+
*/ invalidateContractSyncCache(contractAddress, scopes) {
|
|
419
|
+
if (!contractAddress.equals(this.contractAddress)) {
|
|
420
|
+
throw new Error(`Contract ${this.contractAddress} cannot invalidate sync cache of ${contractAddress}`);
|
|
421
|
+
}
|
|
422
|
+
this.contractSyncService.invalidateContractForScopes(contractAddress, scopes);
|
|
423
|
+
}
|
|
413
424
|
// TODO(#11849): consider replacing this oracle with a pure Noir implementation of aes decryption.
|
|
414
425
|
aes128Decrypt(ciphertext, iv, symKey) {
|
|
415
426
|
const aes128 = new Aes128();
|
|
@@ -21,10 +21,10 @@ export declare class ContractSyncService implements StagedStore {
|
|
|
21
21
|
private log;
|
|
22
22
|
readonly storeName = "contract_sync";
|
|
23
23
|
private syncedContracts;
|
|
24
|
-
private
|
|
24
|
+
private excludedFromSync;
|
|
25
25
|
constructor(aztecNode: AztecNode, contractStore: ContractStore, noteStore: NoteStore, log: Logger);
|
|
26
26
|
/** Sets contracts that should be skipped during sync for a specific job. */
|
|
27
|
-
|
|
27
|
+
setExcludedFromSync(jobId: string, addresses: Set<string>): void;
|
|
28
28
|
/**
|
|
29
29
|
* Ensures a contract's private state is synchronized and that the PXE holds the current class artifact.
|
|
30
30
|
* Uses a cache to avoid redundant sync operations - the cache is wiped when the anchor block changes.
|
|
@@ -35,9 +35,11 @@ export declare class ContractSyncService implements StagedStore {
|
|
|
35
35
|
* @param scopes - Access scopes to pass through to the utility executor (affects whose account's private state is discovered).
|
|
36
36
|
*/
|
|
37
37
|
ensureContractSynced(contractAddress: AztecAddress, functionToInvokeAfterSync: FunctionSelector | null, utilityExecutor: (call: FunctionCall, scopes: AccessScopes) => Promise<any>, anchorBlockHeader: BlockHeader, jobId: string, scopes: AccessScopes): Promise<void>;
|
|
38
|
+
/** Clears sync cache entries for the given scopes of a contract. Also clears the ALL_SCOPES entry. */
|
|
39
|
+
invalidateContractForScopes(contractAddress: AztecAddress, scopes: AztecAddress[]): void;
|
|
38
40
|
/** Clears sync cache. Called by BlockSynchronizer when anchor block changes. */
|
|
39
41
|
wipe(): void;
|
|
40
42
|
commit(jobId: string): Promise<void>;
|
|
41
43
|
discardStaged(jobId: string): Promise<void>;
|
|
42
44
|
}
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3Rfc3luY19zZXJ2aWNlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJhY3Rfc3luYy9jb250cmFjdF9zeW5jX3NlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDeEUsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDakUsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFcEQsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEQsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDekUsT0FBTyxLQUFLLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDakYsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFHckU7Ozs7O0dBS0c7QUFDSCxxQkFBYSxtQkFBb0IsWUFBVyxXQUFXOztJQVluRCxPQUFPLENBQUMsU0FBUztJQUNqQixPQUFPLENBQUMsYUFBYTtJQUNyQixPQUFPLENBQUMsU0FBUztJQUNqQixPQUFPLENBQUMsR0FBRztJQWRiLFFBQVEsQ0FBQyxTQUFTLG1CQUFtQjtJQUtyQyxPQUFPLENBQUMsZUFBZSxDQUF5QztJQUdoRSxPQUFPLENBQUMsZ0JBQWdCLENBQXVDO0lBRS9ELFlBQ1UsU0FBUyxFQUFFLFNBQVMsRUFDcEIsYUFBYSxFQUFFLGFBQWEsRUFDNUIsU0FBUyxFQUFFLFNBQVMsRUFDcEIsR0FBRyxFQUFFLE1BQU0sRUFDakI7SUFFSiw0RUFBNEU7SUFDNUUsbUJBQW1CLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FFL0Q7SUFFRDs7Ozs7Ozs7T0FRRztJQUNHLG9CQUFvQixDQUN4QixlQUFlLEVBQUUsWUFBWSxFQUM3Qix5QkFBeUIsRUFBRSxnQkFBZ0IsR0FBRyxJQUFJLEVBQ2xELGVBQWUsRUFBRSxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLFlBQVksS0FBSyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQzNFLGlCQUFpQixFQUFFLFdBQVcsRUFDOUIsS0FBSyxFQUFFLE1BQU0sRUFDYixNQUFNLEVBQUUsWUFBWSxHQUNuQixPQUFPLENBQUMsSUFBSSxDQUFDLENBaUJmO0lBRUQsc0dBQXNHO0lBQ3RHLDJCQUEyQixDQUFDLGVBQWUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxHQUFHLElBQUksQ0FNdkY7SUE0QkQsZ0ZBQWdGO0lBQ2hGLElBQUksSUFBSSxJQUFJLENBR1g7SUFFRCxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBSW5DO0lBRUQsYUFBYSxDQUFDLEtBQUssRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQU0xQztDQTJDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract_sync_service.d.ts","sourceRoot":"","sources":["../../src/contract_sync/contract_sync_service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AACjF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAGrE;;;;;GAKG;AACH,qBAAa,mBAAoB,YAAW,WAAW;;IAYnD,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,GAAG;IAdb,QAAQ,CAAC,SAAS,mBAAmB;IAKrC,OAAO,CAAC,eAAe,CAAyC;IAGhE,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"contract_sync_service.d.ts","sourceRoot":"","sources":["../../src/contract_sync/contract_sync_service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AACjF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAGrE;;;;;GAKG;AACH,qBAAa,mBAAoB,YAAW,WAAW;;IAYnD,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,GAAG;IAdb,QAAQ,CAAC,SAAS,mBAAmB;IAKrC,OAAO,CAAC,eAAe,CAAyC;IAGhE,OAAO,CAAC,gBAAgB,CAAuC;IAE/D,YACU,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,MAAM,EACjB;IAEJ,4EAA4E;IAC5E,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAE/D;IAED;;;;;;;;OAQG;IACG,oBAAoB,CACxB,eAAe,EAAE,YAAY,EAC7B,yBAAyB,EAAE,gBAAgB,GAAG,IAAI,EAClD,eAAe,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,KAAK,OAAO,CAAC,GAAG,CAAC,EAC3E,iBAAiB,EAAE,WAAW,EAC9B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,IAAI,CAAC,CAiBf;IAED,sGAAsG;IACtG,2BAA2B,CAAC,eAAe,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAMvF;IA4BD,gFAAgF;IAChF,IAAI,IAAI,IAAI,CAGX;IAED,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAInC;IAED,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAM1C;CA2CF"}
|
|
@@ -11,11 +11,11 @@ import { syncState, verifyCurrentClassId } from './helpers.js';
|
|
|
11
11
|
log;
|
|
12
12
|
storeName;
|
|
13
13
|
// Tracks contracts synced since last wipe. The cache is keyed per individual scope address
|
|
14
|
-
// (`contractAddress:scopeAddress`), or `contractAddress:*` for
|
|
14
|
+
// (`contractAddress:scopeAddress`), or `contractAddress:*` for all scopes (all accounts).
|
|
15
15
|
// The value is a promise that resolves when the contract is synced.
|
|
16
16
|
syncedContracts;
|
|
17
|
-
// Per-job
|
|
18
|
-
|
|
17
|
+
// Per-job excluded contract addresses - these contracts should not be synced.
|
|
18
|
+
excludedFromSync;
|
|
19
19
|
constructor(aztecNode, contractStore, noteStore, log){
|
|
20
20
|
this.aztecNode = aztecNode;
|
|
21
21
|
this.contractStore = contractStore;
|
|
@@ -23,10 +23,10 @@ import { syncState, verifyCurrentClassId } from './helpers.js';
|
|
|
23
23
|
this.log = log;
|
|
24
24
|
this.storeName = 'contract_sync';
|
|
25
25
|
this.syncedContracts = new Map();
|
|
26
|
-
this.
|
|
26
|
+
this.excludedFromSync = new Map();
|
|
27
27
|
}
|
|
28
|
-
/** Sets contracts that should be skipped during sync for a specific job. */
|
|
29
|
-
this.
|
|
28
|
+
/** Sets contracts that should be skipped during sync for a specific job. */ setExcludedFromSync(jobId, addresses) {
|
|
29
|
+
this.excludedFromSync.set(jobId, addresses);
|
|
30
30
|
}
|
|
31
31
|
/**
|
|
32
32
|
* Ensures a contract's private state is synchronized and that the PXE holds the current class artifact.
|
|
@@ -37,32 +37,20 @@ import { syncState, verifyCurrentClassId } from './helpers.js';
|
|
|
37
37
|
* @param utilityExecutor - Executor function for running the sync_state utility function.
|
|
38
38
|
* @param scopes - Access scopes to pass through to the utility executor (affects whose account's private state is discovered).
|
|
39
39
|
*/ async ensureContractSynced(contractAddress, functionToInvokeAfterSync, utilityExecutor, anchorBlockHeader, jobId, scopes) {
|
|
40
|
-
|
|
41
|
-
const overrides = this.overriddenContracts.get(jobId);
|
|
42
|
-
if (overrides?.has(contractAddress.toString())) {
|
|
40
|
+
if (this.#shouldSkipSync(jobId, contractAddress)) {
|
|
43
41
|
return;
|
|
44
42
|
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
43
|
+
this.#startSyncIfNeeded(contractAddress, scopes, (scopesToSync)=>this.#syncContract(contractAddress, functionToInvokeAfterSync, utilityExecutor, anchorBlockHeader, jobId, scopesToSync));
|
|
44
|
+
await this.#awaitSync(contractAddress, scopes);
|
|
45
|
+
}
|
|
46
|
+
/** Clears sync cache entries for the given scopes of a contract. Also clears the ALL_SCOPES entry. */ invalidateContractForScopes(contractAddress, scopes) {
|
|
47
|
+
if (scopes.length === 0) {
|
|
49
48
|
return;
|
|
50
49
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
if (unsyncedScopesKeys.length > 0) {
|
|
54
|
-
// Start sync and store the promise for all unsynced scopes
|
|
55
|
-
const promise = this.#doSync(contractAddress, functionToInvokeAfterSync, utilityExecutor, anchorBlockHeader, jobId, unsyncedScopes).catch((err)=>{
|
|
56
|
-
// There was an error syncing the contract, so we remove it from the cache so that it can be retried.
|
|
57
|
-
unsyncedScopesKeys.forEach((key)=>this.syncedContracts.delete(key));
|
|
58
|
-
throw err;
|
|
59
|
-
});
|
|
60
|
-
unsyncedScopesKeys.forEach((key)=>this.syncedContracts.set(key, promise));
|
|
61
|
-
}
|
|
62
|
-
const promises = toKeys(contractAddress, scopes).map((key)=>this.syncedContracts.get(key));
|
|
63
|
-
await Promise.all(promises);
|
|
50
|
+
scopes.forEach((scope)=>this.syncedContracts.delete(toKey(contractAddress, scope)));
|
|
51
|
+
this.syncedContracts.delete(toKey(contractAddress, 'ALL_SCOPES'));
|
|
64
52
|
}
|
|
65
|
-
async #
|
|
53
|
+
async #syncContract(contractAddress, functionToInvokeAfterSync, utilityExecutor, anchorBlockHeader, jobId, scopes) {
|
|
66
54
|
this.log.debug(`Syncing contract ${contractAddress}`);
|
|
67
55
|
await Promise.all([
|
|
68
56
|
syncState(contractAddress, this.contractStore, functionToInvokeAfterSync, utilityExecutor, this.noteStore, this.aztecNode, anchorBlockHeader, jobId, scopes),
|
|
@@ -75,17 +63,46 @@ import { syncState, verifyCurrentClassId } from './helpers.js';
|
|
|
75
63
|
this.syncedContracts.clear();
|
|
76
64
|
}
|
|
77
65
|
commit(jobId) {
|
|
78
|
-
// Clear
|
|
79
|
-
this.
|
|
66
|
+
// Clear excluded contracts for this job
|
|
67
|
+
this.excludedFromSync.delete(jobId);
|
|
80
68
|
return Promise.resolve();
|
|
81
69
|
}
|
|
82
70
|
discardStaged(jobId) {
|
|
83
71
|
// We clear the synced contracts cache here because, when the job is discarded, any associated database writes from
|
|
84
72
|
// the sync are also undone.
|
|
85
73
|
this.syncedContracts.clear();
|
|
86
|
-
this.
|
|
74
|
+
this.excludedFromSync.delete(jobId);
|
|
87
75
|
return Promise.resolve();
|
|
88
76
|
}
|
|
77
|
+
/** Returns true if sync should be skipped for this contract */ #shouldSkipSync(jobId, contractAddress) {
|
|
78
|
+
return !!this.excludedFromSync.get(jobId)?.has(contractAddress.toString());
|
|
79
|
+
}
|
|
80
|
+
/** If there are unsynced scopes, starts sync and stores the promise in cache with error cleanup. */ #startSyncIfNeeded(contractAddress, scopes, syncFn) {
|
|
81
|
+
const scopesToSync = this.#getScopesToSync(contractAddress, scopes);
|
|
82
|
+
const keys = toKeys(contractAddress, scopesToSync);
|
|
83
|
+
if (keys.length === 0) {
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
const promise = syncFn(scopesToSync).catch((err)=>{
|
|
87
|
+
keys.forEach((key)=>this.syncedContracts.delete(key));
|
|
88
|
+
throw err;
|
|
89
|
+
});
|
|
90
|
+
keys.forEach((key)=>this.syncedContracts.set(key, promise));
|
|
91
|
+
}
|
|
92
|
+
/** Filters out scopes that are already cached, returning only those that still need syncing. */ #getScopesToSync(contractAddress, scopes) {
|
|
93
|
+
if (this.syncedContracts.has(toKey(contractAddress, 'ALL_SCOPES'))) {
|
|
94
|
+
// If we are already syncing all scopes, then return an empty list
|
|
95
|
+
return [];
|
|
96
|
+
}
|
|
97
|
+
if (scopes === 'ALL_SCOPES') {
|
|
98
|
+
return 'ALL_SCOPES';
|
|
99
|
+
}
|
|
100
|
+
return scopes.filter((scope)=>!this.syncedContracts.has(toKey(contractAddress, scope)));
|
|
101
|
+
}
|
|
102
|
+
/** Collects all relevant scope promises (including in-flight ones from concurrent calls) and awaits them. */ async #awaitSync(contractAddress, scopes) {
|
|
103
|
+
const promises = toKeys(contractAddress, scopes).map((key)=>this.syncedContracts.get(key)).filter((p)=>p !== undefined);
|
|
104
|
+
await Promise.all(promises);
|
|
105
|
+
}
|
|
89
106
|
}
|
|
90
107
|
function toKeys(contract, scopes) {
|
|
91
108
|
return scopes === 'ALL_SCOPES' ? [
|
package/dest/oracle_version.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export declare const ORACLE_VERSION =
|
|
2
|
-
export declare const ORACLE_INTERFACE_HASH = "
|
|
1
|
+
export declare const ORACLE_VERSION = 18;
|
|
2
|
+
export declare const ORACLE_INTERFACE_HASH = "57e5b07c6d55fb167ef90f8d0f410f9bdb5b154a31159c624a061be40b02a2c2";
|
|
3
3
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JhY2xlX3ZlcnNpb24uZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9vcmFjbGVfdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxlQUFPLE1BQU0sY0FBYyxLQUFLLENBQUM7QUFLakMsZUFBTyxNQUFNLHFCQUFxQixxRUFBcUUsQ0FBQyJ9
|
package/dest/oracle_version.js
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
///
|
|
5
5
|
/// @dev Whenever a contract function or Noir test is run, the `aztec_utl_assertCompatibleOracleVersion` oracle is called
|
|
6
6
|
/// and if the oracle version is incompatible an error is thrown.
|
|
7
|
-
export const ORACLE_VERSION =
|
|
7
|
+
export const ORACLE_VERSION = 18;
|
|
8
8
|
/// This hash is computed as by hashing the Oracle interface and it is used to detect when the Oracle interface changes,
|
|
9
9
|
/// which in turn implies that you need to update the ORACLE_VERSION constant in this file and in
|
|
10
10
|
/// `noir-projects/aztec-nr/aztec/src/oracle/version.nr`.
|
|
11
|
-
export const ORACLE_INTERFACE_HASH = '
|
|
11
|
+
export const ORACLE_INTERFACE_HASH = '57e5b07c6d55fb167ef90f8d0f410f9bdb5b154a31159c624a061be40b02a2c2';
|
package/dest/pxe.d.ts
CHANGED
|
@@ -34,7 +34,9 @@ export type SimulateTxOpts = {
|
|
|
34
34
|
skipTxValidation?: boolean;
|
|
35
35
|
/** If false, fees are enforced. */
|
|
36
36
|
skipFeeEnforcement?: boolean;
|
|
37
|
-
/**
|
|
37
|
+
/** If true, kernel logic is emulated in TS for simulation */
|
|
38
|
+
skipKernels?: boolean;
|
|
39
|
+
/** State overrides for the simulation, such as contract instances and artifacts. Requires skipKernels: true */
|
|
38
40
|
overrides?: SimulationOverrides;
|
|
39
41
|
/** Addresses whose private state and keys are accessible during private execution */
|
|
40
42
|
scopes: AccessScopes;
|
|
@@ -224,7 +226,7 @@ export declare class PXE {
|
|
|
224
226
|
*
|
|
225
227
|
* TODO(#7456) Prevent msgSender being defined here for the first call
|
|
226
228
|
*/
|
|
227
|
-
simulateTx(txRequest: TxExecutionRequest, { simulatePublic, skipTxValidation, skipFeeEnforcement, overrides, scopes }: SimulateTxOpts): Promise<TxSimulationResult>;
|
|
229
|
+
simulateTx(txRequest: TxExecutionRequest, { simulatePublic, skipTxValidation, skipFeeEnforcement, skipKernels, overrides, scopes }: SimulateTxOpts): Promise<TxSimulationResult>;
|
|
228
230
|
/**
|
|
229
231
|
* Executes a contract utility function.
|
|
230
232
|
* @param call - The function call containing the function details, arguments, and target contract address.
|
|
@@ -249,4 +251,4 @@ export declare class PXE {
|
|
|
249
251
|
*/
|
|
250
252
|
stop(): Promise<void>;
|
|
251
253
|
}
|
|
252
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
254
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHhlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcHhlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFakUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBcUMsTUFBTSx1QkFBdUIsQ0FBQztBQUl2RixPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXpELE9BQU8sRUFBRSxLQUFLLHlCQUF5QixFQUF5QixNQUFNLDJCQUEyQixDQUFDO0FBQ2xHLE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEUsT0FBTyxFQUNMLEtBQUssZ0JBQWdCLEVBQ3JCLGFBQWEsRUFDYixZQUFZLEVBR2IsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQ0wsZUFBZSxFQUNmLEtBQUssMkJBQTJCLEVBQ2hDLEtBQUssY0FBYyxFQUdwQixNQUFNLHdCQUF3QixDQUFDO0FBRWhDLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBTXRGLE9BQU8sRUFDTCxXQUFXLEVBRVgsS0FBSyxJQUFJLEVBS1QsbUJBQW1CLEVBR25CLGtCQUFrQixFQUNsQixlQUFlLEVBQ2YsZUFBZSxFQUNmLGtCQUFrQixFQUNsQixzQkFBc0IsRUFDdkIsTUFBTSxrQkFBa0IsQ0FBQztBQUkxQixPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV2RCxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQVVuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFvQjNELE1BQU0sTUFBTSxrQkFBa0IsR0FBRyxJQUFJLEdBQUc7SUFDdEMsV0FBVyxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQ2xCLGFBQWEsRUFBRSxhQUFhLENBQUM7Q0FDOUIsQ0FBQztBQUVGLGlDQUFpQztBQUNqQyxNQUFNLE1BQU0sYUFBYSxHQUFHO0lBQzFCLGlDQUFpQztJQUNqQyxXQUFXLEVBQUUsTUFBTSxHQUFHLGlCQUFpQixHQUFHLE9BQU8sQ0FBQztJQUNsRCwrRUFBK0U7SUFDL0UsbUJBQW1CLENBQUMsRUFBRSxPQUFPLENBQUM7SUFDOUIsc0ZBQXNGO0lBQ3RGLE1BQU0sRUFBRSxZQUFZLENBQUM7Q0FDdEIsQ0FBQztBQUVGLGtDQUFrQztBQUNsQyxNQUFNLE1BQU0sY0FBYyxHQUFHO0lBQzNCLDhEQUE4RDtJQUM5RCxjQUFjLEVBQUUsT0FBTyxDQUFDO0lBQ3hCLGtIQUFrSDtJQUNsSCxnQkFBZ0IsQ0FBQyxFQUFFLE9BQU8sQ0FBQztJQUMzQixtQ0FBbUM7SUFDbkMsa0JBQWtCLENBQUMsRUFBRSxPQUFPLENBQUM7SUFDN0IsNkRBQTZEO0lBQzdELFdBQVcsQ0FBQyxFQUFFLE9BQU8sQ0FBQztJQUN0QiwrR0FBK0c7SUFDL0csU0FBUyxDQUFDLEVBQUUsbUJBQW1CLENBQUM7SUFDaEMscUZBQXFGO0lBQ3JGLE1BQU0sRUFBRSxZQUFZLENBQUM7Q0FDdEIsQ0FBQztBQUVGLHNDQUFzQztBQUN0QyxNQUFNLE1BQU0sa0JBQWtCLEdBQUc7SUFDL0IsbUVBQW1FO0lBQ25FLFFBQVEsQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQ3pCLDBEQUEwRDtJQUMxRCxNQUFNLEVBQUUsWUFBWSxDQUFDO0NBQ3RCLENBQUM7QUFFRiwyQkFBMkI7QUFDM0IsTUFBTSxNQUFNLGFBQWEsR0FBRztJQUMxQixvQ0FBb0M7SUFDcEMsSUFBSSxFQUFFLFNBQVMsQ0FBQztJQUNoQixvREFBb0Q7SUFDcEQsS0FBSyxFQUFFLGlCQUFpQixDQUFDO0lBQ3pCLHVEQUF1RDtJQUN2RCxZQUFZLEVBQUUsbUJBQW1CLENBQUM7SUFDbEMseURBQXlEO0lBQ3pELFNBQVMsRUFBRSxnQkFBZ0IsQ0FBQztJQUM1Qiw4REFBOEQ7SUFDOUQseUJBQXlCLEVBQUUseUJBQXlCLENBQUM7SUFDckQsaUNBQWlDO0lBQ2pDLE1BQU0sRUFBRSxTQUFTLENBQUM7SUFDbEIscUVBQXFFO0lBQ3JFLGNBQWMsQ0FBQyxFQUFFLE1BQU0sR0FBRyxNQUFNLENBQUM7Q0FDbEMsQ0FBQztBQUVGOzs7R0FHRztBQUNILHFCQUFhLEdBQUc7O0lBRVosT0FBTyxDQUFDLElBQUk7SUFDWixPQUFPLENBQUMsRUFBRTtJQUNWLE9BQU8sQ0FBQyxzQkFBc0I7SUFDOUIsT0FBTyxDQUFDLFFBQVE7SUFDaEIsT0FBTyxDQUFDLGFBQWE7SUFDckIsT0FBTyxDQUFDLFNBQVM7SUFDakIsT0FBTyxDQUFDLFlBQVk7SUFDcEIsT0FBTyxDQUFDLGdCQUFnQjtJQUN4QixPQUFPLENBQUMsa0JBQWtCO0lBQzFCLE9BQU8sQ0FBQyxzQkFBc0I7SUFDOUIsT0FBTyxDQUFDLHFCQUFxQjtJQUM3QixPQUFPLENBQUMsWUFBWTtJQUNwQixPQUFPLENBQUMsaUJBQWlCO0lBQ3pCLE9BQU8sQ0FBQyxtQkFBbUI7SUFDM0IsT0FBTyxDQUFDLHFCQUFxQjtJQUM3QixPQUFPLENBQUMsU0FBUztJQUNqQixPQUFPLENBQUMsYUFBYTtJQUNyQixPQUFPLENBQUMsWUFBWTtJQUNwQixPQUFPLENBQUMseUJBQXlCO0lBQ2pDLE9BQU8sQ0FBQyxHQUFHO0lBQ1gsT0FBTyxDQUFDLFFBQVE7SUFDaEIsT0FBTyxDQUFDLGNBQWM7SUFDZixLQUFLLEVBQUUsYUFBYTtJQXZCN0IsT0FBTyxlQXdCSDtJQUVKOzs7Ozs7T0FNRztJQUNILE9BQW9CLE1BQU0sQ0FBQyxFQUN6QixJQUFJLEVBQ0osS0FBSyxFQUNMLFlBQVksRUFDWixTQUFTLEVBQ1QseUJBQXlCLEVBQ3pCLE1BQU0sRUFDTixjQUFjLEVBQ2YsRUFBRSxhQUFhLGdCQStGZjtJQXVORDs7O09BR0c7SUFDSSxvQkFBb0IsSUFBSSxPQUFPLENBQUMsV0FBVyxDQUFDLENBRWxEO0lBRUQ7Ozs7T0FJRztJQUNJLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxZQUFZLEdBQUcsT0FBTyxDQUFDLDJCQUEyQixHQUFHLFNBQVMsQ0FBQyxDQUVsRztJQUVEOzs7O09BSUc7SUFDVSxtQkFBbUIsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsR0FBRyxTQUFTLENBQUMsQ0FFOUU7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDVSxlQUFlLENBQUMsU0FBUyxFQUFFLEVBQUUsRUFBRSxjQUFjLEVBQUUsY0FBYyxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FhcEc7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDVSxjQUFjLENBQUMsTUFBTSxFQUFFLFlBQVksR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLENBbUJ2RTtJQUVEOzs7T0FHRztJQUNJLFVBQVUsSUFBSSxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FFM0M7SUFFRDs7O09BR0c7SUFDVSxZQUFZLENBQUMsTUFBTSxFQUFFLFlBQVksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBUTdEO0lBRUQ7OztPQUdHO0lBQ1UscUJBQXFCLElBQUksT0FBTyxDQUFDLGVBQWUsRUFBRSxDQUFDLENBUS9EO0lBRUQ7Ozs7T0FJRztJQUNVLHFCQUFxQixDQUFDLFFBQVEsRUFBRSxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBRzVFO0lBRUQ7Ozs7Ozs7T0FPRztJQUNVLGdCQUFnQixDQUFDLFFBQVEsRUFBRTtRQUFFLFFBQVEsRUFBRSwyQkFBMkIsQ0FBQztRQUFDLFFBQVEsQ0FBQyxFQUFFLGdCQUFnQixDQUFBO0tBQUUsaUJBcUM3RztJQUVEOzs7Ozs7OztPQVFHO0lBQ0ksY0FBYyxDQUFDLGVBQWUsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0E4QjlGO0lBRUQ7OztPQUdHO0lBQ0ksWUFBWSxJQUFJLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUU3QztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNJLE9BQU8sQ0FBQyxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0F1RTlGO0lBRUQ7Ozs7O09BS0c7SUFDSSxTQUFTLENBQ2QsU0FBUyxFQUFFLGtCQUFrQixFQUM3QixFQUFFLFdBQVcsRUFBRSxtQkFBMEIsRUFBRSxNQUFNLEVBQUUsRUFBRSxhQUFhLEdBQ2pFLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FrRTFCO0lBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7O09BaUJHO0lBQ0ksVUFBVSxDQUNmLFNBQVMsRUFBRSxrQkFBa0IsRUFDN0IsRUFDRSxjQUFjLEVBQ2QsZ0JBQXdCLEVBQ3hCLGtCQUEwQixFQUMxQixXQUFrQixFQUNsQixTQUFTLEVBQ1QsTUFBTSxFQUNQLEVBQUUsY0FBYyxHQUNoQixPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0F1STdCO0lBRUQ7OztPQUdHO0lBQ0ksY0FBYyxDQUNuQixJQUFJLEVBQUUsWUFBWSxFQUNsQixFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsR0FBRSxrQkFBNkMsR0FDbEUsT0FBTyxDQUFDLHNCQUFzQixDQUFDLENBNkRqQztJQUVEOzs7Ozs7Ozs7Ozs7T0FZRztJQUNVLGdCQUFnQixDQUMzQixhQUFhLEVBQUUsYUFBYSxFQUM1QixNQUFNLEVBQUUsa0JBQWtCLEdBQ3pCLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBOEIvQjtJQUVEOztPQUVHO0lBQ1UsSUFBSSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FHakM7Q0FDRiJ9
|
package/dest/pxe.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pxe.d.ts","sourceRoot":"","sources":["../src/pxe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,KAAK,MAAM,EAAqC,MAAM,uBAAuB,CAAC;AAIvF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,OAAO,EAAE,KAAK,yBAAyB,EAAyB,MAAM,2BAA2B,CAAC;AAClG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EACL,KAAK,gBAAgB,EACrB,aAAa,EACb,YAAY,EAGb,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EACL,eAAe,EACf,KAAK,2BAA2B,EAChC,KAAK,cAAc,EAGpB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAMtF,OAAO,EACL,WAAW,EAEX,KAAK,IAAI,EAKT,mBAAmB,EAGnB,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,sBAAsB,EACvB,MAAM,kBAAkB,CAAC;AAI1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAUnD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAoB3D,MAAM,MAAM,kBAAkB,GAAG,IAAI,GAAG;IACtC,WAAW,EAAE,EAAE,EAAE,CAAC;IAClB,aAAa,EAAE,aAAa,CAAC;CAC9B,CAAC;AAEF,iCAAiC;AACjC,MAAM,MAAM,aAAa,GAAG;IAC1B,iCAAiC;IACjC,WAAW,EAAE,MAAM,GAAG,iBAAiB,GAAG,OAAO,CAAC;IAClD,+EAA+E;IAC/E,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,sFAAsF;IACtF,MAAM,EAAE,YAAY,CAAC;CACtB,CAAC;AAEF,kCAAkC;AAClC,MAAM,MAAM,cAAc,GAAG;IAC3B,8DAA8D;IAC9D,cAAc,EAAE,OAAO,CAAC;IACxB,kHAAkH;IAClH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,mCAAmC;IACnC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,
|
|
1
|
+
{"version":3,"file":"pxe.d.ts","sourceRoot":"","sources":["../src/pxe.ts"],"names":[],"mappings":"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"}
|
package/dest/pxe.js
CHANGED
|
@@ -346,6 +346,9 @@ import { SenderTaggingStore } from './storage/tagging_store/sender_tagging_store
|
|
|
346
346
|
const wasAdded = await this.senderAddressBookStore.addSender(sender);
|
|
347
347
|
if (wasAdded) {
|
|
348
348
|
this.log.info(`Added sender:\n ${sender.toString()}`);
|
|
349
|
+
// Wipe the entire sync cache: the new sender's tagged logs could contain notes/events for any contract, so
|
|
350
|
+
// all contracts must re-sync to discover them.
|
|
351
|
+
this.contractSyncService.wipe();
|
|
349
352
|
} else {
|
|
350
353
|
this.log.info(`Sender:\n "${sender.toString()}"\n already registered.`);
|
|
351
354
|
}
|
|
@@ -600,7 +603,7 @@ import { SenderTaggingStore } from './storage/tagging_store/sender_tagging_store
|
|
|
600
603
|
* Also throws if simulatePublic is true and public simulation reverts.
|
|
601
604
|
*
|
|
602
605
|
* TODO(#7456) Prevent msgSender being defined here for the first call
|
|
603
|
-
*/ simulateTx(txRequest, { simulatePublic, skipTxValidation = false, skipFeeEnforcement = false, overrides, scopes }) {
|
|
606
|
+
*/ simulateTx(txRequest, { simulatePublic, skipTxValidation = false, skipFeeEnforcement = false, skipKernels = true, overrides, scopes }) {
|
|
604
607
|
// We disable concurrent simulations since those might execute oracles which read and write to the PXE stores (e.g.
|
|
605
608
|
// to the capsules), and we need to prevent concurrent runs from interfering with one another (e.g. attempting to
|
|
606
609
|
// delete the same read value, or reading values that another simulation is currently modifying).
|
|
@@ -619,16 +622,16 @@ import { SenderTaggingStore } from './storage/tagging_store/sender_tagging_store
|
|
|
619
622
|
const syncTimer = new Timer();
|
|
620
623
|
await this.blockStateSynchronizer.sync();
|
|
621
624
|
const syncTime = syncTimer.ms();
|
|
622
|
-
const contractFunctionSimulator = this.#getSimulatorForTx(overrides);
|
|
623
|
-
// Temporary: in case there are overrides, we have to skip the kernels or validations
|
|
624
|
-
// will fail. Consider handing control to the user/wallet on whether they want to run them
|
|
625
|
-
// or not.
|
|
626
625
|
const overriddenContracts = overrides?.contracts ? new Set(Object.keys(overrides.contracts)) : undefined;
|
|
627
626
|
const hasOverriddenContracts = overriddenContracts !== undefined && overriddenContracts.size > 0;
|
|
628
|
-
|
|
629
|
-
|
|
627
|
+
if (hasOverriddenContracts && !skipKernels) {
|
|
628
|
+
throw new Error('Simulating with overridden contracts is not compatible with kernel execution. Please set skipKernels to true when simulating with overridden contracts.');
|
|
629
|
+
}
|
|
630
|
+
const contractFunctionSimulator = this.#getSimulatorForTx(overrides);
|
|
630
631
|
if (hasOverriddenContracts) {
|
|
631
|
-
|
|
632
|
+
// Overridden contracts don't have a sync function, so calling sync on them would fail.
|
|
633
|
+
// We exclude them so the sync service skips them entirely.
|
|
634
|
+
this.contractSyncService.setExcludedFromSync(jobId, overriddenContracts);
|
|
632
635
|
}
|
|
633
636
|
// Execution of private functions only; no proving, and no kernel logic.
|
|
634
637
|
const privateExecutionResult = await this.#executePrivate(contractFunctionSimulator, txRequest, scopes, jobId);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/pxe",
|
|
3
|
-
"version": "0.0.1-commit.
|
|
3
|
+
"version": "0.0.1-commit.88e6f9396",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"typedocOptions": {
|
|
6
6
|
"entryPoints": [
|
|
@@ -70,19 +70,19 @@
|
|
|
70
70
|
]
|
|
71
71
|
},
|
|
72
72
|
"dependencies": {
|
|
73
|
-
"@aztec/bb-prover": "0.0.1-commit.
|
|
74
|
-
"@aztec/bb.js": "0.0.1-commit.
|
|
75
|
-
"@aztec/builder": "0.0.1-commit.
|
|
76
|
-
"@aztec/constants": "0.0.1-commit.
|
|
77
|
-
"@aztec/ethereum": "0.0.1-commit.
|
|
78
|
-
"@aztec/foundation": "0.0.1-commit.
|
|
79
|
-
"@aztec/key-store": "0.0.1-commit.
|
|
80
|
-
"@aztec/kv-store": "0.0.1-commit.
|
|
81
|
-
"@aztec/noir-protocol-circuits-types": "0.0.1-commit.
|
|
82
|
-
"@aztec/noir-types": "0.0.1-commit.
|
|
83
|
-
"@aztec/protocol-contracts": "0.0.1-commit.
|
|
84
|
-
"@aztec/simulator": "0.0.1-commit.
|
|
85
|
-
"@aztec/stdlib": "0.0.1-commit.
|
|
73
|
+
"@aztec/bb-prover": "0.0.1-commit.88e6f9396",
|
|
74
|
+
"@aztec/bb.js": "0.0.1-commit.88e6f9396",
|
|
75
|
+
"@aztec/builder": "0.0.1-commit.88e6f9396",
|
|
76
|
+
"@aztec/constants": "0.0.1-commit.88e6f9396",
|
|
77
|
+
"@aztec/ethereum": "0.0.1-commit.88e6f9396",
|
|
78
|
+
"@aztec/foundation": "0.0.1-commit.88e6f9396",
|
|
79
|
+
"@aztec/key-store": "0.0.1-commit.88e6f9396",
|
|
80
|
+
"@aztec/kv-store": "0.0.1-commit.88e6f9396",
|
|
81
|
+
"@aztec/noir-protocol-circuits-types": "0.0.1-commit.88e6f9396",
|
|
82
|
+
"@aztec/noir-types": "0.0.1-commit.88e6f9396",
|
|
83
|
+
"@aztec/protocol-contracts": "0.0.1-commit.88e6f9396",
|
|
84
|
+
"@aztec/simulator": "0.0.1-commit.88e6f9396",
|
|
85
|
+
"@aztec/stdlib": "0.0.1-commit.88e6f9396",
|
|
86
86
|
"koa": "^2.16.1",
|
|
87
87
|
"koa-router": "^13.1.1",
|
|
88
88
|
"lodash.omit": "^4.5.0",
|
|
@@ -91,8 +91,8 @@
|
|
|
91
91
|
"viem": "npm:@aztec/viem@2.38.2"
|
|
92
92
|
},
|
|
93
93
|
"devDependencies": {
|
|
94
|
-
"@aztec/noir-test-contracts.js": "0.0.1-commit.
|
|
95
|
-
"@aztec/world-state": "0.0.1-commit.
|
|
94
|
+
"@aztec/noir-test-contracts.js": "0.0.1-commit.88e6f9396",
|
|
95
|
+
"@aztec/world-state": "0.0.1-commit.88e6f9396",
|
|
96
96
|
"@jest/globals": "^30.0.0",
|
|
97
97
|
"@types/jest": "^30.0.0",
|
|
98
98
|
"@types/lodash.omit": "^4.5.7",
|
|
@@ -17,6 +17,7 @@ import {
|
|
|
17
17
|
MAX_NULLIFIERS_PER_TX,
|
|
18
18
|
MAX_NULLIFIER_READ_REQUESTS_PER_TX,
|
|
19
19
|
MAX_PRIVATE_LOGS_PER_TX,
|
|
20
|
+
MAX_TX_LIFETIME,
|
|
20
21
|
PRIVATE_TX_L2_GAS_OVERHEAD,
|
|
21
22
|
PUBLIC_TX_L2_GAS_OVERHEAD,
|
|
22
23
|
TX_DA_GAS_OVERHEAD,
|
|
@@ -342,6 +343,7 @@ export class ContractFunctionSimulator {
|
|
|
342
343
|
capsuleStore: this.capsuleStore,
|
|
343
344
|
privateEventStore: this.privateEventStore,
|
|
344
345
|
messageContextService: this.messageContextService,
|
|
346
|
+
contractSyncService: this.contractSyncService,
|
|
345
347
|
jobId,
|
|
346
348
|
scopes,
|
|
347
349
|
});
|
|
@@ -442,14 +444,34 @@ export async function generateSimulatedProvingResult(
|
|
|
442
444
|
|
|
443
445
|
let publicTeardownCallRequest;
|
|
444
446
|
|
|
447
|
+
// We set expiration timestamp to anchor_block_timestamp + MAX_TX_LIFETIME (24h) just like kernels do
|
|
448
|
+
let expirationTimestamp =
|
|
449
|
+
privateExecutionResult.entrypoint.publicInputs.anchorBlockHeader.globalVariables.timestamp +
|
|
450
|
+
BigInt(MAX_TX_LIFETIME);
|
|
451
|
+
|
|
452
|
+
let feePayer = AztecAddress.zero();
|
|
453
|
+
|
|
445
454
|
const executions = [privateExecutionResult.entrypoint];
|
|
446
455
|
|
|
447
456
|
while (executions.length !== 0) {
|
|
448
457
|
const execution = executions.shift()!;
|
|
449
458
|
executions.unshift(...execution!.nestedExecutionResults);
|
|
450
459
|
|
|
460
|
+
// Just like kernels we overwrite the default value if the call sets it.
|
|
461
|
+
const callExpirationTimestamp = execution.publicInputs.expirationTimestamp;
|
|
462
|
+
if (callExpirationTimestamp !== 0n && callExpirationTimestamp < expirationTimestamp) {
|
|
463
|
+
expirationTimestamp = callExpirationTimestamp;
|
|
464
|
+
}
|
|
465
|
+
|
|
451
466
|
const { contractAddress } = execution.publicInputs.callContext;
|
|
452
467
|
|
|
468
|
+
if (execution.publicInputs.isFeePayer) {
|
|
469
|
+
if (!feePayer.isZero()) {
|
|
470
|
+
throw new Error('Multiple fee payers found in private execution result');
|
|
471
|
+
}
|
|
472
|
+
feePayer = contractAddress;
|
|
473
|
+
}
|
|
474
|
+
|
|
453
475
|
scopedNoteHashes.push(
|
|
454
476
|
...execution.publicInputs.noteHashes
|
|
455
477
|
.getActiveItems()
|
|
@@ -670,8 +692,8 @@ export async function generateSimulatedProvingResult(
|
|
|
670
692
|
daGas: TX_DA_GAS_OVERHEAD,
|
|
671
693
|
}),
|
|
672
694
|
),
|
|
673
|
-
/*feePayer=*/
|
|
674
|
-
/*expirationTimestamp=*/
|
|
695
|
+
/*feePayer=*/ feePayer,
|
|
696
|
+
/*expirationTimestamp=*/ expirationTimestamp,
|
|
675
697
|
hasPublicCalls ? inputsForPublic : undefined,
|
|
676
698
|
!hasPublicCalls ? inputsForRollup : undefined,
|
|
677
699
|
);
|
|
@@ -143,6 +143,7 @@ export interface IUtilityExecutionOracle {
|
|
|
143
143
|
copyCapsule(contractAddress: AztecAddress, srcKey: Fr, dstKey: Fr, numEntries: number): Promise<void>;
|
|
144
144
|
aes128Decrypt(ciphertext: Buffer, iv: Buffer, symKey: Buffer): Promise<Buffer>;
|
|
145
145
|
getSharedSecret(address: AztecAddress, ephPk: Point): Promise<Point>;
|
|
146
|
+
invalidateContractSyncCache(contractAddress: AztecAddress, scopes: AztecAddress[]): void;
|
|
146
147
|
emitOffchainEffect(data: Fr[]): Promise<void>;
|
|
147
148
|
}
|
|
148
149
|
|