thirdweb 5.83.2-nightly-332536bdee05b6fb3b36d33761381826279b48f6-20250113000321 → 5.84.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 (322) hide show
  1. package/dist/cjs/ai/chat.js +29 -0
  2. package/dist/cjs/ai/chat.js.map +1 -0
  3. package/dist/cjs/ai/common.js +69 -0
  4. package/dist/cjs/ai/common.js.map +1 -0
  5. package/dist/cjs/ai/execute.js +43 -0
  6. package/dist/cjs/ai/execute.js.map +1 -0
  7. package/dist/cjs/ai/index.js +8 -0
  8. package/dist/cjs/ai/index.js.map +1 -0
  9. package/dist/cjs/auth/is-erc6492-signature.js +2 -2
  10. package/dist/cjs/auth/is-erc6492-signature.js.map +1 -1
  11. package/dist/cjs/auth/parse-erc6492-signature.js +10 -4
  12. package/dist/cjs/auth/parse-erc6492-signature.js.map +1 -1
  13. package/dist/cjs/auth/verify-hash.js +12 -11
  14. package/dist/cjs/auth/verify-hash.js.map +1 -1
  15. package/dist/cjs/auth/verify-signature.js +13 -5
  16. package/dist/cjs/auth/verify-signature.js.map +1 -1
  17. package/dist/cjs/auth/verify-typed-data.js +2 -2
  18. package/dist/cjs/auth/verify-typed-data.js.map +1 -1
  19. package/dist/cjs/contract/deployment/utils/create-2-factory.js +4 -3
  20. package/dist/cjs/contract/deployment/utils/create-2-factory.js.map +1 -1
  21. package/dist/cjs/contract/verification/constructor-params.js +5 -12
  22. package/dist/cjs/contract/verification/constructor-params.js.map +1 -1
  23. package/dist/cjs/exports/ai.js +5 -0
  24. package/dist/cjs/exports/ai.js.map +1 -0
  25. package/dist/cjs/exports/utils.js +9 -6
  26. package/dist/cjs/exports/utils.js.map +1 -1
  27. package/dist/cjs/exports/wallets/engine.js +6 -0
  28. package/dist/cjs/exports/wallets/engine.js.map +1 -0
  29. package/dist/cjs/exports/wallets.js +3 -1
  30. package/dist/cjs/exports/wallets.js.map +1 -1
  31. package/dist/cjs/extensions/ens/resolve-l2-name.js +10 -3
  32. package/dist/cjs/extensions/ens/resolve-l2-name.js.map +1 -1
  33. package/dist/cjs/extensions/erc1155/read/getNFTs.js +2 -2
  34. package/dist/cjs/extensions/erc1155/read/getNFTs.js.map +1 -1
  35. package/dist/cjs/extensions/erc1155/write/mintTo.js +2 -2
  36. package/dist/cjs/extensions/erc1155/write/mintTo.js.map +1 -1
  37. package/dist/cjs/extensions/erc1155/write/mintToBatch.js +2 -2
  38. package/dist/cjs/extensions/erc1155/write/mintToBatch.js.map +1 -1
  39. package/dist/cjs/extensions/erc1155/write/sigMint.js +2 -2
  40. package/dist/cjs/extensions/erc1155/write/sigMint.js.map +1 -1
  41. package/dist/cjs/extensions/modules/ClaimableERC1155/setClaimConditions.js +3 -2
  42. package/dist/cjs/extensions/modules/ClaimableERC1155/setClaimConditions.js.map +1 -1
  43. package/dist/cjs/extensions/modules/MintableERC1155/mintWithRole.js +2 -2
  44. package/dist/cjs/extensions/modules/MintableERC1155/mintWithRole.js.map +1 -1
  45. package/dist/cjs/extensions/modules/MintableERC1155/mintWithSignature.js +2 -2
  46. package/dist/cjs/extensions/modules/MintableERC1155/mintWithSignature.js.map +1 -1
  47. package/dist/cjs/react/core/hooks/wallets/useAutoConnect.js +10 -131
  48. package/dist/cjs/react/core/hooks/wallets/useAutoConnect.js.map +1 -1
  49. package/dist/cjs/react/core/hooks/wallets/useSendToken.js +2 -1
  50. package/dist/cjs/react/core/hooks/wallets/useSendToken.js.map +1 -1
  51. package/dist/cjs/react/native/hooks/wallets/useAutoConnect.js.map +1 -1
  52. package/dist/cjs/react/web/hooks/wallets/useAutoConnect.js +1 -1
  53. package/dist/cjs/react/web/hooks/wallets/useAutoConnect.js.map +1 -1
  54. package/dist/cjs/react/web/ui/ConnectWallet/ConnectButton.js +3 -1
  55. package/dist/cjs/react/web/ui/ConnectWallet/ConnectButton.js.map +1 -1
  56. package/dist/cjs/react/web/ui/ConnectWallet/Modal/ConnectEmbed.js +2 -1
  57. package/dist/cjs/react/web/ui/ConnectWallet/Modal/ConnectEmbed.js.map +1 -1
  58. package/dist/cjs/react/web/ui/ConnectWallet/screens/WalletSwitcherConnectionScreen.js +1 -1
  59. package/dist/cjs/react/web/ui/ConnectWallet/screens/WalletSwitcherConnectionScreen.js.map +1 -1
  60. package/dist/cjs/react/web/ui/ConnectWallet/useConnectModal.js +1 -1
  61. package/dist/cjs/react/web/ui/ConnectWallet/useConnectModal.js.map +1 -1
  62. package/dist/cjs/react/web/wallets/in-app/WalletAuth.js +1 -1
  63. package/dist/cjs/react/web/wallets/in-app/WalletAuth.js.map +1 -1
  64. package/dist/cjs/utils/abi/encodeAbiParameters.js +10 -11
  65. package/dist/cjs/utils/abi/encodeAbiParameters.js.map +1 -1
  66. package/dist/cjs/utils/ens/isValidENSName.js +50 -0
  67. package/dist/cjs/utils/ens/isValidENSName.js.map +1 -0
  68. package/dist/cjs/utils/extensions/drops/convert-quantity.js +2 -2
  69. package/dist/cjs/utils/extensions/drops/convert-quantity.js.map +1 -1
  70. package/dist/cjs/utils/extensions/drops/get-multicall-set-claim-claim-conditon-transactions.js +3 -3
  71. package/dist/cjs/utils/extensions/drops/get-multicall-set-claim-claim-conditon-transactions.js.map +1 -1
  72. package/dist/cjs/utils/timeoutPromise.js.map +1 -0
  73. package/dist/cjs/version.js +1 -1
  74. package/dist/cjs/version.js.map +1 -1
  75. package/dist/cjs/wallets/connection/autoConnect.js +54 -0
  76. package/dist/cjs/wallets/connection/autoConnect.js.map +1 -0
  77. package/dist/cjs/wallets/connection/autoConnectCore.js +135 -0
  78. package/dist/cjs/wallets/connection/autoConnectCore.js.map +1 -0
  79. package/dist/cjs/wallets/connection/types.js.map +1 -0
  80. package/dist/cjs/{react/web/wallets → wallets}/defaultWallets.js +2 -2
  81. package/dist/cjs/wallets/defaultWallets.js.map +1 -0
  82. package/dist/cjs/wallets/engine/index.js +143 -0
  83. package/dist/cjs/wallets/engine/index.js.map +1 -0
  84. package/dist/cjs/wallets/in-app/web/lib/get-url-token.js +1 -1
  85. package/dist/cjs/wallets/in-app/web/lib/get-url-token.js.map +1 -1
  86. package/dist/cjs/wallets/smart/lib/signing.js +1 -1
  87. package/dist/esm/ai/chat.js +26 -0
  88. package/dist/esm/ai/chat.js.map +1 -0
  89. package/dist/esm/ai/common.js +66 -0
  90. package/dist/esm/ai/common.js.map +1 -0
  91. package/dist/esm/ai/execute.js +40 -0
  92. package/dist/esm/ai/execute.js.map +1 -0
  93. package/dist/esm/ai/index.js +3 -0
  94. package/dist/esm/ai/index.js.map +1 -0
  95. package/dist/esm/auth/is-erc6492-signature.js +2 -2
  96. package/dist/esm/auth/is-erc6492-signature.js.map +1 -1
  97. package/dist/esm/auth/parse-erc6492-signature.js +10 -4
  98. package/dist/esm/auth/parse-erc6492-signature.js.map +1 -1
  99. package/dist/esm/auth/verify-hash.js +12 -11
  100. package/dist/esm/auth/verify-hash.js.map +1 -1
  101. package/dist/esm/auth/verify-signature.js +13 -5
  102. package/dist/esm/auth/verify-signature.js.map +1 -1
  103. package/dist/esm/auth/verify-typed-data.js +2 -2
  104. package/dist/esm/auth/verify-typed-data.js.map +1 -1
  105. package/dist/esm/contract/deployment/utils/create-2-factory.js +4 -3
  106. package/dist/esm/contract/deployment/utils/create-2-factory.js.map +1 -1
  107. package/dist/esm/contract/verification/constructor-params.js +5 -12
  108. package/dist/esm/contract/verification/constructor-params.js.map +1 -1
  109. package/dist/esm/exports/ai.js +2 -0
  110. package/dist/esm/exports/ai.js.map +1 -0
  111. package/dist/esm/exports/utils.js +3 -1
  112. package/dist/esm/exports/utils.js.map +1 -1
  113. package/dist/esm/exports/wallets/engine.js +2 -0
  114. package/dist/esm/exports/wallets/engine.js.map +1 -0
  115. package/dist/esm/exports/wallets.js +1 -0
  116. package/dist/esm/exports/wallets.js.map +1 -1
  117. package/dist/esm/extensions/ens/resolve-l2-name.js +11 -4
  118. package/dist/esm/extensions/ens/resolve-l2-name.js.map +1 -1
  119. package/dist/esm/extensions/erc1155/read/getNFTs.js +1 -1
  120. package/dist/esm/extensions/erc1155/read/getNFTs.js.map +1 -1
  121. package/dist/esm/extensions/erc1155/write/mintTo.js +1 -1
  122. package/dist/esm/extensions/erc1155/write/mintTo.js.map +1 -1
  123. package/dist/esm/extensions/erc1155/write/mintToBatch.js +1 -1
  124. package/dist/esm/extensions/erc1155/write/mintToBatch.js.map +1 -1
  125. package/dist/esm/extensions/erc1155/write/sigMint.js +1 -1
  126. package/dist/esm/extensions/erc1155/write/sigMint.js.map +1 -1
  127. package/dist/esm/extensions/modules/ClaimableERC1155/setClaimConditions.js +2 -1
  128. package/dist/esm/extensions/modules/ClaimableERC1155/setClaimConditions.js.map +1 -1
  129. package/dist/esm/extensions/modules/MintableERC1155/mintWithRole.js +1 -1
  130. package/dist/esm/extensions/modules/MintableERC1155/mintWithRole.js.map +1 -1
  131. package/dist/esm/extensions/modules/MintableERC1155/mintWithSignature.js +1 -1
  132. package/dist/esm/extensions/modules/MintableERC1155/mintWithSignature.js.map +1 -1
  133. package/dist/esm/react/core/hooks/wallets/useAutoConnect.js +10 -130
  134. package/dist/esm/react/core/hooks/wallets/useAutoConnect.js.map +1 -1
  135. package/dist/esm/react/core/hooks/wallets/useSendToken.js +2 -1
  136. package/dist/esm/react/core/hooks/wallets/useSendToken.js.map +1 -1
  137. package/dist/esm/react/native/hooks/wallets/useAutoConnect.js.map +1 -1
  138. package/dist/esm/react/web/hooks/wallets/useAutoConnect.js +1 -1
  139. package/dist/esm/react/web/hooks/wallets/useAutoConnect.js.map +1 -1
  140. package/dist/esm/react/web/ui/ConnectWallet/ConnectButton.js +3 -1
  141. package/dist/esm/react/web/ui/ConnectWallet/ConnectButton.js.map +1 -1
  142. package/dist/esm/react/web/ui/ConnectWallet/Modal/ConnectEmbed.js +2 -1
  143. package/dist/esm/react/web/ui/ConnectWallet/Modal/ConnectEmbed.js.map +1 -1
  144. package/dist/esm/react/web/ui/ConnectWallet/screens/WalletSwitcherConnectionScreen.js +1 -1
  145. package/dist/esm/react/web/ui/ConnectWallet/screens/WalletSwitcherConnectionScreen.js.map +1 -1
  146. package/dist/esm/react/web/ui/ConnectWallet/useConnectModal.js +1 -1
  147. package/dist/esm/react/web/ui/ConnectWallet/useConnectModal.js.map +1 -1
  148. package/dist/esm/react/web/wallets/in-app/WalletAuth.js +1 -1
  149. package/dist/esm/react/web/wallets/in-app/WalletAuth.js.map +1 -1
  150. package/dist/esm/utils/abi/encodeAbiParameters.js +10 -11
  151. package/dist/esm/utils/abi/encodeAbiParameters.js.map +1 -1
  152. package/dist/esm/utils/ens/isValidENSName.js +47 -0
  153. package/dist/esm/utils/ens/isValidENSName.js.map +1 -0
  154. package/dist/esm/utils/extensions/drops/convert-quantity.js +1 -1
  155. package/dist/esm/utils/extensions/drops/convert-quantity.js.map +1 -1
  156. package/dist/esm/utils/extensions/drops/get-multicall-set-claim-claim-conditon-transactions.js +1 -1
  157. package/dist/esm/utils/extensions/drops/get-multicall-set-claim-claim-conditon-transactions.js.map +1 -1
  158. package/dist/esm/utils/timeoutPromise.js.map +1 -0
  159. package/dist/esm/version.js +1 -1
  160. package/dist/esm/version.js.map +1 -1
  161. package/dist/esm/wallets/connection/autoConnect.js +50 -0
  162. package/dist/esm/wallets/connection/autoConnect.js.map +1 -0
  163. package/dist/esm/wallets/connection/autoConnectCore.js +130 -0
  164. package/dist/esm/wallets/connection/autoConnectCore.js.map +1 -0
  165. package/dist/esm/wallets/connection/types.js.map +1 -0
  166. package/dist/esm/{react/web/wallets → wallets}/defaultWallets.js +2 -2
  167. package/dist/esm/wallets/defaultWallets.js.map +1 -0
  168. package/dist/esm/wallets/engine/index.js +140 -0
  169. package/dist/esm/wallets/engine/index.js.map +1 -0
  170. package/dist/esm/wallets/in-app/web/lib/get-url-token.js +1 -1
  171. package/dist/esm/wallets/in-app/web/lib/get-url-token.js.map +1 -1
  172. package/dist/esm/wallets/smart/lib/signing.js +1 -1
  173. package/dist/types/ai/chat.d.ts +24 -0
  174. package/dist/types/ai/chat.d.ts.map +1 -0
  175. package/dist/types/ai/common.d.ts +22 -0
  176. package/dist/types/ai/common.d.ts.map +1 -0
  177. package/dist/types/ai/execute.d.ts +29 -0
  178. package/dist/types/ai/execute.d.ts.map +1 -0
  179. package/dist/types/ai/index.d.ts +4 -0
  180. package/dist/types/ai/index.d.ts.map +1 -0
  181. package/dist/types/auth/parse-erc6492-signature.d.ts.map +1 -1
  182. package/dist/types/auth/verify-hash.d.ts +2 -2
  183. package/dist/types/auth/verify-hash.d.ts.map +1 -1
  184. package/dist/types/auth/verify-signature.d.ts +6 -3
  185. package/dist/types/auth/verify-signature.d.ts.map +1 -1
  186. package/dist/types/auth/verify-typed-data.d.ts +5 -4
  187. package/dist/types/auth/verify-typed-data.d.ts.map +1 -1
  188. package/dist/types/contract/deployment/utils/create-2-factory.d.ts.map +1 -1
  189. package/dist/types/contract/verification/constructor-params.d.ts +2 -2
  190. package/dist/types/contract/verification/constructor-params.d.ts.map +1 -1
  191. package/dist/types/event/types.d.ts +3 -2
  192. package/dist/types/event/types.d.ts.map +1 -1
  193. package/dist/types/exports/ai.d.ts +2 -0
  194. package/dist/types/exports/ai.d.ts.map +1 -0
  195. package/dist/types/exports/react.d.ts +1 -1
  196. package/dist/types/exports/react.d.ts.map +1 -1
  197. package/dist/types/exports/react.native.d.ts +1 -1
  198. package/dist/types/exports/react.native.d.ts.map +1 -1
  199. package/dist/types/exports/utils.d.ts +2 -1
  200. package/dist/types/exports/utils.d.ts.map +1 -1
  201. package/dist/types/exports/wallets/engine.d.ts +2 -0
  202. package/dist/types/exports/wallets/engine.d.ts.map +1 -0
  203. package/dist/types/exports/wallets.d.ts +2 -0
  204. package/dist/types/exports/wallets.d.ts.map +1 -1
  205. package/dist/types/extensions/ens/resolve-l2-name.d.ts.map +1 -1
  206. package/dist/types/extensions/erc1155/write/mintTo.d.ts +1 -1
  207. package/dist/types/extensions/erc1155/write/mintTo.d.ts.map +1 -1
  208. package/dist/types/extensions/erc1155/write/mintToBatch.d.ts +1 -1
  209. package/dist/types/extensions/erc1155/write/mintToBatch.d.ts.map +1 -1
  210. package/dist/types/extensions/modules/ClaimableERC1155/setClaimConditions.d.ts.map +1 -1
  211. package/dist/types/extensions/modules/MintableERC1155/mintWithRole.d.ts +1 -1
  212. package/dist/types/extensions/modules/MintableERC1155/mintWithRole.d.ts.map +1 -1
  213. package/dist/types/extensions/modules/MintableERC1155/mintWithSignature.d.ts +1 -1
  214. package/dist/types/extensions/modules/MintableERC1155/mintWithSignature.d.ts.map +1 -1
  215. package/dist/types/react/core/hooks/wallets/useAutoConnect.d.ts +1 -13
  216. package/dist/types/react/core/hooks/wallets/useAutoConnect.d.ts.map +1 -1
  217. package/dist/types/react/core/hooks/wallets/useSendToken.d.ts.map +1 -1
  218. package/dist/types/react/native/hooks/wallets/useAutoConnect.d.ts +1 -1
  219. package/dist/types/react/native/hooks/wallets/useAutoConnect.d.ts.map +1 -1
  220. package/dist/types/react/native/ui/AutoConnect/AutoConnect.d.ts +1 -1
  221. package/dist/types/react/web/hooks/wallets/useAutoConnect.d.ts +1 -1
  222. package/dist/types/react/web/hooks/wallets/useAutoConnect.d.ts.map +1 -1
  223. package/dist/types/react/web/ui/AutoConnect/AutoConnect.d.ts +1 -1
  224. package/dist/types/react/web/ui/ConnectWallet/ConnectButton.d.ts +2 -0
  225. package/dist/types/react/web/ui/ConnectWallet/ConnectButton.d.ts.map +1 -1
  226. package/dist/types/react/web/ui/ConnectWallet/Modal/ConnectEmbed.d.ts +1 -0
  227. package/dist/types/react/web/ui/ConnectWallet/Modal/ConnectEmbed.d.ts.map +1 -1
  228. package/dist/types/react/web/ui/ConnectWallet/screens/WalletSwitcherConnectionScreen.d.ts.map +1 -1
  229. package/dist/types/react/web/ui/ConnectWallet/useConnectModal.d.ts.map +1 -1
  230. package/dist/types/react/web/wallets/in-app/WalletAuth.d.ts.map +1 -1
  231. package/dist/types/utils/ens/isValidENSName.d.ts +14 -0
  232. package/dist/types/utils/ens/isValidENSName.d.ts.map +1 -0
  233. package/dist/types/utils/timeoutPromise.d.ts.map +1 -0
  234. package/dist/types/version.d.ts +1 -1
  235. package/dist/types/version.d.ts.map +1 -1
  236. package/dist/types/wallets/connection/autoConnect.d.ts +27 -0
  237. package/dist/types/wallets/connection/autoConnect.d.ts.map +1 -0
  238. package/dist/types/wallets/connection/autoConnectCore.d.ts +32 -0
  239. package/dist/types/wallets/connection/autoConnectCore.d.ts.map +1 -0
  240. package/dist/types/{react/core/hooks → wallets}/connection/types.d.ts +5 -5
  241. package/dist/types/wallets/connection/types.d.ts.map +1 -0
  242. package/dist/types/wallets/defaultWallets.d.ts +11 -0
  243. package/dist/types/wallets/defaultWallets.d.ts.map +1 -0
  244. package/dist/types/wallets/engine/index.d.ts +54 -0
  245. package/dist/types/wallets/engine/index.d.ts.map +1 -0
  246. package/dist/types/wallets/smart/lib/signing.d.ts +1 -1
  247. package/package.json +9 -1
  248. package/src/ai/chat.test.ts +31 -0
  249. package/src/ai/chat.ts +26 -0
  250. package/src/ai/common.ts +114 -0
  251. package/src/ai/execute.test.ts +43 -0
  252. package/src/ai/execute.ts +44 -0
  253. package/src/ai/index.ts +3 -0
  254. package/src/auth/is-erc6492-signature.ts +2 -2
  255. package/src/auth/parse-erc6492-signature.ts +10 -4
  256. package/src/auth/verify-hash.ts +16 -20
  257. package/src/auth/verify-signature.test.ts +48 -2
  258. package/src/auth/verify-signature.ts +24 -7
  259. package/src/auth/verify-typed-data.ts +9 -7
  260. package/src/contract/deployment/utils/create-2-factory.ts +4 -3
  261. package/src/contract/verification/constructor-params.ts +8 -15
  262. package/src/event/types.ts +6 -5
  263. package/src/exports/ai.ts +1 -0
  264. package/src/exports/react.native.ts +1 -1
  265. package/src/exports/react.ts +1 -1
  266. package/src/exports/utils.ts +4 -1
  267. package/src/exports/wallets/engine.ts +4 -0
  268. package/src/exports/wallets.ts +2 -0
  269. package/src/extensions/ens/resolve-l2-name.ts +21 -5
  270. package/src/extensions/erc1155/read/getNFTs.ts +1 -1
  271. package/src/extensions/erc1155/write/mintTo.ts +1 -1
  272. package/src/extensions/erc1155/write/mintToBatch.ts +1 -1
  273. package/src/extensions/erc1155/write/sigMint.ts +1 -1
  274. package/src/extensions/modules/ClaimableERC1155/setClaimConditions.ts +2 -1
  275. package/src/extensions/modules/MintableERC1155/mintWithRole.ts +1 -1
  276. package/src/extensions/modules/MintableERC1155/mintWithSignature.ts +1 -1
  277. package/src/react/core/hooks/wallets/useAutoConnect.ts +12 -158
  278. package/src/react/core/hooks/wallets/useAutoConnectCore.test.tsx +1 -31
  279. package/src/react/core/hooks/wallets/useSendToken.ts +2 -1
  280. package/src/react/native/hooks/wallets/useAutoConnect.ts +1 -1
  281. package/src/react/native/ui/AutoConnect/AutoConnect.tsx +1 -1
  282. package/src/react/web/hooks/wallets/useAutoConnect.ts +2 -2
  283. package/src/react/web/ui/AutoConnect/AutoConnect.tsx +1 -1
  284. package/src/react/web/ui/ConnectWallet/ConnectButton.tsx +3 -1
  285. package/src/react/web/ui/ConnectWallet/Modal/ConnectEmbed.tsx +2 -1
  286. package/src/react/web/ui/ConnectWallet/screens/WalletSwitcherConnectionScreen.tsx +1 -1
  287. package/src/react/web/ui/ConnectWallet/useConnectModal.tsx +1 -1
  288. package/src/react/web/wallets/in-app/WalletAuth.tsx +1 -1
  289. package/src/utils/abi/encodeAbiParameters.ts +15 -11
  290. package/src/utils/ens/isValidENSName.test.ts +39 -0
  291. package/src/utils/ens/isValidENSName.ts +54 -0
  292. package/src/utils/extensions/drops/convert-quantity.ts +1 -1
  293. package/src/utils/extensions/drops/get-multicall-set-claim-claim-conditon-transactions.ts +1 -1
  294. package/src/version.ts +1 -1
  295. package/src/wallets/connection/autoConnect.test.ts +67 -0
  296. package/src/wallets/connection/autoConnect.ts +58 -0
  297. package/src/wallets/connection/autoConnectCore.test.ts +403 -0
  298. package/src/wallets/connection/autoConnectCore.ts +184 -0
  299. package/src/{react/core/hooks → wallets}/connection/types.ts +5 -5
  300. package/src/{react/web/wallets → wallets}/defaultWallets.ts +5 -10
  301. package/src/wallets/engine/engine-account.test.ts +69 -0
  302. package/src/wallets/engine/index.ts +198 -0
  303. package/src/wallets/in-app/web/lib/get-url-token.ts +1 -1
  304. package/src/wallets/smart/lib/signing.ts +1 -1
  305. package/src/wallets/smart/smart-wallet-integration.test.ts +1 -0
  306. package/dist/cjs/react/core/hooks/connection/types.js.map +0 -1
  307. package/dist/cjs/react/core/utils/timeoutPromise.js.map +0 -1
  308. package/dist/cjs/react/web/wallets/defaultWallets.js.map +0 -1
  309. package/dist/esm/react/core/hooks/connection/types.js.map +0 -1
  310. package/dist/esm/react/core/utils/timeoutPromise.js.map +0 -1
  311. package/dist/esm/react/web/wallets/defaultWallets.js.map +0 -1
  312. package/dist/types/react/core/hooks/connection/types.d.ts.map +0 -1
  313. package/dist/types/react/core/utils/timeoutPromise.d.ts.map +0 -1
  314. package/dist/types/react/web/wallets/defaultWallets.d.ts +0 -11
  315. package/dist/types/react/web/wallets/defaultWallets.d.ts.map +0 -1
  316. /package/dist/cjs/{react/core/utils → utils}/timeoutPromise.js +0 -0
  317. /package/dist/cjs/{react/core/hooks → wallets}/connection/types.js +0 -0
  318. /package/dist/esm/{react/core/utils → utils}/timeoutPromise.js +0 -0
  319. /package/dist/esm/{react/core/hooks → wallets}/connection/types.js +0 -0
  320. /package/dist/types/{react/core/utils → utils}/timeoutPromise.d.ts +0 -0
  321. /package/src/{react/core/utils → utils}/timeoutPromise.test.ts +0 -0
  322. /package/src/{react/core/utils → utils}/timeoutPromise.ts +0 -0
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getDefaultWallets = getDefaultWallets;
4
- const constants_js_1 = require("../../../wallets/constants.js");
5
- const create_wallet_js_1 = require("../../../wallets/create-wallet.js");
4
+ const constants_js_1 = require("./constants.js");
5
+ const create_wallet_js_1 = require("./create-wallet.js");
6
6
  /**
7
7
  * @internal
8
8
  */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaultWallets.js","sourceRoot":"","sources":["../../../src/wallets/defaultWallets.ts"],"names":[],"mappings":";;AASA,8CAeC;AAvBD,iDAAqE;AACrE,yDAAkD;AAIlD;;GAEG;AACH,SAAgB,iBAAiB,CAAC,OAGjC;IACC,OAAO;QACL,IAAA,+BAAY,EAAC,OAAO,CAAC;QACrB,IAAA,+BAAY,EAAC,uBAAQ,CAAC;QACtB,IAAA,+BAAY,EAAC,uBAAQ,EAAE;YACrB,WAAW,EAAE,OAAO,EAAE,WAAW;YACjC,MAAM,EAAE,OAAO,EAAE,MAAM;SACxB,CAAC;QACF,IAAA,+BAAY,EAAC,sBAAO,CAAC;QACrB,IAAA,+BAAY,EAAC,UAAU,CAAC;QACxB,IAAA,+BAAY,EAAC,qBAAM,CAAC;KACrB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,143 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.engineAccount = engineAccount;
4
+ const hex_js_1 = require("../../utils/encoding/hex.js");
5
+ /**
6
+ * Creates an account that uses your engine backend wallet for sending transactions and signing messages.
7
+ *
8
+ * @param options - The options for the engine account.
9
+ * @returns An account that uses your engine backend wallet.
10
+ *
11
+ * @beta
12
+ * @wallet
13
+ *
14
+ * @example
15
+ * ```ts
16
+ * import { engineAccount } from "thirdweb/wallets/engine";
17
+ *
18
+ * const engineAcc = engineAccount({
19
+ * engineUrl: "https://engine.thirdweb.com",
20
+ * authToken: "your-auth-token",
21
+ * walletAddress: "0x...",
22
+ * });
23
+ *
24
+ * // then use the account as you would any other account
25
+ * const transaction = claimTo({
26
+ * contract,
27
+ * to: "0x...",
28
+ * quantity: 1n,
29
+ * });
30
+ * const result = await sendTransaction({ transaction, account: engineAcc });
31
+ * console.log("Transaction sent:", result.transactionHash);
32
+ * ```
33
+ */
34
+ function engineAccount(options) {
35
+ const { engineUrl, authToken, walletAddress, chain } = options;
36
+ // these are shared across all methods
37
+ const headers = {
38
+ "x-backend-wallet-address": walletAddress,
39
+ Authorization: `Bearer ${authToken}`,
40
+ "Content-Type": "application/json",
41
+ };
42
+ return {
43
+ address: walletAddress,
44
+ sendTransaction: async (transaction) => {
45
+ const ENGINE_URL = new URL(engineUrl);
46
+ ENGINE_URL.pathname = `/backend-wallet/${transaction.chainId}/send-transaction`;
47
+ const engineData = {
48
+ // add to address if we have it (is optional to pass to engine)
49
+ toAddress: transaction.to || undefined,
50
+ // engine wants a hex string here so we serialize it
51
+ data: transaction.data || "0x",
52
+ // value is always required
53
+ value: (0, hex_js_1.toHex)(transaction.value ?? 0n),
54
+ };
55
+ // TODO: gas overrides etc?
56
+ const engineRes = await fetch(ENGINE_URL, {
57
+ method: "POST",
58
+ headers,
59
+ body: JSON.stringify(engineData),
60
+ });
61
+ if (!engineRes.ok) {
62
+ const body = await engineRes.text();
63
+ throw new Error(`Engine request failed with status ${engineRes.status} - ${body}`);
64
+ }
65
+ const engineJson = (await engineRes.json());
66
+ // wait for the queueId to be processed
67
+ ENGINE_URL.pathname = `/transaction/status/${engineJson.result.queueId}`;
68
+ const startTime = Date.now();
69
+ const TIMEOUT_IN_MS = 5 * 60 * 1000; // 5 minutes in milliseconds
70
+ while (Date.now() - startTime < TIMEOUT_IN_MS) {
71
+ const queueRes = await fetch(ENGINE_URL, {
72
+ method: "GET",
73
+ headers,
74
+ });
75
+ if (!queueRes.ok) {
76
+ const body = await queueRes.text();
77
+ throw new Error(`Engine request failed with status ${queueRes.status} - ${body}`);
78
+ }
79
+ const queueJSON = (await queueRes.json());
80
+ if (queueJSON.result.status === "errored" &&
81
+ queueJSON.result.errorMessage) {
82
+ throw new Error(queueJSON.result.errorMessage);
83
+ }
84
+ if (queueJSON.result.transactionHash) {
85
+ return {
86
+ transactionHash: queueJSON.result.transactionHash,
87
+ };
88
+ }
89
+ // wait 1s before checking again
90
+ await new Promise((resolve) => setTimeout(resolve, 1000));
91
+ }
92
+ throw new Error("Transaction timed out after 5 minutes");
93
+ },
94
+ signMessage: async ({ message }) => {
95
+ let engineMessage;
96
+ let isBytes = false;
97
+ if (typeof message === "string") {
98
+ engineMessage = message;
99
+ }
100
+ else {
101
+ engineMessage = (0, hex_js_1.toHex)(message.raw);
102
+ isBytes = true;
103
+ }
104
+ const ENGINE_URL = new URL(engineUrl);
105
+ ENGINE_URL.pathname = "/backend-wallet/sign-message";
106
+ const engineRes = await fetch(ENGINE_URL, {
107
+ method: "POST",
108
+ headers,
109
+ body: JSON.stringify({
110
+ message: engineMessage,
111
+ isBytes,
112
+ chainId: chain?.id,
113
+ }),
114
+ });
115
+ if (!engineRes.ok) {
116
+ const body = await engineRes.text();
117
+ throw new Error(`Engine request failed with status ${engineRes.status} - ${body}`);
118
+ }
119
+ const engineJson = (await engineRes.json());
120
+ return engineJson.result;
121
+ },
122
+ signTypedData: async (_typedData) => {
123
+ const ENGINE_URL = new URL(engineUrl);
124
+ ENGINE_URL.pathname = "/backend-wallet/sign-typed-data";
125
+ const engineRes = await fetch(ENGINE_URL, {
126
+ method: "POST",
127
+ headers,
128
+ body: JSON.stringify({
129
+ domain: _typedData.domain,
130
+ types: _typedData.types,
131
+ value: _typedData.message,
132
+ }),
133
+ });
134
+ if (!engineRes.ok) {
135
+ engineRes.body?.cancel();
136
+ throw new Error(`Engine request failed with status ${engineRes.status}`);
137
+ }
138
+ const engineJson = (await engineRes.json());
139
+ return engineJson.result;
140
+ },
141
+ };
142
+ }
143
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/wallets/engine/index.ts"],"names":[],"mappings":";;AAwDA,sCA6IC;AAnMD,wDAAoD;AAyBpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,SAAgB,aAAa,CAAC,OAA6B;IACzD,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAE/D,sCAAsC;IACtC,MAAM,OAAO,GAAgB;QAC3B,0BAA0B,EAAE,aAAa;QACzC,aAAa,EAAE,UAAU,SAAS,EAAE;QACpC,cAAc,EAAE,kBAAkB;KACnC,CAAC;IAEF,OAAO;QACL,OAAO,EAAE,aAAa;QACtB,eAAe,EAAE,KAAK,EAAE,WAAkC,EAAE,EAAE;YAC5D,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;YACtC,UAAU,CAAC,QAAQ,GAAG,mBAAmB,WAAW,CAAC,OAAO,mBAAmB,CAAC;YAEhF,MAAM,UAAU,GAAuC;gBACrD,+DAA+D;gBAC/D,SAAS,EAAE,WAAW,CAAC,EAAE,IAAI,SAAS;gBACtC,oDAAoD;gBACpD,IAAI,EAAE,WAAW,CAAC,IAAI,IAAI,IAAI;gBAC9B,2BAA2B;gBAC3B,KAAK,EAAE,IAAA,cAAK,EAAC,WAAW,CAAC,KAAK,IAAI,EAAE,CAAC;aACtC,CAAC;YAEF,2BAA2B;YAE3B,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,UAAU,EAAE;gBACxC,MAAM,EAAE,MAAM;gBACd,OAAO;gBACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;aACjC,CAAC,CAAC;YACH,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;gBAClB,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;gBACpC,MAAM,IAAI,KAAK,CACb,qCAAqC,SAAS,CAAC,MAAM,MAAM,IAAI,EAAE,CAClE,CAAC;YACJ,CAAC;YACD,MAAM,UAAU,GAAG,CAAC,MAAM,SAAS,CAAC,IAAI,EAAE,CAIzC,CAAC;YAEF,uCAAuC;YACvC,UAAU,CAAC,QAAQ,GAAG,uBAAuB,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACzE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,4BAA4B;YAEjE,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,aAAa,EAAE,CAAC;gBAC9C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,UAAU,EAAE;oBACvC,MAAM,EAAE,KAAK;oBACb,OAAO;iBACR,CAAC,CAAC;gBACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;oBACjB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;oBACnC,MAAM,IAAI,KAAK,CACb,qCAAqC,QAAQ,CAAC,MAAM,MAAM,IAAI,EAAE,CACjE,CAAC;gBACJ,CAAC;gBACD,MAAM,SAAS,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAOvC,CAAC;gBAEF,IACE,SAAS,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS;oBACrC,SAAS,CAAC,MAAM,CAAC,YAAY,EAC7B,CAAC;oBACD,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBACjD,CAAC;gBACD,IAAI,SAAS,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;oBACrC,OAAO;wBACL,eAAe,EAAE,SAAS,CAAC,MAAM,CAAC,eAAe;qBAClD,CAAC;gBACJ,CAAC;gBACD,gCAAgC;gBAChC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;YAC5D,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;QACD,WAAW,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;YACjC,IAAI,aAA2B,CAAC;YAChC,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAChC,aAAa,GAAG,OAAO,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACN,aAAa,GAAG,IAAA,cAAK,EAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACnC,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;YAED,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;YACtC,UAAU,CAAC,QAAQ,GAAG,8BAA8B,CAAC;YACrD,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,UAAU,EAAE;gBACxC,MAAM,EAAE,MAAM;gBACd,OAAO;gBACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,OAAO,EAAE,aAAa;oBACtB,OAAO;oBACP,OAAO,EAAE,KAAK,EAAE,EAAE;iBACnB,CAAC;aACH,CAAC,CAAC;YACH,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;gBAClB,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;gBACpC,MAAM,IAAI,KAAK,CACb,qCAAqC,SAAS,CAAC,MAAM,MAAM,IAAI,EAAE,CAClE,CAAC;YACJ,CAAC;YACD,MAAM,UAAU,GAAG,CAAC,MAAM,SAAS,CAAC,IAAI,EAAE,CAEzC,CAAC;YACF,OAAO,UAAU,CAAC,MAAM,CAAC;QAC3B,CAAC;QACD,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;YAClC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;YACtC,UAAU,CAAC,QAAQ,GAAG,iCAAiC,CAAC;YACxD,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,UAAU,EAAE;gBACxC,MAAM,EAAE,MAAM;gBACd,OAAO;gBACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,MAAM,EAAE,UAAU,CAAC,MAAM;oBACzB,KAAK,EAAE,UAAU,CAAC,KAAK;oBACvB,KAAK,EAAE,UAAU,CAAC,OAAO;iBAC1B,CAAC;aACH,CAAC,CAAC;YACH,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;gBAClB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CACb,qCAAqC,SAAS,CAAC,MAAM,EAAE,CACxD,CAAC;YACJ,CAAC;YACD,MAAM,UAAU,GAAG,CAAC,MAAM,SAAS,CAAC,IAAI,EAAE,CAEzC,CAAC;YACF,OAAO,UAAU,CAAC,MAAM,CAAC;QAC3B,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -5,7 +5,7 @@ exports.getUrlToken = getUrlToken;
5
5
  * Checks for an auth token and associated metadata in the current URL
6
6
  */
7
7
  function getUrlToken() {
8
- if (!window?.location) {
8
+ if (typeof window === "undefined") {
9
9
  // Not in web
10
10
  return {};
11
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"get-url-token.js","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/web/lib/get-url-token.ts"],"names":[],"mappings":";;AAOA,kCAoCC;AAvCD;;GAEG;AACH,SAAgB,WAAW;IAMzB,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC;QACtB,aAAa;QACb,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;IAC3C,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,WAAW,CAAC,CAAC;IAChD,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAyB,CAAC;IAChE,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,cAAc,CAA2B,CAAC;IAC1E,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAuB,CAAC;IAElE,IAAI,CAAC,UAAU,IAAI,gBAAgB,CAAC,IAAI,QAAQ,EAAE,CAAC;QACjD,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE;YACvB,IAAI,gBAAgB,EAAE,CAAC;gBACrB,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;QACL,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC1B,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAC9B,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAC5B,MAAM,CAAC,OAAO,CAAC,SAAS,CACtB,EAAE,EACF,EAAE,EACF,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,CACnD,CAAC;QACF,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;IAC5D,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC"}
1
+ {"version":3,"file":"get-url-token.js","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/web/lib/get-url-token.ts"],"names":[],"mappings":";;AAOA,kCAoCC;AAvCD;;GAEG;AACH,SAAgB,WAAW;IAMzB,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,aAAa;QACb,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;IAC3C,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,WAAW,CAAC,CAAC;IAChD,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAyB,CAAC;IAChE,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,cAAc,CAA2B,CAAC;IAC1E,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAuB,CAAC;IAElE,IAAI,CAAC,UAAU,IAAI,gBAAgB,CAAC,IAAI,QAAQ,EAAE,CAAC;QACjD,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE;YACvB,IAAI,gBAAgB,EAAE,CAAC;gBACrB,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;QACL,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC1B,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAC9B,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAC5B,MAAM,CAAC,OAAO,CAAC,SAAS,CACtB,EAAE,EACF,EAAE,EACF,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,CACnD,CAAC;QACF,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;IAC5D,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC"}
@@ -220,7 +220,7 @@ async function checkFor712Factory({ factoryContract, accountContract, originalMs
220
220
  * });
221
221
  * ```
222
222
  *
223
- * @wallets
223
+ * @wallet
224
224
  */
225
225
  async function deploySmartAccount(args) {
226
226
  const { chain, client, smartAccount, accountContract } = args;
@@ -0,0 +1,26 @@
1
+ import { nebulaFetch } from "./common.js";
2
+ /**
3
+ * Chat with Nebula.
4
+ *
5
+ * @param input - The input for the chat.
6
+ * @returns The chat response.
7
+ * @beta
8
+ * @nebula
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * import { Nebula } from "thirdweb/ai";
13
+ *
14
+ * const response = await Nebula.chat({
15
+ * client: TEST_CLIENT,
16
+ * prompt: "What's the symbol of this contract: 0xe2cb0eb5147b42095c2FfA6F7ec953bb0bE347D8",
17
+ * context: {
18
+ * chains: [sepolia],
19
+ * },
20
+ * });
21
+ * ```
22
+ */
23
+ export async function chat(input) {
24
+ return nebulaFetch("chat", input);
25
+ }
26
+ //# sourceMappingURL=chat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../../src/ai/chat.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,WAAW,EAAE,MAAM,aAAa,CAAC;AAEnE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,KAAY;IACrC,OAAO,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACpC,CAAC"}
@@ -0,0 +1,66 @@
1
+ import { getCachedChain } from "../chains/utils.js";
2
+ import { prepareTransaction, } from "../transaction/prepare-transaction.js";
3
+ import { toBigInt } from "../utils/bigint.js";
4
+ import { getClientFetch } from "../utils/fetch.js";
5
+ const NEBULA_API_URL = "https://nebula-api.thirdweb.com";
6
+ export async function nebulaFetch(mode, input) {
7
+ const fetch = getClientFetch(input.client);
8
+ const response = await fetch(`${NEBULA_API_URL}/${mode}`, {
9
+ method: "POST",
10
+ headers: {
11
+ "Content-Type": "application/json",
12
+ },
13
+ body: JSON.stringify({
14
+ message: input.prompt, // TODO: support array of messages
15
+ session_id: input.sessionId,
16
+ ...(input.account
17
+ ? {
18
+ execute_config: {
19
+ mode: "client",
20
+ signer_wallet_address: input.account.address,
21
+ },
22
+ }
23
+ : {}),
24
+ ...(input.context
25
+ ? {
26
+ context_filter: {
27
+ chain_ids: input.context.chains?.map((c) => c.id.toString()) || [],
28
+ signer_wallet_address: input.context.walletAddresses || [],
29
+ contract_addresses: input.context.contractAddresses || [],
30
+ },
31
+ }
32
+ : {}),
33
+ }),
34
+ });
35
+ if (!response.ok) {
36
+ const error = await response.text();
37
+ throw new Error(`Nebula API error: ${error}`);
38
+ }
39
+ const data = (await response.json());
40
+ // parse transactions if present
41
+ let transactions = [];
42
+ if (data.actions) {
43
+ transactions = data.actions
44
+ .map((action) => {
45
+ // only parse sign_transaction actions
46
+ if (action.type === "sign_transaction") {
47
+ const tx = JSON.parse(action.data);
48
+ return prepareTransaction({
49
+ chain: getCachedChain(tx.chainId),
50
+ client: input.client,
51
+ to: tx.to,
52
+ value: tx.value ? toBigInt(tx.value) : undefined,
53
+ data: tx.data,
54
+ });
55
+ }
56
+ return undefined;
57
+ })
58
+ .filter((tx) => tx !== undefined);
59
+ }
60
+ return {
61
+ message: data.message,
62
+ sessionId: data.session_id,
63
+ transactions,
64
+ };
65
+ }
66
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/ai/common.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import { sendTransaction } from "../transaction/actions/send-transaction.js";
2
+ import { nebulaFetch } from "./common.js";
3
+ /**
4
+ * Execute a transaction based on a prompt.
5
+ *
6
+ * @param input - The input for the transaction.
7
+ * @returns The transaction hash.
8
+ * @beta
9
+ * @nebula
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * import { Nebula } from "thirdweb/ai";
14
+ *
15
+ * const result = await Nebula.execute({
16
+ * client: TEST_CLIENT,
17
+ * prompt: "send 0.0001 ETH to vitalik.eth",
18
+ * account: TEST_ACCOUNT_A,
19
+ * context: {
20
+ * chains: [sepolia],
21
+ * },
22
+ * });
23
+ * ```
24
+ */
25
+ export async function execute(input) {
26
+ const result = await nebulaFetch("execute", input);
27
+ // TODO: optionally only return the transaction without executing it?
28
+ if (result.transactions.length === 0) {
29
+ throw new Error(result.message);
30
+ }
31
+ const tx = result.transactions[0];
32
+ if (!tx) {
33
+ throw new Error(result.message);
34
+ }
35
+ return sendTransaction({
36
+ transaction: tx,
37
+ account: input.account,
38
+ });
39
+ }
40
+ //# sourceMappingURL=execute.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute.js","sourceRoot":"","sources":["../../../src/ai/execute.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAG7E,OAAO,EAAc,WAAW,EAAE,MAAM,aAAa,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,KAAmC;IAEnC,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACnD,qEAAqE;IACrE,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IACD,MAAM,EAAE,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAClC,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,eAAe,CAAC;QACrB,WAAW,EAAE,EAAE;QACf,OAAO,EAAE,KAAK,CAAC,OAAO;KACvB,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { chat } from "./chat.js";
2
+ export { execute } from "./execute.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ai/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
@@ -1,4 +1,4 @@
1
- import { sliceHex } from "viem";
1
+ import * as ox__Hex from "ox/Hex";
2
2
  import { ERC_6492_MAGIC_VALUE } from "./constants.js";
3
3
  /**
4
4
  * @description Determines if a signature is compatible with [ERC6492](https://eips.ethereum.org/EIPS/eip-6492)
@@ -17,6 +17,6 @@ import { ERC_6492_MAGIC_VALUE } from "./constants.js";
17
17
  * @auth
18
18
  */
19
19
  export function isErc6492Signature(signature) {
20
- return sliceHex(signature, -32) === ERC_6492_MAGIC_VALUE;
20
+ return ox__Hex.slice(signature, -32) === ERC_6492_MAGIC_VALUE;
21
21
  }
22
22
  //# sourceMappingURL=is-erc6492-signature.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"is-erc6492-signature.js","sourceRoot":"","sources":["../../../src/auth/is-erc6492-signature.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAEhC,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEtD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAAc;IAC/C,OAAO,QAAQ,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,KAAK,oBAAoB,CAAC;AAC3D,CAAC"}
1
+ {"version":3,"file":"is-erc6492-signature.js","sourceRoot":"","sources":["../../../src/auth/is-erc6492-signature.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,QAAQ,CAAC;AAElC,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEtD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAAc;IAC/C,OAAO,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,KAAK,oBAAoB,CAAC;AAChE,CAAC"}
@@ -1,4 +1,6 @@
1
- import { decodeAbiParameters, isErc6492Signature } from "viem";
1
+ import * as ox__AbiParameters from "ox/AbiParameters";
2
+ import * as ox__Address from "ox/Address";
3
+ import { WrappedSignature as ox__WrappedSignature } from "ox/erc6492";
2
4
  /**
3
5
  * @description Parses a serialized ({@link Hex}) [ERC-6492](https://eips.ethereum.org/EIPS/eip-6492) signature.
4
6
  * If the signature is not in ERC-6492 format, the original signature is returned.
@@ -16,10 +18,14 @@ import { decodeAbiParameters, isErc6492Signature } from "viem";
16
18
  * @auth
17
19
  */
18
20
  export function parseErc6492Signature(signature) {
19
- if (!isErc6492Signature(signature)) {
21
+ if (!ox__WrappedSignature.validate(signature)) {
20
22
  return { signature };
21
23
  }
22
- const [address, data, originalSignature] = decodeAbiParameters([{ type: "address" }, { type: "bytes" }, { type: "bytes" }], signature);
23
- return { address: address, data, signature: originalSignature };
24
+ const [address, data, originalSignature] = ox__AbiParameters.decode([{ type: "address" }, { type: "bytes" }, { type: "bytes" }], signature);
25
+ return {
26
+ address: ox__Address.checksum(address),
27
+ data,
28
+ signature: originalSignature,
29
+ };
24
30
  }
25
31
  //# sourceMappingURL=parse-erc6492-signature.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parse-erc6492-signature.js","sourceRoot":"","sources":["../../../src/auth/parse-erc6492-signature.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,MAAM,CAAC;AAY/D;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,qBAAqB,CACnC,SAAc;IAEd,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC;QACnC,OAAO,EAAE,SAAS,EAAE,CAAC;IACvB,CAAC;IAED,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,iBAAiB,CAAC,GAAG,mBAAmB,CAC5D,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAC3D,SAAS,CACV,CAAC;IACF,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;AAClE,CAAC"}
1
+ {"version":3,"file":"parse-erc6492-signature.js","sourceRoot":"","sources":["../../../src/auth/parse-erc6492-signature.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,iBAAiB,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,WAAW,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,gBAAgB,IAAI,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAYtE;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,qBAAqB,CACnC,SAAc;IAEd,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9C,OAAO,EAAE,SAAS,EAAE,CAAC;IACvB,CAAC;IAED,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,iBAAiB,CAAC,GAAG,iBAAiB,CAAC,MAAM,CACjE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAC3D,SAAS,CACV,CAAC;IACF,OAAO;QACL,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC;QACtC,IAAI;QACJ,SAAS,EAAE,iBAAiB;KAC7B,CAAC;AACJ,CAAC"}
@@ -1,4 +1,8 @@
1
- import { encodeDeployData, encodeFunctionData, isErc6492Signature, serializeSignature, universalSignatureValidatorAbi, universalSignatureValidatorByteCode, } from "viem";
1
+ import * as ox__Abi from "ox/Abi";
2
+ import * as ox__AbiConstructor from "ox/AbiConstructor";
3
+ import * as ox__AbiFunction from "ox/AbiFunction";
4
+ import * as ox__Signature from "ox/Signature";
5
+ import { WrappedSignature as ox__WrappedSignature } from "ox/erc6492";
2
6
  import { getContract } from "../contract/contract.js";
3
7
  import { isValidSignature } from "../extensions/erc1271/__generated__/isValidSignature/read/isValidSignature.js";
4
8
  import { eth_call } from "../rpc/actions/eth_call.js";
@@ -41,7 +45,7 @@ export async function verifyHash({ hash, signature, address, client, chain, acco
41
45
  if (isHex(signature))
42
46
  return signature;
43
47
  if (typeof signature === "object" && "r" in signature && "s" in signature)
44
- return serializeSignature(signature);
48
+ return ox__Signature.toHex(signature);
45
49
  if (signature instanceof Uint8Array)
46
50
  return fromBytes(signature, "hex");
47
51
  // We should never hit this but TS doesn't know that
@@ -53,7 +57,7 @@ export async function verifyHash({ hash, signature, address, client, chain, acco
53
57
  if (!accountFactory)
54
58
  return signatureHex;
55
59
  // If this sigature was already wrapped for ERC-6492, carry on
56
- if (isErc6492Signature(signatureHex))
60
+ if (ox__WrappedSignature.validate(signatureHex))
57
61
  return signatureHex;
58
62
  // Otherwise, serialize the signature for ERC-6492 validation
59
63
  return serializeErc6492Signature({
@@ -64,24 +68,21 @@ export async function verifyHash({ hash, signature, address, client, chain, acco
64
68
  })();
65
69
  let verificationData;
66
70
  const zkSyncChain = await isZkSyncChain(chain);
71
+ const abi = ox__Abi.from(ox__WrappedSignature.universalSignatureValidatorAbi);
67
72
  if (zkSyncChain) {
68
73
  // zksync chains dont support deploying code with eth_call
69
74
  // need to call a deployed contract instead
70
75
  verificationData = {
71
76
  to: ZKSYNC_VALIDATOR_ADDRESS,
72
- data: encodeFunctionData({
73
- abi: universalSignatureValidatorAbi,
74
- functionName: "isValidSig",
75
- args: [address, hash, wrappedSignature],
76
- }),
77
+ data: ox__AbiFunction.encodeData(ox__AbiFunction.fromAbi(abi, "isValidSig"), [address, hash, wrappedSignature]),
77
78
  };
78
79
  }
79
80
  else {
81
+ const validatorConstructor = ox__AbiConstructor.fromAbi(abi);
80
82
  verificationData = {
81
- data: encodeDeployData({
82
- abi: universalSignatureValidatorAbi,
83
+ data: ox__AbiConstructor.encode(validatorConstructor, {
83
84
  args: [address, hash, wrappedSignature],
84
- bytecode: universalSignatureValidatorByteCode,
85
+ bytecode: ox__WrappedSignature.universalSignatureValidatorBytecode,
85
86
  }),
86
87
  };
87
88
  }
@@ -1 +1 @@
1
- {"version":3,"file":"verify-hash.js","sourceRoot":"","sources":["../../../src/auth/verify-hash.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verify-hash.js","sourceRoot":"","sources":["../../../src/auth/verify-hash.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
- import { recoverAddress } from "viem";
1
+ import * as ox__Bytes from "ox/Bytes";
2
+ import * as ox__Secp256k1 from "ox/Secp256k1";
3
+ import * as ox__Signature from "ox/Signature";
2
4
  import { isHex } from "../utils/encoding/hex.js";
3
5
  import { hashMessage } from "../utils/hashing/hashMessage.js";
4
6
  import { verifyHash } from "./verify-hash.js";
@@ -24,9 +26,9 @@ export async function verifyEOASignature(options) {
24
26
  if (!isHex(options.signature)) {
25
27
  return false;
26
28
  }
27
- const recoveredAddress = await recoverAddress({
28
- hash: messageHash,
29
- signature: options.signature,
29
+ const recoveredAddress = ox__Secp256k1.recoverAddress({
30
+ payload: messageHash,
31
+ signature: ox__Signature.fromHex(options.signature),
30
32
  });
31
33
  if (recoveredAddress.toLowerCase() === options.address.toLowerCase()) {
32
34
  return true;
@@ -65,9 +67,15 @@ export async function verifyEOASignature(options) {
65
67
  */
66
68
  export async function verifyContractWalletSignature({ signature, message, address, chain, client, accountFactory, }) {
67
69
  const messageHash = hashMessage(message);
70
+ const parsedSignature = (() => {
71
+ if (ox__Bytes.validate(signature)) {
72
+ return ox__Bytes.toHex(signature);
73
+ }
74
+ return signature;
75
+ })();
68
76
  return verifyHash({
69
77
  hash: messageHash,
70
- signature,
78
+ signature: parsedSignature,
71
79
  address,
72
80
  client,
73
81
  chain,
@@ -1 +1 @@
1
- {"version":3,"file":"verify-signature.js","sourceRoot":"","sources":["../../../src/auth/verify-signature.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwC,cAAc,EAAE,MAAM,MAAM,CAAC;AAG5E,OAAO,EAAY,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAE9D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAW9C;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,OAAiC;IACxE,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAEjD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,gBAAgB,GAAG,MAAM,cAAc,CAAC;QAC5C,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,OAAO,CAAC,SAAS;KAC7B,CAAC,CAAC;IAEH,IAAI,gBAAgB,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;QACrE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAgBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,CAAC,KAAK,UAAU,6BAA6B,CAAC,EAClD,SAAS,EACT,OAAO,EACP,OAAO,EACP,KAAK,EACL,MAAM,EACN,cAAc,GACsB;IACpC,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IACzC,OAAO,UAAU,CAAC;QAChB,IAAI,EAAE,WAAW;QACjB,SAAS;QACT,OAAO;QACP,MAAM;QACN,KAAK;QACL,cAAc;KACf,CAAC,CAAC;AACL,CAAC;AAMD,IAAI,gBAAgB,GAAG,KAAK,CAAC;AAE7B;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,OAA8B;IAClE,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACxD,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,6CAA6C;IAC/C,CAAC;IACD,IAAI,qCAAqC,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,IAAI,CAAC;YACH,OAAO,MAAM,6BAA6B,CAAC,OAAO,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,iDAAiD,EAAE,GAAG,CAAC,CAAC;YACtE,gCAAgC;QAClC,CAAC;IACH,CAAC;SAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC7B,oCAAoC;QACpC,gBAAgB,GAAG,IAAI,CAAC;QACxB,OAAO,CAAC,KAAK,CAAC;;;;;KAKb,CAAC,CAAC;IACL,CAAC;IACD,2DAA2D;IAC3D,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,qCAAqC,CAC5C,OAA8B;IAE9B,OAAO,CACL,OAAO,IAAI,OAAO;QAClB,OAAO,CAAC,KAAK,KAAK,SAAS;QAC3B,QAAQ,IAAI,OAAO;QACnB,OAAO,CAAC,MAAM,KAAK,SAAS,CAC7B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"verify-signature.js","sourceRoot":"","sources":["../../../src/auth/verify-signature.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { hashTypedData } from "viem";
1
+ import * as ox__TypedData from "ox/TypedData";
2
2
  import { verifyHash } from "./verify-hash.js";
3
3
  /**
4
4
  * @description Verify am [EIP-712](https://eips.ethereum.org/EIPS/eip-712) typed data signature. This function is interoperable with all wallet types (smart accounts or EOAs).
@@ -59,7 +59,7 @@ import { verifyHash } from "./verify-hash.js";
59
59
  * @auth
60
60
  */
61
61
  export async function verifyTypedData({ address, signature, client, chain, accountFactory, message, domain, primaryType, types, }) {
62
- const messageHash = hashTypedData({
62
+ const messageHash = ox__TypedData.getSignPayload({
63
63
  message,
64
64
  domain,
65
65
  primaryType,
@@ -1 +1 @@
1
- {"version":3,"file":"verify-typed-data.js","sourceRoot":"","sources":["../../../src/auth/verify-typed-data.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAKrC,OAAO,EAAyB,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAiBrE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAGnC,EACA,OAAO,EACP,SAAS,EACT,MAAM,EACN,KAAK,EACL,cAAc,EACd,OAAO,EACP,MAAM,EACN,WAAW,EACX,KAAK,GACyC;IAC9C,MAAM,WAAW,GAAG,aAAa,CAAC;QAChC,OAAO;QACP,MAAM;QACN,WAAW;QACX,KAAK;KACiB,CAAC,CAAC;IAC1B,OAAO,UAAU,CAAC;QAChB,IAAI,EAAE,WAAW;QACjB,SAAS;QACT,OAAO;QACP,KAAK;QACL,MAAM;QACN,cAAc;KACf,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"verify-typed-data.js","sourceRoot":"","sources":["../../../src/auth/verify-typed-data.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,aAAa,MAAM,cAAc,CAAC;AAK9C,OAAO,EAAyB,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAmBrE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAGnC,EACA,OAAO,EACP,SAAS,EACT,MAAM,EACN,KAAK,EACL,cAAc,EACd,OAAO,EACP,MAAM,EACN,WAAW,EACX,KAAK,GACyC;IAC9C,MAAM,WAAW,GAAG,aAAa,CAAC,cAAc,CAAC;QAC/C,OAAO;QACP,MAAM;QACN,WAAW;QACX,KAAK;KACiB,CAAC,CAAC;IAC1B,OAAO,UAAU,CAAC;QAChB,IAAI,EAAE,WAAW;QACjB,SAAS;QACT,OAAO;QACP,KAAK;QACL,MAAM;QACN,cAAc;KACf,CAAC,CAAC;AACL,CAAC"}
@@ -1,4 +1,4 @@
1
- import { getContractAddress } from "viem";
1
+ import * as ox__ContractAddress from "ox/ContractAddress";
2
2
  import { getGasPrice } from "../../../gas/get-gas-price.js";
3
3
  import { eth_getBalance } from "../../../rpc/actions/eth_getBalance.js";
4
4
  import { eth_sendRawTransaction } from "../../../rpc/actions/eth_sendRawTransaction.js";
@@ -6,6 +6,7 @@ import { getRpcClient } from "../../../rpc/rpc.js";
6
6
  import { sendTransaction } from "../../../transaction/actions/send-transaction.js";
7
7
  import { waitForReceipt } from "../../../transaction/actions/wait-for-tx-receipt.js";
8
8
  import { prepareTransaction } from "../../../transaction/prepare-transaction.js";
9
+ import { getAddress } from "../../../utils/address.js";
9
10
  import { isEIP155Enforced } from "../../../utils/any-evm/is-eip155-enforced.js";
10
11
  import { getKeylessTransaction } from "../../../utils/any-evm/keyless-transaction.js";
11
12
  import { isContractDeployed } from "../../../utils/bytecode/is-contract-deployed.js";
@@ -172,14 +173,14 @@ async function _getCreate2FactoryDeploymentInfo(chainId, gasOptions) {
172
173
  },
173
174
  signature: SIGNATURE,
174
175
  });
175
- const create2FactoryAddress = getContractAddress({
176
+ const create2FactoryAddress = ox__ContractAddress.from({
176
177
  from: deploymentTransaction.signerAddress,
177
178
  nonce: 0n,
178
179
  });
179
180
  return {
180
181
  ...deploymentTransaction,
181
182
  valueToSend: gasPrice * gas,
182
- predictedAddress: create2FactoryAddress,
183
+ predictedAddress: getAddress(create2FactoryAddress),
183
184
  };
184
185
  }
185
186
  function _getNearestGasPriceBin(gasPrice) {
@@ -1 +1 @@
1
- {"version":3,"file":"create-2-factory.js","sourceRoot":"","sources":["../../../../../src/contract/deployment/utils/create-2-factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-2-factory.js","sourceRoot":"","sources":["../../../../../src/contract/deployment/utils/create-2-factory.ts"],"names":[],"mappings":"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"}