thirdweb 5.61.5-nightly-ccd4cd6f59423d417757e86bf04a5a07b061e2f9-20241010000335 → 5.61.6

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 (225) hide show
  1. package/dist/cjs/contract/deployment/deploy-with-abi.js +13 -0
  2. package/dist/cjs/contract/deployment/deploy-with-abi.js.map +1 -1
  3. package/dist/cjs/exports/extensions/unstoppable-domains.js +6 -1
  4. package/dist/cjs/exports/extensions/unstoppable-domains.js.map +1 -1
  5. package/dist/cjs/extensions/modules/__generated__/BatchMetadataERC1155/events/BatchMetadataUpdate.js +1 -1
  6. package/dist/cjs/extensions/modules/__generated__/BatchMetadataERC1155/events/BatchMetadataUpdate.js.map +1 -1
  7. package/dist/cjs/extensions/modules/__generated__/BatchMetadataERC1155/read/getBatchIndex.js +114 -0
  8. package/dist/cjs/extensions/modules/__generated__/BatchMetadataERC1155/read/getBatchIndex.js.map +1 -0
  9. package/dist/cjs/extensions/modules/__generated__/BatchMetadataERC1155/read/getMetadataBatch.js +128 -0
  10. package/dist/cjs/extensions/modules/__generated__/BatchMetadataERC1155/read/getMetadataBatch.js.map +1 -0
  11. package/dist/cjs/extensions/modules/__generated__/BatchMetadataERC1155/read/getModuleConfig.js +109 -0
  12. package/dist/cjs/extensions/modules/__generated__/BatchMetadataERC1155/read/getModuleConfig.js.map +1 -0
  13. package/dist/cjs/extensions/modules/__generated__/BatchMetadataERC1155/write/setBaseURI.js +124 -0
  14. package/dist/cjs/extensions/modules/__generated__/BatchMetadataERC1155/write/setBaseURI.js.map +1 -0
  15. package/dist/cjs/extensions/modules/__generated__/BatchMetadataERC721/events/BatchMetadataUpdate.js +1 -1
  16. package/dist/cjs/extensions/modules/__generated__/BatchMetadataERC721/events/BatchMetadataUpdate.js.map +1 -1
  17. package/dist/cjs/extensions/modules/__generated__/BatchMetadataERC721/read/getBatchIndex.js +114 -0
  18. package/dist/cjs/extensions/modules/__generated__/BatchMetadataERC721/read/getBatchIndex.js.map +1 -0
  19. package/dist/cjs/extensions/modules/__generated__/BatchMetadataERC721/read/getMetadataBatch.js +128 -0
  20. package/dist/cjs/extensions/modules/__generated__/BatchMetadataERC721/read/getMetadataBatch.js.map +1 -0
  21. package/dist/cjs/extensions/modules/__generated__/BatchMetadataERC721/read/getModuleConfig.js +109 -0
  22. package/dist/cjs/extensions/modules/__generated__/BatchMetadataERC721/read/getModuleConfig.js.map +1 -0
  23. package/dist/cjs/extensions/modules/__generated__/BatchMetadataERC721/write/setBaseURI.js +124 -0
  24. package/dist/cjs/extensions/modules/__generated__/BatchMetadataERC721/write/setBaseURI.js.map +1 -0
  25. package/dist/cjs/extensions/modules/__generated__/SequentialTokenIdERC1155/encode/encodeBytesOnInstall.js +29 -0
  26. package/dist/cjs/extensions/modules/__generated__/SequentialTokenIdERC1155/encode/encodeBytesOnInstall.js.map +1 -0
  27. package/dist/cjs/extensions/modules/__generated__/SequentialTokenIdERC1155/module/install.js +11 -6
  28. package/dist/cjs/extensions/modules/__generated__/SequentialTokenIdERC1155/module/install.js.map +1 -1
  29. package/dist/cjs/extensions/modules/__generated__/SequentialTokenIdERC1155/read/getModuleConfig.js +109 -0
  30. package/dist/cjs/extensions/modules/__generated__/SequentialTokenIdERC1155/read/getModuleConfig.js.map +1 -0
  31. package/dist/cjs/extensions/modules/__generated__/SequentialTokenIdERC1155/write/updateTokenIdERC1155.js +121 -0
  32. package/dist/cjs/extensions/modules/__generated__/SequentialTokenIdERC1155/write/updateTokenIdERC1155.js.map +1 -0
  33. package/dist/cjs/extensions/prebuilts/deploy-published.js +0 -17
  34. package/dist/cjs/extensions/prebuilts/deploy-published.js.map +1 -1
  35. package/dist/cjs/extensions/unstoppable-domains/__generated__/UnstoppableDomains/read/exists.js +114 -0
  36. package/dist/cjs/extensions/unstoppable-domains/__generated__/UnstoppableDomains/read/exists.js.map +1 -0
  37. package/dist/cjs/extensions/unstoppable-domains/read/resolveAddress.js +6 -0
  38. package/dist/cjs/extensions/unstoppable-domains/read/resolveAddress.js.map +1 -1
  39. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/useSwapSupportedChains.js +1 -1
  40. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/useSwapSupportedChains.js.map +1 -1
  41. package/dist/cjs/react/web/ui/ConnectWallet/useConnectModal.js.map +1 -1
  42. package/dist/cjs/transaction/read-contract.js +11 -19
  43. package/dist/cjs/transaction/read-contract.js.map +1 -1
  44. package/dist/cjs/version.js +1 -1
  45. package/dist/cjs/version.js.map +1 -1
  46. package/dist/cjs/wallets/in-app/native/helpers/constants.js +2 -1
  47. package/dist/cjs/wallets/in-app/native/helpers/constants.js.map +1 -1
  48. package/dist/cjs/wallets/in-app/native/helpers/storage/local.js +10 -0
  49. package/dist/cjs/wallets/in-app/native/helpers/storage/local.js.map +1 -1
  50. package/dist/cjs/wallets/in-app/native/helpers/wallet/retrieval.js +17 -2
  51. package/dist/cjs/wallets/in-app/native/helpers/wallet/retrieval.js.map +1 -1
  52. package/dist/cjs/wallets/in-app/web/lib/actions/get-enclave-user-status.js +0 -2
  53. package/dist/cjs/wallets/in-app/web/lib/actions/get-enclave-user-status.js.map +1 -1
  54. package/dist/cjs/wallets/in-app/web/lib/actions/sign-message.enclave.js +3 -0
  55. package/dist/cjs/wallets/in-app/web/lib/actions/sign-message.enclave.js.map +1 -1
  56. package/dist/cjs/wallets/in-app/web/lib/actions/sign-transaction.enclave.js +3 -1
  57. package/dist/cjs/wallets/in-app/web/lib/actions/sign-transaction.enclave.js.map +1 -1
  58. package/dist/cjs/wallets/in-app/web/lib/actions/sign-typed-data.enclave.js +3 -0
  59. package/dist/cjs/wallets/in-app/web/lib/actions/sign-typed-data.enclave.js.map +1 -1
  60. package/dist/cjs/wallets/wallet-connect/receiver/index.js +1 -1
  61. package/dist/cjs/wallets/wallet-connect/receiver/session-request.js +13 -14
  62. package/dist/cjs/wallets/wallet-connect/receiver/session-request.js.map +1 -1
  63. package/dist/esm/contract/deployment/deploy-with-abi.js +13 -0
  64. package/dist/esm/contract/deployment/deploy-with-abi.js.map +1 -1
  65. package/dist/esm/exports/extensions/unstoppable-domains.js +4 -0
  66. package/dist/esm/exports/extensions/unstoppable-domains.js.map +1 -1
  67. package/dist/esm/extensions/modules/__generated__/BatchMetadataERC1155/events/BatchMetadataUpdate.js +1 -1
  68. package/dist/esm/extensions/modules/__generated__/BatchMetadataERC1155/events/BatchMetadataUpdate.js.map +1 -1
  69. package/dist/esm/extensions/modules/__generated__/BatchMetadataERC1155/read/getBatchIndex.js +106 -0
  70. package/dist/esm/extensions/modules/__generated__/BatchMetadataERC1155/read/getBatchIndex.js.map +1 -0
  71. package/dist/esm/extensions/modules/__generated__/BatchMetadataERC1155/read/getMetadataBatch.js +120 -0
  72. package/dist/esm/extensions/modules/__generated__/BatchMetadataERC1155/read/getMetadataBatch.js.map +1 -0
  73. package/dist/esm/extensions/modules/__generated__/BatchMetadataERC1155/read/getModuleConfig.js +103 -0
  74. package/dist/esm/extensions/modules/__generated__/BatchMetadataERC1155/read/getModuleConfig.js.map +1 -0
  75. package/dist/esm/extensions/modules/__generated__/BatchMetadataERC1155/write/setBaseURI.js +117 -0
  76. package/dist/esm/extensions/modules/__generated__/BatchMetadataERC1155/write/setBaseURI.js.map +1 -0
  77. package/dist/esm/extensions/modules/__generated__/BatchMetadataERC721/events/BatchMetadataUpdate.js +1 -1
  78. package/dist/esm/extensions/modules/__generated__/BatchMetadataERC721/events/BatchMetadataUpdate.js.map +1 -1
  79. package/dist/esm/extensions/modules/__generated__/BatchMetadataERC721/read/getBatchIndex.js +106 -0
  80. package/dist/esm/extensions/modules/__generated__/BatchMetadataERC721/read/getBatchIndex.js.map +1 -0
  81. package/dist/esm/extensions/modules/__generated__/BatchMetadataERC721/read/getMetadataBatch.js +120 -0
  82. package/dist/esm/extensions/modules/__generated__/BatchMetadataERC721/read/getMetadataBatch.js.map +1 -0
  83. package/dist/esm/extensions/modules/__generated__/BatchMetadataERC721/read/getModuleConfig.js +103 -0
  84. package/dist/esm/extensions/modules/__generated__/BatchMetadataERC721/read/getModuleConfig.js.map +1 -0
  85. package/dist/esm/extensions/modules/__generated__/BatchMetadataERC721/write/setBaseURI.js +117 -0
  86. package/dist/esm/extensions/modules/__generated__/BatchMetadataERC721/write/setBaseURI.js.map +1 -0
  87. package/dist/esm/extensions/modules/__generated__/SequentialTokenIdERC1155/encode/encodeBytesOnInstall.js +25 -0
  88. package/dist/esm/extensions/modules/__generated__/SequentialTokenIdERC1155/encode/encodeBytesOnInstall.js.map +1 -0
  89. package/dist/esm/extensions/modules/__generated__/SequentialTokenIdERC1155/module/install.js +11 -6
  90. package/dist/esm/extensions/modules/__generated__/SequentialTokenIdERC1155/module/install.js.map +1 -1
  91. package/dist/esm/extensions/modules/__generated__/SequentialTokenIdERC1155/read/getModuleConfig.js +103 -0
  92. package/dist/esm/extensions/modules/__generated__/SequentialTokenIdERC1155/read/getModuleConfig.js.map +1 -0
  93. package/dist/esm/extensions/modules/__generated__/SequentialTokenIdERC1155/write/updateTokenIdERC1155.js +114 -0
  94. package/dist/esm/extensions/modules/__generated__/SequentialTokenIdERC1155/write/updateTokenIdERC1155.js.map +1 -0
  95. package/dist/esm/extensions/prebuilts/deploy-published.js +0 -18
  96. package/dist/esm/extensions/prebuilts/deploy-published.js.map +1 -1
  97. package/dist/esm/extensions/unstoppable-domains/__generated__/UnstoppableDomains/read/exists.js +106 -0
  98. package/dist/esm/extensions/unstoppable-domains/__generated__/UnstoppableDomains/read/exists.js.map +1 -0
  99. package/dist/esm/extensions/unstoppable-domains/read/resolveAddress.js +6 -0
  100. package/dist/esm/extensions/unstoppable-domains/read/resolveAddress.js.map +1 -1
  101. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/useSwapSupportedChains.js +1 -1
  102. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/useSwapSupportedChains.js.map +1 -1
  103. package/dist/esm/react/web/ui/ConnectWallet/useConnectModal.js.map +1 -1
  104. package/dist/esm/transaction/read-contract.js +11 -19
  105. package/dist/esm/transaction/read-contract.js.map +1 -1
  106. package/dist/esm/version.js +1 -1
  107. package/dist/esm/version.js.map +1 -1
  108. package/dist/esm/wallets/in-app/native/helpers/constants.js +1 -0
  109. package/dist/esm/wallets/in-app/native/helpers/constants.js.map +1 -1
  110. package/dist/esm/wallets/in-app/native/helpers/storage/local.js +9 -0
  111. package/dist/esm/wallets/in-app/native/helpers/storage/local.js.map +1 -1
  112. package/dist/esm/wallets/in-app/native/helpers/wallet/retrieval.js +19 -4
  113. package/dist/esm/wallets/in-app/native/helpers/wallet/retrieval.js.map +1 -1
  114. package/dist/esm/wallets/in-app/web/lib/actions/get-enclave-user-status.js +0 -2
  115. package/dist/esm/wallets/in-app/web/lib/actions/get-enclave-user-status.js.map +1 -1
  116. package/dist/esm/wallets/in-app/web/lib/actions/sign-message.enclave.js +3 -0
  117. package/dist/esm/wallets/in-app/web/lib/actions/sign-message.enclave.js.map +1 -1
  118. package/dist/esm/wallets/in-app/web/lib/actions/sign-transaction.enclave.js +3 -1
  119. package/dist/esm/wallets/in-app/web/lib/actions/sign-transaction.enclave.js.map +1 -1
  120. package/dist/esm/wallets/in-app/web/lib/actions/sign-typed-data.enclave.js +3 -0
  121. package/dist/esm/wallets/in-app/web/lib/actions/sign-typed-data.enclave.js.map +1 -1
  122. package/dist/esm/wallets/wallet-connect/receiver/index.js +1 -1
  123. package/dist/esm/wallets/wallet-connect/receiver/session-request.js +6 -7
  124. package/dist/esm/wallets/wallet-connect/receiver/session-request.js.map +1 -1
  125. package/dist/types/contract/deployment/deploy-with-abi.d.ts.map +1 -1
  126. package/dist/types/exports/extensions/unstoppable-domains.d.ts +2 -0
  127. package/dist/types/exports/extensions/unstoppable-domains.d.ts.map +1 -1
  128. package/dist/types/extensions/modules/__generated__/BatchMetadataERC1155/events/BatchMetadataUpdate.d.ts +5 -2
  129. package/dist/types/extensions/modules/__generated__/BatchMetadataERC1155/events/BatchMetadataUpdate.d.ts.map +1 -1
  130. package/dist/types/extensions/modules/__generated__/BatchMetadataERC1155/read/getBatchIndex.d.ts +83 -0
  131. package/dist/types/extensions/modules/__generated__/BatchMetadataERC1155/read/getBatchIndex.d.ts.map +1 -0
  132. package/dist/types/extensions/modules/__generated__/BatchMetadataERC1155/read/getMetadataBatch.d.ts +91 -0
  133. package/dist/types/extensions/modules/__generated__/BatchMetadataERC1155/read/getMetadataBatch.d.ts.map +1 -0
  134. package/dist/types/extensions/modules/__generated__/BatchMetadataERC1155/read/getModuleConfig.d.ts +66 -0
  135. package/dist/types/extensions/modules/__generated__/BatchMetadataERC1155/read/getModuleConfig.d.ts.map +1 -0
  136. package/dist/types/extensions/modules/__generated__/BatchMetadataERC1155/write/setBaseURI.d.ts +86 -0
  137. package/dist/types/extensions/modules/__generated__/BatchMetadataERC1155/write/setBaseURI.d.ts.map +1 -0
  138. package/dist/types/extensions/modules/__generated__/BatchMetadataERC721/events/BatchMetadataUpdate.d.ts +5 -2
  139. package/dist/types/extensions/modules/__generated__/BatchMetadataERC721/events/BatchMetadataUpdate.d.ts.map +1 -1
  140. package/dist/types/extensions/modules/__generated__/BatchMetadataERC721/read/getBatchIndex.d.ts +83 -0
  141. package/dist/types/extensions/modules/__generated__/BatchMetadataERC721/read/getBatchIndex.d.ts.map +1 -0
  142. package/dist/types/extensions/modules/__generated__/BatchMetadataERC721/read/getMetadataBatch.d.ts +91 -0
  143. package/dist/types/extensions/modules/__generated__/BatchMetadataERC721/read/getMetadataBatch.d.ts.map +1 -0
  144. package/dist/types/extensions/modules/__generated__/BatchMetadataERC721/read/getModuleConfig.d.ts +66 -0
  145. package/dist/types/extensions/modules/__generated__/BatchMetadataERC721/read/getModuleConfig.d.ts.map +1 -0
  146. package/dist/types/extensions/modules/__generated__/BatchMetadataERC721/write/setBaseURI.d.ts +86 -0
  147. package/dist/types/extensions/modules/__generated__/BatchMetadataERC721/write/setBaseURI.d.ts.map +1 -0
  148. package/dist/types/extensions/modules/__generated__/SequentialTokenIdERC1155/encode/encodeBytesOnInstall.d.ts +26 -0
  149. package/dist/types/extensions/modules/__generated__/SequentialTokenIdERC1155/encode/encodeBytesOnInstall.d.ts.map +1 -0
  150. package/dist/types/extensions/modules/__generated__/SequentialTokenIdERC1155/module/install.d.ts +11 -6
  151. package/dist/types/extensions/modules/__generated__/SequentialTokenIdERC1155/module/install.d.ts.map +1 -1
  152. package/dist/types/extensions/modules/__generated__/SequentialTokenIdERC1155/read/getModuleConfig.d.ts +66 -0
  153. package/dist/types/extensions/modules/__generated__/SequentialTokenIdERC1155/read/getModuleConfig.d.ts.map +1 -0
  154. package/dist/types/extensions/modules/__generated__/SequentialTokenIdERC1155/write/updateTokenIdERC1155.d.ts +79 -0
  155. package/dist/types/extensions/modules/__generated__/SequentialTokenIdERC1155/write/updateTokenIdERC1155.d.ts.map +1 -0
  156. package/dist/types/extensions/prebuilts/deploy-published.d.ts.map +1 -1
  157. package/dist/types/extensions/unstoppable-domains/__generated__/UnstoppableDomains/read/exists.d.ts +83 -0
  158. package/dist/types/extensions/unstoppable-domains/__generated__/UnstoppableDomains/read/exists.d.ts.map +1 -0
  159. package/dist/types/extensions/unstoppable-domains/read/resolveAddress.d.ts.map +1 -1
  160. package/dist/types/react/web/ui/ConnectWallet/useConnectModal.d.ts +8 -0
  161. package/dist/types/react/web/ui/ConnectWallet/useConnectModal.d.ts.map +1 -1
  162. package/dist/types/transaction/read-contract.d.ts +11 -19
  163. package/dist/types/transaction/read-contract.d.ts.map +1 -1
  164. package/dist/types/version.d.ts +1 -1
  165. package/dist/types/version.d.ts.map +1 -1
  166. package/dist/types/wallets/in-app/core/authentication/types.d.ts +6 -0
  167. package/dist/types/wallets/in-app/core/authentication/types.d.ts.map +1 -1
  168. package/dist/types/wallets/in-app/native/helpers/constants.d.ts +1 -0
  169. package/dist/types/wallets/in-app/native/helpers/constants.d.ts.map +1 -1
  170. package/dist/types/wallets/in-app/native/helpers/storage/local.d.ts +3 -0
  171. package/dist/types/wallets/in-app/native/helpers/storage/local.d.ts.map +1 -1
  172. package/dist/types/wallets/in-app/native/helpers/wallet/retrieval.d.ts.map +1 -1
  173. package/dist/types/wallets/in-app/web/lib/actions/get-enclave-user-status.d.ts.map +1 -1
  174. package/dist/types/wallets/in-app/web/lib/actions/sign-message.enclave.d.ts.map +1 -1
  175. package/dist/types/wallets/in-app/web/lib/actions/sign-transaction.enclave.d.ts.map +1 -1
  176. package/dist/types/wallets/in-app/web/lib/actions/sign-typed-data.enclave.d.ts.map +1 -1
  177. package/dist/types/wallets/wallet-connect/receiver/index.d.ts +1 -1
  178. package/dist/types/wallets/wallet-connect/receiver/session-request.d.ts.map +1 -1
  179. package/package.json +1 -1
  180. package/src/contract/deployment/deploy-with-abi.ts +14 -0
  181. package/src/exports/extensions/unstoppable-domains.ts +9 -0
  182. package/src/extensions/ens/resolve-avatar.test.ts +1 -4
  183. package/src/extensions/erc20/read/getCurrencyMetadata.test.ts +20 -0
  184. package/src/extensions/erc20/read/isERC20.test.ts +35 -0
  185. package/src/extensions/erc20/write/transferBatch.test.ts +81 -0
  186. package/src/extensions/modules/MintableERC1155/mintableERC1155.test.ts +3 -1
  187. package/src/extensions/modules/__generated__/BatchMetadataERC1155/events/BatchMetadataUpdate.ts +1 -1
  188. package/src/extensions/modules/__generated__/BatchMetadataERC1155/read/getBatchIndex.ts +125 -0
  189. package/src/extensions/modules/__generated__/BatchMetadataERC1155/read/getMetadataBatch.ts +142 -0
  190. package/src/extensions/modules/__generated__/BatchMetadataERC1155/read/getModuleConfig.ts +109 -0
  191. package/src/extensions/modules/__generated__/BatchMetadataERC1155/write/setBaseURI.ts +148 -0
  192. package/src/extensions/modules/__generated__/BatchMetadataERC721/events/BatchMetadataUpdate.ts +1 -1
  193. package/src/extensions/modules/__generated__/BatchMetadataERC721/read/getBatchIndex.ts +125 -0
  194. package/src/extensions/modules/__generated__/BatchMetadataERC721/read/getMetadataBatch.ts +142 -0
  195. package/src/extensions/modules/__generated__/BatchMetadataERC721/read/getModuleConfig.ts +109 -0
  196. package/src/extensions/modules/__generated__/BatchMetadataERC721/write/setBaseURI.ts +148 -0
  197. package/src/extensions/modules/__generated__/SequentialTokenIdERC1155/encode/encodeBytesOnInstall.ts +40 -0
  198. package/src/extensions/modules/__generated__/SequentialTokenIdERC1155/module/install.ts +18 -9
  199. package/src/extensions/modules/__generated__/SequentialTokenIdERC1155/read/getModuleConfig.ts +109 -0
  200. package/src/extensions/modules/__generated__/SequentialTokenIdERC1155/write/updateTokenIdERC1155.ts +145 -0
  201. package/src/extensions/prebuilts/deploy-published.ts +0 -19
  202. package/src/extensions/unstoppable-domains/__generated__/UnstoppableDomains/read/exists.ts +121 -0
  203. package/src/extensions/unstoppable-domains/read/resolveAddress.test.ts +11 -0
  204. package/src/extensions/unstoppable-domains/read/resolveAddress.ts +9 -0
  205. package/src/react/web/ui/ConnectWallet/screens/Buy/swap/useSwapSupportedChains.ts +1 -1
  206. package/src/react/web/ui/ConnectWallet/useConnectModal.tsx +11 -0
  207. package/src/transaction/read-contract.ts +11 -19
  208. package/src/version.ts +1 -1
  209. package/src/wallets/in-app/core/authentication/types.ts +13 -2
  210. package/src/wallets/in-app/native/helpers/constants.ts +2 -0
  211. package/src/wallets/in-app/native/helpers/storage/local.ts +16 -0
  212. package/src/wallets/in-app/native/helpers/wallet/retrieval.ts +19 -3
  213. package/src/wallets/in-app/web/lib/actions/get-enclave-user-status.ts +0 -2
  214. package/src/wallets/in-app/web/lib/actions/sign-message.enclave.ts +4 -0
  215. package/src/wallets/in-app/web/lib/actions/sign-transaction.enclave.ts +4 -1
  216. package/src/wallets/in-app/web/lib/actions/sign-typed-data.enclave.ts +4 -0
  217. package/src/wallets/wallet-connect/receiver/index.ts +1 -1
  218. package/src/wallets/wallet-connect/receiver/session-request.ts +6 -23
  219. package/dist/cjs/extensions/modules/__generated__/SequentialTokenIdERC1155/read/encodeBytesOnInstall.js +0 -70
  220. package/dist/cjs/extensions/modules/__generated__/SequentialTokenIdERC1155/read/encodeBytesOnInstall.js.map +0 -1
  221. package/dist/esm/extensions/modules/__generated__/SequentialTokenIdERC1155/read/encodeBytesOnInstall.js +0 -64
  222. package/dist/esm/extensions/modules/__generated__/SequentialTokenIdERC1155/read/encodeBytesOnInstall.js.map +0 -1
  223. package/dist/types/extensions/modules/__generated__/SequentialTokenIdERC1155/read/encodeBytesOnInstall.d.ts +0 -44
  224. package/dist/types/extensions/modules/__generated__/SequentialTokenIdERC1155/read/encodeBytesOnInstall.d.ts.map +0 -1
  225. package/src/extensions/modules/__generated__/SequentialTokenIdERC1155/read/encodeBytesOnInstall.ts +0 -70
@@ -6,6 +6,8 @@ export const AUTH_SHARE_INDEX = AUTH_SHARE_ID - 1;
6
6
  const DEVICE_SHARE_ID = 1;
7
7
  export const DEVICE_SHARE_INDEX = DEVICE_SHARE_ID - 1;
8
8
  export const DEVICE_SHARE_MISSING_MESSAGE = "Missing device share.";
9
+ export const INVALID_DEVICE_SHARE_MESSAGE =
10
+ "Invalid private key reconstructed from shares";
9
11
 
10
12
  const RECOVERY_SHARE_ID = 2;
11
13
  export const RECOVERY_SHARE_INDEX = RECOVERY_SHARE_ID - 1;
@@ -112,6 +112,22 @@ export async function setDeviceShare({
112
112
  return deviceShare;
113
113
  }
114
114
 
115
+ export async function removeDeviceShare({
116
+ clientId,
117
+ }: {
118
+ clientId: string;
119
+ }): Promise<void> {
120
+ const userDetails = await getWalletUserDetails(clientId);
121
+
122
+ if (!userDetails) {
123
+ throw new Error("Missing wallet user ID");
124
+ }
125
+
126
+ const name = DEVICE_SHARE_LOCAL_STORAGE_NAME(clientId, userDetails.userId);
127
+ await removeItemInAsyncStorage(name);
128
+ return;
129
+ }
130
+
115
131
  export async function getDeviceShare(clientId: string) {
116
132
  const cachedWalletUserId = await getWalletUserDetails(clientId);
117
133
  if (!cachedWalletUserId) {
@@ -11,9 +11,10 @@ import type { SetUpWalletRpcReturnType } from "../../../core/authentication/type
11
11
  import { getUserShares } from "../api/fetchers.js";
12
12
  import {
13
13
  DEVICE_SHARE_MISSING_MESSAGE,
14
+ INVALID_DEVICE_SHARE_MESSAGE,
14
15
  ROUTE_GET_USER_SHARES,
15
16
  } from "../constants.js";
16
- import { getDeviceShare } from "../storage/local.js";
17
+ import { getDeviceShare, removeDeviceShare } from "../storage/local.js";
17
18
  import { storeShares } from "./creation.js";
18
19
  import { decryptShareWeb } from "./encryption.js";
19
20
 
@@ -47,7 +48,7 @@ async function getWalletPrivateKeyFromShares(shares: string[]) {
47
48
  }
48
49
  const prefixPrivateKey = hexToString(privateKeyHex as Hex);
49
50
  if (!prefixPrivateKey.startsWith("thirdweb_")) {
50
- throw new Error("Invalid private key reconstructed from shares");
51
+ throw new Error(INVALID_DEVICE_SHARE_MESSAGE);
51
52
  }
52
53
  const privateKey = prefixPrivateKey.replace("thirdweb_", "");
53
54
  return privateKey;
@@ -58,9 +59,24 @@ async function getAccountFromShares(args: {
58
59
  shares: string[];
59
60
  }): Promise<Account> {
60
61
  const { client, shares } = args;
62
+ const privateKey = await (async () => {
63
+ try {
64
+ return await getWalletPrivateKeyFromShares(shares);
65
+ } catch (e) {
66
+ // If the private key reconstruction fails, try to reset the device share and prompt the user to try again
67
+ // This can happen if a user's account has been migrated or otherwise modified in the backend to use a new wallet. In that case, we need to reset their device state to get a new share
68
+ if (e instanceof Error && e.message === INVALID_DEVICE_SHARE_MESSAGE) {
69
+ await removeDeviceShare({ clientId: client.clientId });
70
+ throw new Error("Invalid device state, please try again.");
71
+ }
72
+ // Otherwise this is a legitimate error, throw it
73
+ throw e;
74
+ }
75
+ })();
76
+
61
77
  return privateKeyToAccount({
62
78
  client,
63
- privateKey: await getWalletPrivateKeyFromShares(shares),
79
+ privateKey,
64
80
  });
65
81
  }
66
82
 
@@ -32,13 +32,11 @@ export async function getUserStatus({
32
32
  );
33
33
 
34
34
  if (!response.ok) {
35
- console.log("response", response.status);
36
35
  if (response.status === 401) {
37
36
  // 401 response indicates there is no user logged in, so we return undefined
38
37
  return undefined;
39
38
  }
40
39
  const result = await response.json();
41
- console.log("result", result);
42
40
  throw new Error(`Failed to get user status: ${result.error}`);
43
41
  }
44
42
 
@@ -22,6 +22,10 @@ export async function signMessage({
22
22
  const clientFetch = getClientFetch(client, ecosystem);
23
23
  const authToken = await storage.getAuthCookie();
24
24
 
25
+ if (!authToken) {
26
+ throw new Error("No auth token found when signing message");
27
+ }
28
+
25
29
  const response = await clientFetch(
26
30
  `${getThirdwebBaseUrl("inAppWallet")}/api/v1/enclave-wallet/sign-message`,
27
31
  {
@@ -17,10 +17,13 @@ export async function signTransaction({
17
17
  payload: Record<string, Hex | number | undefined>;
18
18
  storage: ClientScopedStorage;
19
19
  }) {
20
- console.log("payload", payload);
21
20
  const clientFetch = getClientFetch(client, ecosystem);
22
21
  const authToken = await storage.getAuthCookie();
23
22
 
23
+ if (!authToken) {
24
+ throw new Error("No auth token found when signing transaction");
25
+ }
26
+
24
27
  const response = await clientFetch(
25
28
  `${getThirdwebBaseUrl("inAppWallet")}/api/v1/enclave-wallet/sign-transaction`,
26
29
  {
@@ -24,6 +24,10 @@ export async function signTypedData<
24
24
  const clientFetch = getClientFetch(client, ecosystem);
25
25
  const authToken = await storage.getAuthCookie();
26
26
 
27
+ if (!authToken) {
28
+ throw new Error("No auth token found when signing typed data");
29
+ }
30
+
27
31
  const response = await clientFetch(
28
32
  `${getThirdwebBaseUrl("inAppWallet")}/api/v1/enclave-wallet/sign-typed-data`,
29
33
  {
@@ -284,7 +284,7 @@ export async function createWalletConnectClient(
284
284
  * client: client,
285
285
  * });
286
286
  *
287
- * const session = await createWalletConnectSession({
287
+ * const session = createWalletConnectSession({
288
288
  * walletConnectClient: client,
289
289
  * uri: "wc:...",
290
290
  * });
@@ -1,6 +1,12 @@
1
1
  import type { ThirdwebClient } from "../../../client/client.js";
2
2
  import type { Hex } from "../../../utils/encoding/hex.js";
3
3
  import type { Wallet } from "../../interfaces/wallet.js";
4
+ import { handleSendRawTransactionRequest } from "./request-handlers/send-raw-transaction.js";
5
+ import { handleSendTransactionRequest } from "./request-handlers/send-transaction.js";
6
+ import { handleSignTransactionRequest } from "./request-handlers/sign-transaction.js";
7
+ import { handleSignTypedDataRequest } from "./request-handlers/sign-typed-data.js";
8
+ // Due to some edge cases, we can't import these handlers dynamically
9
+ import { handleSignRequest } from "./request-handlers/sign.js";
4
10
  import type {
5
11
  WalletConnectAddEthereumChainRequestParams,
6
12
  WalletConnectClient,
@@ -54,9 +60,6 @@ export async function fulfillRequest(options: {
54
60
  params: request.params as WalletConnectSignRequestPrams,
55
61
  });
56
62
  } else {
57
- const { handleSignRequest } = await import(
58
- "./request-handlers/sign.js"
59
- );
60
63
  result = await handleSignRequest({
61
64
  account,
62
65
  params: request.params as WalletConnectSignRequestPrams,
@@ -71,9 +74,6 @@ export async function fulfillRequest(options: {
71
74
  params: request.params as WalletConnectSignRequestPrams,
72
75
  });
73
76
  } else {
74
- const { handleSignRequest } = await import(
75
- "./request-handlers/sign.js"
76
- );
77
77
  result = await handleSignRequest({
78
78
  account,
79
79
  params: request.params as WalletConnectSignRequestPrams,
@@ -88,9 +88,6 @@ export async function fulfillRequest(options: {
88
88
  params: request.params as WalletConnectSignTypedDataRequestParams,
89
89
  });
90
90
  } else {
91
- const { handleSignTypedDataRequest } = await import(
92
- "./request-handlers/sign-typed-data.js"
93
- );
94
91
  result = await handleSignTypedDataRequest({
95
92
  account,
96
93
  params: request.params as WalletConnectSignTypedDataRequestParams,
@@ -105,9 +102,6 @@ export async function fulfillRequest(options: {
105
102
  params: request.params as WalletConnectSignTypedDataRequestParams,
106
103
  });
107
104
  } else {
108
- const { handleSignTypedDataRequest } = await import(
109
- "./request-handlers/sign-typed-data.js"
110
- );
111
105
  result = await handleSignTypedDataRequest({
112
106
  account,
113
107
  params: request.params as WalletConnectSignTypedDataRequestParams,
@@ -122,9 +116,6 @@ export async function fulfillRequest(options: {
122
116
  params: request.params as WalletConnectTransactionRequestParams,
123
117
  });
124
118
  } else {
125
- const { handleSignTransactionRequest } = await import(
126
- "./request-handlers/sign-transaction.js"
127
- );
128
119
  result = await handleSignTransactionRequest({
129
120
  account,
130
121
  params: request.params as WalletConnectTransactionRequestParams,
@@ -141,10 +132,6 @@ export async function fulfillRequest(options: {
141
132
  params: request.params as WalletConnectTransactionRequestParams,
142
133
  });
143
134
  } else {
144
- const { handleSendTransactionRequest } = await import(
145
- "./request-handlers/send-transaction.js"
146
- );
147
-
148
135
  result = await handleSendTransactionRequest({
149
136
  account,
150
137
  chainId,
@@ -163,10 +150,6 @@ export async function fulfillRequest(options: {
163
150
  params: request.params as WalletConnectRawTransactionRequestParams,
164
151
  });
165
152
  } else {
166
- const { handleSendRawTransactionRequest } = await import(
167
- "./request-handlers/send-raw-transaction.js"
168
- );
169
-
170
153
  result = await handleSendRawTransactionRequest({
171
154
  account,
172
155
  chainId,
@@ -1,70 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FN_SELECTOR = void 0;
4
- exports.isEncodeBytesOnInstallSupported = isEncodeBytesOnInstallSupported;
5
- exports.decodeEncodeBytesOnInstallResult = decodeEncodeBytesOnInstallResult;
6
- exports.encodeBytesOnInstall = encodeBytesOnInstall;
7
- const read_contract_js_1 = require("../../../../../transaction/read-contract.js");
8
- const viem_1 = require("viem");
9
- const detectExtension_js_1 = require("../../../../../utils/bytecode/detectExtension.js");
10
- exports.FN_SELECTOR = "0xfec7ff72";
11
- const FN_INPUTS = [];
12
- const FN_OUTPUTS = [
13
- {
14
- type: "bytes",
15
- },
16
- ];
17
- /**
18
- * Checks if the `encodeBytesOnInstall` method is supported by the given contract.
19
- * @param availableSelectors An array of 4byte function selectors of the contract. You can get this in various ways, such as using "whatsabi" or if you have the ABI of the contract available you can use it to generate the selectors.
20
- * @returns A boolean indicating if the `encodeBytesOnInstall` method is supported.
21
- * @modules SequentialTokenIdERC1155
22
- * @example
23
- * ```ts
24
- * import { SequentialTokenIdERC1155 } from "thirdweb/modules";
25
- * const supported = SequentialTokenIdERC1155.isEncodeBytesOnInstallSupported(["0x..."]);
26
- * ```
27
- */
28
- function isEncodeBytesOnInstallSupported(availableSelectors) {
29
- return (0, detectExtension_js_1.detectMethod)({
30
- availableSelectors,
31
- method: [exports.FN_SELECTOR, FN_INPUTS, FN_OUTPUTS],
32
- });
33
- }
34
- /**
35
- * Decodes the result of the encodeBytesOnInstall function call.
36
- * @param result - The hexadecimal result to decode.
37
- * @returns The decoded result as per the FN_OUTPUTS definition.
38
- * @modules SequentialTokenIdERC1155
39
- * @example
40
- * ```ts
41
- * import { SequentialTokenIdERC1155 } from "thirdweb/modules";
42
- * const result = SequentialTokenIdERC1155.decodeEncodeBytesOnInstallResultResult("...");
43
- * ```
44
- */
45
- function decodeEncodeBytesOnInstallResult(result) {
46
- return (0, viem_1.decodeAbiParameters)(FN_OUTPUTS, result)[0];
47
- }
48
- /**
49
- * Calls the "encodeBytesOnInstall" function on the contract.
50
- * @param options - The options for the encodeBytesOnInstall function.
51
- * @returns The parsed result of the function call.
52
- * @modules SequentialTokenIdERC1155
53
- * @example
54
- * ```ts
55
- * import { SequentialTokenIdERC1155 } from "thirdweb/modules";
56
- *
57
- * const result = await SequentialTokenIdERC1155.encodeBytesOnInstall({
58
- * contract,
59
- * });
60
- *
61
- * ```
62
- */
63
- async function encodeBytesOnInstall(options) {
64
- return (0, read_contract_js_1.readContract)({
65
- contract: options.contract,
66
- method: [exports.FN_SELECTOR, FN_INPUTS, FN_OUTPUTS],
67
- params: [],
68
- });
69
- }
70
- //# sourceMappingURL=encodeBytesOnInstall.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"encodeBytesOnInstall.js","sourceRoot":"","sources":["../../../../../../../src/extensions/modules/__generated__/SequentialTokenIdERC1155/read/encodeBytesOnInstall.ts"],"names":[],"mappings":";;;AA0BA,0EAKC;AAaD,4EAEC;AAiBD,oDAMC;AArED,kFAA2E;AAG3E,+BAA2C;AAE3C,yFAAgF;AAEnE,QAAA,WAAW,GAAG,YAAqB,CAAC;AACjD,MAAM,SAAS,GAAG,EAAW,CAAC;AAC9B,MAAM,UAAU,GAAG;IACjB;QACE,IAAI,EAAE,OAAO;KACd;CACO,CAAC;AAEX;;;;;;;;;;GAUG;AACH,SAAgB,+BAA+B,CAAC,kBAA4B;IAC1E,OAAO,IAAA,iCAAY,EAAC;QAClB,kBAAkB;QAClB,MAAM,EAAE,CAAC,mBAAW,EAAE,SAAS,EAAE,UAAU,CAAU;KACtD,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,gCAAgC,CAAC,MAAW;IAC1D,OAAO,IAAA,0BAAmB,EAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACI,KAAK,UAAU,oBAAoB,CAAC,OAA+B;IACxE,OAAO,IAAA,+BAAY,EAAC;QAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,MAAM,EAAE,CAAC,mBAAW,EAAE,SAAS,EAAE,UAAU,CAAU;QACrD,MAAM,EAAE,EAAE;KACX,CAAC,CAAC;AACL,CAAC"}
@@ -1,64 +0,0 @@
1
- import { readContract } from "../../../../../transaction/read-contract.js";
2
- import { decodeAbiParameters } from "viem";
3
- import { detectMethod } from "../../../../../utils/bytecode/detectExtension.js";
4
- export const FN_SELECTOR = "0xfec7ff72";
5
- const FN_INPUTS = [];
6
- const FN_OUTPUTS = [
7
- {
8
- type: "bytes",
9
- },
10
- ];
11
- /**
12
- * Checks if the `encodeBytesOnInstall` method is supported by the given contract.
13
- * @param availableSelectors An array of 4byte function selectors of the contract. You can get this in various ways, such as using "whatsabi" or if you have the ABI of the contract available you can use it to generate the selectors.
14
- * @returns A boolean indicating if the `encodeBytesOnInstall` method is supported.
15
- * @modules SequentialTokenIdERC1155
16
- * @example
17
- * ```ts
18
- * import { SequentialTokenIdERC1155 } from "thirdweb/modules";
19
- * const supported = SequentialTokenIdERC1155.isEncodeBytesOnInstallSupported(["0x..."]);
20
- * ```
21
- */
22
- export function isEncodeBytesOnInstallSupported(availableSelectors) {
23
- return detectMethod({
24
- availableSelectors,
25
- method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS],
26
- });
27
- }
28
- /**
29
- * Decodes the result of the encodeBytesOnInstall function call.
30
- * @param result - The hexadecimal result to decode.
31
- * @returns The decoded result as per the FN_OUTPUTS definition.
32
- * @modules SequentialTokenIdERC1155
33
- * @example
34
- * ```ts
35
- * import { SequentialTokenIdERC1155 } from "thirdweb/modules";
36
- * const result = SequentialTokenIdERC1155.decodeEncodeBytesOnInstallResultResult("...");
37
- * ```
38
- */
39
- export function decodeEncodeBytesOnInstallResult(result) {
40
- return decodeAbiParameters(FN_OUTPUTS, result)[0];
41
- }
42
- /**
43
- * Calls the "encodeBytesOnInstall" function on the contract.
44
- * @param options - The options for the encodeBytesOnInstall function.
45
- * @returns The parsed result of the function call.
46
- * @modules SequentialTokenIdERC1155
47
- * @example
48
- * ```ts
49
- * import { SequentialTokenIdERC1155 } from "thirdweb/modules";
50
- *
51
- * const result = await SequentialTokenIdERC1155.encodeBytesOnInstall({
52
- * contract,
53
- * });
54
- *
55
- * ```
56
- */
57
- export async function encodeBytesOnInstall(options) {
58
- return readContract({
59
- contract: options.contract,
60
- method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS],
61
- params: [],
62
- });
63
- }
64
- //# sourceMappingURL=encodeBytesOnInstall.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"encodeBytesOnInstall.js","sourceRoot":"","sources":["../../../../../../../src/extensions/modules/__generated__/SequentialTokenIdERC1155/read/encodeBytesOnInstall.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,6CAA6C,CAAC;AAG3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,MAAM,CAAC;AAE3C,OAAO,EAAE,YAAY,EAAE,MAAM,kDAAkD,CAAC;AAEhF,MAAM,CAAC,MAAM,WAAW,GAAG,YAAqB,CAAC;AACjD,MAAM,SAAS,GAAG,EAAW,CAAC;AAC9B,MAAM,UAAU,GAAG;IACjB;QACE,IAAI,EAAE,OAAO;KACd;CACO,CAAC;AAEX;;;;;;;;;;GAUG;AACH,MAAM,UAAU,+BAA+B,CAAC,kBAA4B;IAC1E,OAAO,YAAY,CAAC;QAClB,kBAAkB;QAClB,MAAM,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,CAAU;KACtD,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,gCAAgC,CAAC,MAAW;IAC1D,OAAO,mBAAmB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,OAA+B;IACxE,OAAO,YAAY,CAAC;QAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,MAAM,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,CAAU;QACrD,MAAM,EAAE,EAAE;KACX,CAAC,CAAC;AACL,CAAC"}
@@ -1,44 +0,0 @@
1
- import type { BaseTransactionOptions } from "../../../../../transaction/types.js";
2
- import type { Hex } from "../../../../../utils/encoding/hex.js";
3
- export declare const FN_SELECTOR: "0xfec7ff72";
4
- /**
5
- * Checks if the `encodeBytesOnInstall` method is supported by the given contract.
6
- * @param availableSelectors An array of 4byte function selectors of the contract. You can get this in various ways, such as using "whatsabi" or if you have the ABI of the contract available you can use it to generate the selectors.
7
- * @returns A boolean indicating if the `encodeBytesOnInstall` method is supported.
8
- * @modules SequentialTokenIdERC1155
9
- * @example
10
- * ```ts
11
- * import { SequentialTokenIdERC1155 } from "thirdweb/modules";
12
- * const supported = SequentialTokenIdERC1155.isEncodeBytesOnInstallSupported(["0x..."]);
13
- * ```
14
- */
15
- export declare function isEncodeBytesOnInstallSupported(availableSelectors: string[]): boolean;
16
- /**
17
- * Decodes the result of the encodeBytesOnInstall function call.
18
- * @param result - The hexadecimal result to decode.
19
- * @returns The decoded result as per the FN_OUTPUTS definition.
20
- * @modules SequentialTokenIdERC1155
21
- * @example
22
- * ```ts
23
- * import { SequentialTokenIdERC1155 } from "thirdweb/modules";
24
- * const result = SequentialTokenIdERC1155.decodeEncodeBytesOnInstallResultResult("...");
25
- * ```
26
- */
27
- export declare function decodeEncodeBytesOnInstallResult(result: Hex): `0x${string}`;
28
- /**
29
- * Calls the "encodeBytesOnInstall" function on the contract.
30
- * @param options - The options for the encodeBytesOnInstall function.
31
- * @returns The parsed result of the function call.
32
- * @modules SequentialTokenIdERC1155
33
- * @example
34
- * ```ts
35
- * import { SequentialTokenIdERC1155 } from "thirdweb/modules";
36
- *
37
- * const result = await SequentialTokenIdERC1155.encodeBytesOnInstall({
38
- * contract,
39
- * });
40
- *
41
- * ```
42
- */
43
- export declare function encodeBytesOnInstall(options: BaseTransactionOptions): Promise<`0x${string}`>;
44
- //# sourceMappingURL=encodeBytesOnInstall.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"encodeBytesOnInstall.d.ts","sourceRoot":"","sources":["../../../../../../../src/extensions/modules/__generated__/SequentialTokenIdERC1155/read/encodeBytesOnInstall.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAGlF,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,sCAAsC,CAAC;AAGhE,eAAO,MAAM,WAAW,cAAwB,CAAC;AAQjD;;;;;;;;;;GAUG;AACH,wBAAgB,+BAA+B,CAAC,kBAAkB,EAAE,MAAM,EAAE,WAK3E;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,GAAG,iBAE3D;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,sBAAsB,0BAMzE"}
@@ -1,70 +0,0 @@
1
- import { readContract } from "../../../../../transaction/read-contract.js";
2
- import type { BaseTransactionOptions } from "../../../../../transaction/types.js";
3
-
4
- import { decodeAbiParameters } from "viem";
5
- import type { Hex } from "../../../../../utils/encoding/hex.js";
6
- import { detectMethod } from "../../../../../utils/bytecode/detectExtension.js";
7
-
8
- export const FN_SELECTOR = "0xfec7ff72" as const;
9
- const FN_INPUTS = [] as const;
10
- const FN_OUTPUTS = [
11
- {
12
- type: "bytes",
13
- },
14
- ] as const;
15
-
16
- /**
17
- * Checks if the `encodeBytesOnInstall` method is supported by the given contract.
18
- * @param availableSelectors An array of 4byte function selectors of the contract. You can get this in various ways, such as using "whatsabi" or if you have the ABI of the contract available you can use it to generate the selectors.
19
- * @returns A boolean indicating if the `encodeBytesOnInstall` method is supported.
20
- * @modules SequentialTokenIdERC1155
21
- * @example
22
- * ```ts
23
- * import { SequentialTokenIdERC1155 } from "thirdweb/modules";
24
- * const supported = SequentialTokenIdERC1155.isEncodeBytesOnInstallSupported(["0x..."]);
25
- * ```
26
- */
27
- export function isEncodeBytesOnInstallSupported(availableSelectors: string[]) {
28
- return detectMethod({
29
- availableSelectors,
30
- method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
31
- });
32
- }
33
-
34
- /**
35
- * Decodes the result of the encodeBytesOnInstall function call.
36
- * @param result - The hexadecimal result to decode.
37
- * @returns The decoded result as per the FN_OUTPUTS definition.
38
- * @modules SequentialTokenIdERC1155
39
- * @example
40
- * ```ts
41
- * import { SequentialTokenIdERC1155 } from "thirdweb/modules";
42
- * const result = SequentialTokenIdERC1155.decodeEncodeBytesOnInstallResultResult("...");
43
- * ```
44
- */
45
- export function decodeEncodeBytesOnInstallResult(result: Hex) {
46
- return decodeAbiParameters(FN_OUTPUTS, result)[0];
47
- }
48
-
49
- /**
50
- * Calls the "encodeBytesOnInstall" function on the contract.
51
- * @param options - The options for the encodeBytesOnInstall function.
52
- * @returns The parsed result of the function call.
53
- * @modules SequentialTokenIdERC1155
54
- * @example
55
- * ```ts
56
- * import { SequentialTokenIdERC1155 } from "thirdweb/modules";
57
- *
58
- * const result = await SequentialTokenIdERC1155.encodeBytesOnInstall({
59
- * contract,
60
- * });
61
- *
62
- * ```
63
- */
64
- export async function encodeBytesOnInstall(options: BaseTransactionOptions) {
65
- return readContract({
66
- contract: options.contract,
67
- method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
68
- params: [],
69
- });
70
- }