thirdweb 5.61.1 → 5.61.3

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.
Files changed (34) hide show
  1. package/dist/cjs/extensions/erc721/read/getNFT.js +1 -1
  2. package/dist/cjs/extensions/erc721/read/getNFT.js.map +1 -1
  3. package/dist/cjs/version.js +1 -1
  4. package/dist/cjs/wallets/smart/lib/calls.js +12 -3
  5. package/dist/cjs/wallets/smart/lib/calls.js.map +1 -1
  6. package/dist/cjs/wallets/smart/lib/userop.js +21 -10
  7. package/dist/cjs/wallets/smart/lib/userop.js.map +1 -1
  8. package/dist/cjs/wallets/smart/smart-wallet.js +34 -0
  9. package/dist/cjs/wallets/smart/smart-wallet.js.map +1 -1
  10. package/dist/esm/extensions/erc721/read/getNFT.js +1 -1
  11. package/dist/esm/extensions/erc721/read/getNFT.js.map +1 -1
  12. package/dist/esm/version.js +1 -1
  13. package/dist/esm/wallets/smart/lib/calls.js +13 -4
  14. package/dist/esm/wallets/smart/lib/calls.js.map +1 -1
  15. package/dist/esm/wallets/smart/lib/userop.js +21 -10
  16. package/dist/esm/wallets/smart/lib/userop.js.map +1 -1
  17. package/dist/esm/wallets/smart/smart-wallet.js +34 -0
  18. package/dist/esm/wallets/smart/smart-wallet.js.map +1 -1
  19. package/dist/types/version.d.ts +1 -1
  20. package/dist/types/wallets/smart/lib/calls.d.ts.map +1 -1
  21. package/dist/types/wallets/smart/lib/userop.d.ts +2 -0
  22. package/dist/types/wallets/smart/lib/userop.d.ts.map +1 -1
  23. package/dist/types/wallets/smart/smart-wallet.d.ts +34 -0
  24. package/dist/types/wallets/smart/smart-wallet.d.ts.map +1 -1
  25. package/package.json +3 -3
  26. package/src/extensions/erc721/read/getNFT.test.ts +66 -0
  27. package/src/extensions/erc721/read/getNFT.ts +1 -1
  28. package/src/extensions/erc721/read/getNFTs.test.ts +44 -2
  29. package/src/extensions/erc721/read/getOwnedTokenIds.test.ts +15 -1
  30. package/src/version.ts +1 -1
  31. package/src/wallets/smart/lib/calls.ts +15 -4
  32. package/src/wallets/smart/lib/userop.ts +46 -23
  33. package/src/wallets/smart/smart-wallet-integration.test.ts +4 -6
  34. package/src/wallets/smart/smart-wallet.ts +34 -0
@@ -29,7 +29,7 @@ async function getNFT(options) {
29
29
  .catch(() => null)
30
30
  : null,
31
31
  ]);
32
- if (!uri) {
32
+ if (!uri?.trim()) {
33
33
  return (0, parseNft_js_1.parseNFT)({
34
34
  id: options.tokenId,
35
35
  type: "ERC721",
@@ -1 +1 @@
1
- {"version":3,"file":"getNFT.js","sourceRoot":"","sources":["../../../../../src/extensions/erc721/read/getNFT.ts"],"names":[],"mappings":";;;AAsCA,wBA6CC;AAlFD,oFAA8E;AAC9E,gEAAoE;AAEpE,4EAGoD;AAEpD,0EAAsG;AAA7F,gHAAA,mBAAmB,OAAqB;AAejD;;;;;;;;;;;;;GAaG;AACI,KAAK,UAAU,MAAM,CAC1B,OAA6C;IAE7C,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACrC,IAAA,sBAAQ,EAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;QACnC,OAAO,CAAC,YAAY;YAClB,CAAC,CAAC,qCAAO,2CAA2C,GAC/C,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;iBAC/B,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;YACtB,CAAC,CAAC,IAAI;KACT,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,IAAA,sBAAQ,EACb;YACE,EAAE,EAAE,OAAO,CAAC,OAAO;YACnB,IAAI,EAAE,QAAQ;YACd,GAAG,EAAE,EAAE;SACR,EACD;YACE,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,QAAQ,EAAE,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,KAAK;SACN,CACF,CAAC;IACJ,CAAC;IAED,OAAO,IAAA,sBAAQ,EACb,MAAM,IAAA,0CAAkB,EAAC;QACvB,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;QAC/B,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,QAAQ,EAAE,GAAG;KACd,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QACd,EAAE,EAAE,OAAO,CAAC,OAAO;QACnB,IAAI,EAAE,QAAQ;QACd,GAAG;KACJ,CAAC,CAAC,EACH;QACE,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,QAAQ,EAAE,GAAG;QACb,IAAI,EAAE,QAAQ;QACd,KAAK;KACN,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"getNFT.js","sourceRoot":"","sources":["../../../../../src/extensions/erc721/read/getNFT.ts"],"names":[],"mappings":";;;AAsCA,wBA6CC;AAlFD,oFAA8E;AAC9E,gEAAoE;AAEpE,4EAGoD;AAEpD,0EAAsG;AAA7F,gHAAA,mBAAmB,OAAqB;AAejD;;;;;;;;;;;;;GAaG;AACI,KAAK,UAAU,MAAM,CAC1B,OAA6C;IAE7C,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACrC,IAAA,sBAAQ,EAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;QACnC,OAAO,CAAC,YAAY;YAClB,CAAC,CAAC,qCAAO,2CAA2C,GAC/C,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;iBAC/B,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;YACtB,CAAC,CAAC,IAAI;KACT,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC;QACjB,OAAO,IAAA,sBAAQ,EACb;YACE,EAAE,EAAE,OAAO,CAAC,OAAO;YACnB,IAAI,EAAE,QAAQ;YACd,GAAG,EAAE,EAAE;SACR,EACD;YACE,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,QAAQ,EAAE,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,KAAK;SACN,CACF,CAAC;IACJ,CAAC;IAED,OAAO,IAAA,sBAAQ,EACb,MAAM,IAAA,0CAAkB,EAAC;QACvB,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;QAC/B,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,QAAQ,EAAE,GAAG;KACd,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QACd,EAAE,EAAE,OAAO,CAAC,OAAO;QACnB,IAAI,EAAE,QAAQ;QACd,GAAG;KACJ,CAAC,CAAC,EACH;QACE,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,QAAQ,EAAE,GAAG;QACb,IAAI,EAAE,QAAQ;QACd,KAAK;KACN,CACF,CAAC;AACJ,CAAC"}
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.version = void 0;
4
- exports.version = "5.61.1";
4
+ exports.version = "5.61.3";
5
5
  //# sourceMappingURL=version.js.map
@@ -34,11 +34,13 @@ async function predictAddress(args) {
34
34
  if (!adminAddress) {
35
35
  throw new Error("Account address is required to predict the smart wallet address.");
36
36
  }
37
- const extraData = (0, hex_js_1.stringToHex)(accountSalt ?? "");
37
+ const saltHex = accountSalt && (0, hex_js_1.isHex)(accountSalt)
38
+ ? accountSalt
39
+ : (0, hex_js_1.stringToHex)(accountSalt ?? "");
38
40
  return (0, read_contract_js_1.readContract)({
39
41
  contract: factoryContract,
40
42
  method: "function getAddress(address, bytes) returns (address)",
41
- params: [adminAddress, extraData],
43
+ params: [adminAddress, saltHex],
42
44
  });
43
45
  }
44
46
  /**
@@ -49,10 +51,13 @@ function prepareCreateAccount(args) {
49
51
  if (createAccount) {
50
52
  return createAccount(factoryContract);
51
53
  }
54
+ const saltHex = accountSalt && (0, hex_js_1.isHex)(accountSalt)
55
+ ? accountSalt
56
+ : (0, hex_js_1.stringToHex)(accountSalt ?? "");
52
57
  return (0, prepare_contract_call_js_1.prepareContractCall)({
53
58
  contract: factoryContract,
54
59
  method: "function createAccount(address, bytes) returns (address)",
55
- params: [adminAddress, (0, hex_js_1.stringToHex)(accountSalt ?? "")],
60
+ params: [adminAddress, saltHex],
56
61
  });
57
62
  }
58
63
  /**
@@ -71,6 +76,10 @@ function prepareExecute(args) {
71
76
  transaction.value || 0n,
72
77
  transaction.data || "0x",
73
78
  ],
79
+ // if gas is specified for the inner tx, use that and add 21k for the execute call on the account contract
80
+ // this avoids another estimateGas call when bundling the userOp
81
+ // and also allows for passing custom gas limits for the inner tx
82
+ gas: transaction.gas ? transaction.gas + 21000n : undefined,
74
83
  });
75
84
  }
76
85
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"calls.js","sourceRoot":"","sources":["../../../../../src/wallets/smart/lib/calls.ts"],"names":[],"mappings":";;AAuBA,wCAiCC;AAKD,oDAsBC;AAKD,wCAqBC;AAKD,kDAyBC;AA1ID,4FAAoF;AAEpF,4EAAqE;AACrE,2DAA6D;AAG7D;;;;;;;;;;;;;;;GAeG;AACI,KAAK,UAAU,cAAc,CAAC,IAQpC;IACC,MAAM,EACJ,eAAe,EACf,sBAAsB,EAAE,cAAc,EACtC,YAAY,EACZ,WAAW,EACX,cAAc,GACf,GAAG,IAAI,CAAC;IACT,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,cAAc,CAAC,eAAe,CAAC,CAAC;IACzC,CAAC;IACD,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CACb,kEAAkE,CACnE,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,IAAA,oBAAW,EAAC,WAAW,IAAI,EAAE,CAAC,CAAC;IACjD,OAAO,IAAA,+BAAY,EAAC;QAClB,QAAQ,EAAE,eAAe;QACzB,MAAM,EAAE,uDAAuD;QAC/D,MAAM,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC;KAClC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAgB,oBAAoB,CAAC,IAOpC;IACC,MAAM,EACJ,YAAY,EACZ,eAAe,EACf,qBAAqB,EAAE,aAAa,EACpC,WAAW,GACZ,GAAG,IAAI,CAAC;IACT,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,aAAa,CAAC,eAAe,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,IAAA,8CAAmB,EAAC;QACzB,QAAQ,EAAE,eAAe;QACzB,MAAM,EAAE,0DAA0D;QAClE,MAAM,EAAE,CAAC,YAAY,EAAE,IAAA,oBAAW,EAAC,WAAW,IAAI,EAAE,CAAC,CAAC;KACvD,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAgB,cAAc,CAAC,IAO9B;IACC,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,eAAe,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACxE,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,OAAO,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,IAAA,8CAAmB,EAAC;QACzB,QAAQ,EAAE,eAAe;QACzB,MAAM,EAAE,2CAA2C;QACnD,MAAM,EAAE;YACN,WAAW,CAAC,EAAE,IAAI,EAAE;YACpB,WAAW,CAAC,KAAK,IAAI,EAAE;YACvB,WAAW,CAAC,IAAI,IAAI,IAAI;SACzB;KACF,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CAAC,IAOnC;IACC,MAAM,EACJ,eAAe,EACf,YAAY,EACZ,oBAAoB,EAAE,YAAY,GACnC,GAAG,IAAI,CAAC;IACT,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,YAAY,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,IAAA,8CAAmB,EAAC;QACzB,QAAQ,EAAE,eAAe;QACzB,MAAM,EAAE,sDAAsD;QAC9D,MAAM,EAAE;YACN,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;YACrC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;YACxC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,IAAI,IAAI,CAAC;SAC1C;KACF,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"calls.js","sourceRoot":"","sources":["../../../../../src/wallets/smart/lib/calls.ts"],"names":[],"mappings":"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"}
@@ -89,7 +89,7 @@ async function waitForUserOpReceipt(args) {
89
89
  * @walletUtils
90
90
  */
91
91
  async function createUnsignedUserOp(args) {
92
- const { transaction: executeTx, accountContract, factoryContract, adminAddress, overrides, sponsorGas, } = args;
92
+ const { transaction: executeTx, accountContract, factoryContract, adminAddress, overrides, sponsorGas, waitForDeployment = true, } = args;
93
93
  const chain = executeTx.chain;
94
94
  const client = executeTx.client;
95
95
  const bundlerOptions = {
@@ -98,9 +98,10 @@ async function createUnsignedUserOp(args) {
98
98
  entrypointAddress: overrides?.entrypointAddress,
99
99
  };
100
100
  const entrypointVersion = (0, constants_js_1.getEntryPointVersion)(args.overrides?.entrypointAddress || constants_js_1.ENTRYPOINT_ADDRESS_v0_6);
101
- const [isDeployed, callData, gasFees, nonce] = await Promise.all([
101
+ const [isDeployed, callData, callGasLimit, gasFees, nonce] = await Promise.all([
102
102
  (0, is_contract_deployed_js_1.isContractDeployed)(accountContract),
103
103
  (0, encode_js_1.encode)(executeTx),
104
+ (0, resolve_promised_value_js_1.resolvePromisedValue)(executeTx.gas),
104
105
  getGasFees({
105
106
  executeTx,
106
107
  bundlerOptions,
@@ -127,8 +128,10 @@ async function createUnsignedUserOp(args) {
127
128
  isDeployed,
128
129
  nonce,
129
130
  callData,
131
+ callGasLimit,
130
132
  maxFeePerGas,
131
133
  maxPriorityFeePerGas,
134
+ waitForDeployment,
132
135
  });
133
136
  }
134
137
  // default to v0.6
@@ -142,8 +145,10 @@ async function createUnsignedUserOp(args) {
142
145
  isDeployed,
143
146
  nonce,
144
147
  callData,
148
+ callGasLimit,
145
149
  maxFeePerGas,
146
150
  maxPriorityFeePerGas,
151
+ waitForDeployment,
147
152
  });
148
153
  }
149
154
  async function getGasFees(args) {
@@ -181,14 +186,16 @@ async function getGasFees(args) {
181
186
  return { maxFeePerGas, maxPriorityFeePerGas };
182
187
  }
183
188
  async function populateUserOp_v0_7(args) {
184
- const { bundlerOptions, isDeployed, factoryContract, accountContract, adminAddress, sponsorGas, overrides, nonce, callData, maxFeePerGas, maxPriorityFeePerGas, } = args;
189
+ const { bundlerOptions, isDeployed, factoryContract, accountContract, adminAddress, sponsorGas, overrides, nonce, callData, callGasLimit, maxFeePerGas, maxPriorityFeePerGas, waitForDeployment, } = args;
185
190
  const { chain, client } = bundlerOptions;
186
191
  let factory;
187
192
  let factoryData;
188
- // lock until account is deployed if needed to avoid 'sender already created' errors when sending multiple transactions in parallel
189
193
  if (isDeployed || isAccountDeploying(accountContract)) {
190
194
  factoryData = "0x";
191
- await waitForAccountDeployed(accountContract);
195
+ if (waitForDeployment) {
196
+ // lock until account is deployed if needed to avoid 'sender already created' errors when sending multiple transactions in parallel
197
+ await waitForAccountDeployed(accountContract);
198
+ }
192
199
  }
193
200
  else {
194
201
  factory = factoryContract.address;
@@ -206,7 +213,7 @@ async function populateUserOp_v0_7(args) {
206
213
  callData,
207
214
  maxFeePerGas,
208
215
  maxPriorityFeePerGas,
209
- callGasLimit: 0n,
216
+ callGasLimit: callGasLimit ?? 0n,
210
217
  verificationGasLimit: 0n,
211
218
  preVerificationGas: 0n,
212
219
  factory,
@@ -289,13 +296,15 @@ async function populateUserOp_v0_7(args) {
289
296
  };
290
297
  }
291
298
  async function populateUserOp_v0_6(args) {
292
- const { bundlerOptions, isDeployed, factoryContract, accountContract, adminAddress, sponsorGas, overrides, nonce, callData, maxFeePerGas, maxPriorityFeePerGas, } = args;
299
+ const { bundlerOptions, isDeployed, factoryContract, accountContract, adminAddress, sponsorGas, overrides, nonce, callData, callGasLimit, maxFeePerGas, maxPriorityFeePerGas, waitForDeployment, } = args;
293
300
  const { chain, client } = bundlerOptions;
294
301
  let initCode;
295
- // lock until account is deployed if needed to avoid 'sender already created' errors when sending multiple transactions in parallel
296
302
  if (isDeployed || isAccountDeploying(accountContract)) {
297
303
  initCode = "0x";
298
- await waitForAccountDeployed(accountContract);
304
+ if (waitForDeployment) {
305
+ // lock until account is deployed if needed to avoid 'sender already created' errors when sending multiple transactions in parallel
306
+ await waitForAccountDeployed(accountContract);
307
+ }
299
308
  }
300
309
  else {
301
310
  initCode = await getAccountInitCode({
@@ -313,7 +322,7 @@ async function populateUserOp_v0_6(args) {
313
322
  callData,
314
323
  maxFeePerGas,
315
324
  maxPriorityFeePerGas,
316
- callGasLimit: 0n,
325
+ callGasLimit: callGasLimit ?? 0n,
317
326
  verificationGasLimit: 0n,
318
327
  preVerificationGas: 0n,
319
328
  paymasterAndData: "0x",
@@ -533,6 +542,7 @@ async function createAndSignUserOp(options) {
533
542
  adminAddress: options.adminAccount.address,
534
543
  sponsorGas: "sponsorGas" in config ? config.sponsorGas : config.gasless,
535
544
  overrides: config.overrides,
545
+ waitForDeployment: options.waitForDeployment,
536
546
  });
537
547
  const signedUserOp = await signUserOp({
538
548
  client: options.client,
@@ -547,6 +557,7 @@ async function waitForAccountDeployed(accountContract) {
547
557
  const startTime = Date.now();
548
558
  while (isAccountDeploying(accountContract)) {
549
559
  if (Date.now() - startTime > 60000) {
560
+ (0, exports.clearAccountDeploying)(accountContract); // clear the flag so it doesnt stay stuck in this state
550
561
  throw new Error("Account deployment is taking too long (over 1 minute). Please try again.");
551
562
  }
552
563
  await new Promise((resolve) => setTimeout(resolve, 500));
@@ -1 +1 @@
1
- {"version":3,"file":"userop.js","sourceRoot":"","sources":["../../../../../src/wallets/smart/lib/userop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"userop.js","sourceRoot":"","sources":["../../../../../src/wallets/smart/lib/userop.ts"],"names":[],"mappings":"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"}
@@ -65,6 +65,40 @@ const constants_js_1 = require("./lib/constants.js");
65
65
  * });
66
66
  * ```
67
67
  *
68
+ * ## Using a custom account factory
69
+ *
70
+ * You can pass a custom account factory to the `smartWallet` function to use a your own account factory.
71
+ *
72
+ * ```ts
73
+ * import { smartWallet } from "thirdweb/wallets";
74
+ * import { sepolia } from "thirdweb/chains";
75
+ *
76
+ * const wallet = smartWallet({
77
+ * chain: sepolia,
78
+ * sponsorGas: true, // enable sponsored transactions
79
+ * factoryAddress: "0x...", // custom factory address
80
+ * });
81
+ *
82
+ * ## Using v0.7 Entrypoint
83
+ *
84
+ * Both v0.6 (default) and v0.7 ERC4337 Entrypoints are supported. To use the v0.7 Entrypoint, you can pass the `entrypointAddress` option to the `smartWallet` function, as well as a compatible account factory.
85
+ *
86
+ * You can use the predeployed `DEFAULT_ACCOUNT_FACTORY_V0_7` or deploy your own [AccountFactory v0.7](https://thirdweb.com/thirdweb.eth/AccountFactory_0_7).
87
+ *
88
+ * ```ts
89
+ * import { smartWallet, DEFAULT_ACCOUNT_FACTORY_V0_7, ENTRYPOINT_ADDRESS_v0_7 } from "thirdweb/wallets/smart";
90
+ * import { sepolia } from "thirdweb/chains";
91
+ *
92
+ * const wallet = smartWallet({
93
+ * chain: sepolia,
94
+ * sponsorGas: true, // enable sponsored transactions
95
+ * factoryAddress: DEFAULT_ACCOUNT_FACTORY_V0_7,
96
+ * overrides: {
97
+ * entrypointAddress: ENTRYPOINT_ADDRESS_v0_7
98
+ * }
99
+ * });
100
+ * ```
101
+ *
68
102
  * ## Configuring the smart wallet
69
103
  *
70
104
  * You can pass options to the `smartWallet` function to configure the smart wallet.
@@ -1 +1 @@
1
- {"version":3,"file":"smart-wallet.js","sourceRoot":"","sources":["../../../../src/wallets/smart/smart-wallet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"smart-wallet.js","sourceRoot":"","sources":["../../../../src/wallets/smart/smart-wallet.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,7 @@ export async function getNFT(options) {
25
25
  .catch(() => null)
26
26
  : null,
27
27
  ]);
28
- if (!uri) {
28
+ if (!uri?.trim()) {
29
29
  return parseNFT({
30
30
  id: options.tokenId,
31
31
  type: "ERC721",
@@ -1 +1 @@
1
- {"version":3,"file":"getNFT.js","sourceRoot":"","sources":["../../../../../src/extensions/erc721/read/getNFT.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAC9E,OAAO,EAAY,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAEpE,OAAO,EAEL,QAAQ,GACT,MAAM,4CAA4C,CAAC;AAEpD,OAAO,EAAE,mBAAmB,IAAI,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAetG;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,OAA6C;IAE7C,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACrC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;QACnC,OAAO,CAAC,YAAY;YAClB,CAAC,CAAC,MAAM,CAAC,2CAA2C,CAAC;iBAChD,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;iBAC/B,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;YACtB,CAAC,CAAC,IAAI;KACT,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,QAAQ,CACb;YACE,EAAE,EAAE,OAAO,CAAC,OAAO;YACnB,IAAI,EAAE,QAAQ;YACd,GAAG,EAAE,EAAE;SACR,EACD;YACE,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,QAAQ,EAAE,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,KAAK;SACN,CACF,CAAC;IACJ,CAAC;IAED,OAAO,QAAQ,CACb,MAAM,kBAAkB,CAAC;QACvB,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;QAC/B,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,QAAQ,EAAE,GAAG;KACd,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QACd,EAAE,EAAE,OAAO,CAAC,OAAO;QACnB,IAAI,EAAE,QAAQ;QACd,GAAG;KACJ,CAAC,CAAC,EACH;QACE,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,QAAQ,EAAE,GAAG;QACb,IAAI,EAAE,QAAQ;QACd,KAAK;KACN,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"getNFT.js","sourceRoot":"","sources":["../../../../../src/extensions/erc721/read/getNFT.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAC9E,OAAO,EAAY,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAEpE,OAAO,EAEL,QAAQ,GACT,MAAM,4CAA4C,CAAC;AAEpD,OAAO,EAAE,mBAAmB,IAAI,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAetG;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,OAA6C;IAE7C,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACrC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;QACnC,OAAO,CAAC,YAAY;YAClB,CAAC,CAAC,MAAM,CAAC,2CAA2C,CAAC;iBAChD,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;iBAC/B,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;YACtB,CAAC,CAAC,IAAI;KACT,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC;QACjB,OAAO,QAAQ,CACb;YACE,EAAE,EAAE,OAAO,CAAC,OAAO;YACnB,IAAI,EAAE,QAAQ;YACd,GAAG,EAAE,EAAE;SACR,EACD;YACE,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,QAAQ,EAAE,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,KAAK;SACN,CACF,CAAC;IACJ,CAAC;IAED,OAAO,QAAQ,CACb,MAAM,kBAAkB,CAAC;QACvB,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;QAC/B,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,QAAQ,EAAE,GAAG;KACd,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QACd,EAAE,EAAE,OAAO,CAAC,OAAO;QACnB,IAAI,EAAE,QAAQ;QACd,GAAG;KACJ,CAAC,CAAC,EACH;QACE,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,QAAQ,EAAE,GAAG;QACb,IAAI,EAAE,QAAQ;QACd,KAAK;KACN,CACF,CAAC;AACJ,CAAC"}
@@ -1,2 +1,2 @@
1
- export const version = "5.61.1";
1
+ export const version = "5.61.3";
2
2
  //# sourceMappingURL=version.js.map
@@ -1,6 +1,6 @@
1
1
  import { prepareContractCall } from "../../../transaction/prepare-contract-call.js";
2
2
  import { readContract } from "../../../transaction/read-contract.js";
3
- import { stringToHex } from "../../../utils/encoding/hex.js";
3
+ import { isHex, stringToHex } from "../../../utils/encoding/hex.js";
4
4
  /**
5
5
  * Predict the address of a smart account.
6
6
  * @param args - The options for predicting the address of a smart account.
@@ -28,11 +28,13 @@ export async function predictAddress(args) {
28
28
  if (!adminAddress) {
29
29
  throw new Error("Account address is required to predict the smart wallet address.");
30
30
  }
31
- const extraData = stringToHex(accountSalt ?? "");
31
+ const saltHex = accountSalt && isHex(accountSalt)
32
+ ? accountSalt
33
+ : stringToHex(accountSalt ?? "");
32
34
  return readContract({
33
35
  contract: factoryContract,
34
36
  method: "function getAddress(address, bytes) returns (address)",
35
- params: [adminAddress, extraData],
37
+ params: [adminAddress, saltHex],
36
38
  });
37
39
  }
38
40
  /**
@@ -43,10 +45,13 @@ export function prepareCreateAccount(args) {
43
45
  if (createAccount) {
44
46
  return createAccount(factoryContract);
45
47
  }
48
+ const saltHex = accountSalt && isHex(accountSalt)
49
+ ? accountSalt
50
+ : stringToHex(accountSalt ?? "");
46
51
  return prepareContractCall({
47
52
  contract: factoryContract,
48
53
  method: "function createAccount(address, bytes) returns (address)",
49
- params: [adminAddress, stringToHex(accountSalt ?? "")],
54
+ params: [adminAddress, saltHex],
50
55
  });
51
56
  }
52
57
  /**
@@ -65,6 +70,10 @@ export function prepareExecute(args) {
65
70
  transaction.value || 0n,
66
71
  transaction.data || "0x",
67
72
  ],
73
+ // if gas is specified for the inner tx, use that and add 21k for the execute call on the account contract
74
+ // this avoids another estimateGas call when bundling the userOp
75
+ // and also allows for passing custom gas limits for the inner tx
76
+ gas: transaction.gas ? transaction.gas + 21000n : undefined,
68
77
  });
69
78
  }
70
79
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"calls.js","sourceRoot":"","sources":["../../../../../src/wallets/smart/lib/calls.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AAEpF,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAG7D;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAQpC;IACC,MAAM,EACJ,eAAe,EACf,sBAAsB,EAAE,cAAc,EACtC,YAAY,EACZ,WAAW,EACX,cAAc,GACf,GAAG,IAAI,CAAC;IACT,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,cAAc,CAAC,eAAe,CAAC,CAAC;IACzC,CAAC;IACD,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CACb,kEAAkE,CACnE,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,WAAW,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;IACjD,OAAO,YAAY,CAAC;QAClB,QAAQ,EAAE,eAAe;QACzB,MAAM,EAAE,uDAAuD;QAC/D,MAAM,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC;KAClC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAOpC;IACC,MAAM,EACJ,YAAY,EACZ,eAAe,EACf,qBAAqB,EAAE,aAAa,EACpC,WAAW,GACZ,GAAG,IAAI,CAAC;IACT,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,aAAa,CAAC,eAAe,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,mBAAmB,CAAC;QACzB,QAAQ,EAAE,eAAe;QACzB,MAAM,EAAE,0DAA0D;QAClE,MAAM,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;KACvD,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,IAO9B;IACC,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,eAAe,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACxE,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,OAAO,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,mBAAmB,CAAC;QACzB,QAAQ,EAAE,eAAe;QACzB,MAAM,EAAE,2CAA2C;QACnD,MAAM,EAAE;YACN,WAAW,CAAC,EAAE,IAAI,EAAE;YACpB,WAAW,CAAC,KAAK,IAAI,EAAE;YACvB,WAAW,CAAC,IAAI,IAAI,IAAI;SACzB;KACF,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAOnC;IACC,MAAM,EACJ,eAAe,EACf,YAAY,EACZ,oBAAoB,EAAE,YAAY,GACnC,GAAG,IAAI,CAAC;IACT,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,YAAY,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,mBAAmB,CAAC;QACzB,QAAQ,EAAE,eAAe;QACzB,MAAM,EAAE,sDAAsD;QAC9D,MAAM,EAAE;YACN,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;YACrC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;YACxC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,IAAI,IAAI,CAAC;SAC1C;KACF,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"calls.js","sourceRoot":"","sources":["../../../../../src/wallets/smart/lib/calls.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AAEpF,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AACrE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAGpE;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAQpC;IACC,MAAM,EACJ,eAAe,EACf,sBAAsB,EAAE,cAAc,EACtC,YAAY,EACZ,WAAW,EACX,cAAc,GACf,GAAG,IAAI,CAAC;IACT,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,cAAc,CAAC,eAAe,CAAC,CAAC;IACzC,CAAC;IACD,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CACb,kEAAkE,CACnE,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GACX,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC;QAC/B,CAAC,CAAC,WAAW;QACb,CAAC,CAAC,WAAW,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;IACrC,OAAO,YAAY,CAAC;QAClB,QAAQ,EAAE,eAAe;QACzB,MAAM,EAAE,uDAAuD;QAC/D,MAAM,EAAE,CAAC,YAAY,EAAE,OAAO,CAAC;KAChC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAOpC;IACC,MAAM,EACJ,YAAY,EACZ,eAAe,EACf,qBAAqB,EAAE,aAAa,EACpC,WAAW,GACZ,GAAG,IAAI,CAAC;IACT,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,aAAa,CAAC,eAAe,CAAC,CAAC;IACxC,CAAC;IACD,MAAM,OAAO,GACX,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC;QAC/B,CAAC,CAAC,WAAW;QACb,CAAC,CAAC,WAAW,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;IACrC,OAAO,mBAAmB,CAAC;QACzB,QAAQ,EAAE,eAAe;QACzB,MAAM,EAAE,0DAA0D;QAClE,MAAM,EAAE,CAAC,YAAY,EAAE,OAAO,CAAC;KAChC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,IAO9B;IACC,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,eAAe,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACxE,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,OAAO,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,mBAAmB,CAAC;QACzB,QAAQ,EAAE,eAAe;QACzB,MAAM,EAAE,2CAA2C;QACnD,MAAM,EAAE;YACN,WAAW,CAAC,EAAE,IAAI,EAAE;YACpB,WAAW,CAAC,KAAK,IAAI,EAAE;YACvB,WAAW,CAAC,IAAI,IAAI,IAAI;SACzB;QACD,0GAA0G;QAC1G,gEAAgE;QAChE,iEAAiE;QACjE,GAAG,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS;KAC5D,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAOnC;IACC,MAAM,EACJ,eAAe,EACf,YAAY,EACZ,oBAAoB,EAAE,YAAY,GACnC,GAAG,IAAI,CAAC;IACT,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,YAAY,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,mBAAmB,CAAC;QACzB,QAAQ,EAAE,eAAe;QACzB,MAAM,EAAE,sDAAsD;QAC9D,MAAM,EAAE;YACN,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;YACrC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;YACxC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,IAAI,IAAI,CAAC;SAC1C;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -81,7 +81,7 @@ export async function waitForUserOpReceipt(args) {
81
81
  * @walletUtils
82
82
  */
83
83
  export async function createUnsignedUserOp(args) {
84
- const { transaction: executeTx, accountContract, factoryContract, adminAddress, overrides, sponsorGas, } = args;
84
+ const { transaction: executeTx, accountContract, factoryContract, adminAddress, overrides, sponsorGas, waitForDeployment = true, } = args;
85
85
  const chain = executeTx.chain;
86
86
  const client = executeTx.client;
87
87
  const bundlerOptions = {
@@ -90,9 +90,10 @@ export async function createUnsignedUserOp(args) {
90
90
  entrypointAddress: overrides?.entrypointAddress,
91
91
  };
92
92
  const entrypointVersion = getEntryPointVersion(args.overrides?.entrypointAddress || ENTRYPOINT_ADDRESS_v0_6);
93
- const [isDeployed, callData, gasFees, nonce] = await Promise.all([
93
+ const [isDeployed, callData, callGasLimit, gasFees, nonce] = await Promise.all([
94
94
  isContractDeployed(accountContract),
95
95
  encode(executeTx),
96
+ resolvePromisedValue(executeTx.gas),
96
97
  getGasFees({
97
98
  executeTx,
98
99
  bundlerOptions,
@@ -119,8 +120,10 @@ export async function createUnsignedUserOp(args) {
119
120
  isDeployed,
120
121
  nonce,
121
122
  callData,
123
+ callGasLimit,
122
124
  maxFeePerGas,
123
125
  maxPriorityFeePerGas,
126
+ waitForDeployment,
124
127
  });
125
128
  }
126
129
  // default to v0.6
@@ -134,8 +137,10 @@ export async function createUnsignedUserOp(args) {
134
137
  isDeployed,
135
138
  nonce,
136
139
  callData,
140
+ callGasLimit,
137
141
  maxFeePerGas,
138
142
  maxPriorityFeePerGas,
143
+ waitForDeployment,
139
144
  });
140
145
  }
141
146
  async function getGasFees(args) {
@@ -173,14 +178,16 @@ async function getGasFees(args) {
173
178
  return { maxFeePerGas, maxPriorityFeePerGas };
174
179
  }
175
180
  async function populateUserOp_v0_7(args) {
176
- const { bundlerOptions, isDeployed, factoryContract, accountContract, adminAddress, sponsorGas, overrides, nonce, callData, maxFeePerGas, maxPriorityFeePerGas, } = args;
181
+ const { bundlerOptions, isDeployed, factoryContract, accountContract, adminAddress, sponsorGas, overrides, nonce, callData, callGasLimit, maxFeePerGas, maxPriorityFeePerGas, waitForDeployment, } = args;
177
182
  const { chain, client } = bundlerOptions;
178
183
  let factory;
179
184
  let factoryData;
180
- // lock until account is deployed if needed to avoid 'sender already created' errors when sending multiple transactions in parallel
181
185
  if (isDeployed || isAccountDeploying(accountContract)) {
182
186
  factoryData = "0x";
183
- await waitForAccountDeployed(accountContract);
187
+ if (waitForDeployment) {
188
+ // lock until account is deployed if needed to avoid 'sender already created' errors when sending multiple transactions in parallel
189
+ await waitForAccountDeployed(accountContract);
190
+ }
184
191
  }
185
192
  else {
186
193
  factory = factoryContract.address;
@@ -198,7 +205,7 @@ async function populateUserOp_v0_7(args) {
198
205
  callData,
199
206
  maxFeePerGas,
200
207
  maxPriorityFeePerGas,
201
- callGasLimit: 0n,
208
+ callGasLimit: callGasLimit ?? 0n,
202
209
  verificationGasLimit: 0n,
203
210
  preVerificationGas: 0n,
204
211
  factory,
@@ -281,13 +288,15 @@ async function populateUserOp_v0_7(args) {
281
288
  };
282
289
  }
283
290
  async function populateUserOp_v0_6(args) {
284
- const { bundlerOptions, isDeployed, factoryContract, accountContract, adminAddress, sponsorGas, overrides, nonce, callData, maxFeePerGas, maxPriorityFeePerGas, } = args;
291
+ const { bundlerOptions, isDeployed, factoryContract, accountContract, adminAddress, sponsorGas, overrides, nonce, callData, callGasLimit, maxFeePerGas, maxPriorityFeePerGas, waitForDeployment, } = args;
285
292
  const { chain, client } = bundlerOptions;
286
293
  let initCode;
287
- // lock until account is deployed if needed to avoid 'sender already created' errors when sending multiple transactions in parallel
288
294
  if (isDeployed || isAccountDeploying(accountContract)) {
289
295
  initCode = "0x";
290
- await waitForAccountDeployed(accountContract);
296
+ if (waitForDeployment) {
297
+ // lock until account is deployed if needed to avoid 'sender already created' errors when sending multiple transactions in parallel
298
+ await waitForAccountDeployed(accountContract);
299
+ }
291
300
  }
292
301
  else {
293
302
  initCode = await getAccountInitCode({
@@ -305,7 +314,7 @@ async function populateUserOp_v0_6(args) {
305
314
  callData,
306
315
  maxFeePerGas,
307
316
  maxPriorityFeePerGas,
308
- callGasLimit: 0n,
317
+ callGasLimit: callGasLimit ?? 0n,
309
318
  verificationGasLimit: 0n,
310
319
  preVerificationGas: 0n,
311
320
  paymasterAndData: "0x",
@@ -525,6 +534,7 @@ export async function createAndSignUserOp(options) {
525
534
  adminAddress: options.adminAccount.address,
526
535
  sponsorGas: "sponsorGas" in config ? config.sponsorGas : config.gasless,
527
536
  overrides: config.overrides,
537
+ waitForDeployment: options.waitForDeployment,
528
538
  });
529
539
  const signedUserOp = await signUserOp({
530
540
  client: options.client,
@@ -539,6 +549,7 @@ async function waitForAccountDeployed(accountContract) {
539
549
  const startTime = Date.now();
540
550
  while (isAccountDeploying(accountContract)) {
541
551
  if (Date.now() - startTime > 60000) {
552
+ clearAccountDeploying(accountContract); // clear the flag so it doesnt stay stuck in this state
542
553
  throw new Error("Account deployment is taking too long (over 1 minute). Please try again.");
543
554
  }
544
555
  await new Promise((resolve) => setTimeout(resolve, 500));
@@ -1 +1 @@
1
- {"version":3,"file":"userop.js","sourceRoot":"","sources":["../../../../../src/wallets/smart/lib/userop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"userop.js","sourceRoot":"","sources":["../../../../../src/wallets/smart/lib/userop.ts"],"names":[],"mappings":"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"}
@@ -62,6 +62,40 @@ import { getDefaultAccountFactory } from "./lib/constants.js";
62
62
  * });
63
63
  * ```
64
64
  *
65
+ * ## Using a custom account factory
66
+ *
67
+ * You can pass a custom account factory to the `smartWallet` function to use a your own account factory.
68
+ *
69
+ * ```ts
70
+ * import { smartWallet } from "thirdweb/wallets";
71
+ * import { sepolia } from "thirdweb/chains";
72
+ *
73
+ * const wallet = smartWallet({
74
+ * chain: sepolia,
75
+ * sponsorGas: true, // enable sponsored transactions
76
+ * factoryAddress: "0x...", // custom factory address
77
+ * });
78
+ *
79
+ * ## Using v0.7 Entrypoint
80
+ *
81
+ * Both v0.6 (default) and v0.7 ERC4337 Entrypoints are supported. To use the v0.7 Entrypoint, you can pass the `entrypointAddress` option to the `smartWallet` function, as well as a compatible account factory.
82
+ *
83
+ * You can use the predeployed `DEFAULT_ACCOUNT_FACTORY_V0_7` or deploy your own [AccountFactory v0.7](https://thirdweb.com/thirdweb.eth/AccountFactory_0_7).
84
+ *
85
+ * ```ts
86
+ * import { smartWallet, DEFAULT_ACCOUNT_FACTORY_V0_7, ENTRYPOINT_ADDRESS_v0_7 } from "thirdweb/wallets/smart";
87
+ * import { sepolia } from "thirdweb/chains";
88
+ *
89
+ * const wallet = smartWallet({
90
+ * chain: sepolia,
91
+ * sponsorGas: true, // enable sponsored transactions
92
+ * factoryAddress: DEFAULT_ACCOUNT_FACTORY_V0_7,
93
+ * overrides: {
94
+ * entrypointAddress: ENTRYPOINT_ADDRESS_v0_7
95
+ * }
96
+ * });
97
+ * ```
98
+ *
65
99
  * ## Configuring the smart wallet
66
100
  *
67
101
  * You can pass options to the `smartWallet` function to configure the smart wallet.
@@ -1 +1 @@
1
- {"version":3,"file":"smart-wallet.js","sourceRoot":"","sources":["../../../../src/wallets/smart/smart-wallet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"smart-wallet.js","sourceRoot":"","sources":["../../../../src/wallets/smart/smart-wallet.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export declare const version = "5.61.1";
1
+ export declare const version = "5.61.3";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"calls.d.ts","sourceRoot":"","sources":["../../../../../src/wallets/smart/lib/calls.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEtE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAGvF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAExE;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE;IACzC,eAAe,EAAE,gBAAgB,CAAC;IAClC,sBAAsB,CAAC,EAAE,CACvB,eAAe,EAAE,gBAAgB,KAC9B,OAAO,CAAC,MAAM,CAAC,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,GAAG,OAAO,CAAC,MAAM,CAAC,CAyBlB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE;IACzC,eAAe,EAAE,gBAAgB,CAAC;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qBAAqB,CAAC,EAAE,CACtB,eAAe,EAAE,gBAAgB,KAC9B,mBAAmB,CAAC;CAC1B,GAAG,mBAAmB,CAetB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE;IACnC,eAAe,EAAE,gBAAgB,CAAC;IAClC,WAAW,EAAE,qBAAqB,CAAC;IACnC,eAAe,CAAC,EAAE,CAChB,eAAe,EAAE,gBAAgB,EACjC,WAAW,EAAE,qBAAqB,KAC/B,mBAAmB,CAAC;CAC1B,GAAG,mBAAmB,CActB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE;IACxC,eAAe,EAAE,gBAAgB,CAAC;IAClC,YAAY,EAAE,qBAAqB,EAAE,CAAC;IACtC,oBAAoB,CAAC,EAAE,CACrB,eAAe,EAAE,gBAAgB,EACjC,YAAY,EAAE,qBAAqB,EAAE,KAClC,mBAAmB,CAAC;CAC1B,GAAG,mBAAmB,CAkBtB"}
1
+ {"version":3,"file":"calls.d.ts","sourceRoot":"","sources":["../../../../../src/wallets/smart/lib/calls.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEtE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAGvF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAExE;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE;IACzC,eAAe,EAAE,gBAAgB,CAAC;IAClC,sBAAsB,CAAC,EAAE,CACvB,eAAe,EAAE,gBAAgB,KAC9B,OAAO,CAAC,MAAM,CAAC,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,GAAG,OAAO,CAAC,MAAM,CAAC,CA4BlB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE;IACzC,eAAe,EAAE,gBAAgB,CAAC;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qBAAqB,CAAC,EAAE,CACtB,eAAe,EAAE,gBAAgB,KAC9B,mBAAmB,CAAC;CAC1B,GAAG,mBAAmB,CAmBtB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE;IACnC,eAAe,EAAE,gBAAgB,CAAC;IAClC,WAAW,EAAE,qBAAqB,CAAC;IACnC,eAAe,CAAC,EAAE,CAChB,eAAe,EAAE,gBAAgB,EACjC,WAAW,EAAE,qBAAqB,KAC/B,mBAAmB,CAAC;CAC1B,GAAG,mBAAmB,CAkBtB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE;IACxC,eAAe,EAAE,gBAAgB,CAAC;IAClC,YAAY,EAAE,qBAAqB,EAAE,CAAC;IACtC,oBAAoB,CAAC,EAAE,CACrB,eAAe,EAAE,gBAAgB,EACjC,YAAY,EAAE,qBAAqB,EAAE,KAClC,mBAAmB,CAAC;CAC1B,GAAG,mBAAmB,CAkBtB"}
@@ -56,6 +56,7 @@ export declare function createUnsignedUserOp(args: {
56
56
  accountContract: ThirdwebContract;
57
57
  adminAddress: string;
58
58
  sponsorGas: boolean;
59
+ waitForDeployment?: boolean;
59
60
  overrides?: SmartWalletOptions["overrides"];
60
61
  }): Promise<UserOperationV06 | UserOperationV07>;
61
62
  /**
@@ -106,5 +107,6 @@ export declare function createAndSignUserOp(options: {
106
107
  adminAccount: Account;
107
108
  client: ThirdwebClient;
108
109
  smartWalletOptions: SmartWalletOptions;
110
+ waitForDeployment?: boolean;
109
111
  }): Promise<UserOperationV06 | UserOperationV07>;
110
112
  //# sourceMappingURL=userop.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"userop.d.ts","sourceRoot":"","sources":["../../../../../src/wallets/smart/lib/userop.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EACL,KAAK,gBAAgB,EAEtB,MAAM,+BAA+B,CAAC;AAOvC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AACvF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAExE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gCAAgC,CAAC;AAI1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,KAAK,EACV,cAAc,EAEd,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,aAAa,CAAC;AAkCrB,eAAO,MAAM,qBAAqB,oBAAqB,gBAAgB,SAEtE,CAAC;AAMF;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,cAAc,GAAG;IACrB,UAAU,EAAE,GAAG,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GACA,OAAO,CAAC,kBAAkB,CAAC,CAY7B;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE;IAC/C,WAAW,EAAE,mBAAmB,CAAC;IACjC,eAAe,EAAE,gBAAgB,CAAC;IAClC,eAAe,EAAE,gBAAgB,CAAC;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;CAC7C,GAAG,OAAO,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,CAwE/C;AAqTD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE;IACrC,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,CAAC;IAC5C,KAAK,EAAE,KAAK,CAAC;IACb,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,EAAE,OAAO,CAAC;CACvB,GAAG,OAAO,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,CA0C/C;AAiDD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE;IACjD,YAAY,EAAE,mBAAmB,EAAE,CAAC;IACpC,YAAY,EAAE,OAAO,CAAC;IACtB,MAAM,EAAE,cAAc,CAAC;IACvB,kBAAkB,EAAE,kBAAkB,CAAC;CACxC,gDAkEA"}
1
+ {"version":3,"file":"userop.d.ts","sourceRoot":"","sources":["../../../../../src/wallets/smart/lib/userop.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EACL,KAAK,gBAAgB,EAEtB,MAAM,+BAA+B,CAAC;AAOvC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AACvF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAExE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gCAAgC,CAAC;AAI1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,KAAK,EACV,cAAc,EAEd,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,aAAa,CAAC;AAkCrB,eAAO,MAAM,qBAAqB,oBAAqB,gBAAgB,SAEtE,CAAC;AAMF;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,cAAc,GAAG;IACrB,UAAU,EAAE,GAAG,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GACA,OAAO,CAAC,kBAAkB,CAAC,CAY7B;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE;IAC/C,WAAW,EAAE,mBAAmB,CAAC;IACjC,eAAe,EAAE,gBAAgB,CAAC;IAClC,eAAe,EAAE,gBAAgB,CAAC;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,SAAS,CAAC,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;CAC7C,GAAG,OAAO,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,CA+E/C;AAiUD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE;IACrC,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,CAAC;IAC5C,KAAK,EAAE,KAAK,CAAC;IACb,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,EAAE,OAAO,CAAC;CACvB,GAAG,OAAO,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,CA0C/C;AAiDD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE;IACjD,YAAY,EAAE,mBAAmB,EAAE,CAAC;IACpC,YAAY,EAAE,OAAO,CAAC;IACtB,MAAM,EAAE,cAAc,CAAC;IACvB,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,gDAmEA"}
@@ -58,6 +58,40 @@ import type { CreateWalletArgs } from "../wallet-types.js";
58
58
  * });
59
59
  * ```
60
60
  *
61
+ * ## Using a custom account factory
62
+ *
63
+ * You can pass a custom account factory to the `smartWallet` function to use a your own account factory.
64
+ *
65
+ * ```ts
66
+ * import { smartWallet } from "thirdweb/wallets";
67
+ * import { sepolia } from "thirdweb/chains";
68
+ *
69
+ * const wallet = smartWallet({
70
+ * chain: sepolia,
71
+ * sponsorGas: true, // enable sponsored transactions
72
+ * factoryAddress: "0x...", // custom factory address
73
+ * });
74
+ *
75
+ * ## Using v0.7 Entrypoint
76
+ *
77
+ * Both v0.6 (default) and v0.7 ERC4337 Entrypoints are supported. To use the v0.7 Entrypoint, you can pass the `entrypointAddress` option to the `smartWallet` function, as well as a compatible account factory.
78
+ *
79
+ * You can use the predeployed `DEFAULT_ACCOUNT_FACTORY_V0_7` or deploy your own [AccountFactory v0.7](https://thirdweb.com/thirdweb.eth/AccountFactory_0_7).
80
+ *
81
+ * ```ts
82
+ * import { smartWallet, DEFAULT_ACCOUNT_FACTORY_V0_7, ENTRYPOINT_ADDRESS_v0_7 } from "thirdweb/wallets/smart";
83
+ * import { sepolia } from "thirdweb/chains";
84
+ *
85
+ * const wallet = smartWallet({
86
+ * chain: sepolia,
87
+ * sponsorGas: true, // enable sponsored transactions
88
+ * factoryAddress: DEFAULT_ACCOUNT_FACTORY_V0_7,
89
+ * overrides: {
90
+ * entrypointAddress: ENTRYPOINT_ADDRESS_v0_7
91
+ * }
92
+ * });
93
+ * ```
94
+ *
61
95
  * ## Configuring the smart wallet
62
96
  *
63
97
  * You can pass options to the `smartWallet` function to configure the smart wallet.
@@ -1 +1 @@
1
- {"version":3,"file":"smart-wallet.d.ts","sourceRoot":"","sources":["../../../../src/wallets/smart/smart-wallet.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAW,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,KAAK,EACV,gBAAgB,EAEjB,MAAM,oBAAoB,CAAC;AAG5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqFG;AACH,wBAAgB,WAAW,CACzB,aAAa,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAC1C,MAAM,CAAC,OAAO,CAAC,CAoGjB"}
1
+ {"version":3,"file":"smart-wallet.d.ts","sourceRoot":"","sources":["../../../../src/wallets/smart/smart-wallet.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAW,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,KAAK,EACV,gBAAgB,EAEjB,MAAM,oBAAoB,CAAC;AAG5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuHG;AACH,wBAAgB,WAAW,CACzB,aAAa,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAC1C,MAAM,CAAC,OAAO,CAAC,CAoGjB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "thirdweb",
3
- "version": "5.61.1",
3
+ "version": "5.61.3",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/thirdweb-dev/js.git#main"
@@ -297,12 +297,12 @@
297
297
  "@react-native-async-storage/async-storage": "1.24.0",
298
298
  "@size-limit/preset-big-lib": "11.1.6",
299
299
  "@storybook/addon-essentials": "8.3.4",
300
- "@storybook/addon-interactions": "8.3.4",
300
+ "@storybook/addon-interactions": "8.3.5",
301
301
  "@storybook/addon-links": "8.3.4",
302
302
  "@storybook/addon-onboarding": "8.3.4",
303
303
  "@storybook/react": "8.3.4",
304
304
  "@storybook/react-vite": "8.3.4",
305
- "@storybook/test": "8.3.4",
305
+ "@storybook/test": "8.3.5",
306
306
  "@testing-library/jest-dom": "^6.4.7",
307
307
  "@testing-library/react": "^16.0.0",
308
308
  "@testing-library/user-event": "^14.5.2",
@@ -1,6 +1,16 @@
1
1
  import { describe, expect, it } from "vitest";
2
2
 
3
+ import { ANVIL_CHAIN } from "~test/chains.js";
4
+ import { TEST_CONTRACT_URI } from "~test/ipfs-uris.js";
5
+ import { TEST_CLIENT } from "~test/test-clients.js";
3
6
  import { DOODLES_CONTRACT } from "~test/test-contracts.js";
7
+ import { TEST_ACCOUNT_A } from "~test/test-wallets.js";
8
+ import { getContract } from "../../../contract/contract.js";
9
+ import { deployERC721Contract } from "../../../extensions/prebuilts/deploy-erc721.js";
10
+ import { sendAndConfirmTransaction } from "../../../transaction/actions/send-and-confirm-transaction.js";
11
+ import { parseNFT } from "../../../utils/nft/parseNft.js";
12
+ import { setTokenURI } from "../__generated__/INFTMetadata/write/setTokenURI.js";
13
+ import { mintTo } from "../write/mintTo.js";
4
14
  import { getNFT } from "./getNFT.js";
5
15
 
6
16
  describe.runIf(process.env.TW_SECRET_KEY)("erc721.getNFT", () => {
@@ -89,4 +99,60 @@ describe.runIf(process.env.TW_SECRET_KEY)("erc721.getNFT", () => {
89
99
  }
90
100
  `);
91
101
  });
102
+
103
+ it("should return a default value if the URI of the token doesn't exist", async () => {
104
+ /**
105
+ * To create this test scenario, we first deploy an NFTCollection/Edition contract,
106
+ * mint a token, then purposefully change that token's URI to an empty string, using setTokenURI
107
+ */
108
+ const contract = getContract({
109
+ address: await deployERC721Contract({
110
+ chain: ANVIL_CHAIN,
111
+ client: TEST_CLIENT,
112
+ account: TEST_ACCOUNT_A,
113
+ type: "TokenERC721",
114
+ params: {
115
+ name: "",
116
+ contractURI: TEST_CONTRACT_URI,
117
+ },
118
+ }),
119
+ chain: ANVIL_CHAIN,
120
+ client: TEST_CLIENT,
121
+ });
122
+
123
+ await sendAndConfirmTransaction({
124
+ transaction: mintTo({
125
+ contract,
126
+ nft: { name: "token 0" },
127
+ to: TEST_ACCOUNT_A.address,
128
+ }),
129
+ account: TEST_ACCOUNT_A,
130
+ });
131
+
132
+ await sendAndConfirmTransaction({
133
+ transaction: setTokenURI({
134
+ contract,
135
+ tokenId: 0n,
136
+ // Need to have some spaces because NFTMetadata.sol does not allow to update an empty valud
137
+ uri: " ",
138
+ }),
139
+ account: TEST_ACCOUNT_A,
140
+ });
141
+
142
+ expect(await getNFT({ contract, tokenId: 0n })).toStrictEqual(
143
+ parseNFT(
144
+ {
145
+ id: 0n,
146
+ type: "ERC721",
147
+ uri: "",
148
+ },
149
+ {
150
+ tokenId: 0n,
151
+ tokenUri: "",
152
+ type: "ERC721",
153
+ owner: null,
154
+ },
155
+ ),
156
+ );
157
+ });
92
158
  });
@@ -48,7 +48,7 @@ export async function getNFT(
48
48
  : null,
49
49
  ]);
50
50
 
51
- if (!uri) {
51
+ if (!uri?.trim()) {
52
52
  return parseNFT(
53
53
  {
54
54
  id: options.tokenId,
@@ -1,6 +1,17 @@
1
+ import { type Abi, toFunctionSelector } from "viem";
1
2
  import { describe, expect, it } from "vitest";
2
-
3
- import { DOODLES_CONTRACT } from "~test/test-contracts.js";
3
+ import { ANVIL_CHAIN } from "~test/chains.js";
4
+ import { TEST_CONTRACT_URI } from "~test/ipfs-uris.js";
5
+ import { TEST_CLIENT } from "~test/test-clients.js";
6
+ import {
7
+ DOODLES_CONTRACT,
8
+ UNISWAPV3_FACTORY_CONTRACT,
9
+ } from "~test/test-contracts.js";
10
+ import { TEST_ACCOUNT_B } from "~test/test-wallets.js";
11
+ import { resolveContractAbi } from "../../../contract/actions/resolve-abi.js";
12
+ import { getContract } from "../../../contract/contract.js";
13
+ import { deployERC721Contract } from "../../../extensions/prebuilts/deploy-erc721.js";
14
+ import { isGetNFTSupported } from "./getNFT.js";
4
15
  import { getNFTs } from "./getNFTs.js";
5
16
 
6
17
  describe.runIf(process.env.TW_SECRET_KEY)("erc721.getNFTs", () => {
@@ -185,4 +196,35 @@ describe.runIf(process.env.TW_SECRET_KEY)("erc721.getNFTs", () => {
185
196
  it.todo("works for a contract with `1` indexed NFTs", async () => {
186
197
  // TODO find a contract that we can use that has "1 indexed" NFTs, then re-enable this test
187
198
  });
199
+
200
+ it("isGetNFTsSupported should work", async () => {
201
+ const contract = getContract({
202
+ address: await deployERC721Contract({
203
+ chain: ANVIL_CHAIN,
204
+ client: TEST_CLIENT,
205
+ type: "TokenERC721",
206
+ params: {
207
+ name: "",
208
+ contractURI: TEST_CONTRACT_URI,
209
+ },
210
+ account: TEST_ACCOUNT_B,
211
+ }),
212
+ chain: ANVIL_CHAIN,
213
+ client: TEST_CLIENT,
214
+ });
215
+
216
+ const abi = await resolveContractAbi<Abi>(contract);
217
+ const selectors = abi
218
+ .filter((f) => f.type === "function")
219
+ .map((f) => toFunctionSelector(f));
220
+ expect(isGetNFTSupported(selectors)).toBe(true);
221
+ });
222
+
223
+ it("should throw error if totalSupply and nextTokenIdToMint are not supported", async () => {
224
+ await expect(() =>
225
+ getNFTs({ contract: UNISWAPV3_FACTORY_CONTRACT }),
226
+ ).rejects.toThrowError(
227
+ "Contract requires either `nextTokenIdToMint` or `totalSupply` function available to determine the next token ID to mint",
228
+ );
229
+ });
188
230
  });
@@ -1,5 +1,9 @@
1
1
  import { describe, expect, it } from "vitest";
2
- import { DOODLES_CONTRACT } from "~test/test-contracts.js";
2
+ import {
3
+ DOODLES_CONTRACT,
4
+ UNISWAPV3_FACTORY_CONTRACT,
5
+ } from "~test/test-contracts.js";
6
+ import { TEST_ACCOUNT_B } from "~test/test-wallets.js";
3
7
  import { getOwnedTokenIds } from "./getOwnedTokenIds.js";
4
8
 
5
9
  describe.runIf(process.env.TW_SECRET_KEY)("erc721.getOwnedTokenIds", () => {
@@ -14,4 +18,14 @@ describe.runIf(process.env.TW_SECRET_KEY)("erc721.getOwnedTokenIds", () => {
14
18
  // so the data should not change
15
19
  expect(tokenIds.length).toBe(81);
16
20
  });
21
+
22
+ it("should throw if tokenOfOwnerByIndex or tokensOfOwner not supported", async () => {
23
+ // We know current Lens contract on Polygon doesn't have this.
24
+ const contract = UNISWAPV3_FACTORY_CONTRACT;
25
+ await expect(() =>
26
+ getOwnedTokenIds({ contract, owner: TEST_ACCOUNT_B.address }),
27
+ ).rejects.toThrowError(
28
+ `The contract at ${contract.address} on chain ${contract.chain.id} does not support the tokenOfOwnerByIndex or tokensOfOwner interface`,
29
+ );
30
+ });
17
31
  });
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const version = "5.61.1";
1
+ export const version = "5.61.3";
@@ -2,7 +2,7 @@ import type { ThirdwebContract } from "../../../contract/contract.js";
2
2
  import { prepareContractCall } from "../../../transaction/prepare-contract-call.js";
3
3
  import type { PreparedTransaction } from "../../../transaction/prepare-transaction.js";
4
4
  import { readContract } from "../../../transaction/read-contract.js";
5
- import { stringToHex } from "../../../utils/encoding/hex.js";
5
+ import { isHex, stringToHex } from "../../../utils/encoding/hex.js";
6
6
  import type { SendTransactionOption } from "../../interfaces/wallet.js";
7
7
 
8
8
  /**
@@ -48,11 +48,14 @@ export async function predictAddress(args: {
48
48
  "Account address is required to predict the smart wallet address.",
49
49
  );
50
50
  }
51
- const extraData = stringToHex(accountSalt ?? "");
51
+ const saltHex =
52
+ accountSalt && isHex(accountSalt)
53
+ ? accountSalt
54
+ : stringToHex(accountSalt ?? "");
52
55
  return readContract({
53
56
  contract: factoryContract,
54
57
  method: "function getAddress(address, bytes) returns (address)",
55
- params: [adminAddress, extraData],
58
+ params: [adminAddress, saltHex],
56
59
  });
57
60
  }
58
61
 
@@ -76,10 +79,14 @@ export function prepareCreateAccount(args: {
76
79
  if (createAccount) {
77
80
  return createAccount(factoryContract);
78
81
  }
82
+ const saltHex =
83
+ accountSalt && isHex(accountSalt)
84
+ ? accountSalt
85
+ : stringToHex(accountSalt ?? "");
79
86
  return prepareContractCall({
80
87
  contract: factoryContract,
81
88
  method: "function createAccount(address, bytes) returns (address)",
82
- params: [adminAddress, stringToHex(accountSalt ?? "")],
89
+ params: [adminAddress, saltHex],
83
90
  });
84
91
  }
85
92
 
@@ -106,6 +113,10 @@ export function prepareExecute(args: {
106
113
  transaction.value || 0n,
107
114
  transaction.data || "0x",
108
115
  ],
116
+ // if gas is specified for the inner tx, use that and add 21k for the execute call on the account contract
117
+ // this avoids another estimateGas call when bundling the userOp
118
+ // and also allows for passing custom gas limits for the inner tx
119
+ gas: transaction.gas ? transaction.gas + 21000n : undefined,
109
120
  });
110
121
  }
111
122
 
@@ -131,6 +131,7 @@ export async function createUnsignedUserOp(args: {
131
131
  accountContract: ThirdwebContract;
132
132
  adminAddress: string;
133
133
  sponsorGas: boolean;
134
+ waitForDeployment?: boolean;
134
135
  overrides?: SmartWalletOptions["overrides"];
135
136
  }): Promise<UserOperationV06 | UserOperationV07> {
136
137
  const {
@@ -140,6 +141,7 @@ export async function createUnsignedUserOp(args: {
140
141
  adminAddress,
141
142
  overrides,
142
143
  sponsorGas,
144
+ waitForDeployment = true,
143
145
  } = args;
144
146
  const chain = executeTx.chain;
145
147
  const client = executeTx.client;
@@ -154,23 +156,25 @@ export async function createUnsignedUserOp(args: {
154
156
  args.overrides?.entrypointAddress || ENTRYPOINT_ADDRESS_v0_6,
155
157
  );
156
158
 
157
- const [isDeployed, callData, gasFees, nonce] = await Promise.all([
158
- isContractDeployed(accountContract),
159
- encode(executeTx),
160
- getGasFees({
161
- executeTx,
162
- bundlerOptions,
163
- chain,
164
- client,
165
- }),
166
- getAccountNonce({
167
- accountContract,
168
- chain,
169
- client,
170
- entrypointAddress: overrides?.entrypointAddress,
171
- getNonceOverride: overrides?.getAccountNonce,
172
- }),
173
- ]);
159
+ const [isDeployed, callData, callGasLimit, gasFees, nonce] =
160
+ await Promise.all([
161
+ isContractDeployed(accountContract),
162
+ encode(executeTx),
163
+ resolvePromisedValue(executeTx.gas),
164
+ getGasFees({
165
+ executeTx,
166
+ bundlerOptions,
167
+ chain,
168
+ client,
169
+ }),
170
+ getAccountNonce({
171
+ accountContract,
172
+ chain,
173
+ client,
174
+ entrypointAddress: overrides?.entrypointAddress,
175
+ getNonceOverride: overrides?.getAccountNonce,
176
+ }),
177
+ ]);
174
178
 
175
179
  const { maxFeePerGas, maxPriorityFeePerGas } = gasFees;
176
180
 
@@ -185,8 +189,10 @@ export async function createUnsignedUserOp(args: {
185
189
  isDeployed,
186
190
  nonce,
187
191
  callData,
192
+ callGasLimit,
188
193
  maxFeePerGas,
189
194
  maxPriorityFeePerGas,
195
+ waitForDeployment,
190
196
  });
191
197
  }
192
198
 
@@ -201,8 +207,10 @@ export async function createUnsignedUserOp(args: {
201
207
  isDeployed,
202
208
  nonce,
203
209
  callData,
210
+ callGasLimit,
204
211
  maxFeePerGas,
205
212
  maxPriorityFeePerGas,
213
+ waitForDeployment,
206
214
  });
207
215
  }
208
216
 
@@ -262,8 +270,10 @@ async function populateUserOp_v0_7(args: {
262
270
  isDeployed: boolean;
263
271
  nonce: bigint;
264
272
  callData: Hex;
273
+ callGasLimit?: bigint;
265
274
  maxFeePerGas: bigint;
266
275
  maxPriorityFeePerGas: bigint;
276
+ waitForDeployment: boolean;
267
277
  }): Promise<UserOperationV07> {
268
278
  const {
269
279
  bundlerOptions,
@@ -275,17 +285,21 @@ async function populateUserOp_v0_7(args: {
275
285
  overrides,
276
286
  nonce,
277
287
  callData,
288
+ callGasLimit,
278
289
  maxFeePerGas,
279
290
  maxPriorityFeePerGas,
291
+ waitForDeployment,
280
292
  } = args;
281
293
  const { chain, client } = bundlerOptions;
282
294
 
283
295
  let factory: string | undefined;
284
296
  let factoryData: Hex;
285
- // lock until account is deployed if needed to avoid 'sender already created' errors when sending multiple transactions in parallel
286
297
  if (isDeployed || isAccountDeploying(accountContract)) {
287
298
  factoryData = "0x";
288
- await waitForAccountDeployed(accountContract);
299
+ if (waitForDeployment) {
300
+ // lock until account is deployed if needed to avoid 'sender already created' errors when sending multiple transactions in parallel
301
+ await waitForAccountDeployed(accountContract);
302
+ }
289
303
  } else {
290
304
  factory = factoryContract.address;
291
305
  factoryData = await encode(
@@ -305,7 +319,7 @@ async function populateUserOp_v0_7(args: {
305
319
  callData,
306
320
  maxFeePerGas,
307
321
  maxPriorityFeePerGas,
308
- callGasLimit: 0n,
322
+ callGasLimit: callGasLimit ?? 0n,
309
323
  verificationGasLimit: 0n,
310
324
  preVerificationGas: 0n,
311
325
  factory,
@@ -399,8 +413,10 @@ async function populateUserOp_v0_6(args: {
399
413
  isDeployed: boolean;
400
414
  nonce: bigint;
401
415
  callData: Hex;
416
+ callGasLimit?: bigint;
402
417
  maxFeePerGas: bigint;
403
418
  maxPriorityFeePerGas: bigint;
419
+ waitForDeployment: boolean;
404
420
  }): Promise<UserOperationV06> {
405
421
  const {
406
422
  bundlerOptions,
@@ -412,16 +428,20 @@ async function populateUserOp_v0_6(args: {
412
428
  overrides,
413
429
  nonce,
414
430
  callData,
431
+ callGasLimit,
415
432
  maxFeePerGas,
416
433
  maxPriorityFeePerGas,
434
+ waitForDeployment,
417
435
  } = args;
418
436
  const { chain, client } = bundlerOptions;
419
437
  let initCode: Hex;
420
438
 
421
- // lock until account is deployed if needed to avoid 'sender already created' errors when sending multiple transactions in parallel
422
439
  if (isDeployed || isAccountDeploying(accountContract)) {
423
440
  initCode = "0x";
424
- await waitForAccountDeployed(accountContract);
441
+ if (waitForDeployment) {
442
+ // lock until account is deployed if needed to avoid 'sender already created' errors when sending multiple transactions in parallel
443
+ await waitForAccountDeployed(accountContract);
444
+ }
425
445
  } else {
426
446
  initCode = await getAccountInitCode({
427
447
  factoryContract: factoryContract,
@@ -439,7 +459,7 @@ async function populateUserOp_v0_6(args: {
439
459
  callData,
440
460
  maxFeePerGas,
441
461
  maxPriorityFeePerGas,
442
- callGasLimit: 0n,
462
+ callGasLimit: callGasLimit ?? 0n,
443
463
  verificationGasLimit: 0n,
444
464
  preVerificationGas: 0n,
445
465
  paymasterAndData: "0x",
@@ -651,6 +671,7 @@ export async function createAndSignUserOp(options: {
651
671
  adminAccount: Account;
652
672
  client: ThirdwebClient;
653
673
  smartWalletOptions: SmartWalletOptions;
674
+ waitForDeployment?: boolean;
654
675
  }) {
655
676
  const config = options.smartWalletOptions;
656
677
  const factoryContract = getContract({
@@ -708,6 +729,7 @@ export async function createAndSignUserOp(options: {
708
729
  adminAddress: options.adminAccount.address,
709
730
  sponsorGas: "sponsorGas" in config ? config.sponsorGas : config.gasless,
710
731
  overrides: config.overrides,
732
+ waitForDeployment: options.waitForDeployment,
711
733
  });
712
734
  const signedUserOp = await signUserOp({
713
735
  client: options.client,
@@ -723,6 +745,7 @@ async function waitForAccountDeployed(accountContract: ThirdwebContract) {
723
745
  const startTime = Date.now();
724
746
  while (isAccountDeploying(accountContract)) {
725
747
  if (Date.now() - startTime > 60000) {
748
+ clearAccountDeploying(accountContract); // clear the flag so it doesnt stay stuck in this state
726
749
  throw new Error(
727
750
  "Account deployment is taking too long (over 1 minute). Please try again.",
728
751
  );
@@ -225,14 +225,12 @@ describe.runIf(process.env.TW_SECRET_KEY).sequential(
225
225
  client,
226
226
  });
227
227
  expect(isValidV1).toEqual(true);
228
- const isValidV2 = await checkContractWalletSignature({
228
+ const isValidV2 = await verifySignature({
229
229
  message,
230
230
  signature,
231
- contract: getContract({
232
- address: newAccount.address,
233
- chain,
234
- client,
235
- }),
231
+ address: newAccount.address,
232
+ chain,
233
+ client,
236
234
  });
237
235
  expect(isValidV2).toEqual(true);
238
236
 
@@ -69,6 +69,40 @@ import { getDefaultAccountFactory } from "./lib/constants.js";
69
69
  * });
70
70
  * ```
71
71
  *
72
+ * ## Using a custom account factory
73
+ *
74
+ * You can pass a custom account factory to the `smartWallet` function to use a your own account factory.
75
+ *
76
+ * ```ts
77
+ * import { smartWallet } from "thirdweb/wallets";
78
+ * import { sepolia } from "thirdweb/chains";
79
+ *
80
+ * const wallet = smartWallet({
81
+ * chain: sepolia,
82
+ * sponsorGas: true, // enable sponsored transactions
83
+ * factoryAddress: "0x...", // custom factory address
84
+ * });
85
+ *
86
+ * ## Using v0.7 Entrypoint
87
+ *
88
+ * Both v0.6 (default) and v0.7 ERC4337 Entrypoints are supported. To use the v0.7 Entrypoint, you can pass the `entrypointAddress` option to the `smartWallet` function, as well as a compatible account factory.
89
+ *
90
+ * You can use the predeployed `DEFAULT_ACCOUNT_FACTORY_V0_7` or deploy your own [AccountFactory v0.7](https://thirdweb.com/thirdweb.eth/AccountFactory_0_7).
91
+ *
92
+ * ```ts
93
+ * import { smartWallet, DEFAULT_ACCOUNT_FACTORY_V0_7, ENTRYPOINT_ADDRESS_v0_7 } from "thirdweb/wallets/smart";
94
+ * import { sepolia } from "thirdweb/chains";
95
+ *
96
+ * const wallet = smartWallet({
97
+ * chain: sepolia,
98
+ * sponsorGas: true, // enable sponsored transactions
99
+ * factoryAddress: DEFAULT_ACCOUNT_FACTORY_V0_7,
100
+ * overrides: {
101
+ * entrypointAddress: ENTRYPOINT_ADDRESS_v0_7
102
+ * }
103
+ * });
104
+ * ```
105
+ *
72
106
  * ## Configuring the smart wallet
73
107
  *
74
108
  * You can pass options to the `smartWallet` function to configure the smart wallet.