thirdweb 5.41.0 → 5.42.0

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 (180) hide show
  1. package/dist/cjs/adapters/wallet-adapter.js +12 -1
  2. package/dist/cjs/adapters/wallet-adapter.js.map +1 -1
  3. package/dist/cjs/client/client.js +19 -1
  4. package/dist/cjs/client/client.js.map +1 -1
  5. package/dist/cjs/exports/extensions/common.js +3 -1
  6. package/dist/cjs/exports/extensions/common.js.map +1 -1
  7. package/dist/cjs/exports/extensions/erc1155.js +2 -1
  8. package/dist/cjs/exports/extensions/erc1155.js.map +1 -1
  9. package/dist/cjs/exports/react.js +7 -2
  10. package/dist/cjs/exports/react.js.map +1 -1
  11. package/dist/cjs/exports/utils.js +3 -1
  12. package/dist/cjs/exports/utils.js.map +1 -1
  13. package/dist/cjs/exports/wallets/in-app.js.map +1 -1
  14. package/dist/cjs/exports/wallets.js.map +1 -1
  15. package/dist/cjs/exports/wallets.native.js.map +1 -1
  16. package/dist/cjs/react/core/hooks/others/useChainQuery.js +19 -3
  17. package/dist/cjs/react/core/hooks/others/useChainQuery.js.map +1 -1
  18. package/dist/cjs/react/core/hooks/transaction/transaction-button-utils.js.map +1 -1
  19. package/dist/cjs/react/web/ui/AutoConnect/AutoConnect.js +5 -0
  20. package/dist/cjs/react/web/ui/AutoConnect/AutoConnect.js.map +1 -1
  21. package/dist/cjs/react/web/ui/ConnectWallet/ConnectButton.js +196 -2
  22. package/dist/cjs/react/web/ui/ConnectWallet/ConnectButton.js.map +1 -1
  23. package/dist/cjs/react/web/ui/ConnectWallet/Modal/ConnectEmbed.js +109 -3
  24. package/dist/cjs/react/web/ui/ConnectWallet/Modal/ConnectEmbed.js.map +1 -1
  25. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/DirectPaymentModeScreen.js +1 -1
  26. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/DirectPaymentModeScreen.js.map +1 -1
  27. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js +1 -1
  28. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js.map +1 -1
  29. package/dist/cjs/react/web/ui/prebuilt/thirdweb/BuyDirectListingButton/index.js +127 -0
  30. package/dist/cjs/react/web/ui/prebuilt/thirdweb/BuyDirectListingButton/index.js.map +1 -0
  31. package/dist/cjs/react/web/ui/prebuilt/thirdweb/ClaimButton/index.js +70 -3
  32. package/dist/cjs/react/web/ui/prebuilt/thirdweb/ClaimButton/index.js.map +1 -1
  33. package/dist/cjs/react/web/wallets/shared/ConnectWalletSocialOptions.js +19 -7
  34. package/dist/cjs/react/web/wallets/shared/ConnectWalletSocialOptions.js.map +1 -1
  35. package/dist/cjs/storage/download.js +44 -4
  36. package/dist/cjs/storage/download.js.map +1 -1
  37. package/dist/cjs/utils/contract/parse-abi-params.js +87 -0
  38. package/dist/cjs/utils/contract/parse-abi-params.js.map +1 -0
  39. package/dist/cjs/version.js +1 -1
  40. package/dist/cjs/wallets/create-wallet.js +73 -0
  41. package/dist/cjs/wallets/create-wallet.js.map +1 -1
  42. package/dist/cjs/wallets/in-app/core/wallet/index.js +2 -3
  43. package/dist/cjs/wallets/in-app/core/wallet/index.js.map +1 -1
  44. package/dist/cjs/wallets/in-app/web/ecosystem.js +29 -3
  45. package/dist/cjs/wallets/in-app/web/ecosystem.js.map +1 -1
  46. package/dist/cjs/wallets/in-app/web/in-app.js +100 -5
  47. package/dist/cjs/wallets/in-app/web/in-app.js.map +1 -1
  48. package/dist/cjs/wallets/smart/smart-wallet.js +71 -5
  49. package/dist/cjs/wallets/smart/smart-wallet.js.map +1 -1
  50. package/dist/esm/adapters/wallet-adapter.js +12 -1
  51. package/dist/esm/adapters/wallet-adapter.js.map +1 -1
  52. package/dist/esm/client/client.js +19 -1
  53. package/dist/esm/client/client.js.map +1 -1
  54. package/dist/esm/exports/extensions/common.js +1 -0
  55. package/dist/esm/exports/extensions/common.js.map +1 -1
  56. package/dist/esm/exports/extensions/erc1155.js +1 -1
  57. package/dist/esm/exports/extensions/erc1155.js.map +1 -1
  58. package/dist/esm/exports/react.js +3 -0
  59. package/dist/esm/exports/react.js.map +1 -1
  60. package/dist/esm/exports/utils.js +1 -0
  61. package/dist/esm/exports/utils.js.map +1 -1
  62. package/dist/esm/exports/wallets/in-app.js.map +1 -1
  63. package/dist/esm/exports/wallets.js.map +1 -1
  64. package/dist/esm/exports/wallets.native.js.map +1 -1
  65. package/dist/esm/react/core/hooks/others/useChainQuery.js +19 -3
  66. package/dist/esm/react/core/hooks/others/useChainQuery.js.map +1 -1
  67. package/dist/esm/react/core/hooks/transaction/transaction-button-utils.js.map +1 -1
  68. package/dist/esm/react/web/ui/AutoConnect/AutoConnect.js +5 -0
  69. package/dist/esm/react/web/ui/AutoConnect/AutoConnect.js.map +1 -1
  70. package/dist/esm/react/web/ui/ConnectWallet/ConnectButton.js +196 -2
  71. package/dist/esm/react/web/ui/ConnectWallet/ConnectButton.js.map +1 -1
  72. package/dist/esm/react/web/ui/ConnectWallet/Modal/ConnectEmbed.js +109 -3
  73. package/dist/esm/react/web/ui/ConnectWallet/Modal/ConnectEmbed.js.map +1 -1
  74. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/DirectPaymentModeScreen.js +2 -2
  75. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/DirectPaymentModeScreen.js.map +1 -1
  76. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js +2 -2
  77. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js.map +1 -1
  78. package/dist/esm/react/web/ui/prebuilt/thirdweb/BuyDirectListingButton/index.js +124 -0
  79. package/dist/esm/react/web/ui/prebuilt/thirdweb/BuyDirectListingButton/index.js.map +1 -0
  80. package/dist/esm/react/web/ui/prebuilt/thirdweb/ClaimButton/index.js +69 -3
  81. package/dist/esm/react/web/ui/prebuilt/thirdweb/ClaimButton/index.js.map +1 -1
  82. package/dist/esm/react/web/wallets/shared/ConnectWalletSocialOptions.js +19 -7
  83. package/dist/esm/react/web/wallets/shared/ConnectWalletSocialOptions.js.map +1 -1
  84. package/dist/esm/storage/download.js +44 -4
  85. package/dist/esm/storage/download.js.map +1 -1
  86. package/dist/esm/utils/contract/parse-abi-params.js +84 -0
  87. package/dist/esm/utils/contract/parse-abi-params.js.map +1 -0
  88. package/dist/esm/version.js +1 -1
  89. package/dist/esm/wallets/create-wallet.js +73 -0
  90. package/dist/esm/wallets/create-wallet.js.map +1 -1
  91. package/dist/esm/wallets/in-app/core/wallet/index.js +2 -3
  92. package/dist/esm/wallets/in-app/core/wallet/index.js.map +1 -1
  93. package/dist/esm/wallets/in-app/web/ecosystem.js +29 -3
  94. package/dist/esm/wallets/in-app/web/ecosystem.js.map +1 -1
  95. package/dist/esm/wallets/in-app/web/in-app.js +100 -5
  96. package/dist/esm/wallets/in-app/web/in-app.js.map +1 -1
  97. package/dist/esm/wallets/smart/smart-wallet.js +71 -5
  98. package/dist/esm/wallets/smart/smart-wallet.js.map +1 -1
  99. package/dist/types/adapters/wallet-adapter.d.ts +12 -1
  100. package/dist/types/adapters/wallet-adapter.d.ts.map +1 -1
  101. package/dist/types/client/client.d.ts +19 -1
  102. package/dist/types/client/client.d.ts.map +1 -1
  103. package/dist/types/exports/extensions/common.d.ts +1 -0
  104. package/dist/types/exports/extensions/common.d.ts.map +1 -1
  105. package/dist/types/exports/extensions/erc1155.d.ts +1 -1
  106. package/dist/types/exports/extensions/erc1155.d.ts.map +1 -1
  107. package/dist/types/exports/react.d.ts +2 -0
  108. package/dist/types/exports/react.d.ts.map +1 -1
  109. package/dist/types/exports/utils.d.ts +2 -0
  110. package/dist/types/exports/utils.d.ts.map +1 -1
  111. package/dist/types/exports/wallets/in-app.d.ts +1 -0
  112. package/dist/types/exports/wallets/in-app.d.ts.map +1 -1
  113. package/dist/types/exports/wallets.d.ts +4 -2
  114. package/dist/types/exports/wallets.d.ts.map +1 -1
  115. package/dist/types/exports/wallets.native.d.ts +3 -2
  116. package/dist/types/exports/wallets.native.d.ts.map +1 -1
  117. package/dist/types/react/core/hooks/others/useChainQuery.d.ts +21 -4
  118. package/dist/types/react/core/hooks/others/useChainQuery.d.ts.map +1 -1
  119. package/dist/types/react/core/hooks/transaction/transaction-button-utils.d.ts +1 -0
  120. package/dist/types/react/core/hooks/transaction/transaction-button-utils.d.ts.map +1 -1
  121. package/dist/types/react/web/ui/AutoConnect/AutoConnect.d.ts +5 -0
  122. package/dist/types/react/web/ui/AutoConnect/AutoConnect.d.ts.map +1 -1
  123. package/dist/types/react/web/ui/ConnectWallet/ConnectButton.d.ts +196 -2
  124. package/dist/types/react/web/ui/ConnectWallet/ConnectButton.d.ts.map +1 -1
  125. package/dist/types/react/web/ui/ConnectWallet/Modal/ConnectEmbed.d.ts +109 -3
  126. package/dist/types/react/web/ui/ConnectWallet/Modal/ConnectEmbed.d.ts.map +1 -1
  127. package/dist/types/react/web/ui/PayEmbed.d.ts +1 -1
  128. package/dist/types/react/web/ui/prebuilt/thirdweb/BuyDirectListingButton/index.d.ts +63 -0
  129. package/dist/types/react/web/ui/prebuilt/thirdweb/BuyDirectListingButton/index.d.ts.map +1 -0
  130. package/dist/types/react/web/ui/prebuilt/thirdweb/ClaimButton/index.d.ts +21 -0
  131. package/dist/types/react/web/ui/prebuilt/thirdweb/ClaimButton/index.d.ts.map +1 -1
  132. package/dist/types/react/web/wallets/shared/ConnectWalletSocialOptions.d.ts.map +1 -1
  133. package/dist/types/storage/download.d.ts +43 -3
  134. package/dist/types/storage/download.d.ts.map +1 -1
  135. package/dist/types/utils/contract/parse-abi-params.d.ts +29 -0
  136. package/dist/types/utils/contract/parse-abi-params.d.ts.map +1 -0
  137. package/dist/types/version.d.ts +1 -1
  138. package/dist/types/wallets/create-wallet.d.ts +73 -0
  139. package/dist/types/wallets/create-wallet.d.ts.map +1 -1
  140. package/dist/types/wallets/ecosystem/types.d.ts +5 -4
  141. package/dist/types/wallets/ecosystem/types.d.ts.map +1 -1
  142. package/dist/types/wallets/in-app/core/wallet/index.d.ts.map +1 -1
  143. package/dist/types/wallets/in-app/web/ecosystem.d.ts +29 -3
  144. package/dist/types/wallets/in-app/web/ecosystem.d.ts.map +1 -1
  145. package/dist/types/wallets/in-app/web/in-app.d.ts +100 -5
  146. package/dist/types/wallets/in-app/web/in-app.d.ts.map +1 -1
  147. package/dist/types/wallets/smart/smart-wallet.d.ts +71 -5
  148. package/dist/types/wallets/smart/smart-wallet.d.ts.map +1 -1
  149. package/package.json +1 -1
  150. package/src/adapters/wallet-adapter.ts +12 -1
  151. package/src/client/client.ts +19 -1
  152. package/src/exports/extensions/common.ts +5 -0
  153. package/src/exports/extensions/erc1155.ts +1 -0
  154. package/src/exports/react.ts +7 -0
  155. package/src/exports/utils.ts +3 -0
  156. package/src/exports/wallets/in-app.ts +6 -0
  157. package/src/exports/wallets.native.ts +8 -1
  158. package/src/exports/wallets.ts +13 -1
  159. package/src/react/core/hooks/others/useChainQuery.ts +24 -4
  160. package/src/react/core/hooks/transaction/transaction-button-utils.ts +1 -0
  161. package/src/react/web/ui/AutoConnect/AutoConnect.tsx +5 -0
  162. package/src/react/web/ui/ConnectWallet/ConnectButton.tsx +196 -2
  163. package/src/react/web/ui/ConnectWallet/Modal/ConnectEmbed.tsx +109 -3
  164. package/src/react/web/ui/ConnectWallet/screens/Buy/DirectPaymentModeScreen.tsx +2 -2
  165. package/src/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.tsx +2 -2
  166. package/src/react/web/ui/PayEmbed.tsx +1 -1
  167. package/src/react/web/ui/prebuilt/thirdweb/BuyDirectListingButton/BuyDirectListingButton.test.tsx +27 -0
  168. package/src/react/web/ui/prebuilt/thirdweb/BuyDirectListingButton/index.tsx +200 -0
  169. package/src/react/web/ui/prebuilt/thirdweb/ClaimButton/index.tsx +78 -5
  170. package/src/react/web/wallets/shared/ConnectWalletSocialOptions.tsx +19 -8
  171. package/src/storage/download.ts +47 -4
  172. package/src/utils/contract/parse-abi-params.test.ts +160 -0
  173. package/src/utils/contract/parse-abi-params.ts +90 -0
  174. package/src/version.ts +1 -1
  175. package/src/wallets/create-wallet.ts +73 -0
  176. package/src/wallets/ecosystem/types.ts +9 -5
  177. package/src/wallets/in-app/core/wallet/index.ts +2 -3
  178. package/src/wallets/in-app/web/ecosystem.ts +29 -3
  179. package/src/wallets/in-app/web/in-app.ts +100 -5
  180. package/src/wallets/smart/smart-wallet.ts +71 -5
@@ -4,18 +4,58 @@ exports.download = download;
4
4
  const fetch_js_1 = require("../utils/fetch.js");
5
5
  const ipfs_js_1 = require("../utils/ipfs.js");
6
6
  /**
7
- * Downloads a file from the specified URI.
7
+ * @description Downloads a file from the specified IPFS, Arweave, or HTTP URI.
8
+ *
9
+ * `download` will parse the provided URI based on its scheme (ipfs://, ar://, https://) and convert it to a URL to fetch the file from thirdweb's storage service.
10
+ *
8
11
  * @param options - The download options.
9
- * @returns A Promise that resolves to the downloaded file.
10
- * @throws An error if the URI scheme is invalid.
12
+ * @param options.client - The Thirdweb client. See [createThirdwebClient](https://portal.thirdweb.com/references/typescript/v5/createThirdwebClient).
13
+ * @param options.uri - The URI of the file to download. Can be IPFS, Arweave, or HTTP.
14
+ * @param [options.requestTimeoutMs] - The maximum time in milliseconds to wait for the request to complete. Defaults to 60 seconds (60,000 milliseconds).
15
+ *
16
+ * @returns Asynchronously returns the network response from fetching the file.
17
+ * @throws An error if the URI scheme is invalid or if the request fails.
18
+ *
11
19
  * @example
20
+ * Download a file from IPFS:
12
21
  * ```ts
13
22
  * import { download } from "thirdweb/storage";
23
+ * import { createThirdwebClient } from "@thirdweb-dev/sdk";
24
+ *
25
+ * const client = createThirdwebClient({ clientId: "YOUR_CLIENT_ID" });
26
+ *
14
27
  * const file = await download({
15
28
  * client,
16
29
  * uri: "ipfs://Qm...",
17
30
  * });
18
31
  * ```
32
+ *
33
+ * Download a file from Arweave:
34
+ * ```ts
35
+ * import { download } from "thirdweb/storage";
36
+ * import { createThirdwebClient } from "@thirdweb-dev/sdk";
37
+ *
38
+ * const client = createThirdwebClient({ clientId: "YOUR_CLIENT_ID" });
39
+ *
40
+ * const file = await download({
41
+ * client,
42
+ * uri: "ar://{arweave-transaction-id}",
43
+ * });
44
+ * ```
45
+ *
46
+ * Download a file from HTTP:
47
+ * ```ts
48
+ * import { download } from "thirdweb/storage";
49
+ * import { createThirdwebClient } from "@thirdweb-dev/sdk";
50
+ *
51
+ * const client = createThirdwebClient({ clientId: "YOUR_CLIENT_ID" });
52
+ *
53
+ * const file = await download({
54
+ * client,
55
+ * uri: "https://example.com/file.txt",
56
+ * });
57
+ * ```
58
+ *
19
59
  * @storage
20
60
  */
21
61
  async function download(options) {
@@ -30,7 +70,7 @@ async function download(options) {
30
70
  const res = await (0, fetch_js_1.getClientFetch)(options.client)(url, {
31
71
  keepalive: options.client.config?.storage?.fetch?.keepalive,
32
72
  headers: options.client.config?.storage?.fetch?.headers,
33
- requestTimeoutMs: options.client.config?.storage?.fetch?.requestTimeoutMs,
73
+ requestTimeoutMs: options.client.config?.storage?.fetch?.requestTimeoutMs ?? 60000,
34
74
  });
35
75
  if (!res.ok) {
36
76
  res.body?.cancel();
@@ -1 +1 @@
1
- {"version":3,"file":"download.js","sourceRoot":"","sources":["../../../src/storage/download.ts"],"names":[],"mappings":";;AAyBA,4BAkBC;AA3CD,gDAAmD;AACnD,8CAA4E;AAS5E;;;;;;;;;;;;;;GAcG;AACI,KAAK,UAAU,QAAQ,CAAC,OAAwB;IACrD,IAAI,GAAW,CAAC;IAChB,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACpC,MAAM,EAAE,oBAAoB,EAAE,GAAG,2CAAa,qBAAqB,EAAC,CAAC;QACrE,GAAG,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;SAAM,CAAC;QACN,GAAG,GAAG,IAAA,uBAAa,EAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,IAAA,yBAAc,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE;QACpD,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS;QAC3D,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO;QACvD,gBAAgB,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,gBAAgB;KAC1E,CAAC,CAAC;IACH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"download.js","sourceRoot":"","sources":["../../../src/storage/download.ts"],"names":[],"mappings":";;AAiEA,4BAqBC;AAtFD,gDAAmD;AACnD,8CAA4E;AAS5E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AACI,KAAK,UAAU,QAAQ,CAAC,OAAwB;IACrD,IAAI,GAAW,CAAC;IAChB,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACpC,MAAM,EAAE,oBAAoB,EAAE,GAAG,2CAAa,qBAAqB,EAAC,CAAC;QACrE,GAAG,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;SAAM,CAAC;QACN,GAAG,GAAG,IAAA,uBAAa,EAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,IAAA,yBAAc,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE;QACpD,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS;QAC3D,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO;QACvD,gBAAgB,EACd,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,gBAAgB,IAAI,KAAK;KACnE,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseAbiParams = parseAbiParams;
4
+ const address_js_1 = require("../address.js");
5
+ const hex_js_1 = require("../encoding/hex.js");
6
+ /**
7
+ * Converts an array of parameter values to their respective types based on the provided type array.
8
+ *
9
+ * This utility function is particularly useful for ensuring that parameter values are correctly formatted
10
+ * according to the expected types before they are used in further processing or passed to a Solidity smart contract.
11
+ *
12
+ * @param {string[]} constructorParamTypes - An array of type strings indicating the expected types of the values,
13
+ * following Solidity type conventions (e.g., "address", "uint256", "bool").
14
+ * @param {unknown[]} constructorParamValues - An array of values to be converted according to the types.
15
+ * @returns - An array of values converted to their respective types.
16
+ *
17
+ * @example
18
+ * ```ts
19
+ * import { parseAbiParams } from "thirdweb/utils";
20
+ *
21
+ * const example1 = parseAbiParams(
22
+ * ["address", "uint256"],
23
+ * ["0x.....", "1200000"]
24
+ * ); // result: ["0x......", 1200000n]
25
+ *
26
+ * const example2 = parseAbiParams(
27
+ * ["address", "bool"],
28
+ * ["0x.....", "true"]
29
+ * ); // result: ["0x......", true]
30
+ * ```
31
+ * @utils
32
+ */
33
+ function parseAbiParams(constructorParamTypes, constructorParamValues) {
34
+ // Make sure they have the same length
35
+ if (constructorParamTypes.length !== constructorParamValues.length) {
36
+ throw new Error(`Passed the wrong number of constructor arguments: ${constructorParamValues.length}, expected ${constructorParamTypes.length}`);
37
+ }
38
+ return constructorParamTypes.map((type, index) => {
39
+ const value = constructorParamValues[index];
40
+ if (type === "tuple" || type.endsWith("[]")) {
41
+ if (typeof value === "string") {
42
+ return JSON.parse(value);
43
+ }
44
+ return value;
45
+ }
46
+ if (type === "bytes32") {
47
+ if (!(0, hex_js_1.isHex)(value)) {
48
+ throw new Error(`${value} is not a valid hex string`);
49
+ }
50
+ return (0, hex_js_1.padHex)(value);
51
+ }
52
+ if (type.startsWith("bytes")) {
53
+ if (!(0, hex_js_1.isHex)(value)) {
54
+ throw new Error(`${value} is not a valid hex string`);
55
+ }
56
+ return value;
57
+ }
58
+ if (type === "address") {
59
+ if (typeof value !== "string" || !(0, address_js_1.isAddress)(value)) {
60
+ throw new Error(`${value} is not a valid address`);
61
+ }
62
+ return value;
63
+ }
64
+ if (type.startsWith("uint") || type.startsWith("int")) {
65
+ if (typeof value !== "string" && typeof value !== "number") {
66
+ throw new Error(`Cannot convert type ${typeof value} to BigInt`);
67
+ }
68
+ try {
69
+ const val = BigInt(value);
70
+ return val;
71
+ }
72
+ catch (err) {
73
+ throw new Error(err.message);
74
+ }
75
+ }
76
+ if (type.startsWith("bool")) {
77
+ if (value === "false" || value === false) {
78
+ return false;
79
+ }
80
+ if (value === "true" || value === true) {
81
+ return true;
82
+ }
83
+ throw new Error("Invalid boolean value. Expecting either 'true' or 'false'");
84
+ }
85
+ });
86
+ }
87
+ //# sourceMappingURL=parse-abi-params.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-abi-params.js","sourceRoot":"","sources":["../../../../src/utils/contract/parse-abi-params.ts"],"names":[],"mappings":";;AA8BA,wCA2DC;AAzFD,8CAA0C;AAC1C,+CAAmD;AAEnD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,SAAgB,cAAc,CAC5B,qBAA+B,EAC/B,sBAAiC;IAEjC,sCAAsC;IACtC,IAAI,qBAAqB,CAAC,MAAM,KAAK,sBAAsB,CAAC,MAAM,EAAE,CAAC;QACnE,MAAM,IAAI,KAAK,CACb,qDAAqD,sBAAsB,CAAC,MAAM,cAAc,qBAAqB,CAAC,MAAM,EAAE,CAC/H,CAAC;IACJ,CAAC;IACD,OAAO,qBAAqB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC/C,MAAM,KAAK,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,IAAI,CAAC,IAAA,cAAK,EAAC,KAAK,CAAC,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,4BAA4B,CAAC,CAAC;YACxD,CAAC;YACD,OAAO,IAAA,eAAM,EAAC,KAAK,CAAC,CAAC;QACvB,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC,IAAA,cAAK,EAAC,KAAK,CAAC,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,4BAA4B,CAAC,CAAC;YACxD,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,IAAA,sBAAS,EAAC,KAAK,CAAC,EAAE,CAAC;gBACnD,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,yBAAyB,CAAC,CAAC;YACrD,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACtD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC3D,MAAM,IAAI,KAAK,CAAC,uBAAuB,OAAO,KAAK,YAAY,CAAC,CAAC;YACnE,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC1B,OAAO,GAAG,CAAC;YACb,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5B,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;gBACzC,OAAO,KAAK,CAAC;YACf,CAAC;YACD,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACvC,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,IAAI,KAAK,CACb,2DAA2D,CAC5D,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,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.41.0";
4
+ exports.version = "5.42.0";
5
5
  //# sourceMappingURL=version.js.map
@@ -17,9 +17,31 @@ const wallet_emitter_js_1 = require("./wallet-emitter.js");
17
17
  // TODO: figure out how to define the type without tuple args type and using function overloads
18
18
  /**
19
19
  * Creates a wallet based on the provided ID and arguments.
20
+ *
21
+ * - Supports 350+ wallets
22
+ * - Handles both injected browser wallets and WalletConnect sessions
23
+ *
24
+ * [View all available wallets](https://portal.thirdweb.com/typescript/v5/supported-wallets)
25
+ *
20
26
  * @param args - The arguments for creating the wallet.
27
+ * @param args.id - The ID of the wallet to create, this will be autocompleted by your IDE.
28
+ * [View all available wallets](https://portal.thirdweb.com/typescript/v5/supported-wallets)
29
+ * @param args.createOptions - The options for creating the wallet.
30
+ * The arguments are different for each wallet type.
31
+ * Refer to the [WalletCreationOptions](https://portal.thirdweb.com/references/typescript/v5/WalletCreationOptions) type for more details.
21
32
  * @returns - The created wallet.
22
33
  * @example
34
+ *
35
+ * ## Connecting the wallet
36
+ *
37
+ * Once created, you can connect the wallet to your app by calling the `connect` method.
38
+ *
39
+ * The `connect` method returns a promise that resolves to the connected account.
40
+ *
41
+ * Each wallet type can have different connect options. [View the different connect options](https://portal.thirdweb.com/references/typescript/v5/WalletConnectionOption)
42
+ *
43
+ * ## Connecting to an injected wallet
44
+ *
23
45
  * ```ts
24
46
  * import { createWallet } from "thirdweb/wallets";
25
47
  *
@@ -29,6 +51,57 @@ const wallet_emitter_js_1 = require("./wallet-emitter.js");
29
51
  * client,
30
52
  * });
31
53
  * ```
54
+ *
55
+ * You can check if a wallet is installed by calling the [injectedProvider](https://portal.thirdweb.com/references/typescript/v5/injectedProvider) method.
56
+ *
57
+ * ## Connecting via WalletConnect modal
58
+ *
59
+ * ```ts
60
+ * import { createWallet } from "thirdweb/wallets";
61
+ *
62
+ * const metamaskWallet = createWallet("io.metamask");
63
+ *
64
+ * await metamask.connect({
65
+ * client,
66
+ * walletConnect: {
67
+ * projectId: "YOUR_PROJECT_ID",
68
+ * showQrModal: true,
69
+ * appMetadata: {
70
+ * name: "My App",
71
+ * url: "https://my-app.com",
72
+ * description: "my app description",
73
+ * logoUrl: "https://path/to/my-app/logo.svg",
74
+ * },
75
+ * },
76
+ * });
77
+ * ```
78
+ * [View ConnectWallet connection options](https://portal.thirdweb.com/references/typescript/v5/WCConnectOptions)
79
+ *
80
+ * ## Connecting with coinbase wallet
81
+ *
82
+ * ```ts
83
+ * import { createWallet } from "thirdweb/wallets";
84
+ *
85
+ * const cbWallet = createWallet("com.coinbase.wallet", {
86
+ * appMetadata: {
87
+ * name: "My App",
88
+ * url: "https://my-app.com",
89
+ * description: "my app description",
90
+ * logoUrl: "https://path/to/my-app/logo.svg",
91
+ * },
92
+ * walletConfig: {
93
+ * // options: 'all' | 'smartWalletOnly' | 'eoaOnly'
94
+ * options: 'all',
95
+ * },
96
+ * });
97
+ *
98
+ * const account = await cbWallet.connect({
99
+ * client,
100
+ * });
101
+ * ```
102
+ *
103
+ * [View Coinbase wallet creation options](https://portal.thirdweb.com/references/typescript/v5/CoinbaseWalletCreationOptions)
104
+ *
32
105
  * @wallet
33
106
  */
34
107
  function createWallet(...args) {
@@ -1 +1 @@
1
- {"version":3,"file":"create-wallet.js","sourceRoot":"","sources":["../../../src/wallets/create-wallet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-wallet.js","sourceRoot":"","sources":["../../../src/wallets/create-wallet.ts"],"names":[],"mappings":"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"}
@@ -22,10 +22,9 @@ async function connectInAppWallet(options, createOptions, connector) {
22
22
  if (createOptions?.auth?.mode === "redirect" &&
23
23
  connector.authenticateWithRedirect) {
24
24
  const strategy = options.strategy;
25
- if (!types_js_1.socialAuthOptions.includes(strategy)) {
26
- throw new Error("This authentication method does not support redirects");
25
+ if (types_js_1.socialAuthOptions.includes(strategy)) {
26
+ connector.authenticateWithRedirect(strategy);
27
27
  }
28
- connector.authenticateWithRedirect(strategy);
29
28
  }
30
29
  // If we don't have authenticateWithRedirect then it's likely react native, so the default is to redirect and we can carry on
31
30
  // IF WE EVER ADD MORE CONNECTOR TYPES, this could cause redirect to be ignored despite being specified
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/core/wallet/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/core/wallet/index.ts"],"names":[],"mappings":"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"}
@@ -3,10 +3,29 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ecosystemWallet = ecosystemWallet;
4
4
  const ecosystem_core_js_1 = require("../core/wallet/ecosystem-core.js");
5
5
  /**
6
- * Creates an ecosystem wallet.
6
+ * Creates an [Ecosystem Wallet](https://portal.thirdweb.com/connect/ecosystems/overview) based on various authentication methods.
7
+ *
8
+ * Available authentication methods:
9
+ * - Email
10
+ * - Phone
11
+ * - Passkey
12
+ * - Google
13
+ * - Apple
14
+ * - Facebook
15
+ * - Discord
16
+ * - Farcaster
17
+ *
18
+ * Can also be configured to use Account Abstraction to directly connect to a ERC4337 smart account based on those authentication methods.
19
+ *
20
+ * Refer to [inAppWallet](https://portal.thirdweb.com/references/typescript/v5/inAppWallet) for detailed usage examples.
21
+ *
7
22
  * @param createOptions - configuration options
23
+ * Refer to [EcosystemWalletCreationOptions](https://portal.thirdweb.com/references/typescript/v5/EcosystemWalletCreationOptions) for more details.
8
24
  * @returns The created ecosystem wallet.
9
25
  * @example
26
+ *
27
+ * ### Connect to an ecosystem wallet
28
+ *
10
29
  * ```ts
11
30
  * import { ecosystemWallet } from "thirdweb/wallets";
12
31
  *
@@ -19,14 +38,21 @@ const ecosystem_core_js_1 = require("../core/wallet/ecosystem-core.js");
19
38
  * });
20
39
  * ```
21
40
  *
22
- * Connect to a restricted ecosystem wallet with your designated partner ID
23
- * @note The parnter ID will be provided to you by the ecosystem with which you're integrating.
41
+ * [View all connection options](https://portal.thirdweb.com/references/typescript/v5/EcosystemWalletConnectionOptions)
42
+ *
43
+ * ### Connect to a restricted ecosystem wallet with your designated partner ID
44
+ *
45
+ * The parnter ID will be provided to you by the ecosystem with which you're integrating.
46
+ *
24
47
  * ```ts
25
48
  * import { ecosystemWallet } from "thirdweb/wallets";
26
49
  * const wallet = ecosystemWallet("ecosystem.hooli", {
27
50
  * partnerId: "..."
28
51
  * });
29
52
  * ```
53
+ *
54
+ * Refer to [inAppWallet](https://portal.thirdweb.com/references/typescript/v5/inAppWallet) for more usage examples.
55
+ *
30
56
  * @wallet
31
57
  */
32
58
  function ecosystemWallet(...args) {
@@ -1 +1 @@
1
- {"version":3,"file":"ecosystem.js","sourceRoot":"","sources":["../../../../../src/wallets/in-app/web/ecosystem.ts"],"names":[],"mappings":";;AAmCA,0CAkBC;AA/CD,wEAAyE;AAEzE;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,SAAgB,eAAe,CAC7B,GAAG,IAAyC;IAE5C,MAAM,CAAC,WAAW,EAAE,aAAa,CAAC,GAAG,IAAI,CAAC;IAC1C,OAAO,IAAA,yCAAqB,EAAC;QAC3B,EAAE,EAAE,WAAW;QACf,aAAa;QACb,gBAAgB,EAAE,KAAK,EAAE,MAAsB,EAAE,EAAE;YACjD,MAAM,EAAE,iBAAiB,EAAE,GAAG,2CAAa,wBAAwB,EAAC,CAAC;YACrE,OAAO,IAAI,iBAAiB,CAAC;gBAC3B,MAAM;gBACN,SAAS,EAAE;oBACT,EAAE,EAAE,WAAW;oBACf,SAAS,EAAE,aAAa,EAAE,SAAS;iBACpC;aACF,CAAC,CAAC;QACL,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"ecosystem.js","sourceRoot":"","sources":["../../../../../src/wallets/in-app/web/ecosystem.ts"],"names":[],"mappings":";;AA6DA,0CAkBC;AAzED,wEAAyE;AAEzE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,SAAgB,eAAe,CAC7B,GAAG,IAAyC;IAE5C,MAAM,CAAC,WAAW,EAAE,aAAa,CAAC,GAAG,IAAI,CAAC;IAC1C,OAAO,IAAA,yCAAqB,EAAC;QAC3B,EAAE,EAAE,WAAW;QACf,aAAa;QACb,gBAAgB,EAAE,KAAK,EAAE,MAAsB,EAAE,EAAE;YACjD,MAAM,EAAE,iBAAiB,EAAE,GAAG,2CAAa,wBAAwB,EAAC,CAAC;YACrE,OAAO,IAAI,iBAAiB,CAAC;gBAC3B,MAAM;gBACN,SAAS,EAAE;oBACT,EAAE,EAAE,WAAW;oBACf,SAAS,EAAE,aAAa,EAAE,SAAS;iBACpC;aACF,CAAC,CAAC;QACL,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -3,10 +3,27 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.inAppWallet = inAppWallet;
4
4
  const in_app_core_js_1 = require("../core/wallet/in-app-core.js");
5
5
  /**
6
- * Creates an in-app wallet.
6
+ * Creates an app scoped wallet for users based on various authentication methods.
7
+ *
8
+ * Available authentication methods:
9
+ * - Email
10
+ * - Phone
11
+ * - Passkey
12
+ * - Google
13
+ * - Apple
14
+ * - Facebook
15
+ * - Discord
16
+ * - Farcaster
17
+ *
18
+ * Can also be configured to use Account Abstraction to directly connect to a ERC4337 smart account based on those authentication methods.
19
+ *
7
20
  * @param createOptions - configuration options
21
+ * Refer to [InAppWalletCreationOptions](https://portal.thirdweb.com/references/typescript/v5/InAppWalletCreationOptions) to see the available options.
8
22
  * @returns The created in-app wallet.
9
23
  * @example
24
+ *
25
+ * ### Login with socials
26
+ *
10
27
  * ```ts
11
28
  * import { inAppWallet } from "thirdweb/wallets";
12
29
  *
@@ -19,18 +36,90 @@ const in_app_core_js_1 = require("../core/wallet/in-app-core.js");
19
36
  * });
20
37
  * ```
21
38
  *
22
- * Enable smart accounts and sponsor gas for your users:
39
+ * [View all available social auth methods](https://portal.thirdweb.com/references/typescript/v5/InAppWalletSocialAuth)
40
+ *
41
+ * * ### Login with email
42
+ *
43
+ * ```ts
44
+ * import { inAppWallet, preAuthenticate } from "thirdweb/wallets/in-app";
45
+ *
46
+ * const wallet = inAppWallet();
47
+ *
48
+ * // sends a verification code to the provided email
49
+ * await preAuthenticate({
50
+ * client,
51
+ * strategy: "email",
52
+ * email: "example@example.com",
53
+ * });
54
+ *
55
+ * // login with the verification code
56
+ * const account = await wallet.connect({
57
+ * client,
58
+ * chain,
59
+ * strategy: "email",
60
+ * verificationCode: "123456",
61
+ * });
62
+ * ```
63
+ *
64
+ * ### Login with phone number
65
+ * ```ts
66
+ * import { inAppWallet, preAuthenticate } from "thirdweb/wallets/in-app";
67
+ *
68
+ * const wallet = inAppWallet();
69
+ *
70
+ * // sends a verification code to the provided phone number
71
+ * await preAuthenticate({
72
+ * client,
73
+ * strategy: "phone",
74
+ * phoneNumber: "+1234567890",
75
+ * });
76
+ *
77
+ * // login with the verification code
78
+ * const account = await wallet.connect({
79
+ * client,
80
+ * chain,
81
+ * strategy: "phone",
82
+ * verificationCode: "123456",
83
+ * });
84
+ *
85
+ * ### Login with passkey
86
+ *
87
+ * ```ts
88
+ * import { inAppWallet, hasStoredPasskey } from "thirdweb/wallets/in-app";
89
+ *
90
+ * const wallet = inAppWallet();
91
+ *
92
+ * const wallet = inAppWallet();
93
+ * const hasPasskey = await hasStoredPasskey(client);
94
+ * await wallet.connect({
95
+ * client,
96
+ * strategy: "passkey",
97
+ * type: hasPasskey ? "sign-in" : "sign-up",
98
+ * });
99
+ * ```
100
+ *
101
+ * ### Enable smart accounts and sponsor gas for your users:
102
+ *
23
103
  * ```ts
24
104
  * import { inAppWallet } from "thirdweb/wallets";
105
+ * import { sepolia } from "thirdweb/chains";
106
+ *
25
107
  * const wallet = inAppWallet({
26
108
  * smartAccount: {
27
109
  * chain: sepolia,
28
110
  * sponsorGas: true,
29
111
  * },
30
112
  * });
113
+ *
114
+ * // account will be a smart account with sponsored gas enabled
115
+ * const account = await wallet.connect({
116
+ * client,
117
+ * chain,
118
+ * strategy: "google",
119
+ * });
31
120
  * ```
32
121
  *
33
- * Specify a logo for your login page
122
+ * ### Specify a logo for your login page (Connect UI)
34
123
  * ```ts
35
124
  * import { inAppWallet } from "thirdweb/wallets";
36
125
  * const wallet = inAppWallet({
@@ -45,7 +134,8 @@ const in_app_core_js_1 = require("../core/wallet/in-app-core.js");
45
134
  * });
46
135
  * ```
47
136
  *
48
- * Hide the ability to export the private key within the Connect Modal
137
+ * ### Hide the ability to export the private key within the Connect Modal UI
138
+ *
49
139
  * ```ts
50
140
  * import { inAppWallet } from "thirdweb/wallets";
51
141
  * const wallet = inAppWallet({
@@ -53,7 +143,10 @@ const in_app_core_js_1 = require("../core/wallet/in-app-core.js");
53
143
  * });
54
144
  * ```
55
145
  *
56
- * Open the Oauth window in the same tab
146
+ * ### Open the Oauth window in the same tab
147
+ *
148
+ * By default, the Oauth window will open in a popup window. You can change this behavior by setting the `auth.mode` option to `"redirect"`.
149
+ *
57
150
  * ```ts
58
151
  * import { inAppWallet } from "thirdweb/wallets";
59
152
  * const wallet = inAppWallet({
@@ -62,6 +155,8 @@ const in_app_core_js_1 = require("../core/wallet/in-app-core.js");
62
155
  * }
63
156
  * });
64
157
  * ```
158
+ *
159
+ * @returns The created in-app wallet.
65
160
  * @wallet
66
161
  */
67
162
  function inAppWallet(createOptions) {
@@ -1 +1 @@
1
- {"version":3,"file":"in-app.js","sourceRoot":"","sources":["../../../../../src/wallets/in-app/web/in-app.ts"],"names":[],"mappings":";;AAmEA,kCAYC;AA5ED,kEAAkE;AAElE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6DG;AACH,SAAgB,WAAW,CACzB,aAA4C;IAE5C,OAAO,IAAA,kCAAiB,EAAC;QACvB,aAAa;QACb,gBAAgB,EAAE,KAAK,EAAE,MAAsB,EAAE,EAAE;YACjD,MAAM,EAAE,iBAAiB,EAAE,GAAG,2CAAa,wBAAwB,EAAC,CAAC;YACrE,OAAO,IAAI,iBAAiB,CAAC;gBAC3B,MAAM;aACP,CAAC,CAAC;QACL,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"in-app.js","sourceRoot":"","sources":["../../../../../src/wallets/in-app/web/in-app.ts"],"names":[],"mappings":";;AAkKA,kCAYC;AA3KD,kEAAkE;AAElE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4JG;AACH,SAAgB,WAAW,CACzB,aAA4C;IAE5C,OAAO,IAAA,kCAAiB,EAAC;QACvB,aAAa;QACb,gBAAgB,EAAE,KAAK,EAAE,MAAsB,EAAE,EAAE;YACjD,MAAM,EAAE,iBAAiB,EAAE,GAAG,2CAAa,wBAAwB,EAAC,CAAC;YACrE,OAAO,IAAI,iBAAiB,CAAC;gBAC3B,MAAM;aACP,CAAC,CAAC;QACL,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -7,23 +7,89 @@ const is_contract_deployed_js_1 = require("../../utils/bytecode/is-contract-depl
7
7
  const wallet_emitter_js_1 = require("../wallet-emitter.js");
8
8
  const constants_js_1 = require("./lib/constants.js");
9
9
  /**
10
- * Creates a smart wallet.
10
+ * Creates a ERC4337 smart wallet based on a admin account.
11
+ *
12
+ * Smart wallets are smart contract wallets that enable multiple benefits for users:
13
+ *
14
+ * - Sponsor gas fees for transactions
15
+ * - Multiple owners
16
+ * - Session keys
17
+ * - Batch transactions
18
+ * - Predictable addresses
19
+ * - Programmable features
20
+ *
21
+ * [Learn more about account abstraction](https://portal.thirdweb.com/connect/account-abstraction/how-it-works)
22
+ *
11
23
  * @param createOptions - The options for creating the wallet.
24
+ * Refer to [SmartWalletCreationOptions](https://portal.thirdweb.com/references/typescript/v5/SmartWalletCreationOptions) for more details.
12
25
  * @returns The created smart wallet.
13
26
  * @example
27
+ *
28
+ * ## Connect to a smart wallet
29
+ *
30
+ * To connect to a smart wallet, you need to provide an admin account as the `personalAccount` option.
31
+ *
32
+ * Any wallet can be used as an admin account, including an in-app wallets.
33
+ *
34
+ * The `sponsorGas` option is used to enable sponsored gas for transactions automatically.
35
+ *
14
36
  * ```ts
15
- * import { smartWallet } from "thirdweb/wallets";
37
+ * import { smartWalletm inAppWallet } from "thirdweb/wallets";
38
+ * import { sepolia } from "thirdweb/chains";
39
+ * import { sendTransaction } from "thirdweb";
16
40
  *
17
41
  * const wallet = smartWallet({
18
42
  * chain: sepolia,
19
- * gasless: true,
43
+ * sponsorGas: true, // enable sponsored transactions
20
44
  * });
21
45
  *
22
- * const account = await wallet.connect({
46
+ * // any wallet can be used as an admin account
47
+ * // in this example we use an in-app wallet
48
+ * const adminWallet = inAppWallet();
49
+ * const personalAccount = await adminWallet.connect({
23
50
  * client,
24
- * personalAccount: account,
51
+ * chain: sepolia,
52
+ * strategy: "google",
53
+ * });
54
+ *
55
+ * const smartAccount = await wallet.connect({
56
+ * client,
57
+ * personalAccount, // pass the admin account
58
+ * });
59
+ *
60
+ * // sending sponsored transactions with the smartAccount
61
+ * await sendTransaction({
62
+ * account: smartAccount,
63
+ * transaction,
25
64
  * });
26
65
  * ```
66
+ *
67
+ * ## Configuring the smart wallet
68
+ *
69
+ * You can pass options to the `smartWallet` function to configure the smart wallet.
70
+ *
71
+ * ```ts
72
+ * import { smartWallet } from "thirdweb/wallets";
73
+ * import { sepolia } from "thirdweb/chains";
74
+ *
75
+ * const wallet = smartWallet({
76
+ * chain: sepolia,
77
+ * sponsorGas: true, // enable sponsored transactions
78
+ * factoryAddress: "0x...", // custom factory address
79
+ * overrides: {
80
+ * accountAddress: "0x...", // override account address
81
+ * accountSalt: "0x...", // override account salt
82
+ * entrypointAddress: "0x...", // override entrypoint address
83
+ * erc20Paymaster: { ... }, // enable erc20 paymaster
84
+ * bundlerUrl: "https://...", // override bundler url
85
+ * paymaster: (userOp) => { ... }, // override paymaster
86
+ * ...
87
+ * }
88
+ * });
89
+ * ```
90
+ *
91
+ * Refer to [SmartWalletOptions](https://portal.thirdweb.com/references/typescript/v5/SmartWalletOptions) for more details.
92
+ *
27
93
  * @wallet
28
94
  */
29
95
  function smartWallet(createOptions) {
@@ -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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"}