@aztec/entrypoints 0.0.1-commit.993d52e → 0.0.1-commit.9a89641
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/account_entrypoint.d.ts +2 -2
- package/dest/account_entrypoint.d.ts.map +1 -1
- package/dest/account_entrypoint.js +11 -8
- package/dest/default_entrypoint.d.ts +2 -2
- package/dest/default_entrypoint.d.ts.map +1 -1
- package/dest/default_entrypoint.js +1 -1
- package/dest/default_multi_call_entrypoint.d.ts +2 -2
- package/dest/default_multi_call_entrypoint.d.ts.map +1 -1
- package/dest/default_multi_call_entrypoint.js +5 -6
- package/dest/encoding.js +1 -1
- package/dest/interfaces.d.ts +6 -11
- package/dest/interfaces.d.ts.map +1 -1
- package/package.json +7 -6
- package/src/account_entrypoint.ts +21 -7
- package/src/default_entrypoint.ts +1 -1
- package/src/default_multi_call_entrypoint.ts +11 -6
- package/src/encoding.ts +1 -1
- package/src/interfaces.ts +2 -1
|
@@ -53,7 +53,7 @@ export declare class DefaultAccountEntrypoint implements EntrypointInterface {
|
|
|
53
53
|
private auth;
|
|
54
54
|
constructor(address: AztecAddress, auth: AuthWitnessProvider);
|
|
55
55
|
createTxExecutionRequest(exec: ExecutionPayload, gasSettings: GasSettings, chainInfo: ChainInfo, options: DefaultAccountEntrypointOptions): Promise<TxExecutionRequest>;
|
|
56
|
-
wrapExecutionPayload(exec: ExecutionPayload, options: DefaultAccountEntrypointOptions): Promise<ExecutionPayload>;
|
|
56
|
+
wrapExecutionPayload(exec: ExecutionPayload, chainInfo: ChainInfo, options: DefaultAccountEntrypointOptions): Promise<ExecutionPayload>;
|
|
57
57
|
private getEntrypointAbi;
|
|
58
58
|
}
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudF9lbnRyeXBvaW50LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYWNjb3VudF9lbnRyeXBvaW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQVNwRCxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQTJCLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFHakcsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFM0Y7O0dBRUc7QUFDSCxvQkFBWSw4QkFBOEI7SUFDeEM7O09BRUc7SUFDSCxRQUFRLElBQUk7SUFDWjs7Ozs7T0FLRztJQUNILHFCQUFxQixJQUFJO0lBQ3pCOzs7Ozs7O09BT0c7SUFDSCxvQkFBb0IsSUFBSTtDQUN6QjtBQUVEOztHQUVHO0FBQ0gsTUFBTSxNQUFNLCtCQUErQixHQUFHO0lBQzVDLGdEQUFnRDtJQUNoRCxXQUFXLENBQUMsRUFBRSxPQUFPLENBQUM7SUFDdEI7Ozs7T0FJRztJQUNILE9BQU8sQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUNiLDRHQUE0RztJQUM1Ryx1QkFBdUIsRUFBRSw4QkFBOEIsQ0FBQztDQUN6RCxDQUFDO0FBRUY7OztHQUdHO0FBQ0gscUJBQWEsd0JBQXlCLFlBQVcsbUJBQW1COztJQUVoRSxPQUFPLENBQUMsT0FBTztJQUNmLE9BQU8sQ0FBQyxJQUFJO0lBRmQsWUFDVSxPQUFPLEVBQUUsWUFBWSxFQUNyQixJQUFJLEVBQUUsbUJBQW1CLEVBQy9CO0lBRUUsd0JBQXdCLENBQzVCLElBQUksRUFBRSxnQkFBZ0IsRUFDdEIsV0FBVyxFQUFFLFdBQVcsRUFDeEIsU0FBUyxFQUFFLFNBQVMsRUFDcEIsT0FBTyxFQUFFLCtCQUErQixHQUN2QyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FnQjdCO0lBRUssb0JBQW9CLENBQ3hCLElBQUksRUFBRSxnQkFBZ0IsRUFDdEIsU0FBUyxFQUFFLFNBQVMsRUFDcEIsT0FBTyxFQUFFLCtCQUErQixHQUN2QyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0F1QjNCO0lBdUNELE9BQU8sQ0FBQyxnQkFBZ0I7Q0EwRHpCIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account_entrypoint.d.ts","sourceRoot":"","sources":["../src/account_entrypoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"account_entrypoint.d.ts","sourceRoot":"","sources":["../src/account_entrypoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AASpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAA2B,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAGjG,OAAO,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAE3F;;GAEG;AACH,oBAAY,8BAA8B;IACxC;;OAEG;IACH,QAAQ,IAAI;IACZ;;;;;OAKG;IACH,qBAAqB,IAAI;IACzB;;;;;;;OAOG;IACH,oBAAoB,IAAI;CACzB;AAED;;GAEG;AACH,MAAM,MAAM,+BAA+B,GAAG;IAC5C,gDAAgD;IAChD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;OAIG;IACH,OAAO,CAAC,EAAE,EAAE,CAAC;IACb,4GAA4G;IAC5G,uBAAuB,EAAE,8BAA8B,CAAC;CACzD,CAAC;AAEF;;;GAGG;AACH,qBAAa,wBAAyB,YAAW,mBAAmB;;IAEhE,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,IAAI;IAFd,YACU,OAAO,EAAE,YAAY,EACrB,IAAI,EAAE,mBAAmB,EAC/B;IAEE,wBAAwB,CAC5B,IAAI,EAAE,gBAAgB,EACtB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,+BAA+B,GACvC,OAAO,CAAC,kBAAkB,CAAC,CAgB7B;IAEK,oBAAoB,CACxB,IAAI,EAAE,gBAAgB,EACtB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,+BAA+B,GACvC,OAAO,CAAC,gBAAgB,CAAC,CAuB3B;IAuCD,OAAO,CAAC,gBAAgB;CA0DzB"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
|
-
import { FunctionCall, FunctionSelector, encodeArguments } from '@aztec/stdlib/abi';
|
|
2
|
+
import { FunctionCall, FunctionSelector, encodeArguments, getFunctionReturnType } from '@aztec/stdlib/abi';
|
|
3
|
+
import { computeOuterAuthWitHash } from '@aztec/stdlib/auth-witness';
|
|
3
4
|
import { ExecutionPayload, HashedValues, TxContext, TxExecutionRequest } from '@aztec/stdlib/tx';
|
|
4
5
|
import { EncodedAppEntrypointCalls } from './encoding.js';
|
|
5
6
|
/**
|
|
@@ -36,7 +37,7 @@ import { EncodedAppEntrypointCalls } from './encoding.js';
|
|
|
36
37
|
}
|
|
37
38
|
async createTxExecutionRequest(exec, gasSettings, chainInfo, options) {
|
|
38
39
|
const { authWitnesses, capsules, extraHashedArgs } = exec;
|
|
39
|
-
const callData = await this.#buildEntrypointCallData(exec, options);
|
|
40
|
+
const callData = await this.#buildEntrypointCallData(exec, chainInfo, options);
|
|
40
41
|
const entrypointHashedArgs = await HashedValues.fromArgs(callData.encodedArgs);
|
|
41
42
|
const txRequest = TxExecutionRequest.from({
|
|
42
43
|
firstCallArgsHash: entrypointHashedArgs.hash,
|
|
@@ -57,9 +58,9 @@ import { EncodedAppEntrypointCalls } from './encoding.js';
|
|
|
57
58
|
});
|
|
58
59
|
return txRequest;
|
|
59
60
|
}
|
|
60
|
-
async wrapExecutionPayload(exec, options) {
|
|
61
|
+
async wrapExecutionPayload(exec, chainInfo, options) {
|
|
61
62
|
const { authWitnesses, capsules, extraHashedArgs, feePayer } = exec;
|
|
62
|
-
const callData = await this.#buildEntrypointCallData(exec, options);
|
|
63
|
+
const callData = await this.#buildEntrypointCallData(exec, chainInfo, options);
|
|
63
64
|
// Build the entrypoint function call
|
|
64
65
|
const entrypointCall = FunctionCall.from({
|
|
65
66
|
name: callData.abi.name,
|
|
@@ -69,7 +70,7 @@ import { EncodedAppEntrypointCalls } from './encoding.js';
|
|
|
69
70
|
hideMsgSender: false,
|
|
70
71
|
isStatic: callData.abi.isStatic,
|
|
71
72
|
args: callData.encodedArgs,
|
|
72
|
-
|
|
73
|
+
returnType: getFunctionReturnType(callData.abi)
|
|
73
74
|
});
|
|
74
75
|
return new ExecutionPayload([
|
|
75
76
|
entrypointCall
|
|
@@ -85,9 +86,10 @@ import { EncodedAppEntrypointCalls } from './encoding.js';
|
|
|
85
86
|
* Builds the shared data needed for both creating a tx execution request and wrapping an execution payload.
|
|
86
87
|
* This includes encoding calls, building entrypoint arguments, and creating the authwitness.
|
|
87
88
|
* @param exec - The execution payload containing calls to encode
|
|
89
|
+
* @param chainInfo - Chain information (chainId and version) for replay protection
|
|
88
90
|
* @param options - Account entrypoint options including tx nonce and fee payment method
|
|
89
91
|
* @returns Encoded call data, ABI, function selector, and auth witness
|
|
90
|
-
*/ async #buildEntrypointCallData(exec, options) {
|
|
92
|
+
*/ async #buildEntrypointCallData(exec, chainInfo, options) {
|
|
91
93
|
const { calls } = exec;
|
|
92
94
|
const { cancellable, txNonce, feePaymentMethodOptions } = options;
|
|
93
95
|
const encodedCalls = await EncodedAppEntrypointCalls.create(calls, txNonce);
|
|
@@ -99,7 +101,9 @@ import { EncodedAppEntrypointCalls } from './encoding.js';
|
|
|
99
101
|
];
|
|
100
102
|
const encodedArgs = encodeArguments(abi, args);
|
|
101
103
|
const functionSelector = await FunctionSelector.fromNameAndParameters(abi.name, abi.parameters);
|
|
102
|
-
const
|
|
104
|
+
const payloadHash = await encodedCalls.hash();
|
|
105
|
+
const messageHash = await computeOuterAuthWitHash(this.address, chainInfo.chainId, chainInfo.version, payloadHash);
|
|
106
|
+
const payloadAuthWitness = await this.auth.createAuthWit(messageHash);
|
|
103
107
|
return {
|
|
104
108
|
encodedCalls,
|
|
105
109
|
abi,
|
|
@@ -216,7 +220,6 @@ import { EncodedAppEntrypointCalls } from './encoding.js';
|
|
|
216
220
|
}
|
|
217
221
|
}
|
|
218
222
|
],
|
|
219
|
-
returnTypes: [],
|
|
220
223
|
errorTypes: {}
|
|
221
224
|
};
|
|
222
225
|
}
|
|
@@ -6,6 +6,6 @@ import type { ChainInfo, EntrypointInterface } from './interfaces.js';
|
|
|
6
6
|
*/
|
|
7
7
|
export declare class DefaultEntrypoint implements EntrypointInterface {
|
|
8
8
|
createTxExecutionRequest(exec: ExecutionPayload, gasSettings: GasSettings, chainInfo: ChainInfo): Promise<TxExecutionRequest>;
|
|
9
|
-
wrapExecutionPayload(exec: ExecutionPayload, _options?: any): Promise<ExecutionPayload>;
|
|
9
|
+
wrapExecutionPayload(exec: ExecutionPayload, _chainInfo: ChainInfo, _options?: any): Promise<ExecutionPayload>;
|
|
10
10
|
}
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdF9lbnRyeXBvaW50LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZGVmYXVsdF9lbnRyeXBvaW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxnQkFBZ0IsRUFBMkIsa0JBQWtCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVqRyxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV0RTs7R0FFRztBQUNILHFCQUFhLGlCQUFrQixZQUFXLG1CQUFtQjtJQUNyRCx3QkFBd0IsQ0FDNUIsSUFBSSxFQUFFLGdCQUFnQixFQUN0QixXQUFXLEVBQUUsV0FBVyxFQUN4QixTQUFTLEVBQUUsU0FBUyxHQUNuQixPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0EyQjdCO0lBRUssb0JBQW9CLENBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsUUFBUSxDQUFDLEVBQUUsR0FBRyxHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQWdCbkg7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default_entrypoint.d.ts","sourceRoot":"","sources":["../src/default_entrypoint.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAA2B,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEjG,OAAO,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtE;;GAEG;AACH,qBAAa,iBAAkB,YAAW,mBAAmB;IACrD,wBAAwB,CAC5B,IAAI,EAAE,gBAAgB,EACtB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,kBAAkB,CAAC,CA2B7B;IAEK,oBAAoB,CAAC,IAAI,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,gBAAgB,CAAC,
|
|
1
|
+
{"version":3,"file":"default_entrypoint.d.ts","sourceRoot":"","sources":["../src/default_entrypoint.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAA2B,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEjG,OAAO,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtE;;GAEG;AACH,qBAAa,iBAAkB,YAAW,mBAAmB;IACrD,wBAAwB,CAC5B,IAAI,EAAE,gBAAgB,EACtB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,kBAAkB,CAAC,CA2B7B;IAEK,oBAAoB,CAAC,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAgBnH;CACF"}
|
|
@@ -23,7 +23,7 @@ import { ExecutionPayload, HashedValues, TxContext, TxExecutionRequest } from '@
|
|
|
23
23
|
...extraHashedArgs
|
|
24
24
|
], authWitnesses, capsules);
|
|
25
25
|
}
|
|
26
|
-
async wrapExecutionPayload(exec, _options) {
|
|
26
|
+
async wrapExecutionPayload(exec, _chainInfo, _options) {
|
|
27
27
|
if (exec.calls.length !== 1) {
|
|
28
28
|
throw new Error(`DefaultEntrypoint can only wrap a single call, got ${exec.calls.length}`);
|
|
29
29
|
}
|
|
@@ -10,7 +10,7 @@ export declare class DefaultMultiCallEntrypoint implements EntrypointInterface {
|
|
|
10
10
|
private address;
|
|
11
11
|
constructor(address?: AztecAddress);
|
|
12
12
|
createTxExecutionRequest(exec: ExecutionPayload, gasSettings: GasSettings, chainInfo: ChainInfo): Promise<TxExecutionRequest>;
|
|
13
|
-
wrapExecutionPayload(exec: ExecutionPayload, _options?: any): Promise<ExecutionPayload>;
|
|
13
|
+
wrapExecutionPayload(exec: ExecutionPayload, _chainInfo: ChainInfo, _options?: any): Promise<ExecutionPayload>;
|
|
14
14
|
private getEntrypointAbi;
|
|
15
15
|
}
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdF9tdWx0aV9jYWxsX2VudHJ5cG9pbnQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9kZWZhdWx0X211bHRpX2NhbGxfZW50cnlwb2ludC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFTQSxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQTJCLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFHakcsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFdEU7O0dBRUc7QUFDSCxxQkFBYSwwQkFBMkIsWUFBVyxtQkFBbUI7O0lBQ3hELE9BQU8sQ0FBQyxPQUFPO0lBQTNCLFlBQW9CLE9BQU8sR0FBRSxZQUFxRCxFQUFJO0lBRWhGLHdCQUF3QixDQUM1QixJQUFJLEVBQUUsZ0JBQWdCLEVBQ3RCLFdBQVcsRUFBRSxXQUFXLEVBQ3hCLFNBQVMsRUFBRSxTQUFTLEdBQ25CLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQWlCN0I7SUFFSyxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxRQUFRLENBQUMsRUFBRSxHQUFHLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBcUJuSDtJQTBCRCxPQUFPLENBQUMsZ0JBQWdCO0NBd0R6QiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default_multi_call_entrypoint.d.ts","sourceRoot":"","sources":["../src/default_multi_call_entrypoint.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"default_multi_call_entrypoint.d.ts","sourceRoot":"","sources":["../src/default_multi_call_entrypoint.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAA2B,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAGjG,OAAO,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtE;;GAEG;AACH,qBAAa,0BAA2B,YAAW,mBAAmB;;IACxD,OAAO,CAAC,OAAO;IAA3B,YAAoB,OAAO,GAAE,YAAqD,EAAI;IAEhF,wBAAwB,CAC5B,IAAI,EAAE,gBAAgB,EACtB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,kBAAkB,CAAC,CAiB7B;IAEK,oBAAoB,CAAC,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAqBnH;IA0BD,OAAO,CAAC,gBAAgB;CAwDzB"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
|
-
import {
|
|
3
|
-
import { FunctionCall, FunctionSelector, encodeArguments } from '@aztec/stdlib/abi';
|
|
2
|
+
import { STANDARD_MULTI_CALL_ENTRYPOINT_ADDRESS } from '@aztec/standard-contracts/multi-call-entrypoint/constants';
|
|
3
|
+
import { FunctionCall, FunctionSelector, encodeArguments, getFunctionReturnType } from '@aztec/stdlib/abi';
|
|
4
4
|
import { ExecutionPayload, HashedValues, TxContext, TxExecutionRequest } from '@aztec/stdlib/tx';
|
|
5
5
|
import { EncodedAppEntrypointCalls } from './encoding.js';
|
|
6
6
|
/**
|
|
7
7
|
* Implementation for an entrypoint interface that can execute multiple function calls in a single transaction
|
|
8
8
|
*/ export class DefaultMultiCallEntrypoint {
|
|
9
9
|
address;
|
|
10
|
-
constructor(address =
|
|
10
|
+
constructor(address = STANDARD_MULTI_CALL_ENTRYPOINT_ADDRESS){
|
|
11
11
|
this.address = address;
|
|
12
12
|
}
|
|
13
13
|
async createTxExecutionRequest(exec, gasSettings, chainInfo) {
|
|
@@ -30,7 +30,7 @@ import { EncodedAppEntrypointCalls } from './encoding.js';
|
|
|
30
30
|
});
|
|
31
31
|
return Promise.resolve(txRequest);
|
|
32
32
|
}
|
|
33
|
-
async wrapExecutionPayload(exec, _options) {
|
|
33
|
+
async wrapExecutionPayload(exec, _chainInfo, _options) {
|
|
34
34
|
const { authWitnesses, capsules, extraHashedArgs } = exec;
|
|
35
35
|
const callData = await this.#buildEntrypointCallData(exec);
|
|
36
36
|
const entrypointCall = FunctionCall.from({
|
|
@@ -41,7 +41,7 @@ import { EncodedAppEntrypointCalls } from './encoding.js';
|
|
|
41
41
|
hideMsgSender: false,
|
|
42
42
|
isStatic: callData.abi.isStatic,
|
|
43
43
|
args: callData.encodedArgs,
|
|
44
|
-
|
|
44
|
+
returnType: getFunctionReturnType(callData.abi)
|
|
45
45
|
});
|
|
46
46
|
return new ExecutionPayload([
|
|
47
47
|
entrypointCall
|
|
@@ -164,7 +164,6 @@ import { EncodedAppEntrypointCalls } from './encoding.js';
|
|
|
164
164
|
visibility: 'public'
|
|
165
165
|
}
|
|
166
166
|
],
|
|
167
|
-
returnTypes: [],
|
|
168
167
|
errorTypes: {}
|
|
169
168
|
};
|
|
170
169
|
}
|
package/dest/encoding.js
CHANGED
|
@@ -5,7 +5,7 @@ import { Fr } from '@aztec/foundation/curves/bn254';
|
|
|
5
5
|
import { FunctionCall, FunctionType } from '@aztec/stdlib/abi';
|
|
6
6
|
import { HashedValues } from '@aztec/stdlib/tx';
|
|
7
7
|
// These must match the values defined in:
|
|
8
|
-
// - noir-projects/aztec-nr/aztec/src/entrypoint/app.nr
|
|
8
|
+
// - noir-projects/labs/aztec-nr/aztec/src/authwit/entrypoint/app.nr
|
|
9
9
|
export const APP_MAX_CALLS = 5;
|
|
10
10
|
/**
|
|
11
11
|
* Entrypoints derive their arguments from the calls that they'll ultimate make.
|
package/dest/interfaces.d.ts
CHANGED
|
@@ -17,15 +17,9 @@ export type ChainInfo = {
|
|
|
17
17
|
* Zod schema for ChainInfo
|
|
18
18
|
*/
|
|
19
19
|
export declare const ChainInfoSchema: z.ZodObject<{
|
|
20
|
-
chainId: z.ZodType<Fr,
|
|
21
|
-
version: z.ZodType<Fr,
|
|
22
|
-
},
|
|
23
|
-
chainId: Fr;
|
|
24
|
-
version: Fr;
|
|
25
|
-
}, {
|
|
26
|
-
chainId: string;
|
|
27
|
-
version: string;
|
|
28
|
-
}>;
|
|
20
|
+
chainId: z.ZodType<Fr, string, z.core.$ZodTypeInternals<Fr, string>>;
|
|
21
|
+
version: z.ZodType<Fr, string, z.core.$ZodTypeInternals<Fr, string>>;
|
|
22
|
+
}, z.core.$strip>;
|
|
29
23
|
/**
|
|
30
24
|
* Creates transaction execution requests out of a set of function calls, a fee payment method and
|
|
31
25
|
* general options for the transaction
|
|
@@ -47,11 +41,12 @@ export interface EntrypointInterface {
|
|
|
47
41
|
* of a single entrypoint call.
|
|
48
42
|
*
|
|
49
43
|
* @param exec - The execution payload to wrap
|
|
44
|
+
* @param chainInfo - Chain information (chainId and version) for replay protection
|
|
50
45
|
* @param options - Implementation-specific options
|
|
51
46
|
* @returns A new execution payload with a single call to this entrypoint
|
|
52
47
|
* @throws Error if the payload cannot be wrapped (e.g., exceeds call limit)
|
|
53
48
|
*/
|
|
54
|
-
wrapExecutionPayload(exec: ExecutionPayload, options?: any): Promise<ExecutionPayload>;
|
|
49
|
+
wrapExecutionPayload(exec: ExecutionPayload, chainInfo: ChainInfo, options?: any): Promise<ExecutionPayload>;
|
|
55
50
|
}
|
|
56
51
|
/** Creates authorization witnesses. */
|
|
57
52
|
export interface AuthWitnessProvider {
|
|
@@ -62,4 +57,4 @@ export interface AuthWitnessProvider {
|
|
|
62
57
|
*/
|
|
63
58
|
createAuthWit(messageHash: Fr | Buffer): Promise<AuthWitness>;
|
|
64
59
|
}
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2ludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3JELE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFN0UsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4Qjs7O0dBR0c7QUFDSCxNQUFNLE1BQU0sU0FBUyxHQUFHO0lBQ3RCLHNCQUFzQjtJQUN0QixPQUFPLEVBQUUsRUFBRSxDQUFDO0lBQ1osaUNBQWlDO0lBQ2pDLE9BQU8sRUFBRSxFQUFFLENBQUM7Q0FDYixDQUFDO0FBRUY7O0dBRUc7QUFDSCxlQUFPLE1BQU0sZUFBZTs7O2lCQUcxQixDQUFDO0FBRUg7OztHQUdHO0FBQ0gsTUFBTSxXQUFXLG1CQUFtQjtJQUNsQzs7Ozs7OztPQU9HO0lBQ0gsd0JBQXdCLENBQ3RCLElBQUksRUFBRSxnQkFBZ0IsRUFDdEIsV0FBVyxFQUFFLFdBQVcsRUFDeEIsU0FBUyxFQUFFLFNBQVMsRUFDcEIsT0FBTyxDQUFDLEVBQUUsR0FBRyxHQUNaLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBRS9COzs7Ozs7Ozs7OztPQVdHO0lBQ0gsb0JBQW9CLENBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLEVBQUUsR0FBRyxHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0NBQzlHO0FBRUQsdUNBQXVDO0FBQ3ZDLE1BQU0sV0FBVyxtQkFBbUI7SUFDbEM7Ozs7T0FJRztJQUNILGFBQWEsQ0FBQyxXQUFXLEVBQUUsRUFBRSxHQUFHLE1BQU0sR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7Q0FDL0QifQ==
|
package/dest/interfaces.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE7E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,sBAAsB;IACtB,OAAO,EAAE,EAAE,CAAC;IACZ,iCAAiC;IACjC,OAAO,EAAE,EAAE,CAAC;CACb,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE7E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,sBAAsB;IACtB,OAAO,EAAE,EAAE,CAAC;IACZ,iCAAiC;IACjC,OAAO,EAAE,EAAE,CAAC;CACb,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe;;;iBAG1B,CAAC;AAEH;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;;;;OAOG;IACH,wBAAwB,CACtB,IAAI,EAAE,gBAAgB,EACtB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,EACpB,OAAO,CAAC,EAAE,GAAG,GACZ,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAE/B;;;;;;;;;;;OAWG;IACH,oBAAoB,CAAC,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAC9G;AAED,uCAAuC;AACvC,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,aAAa,CAAC,WAAW,EAAE,EAAE,GAAG,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;CAC/D"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@aztec/entrypoints",
|
|
3
3
|
"homepage": "https://github.com/AztecProtocol/aztec-packages/tree/master/yarn-project/entrypoints",
|
|
4
4
|
"description": "Implementation of sample contract entrypoints for the Aztec Network",
|
|
5
|
-
"version": "0.0.1-commit.
|
|
5
|
+
"version": "0.0.1-commit.9a89641",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"exports": {
|
|
8
8
|
"./account": "./dest/account_entrypoint.js",
|
|
@@ -67,12 +67,13 @@
|
|
|
67
67
|
]
|
|
68
68
|
},
|
|
69
69
|
"dependencies": {
|
|
70
|
-
"@aztec/constants": "0.0.1-commit.
|
|
71
|
-
"@aztec/foundation": "0.0.1-commit.
|
|
72
|
-
"@aztec/protocol-contracts": "0.0.1-commit.
|
|
73
|
-
"@aztec/
|
|
70
|
+
"@aztec/constants": "0.0.1-commit.9a89641",
|
|
71
|
+
"@aztec/foundation": "0.0.1-commit.9a89641",
|
|
72
|
+
"@aztec/protocol-contracts": "0.0.1-commit.9a89641",
|
|
73
|
+
"@aztec/standard-contracts": "0.0.1-commit.9a89641",
|
|
74
|
+
"@aztec/stdlib": "0.0.1-commit.9a89641",
|
|
74
75
|
"tslib": "^2.4.0",
|
|
75
|
-
"zod": "^
|
|
76
|
+
"zod": "^4"
|
|
76
77
|
},
|
|
77
78
|
"devDependencies": {
|
|
78
79
|
"@jest/globals": "^30.0.0",
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
type FunctionAbi,
|
|
4
|
+
FunctionCall,
|
|
5
|
+
FunctionSelector,
|
|
6
|
+
encodeArguments,
|
|
7
|
+
getFunctionReturnType,
|
|
8
|
+
} from '@aztec/stdlib/abi';
|
|
9
|
+
import { computeOuterAuthWitHash } from '@aztec/stdlib/auth-witness';
|
|
3
10
|
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
4
11
|
import type { GasSettings } from '@aztec/stdlib/gas';
|
|
5
12
|
import { ExecutionPayload, HashedValues, TxContext, TxExecutionRequest } from '@aztec/stdlib/tx';
|
|
@@ -66,7 +73,7 @@ export class DefaultAccountEntrypoint implements EntrypointInterface {
|
|
|
66
73
|
options: DefaultAccountEntrypointOptions,
|
|
67
74
|
): Promise<TxExecutionRequest> {
|
|
68
75
|
const { authWitnesses, capsules, extraHashedArgs } = exec;
|
|
69
|
-
const callData = await this.#buildEntrypointCallData(exec, options);
|
|
76
|
+
const callData = await this.#buildEntrypointCallData(exec, chainInfo, options);
|
|
70
77
|
const entrypointHashedArgs = await HashedValues.fromArgs(callData.encodedArgs);
|
|
71
78
|
const txRequest = TxExecutionRequest.from({
|
|
72
79
|
firstCallArgsHash: entrypointHashedArgs.hash,
|
|
@@ -84,10 +91,11 @@ export class DefaultAccountEntrypoint implements EntrypointInterface {
|
|
|
84
91
|
|
|
85
92
|
async wrapExecutionPayload(
|
|
86
93
|
exec: ExecutionPayload,
|
|
94
|
+
chainInfo: ChainInfo,
|
|
87
95
|
options: DefaultAccountEntrypointOptions,
|
|
88
96
|
): Promise<ExecutionPayload> {
|
|
89
97
|
const { authWitnesses, capsules, extraHashedArgs, feePayer } = exec;
|
|
90
|
-
const callData = await this.#buildEntrypointCallData(exec, options);
|
|
98
|
+
const callData = await this.#buildEntrypointCallData(exec, chainInfo, options);
|
|
91
99
|
|
|
92
100
|
// Build the entrypoint function call
|
|
93
101
|
const entrypointCall = FunctionCall.from({
|
|
@@ -98,7 +106,7 @@ export class DefaultAccountEntrypoint implements EntrypointInterface {
|
|
|
98
106
|
hideMsgSender: false,
|
|
99
107
|
isStatic: callData.abi.isStatic,
|
|
100
108
|
args: callData.encodedArgs,
|
|
101
|
-
|
|
109
|
+
returnType: getFunctionReturnType(callData.abi),
|
|
102
110
|
});
|
|
103
111
|
|
|
104
112
|
return new ExecutionPayload(
|
|
@@ -114,10 +122,15 @@ export class DefaultAccountEntrypoint implements EntrypointInterface {
|
|
|
114
122
|
* Builds the shared data needed for both creating a tx execution request and wrapping an execution payload.
|
|
115
123
|
* This includes encoding calls, building entrypoint arguments, and creating the authwitness.
|
|
116
124
|
* @param exec - The execution payload containing calls to encode
|
|
125
|
+
* @param chainInfo - Chain information (chainId and version) for replay protection
|
|
117
126
|
* @param options - Account entrypoint options including tx nonce and fee payment method
|
|
118
127
|
* @returns Encoded call data, ABI, function selector, and auth witness
|
|
119
128
|
*/
|
|
120
|
-
async #buildEntrypointCallData(
|
|
129
|
+
async #buildEntrypointCallData(
|
|
130
|
+
exec: ExecutionPayload,
|
|
131
|
+
chainInfo: ChainInfo,
|
|
132
|
+
options: DefaultAccountEntrypointOptions,
|
|
133
|
+
) {
|
|
121
134
|
const { calls } = exec;
|
|
122
135
|
const { cancellable, txNonce, feePaymentMethodOptions } = options;
|
|
123
136
|
|
|
@@ -129,7 +142,9 @@ export class DefaultAccountEntrypoint implements EntrypointInterface {
|
|
|
129
142
|
|
|
130
143
|
const functionSelector = await FunctionSelector.fromNameAndParameters(abi.name, abi.parameters);
|
|
131
144
|
|
|
132
|
-
const
|
|
145
|
+
const payloadHash = await encodedCalls.hash();
|
|
146
|
+
const messageHash = await computeOuterAuthWitHash(this.address, chainInfo.chainId, chainInfo.version, payloadHash);
|
|
147
|
+
const payloadAuthWitness = await this.auth.createAuthWit(messageHash);
|
|
133
148
|
|
|
134
149
|
return {
|
|
135
150
|
encodedCalls,
|
|
@@ -195,7 +210,6 @@ export class DefaultAccountEntrypoint implements EntrypointInterface {
|
|
|
195
210
|
{ name: 'fee_payment_method', type: { kind: 'integer', sign: 'unsigned', width: 8 } },
|
|
196
211
|
{ name: 'cancellable', type: { kind: 'boolean' } },
|
|
197
212
|
],
|
|
198
|
-
returnTypes: [],
|
|
199
213
|
errorTypes: {},
|
|
200
214
|
} as FunctionAbi;
|
|
201
215
|
}
|
|
@@ -41,7 +41,7 @@ export class DefaultEntrypoint implements EntrypointInterface {
|
|
|
41
41
|
);
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
-
async wrapExecutionPayload(exec: ExecutionPayload, _options?: any): Promise<ExecutionPayload> {
|
|
44
|
+
async wrapExecutionPayload(exec: ExecutionPayload, _chainInfo: ChainInfo, _options?: any): Promise<ExecutionPayload> {
|
|
45
45
|
if (exec.calls.length !== 1) {
|
|
46
46
|
throw new Error(`DefaultEntrypoint can only wrap a single call, got ${exec.calls.length}`);
|
|
47
47
|
}
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { STANDARD_MULTI_CALL_ENTRYPOINT_ADDRESS } from '@aztec/standard-contracts/multi-call-entrypoint/constants';
|
|
3
|
+
import {
|
|
4
|
+
type FunctionAbi,
|
|
5
|
+
FunctionCall,
|
|
6
|
+
FunctionSelector,
|
|
7
|
+
encodeArguments,
|
|
8
|
+
getFunctionReturnType,
|
|
9
|
+
} from '@aztec/stdlib/abi';
|
|
4
10
|
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
5
11
|
import type { GasSettings } from '@aztec/stdlib/gas';
|
|
6
12
|
import { ExecutionPayload, HashedValues, TxContext, TxExecutionRequest } from '@aztec/stdlib/tx';
|
|
@@ -12,7 +18,7 @@ import type { ChainInfo, EntrypointInterface } from './interfaces.js';
|
|
|
12
18
|
* Implementation for an entrypoint interface that can execute multiple function calls in a single transaction
|
|
13
19
|
*/
|
|
14
20
|
export class DefaultMultiCallEntrypoint implements EntrypointInterface {
|
|
15
|
-
constructor(private address: AztecAddress =
|
|
21
|
+
constructor(private address: AztecAddress = STANDARD_MULTI_CALL_ENTRYPOINT_ADDRESS) {}
|
|
16
22
|
|
|
17
23
|
async createTxExecutionRequest(
|
|
18
24
|
exec: ExecutionPayload,
|
|
@@ -37,7 +43,7 @@ export class DefaultMultiCallEntrypoint implements EntrypointInterface {
|
|
|
37
43
|
return Promise.resolve(txRequest);
|
|
38
44
|
}
|
|
39
45
|
|
|
40
|
-
async wrapExecutionPayload(exec: ExecutionPayload, _options?: any): Promise<ExecutionPayload> {
|
|
46
|
+
async wrapExecutionPayload(exec: ExecutionPayload, _chainInfo: ChainInfo, _options?: any): Promise<ExecutionPayload> {
|
|
41
47
|
const { authWitnesses, capsules, extraHashedArgs } = exec;
|
|
42
48
|
const callData = await this.#buildEntrypointCallData(exec);
|
|
43
49
|
const entrypointCall = FunctionCall.from({
|
|
@@ -48,7 +54,7 @@ export class DefaultMultiCallEntrypoint implements EntrypointInterface {
|
|
|
48
54
|
hideMsgSender: false,
|
|
49
55
|
isStatic: callData.abi.isStatic,
|
|
50
56
|
args: callData.encodedArgs,
|
|
51
|
-
|
|
57
|
+
returnType: getFunctionReturnType(callData.abi),
|
|
52
58
|
});
|
|
53
59
|
|
|
54
60
|
return new ExecutionPayload(
|
|
@@ -137,7 +143,6 @@ export class DefaultMultiCallEntrypoint implements EntrypointInterface {
|
|
|
137
143
|
visibility: 'public',
|
|
138
144
|
},
|
|
139
145
|
],
|
|
140
|
-
returnTypes: [],
|
|
141
146
|
errorTypes: {},
|
|
142
147
|
} as FunctionAbi;
|
|
143
148
|
}
|
package/src/encoding.ts
CHANGED
|
@@ -7,7 +7,7 @@ import { FunctionCall, FunctionType } from '@aztec/stdlib/abi';
|
|
|
7
7
|
import { HashedValues } from '@aztec/stdlib/tx';
|
|
8
8
|
|
|
9
9
|
// These must match the values defined in:
|
|
10
|
-
// - noir-projects/aztec-nr/aztec/src/entrypoint/app.nr
|
|
10
|
+
// - noir-projects/labs/aztec-nr/aztec/src/authwit/entrypoint/app.nr
|
|
11
11
|
export const APP_MAX_CALLS = 5;
|
|
12
12
|
|
|
13
13
|
/** Encoded function call for an Aztec entrypoint */
|
package/src/interfaces.ts
CHANGED
|
@@ -51,11 +51,12 @@ export interface EntrypointInterface {
|
|
|
51
51
|
* of a single entrypoint call.
|
|
52
52
|
*
|
|
53
53
|
* @param exec - The execution payload to wrap
|
|
54
|
+
* @param chainInfo - Chain information (chainId and version) for replay protection
|
|
54
55
|
* @param options - Implementation-specific options
|
|
55
56
|
* @returns A new execution payload with a single call to this entrypoint
|
|
56
57
|
* @throws Error if the payload cannot be wrapped (e.g., exceeds call limit)
|
|
57
58
|
*/
|
|
58
|
-
wrapExecutionPayload(exec: ExecutionPayload, options?: any): Promise<ExecutionPayload>;
|
|
59
|
+
wrapExecutionPayload(exec: ExecutionPayload, chainInfo: ChainInfo, options?: any): Promise<ExecutionPayload>;
|
|
59
60
|
}
|
|
60
61
|
|
|
61
62
|
/** Creates authorization witnesses. */
|