thirdweb 5.64.0-nightly-e6e994479fb8386b1740de4170f33446f038f2b1-20241024000332 → 5.64.1

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 (250) hide show
  1. package/dist/cjs/extensions/erc1155/write/mintAdditionalSupplyTo.js +1 -6
  2. package/dist/cjs/extensions/erc1155/write/mintAdditionalSupplyTo.js.map +1 -1
  3. package/dist/cjs/react/core/utils/walletIcon.js +7 -7
  4. package/dist/cjs/react/core/utils/walletIcon.js.map +1 -1
  5. package/dist/cjs/react/native/ui/components/WalletImage.js +3 -1
  6. package/dist/cjs/react/native/ui/components/WalletImage.js.map +1 -1
  7. package/dist/cjs/react/web/ui/ConnectWallet/MenuButton.js +0 -3
  8. package/dist/cjs/react/web/ui/ConnectWallet/MenuButton.js.map +1 -1
  9. package/dist/cjs/react/web/ui/ConnectWallet/WalletSelector.js +2 -2
  10. package/dist/cjs/react/web/ui/ConnectWallet/WalletSelector.js.map +1 -1
  11. package/dist/cjs/react/web/ui/ConnectWallet/WalletTypeRowButton.js +1 -4
  12. package/dist/cjs/react/web/ui/ConnectWallet/WalletTypeRowButton.js.map +1 -1
  13. package/dist/cjs/react/web/ui/ConnectWallet/icons/EmailIcon.js +12 -0
  14. package/dist/cjs/react/web/ui/ConnectWallet/icons/EmailIcon.js.map +1 -0
  15. package/dist/cjs/react/web/ui/ConnectWallet/icons/FingerPrintIcon.js +1 -1
  16. package/dist/cjs/react/web/ui/ConnectWallet/icons/FingerPrintIcon.js.map +1 -1
  17. package/dist/cjs/react/web/ui/ConnectWallet/icons/GuestIcon.js +12 -0
  18. package/dist/cjs/react/web/ui/ConnectWallet/icons/GuestIcon.js.map +1 -0
  19. package/dist/cjs/react/web/ui/ConnectWallet/icons/OutlineWalletIcon.js +1 -1
  20. package/dist/cjs/react/web/ui/ConnectWallet/icons/OutlineWalletIcon.js.map +1 -1
  21. package/dist/cjs/react/web/ui/ConnectWallet/icons/PhoneIcon.js +12 -0
  22. package/dist/cjs/react/web/ui/ConnectWallet/icons/PhoneIcon.js.map +1 -0
  23. package/dist/cjs/react/web/ui/ConnectWallet/screens/LinkedProfilesScreen.js +5 -2
  24. package/dist/cjs/react/web/ui/ConnectWallet/screens/LinkedProfilesScreen.js.map +1 -1
  25. package/dist/cjs/react/web/ui/components/WalletImage.js +34 -9
  26. package/dist/cjs/react/web/ui/components/WalletImage.js.map +1 -1
  27. package/dist/cjs/react/web/wallets/ecosystem/EcosystemWalletConnectUI.js +1 -1
  28. package/dist/cjs/react/web/wallets/ecosystem/EcosystemWalletConnectUI.js.map +1 -1
  29. package/dist/cjs/react/web/wallets/in-app/InAppWalletConnectUI.js +1 -1
  30. package/dist/cjs/react/web/wallets/in-app/InAppWalletConnectUI.js.map +1 -1
  31. package/dist/cjs/react/web/wallets/in-app/WalletAuth.js +29 -12
  32. package/dist/cjs/react/web/wallets/in-app/WalletAuth.js.map +1 -1
  33. package/dist/cjs/react/web/wallets/shared/ConnectWalletSocialOptions.js +16 -6
  34. package/dist/cjs/react/web/wallets/shared/ConnectWalletSocialOptions.js.map +1 -1
  35. package/dist/cjs/react/web/wallets/shared/locale/de.js +1 -0
  36. package/dist/cjs/react/web/wallets/shared/locale/de.js.map +1 -1
  37. package/dist/cjs/react/web/wallets/shared/locale/en.js +1 -0
  38. package/dist/cjs/react/web/wallets/shared/locale/en.js.map +1 -1
  39. package/dist/cjs/react/web/wallets/shared/locale/es.js +1 -0
  40. package/dist/cjs/react/web/wallets/shared/locale/es.js.map +1 -1
  41. package/dist/cjs/react/web/wallets/shared/locale/fr.js +1 -0
  42. package/dist/cjs/react/web/wallets/shared/locale/fr.js.map +1 -1
  43. package/dist/cjs/react/web/wallets/shared/locale/ja.js +1 -0
  44. package/dist/cjs/react/web/wallets/shared/locale/ja.js.map +1 -1
  45. package/dist/cjs/react/web/wallets/shared/locale/kr.js +1 -0
  46. package/dist/cjs/react/web/wallets/shared/locale/kr.js.map +1 -1
  47. package/dist/cjs/react/web/wallets/shared/locale/tl.js +1 -0
  48. package/dist/cjs/react/web/wallets/shared/locale/tl.js.map +1 -1
  49. package/dist/cjs/react/web/wallets/shared/locale/vi.js +1 -0
  50. package/dist/cjs/react/web/wallets/shared/locale/vi.js.map +1 -1
  51. package/dist/cjs/version.js +1 -1
  52. package/dist/cjs/version.js.map +1 -1
  53. package/dist/cjs/wallets/ecosystem/get-ecosystem-wallet-auth-options.js +5 -0
  54. package/dist/cjs/wallets/ecosystem/get-ecosystem-wallet-auth-options.js.map +1 -1
  55. package/dist/cjs/wallets/in-app/core/authentication/getLoginPath.js +1 -1
  56. package/dist/cjs/wallets/in-app/core/authentication/getLoginPath.js.map +1 -1
  57. package/dist/cjs/wallets/types.js +1 -0
  58. package/dist/cjs/wallets/types.js.map +1 -1
  59. package/dist/esm/exports/pay.js +0 -1
  60. package/dist/esm/exports/pay.js.map +1 -1
  61. package/dist/esm/exports/react.js +0 -5
  62. package/dist/esm/exports/react.js.map +1 -1
  63. package/dist/esm/exports/react.native.js +0 -2
  64. package/dist/esm/exports/react.native.js.map +1 -1
  65. package/dist/esm/exports/thirdweb.js +0 -1
  66. package/dist/esm/exports/thirdweb.js.map +1 -1
  67. package/dist/esm/exports/wallets/embedded.js +0 -1
  68. package/dist/esm/exports/wallets/embedded.js.map +1 -1
  69. package/dist/esm/exports/wallets/in-app.js +0 -1
  70. package/dist/esm/exports/wallets/in-app.js.map +1 -1
  71. package/dist/esm/exports/wallets/in-app.native.js +0 -1
  72. package/dist/esm/exports/wallets/in-app.native.js.map +1 -1
  73. package/dist/esm/exports/wallets.js +0 -1
  74. package/dist/esm/exports/wallets.js.map +1 -1
  75. package/dist/esm/exports/wallets.native.js +0 -1
  76. package/dist/esm/exports/wallets.native.js.map +1 -1
  77. package/dist/esm/extensions/erc1155/write/mintAdditionalSupplyTo.js +1 -6
  78. package/dist/esm/extensions/erc1155/write/mintAdditionalSupplyTo.js.map +1 -1
  79. package/dist/esm/react/core/utils/walletIcon.js +3 -3
  80. package/dist/esm/react/core/utils/walletIcon.js.map +1 -1
  81. package/dist/esm/react/native/ui/components/WalletImage.js +3 -1
  82. package/dist/esm/react/native/ui/components/WalletImage.js.map +1 -1
  83. package/dist/esm/react/web/ui/ConnectWallet/MenuButton.js +0 -3
  84. package/dist/esm/react/web/ui/ConnectWallet/MenuButton.js.map +1 -1
  85. package/dist/esm/react/web/ui/ConnectWallet/WalletSelector.js +2 -2
  86. package/dist/esm/react/web/ui/ConnectWallet/WalletSelector.js.map +1 -1
  87. package/dist/esm/react/web/ui/ConnectWallet/WalletTypeRowButton.js +2 -5
  88. package/dist/esm/react/web/ui/ConnectWallet/WalletTypeRowButton.js.map +1 -1
  89. package/dist/esm/react/web/ui/ConnectWallet/icons/EmailIcon.js +8 -0
  90. package/dist/esm/react/web/ui/ConnectWallet/icons/EmailIcon.js.map +1 -0
  91. package/dist/esm/react/web/ui/ConnectWallet/icons/FingerPrintIcon.js +1 -1
  92. package/dist/esm/react/web/ui/ConnectWallet/icons/FingerPrintIcon.js.map +1 -1
  93. package/dist/esm/react/web/ui/ConnectWallet/icons/GuestIcon.js +8 -0
  94. package/dist/esm/react/web/ui/ConnectWallet/icons/GuestIcon.js.map +1 -0
  95. package/dist/esm/react/web/ui/ConnectWallet/icons/OutlineWalletIcon.js +1 -1
  96. package/dist/esm/react/web/ui/ConnectWallet/icons/OutlineWalletIcon.js.map +1 -1
  97. package/dist/esm/react/web/ui/ConnectWallet/icons/PhoneIcon.js +8 -0
  98. package/dist/esm/react/web/ui/ConnectWallet/icons/PhoneIcon.js.map +1 -0
  99. package/dist/esm/react/web/ui/ConnectWallet/screens/LinkedProfilesScreen.js +5 -2
  100. package/dist/esm/react/web/ui/ConnectWallet/screens/LinkedProfilesScreen.js.map +1 -1
  101. package/dist/esm/react/web/ui/components/WalletImage.js +34 -9
  102. package/dist/esm/react/web/ui/components/WalletImage.js.map +1 -1
  103. package/dist/esm/react/web/wallets/ecosystem/EcosystemWalletConnectUI.js +1 -1
  104. package/dist/esm/react/web/wallets/ecosystem/EcosystemWalletConnectUI.js.map +1 -1
  105. package/dist/esm/react/web/wallets/in-app/InAppWalletConnectUI.js +1 -1
  106. package/dist/esm/react/web/wallets/in-app/InAppWalletConnectUI.js.map +1 -1
  107. package/dist/esm/react/web/wallets/in-app/WalletAuth.js +29 -12
  108. package/dist/esm/react/web/wallets/in-app/WalletAuth.js.map +1 -1
  109. package/dist/esm/react/web/wallets/shared/ConnectWalletSocialOptions.js +17 -7
  110. package/dist/esm/react/web/wallets/shared/ConnectWalletSocialOptions.js.map +1 -1
  111. package/dist/esm/react/web/wallets/shared/locale/de.js +1 -0
  112. package/dist/esm/react/web/wallets/shared/locale/de.js.map +1 -1
  113. package/dist/esm/react/web/wallets/shared/locale/en.js +1 -0
  114. package/dist/esm/react/web/wallets/shared/locale/en.js.map +1 -1
  115. package/dist/esm/react/web/wallets/shared/locale/es.js +1 -0
  116. package/dist/esm/react/web/wallets/shared/locale/es.js.map +1 -1
  117. package/dist/esm/react/web/wallets/shared/locale/fr.js +1 -0
  118. package/dist/esm/react/web/wallets/shared/locale/fr.js.map +1 -1
  119. package/dist/esm/react/web/wallets/shared/locale/ja.js +1 -0
  120. package/dist/esm/react/web/wallets/shared/locale/ja.js.map +1 -1
  121. package/dist/esm/react/web/wallets/shared/locale/kr.js +1 -0
  122. package/dist/esm/react/web/wallets/shared/locale/kr.js.map +1 -1
  123. package/dist/esm/react/web/wallets/shared/locale/tl.js +1 -0
  124. package/dist/esm/react/web/wallets/shared/locale/tl.js.map +1 -1
  125. package/dist/esm/react/web/wallets/shared/locale/vi.js +1 -0
  126. package/dist/esm/react/web/wallets/shared/locale/vi.js.map +1 -1
  127. package/dist/esm/version.js +1 -1
  128. package/dist/esm/version.js.map +1 -1
  129. package/dist/esm/wallets/ecosystem/get-ecosystem-wallet-auth-options.js +5 -0
  130. package/dist/esm/wallets/ecosystem/get-ecosystem-wallet-auth-options.js.map +1 -1
  131. package/dist/esm/wallets/in-app/core/authentication/getLoginPath.js +1 -1
  132. package/dist/esm/wallets/in-app/core/authentication/getLoginPath.js.map +1 -1
  133. package/dist/esm/wallets/types.js +1 -0
  134. package/dist/esm/wallets/types.js.map +1 -1
  135. package/dist/types/exports/pay.d.ts +1 -1
  136. package/dist/types/exports/pay.d.ts.map +1 -1
  137. package/dist/types/exports/react.d.ts +3 -3
  138. package/dist/types/exports/react.d.ts.map +1 -1
  139. package/dist/types/exports/react.native.d.ts +1 -1
  140. package/dist/types/exports/react.native.d.ts.map +1 -1
  141. package/dist/types/exports/thirdweb.d.ts +1 -1
  142. package/dist/types/exports/thirdweb.d.ts.map +1 -1
  143. package/dist/types/exports/wallets/embedded.d.ts +1 -1
  144. package/dist/types/exports/wallets/embedded.d.ts.map +1 -1
  145. package/dist/types/exports/wallets/in-app.d.ts +1 -1
  146. package/dist/types/exports/wallets/in-app.d.ts.map +1 -1
  147. package/dist/types/exports/wallets/in-app.native.d.ts +1 -1
  148. package/dist/types/exports/wallets/in-app.native.d.ts.map +1 -1
  149. package/dist/types/exports/wallets.d.ts +1 -1
  150. package/dist/types/exports/wallets.d.ts.map +1 -1
  151. package/dist/types/exports/wallets.native.d.ts +1 -1
  152. package/dist/types/exports/wallets.native.d.ts.map +1 -1
  153. package/dist/types/extensions/erc1155/write/mintAdditionalSupplyTo.d.ts.map +1 -1
  154. package/dist/types/react/core/utils/walletIcon.d.ts +0 -3
  155. package/dist/types/react/core/utils/walletIcon.d.ts.map +1 -1
  156. package/dist/types/react/native/ui/components/WalletImage.d.ts.map +1 -1
  157. package/dist/types/react/web/ui/ConnectWallet/MenuButton.d.ts.map +1 -1
  158. package/dist/types/react/web/ui/ConnectWallet/WalletTypeRowButton.d.ts +2 -1
  159. package/dist/types/react/web/ui/ConnectWallet/WalletTypeRowButton.d.ts.map +1 -1
  160. package/dist/types/react/web/ui/ConnectWallet/icons/EmailIcon.d.ts +6 -0
  161. package/dist/types/react/web/ui/ConnectWallet/icons/EmailIcon.d.ts.map +1 -0
  162. package/dist/types/react/web/ui/ConnectWallet/icons/GuestIcon.d.ts +6 -0
  163. package/dist/types/react/web/ui/ConnectWallet/icons/GuestIcon.d.ts.map +1 -0
  164. package/dist/types/react/web/ui/ConnectWallet/icons/PhoneIcon.d.ts +6 -0
  165. package/dist/types/react/web/ui/ConnectWallet/icons/PhoneIcon.d.ts.map +1 -0
  166. package/dist/types/react/web/ui/ConnectWallet/icons/types.d.ts +1 -0
  167. package/dist/types/react/web/ui/ConnectWallet/icons/types.d.ts.map +1 -1
  168. package/dist/types/react/web/ui/ConnectWallet/screens/LinkedProfilesScreen.d.ts.map +1 -1
  169. package/dist/types/react/web/ui/components/WalletImage.d.ts.map +1 -1
  170. package/dist/types/react/web/wallets/ecosystem/EcosystemWalletConnectUI.d.ts.map +1 -1
  171. package/dist/types/react/web/wallets/in-app/InAppWalletConnectUI.d.ts.map +1 -1
  172. package/dist/types/react/web/wallets/in-app/WalletAuth.d.ts +1 -0
  173. package/dist/types/react/web/wallets/in-app/WalletAuth.d.ts.map +1 -1
  174. package/dist/types/react/web/wallets/shared/ConnectWalletSocialOptions.d.ts +3 -1
  175. package/dist/types/react/web/wallets/shared/ConnectWalletSocialOptions.d.ts.map +1 -1
  176. package/dist/types/react/web/wallets/shared/locale/de.d.ts +1 -0
  177. package/dist/types/react/web/wallets/shared/locale/de.d.ts.map +1 -1
  178. package/dist/types/react/web/wallets/shared/locale/en.d.ts +1 -0
  179. package/dist/types/react/web/wallets/shared/locale/en.d.ts.map +1 -1
  180. package/dist/types/react/web/wallets/shared/locale/es.d.ts +1 -0
  181. package/dist/types/react/web/wallets/shared/locale/es.d.ts.map +1 -1
  182. package/dist/types/react/web/wallets/shared/locale/fr.d.ts +1 -0
  183. package/dist/types/react/web/wallets/shared/locale/fr.d.ts.map +1 -1
  184. package/dist/types/react/web/wallets/shared/locale/ja.d.ts +1 -0
  185. package/dist/types/react/web/wallets/shared/locale/ja.d.ts.map +1 -1
  186. package/dist/types/react/web/wallets/shared/locale/kr.d.ts +1 -0
  187. package/dist/types/react/web/wallets/shared/locale/kr.d.ts.map +1 -1
  188. package/dist/types/react/web/wallets/shared/locale/tl.d.ts +1 -0
  189. package/dist/types/react/web/wallets/shared/locale/tl.d.ts.map +1 -1
  190. package/dist/types/react/web/wallets/shared/locale/types.d.ts +1 -0
  191. package/dist/types/react/web/wallets/shared/locale/types.d.ts.map +1 -1
  192. package/dist/types/react/web/wallets/shared/locale/vi.d.ts +1 -0
  193. package/dist/types/react/web/wallets/shared/locale/vi.d.ts.map +1 -1
  194. package/dist/types/version.d.ts +1 -1
  195. package/dist/types/version.d.ts.map +1 -1
  196. package/dist/types/wallets/ecosystem/get-ecosystem-wallet-auth-options.d.ts.map +1 -1
  197. package/dist/types/wallets/in-app/core/authentication/getLoginPath.d.ts +2 -2
  198. package/dist/types/wallets/in-app/core/authentication/getLoginPath.d.ts.map +1 -1
  199. package/dist/types/wallets/in-app/core/authentication/types.d.ts +1 -1
  200. package/dist/types/wallets/in-app/core/authentication/types.d.ts.map +1 -1
  201. package/dist/types/wallets/types.d.ts +1 -1
  202. package/dist/types/wallets/types.d.ts.map +1 -1
  203. package/package.json +19 -19
  204. package/src/exports/pay.ts +3 -3
  205. package/src/exports/react.native.ts +3 -3
  206. package/src/exports/react.ts +5 -5
  207. package/src/exports/thirdweb.ts +3 -3
  208. package/src/exports/wallets/embedded.ts +1 -1
  209. package/src/exports/wallets/in-app.native.ts +1 -1
  210. package/src/exports/wallets/in-app.ts +1 -1
  211. package/src/exports/wallets.native.ts +1 -1
  212. package/src/exports/wallets.ts +1 -1
  213. package/src/extensions/erc1155/drop1155.test.ts +164 -34
  214. package/src/extensions/erc1155/drops/read/getActiveClaimCondition.test.ts +0 -90
  215. package/src/extensions/erc1155/write/mintAdditionalSupplyTo.ts +1 -7
  216. package/src/extensions/prebuilts/deploy-erc1155.test.ts +5 -5
  217. package/src/extensions/prebuilts/deploy-pack.test.ts +4 -2
  218. package/src/react/core/utils/walletIcon.ts +3 -3
  219. package/src/react/native/ui/components/WalletImage.tsx +3 -1
  220. package/src/react/web/ui/ConnectWallet/MenuButton.tsx +0 -3
  221. package/src/react/web/ui/ConnectWallet/WalletSelector.tsx +2 -2
  222. package/src/react/web/ui/ConnectWallet/WalletTypeRowButton.tsx +4 -17
  223. package/src/react/web/ui/ConnectWallet/icons/EmailIcon.tsx +30 -0
  224. package/src/react/web/ui/ConnectWallet/icons/FingerPrintIcon.tsx +9 -9
  225. package/src/react/web/ui/ConnectWallet/icons/GuestIcon.tsx +24 -0
  226. package/src/react/web/ui/ConnectWallet/icons/OutlineWalletIcon.tsx +2 -2
  227. package/src/react/web/ui/ConnectWallet/icons/PhoneIcon.tsx +32 -0
  228. package/src/react/web/ui/ConnectWallet/icons/types.ts +1 -1
  229. package/src/react/web/ui/ConnectWallet/screens/LinkedProfilesScreen.tsx +10 -1
  230. package/src/react/web/ui/components/WalletImage.tsx +48 -21
  231. package/src/react/web/wallets/ecosystem/EcosystemWalletConnectUI.tsx +1 -0
  232. package/src/react/web/wallets/in-app/InAppWalletConnectUI.tsx +1 -0
  233. package/src/react/web/wallets/in-app/WalletAuth.tsx +34 -12
  234. package/src/react/web/wallets/shared/ConnectWalletSocialOptions.tsx +30 -14
  235. package/src/react/web/wallets/shared/locale/de.ts +1 -0
  236. package/src/react/web/wallets/shared/locale/en.ts +1 -0
  237. package/src/react/web/wallets/shared/locale/es.ts +1 -0
  238. package/src/react/web/wallets/shared/locale/fr.ts +1 -0
  239. package/src/react/web/wallets/shared/locale/ja.ts +1 -0
  240. package/src/react/web/wallets/shared/locale/kr.ts +1 -0
  241. package/src/react/web/wallets/shared/locale/tl.ts +1 -0
  242. package/src/react/web/wallets/shared/locale/types.ts +1 -0
  243. package/src/react/web/wallets/shared/locale/vi.ts +1 -0
  244. package/src/version.ts +1 -1
  245. package/src/wallets/ecosystem/get-ecosystem-wallet-auth-options.ts +6 -0
  246. package/src/wallets/in-app/core/authentication/getLoginPath.ts +4 -4
  247. package/src/wallets/in-app/core/authentication/types.ts +1 -1
  248. package/src/wallets/types.ts +1 -0
  249. package/src/extensions/erc1155/drops/write/claimTo.test.ts +0 -185
  250. package/src/extensions/erc1155/drops/write/updateMetadata.test.ts +0 -54
@@ -5,22 +5,28 @@ import { VITALIK_WALLET } from "../../../test/src/addresses.js";
5
5
  import { ANVIL_CHAIN } from "../../../test/src/chains.js";
6
6
  import { TEST_CLIENT } from "../../../test/src/test-clients.js";
7
7
  import {
8
- TEST_ACCOUNT_A,
9
8
  TEST_ACCOUNT_B,
9
+ TEST_ACCOUNT_C,
10
10
  TEST_ACCOUNT_D,
11
11
  } from "../../../test/src/test-wallets.js";
12
+ import { NATIVE_TOKEN_ADDRESS } from "../../constants/addresses.js";
12
13
  import { resolveContractAbi } from "../../contract/actions/resolve-abi.js";
13
14
  import { type ThirdwebContract, getContract } from "../../contract/contract.js";
14
15
  import { sendAndConfirmTransaction } from "../../transaction/actions/send-and-confirm-transaction.js";
15
16
  import { resolvePromisedValue } from "../../utils/promise/resolve-promised-value.js";
16
17
  import { toEther } from "../../utils/units.js";
18
+ import { generateMerkleTreeInfoERC1155 } from "../airdrop/write/merkleInfoERC1155.js";
19
+ import { deployERC20Contract } from "../prebuilts/deploy-erc20.js";
17
20
  import { deployERC1155Contract } from "../prebuilts/deploy-erc1155.js";
18
21
  import { balanceOf } from "./__generated__/IERC1155/read/balanceOf.js";
22
+ import { totalSupply } from "./__generated__/IERC1155/read/totalSupply.js";
19
23
  import { nextTokenIdToMint } from "./__generated__/IERC1155Enumerable/read/nextTokenIdToMint.js";
24
+ import { getActiveClaimCondition } from "./drops/read/getActiveClaimCondition.js";
20
25
  import { getClaimConditions } from "./drops/read/getClaimConditions.js";
21
26
  import { claimTo } from "./drops/write/claimTo.js";
22
27
  import { resetClaimEligibility } from "./drops/write/resetClaimEligibility.js";
23
28
  import { setClaimConditions } from "./drops/write/setClaimConditions.js";
29
+ import { updateMetadata } from "./drops/write/updateMetadata.js";
24
30
  import { getNFT } from "./read/getNFT.js";
25
31
  import { isGetNFTsSupported } from "./read/getNFTs.js";
26
32
  import { lazyMint } from "./write/lazyMint.js";
@@ -35,7 +41,7 @@ describe.runIf(process.env.TW_SECRET_KEY)(
35
41
 
36
42
  beforeAll(async () => {
37
43
  const contractAddress = await deployERC1155Contract({
38
- account: TEST_ACCOUNT_A,
44
+ account: TEST_ACCOUNT_C,
39
45
  chain: ANVIL_CHAIN,
40
46
  client: TEST_CLIENT,
41
47
  params: {
@@ -67,7 +73,7 @@ describe.runIf(process.env.TW_SECRET_KEY)(
67
73
  });
68
74
  await sendAndConfirmTransaction({
69
75
  transaction: mintTx,
70
- account: TEST_ACCOUNT_A,
76
+ account: TEST_ACCOUNT_C,
71
77
  });
72
78
 
73
79
  await expect(nextTokenIdToMint({ contract })).resolves.toBe(6n);
@@ -87,9 +93,23 @@ describe.runIf(process.env.TW_SECRET_KEY)(
87
93
  `);
88
94
  });
89
95
 
96
+ it("should update metadata", async () => {
97
+ const updateTx = updateMetadata({
98
+ contract,
99
+ targetTokenId: 0n,
100
+ newMetadata: { name: "Test NFT 1" },
101
+ });
102
+ await sendAndConfirmTransaction({
103
+ transaction: updateTx,
104
+ account: TEST_ACCOUNT_C,
105
+ });
106
+ const token0 = await getNFT({ contract, tokenId: 0n });
107
+ expect(token0.metadata.name).toBe("Test NFT 1");
108
+ });
109
+
90
110
  it("should allow to claim tokens", async () => {
91
111
  await expect(
92
- balanceOf({ contract, owner: TEST_ACCOUNT_A.address, tokenId: 0n }),
112
+ balanceOf({ contract, owner: TEST_ACCOUNT_C.address, tokenId: 0n }),
93
113
  ).resolves.toBe(0n);
94
114
  await sendAndConfirmTransaction({
95
115
  transaction: setClaimConditions({
@@ -97,26 +117,26 @@ describe.runIf(process.env.TW_SECRET_KEY)(
97
117
  phases: [{}],
98
118
  tokenId: 0n,
99
119
  }),
100
- account: TEST_ACCOUNT_A,
120
+ account: TEST_ACCOUNT_C,
101
121
  });
102
122
  const claimTx = claimTo({
103
123
  contract,
104
- to: TEST_ACCOUNT_A.address,
124
+ to: TEST_ACCOUNT_C.address,
105
125
  tokenId: 0n,
106
126
  quantity: 1n,
107
127
  });
108
128
  await sendAndConfirmTransaction({
109
129
  transaction: claimTx,
110
- account: TEST_ACCOUNT_A,
130
+ account: TEST_ACCOUNT_C,
111
131
  });
112
132
  await expect(
113
- balanceOf({ contract, owner: TEST_ACCOUNT_A.address, tokenId: 0n }),
133
+ balanceOf({ contract, owner: TEST_ACCOUNT_C.address, tokenId: 0n }),
114
134
  ).resolves.toBe(1n);
115
135
  });
116
136
 
117
137
  it("should allow to claim tokens with price", async () => {
118
138
  await expect(
119
- balanceOf({ contract, owner: TEST_ACCOUNT_A.address, tokenId: 0n }),
139
+ balanceOf({ contract, owner: TEST_ACCOUNT_C.address, tokenId: 0n }),
120
140
  ).resolves.toBe(1n);
121
141
  await sendAndConfirmTransaction({
122
142
  transaction: setClaimConditions({
@@ -128,11 +148,11 @@ describe.runIf(process.env.TW_SECRET_KEY)(
128
148
  ],
129
149
  tokenId: 0n,
130
150
  }),
131
- account: TEST_ACCOUNT_A,
151
+ account: TEST_ACCOUNT_C,
132
152
  });
133
153
  const claimTx = claimTo({
134
154
  contract,
135
- to: TEST_ACCOUNT_A.address,
155
+ to: TEST_ACCOUNT_C.address,
136
156
  tokenId: 0n,
137
157
  quantity: 1n,
138
158
  });
@@ -143,10 +163,10 @@ describe.runIf(process.env.TW_SECRET_KEY)(
143
163
  expect(toEther(value)).toBe("0.001");
144
164
  await sendAndConfirmTransaction({
145
165
  transaction: claimTx,
146
- account: TEST_ACCOUNT_A,
166
+ account: TEST_ACCOUNT_C,
147
167
  });
148
168
  await expect(
149
- balanceOf({ contract, owner: TEST_ACCOUNT_A.address, tokenId: 0n }),
169
+ balanceOf({ contract, owner: TEST_ACCOUNT_C.address, tokenId: 0n }),
150
170
  ).resolves.toBe(2n);
151
171
  });
152
172
 
@@ -159,7 +179,7 @@ describe.runIf(process.env.TW_SECRET_KEY)(
159
179
  phases: [
160
180
  {
161
181
  overrideList: [
162
- { address: TEST_ACCOUNT_A.address, maxClaimable: "100" },
182
+ { address: TEST_ACCOUNT_C.address, maxClaimable: "100" },
163
183
  { address: VITALIK_WALLET, maxClaimable: "100" },
164
184
  ],
165
185
  maxClaimablePerWallet: 0n,
@@ -167,7 +187,7 @@ describe.runIf(process.env.TW_SECRET_KEY)(
167
187
  ],
168
188
  tokenId,
169
189
  }),
170
- account: TEST_ACCOUNT_A,
190
+ account: TEST_ACCOUNT_C,
171
191
  });
172
192
 
173
193
  await expect(
@@ -175,10 +195,10 @@ describe.runIf(process.env.TW_SECRET_KEY)(
175
195
  ).resolves.toBe(0n);
176
196
 
177
197
  await sendAndConfirmTransaction({
178
- account: TEST_ACCOUNT_A,
198
+ account: TEST_ACCOUNT_C,
179
199
  transaction: claimTo({
180
200
  contract,
181
- from: TEST_ACCOUNT_A.address,
201
+ from: TEST_ACCOUNT_C.address,
182
202
  to: TEST_ACCOUNT_B.address,
183
203
  tokenId,
184
204
  quantity: 1n,
@@ -215,7 +235,7 @@ describe.runIf(process.env.TW_SECRET_KEY)(
215
235
  phases: [
216
236
  {
217
237
  overrideList: [
218
- { address: TEST_ACCOUNT_A.address, maxClaimable: "1" },
238
+ { address: TEST_ACCOUNT_C.address, maxClaimable: "1" },
219
239
  { address: VITALIK_WALLET, maxClaimable: "3" },
220
240
  ],
221
241
  maxClaimablePerWallet: 0n,
@@ -223,19 +243,19 @@ describe.runIf(process.env.TW_SECRET_KEY)(
223
243
  ],
224
244
  tokenId,
225
245
  }),
226
- account: TEST_ACCOUNT_A,
246
+ account: TEST_ACCOUNT_C,
227
247
  });
228
248
 
229
249
  await expect(
230
- balanceOf({ contract, owner: TEST_ACCOUNT_A.address, tokenId }),
250
+ balanceOf({ contract, owner: TEST_ACCOUNT_C.address, tokenId }),
231
251
  ).resolves.toBe(0n);
232
252
 
233
253
  await expect(
234
254
  sendAndConfirmTransaction({
235
- account: TEST_ACCOUNT_A,
255
+ account: TEST_ACCOUNT_C,
236
256
  transaction: claimTo({
237
257
  contract,
238
- to: TEST_ACCOUNT_A.address,
258
+ to: TEST_ACCOUNT_C.address,
239
259
  tokenId,
240
260
  quantity: 2n,
241
261
  }),
@@ -248,17 +268,17 @@ describe.runIf(process.env.TW_SECRET_KEY)(
248
268
  `);
249
269
 
250
270
  await sendAndConfirmTransaction({
251
- account: TEST_ACCOUNT_A,
271
+ account: TEST_ACCOUNT_C,
252
272
  transaction: claimTo({
253
273
  contract,
254
- to: TEST_ACCOUNT_A.address,
274
+ to: TEST_ACCOUNT_C.address,
255
275
  tokenId,
256
276
  quantity: 1n,
257
277
  }),
258
278
  });
259
279
 
260
280
  await expect(
261
- balanceOf({ contract, owner: TEST_ACCOUNT_A.address, tokenId }),
281
+ balanceOf({ contract, owner: TEST_ACCOUNT_C.address, tokenId }),
262
282
  ).resolves.toBe(1n);
263
283
  });
264
284
  });
@@ -272,7 +292,7 @@ describe.runIf(process.env.TW_SECRET_KEY)(
272
292
  {
273
293
  overrideList: [
274
294
  {
275
- address: TEST_ACCOUNT_A.address,
295
+ address: TEST_ACCOUNT_C.address,
276
296
  maxClaimable: "10",
277
297
  price: "0",
278
298
  },
@@ -283,25 +303,25 @@ describe.runIf(process.env.TW_SECRET_KEY)(
283
303
  ],
284
304
  tokenId,
285
305
  }),
286
- account: TEST_ACCOUNT_A,
306
+ account: TEST_ACCOUNT_C,
287
307
  });
288
308
 
289
309
  await expect(
290
- balanceOf({ contract, owner: TEST_ACCOUNT_A.address, tokenId }),
310
+ balanceOf({ contract, owner: TEST_ACCOUNT_C.address, tokenId }),
291
311
  ).resolves.toBe(0n);
292
312
 
293
313
  await sendAndConfirmTransaction({
294
- account: TEST_ACCOUNT_A,
314
+ account: TEST_ACCOUNT_C,
295
315
  transaction: claimTo({
296
316
  contract,
297
- to: TEST_ACCOUNT_A.address,
317
+ to: TEST_ACCOUNT_C.address,
298
318
  tokenId,
299
319
  quantity: 1n,
300
320
  }),
301
321
  });
302
322
 
303
323
  await expect(
304
- balanceOf({ contract, owner: TEST_ACCOUNT_A.address, tokenId }),
324
+ balanceOf({ contract, owner: TEST_ACCOUNT_C.address, tokenId }),
305
325
  ).resolves.toBe(1n);
306
326
  });
307
327
 
@@ -321,7 +341,7 @@ describe.runIf(process.env.TW_SECRET_KEY)(
321
341
  },
322
342
  ],
323
343
  }),
324
- account: TEST_ACCOUNT_A,
344
+ account: TEST_ACCOUNT_C,
325
345
  });
326
346
 
327
347
  const phases = await getClaimConditions({ contract, tokenId: 5n });
@@ -342,7 +362,7 @@ describe.runIf(process.env.TW_SECRET_KEY)(
342
362
  },
343
363
  ],
344
364
  }),
345
- account: TEST_ACCOUNT_A,
365
+ account: TEST_ACCOUNT_C,
346
366
  });
347
367
  // claim one token
348
368
  await sendAndConfirmTransaction({
@@ -384,7 +404,7 @@ describe.runIf(process.env.TW_SECRET_KEY)(
384
404
  tokenId: 6n,
385
405
  contract,
386
406
  }),
387
- account: TEST_ACCOUNT_A,
407
+ account: TEST_ACCOUNT_C,
388
408
  });
389
409
  // attempt to claim another token (this should succeed)
390
410
  await sendAndConfirmTransaction({
@@ -409,5 +429,115 @@ describe.runIf(process.env.TW_SECRET_KEY)(
409
429
  .map((f) => toFunctionSelector(f));
410
430
  expect(isGetNFTsSupported(selectors)).toBe(true);
411
431
  });
432
+
433
+ /**
434
+ * This is to document the behavior where one can claim without paying if the claiming address
435
+ * is the same as the PrimaryRecipientAddress, because of this Solidity code:
436
+ * ```solidity
437
+ * // CurrencyTransferLib.sol
438
+ * function safeTransferERC20(address _currency, address _from, address _to, uint256 _amount) internal {
439
+ * if (_from == _to) {
440
+ * return;
441
+ * }
442
+ * ...
443
+ * }
444
+ * ```
445
+ */
446
+ it("address that is the same with PrimaryFeeRecipient can claim without paying ERC20", async () => {
447
+ const tokenAddress = await deployERC20Contract({
448
+ client: TEST_CLIENT,
449
+ chain: ANVIL_CHAIN,
450
+ account: TEST_ACCOUNT_C,
451
+ type: "TokenERC20",
452
+ params: {
453
+ name: "token20",
454
+ contractURI: TEST_CONTRACT_URI,
455
+ },
456
+ });
457
+ const tokenId = 5n;
458
+ const setClaimTx = setClaimConditions({
459
+ contract,
460
+ tokenId,
461
+ phases: [
462
+ {
463
+ maxClaimableSupply: 100n,
464
+ maxClaimablePerWallet: 100n,
465
+ currencyAddress: tokenAddress,
466
+ price: 1000,
467
+ startTime: new Date(),
468
+ },
469
+ ],
470
+ });
471
+ await sendAndConfirmTransaction({
472
+ transaction: setClaimTx,
473
+ account: TEST_ACCOUNT_C,
474
+ });
475
+
476
+ const transaction = claimTo({
477
+ contract,
478
+ tokenId,
479
+ quantity: 50n,
480
+ to: TEST_ACCOUNT_C.address,
481
+ });
482
+ await sendAndConfirmTransaction({
483
+ transaction,
484
+ account: TEST_ACCOUNT_C,
485
+ });
486
+ const supplyCount = await totalSupply({ contract, id: tokenId });
487
+ expect(supplyCount).toBe(50n);
488
+ });
489
+
490
+ it("getActiveClaimCondition should work", async () => {
491
+ // Create a public allowlist claim phase
492
+ const snapshot = [
493
+ {
494
+ recipient: TEST_ACCOUNT_B.address,
495
+ tokenId: 4,
496
+ amount: 5,
497
+ },
498
+ {
499
+ recipient: TEST_ACCOUNT_D.address,
500
+ tokenId: 4,
501
+ amount: 5,
502
+ },
503
+ ];
504
+
505
+ const { merkleRoot } = await generateMerkleTreeInfoERC1155({
506
+ contract,
507
+ tokenAddress: NATIVE_TOKEN_ADDRESS,
508
+ snapshot,
509
+ });
510
+
511
+ const startTime = new Date();
512
+ const setCC = setClaimConditions({
513
+ contract,
514
+ tokenId: 4n,
515
+ phases: [
516
+ {
517
+ maxClaimableSupply: 100n,
518
+ maxClaimablePerWallet: 5n,
519
+ currencyAddress: NATIVE_TOKEN_ADDRESS,
520
+ price: 0.006,
521
+ startTime,
522
+ merkleRootHash: merkleRoot,
523
+ },
524
+ ],
525
+ });
526
+
527
+ await sendAndConfirmTransaction({
528
+ transaction: setCC,
529
+ account: TEST_ACCOUNT_C,
530
+ });
531
+
532
+ const activeCC = await getActiveClaimCondition({ contract, tokenId: 4n });
533
+ expect(activeCC.currency.toLowerCase()).toBe(
534
+ NATIVE_TOKEN_ADDRESS.toLowerCase(),
535
+ );
536
+ expect(activeCC.merkleRoot).toBe(
537
+ "0x5baa4423af7125448ad7ca6913cdee7dd952a8d10a44f4fad4c50eea65c5c92d",
538
+ );
539
+ expect(activeCC.pricePerToken).toBe(6000000000000000n);
540
+ expect(activeCC.quantityLimitPerWallet).toBe(5n);
541
+ });
412
542
  },
413
543
  );
@@ -1,22 +1,8 @@
1
1
  import { describe, expect, it } from "vitest";
2
-
3
- import { ANVIL_CHAIN } from "~test/chains.js";
4
- import { TEST_CONTRACT_URI } from "~test/ipfs-uris.js";
5
- import { TEST_CLIENT } from "~test/test-clients.js";
6
2
  import { MAX_UINT256 } from "~test/test-consts.js";
7
- import { TEST_ACCOUNT_B } from "~test/test-wallets.js";
8
3
  import { DROP1155_CONTRACT } from "../../../../../test/src/test-contracts.js";
9
- import { NATIVE_TOKEN_ADDRESS } from "../../../../constants/addresses.js";
10
- import { getContract } from "../../../../contract/contract.js";
11
- import { generateMerkleTreeInfoERC1155 } from "../../../../extensions/airdrop/write/merkleInfoERC1155.js";
12
- import { deployERC1155Contract } from "../../../../extensions/prebuilts/deploy-erc1155.js";
13
- import { sendAndConfirmTransaction } from "../../../../transaction/actions/send-and-confirm-transaction.js";
14
- import { lazyMint } from "../../write/lazyMint.js";
15
- import { setClaimConditions } from "../write/setClaimConditions.js";
16
4
  import { getActiveClaimCondition } from "./getActiveClaimCondition.js";
17
5
 
18
- const account = TEST_ACCOUNT_B;
19
-
20
6
  describe.runIf(process.env.TW_SECRET_KEY)("erc1155.getClaimConditions", () => {
21
7
  it("should return the correct claim conditions", async () => {
22
8
  const cc = await getActiveClaimCondition({
@@ -36,80 +22,4 @@ describe.runIf(process.env.TW_SECRET_KEY)("erc1155.getClaimConditions", () => {
36
22
  });
37
23
  // 1 call for the condition id and 1 call for the condition
38
24
  });
39
-
40
- it("should return the correct claim condition for the public allowlist claim phase", async () => {
41
- const address = await deployERC1155Contract({
42
- client: TEST_CLIENT,
43
- chain: ANVIL_CHAIN,
44
- account,
45
- type: "DropERC1155",
46
- params: {
47
- name: "EditionDrop",
48
- contractURI: TEST_CONTRACT_URI,
49
- },
50
- });
51
- const contract = getContract({
52
- address,
53
- chain: ANVIL_CHAIN,
54
- client: TEST_CLIENT,
55
- });
56
-
57
- // Upload an NFT
58
- const lzMint = lazyMint({ contract, nfts: [{ name: "token #0" }] });
59
- await sendAndConfirmTransaction({
60
- transaction: lzMint,
61
- account,
62
- });
63
-
64
- // Create a public allowlist claim phase
65
- const snapshot = [
66
- {
67
- recipient: "0x12345674b599ce99958242b3D3741e7b01841DF3",
68
- tokenId: 0,
69
- amount: 5,
70
- },
71
- {
72
- recipient: "0x89f84D4e4ecaBa42233EEfc46eE49a03Db943bAD",
73
- tokenId: 0,
74
- amount: 5,
75
- },
76
- ];
77
-
78
- const { merkleRoot } = await generateMerkleTreeInfoERC1155({
79
- contract,
80
- tokenAddress: NATIVE_TOKEN_ADDRESS,
81
- snapshot,
82
- });
83
-
84
- const startTime = new Date();
85
- const setCC = setClaimConditions({
86
- contract,
87
- tokenId: 0n,
88
- phases: [
89
- {
90
- maxClaimableSupply: 100n,
91
- maxClaimablePerWallet: 5n,
92
- currencyAddress: NATIVE_TOKEN_ADDRESS,
93
- price: 0.006,
94
- startTime,
95
- merkleRootHash: merkleRoot,
96
- },
97
- ],
98
- });
99
-
100
- await sendAndConfirmTransaction({
101
- transaction: setCC,
102
- account,
103
- });
104
-
105
- const activeCC = await getActiveClaimCondition({ contract, tokenId: 0n });
106
- expect(activeCC.currency.toLowerCase()).toBe(
107
- NATIVE_TOKEN_ADDRESS.toLowerCase(),
108
- );
109
- expect(activeCC.merkleRoot).toBe(
110
- "0xbfa52e7f255395704d8ea7174ec56f1357e6a1946753fcd64000adb4aeb3ca4a",
111
- );
112
- expect(activeCC.pricePerToken).toBe(6000000000000000n);
113
- expect(activeCC.quantityLimitPerWallet).toBe(5n);
114
- });
115
25
  });
@@ -38,16 +38,10 @@ export function mintAdditionalSupplyTo(
38
38
  return MintTo.mintTo({
39
39
  contract: options.contract,
40
40
  asyncParams: async () => {
41
- // we'll be re-using the exising token URI
42
- const tokenUri = await URI.uri({
43
- contract: options.contract,
44
- tokenId: options.tokenId,
45
- });
46
-
47
41
  return {
48
42
  to: options.to,
49
43
  tokenId: options.tokenId,
50
- uri: tokenUri,
44
+ uri: "", // contract will maintain the existing token URI
51
45
  amount: options.supply,
52
46
  };
53
47
  },
@@ -1,19 +1,19 @@
1
1
  import { describe, expect, it } from "vitest";
2
2
  import { ANVIL_CHAIN } from "../../../test/src/chains.js";
3
3
  import { TEST_CLIENT } from "../../../test/src/test-clients.js";
4
- import { TEST_ACCOUNT_A } from "../../../test/src/test-wallets.js";
4
+ import { TEST_ACCOUNT_B } from "../../../test/src/test-wallets.js";
5
5
  import { getContract } from "../../contract/contract.js";
6
6
  import { name } from "../common/read/name.js";
7
7
  import { deployERC1155Contract } from "./deploy-erc1155.js";
8
8
 
9
- // skip this test suite if there is no secret key available to test with
10
- // TODO: remove reliance on secret key during unit tests entirely
9
+ const account = TEST_ACCOUNT_B;
10
+
11
11
  describe.runIf(process.env.TW_SECRET_KEY)("deployERC1155", () => {
12
12
  it("should deploy ERC1155 drop", async () => {
13
13
  const address = await deployERC1155Contract({
14
14
  client: TEST_CLIENT,
15
15
  chain: ANVIL_CHAIN,
16
- account: TEST_ACCOUNT_A,
16
+ account,
17
17
  type: "DropERC1155",
18
18
  params: {
19
19
  name: "EditionDrop",
@@ -35,7 +35,7 @@ describe.runIf(process.env.TW_SECRET_KEY)("deployERC1155", () => {
35
35
  const address = await deployERC1155Contract({
36
36
  client: TEST_CLIENT,
37
37
  chain: ANVIL_CHAIN,
38
- account: TEST_ACCOUNT_A,
38
+ account,
39
39
  type: "TokenERC1155",
40
40
  params: {
41
41
  name: "Edition",
@@ -1,14 +1,16 @@
1
1
  import { describe, expect, it } from "vitest";
2
2
  import { ANVIL_CHAIN } from "~test/chains.js";
3
3
  import { TEST_CLIENT } from "~test/test-clients.js";
4
- import { TEST_ACCOUNT_A } from "~test/test-wallets.js";
4
+ import { TEST_ACCOUNT_C } from "~test/test-wallets.js";
5
5
  import { isAddress } from "../../utils/address.js";
6
6
  import { deployPackContract } from "./deploy-pack.js";
7
7
 
8
+ const account = TEST_ACCOUNT_C;
9
+
8
10
  describe.runIf(process.env.TW_SECRET_KEY)("deploy-pack contract", () => {
9
11
  it("should deploy Pack contract", async () => {
10
12
  const address = await deployPackContract({
11
- account: TEST_ACCOUNT_A,
13
+ account,
12
14
  client: TEST_CLIENT,
13
15
  chain: ANVIL_CHAIN,
14
16
  params: {
@@ -23,9 +23,9 @@ const githubIconUri =
23
23
  "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTA2IiBoZWlnaHQ9IjEwNiIgdmlld0JveD0iMCAwIDEwNiAxMDYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxjaXJjbGUgY3g9IjUzIiBjeT0iNTMiIHI9IjUzIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTUyLjg1NCA0QzI1LjgzOSA0IDQgMjYgNCA1My4yMTdDNCA3NC45NzMgMTcuOTkzIDkzLjM4OSAzNy40MDUgOTkuOTA3QzM5LjgzMiAxMDAuMzk3IDQwLjcyMSA5OC44NDggNDAuNzIxIDk3LjU0NUM0MC43MjEgOTYuNDA0IDQwLjY0MSA5Mi40OTMgNDAuNjQxIDg4LjQxOEMyNy4wNTEgOTEuMzUyIDI0LjIyMSA4Mi41NTEgMjQuMjIxIDgyLjU1MUMyMi4wMzcgNzYuODQ3IDE4LjgwMSA3NS4zODEgMTguODAxIDc1LjM4MUMxNC4zNTMgNzIuMzY2IDE5LjEyNSA3Mi4zNjYgMTkuMTI1IDcyLjM2NkMyNC4wNTkgNzIuNjkyIDI2LjY0OCA3Ny40MTggMjYuNjQ4IDc3LjQxOEMzMS4wMTUgODQuOTE0IDM4LjA1MiA4Mi43OTYgNDAuODgzIDgxLjQ5MkM0MS4yODcgNzguMzE0IDQyLjU4MiA3Ni4xMTQgNDMuOTU3IDc0Ljg5MkMzMy4xMTggNzMuNzUxIDIxLjcxNCA2OS41MTQgMjEuNzE0IDUwLjYwOUMyMS43MTQgNDUuMjMxIDIzLjY1NCA0MC44MzEgMjYuNzI4IDM3LjQwOUMyNi4yNDMgMzYuMTg3IDI0LjU0NCAzMS4xMzQgMjcuMjE0IDI0LjM3MUMyNy4yMTQgMjQuMzcxIDMxLjMzOSAyMy4wNjcgNDAuNjQgMjkuNDIzQzQ0LjYyMjEgMjguMzQ1NyA0OC43Mjg4IDI3Ljc5NzYgNTIuODU0IDI3Ljc5M0M1Ni45NzkgMjcuNzkzIDYxLjE4NCAyOC4zNjQgNjUuMDY3IDI5LjQyM0M3NC4zNjkgMjMuMDY3IDc4LjQ5NCAyNC4zNzEgNzguNDk0IDI0LjM3MUM4MS4xNjQgMzEuMTM0IDc5LjQ2NCAzNi4xODcgNzguOTc5IDM3LjQwOUM4Mi4xMzQgNDAuODMxIDgzLjk5NCA0NS4yMzEgODMuOTk0IDUwLjYwOUM4My45OTQgNjkuNTE0IDcyLjU5IDczLjY2OSA2MS42NyA3NC44OTJDNjMuNDUgNzYuNDQgNjQuOTg2IDc5LjM3MyA2NC45ODYgODQuMDE4QzY0Ljk4NiA5MC42MTggNjQuOTA2IDk1LjkxNSA2NC45MDYgOTcuNTQ0QzY0LjkwNiA5OC44NDggNjUuNzk2IDEwMC4zOTcgNjguMjIyIDk5LjkwOEM4Ny42MzQgOTMuMzg4IDEwMS42MjcgNzQuOTczIDEwMS42MjcgNTMuMjE3QzEwMS43MDcgMjYgNzkuNzg4IDQgNTIuODU0IDRaIiBmaWxsPSIjMjQyOTJGIi8+Cjwvc3ZnPgo=";
24
24
  const xIcon =
25
25
  "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIwIiBoZWlnaHQ9IjMyMCIgdmlld0JveD0iMCAwIDMyMCAzMjAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSIzMjAiIGhlaWdodD0iMzIwIiByeD0iMjQiIGZpbGw9ImJsYWNrIi8+CjxwYXRoIGQ9Ik0xNzcuMzE1IDE0NS4zMzVMMjQ1LjA2OCA2N0gyMjkuMDEzTDE3MC4xODIgMTM1LjAxN0wxMjMuMTk1IDY3SDY5TDE0MC4wNTUgMTY5Ljg1NEw2OSAyNTJIODUuMDU2M0wxNDcuMTgzIDE4MC4xNzJMMTk2LjgwNSAyNTJIMjUxTDE3Ny4zMTEgMTQ1LjMzNUgxNzcuMzE1Wk0xNTUuMzIzIDE3MC43NkwxNDguMTI0IDE2MC41MThMOTAuODQxNyA3OS4wMjJIMTE1LjUwM0wxNjEuNzMxIDE0NC43OTJMMTY4LjkzIDE1NS4wMzRMMjI5LjAyIDI0MC41MjVIMjA0LjM1OUwxNTUuMzIzIDE3MC43NjRWMTcwLjc2WiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+Cg==";
26
- export const emailIcon =
26
+ const emailIcon =
27
27
  "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEzLjMzMzUgMi42NjY1SDIuNjY2ODNDMS45MzA0NSAyLjY2NjUgMS4zMzM1IDMuMjYzNDYgMS4zMzM1IDMuOTk5ODRWMTEuOTk5OEMxLjMzMzUgMTIuNzM2MiAxLjkzMDQ1IDEzLjMzMzIgMi42NjY4MyAxMy4zMzMySDEzLjMzMzVDMTQuMDY5OSAxMy4zMzMyIDE0LjY2NjggMTIuNzM2MiAxNC42NjY4IDExLjk5OThWMy45OTk4NEMxNC42NjY4IDMuMjYzNDYgMTQuMDY5OSAyLjY2NjUgMTMuMzMzNSAyLjY2NjVaIiBzdHJva2U9IiMzMzg1RkYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8cGF0aCBkPSJNMTQuNjY2OCA0LjY2NjVMOC42ODY4MyA4LjQ2NjVDOC40ODEwMSA4LjU5NTQ1IDguMjQzMDQgOC42NjM4NCA4LjAwMDE2IDguNjYzODRDNy43NTcyOCA4LjY2Mzg0IDcuNTE5MzEgOC41OTU0NSA3LjMxMzUgOC40NjY1TDEuMzMzNSA0LjY2NjUiIHN0cm9rZT0iIzMzODVGRiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjwvc3ZnPgo=";
28
- export const phoneIcon =
28
+ const phoneIcon =
29
29
  "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzU2MzlfNjMyKSI+CjxwYXRoIGQ9Ik0xNC42NjY5IDExLjI4MDJWMTMuMjgwMkMxNC42Njc3IDEzLjQ2NTkgMTQuNjI5NyAxMy42NDk3IDE0LjU1NTMgMTMuODE5OEMxNC40ODA5IDEzLjk4OTkgMTQuMzcxOCAxNC4xNDI2IDE0LjIzNSAxNC4yNjgxQzE0LjA5ODIgMTQuMzkzNyAxMy45MzY3IDE0LjQ4OTIgMTMuNzYwOCAxNC41NDg3QzEzLjU4NDkgMTQuNjA4MiAxMy4zOTg1IDE0LjYzMDMgMTMuMjEzNiAxNC42MTM2QzExLjE2MjIgMTQuMzkwNyA5LjE5MTYxIDEzLjY4OTcgNy40NjAyOCAxMi41NjY5QzUuODQ5NSAxMS41NDMzIDQuNDgzODQgMTAuMTc3NyAzLjQ2MDI4IDguNTY2ODlDMi4zMzM2IDYuODI3NyAxLjYzMjQ0IDQuODQ3NTYgMS40MTM2MSAyLjc4Njg5QzEuMzk2OTUgMi42MDI1NCAxLjQxODg2IDIuNDE2NzMgMS40Nzc5NSAyLjI0MTMxQzEuNTM3MDMgMi4wNjU4OSAxLjYzMTk5IDEuOTA0NjkgMS43NTY3OSAxLjc2Nzk3QzEuODgxNTkgMS42MzEyNiAyLjAzMzQ4IDEuNTIyMDMgMi4yMDI4MSAxLjQ0NzI0QzIuMzcyMTMgMS4zNzI0NSAyLjU1NTE3IDEuMzMzNzQgMi43NDAyOCAxLjMzMzU2SDQuNzQwMjhDNS4wNjM4MiAxLjMzMDM4IDUuMzc3NDggMS40NDQ5NSA1LjYyMjc5IDEuNjU1OTJDNS44NjgxIDEuODY2ODkgNi4wMjgzMyAyLjE1OTg2IDYuMDczNjEgMi40ODAyM0M2LjE1ODAzIDMuMTIwMjcgNi4zMTQ1OCAzLjc0ODcxIDYuNTQwMjggNC4zNTM1NkM2LjYyOTk4IDQuNTkyMTggNi42NDkzOSA0Ljg1MTUgNi41OTYyMiA1LjEwMDgxQzYuNTQzMDUgNS4zNTAxMiA2LjQxOTUyIDUuNTc4OTcgNi4yNDAyOCA1Ljc2MDIzTDUuMzkzNjEgNi42MDY4OUM2LjM0MjY1IDguMjc1OTIgNy43MjQ1OCA5LjY1Nzg2IDkuMzkzNjEgMTAuNjA2OUwxMC4yNDAzIDkuNzYwMjNDMTAuNDIxNSA5LjU4MDk5IDEwLjY1MDQgOS40NTc0NiAxMC44OTk3IDkuNDA0MjlDMTEuMTQ5IDkuMzUxMTIgMTEuNDA4MyA5LjM3MDUzIDExLjY0NjkgOS40NjAyM0MxMi4yNTE4IDkuNjg1OTMgMTIuODgwMiA5Ljg0MjQ4IDEzLjUyMDMgOS45MjY4OUMxMy44NDQxIDkuOTcyNTggMTQuMTM5OSAxMC4xMzU3IDE0LjM1MTMgMTAuMzg1MkMxNC41NjI3IDEwLjYzNDggMTQuNjc1MSAxMC45NTMzIDE0LjY2NjkgMTEuMjgwMloiIHN0cm9rZT0iIzMzODVGRiIgc3Ryb2tlLXdpZHRoPSIxLjMzMzMzIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF81NjM5XzYzMiI+CjxyZWN0IHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgZmlsbD0id2hpdGUiLz4KPC9jbGlwUGF0aD4KPC9kZWZzPgo8L3N2Zz4K";
30
30
  export const genericTokenIcon =
31
31
  "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzQwNDhfNDIzMSkiPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTcuNTg0IDQuODU1NjZDNy43MTA2OSA0Ljc4MjUyIDcuODU0MzkgNC43NDQwMiA4LjAwMDY3IDQuNzQ0MDJDOC4xNDY5NSA0Ljc0NDAyIDguMjkwNjUgNC43ODI1MiA4LjQxNzM0IDQuODU1NjZMMTAuNTE1MyA2LjA2NjY2QzEwLjY0MiA2LjEzOTggMTAuNzQ3MiA2LjI0NSAxMC44MjA0IDYuMzcxNjhDMTAuODkzNSA2LjQ5ODM1IDEwLjkzMiA2LjY0MjA1IDEwLjkzMiA2Ljc4ODMzVjkuMjExQzEwLjkzMiA5LjM1NzI3IDEwLjg5MzUgOS41MDA5NyAxMC44MjA0IDkuNjI3NjVDMTAuNzQ3MiA5Ljc1NDMzIDEwLjY0MiA5Ljg1OTUzIDEwLjUxNTMgOS45MzI2Nkw4LjQxNzM0IDExLjE0NEM4LjI5MDY1IDExLjIxNzEgOC4xNDY5NSAxMS4yNTU2IDguMDAwNjcgMTEuMjU1NkM3Ljg1NDM5IDExLjI1NTYgNy43MTA2OSAxMS4yMTcxIDcuNTg0IDExLjE0NEw1LjQ4NiA5LjkzMjY2QzUuMzU5MzIgOS44NTk1MyA1LjI1NDEzIDkuNzU0MzMgNS4xODA5OSA5LjYyNzY1QzUuMTA3ODUgOS41MDA5NyA1LjA2OTM0IDkuMzU3MjcgNS4wNjkzNCA5LjIxMVY2Ljc4ODY2QzUuMDY5MjggNi42NDIzMyA1LjEwNzc2IDYuNDk4NTYgNS4xODA5IDYuMzcxODJDNS4yNTQwNSA2LjI0NTA4IDUuMzU5MjcgNi4xMzk4MyA1LjQ4NiA2LjA2NjY2TDcuNTg0IDQuODU1NjZaTTguMDg0IDUuNDMzQzguMDU4NjcgNS40MTgzNyA4LjAyOTkzIDUuNDEwNjcgOC4wMDA2NyA1LjQxMDY3QzcuOTcxNDEgNS40MTA2NyA3Ljk0MjY3IDUuNDE4MzcgNy45MTczNCA1LjQzM0w1LjgxOTM0IDYuNjQ0MzNDNS43OTQgNi42NTg5NiA1Ljc3Mjk2IDYuNjggNS43NTgzMyA2LjcwNTMzQzUuNzQzNyA2LjczMDY3IDUuNzM2IDYuNzU5NDEgNS43MzYgNi43ODg2NlY5LjIxMTMzQzUuNzM2IDkuMjQwNTkgNS43NDM3IDkuMjY5MzMgNS43NTgzMyA5LjI5NDY2QzUuNzcyOTYgOS4zMiA1Ljc5NCA5LjM0MTA0IDUuODE5MzQgOS4zNTU2Nkw3LjkxNzM0IDEwLjU2NjdDNy45NDI2NyAxMC41ODEzIDcuOTcxNDEgMTAuNTg5IDguMDAwNjcgMTAuNTg5QzguMDI5OTMgMTAuNTg5IDguMDU4NjcgMTAuNTgxMyA4LjA4NCAxMC41NjY3TDEwLjE4MiA5LjM1NTMzQzEwLjIwNzMgOS4zNDA3IDEwLjIyODQgOS4zMTk2NiAxMC4yNDMgOS4yOTQzM0MxMC4yNTc2IDkuMjY4OTkgMTAuMjY1MyA5LjI0MDI1IDEwLjI2NTMgOS4yMTFWNi43ODg2NkMxMC4yNjUzIDYuNzU5NDEgMTAuMjU3NiA2LjczMDY3IDEwLjI0MyA2LjcwNTMzQzEwLjIyODQgNi42OCAxMC4yMDczIDYuNjU4OTYgMTAuMTgyIDYuNjQ0MzNMOC4wODQgNS40MzNaIiBmaWxsPSIjNUM1QzVDIi8+CjwvZz4KPGNpcmNsZSBjeD0iOCIgY3k9IjgiIHI9IjcuNjkyMzEiIHN0cm9rZT0iIzVDNUM1QyIgc3Ryb2tlLXdpZHRoPSIwLjYxNTM4NSIvPgo8Y2lyY2xlIGN4PSI3Ljk5OTU1IiBjeT0iOC4wMDAwNCIgcj0iNS44NDYxNSIgc3Ryb2tlPSIjNUM1QzVDIiBzdHJva2Utd2lkdGg9IjAuNjE1Mzg1Ii8+CjxkZWZzPgo8Y2xpcFBhdGggaWQ9ImNsaXAwXzQwNDhfNDIzMSI+CjxyZWN0IHdpZHRoPSI4IiBoZWlnaHQ9IjgiIGZpbGw9IndoaXRlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0IDQpIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg==";
@@ -33,7 +33,7 @@ const guestIcon =
33
33
  "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE5IDIxVjE5QzE5IDE3LjkzOTEgMTguNTc4NiAxNi45MjE3IDE3LjgyODQgMTYuMTcxNkMxNy4wNzgzIDE1LjQyMTQgMTYuMDYwOSAxNSAxNSAxNUg5QzcuOTM5MTMgMTUgNi45MjE3MiAxNS40MjE0IDYuMTcxNTcgMTYuMTcxNkM1LjQyMTQzIDE2LjkyMTcgNSAxNy45MzkxIDUgMTlWMjEiIHN0cm9rZT0iIzMzODVGRiIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPHBhdGggZD0iTTEyIDExQzE0LjIwOTEgMTEgMTYgOS4yMDkxNCAxNiA3QzE2IDQuNzkwODYgMTQuMjA5MSAzIDEyIDNDOS43OTA4NiAzIDggNC43OTA4NiA4IDdDOCA5LjIwOTE0IDkuNzkwODYgMTEgMTIgMTFaIiBzdHJva2U9IiMzMzg1RkYiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjwvc3ZnPgo=";
34
34
  export const genericWalletIcon =
35
35
  "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEyLjY2NjcgNC42NjY2N1YyLjY2NjY3QzEyLjY2NjcgMi40ODk4NiAxMi41OTY0IDIuMzIwMjkgMTIuNDcxNCAyLjE5NTI2QzEyLjM0NjQgMi4wNzAyNCAxMi4xNzY4IDIgMTIgMkgzLjMzMzMzQzIuOTc5NzEgMiAyLjY0MDU3IDIuMTQwNDggMi4zOTA1MiAyLjM5MDUyQzIuMTQwNDggMi42NDA1NyAyIDIuOTc5NzEgMiAzLjMzMzMzQzIgMy42ODY5NiAyLjE0MDQ4IDQuMDI2MDkgMi4zOTA1MiA0LjI3NjE0QzIuNjQwNTcgNC41MjYxOSAyLjk3OTcxIDQuNjY2NjcgMy4zMzMzMyA0LjY2NjY3SDEzLjMzMzNDMTMuNTEwMSA0LjY2NjY3IDEzLjY3OTcgNC43MzY5IDEzLjgwNDcgNC44NjE5M0MxMy45Mjk4IDQuOTg2OTUgMTQgNS4xNTY1MiAxNCA1LjMzMzMzVjhNMTQgOEgxMkMxMS42NDY0IDggMTEuMzA3MiA4LjE0MDQ4IDExLjA1NzIgOC4zOTA1MkMxMC44MDcxIDguNjQwNTcgMTAuNjY2NyA4Ljk3OTcxIDEwLjY2NjcgOS4zMzMzM0MxMC42NjY3IDkuNjg2OTYgMTAuODA3MSAxMC4wMjYxIDExLjA1NzIgMTAuMjc2MUMxMS4zMDcyIDEwLjUyNjIgMTEuNjQ2NCAxMC42NjY3IDEyIDEwLjY2NjdIMTRDMTQuMTc2OCAxMC42NjY3IDE0LjM0NjQgMTAuNTk2NCAxNC40NzE0IDEwLjQ3MTRDMTQuNTk2NCAxMC4zNDY0IDE0LjY2NjcgMTAuMTc2OCAxNC42NjY3IDEwVjguNjY2NjdDMTQuNjY2NyA4LjQ4OTg2IDE0LjU5NjQgOC4zMjAyOSAxNC40NzE0IDguMTk1MjZDMTQuMzQ2NCA4LjA3MDI0IDE0LjE3NjggOCAxNCA4WiIgc3Ryb2tlPSIjMzM4NUZGIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPHBhdGggZD0iTTIgMy4zMzM1VjEyLjY2NjhDMiAxMy4wMjA1IDIuMTQwNDggMTMuMzU5NiAyLjM5MDUyIDEzLjYwOTZDMi42NDA1NyAxMy44NTk3IDIuOTc5NzEgMTQuMDAwMiAzLjMzMzMzIDE0LjAwMDJIMTMuMzMzM0MxMy41MTAxIDE0LjAwMDIgMTMuNjc5NyAxMy45Mjk5IDEzLjgwNDcgMTMuODA0OUMxMy45Mjk4IDEzLjY3OTkgMTQgMTMuNTEwMyAxNCAxMy4zMzM1VjEwLjY2NjgiIHN0cm9rZT0iIzMzODVGRiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjwvc3ZnPgo=";
36
- export const passkeyIcon =
36
+ const passkeyIcon =
37
37
  "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzU2MzlfMzIpIj4KPHBhdGggZD0iTTcuOTk5NTkgNi42NjY1QzcuNjQ1OTYgNi42NjY1IDcuMzA2ODMgNi44MDY5OCA3LjA1Njc4IDcuMDU3MDNDNi44MDY3MyA3LjMwNzA4IDYuNjY2MjUgNy42NDYyMiA2LjY2NjI1IDcuOTk5ODRDNi42NjYyNSA4LjY3OTg0IDYuNTk5NTkgOS42NzMxNyA2LjQ5MjkyIDEwLjY2NjUiIHN0cm9rZT0iIzMzODVGRiIgc3Ryb2tlLXdpZHRoPSIxLjI1NDkiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8cGF0aCBkPSJNOS4zMzI5MyA4Ljc0NjU4QzkuMzMyOTMgMTAuMzMzMiA5LjMzMjkzIDEyLjk5OTkgOC42NjYyNiAxNC42NjY2IiBzdHJva2U9IiMzMzg1RkYiIHN0cm9rZS13aWR0aD0iMS4yNTQ5IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPHBhdGggZD0iTTExLjUyNzMgMTQuMDEzM0MxMS42MDczIDEzLjYxMzMgMTEuODE0IDEyLjQ4IDExLjg2MDcgMTIiIHN0cm9rZT0iIzMzODVGRiIgc3Ryb2tlLXdpZHRoPSIxLjI1NDkiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8cGF0aCBkPSJNMS4zMzM5OCA4LjAwMDE2QzEuMzMzOTggNi42MDA5NSAxLjc3NDIzIDUuMjM3MiAyLjU5MjM3IDQuMTAyMDlDMy40MTA1MSAyLjk2Njk5IDQuNTY1MDUgMi4xMTgwOCA1Ljg5MjQ3IDEuNjc1NjFDNy4yMTk4OCAxLjIzMzE0IDguNjUyODYgMS4yMTk1NCA5Ljk4ODQ0IDEuNjM2NzRDMTEuMzI0IDIuMDUzOTQgMTIuNDk0NSAyLjg4MDc5IDEzLjMzNCA0LjAwMDE2IiBzdHJva2U9IiMzMzg1RkYiIHN0cm9rZS13aWR0aD0iMS4yNTQ5IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPHBhdGggZD0iTTEuMzMzOTggMTAuNjY2NUgxLjMzOTE0IiBzdHJva2U9IiMzMzg1RkYiIHN0cm9rZS13aWR0aD0iMS4yNTQ5IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPHBhdGggZD0iTTE0LjUzMjcgMTAuNjY2NUMxNC42NjYgOS4zMzMxNyAxNC42MiA3LjA5NzE3IDE0LjUzMjcgNi42NjY1IiBzdHJva2U9IiMzMzg1RkYiIHN0cm9rZS13aWR0aD0iMS4yNTQ5IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPHBhdGggZD0iTTMuMzMzOTggMTIuOTk5OEMzLjY2NzMyIDExLjk5OTggNC4wMDA2NSA5Ljk5OTg0IDQuMDAwNjUgNy45OTk4NEMzLjk5OTk4IDcuNTQ1NzUgNC4wNzY2MyA3LjA5NDg2IDQuMjI3MzIgNi42NjY1IiBzdHJva2U9IiMzMzg1RkYiIHN0cm9rZS13aWR0aD0iMS4yNTQ5IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPHBhdGggZD0iTTUuNzY3MDkgMTQuNjY2OEM1LjkwNzA5IDE0LjIyNjggNi4wNjcwOSAxMy43ODY4IDYuMTQ3MDkgMTMuMzMzNSIgc3Ryb2tlPSIjMzM4NUZGIiBzdHJva2Utd2lkdGg9IjEuMjU0OSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CjxwYXRoIGQ9Ik02IDQuNTMzNDZDNi42MDgyNyA0LjE4MjI4IDcuMjk4MjggMy45OTc0NSA4LjAwMDY0IDMuOTk3NTZDOC43MDMwMSAzLjk5NzY3IDkuMzkyOTYgNC4xODI3MiAxMC4wMDExIDQuNTM0MUMxMC42MDkzIDQuODg1NDggMTEuMTE0MiA1LjM5MDc5IDExLjQ2NTEgNS45OTkyM0MxMS44MTYgNi42MDc2NiAxMi4wMDA1IDcuMjk3NzYgMTIgOC4wMDAxMlY5LjMzMzQ2IiBzdHJva2U9IiMzMzg1RkYiIHN0cm9rZS13aWR0aD0iMS4yNTQ5IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF81NjM5XzMyIj4KPHJlY3Qgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=";
38
38
 
39
39
  export const socialIcons = {
@@ -60,7 +60,9 @@ export const WalletImage = (props: {
60
60
  try {
61
61
  const externalWalletImage = await getWalletInfo(activeEOAId, true);
62
62
  if (externalWalletImage) {
63
- return resolveScheme({ client, uri: externalWalletImage });
63
+ return externalWalletImage.startsWith("ipfs://")
64
+ ? resolveScheme({ client, uri: externalWalletImage })
65
+ : externalWalletImage;
64
66
  }
65
67
  } catch {}
66
68
 
@@ -34,9 +34,6 @@ export const MenuButton = /* @__PURE__ */ StyledButton((_) => {
34
34
  },
35
35
  "&[disabled]": {
36
36
  cursor: "not-allowed",
37
- svg: {
38
- display: "none",
39
- },
40
37
  },
41
38
  svg: {
42
39
  color: theme.colors.secondaryText,
@@ -16,7 +16,6 @@ import {
16
16
  radius,
17
17
  spacing,
18
18
  } from "../../../core/design-system/index.js";
19
- import { genericWalletIcon } from "../../../core/utils/walletIcon.js";
20
19
  import { useSetSelectionData } from "../../providers/wallet-ui-states-provider.js";
21
20
  import { sortWallets } from "../../utils/sortWallets.js";
22
21
  import { LoadingScreen } from "../../wallets/shared/LoadingScreen.js";
@@ -42,6 +41,7 @@ import { PoweredByThirdweb } from "./PoweredByTW.js";
42
41
  import { WalletButtonEl, WalletEntryButton } from "./WalletEntryButton.js";
43
42
  import { WalletTypeRowButton } from "./WalletTypeRowButton.js";
44
43
  import { compactModalMaxHeight } from "./constants.js";
44
+ import { OutlineWalletIcon } from "./icons/OutlineWalletIcon.js";
45
45
  import type { ConnectLocale } from "./locale/types.js";
46
46
 
47
47
  const InAppWalletSelectionUI = /* @__PURE__ */ lazy(
@@ -226,7 +226,7 @@ const WalletSelectorInner: React.FC<WalletSelectorProps> = (props) => {
226
226
  const connectAWallet = (
227
227
  <WalletTypeRowButton
228
228
  client={props.client}
229
- icon={genericWalletIcon}
229
+ icon={OutlineWalletIcon}
230
230
  onClick={() => {
231
231
  setIsWalletGroupExpanded(true);
232
232
  }}