@daimo/pay 0.3.21 → 1.0.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 (302) hide show
  1. package/build/index.d.ts +132 -301
  2. package/build/package.json.js +103 -0
  3. package/build/package.json.js.map +1 -0
  4. package/build/src/assets/ScanIconWithLogos.js +34 -0
  5. package/build/src/assets/ScanIconWithLogos.js.map +1 -0
  6. package/build/src/assets/browsers.js +13 -0
  7. package/build/src/assets/browsers.js.map +1 -0
  8. package/build/src/assets/chains.js +152 -0
  9. package/build/src/assets/chains.js.map +1 -0
  10. package/build/src/assets/coins.js +6 -0
  11. package/build/src/assets/coins.js.map +1 -0
  12. package/build/src/assets/crepe.js +8 -0
  13. package/build/src/assets/crepe.js.map +1 -0
  14. package/build/src/assets/icons.js +28 -0
  15. package/build/src/assets/icons.js.map +1 -0
  16. package/build/src/assets/logos.js +131 -0
  17. package/build/src/assets/logos.js.map +1 -0
  18. package/build/src/assets/wallet.js +8 -0
  19. package/build/src/assets/wallet.js.map +1 -0
  20. package/build/src/assets/wave.js +6 -0
  21. package/build/src/assets/wave.js.map +1 -0
  22. package/build/src/components/Common/Alert/index.js +10 -0
  23. package/build/src/components/Common/Alert/index.js.map +1 -0
  24. package/build/src/components/Common/Alert/styles.js +55 -0
  25. package/build/src/components/Common/Alert/styles.js.map +1 -0
  26. package/build/src/components/Common/Avatar/index.js +66 -0
  27. package/build/src/components/Common/Avatar/index.js.map +1 -0
  28. package/build/src/components/Common/Avatar/styles.js +59 -0
  29. package/build/src/components/Common/Avatar/styles.js.map +1 -0
  30. package/build/src/components/Common/BrowserIcon/index.js +28 -0
  31. package/build/src/components/Common/BrowserIcon/index.js.map +1 -0
  32. package/build/src/components/Common/BrowserIcon/styles.js +20 -0
  33. package/build/src/components/Common/BrowserIcon/styles.js.map +1 -0
  34. package/build/src/components/Common/Button/index.js +38 -0
  35. package/build/src/components/Common/Button/index.js.map +1 -0
  36. package/build/src/components/Common/Button/styles.js +291 -0
  37. package/build/src/components/Common/Button/styles.js.map +1 -0
  38. package/build/src/components/Common/Chain/index.js +25 -0
  39. package/build/src/components/Common/Chain/index.js.map +1 -0
  40. package/build/src/components/Common/Chain/styles.js +94 -0
  41. package/build/src/components/Common/Chain/styles.js.map +1 -0
  42. package/build/src/components/Common/ChainSelectList/index.js +107 -0
  43. package/build/src/components/Common/ChainSelectList/index.js.map +1 -0
  44. package/build/src/components/Common/ChainSelectList/styles.js +228 -0
  45. package/build/src/components/Common/ChainSelectList/styles.js.map +1 -0
  46. package/build/src/components/Common/ConnectorList/index.js +70 -0
  47. package/build/src/components/Common/ConnectorList/index.js.map +1 -0
  48. package/build/src/components/Common/ConnectorList/styles.js +314 -0
  49. package/build/src/components/Common/ConnectorList/styles.js.map +1 -0
  50. package/build/src/components/Common/CopyToClipboard/CopyToClipboardIcon.js +71 -0
  51. package/build/src/components/Common/CopyToClipboard/CopyToClipboardIcon.js.map +1 -0
  52. package/build/src/components/Common/CopyToClipboard/index.js +51 -0
  53. package/build/src/components/Common/CopyToClipboard/index.js.map +1 -0
  54. package/build/src/components/Common/CustomQRCode/QRCode.js +69 -0
  55. package/build/src/components/Common/CustomQRCode/QRCode.js.map +1 -0
  56. package/build/src/components/Common/CustomQRCode/index.js +22 -0
  57. package/build/src/components/Common/CustomQRCode/index.js.map +1 -0
  58. package/build/src/components/Common/CustomQRCode/styles.js +155 -0
  59. package/build/src/components/Common/CustomQRCode/styles.js.map +1 -0
  60. package/build/src/components/Common/FitText/index.js +27 -0
  61. package/build/src/components/Common/FitText/index.js.map +1 -0
  62. package/build/src/components/Common/Modal/index.js +297 -0
  63. package/build/src/components/Common/Modal/index.js.map +1 -0
  64. package/build/src/components/Common/Modal/styles.js +660 -0
  65. package/build/src/components/Common/Modal/styles.js.map +1 -0
  66. package/build/src/components/Common/OptionsList/index.js +106 -0
  67. package/build/src/components/Common/OptionsList/index.js.map +1 -0
  68. package/build/src/components/Common/OptionsList/styles.js +165 -0
  69. package/build/src/components/Common/OptionsList/styles.js.map +1 -0
  70. package/build/src/components/Common/OrderHeader/index.js +215 -0
  71. package/build/src/components/Common/OrderHeader/index.js.map +1 -0
  72. package/build/src/components/Common/Portal/index.js +31 -0
  73. package/build/src/components/Common/Portal/index.js.map +1 -0
  74. package/build/src/components/Common/PoweredByFooter/index.js +44 -0
  75. package/build/src/components/Common/PoweredByFooter/index.js.map +1 -0
  76. package/build/src/components/Common/ScrollArea/index.js +62 -0
  77. package/build/src/components/Common/ScrollArea/index.js.map +1 -0
  78. package/build/src/components/Common/ScrollArea/styles.js +168 -0
  79. package/build/src/components/Common/ScrollArea/styles.js.map +1 -0
  80. package/build/src/components/Common/Spinner/index.js +24 -0
  81. package/build/src/components/Common/Spinner/index.js.map +1 -0
  82. package/build/src/components/Common/Spinner/styles.js +22 -0
  83. package/build/src/components/Common/Spinner/styles.js.map +1 -0
  84. package/build/src/components/Common/ThemedButton/index.js +25 -0
  85. package/build/src/components/Common/ThemedButton/index.js.map +1 -0
  86. package/build/src/components/Common/ThemedButton/styles.js +152 -0
  87. package/build/src/components/Common/ThemedButton/styles.js.map +1 -0
  88. package/build/src/components/Common/Tooltip/index.js +97 -0
  89. package/build/src/components/Common/Tooltip/index.js.map +1 -0
  90. package/build/src/components/Common/Tooltip/styles.js +81 -0
  91. package/build/src/components/Common/Tooltip/styles.js.map +1 -0
  92. package/build/src/components/DaimoPay.js +232 -0
  93. package/build/src/components/DaimoPay.js.map +1 -0
  94. package/build/src/components/DaimoPayButton/index.js +133 -0
  95. package/build/src/components/DaimoPayButton/index.js.map +1 -0
  96. package/build/src/components/DaimoPayButton/styles.js +50 -0
  97. package/build/src/components/DaimoPayButton/styles.js.map +1 -0
  98. package/build/src/components/DaimoPayModal/ConnectUsing.js +45 -0
  99. package/build/src/components/DaimoPayModal/ConnectUsing.js.map +1 -0
  100. package/build/src/components/DaimoPayModal/ConnectWithInjector/index.js +202 -0
  101. package/build/src/components/DaimoPayModal/ConnectWithInjector/index.js.map +1 -0
  102. package/build/src/components/DaimoPayModal/ConnectWithInjector/styles.js +133 -0
  103. package/build/src/components/DaimoPayModal/ConnectWithInjector/styles.js.map +1 -0
  104. package/build/src/components/DaimoPayModal/ConnectWithQRCode.js +75 -0
  105. package/build/src/components/DaimoPayModal/ConnectWithQRCode.js.map +1 -0
  106. package/build/src/components/DaimoPayModal/index.js +140 -0
  107. package/build/src/components/DaimoPayModal/index.js.map +1 -0
  108. package/build/src/components/DaimoPayThemeProvider/DaimoPayThemeProvider.js +21 -0
  109. package/build/src/components/DaimoPayThemeProvider/DaimoPayThemeProvider.js.map +1 -0
  110. package/build/src/components/Pages/About/graphics.js +187 -0
  111. package/build/src/components/Pages/About/graphics.js.map +1 -0
  112. package/build/src/components/Pages/About/index.js +131 -0
  113. package/build/src/components/Pages/About/index.js.map +1 -0
  114. package/build/src/components/Pages/About/styles.js +144 -0
  115. package/build/src/components/Pages/About/styles.js.map +1 -0
  116. package/build/src/components/Pages/Confirmation/index.js +105 -0
  117. package/build/src/components/Pages/Confirmation/index.js.map +1 -0
  118. package/build/src/components/Pages/Connectors/index.js +20 -0
  119. package/build/src/components/Pages/Connectors/index.js.map +1 -0
  120. package/build/src/components/Pages/Connectors/styles.js +267 -0
  121. package/build/src/components/Pages/Connectors/styles.js.map +1 -0
  122. package/build/src/components/Pages/DownloadApp/index.js +30 -0
  123. package/build/src/components/Pages/DownloadApp/index.js.map +1 -0
  124. package/build/src/components/Pages/MobileConnectors/index.js +73 -0
  125. package/build/src/components/Pages/MobileConnectors/index.js.map +1 -0
  126. package/build/src/components/Pages/MobileConnectors/styles.js +65 -0
  127. package/build/src/components/Pages/MobileConnectors/styles.js.map +1 -0
  128. package/build/src/components/Pages/Onboarding/index.js +18 -0
  129. package/build/src/components/Pages/Onboarding/index.js.map +1 -0
  130. package/build/src/components/Pages/Onboarding/styles.js +229 -0
  131. package/build/src/components/Pages/Onboarding/styles.js.map +1 -0
  132. package/build/src/components/Pages/PayWithToken/index.js +204 -0
  133. package/build/src/components/Pages/PayWithToken/index.js.map +1 -0
  134. package/build/src/components/Pages/SelectDepositAddressChain/index.js +32 -0
  135. package/build/src/components/Pages/SelectDepositAddressChain/index.js.map +1 -0
  136. package/build/src/components/Pages/SelectMethod/index.js +113 -0
  137. package/build/src/components/Pages/SelectMethod/index.js.map +1 -0
  138. package/build/src/components/Pages/SelectToken/index.js +62 -0
  139. package/build/src/components/Pages/SelectToken/index.js.map +1 -0
  140. package/build/src/components/Pages/Solana/ConnectSolana/index.js +37 -0
  141. package/build/src/components/Pages/Solana/ConnectSolana/index.js.map +1 -0
  142. package/build/src/components/Pages/Solana/ConnectorSolana/index.js +45 -0
  143. package/build/src/components/Pages/Solana/ConnectorSolana/index.js.map +1 -0
  144. package/build/src/components/Pages/Solana/PayWithSolanaToken/index.js +85 -0
  145. package/build/src/components/Pages/Solana/PayWithSolanaToken/index.js.map +1 -0
  146. package/build/src/components/Pages/Solana/SelectSolanaToken/index.js +38 -0
  147. package/build/src/components/Pages/Solana/SelectSolanaToken/index.js.map +1 -0
  148. package/build/src/components/Pages/SwitchNetworks/index.js +26 -0
  149. package/build/src/components/Pages/SwitchNetworks/index.js.map +1 -0
  150. package/build/src/components/Pages/WaitingDepositAddress/index.js +51 -0
  151. package/build/src/components/Pages/WaitingDepositAddress/index.js.map +1 -0
  152. package/build/src/components/Pages/WaitingOther/index.js +91 -0
  153. package/build/src/components/Pages/WaitingOther/index.js.map +1 -0
  154. package/build/src/components/Spinners/CircleSpinner/index.js +15 -0
  155. package/build/src/components/Spinners/CircleSpinner/index.js.map +1 -0
  156. package/build/src/components/Spinners/CircleSpinner/styles.js +118 -0
  157. package/build/src/components/Spinners/CircleSpinner/styles.js.map +1 -0
  158. package/build/src/components/Spinners/SquircleSpinner/index.js +15 -0
  159. package/build/src/components/Spinners/SquircleSpinner/index.js.map +1 -0
  160. package/build/src/components/Spinners/SquircleSpinner/styles.js +66 -0
  161. package/build/src/components/Spinners/SquircleSpinner/styles.js.map +1 -0
  162. package/build/src/components/contexts/solana/index.js +11 -0
  163. package/build/src/components/contexts/solana/index.js.map +1 -0
  164. package/build/src/components/contexts/web3/index.js +46 -0
  165. package/build/src/components/contexts/web3/index.js.map +1 -0
  166. package/build/src/constants/chainConfigs.js +306 -0
  167. package/build/src/constants/chainConfigs.js.map +1 -0
  168. package/build/src/constants/defaultTheme.js +6 -0
  169. package/build/src/constants/defaultTheme.js.map +1 -0
  170. package/build/src/defaultConfig.js +59 -0
  171. package/build/src/defaultConfig.js.map +1 -0
  172. package/build/src/defaultConnectors.js +43 -0
  173. package/build/src/defaultConnectors.js.map +1 -0
  174. package/build/src/hooks/connectors/useWalletConnectUri.js +93 -0
  175. package/build/src/hooks/connectors/useWalletConnectUri.js.map +1 -0
  176. package/build/src/hooks/useChainIsSupported.js +12 -0
  177. package/build/src/hooks/useChainIsSupported.js.map +1 -0
  178. package/build/src/hooks/useChains.js +11 -0
  179. package/build/src/hooks/useChains.js.map +1 -0
  180. package/build/src/hooks/useConnect.js +45 -0
  181. package/build/src/hooks/useConnect.js.map +1 -0
  182. package/build/src/hooks/useConnectCallback.js +18 -0
  183. package/build/src/hooks/useConnectCallback.js.map +1 -0
  184. package/build/src/hooks/useConnectors.js +29 -0
  185. package/build/src/hooks/useConnectors.js.map +1 -0
  186. package/build/src/hooks/useDaimoPayStatus.js +37 -0
  187. package/build/src/hooks/useDaimoPayStatus.js.map +1 -0
  188. package/build/src/hooks/useDepositAddressOptions.js +28 -0
  189. package/build/src/hooks/useDepositAddressOptions.js.map +1 -0
  190. package/build/src/hooks/useEnsFallbackConfig.js +16 -0
  191. package/build/src/hooks/useEnsFallbackConfig.js.map +1 -0
  192. package/build/src/hooks/useExternalPaymentOptions.js +46 -0
  193. package/build/src/hooks/useExternalPaymentOptions.js.map +1 -0
  194. package/build/src/hooks/useFitText.js +148 -0
  195. package/build/src/hooks/useFitText.js.map +1 -0
  196. package/build/src/hooks/useFocusTrap.js +60 -0
  197. package/build/src/hooks/useFocusTrap.js.map +1 -0
  198. package/build/src/hooks/useGoogleFont.js +45 -0
  199. package/build/src/hooks/useGoogleFont.js.map +1 -0
  200. package/build/src/hooks/useIsMobile.js +17 -0
  201. package/build/src/hooks/useIsMobile.js.map +1 -0
  202. package/build/src/hooks/useIsMounted.js +12 -0
  203. package/build/src/hooks/useIsMounted.js.map +1 -0
  204. package/build/src/hooks/useLastConnector.js +24 -0
  205. package/build/src/hooks/useLastConnector.js.map +1 -0
  206. package/build/src/hooks/useLocales.js +67 -0
  207. package/build/src/hooks/useLocales.js.map +1 -0
  208. package/build/src/hooks/useLockBodyScroll.js +53 -0
  209. package/build/src/hooks/useLockBodyScroll.js.map +1 -0
  210. package/build/src/hooks/useModal.js +35 -0
  211. package/build/src/hooks/useModal.js.map +1 -0
  212. package/build/src/hooks/usePayWithSolanaToken.js +50 -0
  213. package/build/src/hooks/usePayWithSolanaToken.js.map +1 -0
  214. package/build/src/hooks/usePayWithToken.js +57 -0
  215. package/build/src/hooks/usePayWithToken.js.map +1 -0
  216. package/build/src/hooks/usePaymentState.js +243 -0
  217. package/build/src/hooks/usePaymentState.js.map +1 -0
  218. package/build/src/hooks/usePrevious.js +14 -0
  219. package/build/src/hooks/usePrevious.js.map +1 -0
  220. package/build/src/hooks/useSolanaPaymentOptions.js +37 -0
  221. package/build/src/hooks/useSolanaPaymentOptions.js.map +1 -0
  222. package/build/src/hooks/useWalletConnectModal.js +52 -0
  223. package/build/src/hooks/useWalletConnectModal.js.map +1 -0
  224. package/build/src/hooks/useWalletPaymentOptions.js +40 -0
  225. package/build/src/hooks/useWalletPaymentOptions.js.map +1 -0
  226. package/build/src/hooks/useWindowSize.js +23 -0
  227. package/build/src/hooks/useWindowSize.js.map +1 -0
  228. package/build/src/index.js +10 -0
  229. package/build/src/index.js.map +1 -0
  230. package/build/src/localizations/index.js +57 -0
  231. package/build/src/localizations/index.js.map +1 -0
  232. package/build/src/localizations/locales/ar-AE.js +97 -0
  233. package/build/src/localizations/locales/ar-AE.js.map +1 -0
  234. package/build/src/localizations/locales/ca-AD.js +95 -0
  235. package/build/src/localizations/locales/ca-AD.js.map +1 -0
  236. package/build/src/localizations/locales/ee-EE.js +95 -0
  237. package/build/src/localizations/locales/ee-EE.js.map +1 -0
  238. package/build/src/localizations/locales/en-US.js +95 -0
  239. package/build/src/localizations/locales/en-US.js.map +1 -0
  240. package/build/src/localizations/locales/es-ES.js +95 -0
  241. package/build/src/localizations/locales/es-ES.js.map +1 -0
  242. package/build/src/localizations/locales/fa-IR.js +95 -0
  243. package/build/src/localizations/locales/fa-IR.js.map +1 -0
  244. package/build/src/localizations/locales/fr-FR.js +95 -0
  245. package/build/src/localizations/locales/fr-FR.js.map +1 -0
  246. package/build/src/localizations/locales/ja-JP.js +95 -0
  247. package/build/src/localizations/locales/ja-JP.js.map +1 -0
  248. package/build/src/localizations/locales/pt-BR.js +95 -0
  249. package/build/src/localizations/locales/pt-BR.js.map +1 -0
  250. package/build/src/localizations/locales/ru-RU.js +95 -0
  251. package/build/src/localizations/locales/ru-RU.js.map +1 -0
  252. package/build/src/localizations/locales/tr-TR.js +95 -0
  253. package/build/src/localizations/locales/tr-TR.js.map +1 -0
  254. package/build/src/localizations/locales/vi-VN.js +95 -0
  255. package/build/src/localizations/locales/vi-VN.js.map +1 -0
  256. package/build/src/localizations/locales/zh-CN.js +95 -0
  257. package/build/src/localizations/locales/zh-CN.js.map +1 -0
  258. package/build/src/styles/defaultTheme.js +89 -0
  259. package/build/src/styles/defaultTheme.js.map +1 -0
  260. package/build/src/styles/index.js +329 -0
  261. package/build/src/styles/index.js.map +1 -0
  262. package/build/src/styles/styled/index.js +16 -0
  263. package/build/src/styles/styled/index.js.map +1 -0
  264. package/build/src/styles/themes/base.js +141 -0
  265. package/build/src/styles/themes/base.js.map +1 -0
  266. package/build/src/styles/themes/index.js +13 -0
  267. package/build/src/styles/themes/index.js.map +1 -0
  268. package/build/src/styles/themes/midnight.js +76 -0
  269. package/build/src/styles/themes/midnight.js.map +1 -0
  270. package/build/src/styles/themes/minimal.js +96 -0
  271. package/build/src/styles/themes/minimal.js.map +1 -0
  272. package/build/src/styles/themes/nouns.js +81 -0
  273. package/build/src/styles/themes/nouns.js.map +1 -0
  274. package/build/src/styles/themes/retro.js +106 -0
  275. package/build/src/styles/themes/retro.js.map +1 -0
  276. package/build/src/styles/themes/rounded.js +106 -0
  277. package/build/src/styles/themes/rounded.js.map +1 -0
  278. package/build/src/styles/themes/soft.js +71 -0
  279. package/build/src/styles/themes/soft.js.map +1 -0
  280. package/build/src/styles/themes/web95.js +132 -0
  281. package/build/src/styles/themes/web95.js.map +1 -0
  282. package/build/src/utils/exports.js +12 -0
  283. package/build/src/utils/exports.js.map +1 -0
  284. package/build/src/utils/index.js +39 -0
  285. package/build/src/utils/index.js.map +1 -0
  286. package/build/src/utils/p3.js +16 -0
  287. package/build/src/utils/p3.js.map +1 -0
  288. package/build/src/utils/platform.js +13 -0
  289. package/build/src/utils/platform.js.map +1 -0
  290. package/build/src/utils/trpc.js +14 -0
  291. package/build/src/utils/trpc.js.map +1 -0
  292. package/build/src/utils/wallets.js +14 -0
  293. package/build/src/utils/wallets.js.map +1 -0
  294. package/build/src/wallets/index.js +32 -0
  295. package/build/src/wallets/index.js.map +1 -0
  296. package/build/src/wallets/useWallets.js +86 -0
  297. package/build/src/wallets/useWallets.js.map +1 -0
  298. package/build/src/wallets/walletConfigs.js +362 -0
  299. package/build/src/wallets/walletConfigs.js.map +1 -0
  300. package/package.json +5 -5
  301. package/build/index.es.js +0 -11565
  302. package/build/index.es.js.map +0 -1
@@ -0,0 +1,306 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import Chains from '../assets/chains.js';
3
+
4
+ // Note: these rpcUrls are incomplete, and are subject to change from their respective providers
5
+ // More RPC URLs can be found: https://chainid.network/chains.json
6
+ const chainConfigs = [
7
+ {
8
+ id: 1,
9
+ name: "Ethereum",
10
+ logo: jsx(Chains.Ethereum, {}),
11
+ rpcUrls: {
12
+ alchemy: {
13
+ http: ["https://eth-mainnet.g.alchemy.com/v2"],
14
+ webSocket: ["wss://eth-mainnet.g.alchemy.com/v2"],
15
+ },
16
+ infura: {
17
+ http: ["https://mainnet.infura.io/v3"],
18
+ webSocket: ["wss://mainnet.infura.io/ws/v3"],
19
+ },
20
+ },
21
+ },
22
+ {
23
+ id: 3,
24
+ name: "Rinkeby",
25
+ logo: jsx(Chains.Ethereum, { testnet: true }),
26
+ rpcUrls: {},
27
+ },
28
+ {
29
+ id: 4,
30
+ name: "Ropsten",
31
+ logo: jsx(Chains.Ethereum, { testnet: true }),
32
+ },
33
+ {
34
+ id: 5,
35
+ name: "Görli",
36
+ logo: jsx(Chains.Ethereum, { testnet: true }),
37
+ },
38
+ {
39
+ id: 42,
40
+ name: "Kovan",
41
+ logo: jsx(Chains.Ethereum, { testnet: true }),
42
+ },
43
+ {
44
+ id: 10,
45
+ name: "Optimism",
46
+ logo: jsx(Chains.Optimism, {}),
47
+ },
48
+ {
49
+ id: 69, // nice
50
+ name: "Optimism Kovan",
51
+ logo: jsx(Chains.Optimism, { testnet: true }),
52
+ },
53
+ {
54
+ id: 420, // nice
55
+ name: "Optimism Goerli",
56
+ logo: jsx(Chains.Optimism, { testnet: true }),
57
+ },
58
+ {
59
+ id: 11155420,
60
+ name: "Optimism Sepolia",
61
+ logo: jsx(Chains.Optimism, { testnet: true }),
62
+ },
63
+ {
64
+ id: 137,
65
+ name: "Polygon",
66
+ logo: jsx(Chains.Polygon, {}),
67
+ },
68
+ {
69
+ id: 80001,
70
+ name: "Polygon Mumbai",
71
+ logo: jsx(Chains.Polygon, { testnet: true }),
72
+ },
73
+ {
74
+ id: 31337,
75
+ name: "Hardhat",
76
+ logo: jsx(Chains.Ethereum, { testnet: true }),
77
+ },
78
+ {
79
+ id: 1337,
80
+ name: "Localhost",
81
+ logo: jsx(Chains.Ethereum, { testnet: true }),
82
+ },
83
+ {
84
+ id: 42161,
85
+ name: "Arbitrum",
86
+ logo: jsx(Chains.Arbitrum, {}),
87
+ rpcUrls: {
88
+ alchemy: {
89
+ http: ["https://arb-mainnet.g.alchemy.com/v2"],
90
+ webSocket: ["wss://arb-mainnet.g.alchemy.com/v2"],
91
+ },
92
+ infura: {
93
+ http: ["https://arbitrum-mainnet.infura.io/v3"],
94
+ webSocket: ["wss://arbitrum-mainnet.infura.io/ws/v3"],
95
+ },
96
+ },
97
+ },
98
+ {
99
+ id: 421611,
100
+ name: "Arbitrum Rinkeby",
101
+ logo: jsx(Chains.Arbitrum, { testnet: true }),
102
+ },
103
+ {
104
+ id: 421613,
105
+ name: "Arbitrum Goerli",
106
+ logo: jsx(Chains.Arbitrum, { testnet: true }),
107
+ rpcUrls: {
108
+ alchemy: {
109
+ http: ["https://arb-goerli.g.alchemy.com/v2"],
110
+ webSocket: ["wss://arb-goerli.g.alchemy.com/v2"],
111
+ },
112
+ infura: {
113
+ http: ["https://arbitrum-goerli.infura.io/v3"],
114
+ webSocket: ["wss://arbitrum-goerli.infura.io/ws/v3"],
115
+ },
116
+ },
117
+ },
118
+ {
119
+ id: 40,
120
+ name: "Telos",
121
+ logo: jsx(Chains.Telos, {}),
122
+ },
123
+ {
124
+ id: 41,
125
+ name: "Telos Testnet",
126
+ logo: jsx(Chains.Telos, { testnet: true }),
127
+ },
128
+ {
129
+ id: 1313161554,
130
+ name: "Aurora",
131
+ logo: jsx(Chains.Aurora, {}),
132
+ },
133
+ {
134
+ id: 1313161555,
135
+ name: "Aurora Testnet",
136
+ logo: jsx(Chains.Aurora, { testnet: true }),
137
+ },
138
+ {
139
+ id: 43_114,
140
+ name: "Avalanche",
141
+ logo: jsx(Chains.Avalanche, {}),
142
+ },
143
+ {
144
+ id: 43_113,
145
+ name: "Avalanche Fuji",
146
+ logo: jsx(Chains.Avalanche, { testnet: true }),
147
+ },
148
+ {
149
+ id: 31337,
150
+ name: "Foundry",
151
+ logo: jsx(Chains.Foundry, { testnet: true }),
152
+ },
153
+ {
154
+ id: 100,
155
+ name: "Gnosis",
156
+ logo: jsx(Chains.Gnosis, {}),
157
+ },
158
+ {
159
+ id: 9001,
160
+ name: "Evmos",
161
+ logo: jsx(Chains.Evmos, {}),
162
+ },
163
+ {
164
+ id: 9000,
165
+ name: "Evmos Testnet",
166
+ logo: jsx(Chains.Evmos, { testnet: true }),
167
+ },
168
+ {
169
+ id: 56,
170
+ name: "BNB Smart Chain",
171
+ logo: jsx(Chains.BinanceSmartChain, {}),
172
+ },
173
+ {
174
+ id: 97,
175
+ name: "Binance Smart Chain Testnet",
176
+ logo: jsx(Chains.BinanceSmartChain, { testnet: true }),
177
+ },
178
+ {
179
+ id: 11155111,
180
+ name: "Sepolia",
181
+ logo: jsx(Chains.Sepolia, {}),
182
+ },
183
+ {
184
+ id: 841,
185
+ name: "Taraxa",
186
+ logo: jsx(Chains.Taraxa, {}),
187
+ },
188
+ {
189
+ id: 842,
190
+ name: "Taraxa Testnet",
191
+ logo: jsx(Chains.Taraxa, { testnet: true }),
192
+ },
193
+ {
194
+ id: 324,
195
+ name: "zkSync",
196
+ logo: jsx(Chains.zkSync, {}),
197
+ },
198
+ {
199
+ id: 280,
200
+ name: "zkSync Testnet",
201
+ logo: jsx(Chains.zkSync, { testnet: true }),
202
+ },
203
+ {
204
+ id: 42_220,
205
+ name: "Celo",
206
+ logo: jsx(Chains.Celo, {}),
207
+ },
208
+ {
209
+ id: 44_787,
210
+ name: "Celo Alfajores",
211
+ logo: jsx(Chains.Celo, { testnet: true }),
212
+ },
213
+ {
214
+ id: 7_700,
215
+ name: "Canto",
216
+ logo: jsx(Chains.Canto, {}),
217
+ },
218
+ {
219
+ id: 250,
220
+ name: "Fantom",
221
+ logo: jsx(Chains.Fantom, {}),
222
+ },
223
+ {
224
+ id: 4_002,
225
+ name: "Fantom Testnet",
226
+ logo: jsx(Chains.Fantom, { testnet: true }),
227
+ },
228
+ {
229
+ id: 14,
230
+ name: "Flare",
231
+ logo: jsx(Chains.Flare, {}),
232
+ },
233
+ {
234
+ id: 114,
235
+ name: "Coston2",
236
+ logo: jsx(Chains.Flare, {}),
237
+ },
238
+ {
239
+ id: 314,
240
+ name: "Filecoin",
241
+ logo: jsx(Chains.Filecoin, {}),
242
+ },
243
+ {
244
+ id: 314_1,
245
+ name: "Filecoin Hyperspace",
246
+ logo: jsx(Chains.Filecoin, { testnet: true }),
247
+ },
248
+ {
249
+ id: 314_159,
250
+ name: "Filecoin Calibration",
251
+ logo: jsx(Chains.Filecoin, { testnet: true }),
252
+ },
253
+ {
254
+ id: 1_088,
255
+ name: "Metis",
256
+ logo: jsx(Chains.Metis, {}),
257
+ },
258
+ {
259
+ id: 599,
260
+ name: "Metis Goerli",
261
+ logo: jsx(Chains.Metis, { testnet: true }),
262
+ },
263
+ {
264
+ id: 4_689,
265
+ name: "IoTeX",
266
+ logo: jsx(Chains.IoTeX, {}),
267
+ },
268
+ {
269
+ id: 4_690,
270
+ name: "IoTeX Testnet",
271
+ logo: jsx(Chains.IoTeX, { testnet: true }),
272
+ },
273
+ {
274
+ id: 8_453,
275
+ name: "Base",
276
+ logo: jsx(Chains.Base, {}),
277
+ },
278
+ {
279
+ id: 84_531,
280
+ name: "Base Goerli",
281
+ logo: jsx(Chains.Base, { testnet: true }),
282
+ },
283
+ {
284
+ id: 84_532,
285
+ name: "Base Sepolia",
286
+ logo: jsx(Chains.Base, { testnet: true }),
287
+ },
288
+ {
289
+ id: 7777777,
290
+ name: "Zora",
291
+ logo: jsx(Chains.Zora, {}),
292
+ },
293
+ {
294
+ id: 999999999,
295
+ name: "Zora Sepolia",
296
+ logo: jsx(Chains.Zora, { testnet: true }),
297
+ },
298
+ {
299
+ id: 999,
300
+ name: "Zora Goerli Testnet",
301
+ logo: jsx(Chains.Zora, { testnet: true }),
302
+ },
303
+ ];
304
+
305
+ export { chainConfigs };
306
+ //# sourceMappingURL=chainConfigs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chainConfigs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,6 @@
1
+ var defaultTheme = {
2
+ mobileWidth: 560,
3
+ };
4
+
5
+ export { defaultTheme as default };
6
+ //# sourceMappingURL=defaultTheme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaultTheme.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -0,0 +1,59 @@
1
+ import { http } from 'wagmi';
2
+ import { mainnet, base, polygon, optimism, arbitrum, linea, bsc, sepolia, baseSepolia } from 'wagmi/chains';
3
+ import defaultConnectors from './defaultConnectors.js';
4
+
5
+ // TODO: Move these to a provider rather than global variable
6
+ let globalAppName;
7
+ const getAppName = () => globalAppName;
8
+ const REQUIRED_CHAINS = [
9
+ mainnet,
10
+ base,
11
+ polygon,
12
+ optimism,
13
+ arbitrum,
14
+ linea,
15
+ bsc,
16
+ sepolia,
17
+ baseSepolia,
18
+ ];
19
+ /** Daimo Pay recommended config, for use with wagmi's createConfig(). */
20
+ const defaultConfig = ({ appName = "Daimo Pay", appIcon, appDescription, appUrl, walletConnectProjectId, coinbaseWalletPreference, chains = REQUIRED_CHAINS, client, ...props }) => {
21
+ globalAppName = appName;
22
+ const paddedChains = [...chains];
23
+ for (const chain of REQUIRED_CHAINS) {
24
+ if (!paddedChains.includes(chain)) {
25
+ paddedChains.push(chain);
26
+ }
27
+ }
28
+ const paddedTransports = {};
29
+ for (const chain of paddedChains) {
30
+ if (!props?.transports?.[chain.id]) {
31
+ // Auto inject http transport if not provided for a chain
32
+ paddedTransports[chain.id] = http();
33
+ }
34
+ else {
35
+ paddedTransports[chain.id] = props.transports[chain.id];
36
+ }
37
+ }
38
+ const connectors = props?.connectors ??
39
+ defaultConnectors({
40
+ app: {
41
+ name: appName,
42
+ icon: appIcon,
43
+ description: appDescription,
44
+ url: appUrl,
45
+ },
46
+ walletConnectProjectId: walletConnectProjectId ?? "ea6c5b36001c18b96e06128f14c06f40",
47
+ coinbaseWalletPreference,
48
+ });
49
+ const config = {
50
+ ...props,
51
+ chains: paddedChains,
52
+ transports: paddedTransports,
53
+ connectors,
54
+ };
55
+ return config;
56
+ };
57
+
58
+ export { REQUIRED_CHAINS, defaultConfig as default, getAppName };
59
+ //# sourceMappingURL=defaultConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaultConfig.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,43 @@
1
+ import { safe, injected, coinbaseWallet, walletConnect } from '@wagmi/connectors';
2
+
3
+ const defaultConnectors = ({ app, walletConnectProjectId, coinbaseWalletPreference, }) => {
4
+ const hasAllAppData = app.name && app.icon && app.description && app.url;
5
+ const shouldUseSafeConnector = !(typeof window === "undefined") && window?.parent !== window;
6
+ const connectors = [];
7
+ // If we're in an iframe, include the SafeConnector
8
+ if (shouldUseSafeConnector) {
9
+ connectors.push(safe({
10
+ allowedDomains: [/gnosis-safe.io$/, /app.safe.global$/],
11
+ }));
12
+ }
13
+ // Add the rest of the connectors
14
+ connectors.push(injected({ target: "metaMask" }), coinbaseWallet({
15
+ appName: app.name,
16
+ appLogoUrl: app.icon,
17
+ overrideIsMetaMask: false,
18
+ preference: coinbaseWalletPreference,
19
+ }));
20
+ connectors.push(walletConnect({
21
+ showQrModal: false,
22
+ projectId: walletConnectProjectId,
23
+ metadata: hasAllAppData
24
+ ? {
25
+ name: app.name,
26
+ description: app.description,
27
+ url: app.url,
28
+ icons: [app.icon],
29
+ }
30
+ : undefined,
31
+ }));
32
+ /*
33
+ connectors.push(
34
+ injected({
35
+ shimDisconnect: true,
36
+ })
37
+ );
38
+ */
39
+ return connectors;
40
+ };
41
+
42
+ export { defaultConnectors as default };
43
+ //# sourceMappingURL=defaultConnectors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaultConnectors.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,93 @@
1
+ import { useState, useEffect } from 'react';
2
+ import { useAccount } from 'wagmi';
3
+ import { usePayContext } from '../../components/DaimoPay.js';
4
+ import { useConnect } from '../useConnect.js';
5
+ import { useWalletConnectConnector } from '../useConnectors.js';
6
+
7
+ function useWalletConnectUri({ enabled } = {
8
+ enabled: true,
9
+ }) {
10
+ const { log } = usePayContext();
11
+ const [uri, setUri] = useState(undefined);
12
+ const connector = useWalletConnectConnector();
13
+ const { isConnected } = useAccount();
14
+ const { connectAsync } = useConnect();
15
+ useEffect(() => {
16
+ if (!enabled)
17
+ return;
18
+ async function handleMessage(message) {
19
+ const { type, data } = message;
20
+ log("WC Message", type, data);
21
+ if (type === "display_uri") {
22
+ setUri(data);
23
+ }
24
+ /*
25
+ // This has the URI as well, but we're probably better off using the one in the display_uri event
26
+ if (type === 'connecting') {
27
+ const p = await connector.getProvider();
28
+ const uri = p.signer.uri;
29
+ setConnectorUri(uri);
30
+ }
31
+ */
32
+ }
33
+ async function handleDisconnect() {
34
+ log("WC Disconnect");
35
+ if (connector)
36
+ connectWallet(connector);
37
+ }
38
+ async function connectWallet(connector) {
39
+ const result = await connectAsync({ connector });
40
+ if (result)
41
+ return result;
42
+ return false;
43
+ }
44
+ async function connectWalletConnect(connector) {
45
+ try {
46
+ await connectWallet(connector);
47
+ }
48
+ catch (error) {
49
+ log("catch error");
50
+ log(error);
51
+ if (error.code) {
52
+ switch (error.code) {
53
+ case 4001:
54
+ log("error.code - User rejected");
55
+ connectWalletConnect(connector); // Regenerate QR code
56
+ break;
57
+ default:
58
+ log("error.code - Unknown Error");
59
+ break;
60
+ }
61
+ }
62
+ else {
63
+ // Sometimes the error doesn't respond with a code
64
+ log("WalletConnect cannot connect.", error);
65
+ }
66
+ }
67
+ }
68
+ if (isConnected) {
69
+ setUri(undefined);
70
+ }
71
+ else {
72
+ if (!connector || uri)
73
+ return;
74
+ if (connector && !isConnected) {
75
+ connectWalletConnect(connector);
76
+ log("add wc listeners");
77
+ connector.emitter.on("message", handleMessage);
78
+ connector.emitter.on("disconnect", handleDisconnect);
79
+ return () => {
80
+ log("remove wc listeners");
81
+ connector.emitter.off("message", handleMessage);
82
+ connector.emitter.off("disconnect", handleDisconnect);
83
+ };
84
+ }
85
+ }
86
+ }, [enabled, connector, isConnected]);
87
+ return {
88
+ uri,
89
+ };
90
+ }
91
+
92
+ export { useWalletConnectUri };
93
+ //# sourceMappingURL=useWalletConnectUri.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useWalletConnectUri.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,12 @@
1
+ import { useConfig } from 'wagmi';
2
+
3
+ /** Determines whether the current wagmi configuration supports a given chain. */
4
+ function useChainIsSupported(chainId) {
5
+ const { chains } = useConfig();
6
+ if (!chainId)
7
+ return false;
8
+ return chains.some((x) => x.id === chainId);
9
+ }
10
+
11
+ export { useChainIsSupported };
12
+ //# sourceMappingURL=useChainIsSupported.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useChainIsSupported.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
@@ -0,0 +1,11 @@
1
+ import { useConfig } from 'wagmi';
2
+
3
+ /** Returns currently configured wagmi chains. */
4
+ function useChains() {
5
+ const wagmi = useConfig();
6
+ const chains = wagmi?.chains ?? [];
7
+ return chains.map((c) => c);
8
+ }
9
+
10
+ export { useChains };
11
+ //# sourceMappingURL=useChains.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useChains.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
@@ -0,0 +1,45 @@
1
+ import { useConnect as useConnect$1 } from 'wagmi';
2
+ import { usePayContext } from '../components/DaimoPay.js';
3
+
4
+ /**
5
+ * This is a wrapper around wagmi's useConnect hook that adds some
6
+ * additional functionality.
7
+ */
8
+ function useConnect({ ...props } = {}) {
9
+ const context = usePayContext();
10
+ const { connect, connectAsync, connectors, ...rest } = useConnect$1({
11
+ ...props,
12
+ mutation: {
13
+ ...props.mutation,
14
+ onError(err) {
15
+ if (err.message) {
16
+ if (err.message !== "User rejected request") {
17
+ context.log(err.message, err);
18
+ }
19
+ }
20
+ else {
21
+ context.log(`Could not connect.`, err);
22
+ }
23
+ },
24
+ },
25
+ });
26
+ return {
27
+ connect: ({ connector, chainId, mutation, }) => {
28
+ return connect({
29
+ connector,
30
+ chainId: chainId ?? context.options?.initialChainId,
31
+ }, mutation);
32
+ },
33
+ connectAsync: async ({ connector, chainId, mutation, }) => {
34
+ return connectAsync({
35
+ connector,
36
+ chainId: chainId ?? context.options?.initialChainId,
37
+ }, mutation);
38
+ },
39
+ connectors,
40
+ ...rest,
41
+ };
42
+ }
43
+
44
+ export { useConnect };
45
+ //# sourceMappingURL=useConnect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useConnect.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,18 @@
1
+ import { useAccountEffect } from 'wagmi';
2
+
3
+ const useConnectCallback = ({ onConnect, onDisconnect, }) => {
4
+ useAccountEffect({
5
+ onConnect: ({ address, connector, isReconnected }) => {
6
+ if (!isReconnected) {
7
+ onConnect?.({
8
+ address: address,
9
+ connectorId: connector?.id,
10
+ });
11
+ }
12
+ },
13
+ onDisconnect: () => onDisconnect?.(),
14
+ });
15
+ };
16
+
17
+ export { useConnectCallback };
18
+ //# sourceMappingURL=useConnectCallback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useConnectCallback.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,29 @@
1
+ import { useConnectors as useConnectors$1 } from 'wagmi';
2
+
3
+ function useConnectors() {
4
+ const connectors = useConnectors$1();
5
+ return connectors ?? [];
6
+ }
7
+ function useConnector(id, uuid) {
8
+ const connectors = useConnectors();
9
+ if (id === "injected" && uuid) {
10
+ return connectors.find((c) => c.id === id && c.name === uuid);
11
+ }
12
+ else if (id === "injected") {
13
+ return connectors.find((c) => c.id === id && c.name.includes("Injected"));
14
+ }
15
+ return connectors.find((c) => c.id === id);
16
+ }
17
+ function useWalletConnectConnector() {
18
+ /*
19
+ options: {
20
+ qrcode: false,
21
+ // or
22
+ showQrModal: false,
23
+ }
24
+ */
25
+ return useConnector("walletConnect");
26
+ }
27
+
28
+ export { useConnector, useConnectors, useWalletConnectConnector };
29
+ //# sourceMappingURL=useConnectors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useConnectors.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}