@aztec/entrypoints 0.76.4 → 0.77.0-testnet-ignition.17
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 +3 -3
- package/dest/account_entrypoint.d.ts.map +1 -1
- package/dest/account_entrypoint.js +135 -41
- package/dest/constants.js +2 -5
- package/dest/dapp_entrypoint.d.ts +3 -3
- package/dest/dapp_entrypoint.d.ts.map +1 -1
- package/dest/dapp_entrypoint.js +91 -31
- package/dest/index.js +1 -3
- package/package.json +7 -8
- package/src/account_entrypoint.ts +6 -5
- package/src/dapp_entrypoint.ts +7 -6
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { AuthWitnessProvider } from '@aztec/aztec.js/account';
|
|
2
2
|
import { type EntrypointInterface, type ExecutionRequestInit } from '@aztec/aztec.js/entrypoint';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
4
|
+
import { TxExecutionRequest } from '@aztec/stdlib/tx';
|
|
5
5
|
/**
|
|
6
6
|
* Implementation for an entrypoint interface that follows the default entrypoint signature
|
|
7
7
|
* for an account, which accepts an AppPayload and a FeePayload as defined in noir-libs/aztec-noir/src/entrypoint module
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account_entrypoint.d.ts","sourceRoot":"","sources":["../src/account_entrypoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"account_entrypoint.d.ts","sourceRoot":"","sources":["../src/account_entrypoint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EACL,KAAK,mBAAmB,EAExB,KAAK,oBAAoB,EAE1B,MAAM,4BAA4B,CAAC;AAEpC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAA2B,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAI/E;;;GAGG;AACH,qBAAa,wBAAyB,YAAW,mBAAmB;IAEhE,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,OAAO;gBAHP,OAAO,EAAE,YAAY,EACrB,IAAI,EAAE,mBAAmB,EACzB,OAAO,GAAE,MAAyB,EAClC,OAAO,GAAE,MAAwB;IAGrC,wBAAwB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA2BvF,OAAO,CAAC,gBAAgB;CAqGzB"}
|
|
@@ -1,33 +1,46 @@
|
|
|
1
|
-
import { EntrypointPayload, computeCombinedPayloadHash
|
|
2
|
-
import {
|
|
3
|
-
import { TxContext } from '@aztec/
|
|
4
|
-
import { FunctionSelector, encodeArguments } from '@aztec/foundation/abi';
|
|
1
|
+
import { EntrypointPayload, computeCombinedPayloadHash } from '@aztec/aztec.js/entrypoint';
|
|
2
|
+
import { FunctionSelector, encodeArguments } from '@aztec/stdlib/abi';
|
|
3
|
+
import { HashedValues, TxContext, TxExecutionRequest } from '@aztec/stdlib/tx';
|
|
5
4
|
import { DEFAULT_CHAIN_ID, DEFAULT_VERSION } from './constants.js';
|
|
6
5
|
/**
|
|
7
6
|
* Implementation for an entrypoint interface that follows the default entrypoint signature
|
|
8
7
|
* for an account, which accepts an AppPayload and a FeePayload as defined in noir-libs/aztec-noir/src/entrypoint module
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
*/ export class DefaultAccountEntrypoint {
|
|
9
|
+
address;
|
|
10
|
+
auth;
|
|
11
|
+
chainId;
|
|
12
|
+
version;
|
|
13
|
+
constructor(address, auth, chainId = DEFAULT_CHAIN_ID, version = DEFAULT_VERSION){
|
|
12
14
|
this.address = address;
|
|
13
15
|
this.auth = auth;
|
|
14
16
|
this.chainId = chainId;
|
|
15
17
|
this.version = version;
|
|
16
18
|
}
|
|
17
19
|
async createTxExecutionRequest(exec) {
|
|
18
|
-
const { calls, fee, nonce, cancellable } = exec;
|
|
20
|
+
const { calls, fee, nonce, cancellable, capsules = [] } = exec;
|
|
19
21
|
const appPayload = await EntrypointPayload.fromAppExecution(calls, nonce);
|
|
20
22
|
const feePayload = await EntrypointPayload.fromFeeOptions(this.address, fee);
|
|
21
23
|
const abi = this.getEntrypointAbi();
|
|
22
|
-
const entrypointHashedArgs = await HashedValues.fromValues(encodeArguments(abi, [
|
|
24
|
+
const entrypointHashedArgs = await HashedValues.fromValues(encodeArguments(abi, [
|
|
25
|
+
appPayload,
|
|
26
|
+
feePayload,
|
|
27
|
+
!!cancellable
|
|
28
|
+
]));
|
|
23
29
|
const combinedPayloadAuthWitness = await this.auth.createAuthWit(await computeCombinedPayloadHash(appPayload, feePayload));
|
|
24
30
|
const txRequest = TxExecutionRequest.from({
|
|
25
31
|
firstCallArgsHash: entrypointHashedArgs.hash,
|
|
26
32
|
origin: this.address,
|
|
27
33
|
functionSelector: await FunctionSelector.fromNameAndParameters(abi.name, abi.parameters),
|
|
28
34
|
txContext: new TxContext(this.chainId, this.version, fee.gasSettings),
|
|
29
|
-
argsOfCalls: [
|
|
30
|
-
|
|
35
|
+
argsOfCalls: [
|
|
36
|
+
...appPayload.hashedArguments,
|
|
37
|
+
...feePayload.hashedArguments,
|
|
38
|
+
entrypointHashedArgs
|
|
39
|
+
],
|
|
40
|
+
authWitnesses: [
|
|
41
|
+
combinedPayloadAuthWitness
|
|
42
|
+
],
|
|
43
|
+
capsules
|
|
31
44
|
});
|
|
32
45
|
return txRequest;
|
|
33
46
|
}
|
|
@@ -54,33 +67,69 @@ export class DefaultAccountEntrypoint {
|
|
|
54
67
|
kind: 'struct',
|
|
55
68
|
path: 'authwit::entrypoint::function_call::FunctionCall',
|
|
56
69
|
fields: [
|
|
57
|
-
{
|
|
70
|
+
{
|
|
71
|
+
name: 'args_hash',
|
|
72
|
+
type: {
|
|
73
|
+
kind: 'field'
|
|
74
|
+
}
|
|
75
|
+
},
|
|
58
76
|
{
|
|
59
77
|
name: 'function_selector',
|
|
60
78
|
type: {
|
|
61
79
|
kind: 'struct',
|
|
62
80
|
path: 'authwit::aztec::protocol_types::abis::function_selector::FunctionSelector',
|
|
63
|
-
fields: [
|
|
64
|
-
|
|
81
|
+
fields: [
|
|
82
|
+
{
|
|
83
|
+
name: 'inner',
|
|
84
|
+
type: {
|
|
85
|
+
kind: 'integer',
|
|
86
|
+
sign: 'unsigned',
|
|
87
|
+
width: 32
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
]
|
|
91
|
+
}
|
|
65
92
|
},
|
|
66
93
|
{
|
|
67
94
|
name: 'target_address',
|
|
68
95
|
type: {
|
|
69
96
|
kind: 'struct',
|
|
70
97
|
path: 'authwit::aztec::protocol_types::address::AztecAddress',
|
|
71
|
-
fields: [
|
|
72
|
-
|
|
98
|
+
fields: [
|
|
99
|
+
{
|
|
100
|
+
name: 'inner',
|
|
101
|
+
type: {
|
|
102
|
+
kind: 'field'
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
]
|
|
106
|
+
}
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
name: 'is_public',
|
|
110
|
+
type: {
|
|
111
|
+
kind: 'boolean'
|
|
112
|
+
}
|
|
73
113
|
},
|
|
74
|
-
{
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
114
|
+
{
|
|
115
|
+
name: 'is_static',
|
|
116
|
+
type: {
|
|
117
|
+
kind: 'boolean'
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
]
|
|
121
|
+
}
|
|
122
|
+
}
|
|
79
123
|
},
|
|
80
|
-
{
|
|
81
|
-
|
|
124
|
+
{
|
|
125
|
+
name: 'nonce',
|
|
126
|
+
type: {
|
|
127
|
+
kind: 'field'
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
]
|
|
82
131
|
},
|
|
83
|
-
visibility: 'public'
|
|
132
|
+
visibility: 'public'
|
|
84
133
|
},
|
|
85
134
|
{
|
|
86
135
|
name: 'fee_payload',
|
|
@@ -97,40 +146,85 @@ export class DefaultAccountEntrypoint {
|
|
|
97
146
|
kind: 'struct',
|
|
98
147
|
path: 'authwit::entrypoint::function_call::FunctionCall',
|
|
99
148
|
fields: [
|
|
100
|
-
{
|
|
149
|
+
{
|
|
150
|
+
name: 'args_hash',
|
|
151
|
+
type: {
|
|
152
|
+
kind: 'field'
|
|
153
|
+
}
|
|
154
|
+
},
|
|
101
155
|
{
|
|
102
156
|
name: 'function_selector',
|
|
103
157
|
type: {
|
|
104
158
|
kind: 'struct',
|
|
105
159
|
path: 'authwit::aztec::protocol_types::abis::function_selector::FunctionSelector',
|
|
106
|
-
fields: [
|
|
107
|
-
|
|
160
|
+
fields: [
|
|
161
|
+
{
|
|
162
|
+
name: 'inner',
|
|
163
|
+
type: {
|
|
164
|
+
kind: 'integer',
|
|
165
|
+
sign: 'unsigned',
|
|
166
|
+
width: 32
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
]
|
|
170
|
+
}
|
|
108
171
|
},
|
|
109
172
|
{
|
|
110
173
|
name: 'target_address',
|
|
111
174
|
type: {
|
|
112
175
|
kind: 'struct',
|
|
113
176
|
path: 'authwit::aztec::protocol_types::address::AztecAddress',
|
|
114
|
-
fields: [
|
|
115
|
-
|
|
177
|
+
fields: [
|
|
178
|
+
{
|
|
179
|
+
name: 'inner',
|
|
180
|
+
type: {
|
|
181
|
+
kind: 'field'
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
]
|
|
185
|
+
}
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
name: 'is_public',
|
|
189
|
+
type: {
|
|
190
|
+
kind: 'boolean'
|
|
191
|
+
}
|
|
116
192
|
},
|
|
117
|
-
{
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
193
|
+
{
|
|
194
|
+
name: 'is_static',
|
|
195
|
+
type: {
|
|
196
|
+
kind: 'boolean'
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
]
|
|
200
|
+
}
|
|
201
|
+
}
|
|
122
202
|
},
|
|
123
|
-
{
|
|
124
|
-
|
|
125
|
-
|
|
203
|
+
{
|
|
204
|
+
name: 'nonce',
|
|
205
|
+
type: {
|
|
206
|
+
kind: 'field'
|
|
207
|
+
}
|
|
208
|
+
},
|
|
209
|
+
{
|
|
210
|
+
name: 'is_fee_payer',
|
|
211
|
+
type: {
|
|
212
|
+
kind: 'boolean'
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
]
|
|
126
216
|
},
|
|
127
|
-
visibility: 'public'
|
|
217
|
+
visibility: 'public'
|
|
128
218
|
},
|
|
129
|
-
{
|
|
219
|
+
{
|
|
220
|
+
name: 'cancellable',
|
|
221
|
+
type: {
|
|
222
|
+
kind: 'boolean'
|
|
223
|
+
}
|
|
224
|
+
}
|
|
130
225
|
],
|
|
131
226
|
returnTypes: [],
|
|
132
|
-
errorTypes: {}
|
|
227
|
+
errorTypes: {}
|
|
133
228
|
};
|
|
134
229
|
}
|
|
135
230
|
}
|
|
136
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudF9lbnRyeXBvaW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2FjY291bnRfZW50cnlwb2ludC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBRUwsaUJBQWlCLEVBRWpCLDBCQUEwQixHQUMzQixNQUFNLDRCQUE0QixDQUFDO0FBQ3BDLE9BQU8sRUFBRSxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xFLE9BQU8sRUFBb0IsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFNUYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRW5FOzs7R0FHRztBQUNILE1BQU0sT0FBTyx3QkFBd0I7SUFDbkMsWUFDVSxPQUFxQixFQUNyQixJQUF5QixFQUN6QixVQUFrQixnQkFBZ0IsRUFDbEMsVUFBa0IsZUFBZTtRQUhqQyxZQUFPLEdBQVAsT0FBTyxDQUFjO1FBQ3JCLFNBQUksR0FBSixJQUFJLENBQXFCO1FBQ3pCLFlBQU8sR0FBUCxPQUFPLENBQTJCO1FBQ2xDLFlBQU8sR0FBUCxPQUFPLENBQTBCO0lBQ3hDLENBQUM7SUFFSixLQUFLLENBQUMsd0JBQXdCLENBQUMsSUFBMEI7UUFDdkQsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxHQUFHLElBQUksQ0FBQztRQUNoRCxNQUFNLFVBQVUsR0FBRyxNQUFNLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMxRSxNQUFNLFVBQVUsR0FBRyxNQUFNLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRTdFLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3BDLE1BQU0sb0JBQW9CLEdBQUcsTUFBTSxZQUFZLENBQUMsVUFBVSxDQUN4RCxlQUFlLENBQUMsR0FBRyxFQUFFLENBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FDOUQsQ0FBQztRQUVGLE1BQU0sMEJBQTBCLEdBQUcsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FDOUQsTUFBTSwwQkFBMEIsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQ3pELENBQUM7UUFFRixNQUFNLFNBQVMsR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUM7WUFDeEMsaUJBQWlCLEVBQUUsb0JBQW9CLENBQUMsSUFBSTtZQUM1QyxNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDcEIsZ0JBQWdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxVQUFVLENBQUM7WUFDeEYsU0FBUyxFQUFFLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsV0FBVyxDQUFDO1lBQ3JFLFdBQVcsRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDLGVBQWUsRUFBRSxHQUFHLFVBQVUsQ0FBQyxlQUFlLEVBQUUsb0JBQW9CLENBQUM7WUFDakcsYUFBYSxFQUFFLENBQUMsMEJBQTBCLENBQUM7U0FDNUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVPLGdCQUFnQjtRQUN0QixPQUFPO1lBQ0wsSUFBSSxFQUFFLFlBQVk7WUFDbEIsYUFBYSxFQUFFLEtBQUs7WUFDcEIsWUFBWSxFQUFFLFNBQVM7WUFDdkIsVUFBVSxFQUFFLEtBQUs7WUFDakIsUUFBUSxFQUFFLEtBQUs7WUFDZixVQUFVLEVBQUU7Z0JBQ1Y7b0JBQ0UsSUFBSSxFQUFFLGFBQWE7b0JBQ25CLElBQUksRUFBRTt3QkFDSixJQUFJLEVBQUUsUUFBUTt3QkFDZCxJQUFJLEVBQUUsc0NBQXNDO3dCQUM1QyxNQUFNLEVBQUU7NEJBQ047Z0NBQ0UsSUFBSSxFQUFFLGdCQUFnQjtnQ0FDdEIsSUFBSSxFQUFFO29DQUNKLElBQUksRUFBRSxPQUFPO29DQUNiLE1BQU0sRUFBRSxDQUFDO29DQUNULElBQUksRUFBRTt3Q0FDSixJQUFJLEVBQUUsUUFBUTt3Q0FDZCxJQUFJLEVBQUUsa0RBQWtEO3dDQUN4RCxNQUFNLEVBQUU7NENBQ04sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRTs0Q0FDOUM7Z0RBQ0UsSUFBSSxFQUFFLG1CQUFtQjtnREFDekIsSUFBSSxFQUFFO29EQUNKLElBQUksRUFBRSxRQUFRO29EQUNkLElBQUksRUFBRSwyRUFBMkU7b0RBQ2pGLE1BQU0sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUM7aURBQ3BGOzZDQUNGOzRDQUNEO2dEQUNFLElBQUksRUFBRSxnQkFBZ0I7Z0RBQ3RCLElBQUksRUFBRTtvREFDSixJQUFJLEVBQUUsUUFBUTtvREFDZCxJQUFJLEVBQUUsdURBQXVEO29EQUM3RCxNQUFNLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUM7aURBQ3JEOzZDQUNGOzRDQUNELEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEVBQUU7NENBQ2hELEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEVBQUU7eUNBQ2pEO3FDQUNGO2lDQUNGOzZCQUNGOzRCQUNELEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUU7eUJBQzNDO3FCQUNGO29CQUNELFVBQVUsRUFBRSxRQUFRO2lCQUNyQjtnQkFDRDtvQkFDRSxJQUFJLEVBQUUsYUFBYTtvQkFDbkIsSUFBSSxFQUFFO3dCQUNKLElBQUksRUFBRSxRQUFRO3dCQUNkLElBQUksRUFBRSxzQ0FBc0M7d0JBQzVDLE1BQU0sRUFBRTs0QkFDTjtnQ0FDRSxJQUFJLEVBQUUsZ0JBQWdCO2dDQUN0QixJQUFJLEVBQUU7b0NBQ0osSUFBSSxFQUFFLE9BQU87b0NBQ2IsTUFBTSxFQUFFLENBQUM7b0NBQ1QsSUFBSSxFQUFFO3dDQUNKLElBQUksRUFBRSxRQUFRO3dDQUNkLElBQUksRUFBRSxrREFBa0Q7d0NBQ3hELE1BQU0sRUFBRTs0Q0FDTixFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFOzRDQUM5QztnREFDRSxJQUFJLEVBQUUsbUJBQW1CO2dEQUN6QixJQUFJLEVBQUU7b0RBQ0osSUFBSSxFQUFFLFFBQVE7b0RBQ2QsSUFBSSxFQUFFLDJFQUEyRTtvREFDakYsTUFBTSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQztpREFDcEY7NkNBQ0Y7NENBQ0Q7Z0RBQ0UsSUFBSSxFQUFFLGdCQUFnQjtnREFDdEIsSUFBSSxFQUFFO29EQUNKLElBQUksRUFBRSxRQUFRO29EQUNkLElBQUksRUFBRSx1REFBdUQ7b0RBQzdELE1BQU0sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQztpREFDckQ7NkNBQ0Y7NENBQ0QsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsRUFBRTs0Q0FDaEQsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsRUFBRTt5Q0FDakQ7cUNBQ0Y7aUNBQ0Y7NkJBQ0Y7NEJBQ0QsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRTs0QkFDMUMsRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsRUFBRTt5QkFDcEQ7cUJBQ0Y7b0JBQ0QsVUFBVSxFQUFFLFFBQVE7aUJBQ3JCO2dCQUNELEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEVBQUU7YUFDbkQ7WUFDRCxXQUFXLEVBQUUsRUFBRTtZQUNmLFVBQVUsRUFBRSxFQUFFO1NBQ0EsQ0FBQztJQUNuQixDQUFDO0NBQ0YifQ==
|
package/dest/constants.js
CHANGED
|
@@ -1,5 +1,2 @@
|
|
|
1
|
-
/** Default L1 chain ID to use when constructing txs (matches hardhat and anvil's default). */
|
|
2
|
-
export const
|
|
3
|
-
/** Default protocol version to use. */
|
|
4
|
-
export const DEFAULT_VERSION = 1;
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw4RkFBOEY7QUFDOUYsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO0FBQ3RDLHVDQUF1QztBQUN2QyxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxDQUFDIn0=
|
|
1
|
+
/** Default L1 chain ID to use when constructing txs (matches hardhat and anvil's default). */ export const DEFAULT_CHAIN_ID = 31337;
|
|
2
|
+
/** Default protocol version to use. */ export const DEFAULT_VERSION = 1;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { AuthWitnessProvider } from '@aztec/aztec.js/account';
|
|
2
2
|
import { type EntrypointInterface, type ExecutionRequestInit } from '@aztec/aztec.js/entrypoint';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
4
|
+
import { TxExecutionRequest } from '@aztec/stdlib/tx';
|
|
5
5
|
/**
|
|
6
6
|
* Implementation for an entrypoint interface that follows the default entrypoint signature
|
|
7
7
|
* for an account, which accepts an AppPayload and a FeePayload as defined in noir-libs/aztec-noir/src/entrypoint module
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dapp_entrypoint.d.ts","sourceRoot":"","sources":["../src/dapp_entrypoint.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"dapp_entrypoint.d.ts","sourceRoot":"","sources":["../src/dapp_entrypoint.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,KAAK,mBAAmB,EAAqB,KAAK,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAEpH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAA2B,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAI/E;;;GAGG;AACH,qBAAa,qBAAsB,YAAW,mBAAmB;IAE7D,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,uBAAuB;IAC/B,OAAO,CAAC,qBAAqB;IAC7B,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,OAAO;gBAJP,WAAW,EAAE,YAAY,EACzB,uBAAuB,EAAE,mBAAmB,EAC5C,qBAAqB,EAAE,YAAY,EACnC,OAAO,GAAE,MAAyB,EAClC,OAAO,GAAE,MAAwB;IAGrC,wBAAwB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAqCvF,OAAO,CAAC,gBAAgB;CAiEzB"}
|
package/dest/dapp_entrypoint.js
CHANGED
|
@@ -1,15 +1,18 @@
|
|
|
1
|
-
import { computeAuthWitMessageHash, computeInnerAuthWitHash } from '@aztec/aztec.js';
|
|
1
|
+
import { Fr, computeAuthWitMessageHash, computeInnerAuthWitHash } from '@aztec/aztec.js';
|
|
2
2
|
import { EntrypointPayload } from '@aztec/aztec.js/entrypoint';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { FunctionSelector, encodeArguments } from '@aztec/foundation/abi';
|
|
3
|
+
import { FunctionSelector, encodeArguments } from '@aztec/stdlib/abi';
|
|
4
|
+
import { HashedValues, TxContext, TxExecutionRequest } from '@aztec/stdlib/tx';
|
|
6
5
|
import { DEFAULT_CHAIN_ID, DEFAULT_VERSION } from './constants.js';
|
|
7
6
|
/**
|
|
8
7
|
* Implementation for an entrypoint interface that follows the default entrypoint signature
|
|
9
8
|
* for an account, which accepts an AppPayload and a FeePayload as defined in noir-libs/aztec-noir/src/entrypoint module
|
|
10
|
-
*/
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
*/ export class DefaultDappEntrypoint {
|
|
10
|
+
userAddress;
|
|
11
|
+
userAuthWitnessProvider;
|
|
12
|
+
dappEntrypointAddress;
|
|
13
|
+
chainId;
|
|
14
|
+
version;
|
|
15
|
+
constructor(userAddress, userAuthWitnessProvider, dappEntrypointAddress, chainId = DEFAULT_CHAIN_ID, version = DEFAULT_VERSION){
|
|
13
16
|
this.userAddress = userAddress;
|
|
14
17
|
this.userAuthWitnessProvider = userAuthWitnessProvider;
|
|
15
18
|
this.dappEntrypointAddress = dappEntrypointAddress;
|
|
@@ -17,29 +20,44 @@ export class DefaultDappEntrypoint {
|
|
|
17
20
|
this.version = version;
|
|
18
21
|
}
|
|
19
22
|
async createTxExecutionRequest(exec) {
|
|
20
|
-
const { calls, fee } = exec;
|
|
23
|
+
const { calls, fee, capsules = [] } = exec;
|
|
21
24
|
if (calls.length !== 1) {
|
|
22
25
|
throw new Error(`Expected exactly 1 function call, got ${calls.length}`);
|
|
23
26
|
}
|
|
24
27
|
const payload = await EntrypointPayload.fromFunctionCalls(calls);
|
|
25
28
|
const abi = this.getEntrypointAbi();
|
|
26
|
-
const entrypointHashedArgs = await HashedValues.fromValues(encodeArguments(abi, [
|
|
29
|
+
const entrypointHashedArgs = await HashedValues.fromValues(encodeArguments(abi, [
|
|
30
|
+
payload,
|
|
31
|
+
this.userAddress
|
|
32
|
+
]));
|
|
27
33
|
const functionSelector = await FunctionSelector.fromNameAndParameters(abi.name, abi.parameters);
|
|
28
34
|
// Default msg_sender for entrypoints is now Fr.max_value rather than 0 addr (see #7190 & #7404)
|
|
29
35
|
const innerHash = await computeInnerAuthWitHash([
|
|
30
36
|
Fr.MAX_FIELD_VALUE,
|
|
31
37
|
functionSelector.toField(),
|
|
32
|
-
entrypointHashedArgs.hash
|
|
38
|
+
entrypointHashedArgs.hash
|
|
33
39
|
]);
|
|
34
|
-
const outerHash = await computeAuthWitMessageHash({
|
|
40
|
+
const outerHash = await computeAuthWitMessageHash({
|
|
41
|
+
consumer: this.dappEntrypointAddress,
|
|
42
|
+
innerHash
|
|
43
|
+
}, {
|
|
44
|
+
chainId: new Fr(this.chainId),
|
|
45
|
+
version: new Fr(this.version)
|
|
46
|
+
});
|
|
35
47
|
const authWitness = await this.userAuthWitnessProvider.createAuthWit(outerHash);
|
|
36
48
|
const txRequest = TxExecutionRequest.from({
|
|
37
49
|
firstCallArgsHash: entrypointHashedArgs.hash,
|
|
38
50
|
origin: this.dappEntrypointAddress,
|
|
39
51
|
functionSelector,
|
|
40
52
|
txContext: new TxContext(this.chainId, this.version, fee.gasSettings),
|
|
41
|
-
argsOfCalls: [
|
|
42
|
-
|
|
53
|
+
argsOfCalls: [
|
|
54
|
+
...payload.hashedArguments,
|
|
55
|
+
entrypointHashedArgs
|
|
56
|
+
],
|
|
57
|
+
authWitnesses: [
|
|
58
|
+
authWitness
|
|
59
|
+
],
|
|
60
|
+
capsules
|
|
43
61
|
});
|
|
44
62
|
return txRequest;
|
|
45
63
|
}
|
|
@@ -66,47 +84,89 @@ export class DefaultDappEntrypoint {
|
|
|
66
84
|
kind: 'struct',
|
|
67
85
|
path: 'authwit::entrypoint::function_call::FunctionCall',
|
|
68
86
|
fields: [
|
|
69
|
-
{
|
|
87
|
+
{
|
|
88
|
+
name: 'args_hash',
|
|
89
|
+
type: {
|
|
90
|
+
kind: 'field'
|
|
91
|
+
}
|
|
92
|
+
},
|
|
70
93
|
{
|
|
71
94
|
name: 'function_selector',
|
|
72
95
|
type: {
|
|
73
96
|
kind: 'struct',
|
|
74
97
|
path: 'authwit::aztec::protocol_types::abis::function_selector::FunctionSelector',
|
|
75
|
-
fields: [
|
|
76
|
-
|
|
98
|
+
fields: [
|
|
99
|
+
{
|
|
100
|
+
name: 'inner',
|
|
101
|
+
type: {
|
|
102
|
+
kind: 'integer',
|
|
103
|
+
sign: 'unsigned',
|
|
104
|
+
width: 32
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
]
|
|
108
|
+
}
|
|
77
109
|
},
|
|
78
110
|
{
|
|
79
111
|
name: 'target_address',
|
|
80
112
|
type: {
|
|
81
113
|
kind: 'struct',
|
|
82
114
|
path: 'authwit::aztec::protocol_types::address::aztec_address::AztecAddress',
|
|
83
|
-
fields: [
|
|
84
|
-
|
|
115
|
+
fields: [
|
|
116
|
+
{
|
|
117
|
+
name: 'inner',
|
|
118
|
+
type: {
|
|
119
|
+
kind: 'field'
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
]
|
|
123
|
+
}
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
name: 'is_public',
|
|
127
|
+
type: {
|
|
128
|
+
kind: 'boolean'
|
|
129
|
+
}
|
|
85
130
|
},
|
|
86
|
-
{
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
131
|
+
{
|
|
132
|
+
name: 'is_static',
|
|
133
|
+
type: {
|
|
134
|
+
kind: 'boolean'
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
]
|
|
138
|
+
}
|
|
139
|
+
}
|
|
91
140
|
},
|
|
92
|
-
{
|
|
93
|
-
|
|
141
|
+
{
|
|
142
|
+
name: 'nonce',
|
|
143
|
+
type: {
|
|
144
|
+
kind: 'field'
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
]
|
|
94
148
|
},
|
|
95
|
-
visibility: 'public'
|
|
149
|
+
visibility: 'public'
|
|
96
150
|
},
|
|
97
151
|
{
|
|
98
152
|
name: 'user_address',
|
|
99
153
|
type: {
|
|
100
154
|
kind: 'struct',
|
|
101
155
|
path: 'authwit::aztec::protocol_types::address::aztec_address::AztecAddress',
|
|
102
|
-
fields: [
|
|
156
|
+
fields: [
|
|
157
|
+
{
|
|
158
|
+
name: 'inner',
|
|
159
|
+
type: {
|
|
160
|
+
kind: 'field'
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
]
|
|
103
164
|
},
|
|
104
|
-
visibility: 'public'
|
|
105
|
-
}
|
|
165
|
+
visibility: 'public'
|
|
166
|
+
}
|
|
106
167
|
],
|
|
107
168
|
returnTypes: [],
|
|
108
|
-
errorTypes: {}
|
|
169
|
+
errorTypes: {}
|
|
109
170
|
};
|
|
110
171
|
}
|
|
111
172
|
}
|
|
112
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFwcF9lbnRyeXBvaW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2RhcHBfZW50cnlwb2ludC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVyRixPQUFPLEVBQTRCLGlCQUFpQixFQUE2QixNQUFNLDRCQUE0QixDQUFDO0FBQ3BILE9BQU8sRUFBRSxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RSxPQUFPLEVBQXFCLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RSxPQUFPLEVBQW9CLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTVGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuRTs7O0dBR0c7QUFDSCxNQUFNLE9BQU8scUJBQXFCO0lBQ2hDLFlBQ1UsV0FBeUIsRUFDekIsdUJBQTRDLEVBQzVDLHFCQUFtQyxFQUNuQyxVQUFrQixnQkFBZ0IsRUFDbEMsVUFBa0IsZUFBZTtRQUpqQyxnQkFBVyxHQUFYLFdBQVcsQ0FBYztRQUN6Qiw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXFCO1FBQzVDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBYztRQUNuQyxZQUFPLEdBQVAsT0FBTyxDQUEyQjtRQUNsQyxZQUFPLEdBQVAsT0FBTyxDQUEwQjtJQUN4QyxDQUFDO0lBRUosS0FBSyxDQUFDLHdCQUF3QixDQUFDLElBQTBCO1FBQ3ZELE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQzVCLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN2QixNQUFNLElBQUksS0FBSyxDQUFDLHlDQUF5QyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMs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
|
package/dest/index.js
CHANGED
|
@@ -4,7 +4,5 @@
|
|
|
4
4
|
* Read more in {@link https://docs.aztec.network/developers/tutorials/codealong/contract_tutorials/write_accounts_contract | Writing an account contract}.
|
|
5
5
|
*
|
|
6
6
|
* @packageDocumentation
|
|
7
|
-
*/
|
|
8
|
-
export * from './account_entrypoint.js';
|
|
7
|
+
*/ export * from './account_entrypoint.js';
|
|
9
8
|
export * from './dapp_entrypoint.js';
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHNCQUFzQixDQUFDIn0=
|
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.
|
|
5
|
+
"version": "0.77.0-testnet-ignition.17",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"exports": {
|
|
8
8
|
"./dapp": "./dest/dapp_entrypoint.js",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"clean": "rm -rf ./dest .tsbuildinfo",
|
|
23
23
|
"formatting": "run -T prettier --check ./src && run -T eslint ./src",
|
|
24
24
|
"formatting:fix": "run -T eslint --fix ./src && run -T prettier -w ./src",
|
|
25
|
-
"test": "
|
|
25
|
+
"test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --passWithNoTests --maxWorkers=${JEST_MAX_WORKERS:-8}"
|
|
26
26
|
},
|
|
27
27
|
"inherits": [
|
|
28
28
|
"../package.common.json"
|
|
@@ -55,17 +55,16 @@
|
|
|
55
55
|
"reporters": [
|
|
56
56
|
"default"
|
|
57
57
|
],
|
|
58
|
-
"testTimeout":
|
|
58
|
+
"testTimeout": 120000,
|
|
59
59
|
"setupFiles": [
|
|
60
60
|
"../../foundation/src/jest/setup.mjs"
|
|
61
61
|
]
|
|
62
62
|
},
|
|
63
63
|
"dependencies": {
|
|
64
|
-
"@aztec/aztec.js": "0.
|
|
65
|
-
"@aztec/
|
|
66
|
-
"@aztec/
|
|
67
|
-
"@aztec/
|
|
68
|
-
"@aztec/protocol-contracts": "0.76.4",
|
|
64
|
+
"@aztec/aztec.js": "0.77.0-testnet-ignition.17",
|
|
65
|
+
"@aztec/foundation": "0.77.0-testnet-ignition.17",
|
|
66
|
+
"@aztec/protocol-contracts": "0.77.0-testnet-ignition.17",
|
|
67
|
+
"@aztec/stdlib": "0.77.0-testnet-ignition.17",
|
|
69
68
|
"tslib": "^2.4.0"
|
|
70
69
|
},
|
|
71
70
|
"devDependencies": {
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { AuthWitnessProvider } from '@aztec/aztec.js/account';
|
|
2
2
|
import {
|
|
3
3
|
type EntrypointInterface,
|
|
4
4
|
EntrypointPayload,
|
|
5
5
|
type ExecutionRequestInit,
|
|
6
6
|
computeCombinedPayloadHash,
|
|
7
7
|
} from '@aztec/aztec.js/entrypoint';
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
8
|
+
import { type FunctionAbi, FunctionSelector, encodeArguments } from '@aztec/stdlib/abi';
|
|
9
|
+
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
10
|
+
import { HashedValues, TxContext, TxExecutionRequest } from '@aztec/stdlib/tx';
|
|
11
11
|
|
|
12
12
|
import { DEFAULT_CHAIN_ID, DEFAULT_VERSION } from './constants.js';
|
|
13
13
|
|
|
@@ -24,7 +24,7 @@ export class DefaultAccountEntrypoint implements EntrypointInterface {
|
|
|
24
24
|
) {}
|
|
25
25
|
|
|
26
26
|
async createTxExecutionRequest(exec: ExecutionRequestInit): Promise<TxExecutionRequest> {
|
|
27
|
-
const { calls, fee, nonce, cancellable } = exec;
|
|
27
|
+
const { calls, fee, nonce, cancellable, capsules = [] } = exec;
|
|
28
28
|
const appPayload = await EntrypointPayload.fromAppExecution(calls, nonce);
|
|
29
29
|
const feePayload = await EntrypointPayload.fromFeeOptions(this.address, fee);
|
|
30
30
|
|
|
@@ -44,6 +44,7 @@ export class DefaultAccountEntrypoint implements EntrypointInterface {
|
|
|
44
44
|
txContext: new TxContext(this.chainId, this.version, fee.gasSettings),
|
|
45
45
|
argsOfCalls: [...appPayload.hashedArguments, ...feePayload.hashedArguments, entrypointHashedArgs],
|
|
46
46
|
authWitnesses: [combinedPayloadAuthWitness],
|
|
47
|
+
capsules,
|
|
47
48
|
});
|
|
48
49
|
|
|
49
50
|
return txRequest;
|
package/src/dapp_entrypoint.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { computeAuthWitMessageHash, computeInnerAuthWitHash } from '@aztec/aztec.js';
|
|
2
|
-
import {
|
|
1
|
+
import { Fr, computeAuthWitMessageHash, computeInnerAuthWitHash } from '@aztec/aztec.js';
|
|
2
|
+
import type { AuthWitnessProvider } from '@aztec/aztec.js/account';
|
|
3
3
|
import { type EntrypointInterface, EntrypointPayload, type ExecutionRequestInit } from '@aztec/aztec.js/entrypoint';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
4
|
+
import { type FunctionAbi, FunctionSelector, encodeArguments } from '@aztec/stdlib/abi';
|
|
5
|
+
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
6
|
+
import { HashedValues, TxContext, TxExecutionRequest } from '@aztec/stdlib/tx';
|
|
7
7
|
|
|
8
8
|
import { DEFAULT_CHAIN_ID, DEFAULT_VERSION } from './constants.js';
|
|
9
9
|
|
|
@@ -21,7 +21,7 @@ export class DefaultDappEntrypoint implements EntrypointInterface {
|
|
|
21
21
|
) {}
|
|
22
22
|
|
|
23
23
|
async createTxExecutionRequest(exec: ExecutionRequestInit): Promise<TxExecutionRequest> {
|
|
24
|
-
const { calls, fee } = exec;
|
|
24
|
+
const { calls, fee, capsules = [] } = exec;
|
|
25
25
|
if (calls.length !== 1) {
|
|
26
26
|
throw new Error(`Expected exactly 1 function call, got ${calls.length}`);
|
|
27
27
|
}
|
|
@@ -51,6 +51,7 @@ export class DefaultDappEntrypoint implements EntrypointInterface {
|
|
|
51
51
|
txContext: new TxContext(this.chainId, this.version, fee.gasSettings),
|
|
52
52
|
argsOfCalls: [...payload.hashedArguments, entrypointHashedArgs],
|
|
53
53
|
authWitnesses: [authWitness],
|
|
54
|
+
capsules,
|
|
54
55
|
});
|
|
55
56
|
|
|
56
57
|
return txRequest;
|