@0xsequence/wallet-wdk 3.0.7 → 3.0.9
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/.turbo/turbo-build.log +1 -1
- package/.turbo/turbo-lint.log +1 -1
- package/.turbo/turbo-typecheck.log +1 -1
- package/CHANGELOG.md +24 -0
- package/dist/sequence/transactions.d.ts.map +1 -1
- package/dist/sequence/transactions.js +12 -10
- package/package.json +6 -6
- package/src/sequence/transactions.ts +20 -11
package/.turbo/turbo-build.log
CHANGED
package/.turbo/turbo-lint.log
CHANGED
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,29 @@
|
|
|
1
1
|
# @0xsequence/wallet-wdk
|
|
2
2
|
|
|
3
|
+
## 3.0.9
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Fee options fixes
|
|
8
|
+
- Updated dependencies
|
|
9
|
+
- @0xsequence/guard@3.0.9
|
|
10
|
+
- @0xsequence/identity-instrument@3.0.9
|
|
11
|
+
- @0xsequence/relayer@3.0.9
|
|
12
|
+
- @0xsequence/wallet-core@3.0.9
|
|
13
|
+
- @0xsequence/wallet-primitives@3.0.9
|
|
14
|
+
|
|
15
|
+
## 3.0.8
|
|
16
|
+
|
|
17
|
+
### Patch Changes
|
|
18
|
+
|
|
19
|
+
- Bug fix for relayer fee options handling
|
|
20
|
+
- Updated dependencies
|
|
21
|
+
- @0xsequence/guard@3.0.8
|
|
22
|
+
- @0xsequence/identity-instrument@3.0.8
|
|
23
|
+
- @0xsequence/relayer@3.0.8
|
|
24
|
+
- @0xsequence/wallet-core@3.0.8
|
|
25
|
+
- @0xsequence/wallet-primitives@3.0.8
|
|
26
|
+
|
|
3
27
|
## 3.0.7
|
|
4
28
|
|
|
5
29
|
### Patch Changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transactions.d.ts","sourceRoot":"","sources":["../../src/sequence/transactions.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"transactions.d.ts","sourceRoot":"","sources":["../../src/sequence/transactions.ts"],"names":[],"mappings":"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"}
|
|
@@ -116,19 +116,23 @@ export class Transactions {
|
|
|
116
116
|
if (tx.status !== 'requested') {
|
|
117
117
|
throw new Error(`Transaction ${transactionId} is not in the requested state`);
|
|
118
118
|
}
|
|
119
|
+
if (!Payload.isCalls(tx.envelope.payload)) {
|
|
120
|
+
throw new Error(`Transaction ${transactionId} is not a calls payload`);
|
|
121
|
+
}
|
|
122
|
+
const payload = tx.envelope.payload;
|
|
119
123
|
// Modify the envelope with the changes
|
|
120
124
|
if (changes?.nonce) {
|
|
121
|
-
|
|
125
|
+
payload.nonce = changes.nonce;
|
|
122
126
|
}
|
|
123
127
|
if (changes?.space) {
|
|
124
|
-
|
|
128
|
+
payload.space = changes.space;
|
|
125
129
|
}
|
|
126
130
|
if (changes?.calls) {
|
|
127
|
-
if (changes.calls.length !==
|
|
131
|
+
if (changes.calls.length !== payload.calls.length) {
|
|
128
132
|
throw new Error(`Invalid number of calls for transaction ${transactionId}`);
|
|
129
133
|
}
|
|
130
134
|
for (let i = 0; i < changes.calls.length; i++) {
|
|
131
|
-
|
|
135
|
+
payload.calls[i].gasLimit = changes.calls[i].gasLimit;
|
|
132
136
|
}
|
|
133
137
|
}
|
|
134
138
|
const wallet = new Wallet(tx.wallet, { stateProvider: this.shared.sequence.stateProvider });
|
|
@@ -137,6 +141,7 @@ export class Transactions {
|
|
|
137
141
|
throw new Error(`Network not found for ${tx.envelope.chainId}`);
|
|
138
142
|
}
|
|
139
143
|
const provider = Provider.from(RpcTransport.fromHttp(network.rpcUrl));
|
|
144
|
+
const feeOptionsTransaction = await wallet.buildFeeOptionsTransaction(provider, payload);
|
|
140
145
|
// Get relayer and relayer options
|
|
141
146
|
const [allRelayerOptions, allBundlerOptions] = await Promise.all([
|
|
142
147
|
Promise.all(this.shared.sequence.relayers
|
|
@@ -146,10 +151,7 @@ export class Transactions {
|
|
|
146
151
|
if (!ifAvailable) {
|
|
147
152
|
return [];
|
|
148
153
|
}
|
|
149
|
-
|
|
150
|
-
const walletStatus = await wallet.getStatus(provider);
|
|
151
|
-
const to = walletStatus.isDeployed ? wallet.address : wallet.guest;
|
|
152
|
-
const feeOptions = await relayer.feeOptions(tx.wallet, tx.envelope.chainId, to, tx.envelope.payload.calls);
|
|
154
|
+
const feeOptions = await relayer.feeOptions(tx.wallet, tx.envelope.chainId, feeOptionsTransaction.to, payload.calls, feeOptionsTransaction.data);
|
|
153
155
|
if (feeOptions.options.length === 0) {
|
|
154
156
|
const { name, icon } = relayer instanceof Relayer.EIP6963.EIP6963Relayer ? relayer.info : {};
|
|
155
157
|
return [
|
|
@@ -183,8 +185,8 @@ export class Transactions {
|
|
|
183
185
|
return [];
|
|
184
186
|
}
|
|
185
187
|
try {
|
|
186
|
-
const erc4337Op = await wallet.prepare4337Transaction(provider,
|
|
187
|
-
space:
|
|
188
|
+
const erc4337Op = await wallet.prepare4337Transaction(provider, payload.calls, {
|
|
189
|
+
space: payload.space,
|
|
188
190
|
});
|
|
189
191
|
const erc4337OpsWithEstimatedLimits = await bundler.estimateLimits(tx.wallet, erc4337Op.payload);
|
|
190
192
|
return erc4337OpsWithEstimatedLimits.map(({ speed, payload }) => ({
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@0xsequence/wallet-wdk",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.9",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"publishConfig": {
|
|
@@ -30,11 +30,11 @@
|
|
|
30
30
|
"jwt-decode": "^4.0.0",
|
|
31
31
|
"ox": "^0.9.17",
|
|
32
32
|
"uuid": "^14.0.0",
|
|
33
|
-
"@0xsequence/guard": "^3.0.
|
|
34
|
-
"@0xsequence/
|
|
35
|
-
"@0xsequence/
|
|
36
|
-
"@0xsequence/wallet-primitives": "^3.0.
|
|
37
|
-
"@0xsequence/
|
|
33
|
+
"@0xsequence/guard": "^3.0.9",
|
|
34
|
+
"@0xsequence/identity-instrument": "^3.0.9",
|
|
35
|
+
"@0xsequence/relayer": "^3.0.9",
|
|
36
|
+
"@0xsequence/wallet-primitives": "^3.0.9",
|
|
37
|
+
"@0xsequence/wallet-core": "^3.0.9"
|
|
38
38
|
},
|
|
39
39
|
"scripts": {
|
|
40
40
|
"build": "tsc",
|
|
@@ -310,22 +310,28 @@ export class Transactions implements TransactionsInterface {
|
|
|
310
310
|
throw new Error(`Transaction ${transactionId} is not in the requested state`)
|
|
311
311
|
}
|
|
312
312
|
|
|
313
|
+
if (!Payload.isCalls(tx.envelope.payload)) {
|
|
314
|
+
throw new Error(`Transaction ${transactionId} is not a calls payload`)
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
const payload = tx.envelope.payload
|
|
318
|
+
|
|
313
319
|
// Modify the envelope with the changes
|
|
314
320
|
if (changes?.nonce) {
|
|
315
|
-
|
|
321
|
+
payload.nonce = changes.nonce
|
|
316
322
|
}
|
|
317
323
|
|
|
318
324
|
if (changes?.space) {
|
|
319
|
-
|
|
325
|
+
payload.space = changes.space
|
|
320
326
|
}
|
|
321
327
|
|
|
322
328
|
if (changes?.calls) {
|
|
323
|
-
if (changes.calls.length !==
|
|
329
|
+
if (changes.calls.length !== payload.calls.length) {
|
|
324
330
|
throw new Error(`Invalid number of calls for transaction ${transactionId}`)
|
|
325
331
|
}
|
|
326
332
|
|
|
327
333
|
for (let i = 0; i < changes.calls.length; i++) {
|
|
328
|
-
|
|
334
|
+
payload.calls[i]!.gasLimit = changes.calls[i]!.gasLimit
|
|
329
335
|
}
|
|
330
336
|
}
|
|
331
337
|
|
|
@@ -335,6 +341,7 @@ export class Transactions implements TransactionsInterface {
|
|
|
335
341
|
throw new Error(`Network not found for ${tx.envelope.chainId}`)
|
|
336
342
|
}
|
|
337
343
|
const provider = Provider.from(RpcTransport.fromHttp(network.rpcUrl))
|
|
344
|
+
const feeOptionsTransaction = await wallet.buildFeeOptionsTransaction(provider, payload)
|
|
338
345
|
|
|
339
346
|
// Get relayer and relayer options
|
|
340
347
|
const [allRelayerOptions, allBundlerOptions] = await Promise.all([
|
|
@@ -347,11 +354,13 @@ export class Transactions implements TransactionsInterface {
|
|
|
347
354
|
return []
|
|
348
355
|
}
|
|
349
356
|
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
357
|
+
const feeOptions = await relayer.feeOptions(
|
|
358
|
+
tx.wallet,
|
|
359
|
+
tx.envelope.chainId,
|
|
360
|
+
feeOptionsTransaction.to,
|
|
361
|
+
payload.calls,
|
|
362
|
+
feeOptionsTransaction.data,
|
|
363
|
+
)
|
|
355
364
|
|
|
356
365
|
if (feeOptions.options.length === 0) {
|
|
357
366
|
const { name, icon } = relayer instanceof Relayer.EIP6963.EIP6963Relayer ? relayer.info : {}
|
|
@@ -392,8 +401,8 @@ export class Transactions implements TransactionsInterface {
|
|
|
392
401
|
}
|
|
393
402
|
|
|
394
403
|
try {
|
|
395
|
-
const erc4337Op = await wallet.prepare4337Transaction(provider,
|
|
396
|
-
space:
|
|
404
|
+
const erc4337Op = await wallet.prepare4337Transaction(provider, payload.calls, {
|
|
405
|
+
space: payload.space,
|
|
397
406
|
})
|
|
398
407
|
|
|
399
408
|
const erc4337OpsWithEstimatedLimits = await bundler.estimateLimits(tx.wallet, erc4337Op.payload)
|