@0xsequence/wallet-wdk 3.0.6 → 3.0.8

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.
@@ -1,5 +1,5 @@
1
1
 
2
2
 
3
- > @0xsequence/wallet-wdk@3.0.6 build /home/taylan/development/sequence/sequence.js/packages/wallet/wdk
3
+ > @0xsequence/wallet-wdk@3.0.8 build /home/taylan/development/sequence/sequence.js/packages/wallet/wdk
4
4
  > tsc
5
5
 
@@ -1,4 +1,4 @@
1
1
 
2
- > @0xsequence/wallet-wdk@3.0.6 lint /home/taylan/development/sequence/sequence.js/packages/wallet/wdk
2
+ > @0xsequence/wallet-wdk@3.0.8 lint /home/taylan/development/sequence/sequence.js/packages/wallet/wdk
3
3
  > eslint . --max-warnings 0
4
4
 
@@ -1,4 +1,4 @@
1
1
 
2
- > @0xsequence/wallet-wdk@3.0.6 typecheck /home/taylan/development/sequence/sequence.js/packages/wallet/wdk
2
+ > @0xsequence/wallet-wdk@3.0.8 typecheck /home/taylan/development/sequence/sequence.js/packages/wallet/wdk
3
3
  > tsc --noEmit
4
4
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,29 @@
1
1
  # @0xsequence/wallet-wdk
2
2
 
3
+ ## 3.0.8
4
+
5
+ ### Patch Changes
6
+
7
+ - Bug fix for relayer fee options handling
8
+ - Updated dependencies
9
+ - @0xsequence/guard@3.0.8
10
+ - @0xsequence/identity-instrument@3.0.8
11
+ - @0xsequence/relayer@3.0.8
12
+ - @0xsequence/wallet-core@3.0.8
13
+ - @0xsequence/wallet-primitives@3.0.8
14
+
15
+ ## 3.0.7
16
+
17
+ ### Patch Changes
18
+
19
+ - Minor bug fixes
20
+ - Updated dependencies
21
+ - @0xsequence/guard@3.0.7
22
+ - @0xsequence/identity-instrument@3.0.7
23
+ - @0xsequence/relayer@3.0.7
24
+ - @0xsequence/wallet-core@3.0.7
25
+ - @0xsequence/wallet-primitives@3.0.7
26
+
3
27
  ## 3.0.6
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
- tx.envelope.payload.nonce = changes.nonce;
125
+ payload.nonce = changes.nonce;
122
126
  }
123
127
  if (changes?.space) {
124
- tx.envelope.payload.space = changes.space;
128
+ payload.space = changes.space;
125
129
  }
126
130
  if (changes?.calls) {
127
- if (changes.calls.length !== tx.envelope.payload.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
- tx.envelope.payload.calls[i].gasLimit = changes.calls[i].gasLimit;
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
- // Determine the to address for the built transaction
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, tx.envelope.payload.calls, {
187
- space: tx.envelope.payload.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.6",
3
+ "version": "3.0.8",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "publishConfig": {
@@ -19,7 +19,7 @@
19
19
  "dotenv": "^17.3.1",
20
20
  "fake-indexeddb": "^6.2.5",
21
21
  "happy-dom": "^20.8.9",
22
- "typescript": "^5.9.3",
22
+ "typescript": "^6.0.3",
23
23
  "vitest": "^4.0.18",
24
24
  "@repo/eslint-config": "^0.0.1",
25
25
  "@repo/typescript-config": "^0.0.1"
@@ -29,12 +29,12 @@
29
29
  "idb": "^8.0.3",
30
30
  "jwt-decode": "^4.0.0",
31
31
  "ox": "^0.9.17",
32
- "uuid": "^13.0.0",
33
- "@0xsequence/guard": "^3.0.6",
34
- "@0xsequence/relayer": "^3.0.6",
35
- "@0xsequence/identity-instrument": "^3.0.6",
36
- "@0xsequence/wallet-core": "^3.0.6",
37
- "@0xsequence/wallet-primitives": "^3.0.6"
32
+ "uuid": "^14.0.0",
33
+ "@0xsequence/wallet-core": "^3.0.8",
34
+ "@0xsequence/guard": "^3.0.8",
35
+ "@0xsequence/wallet-primitives": "^3.0.8",
36
+ "@0xsequence/relayer": "^3.0.8",
37
+ "@0xsequence/identity-instrument": "^3.0.8"
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
- tx.envelope.payload.nonce = changes.nonce
321
+ payload.nonce = changes.nonce
316
322
  }
317
323
 
318
324
  if (changes?.space) {
319
- tx.envelope.payload.space = changes.space
325
+ payload.space = changes.space
320
326
  }
321
327
 
322
328
  if (changes?.calls) {
323
- if (changes.calls.length !== tx.envelope.payload.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
- tx.envelope.payload.calls[i]!.gasLimit = changes.calls[i]!.gasLimit
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
- // Determine the to address for the built transaction
351
- const walletStatus = await wallet.getStatus(provider)
352
- const to = walletStatus.isDeployed ? wallet.address : wallet.guest
353
-
354
- const feeOptions = await relayer.feeOptions(tx.wallet, tx.envelope.chainId, to, tx.envelope.payload.calls)
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, tx.envelope.payload.calls, {
396
- space: tx.envelope.payload.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)