@aztec-labs/pxe 6.0.0-nightly.20260923 → 6.0.0-rc.1
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 +8 -3
- package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +3 -3
- package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/private_execution_oracle.js +4 -4
- package/package.json +18 -18
- package/src/contract_function_simulator/contract_function_simulator.ts +10 -3
- package/src/contract_function_simulator/oracle/private_execution_oracle.ts +5 -5
|
@@ -111,4 +111,4 @@ export declare class ContractFunctionSimulator {
|
|
|
111
111
|
* @returns The simulated proving result.
|
|
112
112
|
*/
|
|
113
113
|
export declare function generateSimulatedProvingResult(privateExecutionResult: PrivateExecutionResult, debugFunctionNameGetter: (contractAddress: AztecAddress, functionSelector: FunctionSelector) => Promise<string>, node: AztecNode, minRevertibleSideEffectCounterOverride?: number): Promise<PrivateKernelExecutionProofOutput<PrivateKernelTailCircuitPublicInputs>>;
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yL2NvbnRyYWN0X2Z1bmN0aW9uX3NpbXVsYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE0QkEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBSXpELE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR3RELE9BQU8sRUFDTCxLQUFLLGdCQUFnQixFQU90QixNQUFNLDhCQUE4QixDQUFDO0FBQ3RDLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBZ0IsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RSxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDaEUsT0FBTyxLQUFLLEVBQWtCLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBUy9FLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3RFLE9BQU8sRUFLTCxLQUFLLGlDQUFpQyxFQUN0QyxvQ0FBb0MsRUFhckMsTUFBTSwyQkFBMkIsQ0FBQztBQUtuQyxPQUFPLEVBQ0wsV0FBVyxFQUVYLEtBQUssaUJBQWlCLEVBRXRCLEtBQUssY0FBYyxFQUNuQixzQkFBc0IsRUFFdEIsa0JBQWtCLEVBSW5CLE1BQU0sdUJBQXVCLENBQUM7QUFFL0IsT0FBTyxLQUFLLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNsRixPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ2hGLE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxN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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract_function_simulator.d.ts","sourceRoot":"","sources":["../../src/contract_function_simulator/contract_function_simulator.ts"],"names":[],"mappings":"AA4BA,OAAO,EAAE,EAAE,EAAE,MAAM,qCAAqC,CAAC;AAIzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGtD,OAAO,EACL,KAAK,gBAAgB,EAOtB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAgB,MAAM,wBAAwB,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,KAAK,EAAkB,cAAc,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"contract_function_simulator.d.ts","sourceRoot":"","sources":["../../src/contract_function_simulator/contract_function_simulator.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@ import { ExecutionError, createSimulationError, extractCallStack, resolveAsserti
|
|
|
11
11
|
import { FunctionSelector, FunctionType } from '@aztec-labs/stdlib/abi';
|
|
12
12
|
import { AztecAddress } from '@aztec-labs/stdlib/aztec-address';
|
|
13
13
|
import { Gas } from '@aztec-labs/stdlib/gas';
|
|
14
|
-
import { computeNoteHashNonce,
|
|
14
|
+
import { computeNoteHashNonce, computeSiloedPrivateLogFirstField, computeUniqueNoteHash, siloNoteHash, siloNullifier } from '@aztec-labs/stdlib/hash';
|
|
15
15
|
import { ClaimedLengthArray, PartialPrivateTailPublicInputsForPublic, PartialPrivateTailPublicInputsForRollup, PrivateKernelTailCircuitPublicInputs, PrivateToPublicAccumulatedData, PrivateToRollupAccumulatedData, PublicCallRequest, ReadRequestActionEnum, ScopedLogHash, ScopedNoteHash, ScopedNullifier, ScopedReadRequest, buildTransientDataHints, getNoteHashReadRequestResetActions, getNullifierReadRequestResetActions } from '@aztec-labs/stdlib/kernel';
|
|
16
16
|
import { PrivateLog } from '@aztec-labs/stdlib/logs';
|
|
17
17
|
import { ScopedL2ToL1Message } from '@aztec-labs/stdlib/messaging';
|
|
@@ -89,7 +89,12 @@ import { TransientArrayService } from './transient_array_service.js';
|
|
|
89
89
|
// reserve the first side effect for the tx hash (inserted by the private kernel)
|
|
90
90
|
const startSideEffectCounter = 2;
|
|
91
91
|
const callContext = new CallContext(msgSender, contractAddress, await FunctionSelector.fromNameAndParameters(entryPointArtifact.name, entryPointArtifact.parameters), entryPointArtifact.isStatic);
|
|
92
|
-
|
|
92
|
+
if (request.salt.isZero()) {
|
|
93
|
+
// Zero is what an unset field looks like. The kernel accepts it, so a wallet that never set the salt would see
|
|
94
|
+
// its first transaction succeed and every later one from this origin rejected as a duplicate nullifier.
|
|
95
|
+
this.log.warn('Tx request salt is zero. The salt is the transaction nonce: draw it fresh per transaction, or every other ' + `transaction from ${request.origin} with a zero salt will collide with this one on the protocol nullifier.`);
|
|
96
|
+
}
|
|
97
|
+
const protocolNullifier = await request.toTxRequest().computeProtocolNullifier();
|
|
93
98
|
const noteCache = new ExecutionNoteCache(protocolNullifier);
|
|
94
99
|
const taggingIndexCache = new ExecutionTaggingIndexCache();
|
|
95
100
|
// One shared transient store for the whole execution tree rooted at this transaction. Threaded into every child
|
|
@@ -99,7 +104,7 @@ import { TransientArrayService } from './transient_array_service.js';
|
|
|
99
104
|
const privateExecutionOracle = new PrivateExecutionOracle({
|
|
100
105
|
argsHash: request.firstCallArgsHash,
|
|
101
106
|
txContext: request.txContext,
|
|
102
|
-
|
|
107
|
+
protocolNullifier,
|
|
103
108
|
callContext,
|
|
104
109
|
anchorBlockHeader,
|
|
105
110
|
utilityExecutor: async (call, execScopes)=>{
|
|
@@ -19,7 +19,7 @@ import { UtilityExecutionOracle, type UtilityExecutionOracleArgs } from './utili
|
|
|
19
19
|
export type PrivateExecutionOracleArgs = UtilityExecutionOracleArgs & {
|
|
20
20
|
argsHash: Fr;
|
|
21
21
|
txContext: TxContext;
|
|
22
|
-
|
|
22
|
+
protocolNullifier: Fr;
|
|
23
23
|
executionCache: HashedValuesCache;
|
|
24
24
|
noteCache: ExecutionNoteCache;
|
|
25
25
|
taggingIndexCache: ExecutionTaggingIndexCache;
|
|
@@ -48,7 +48,7 @@ export declare class PrivateExecutionOracle extends UtilityExecutionOracle imple
|
|
|
48
48
|
private nestedExecutionResults;
|
|
49
49
|
private readonly argsHash;
|
|
50
50
|
private readonly txContext;
|
|
51
|
-
private readonly
|
|
51
|
+
private readonly protocolNullifier;
|
|
52
52
|
private readonly executionCache;
|
|
53
53
|
private readonly noteCache;
|
|
54
54
|
private readonly taggingIndexCache;
|
|
@@ -223,4 +223,4 @@ export declare class PrivateExecutionOracle extends UtilityExecutionOracle imple
|
|
|
223
223
|
getDebugFunctionName(): Promise<string>;
|
|
224
224
|
protected get callerContext(): "private" | "private view";
|
|
225
225
|
}
|
|
226
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
226
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9leGVjdXRpb25fb3JhY2xlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yL29yYWNsZS9wcml2YXRlX2V4ZWN1dGlvbl9vcmFjbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBS3pELE9BQU8sRUFDTCxLQUFLLFdBQVcsRUFFaEIsZ0JBQWdCLEVBQ2hCLEtBQUssWUFBWSxFQUVsQixNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUVoRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRSxPQUFPLEVBRUwsb0JBQW9CLEVBR3BCLEtBQUssaUJBQWlCLEVBQ3ZCLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFRLEtBQUssVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEUsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixXQUFXLEVBQ1gsMEJBQTBCLEVBQzFCLEtBQUssU0FBUyxFQUNmLE1BQU0sdUJBQXVCLENBQUM7QUFVL0IsT0FBTyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUU5RixPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ2pGLE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbkUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzVELE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFB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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"private_execution_oracle.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/private_execution_oracle.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,qCAAqC,CAAC;AAKzD,OAAO,EACL,KAAK,WAAW,EAEhB,gBAAgB,EAChB,KAAK,YAAY,EAElB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAEhE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAEL,oBAAoB,EAGpB,KAAK,iBAAiB,EACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAEL,uBAAuB,EACvB,WAAW,EACX,0BAA0B,EAC1B,KAAK,SAAS,EACf,MAAM,uBAAuB,CAAC;AAU/B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qDAAqD,CAAC;AAE9F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8CAA8C,CAAC;AAE5F,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE/D,OAAO,EAAE,sBAAsB,EAAE,KAAK,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAExG,mDAAmD;AACnD,MAAM,MAAM,0BAA0B,GAAG,0BAA0B,GAAG;IACpE,QAAQ,EAAE,EAAE,CAAC;IACb,SAAS,EAAE,SAAS,CAAC;IACrB,
|
|
1
|
+
{"version":3,"file":"private_execution_oracle.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/private_execution_oracle.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,7 +36,7 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
|
|
|
36
36
|
nestedExecutionResults = [];
|
|
37
37
|
argsHash;
|
|
38
38
|
txContext;
|
|
39
|
-
|
|
39
|
+
protocolNullifier;
|
|
40
40
|
executionCache;
|
|
41
41
|
noteCache;
|
|
42
42
|
taggingIndexCache;
|
|
@@ -51,7 +51,7 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
|
|
|
51
51
|
});
|
|
52
52
|
this.argsHash = args.argsHash;
|
|
53
53
|
this.txContext = args.txContext;
|
|
54
|
-
this.
|
|
54
|
+
this.protocolNullifier = args.protocolNullifier;
|
|
55
55
|
this.executionCache = args.executionCache;
|
|
56
56
|
this.noteCache = args.noteCache;
|
|
57
57
|
this.taggingIndexCache = args.taggingIndexCache;
|
|
@@ -61,7 +61,7 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
|
|
|
61
61
|
this.defaultSenderForTags = args.senderForTags;
|
|
62
62
|
}
|
|
63
63
|
getPrivateContextInputs() {
|
|
64
|
-
return new PrivateContextInputs(this.callContext, this.anchorBlockHeader, this.txContext, this.initialSideEffectCounter, this.
|
|
64
|
+
return new PrivateContextInputs(this.callContext, this.anchorBlockHeader, this.txContext, this.initialSideEffectCounter, this.protocolNullifier);
|
|
65
65
|
}
|
|
66
66
|
// We still need this function until we can get user-defined ordering of structs for fn arguments
|
|
67
67
|
// TODO When that is sorted out on noir side, we can use instead the utilities in serialize.ts
|
|
@@ -496,7 +496,7 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
|
|
|
496
496
|
const privateExecutionOracle = new PrivateExecutionOracle({
|
|
497
497
|
argsHash,
|
|
498
498
|
txContext: derivedTxContext,
|
|
499
|
-
|
|
499
|
+
protocolNullifier: this.protocolNullifier,
|
|
500
500
|
callContext: derivedCallContext,
|
|
501
501
|
anchorBlockHeader: this.anchorBlockHeader,
|
|
502
502
|
utilityExecutor: this.utilityExecutor,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec-labs/pxe",
|
|
3
|
-
"version": "6.0.0-
|
|
3
|
+
"version": "6.0.0-rc.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"typedocOptions": {
|
|
6
6
|
"entryPoints": [
|
|
@@ -71,21 +71,21 @@
|
|
|
71
71
|
]
|
|
72
72
|
},
|
|
73
73
|
"dependencies": {
|
|
74
|
-
"@aztec-foundation/bb.js": "6.0.0-
|
|
75
|
-
"@aztec-foundation/noir-acvm_js": "6.0.0-
|
|
76
|
-
"@aztec-foundation/noir-noirc_abi": "6.0.0-
|
|
77
|
-
"@aztec-foundation/noir-types": "6.0.0-
|
|
78
|
-
"@aztec-labs/bb-prover": "6.0.0-
|
|
79
|
-
"@aztec-labs/constants": "6.0.0-
|
|
80
|
-
"@aztec-labs/ethereum": "6.0.0-
|
|
81
|
-
"@aztec-labs/foundation": "6.0.0-
|
|
82
|
-
"@aztec-labs/key-store": "6.0.0-
|
|
83
|
-
"@aztec-labs/kv-store": "6.0.0-
|
|
84
|
-
"@aztec-labs/noir-protocol-circuits-types": "6.0.0-
|
|
85
|
-
"@aztec-labs/protocol-contracts": "6.0.0-
|
|
86
|
-
"@aztec-labs/simulator": "6.0.0-
|
|
87
|
-
"@aztec-labs/standard-contracts": "6.0.0-
|
|
88
|
-
"@aztec-labs/stdlib": "6.0.0-
|
|
74
|
+
"@aztec-foundation/bb.js": "6.0.0-rc.1",
|
|
75
|
+
"@aztec-foundation/noir-acvm_js": "6.0.0-rc.1",
|
|
76
|
+
"@aztec-foundation/noir-noirc_abi": "6.0.0-rc.1",
|
|
77
|
+
"@aztec-foundation/noir-types": "6.0.0-rc.1",
|
|
78
|
+
"@aztec-labs/bb-prover": "6.0.0-rc.1",
|
|
79
|
+
"@aztec-labs/constants": "6.0.0-rc.1",
|
|
80
|
+
"@aztec-labs/ethereum": "6.0.0-rc.1",
|
|
81
|
+
"@aztec-labs/foundation": "6.0.0-rc.1",
|
|
82
|
+
"@aztec-labs/key-store": "6.0.0-rc.1",
|
|
83
|
+
"@aztec-labs/kv-store": "6.0.0-rc.1",
|
|
84
|
+
"@aztec-labs/noir-protocol-circuits-types": "6.0.0-rc.1",
|
|
85
|
+
"@aztec-labs/protocol-contracts": "6.0.0-rc.1",
|
|
86
|
+
"@aztec-labs/simulator": "6.0.0-rc.1",
|
|
87
|
+
"@aztec-labs/standard-contracts": "6.0.0-rc.1",
|
|
88
|
+
"@aztec-labs/stdlib": "6.0.0-rc.1",
|
|
89
89
|
"koa": "^2.16.1",
|
|
90
90
|
"koa-router": "^13.1.1",
|
|
91
91
|
"lodash.omit": "^4.5.0",
|
|
@@ -94,8 +94,8 @@
|
|
|
94
94
|
"viem": "npm:@aztec/viem@2.38.3"
|
|
95
95
|
},
|
|
96
96
|
"devDependencies": {
|
|
97
|
-
"@aztec-labs/noir-test-contracts.js": "6.0.0-
|
|
98
|
-
"@aztec-labs/world-state": "6.0.0-
|
|
97
|
+
"@aztec-labs/noir-test-contracts.js": "6.0.0-rc.1",
|
|
98
|
+
"@aztec-labs/world-state": "6.0.0-rc.1",
|
|
99
99
|
"@jest/globals": "^30.0.0",
|
|
100
100
|
"@types/jest": "^30.0.0",
|
|
101
101
|
"@types/lodash.omit": "^4.5.7",
|
|
@@ -50,7 +50,6 @@ import type { BlockParameter, L2TipsProvider } from '@aztec-labs/stdlib/block';
|
|
|
50
50
|
import { Gas } from '@aztec-labs/stdlib/gas';
|
|
51
51
|
import {
|
|
52
52
|
computeNoteHashNonce,
|
|
53
|
-
computeProtocolNullifier,
|
|
54
53
|
computeSiloedPrivateLogFirstField,
|
|
55
54
|
computeUniqueNoteHash,
|
|
56
55
|
siloNoteHash,
|
|
@@ -254,7 +253,15 @@ export class ContractFunctionSimulator {
|
|
|
254
253
|
entryPointArtifact.isStatic,
|
|
255
254
|
);
|
|
256
255
|
|
|
257
|
-
|
|
256
|
+
if (request.salt.isZero()) {
|
|
257
|
+
// Zero is what an unset field looks like. The kernel accepts it, so a wallet that never set the salt would see
|
|
258
|
+
// its first transaction succeed and every later one from this origin rejected as a duplicate nullifier.
|
|
259
|
+
this.log.warn(
|
|
260
|
+
'Tx request salt is zero. The salt is the transaction nonce: draw it fresh per transaction, or every other ' +
|
|
261
|
+
`transaction from ${request.origin} with a zero salt will collide with this one on the protocol nullifier.`,
|
|
262
|
+
);
|
|
263
|
+
}
|
|
264
|
+
const protocolNullifier = await request.toTxRequest().computeProtocolNullifier();
|
|
258
265
|
const noteCache = new ExecutionNoteCache(protocolNullifier);
|
|
259
266
|
const taggingIndexCache = new ExecutionTaggingIndexCache();
|
|
260
267
|
|
|
@@ -266,7 +273,7 @@ export class ContractFunctionSimulator {
|
|
|
266
273
|
const privateExecutionOracle = new PrivateExecutionOracle({
|
|
267
274
|
argsHash: request.firstCallArgsHash,
|
|
268
275
|
txContext: request.txContext,
|
|
269
|
-
|
|
276
|
+
protocolNullifier,
|
|
270
277
|
callContext,
|
|
271
278
|
anchorBlockHeader,
|
|
272
279
|
utilityExecutor: async (call, execScopes) => {
|
|
@@ -56,7 +56,7 @@ import { UtilityExecutionOracle, type UtilityExecutionOracleArgs } from './utili
|
|
|
56
56
|
export type PrivateExecutionOracleArgs = UtilityExecutionOracleArgs & {
|
|
57
57
|
argsHash: Fr;
|
|
58
58
|
txContext: TxContext;
|
|
59
|
-
|
|
59
|
+
protocolNullifier: Fr;
|
|
60
60
|
executionCache: HashedValuesCache;
|
|
61
61
|
noteCache: ExecutionNoteCache;
|
|
62
62
|
taggingIndexCache: ExecutionTaggingIndexCache;
|
|
@@ -87,7 +87,7 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
|
|
|
87
87
|
|
|
88
88
|
private readonly argsHash: Fr;
|
|
89
89
|
private readonly txContext: TxContext;
|
|
90
|
-
private readonly
|
|
90
|
+
private readonly protocolNullifier: Fr;
|
|
91
91
|
private readonly executionCache: HashedValuesCache;
|
|
92
92
|
private readonly noteCache: ExecutionNoteCache;
|
|
93
93
|
private readonly taggingIndexCache: ExecutionTaggingIndexCache;
|
|
@@ -104,7 +104,7 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
|
|
|
104
104
|
});
|
|
105
105
|
this.argsHash = args.argsHash;
|
|
106
106
|
this.txContext = args.txContext;
|
|
107
|
-
this.
|
|
107
|
+
this.protocolNullifier = args.protocolNullifier;
|
|
108
108
|
this.executionCache = args.executionCache;
|
|
109
109
|
this.noteCache = args.noteCache;
|
|
110
110
|
this.taggingIndexCache = args.taggingIndexCache;
|
|
@@ -120,7 +120,7 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
|
|
|
120
120
|
this.anchorBlockHeader,
|
|
121
121
|
this.txContext,
|
|
122
122
|
this.initialSideEffectCounter,
|
|
123
|
-
this.
|
|
123
|
+
this.protocolNullifier,
|
|
124
124
|
);
|
|
125
125
|
}
|
|
126
126
|
|
|
@@ -690,7 +690,7 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
|
|
|
690
690
|
const privateExecutionOracle = new PrivateExecutionOracle({
|
|
691
691
|
argsHash,
|
|
692
692
|
txContext: derivedTxContext,
|
|
693
|
-
|
|
693
|
+
protocolNullifier: this.protocolNullifier,
|
|
694
694
|
callContext: derivedCallContext,
|
|
695
695
|
anchorBlockHeader: this.anchorBlockHeader,
|
|
696
696
|
utilityExecutor: this.utilityExecutor,
|