@daimo/pay 1.19.5 → 1.19.7

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 (442) hide show
  1. package/build/_virtual/common.js +4 -0
  2. package/build/_virtual/common.js.map +1 -0
  3. package/build/_virtual/common2.js +4 -0
  4. package/build/_virtual/common2.js.map +1 -0
  5. package/build/_virtual/hash.js +4 -0
  6. package/build/_virtual/hash.js.map +1 -0
  7. package/build/_virtual/hash2.js +4 -0
  8. package/build/_virtual/hash2.js.map +1 -0
  9. package/build/_virtual/index.js +4 -0
  10. package/build/_virtual/index.js.map +1 -0
  11. package/build/_virtual/index2.js +4 -0
  12. package/build/_virtual/index2.js.map +1 -0
  13. package/build/_virtual/inherits_browser.js +4 -0
  14. package/build/_virtual/inherits_browser.js.map +1 -0
  15. package/build/_virtual/ripemd.js +4 -0
  16. package/build/_virtual/ripemd.js.map +1 -0
  17. package/build/_virtual/sha.js +4 -0
  18. package/build/_virtual/sha.js.map +1 -0
  19. package/build/_virtual/utils.js +4 -0
  20. package/build/_virtual/utils.js.map +1 -0
  21. package/build/node_modules/@binance/w3w-utils/dist/index.js +7 -0
  22. package/build/node_modules/@binance/w3w-utils/dist/index.js.map +1 -0
  23. package/build/node_modules/@binance/w3w-utils/node_modules/eventemitter3/index.js +349 -0
  24. package/build/node_modules/@binance/w3w-utils/node_modules/eventemitter3/index.js.map +1 -0
  25. package/build/node_modules/hash.js/lib/hash/common.js +105 -0
  26. package/build/node_modules/hash.js/lib/hash/common.js.map +1 -0
  27. package/build/node_modules/hash.js/lib/hash/hmac.js +60 -0
  28. package/build/node_modules/hash.js/lib/hash/hmac.js.map +1 -0
  29. package/build/node_modules/hash.js/lib/hash/ripemd.js +159 -0
  30. package/build/node_modules/hash.js/lib/hash/ripemd.js.map +1 -0
  31. package/build/node_modules/hash.js/lib/hash/sha/1.js +88 -0
  32. package/build/node_modules/hash.js/lib/hash/sha/1.js.map +1 -0
  33. package/build/node_modules/hash.js/lib/hash/sha/224.js +42 -0
  34. package/build/node_modules/hash.js/lib/hash/sha/224.js.map +1 -0
  35. package/build/node_modules/hash.js/lib/hash/sha/256.js +120 -0
  36. package/build/node_modules/hash.js/lib/hash/sha/256.js.map +1 -0
  37. package/build/node_modules/hash.js/lib/hash/sha/384.js +48 -0
  38. package/build/node_modules/hash.js/lib/hash/sha/384.js.map +1 -0
  39. package/build/node_modules/hash.js/lib/hash/sha/512.js +344 -0
  40. package/build/node_modules/hash.js/lib/hash/sha/512.js.map +1 -0
  41. package/build/node_modules/hash.js/lib/hash/sha/common.js +61 -0
  42. package/build/node_modules/hash.js/lib/hash/sha/common.js.map +1 -0
  43. package/build/node_modules/hash.js/lib/hash/sha.js +23 -0
  44. package/build/node_modules/hash.js/lib/hash/sha.js.map +1 -0
  45. package/build/node_modules/hash.js/lib/hash/utils.js +291 -0
  46. package/build/node_modules/hash.js/lib/hash/utils.js.map +1 -0
  47. package/build/node_modules/hash.js/lib/hash.js +34 -0
  48. package/build/node_modules/hash.js/lib/hash.js.map +1 -0
  49. package/build/node_modules/inherits/inherits_browser.js +39 -0
  50. package/build/node_modules/inherits/inherits_browser.js.map +1 -0
  51. package/build/node_modules/minimalistic-assert/index.js +22 -0
  52. package/build/node_modules/minimalistic-assert/index.js.map +1 -0
  53. package/build/package.json.js +2 -2
  54. package/build/pay/packages/connectkit/package.json.js +123 -0
  55. package/build/pay/packages/connectkit/package.json.js.map +1 -0
  56. package/build/pay/packages/connectkit/src/assets/MobileWithLogos.js +329 -0
  57. package/build/pay/packages/connectkit/src/assets/MobileWithLogos.js.map +1 -0
  58. package/build/pay/packages/connectkit/src/assets/ScanIconWithLogos.js +243 -0
  59. package/build/pay/packages/connectkit/src/assets/ScanIconWithLogos.js.map +1 -0
  60. package/build/pay/packages/connectkit/src/assets/browsers.js +969 -0
  61. package/build/pay/packages/connectkit/src/assets/browsers.js.map +1 -0
  62. package/build/pay/packages/connectkit/src/assets/chains.js +639 -0
  63. package/build/pay/packages/connectkit/src/assets/chains.js.map +1 -0
  64. package/build/pay/packages/connectkit/src/assets/icons.js +273 -0
  65. package/build/pay/packages/connectkit/src/assets/icons.js.map +1 -0
  66. package/build/pay/packages/connectkit/src/assets/logos.js +1722 -0
  67. package/build/pay/packages/connectkit/src/assets/logos.js.map +1 -0
  68. package/build/pay/packages/connectkit/src/assets/wave.js +46 -0
  69. package/build/pay/packages/connectkit/src/assets/wave.js.map +1 -0
  70. package/build/pay/packages/connectkit/src/components/Common/Alert/index.js +13 -0
  71. package/build/pay/packages/connectkit/src/components/Common/Alert/index.js.map +1 -0
  72. package/build/pay/packages/connectkit/src/components/Common/Alert/styles.js +55 -0
  73. package/build/pay/packages/connectkit/src/components/Common/Alert/styles.js.map +1 -0
  74. package/build/pay/packages/connectkit/src/components/Common/AmountInput/AmountInputField.js +71 -0
  75. package/build/pay/packages/connectkit/src/components/Common/AmountInput/AmountInputField.js.map +1 -0
  76. package/build/pay/packages/connectkit/src/components/Common/AmountInput/index.js +159 -0
  77. package/build/pay/packages/connectkit/src/components/Common/AmountInput/index.js.map +1 -0
  78. package/build/pay/packages/connectkit/src/components/Common/Avatar/index.js +78 -0
  79. package/build/pay/packages/connectkit/src/components/Common/Avatar/index.js.map +1 -0
  80. package/build/pay/packages/connectkit/src/components/Common/Avatar/styles.js +54 -0
  81. package/build/pay/packages/connectkit/src/components/Common/Avatar/styles.js.map +1 -0
  82. package/build/pay/packages/connectkit/src/components/Common/BrowserIcon/index.js +29 -0
  83. package/build/pay/packages/connectkit/src/components/Common/BrowserIcon/index.js.map +1 -0
  84. package/build/pay/packages/connectkit/src/components/Common/BrowserIcon/styles.js +20 -0
  85. package/build/pay/packages/connectkit/src/components/Common/BrowserIcon/styles.js.map +1 -0
  86. package/build/pay/packages/connectkit/src/components/Common/Button/index.js +144 -0
  87. package/build/pay/packages/connectkit/src/components/Common/Button/index.js.map +1 -0
  88. package/build/pay/packages/connectkit/src/components/Common/Button/styles.js +287 -0
  89. package/build/pay/packages/connectkit/src/components/Common/Button/styles.js.map +1 -0
  90. package/build/pay/packages/connectkit/src/components/Common/Chain/index.js +141 -0
  91. package/build/pay/packages/connectkit/src/components/Common/Chain/index.js.map +1 -0
  92. package/build/pay/packages/connectkit/src/components/Common/Chain/styles.js +90 -0
  93. package/build/pay/packages/connectkit/src/components/Common/Chain/styles.js.map +1 -0
  94. package/build/pay/packages/connectkit/src/components/Common/ChainSelectList/index.js +250 -0
  95. package/build/pay/packages/connectkit/src/components/Common/ChainSelectList/index.js.map +1 -0
  96. package/build/pay/packages/connectkit/src/components/Common/ChainSelectList/styles.js +226 -0
  97. package/build/pay/packages/connectkit/src/components/Common/ChainSelectList/styles.js.map +1 -0
  98. package/build/pay/packages/connectkit/src/components/Common/CircleTimer.js +92 -0
  99. package/build/pay/packages/connectkit/src/components/Common/CircleTimer.js.map +1 -0
  100. package/build/pay/packages/connectkit/src/components/Common/ConnectorList/index.js +121 -0
  101. package/build/pay/packages/connectkit/src/components/Common/ConnectorList/index.js.map +1 -0
  102. package/build/pay/packages/connectkit/src/components/Common/ConnectorList/styles.js +344 -0
  103. package/build/pay/packages/connectkit/src/components/Common/ConnectorList/styles.js.map +1 -0
  104. package/build/pay/packages/connectkit/src/components/Common/CopyToClipboard/CopyToClipboardIcon.js +78 -0
  105. package/build/pay/packages/connectkit/src/components/Common/CopyToClipboard/CopyToClipboardIcon.js.map +1 -0
  106. package/build/pay/packages/connectkit/src/components/Common/CustomQRCode/QRCode.js +132 -0
  107. package/build/pay/packages/connectkit/src/components/Common/CustomQRCode/QRCode.js.map +1 -0
  108. package/build/pay/packages/connectkit/src/components/Common/CustomQRCode/index.js +89 -0
  109. package/build/pay/packages/connectkit/src/components/Common/CustomQRCode/index.js.map +1 -0
  110. package/build/pay/packages/connectkit/src/components/Common/CustomQRCode/styles.js +142 -0
  111. package/build/pay/packages/connectkit/src/components/Common/CustomQRCode/styles.js.map +1 -0
  112. package/build/pay/packages/connectkit/src/components/Common/FitText/index.js +34 -0
  113. package/build/pay/packages/connectkit/src/components/Common/FitText/index.js.map +1 -0
  114. package/build/pay/packages/connectkit/src/components/Common/Modal/index.js +547 -0
  115. package/build/pay/packages/connectkit/src/components/Common/Modal/index.js.map +1 -0
  116. package/build/pay/packages/connectkit/src/components/Common/Modal/styles.js +665 -0
  117. package/build/pay/packages/connectkit/src/components/Common/Modal/styles.js.map +1 -0
  118. package/build/pay/packages/connectkit/src/components/Common/OptionsList/index.js +145 -0
  119. package/build/pay/packages/connectkit/src/components/Common/OptionsList/index.js.map +1 -0
  120. package/build/pay/packages/connectkit/src/components/Common/OptionsList/styles.js +138 -0
  121. package/build/pay/packages/connectkit/src/components/Common/OptionsList/styles.js.map +1 -0
  122. package/build/pay/packages/connectkit/src/components/Common/OrderHeader/index.js +148 -0
  123. package/build/pay/packages/connectkit/src/components/Common/OrderHeader/index.js.map +1 -0
  124. package/build/pay/packages/connectkit/src/components/Common/PaymentBreakdown/index.js +70 -0
  125. package/build/pay/packages/connectkit/src/components/Common/PaymentBreakdown/index.js.map +1 -0
  126. package/build/pay/packages/connectkit/src/components/Common/Portal/index.js +30 -0
  127. package/build/pay/packages/connectkit/src/components/Common/Portal/index.js.map +1 -0
  128. package/build/pay/packages/connectkit/src/components/Common/PoweredByFooter/index.js +39 -0
  129. package/build/pay/packages/connectkit/src/components/Common/PoweredByFooter/index.js.map +1 -0
  130. package/build/pay/packages/connectkit/src/components/Common/ScrollArea/index.js +120 -0
  131. package/build/pay/packages/connectkit/src/components/Common/ScrollArea/index.js.map +1 -0
  132. package/build/pay/packages/connectkit/src/components/Common/ScrollArea/styles.js +169 -0
  133. package/build/pay/packages/connectkit/src/components/Common/ScrollArea/styles.js.map +1 -0
  134. package/build/pay/packages/connectkit/src/components/Common/SelectAnotherMethodButton/index.js +96 -0
  135. package/build/pay/packages/connectkit/src/components/Common/SelectAnotherMethodButton/index.js.map +1 -0
  136. package/build/pay/packages/connectkit/src/components/Common/Spinner/index.js +64 -0
  137. package/build/pay/packages/connectkit/src/components/Common/Spinner/index.js.map +1 -0
  138. package/build/pay/packages/connectkit/src/components/Common/Spinner/styles.js +22 -0
  139. package/build/pay/packages/connectkit/src/components/Common/Spinner/styles.js.map +1 -0
  140. package/build/pay/packages/connectkit/src/components/Common/SwitchButton/index.js +43 -0
  141. package/build/pay/packages/connectkit/src/components/Common/SwitchButton/index.js.map +1 -0
  142. package/build/pay/packages/connectkit/src/components/Common/ThemedButton/index.js +46 -0
  143. package/build/pay/packages/connectkit/src/components/Common/ThemedButton/index.js.map +1 -0
  144. package/build/pay/packages/connectkit/src/components/Common/ThemedButton/styles.js +152 -0
  145. package/build/pay/packages/connectkit/src/components/Common/ThemedButton/styles.js.map +1 -0
  146. package/build/pay/packages/connectkit/src/components/Common/TokenChainLogo/index.js +62 -0
  147. package/build/pay/packages/connectkit/src/components/Common/TokenChainLogo/index.js.map +1 -0
  148. package/build/pay/packages/connectkit/src/components/Common/Tooltip/index.js +129 -0
  149. package/build/pay/packages/connectkit/src/components/Common/Tooltip/index.js.map +1 -0
  150. package/build/pay/packages/connectkit/src/components/Common/Tooltip/styles.js +81 -0
  151. package/build/pay/packages/connectkit/src/components/Common/Tooltip/styles.js.map +1 -0
  152. package/build/pay/packages/connectkit/src/components/Common/WalletChainLogo/index.js +31 -0
  153. package/build/pay/packages/connectkit/src/components/Common/WalletChainLogo/index.js.map +1 -0
  154. package/build/pay/packages/connectkit/src/components/DaimoPayButton/index.js +196 -0
  155. package/build/pay/packages/connectkit/src/components/DaimoPayButton/index.js.map +1 -0
  156. package/build/pay/packages/connectkit/src/components/DaimoPayButton/styles.js +50 -0
  157. package/build/pay/packages/connectkit/src/components/DaimoPayButton/styles.js.map +1 -0
  158. package/build/pay/packages/connectkit/src/components/DaimoPayModal/ConnectUsing.js +70 -0
  159. package/build/pay/packages/connectkit/src/components/DaimoPayModal/ConnectUsing.js.map +1 -0
  160. package/build/pay/packages/connectkit/src/components/DaimoPayModal/ConnectWithInjector/index.js +339 -0
  161. package/build/pay/packages/connectkit/src/components/DaimoPayModal/ConnectWithInjector/index.js.map +1 -0
  162. package/build/pay/packages/connectkit/src/components/DaimoPayModal/ConnectWithInjector/styles.js +131 -0
  163. package/build/pay/packages/connectkit/src/components/DaimoPayModal/ConnectWithInjector/styles.js.map +1 -0
  164. package/build/pay/packages/connectkit/src/components/DaimoPayModal/ConnectWithQRCode.js +86 -0
  165. package/build/pay/packages/connectkit/src/components/DaimoPayModal/ConnectWithQRCode.js.map +1 -0
  166. package/build/pay/packages/connectkit/src/components/DaimoPayModal/index.js +605 -0
  167. package/build/pay/packages/connectkit/src/components/DaimoPayModal/index.js.map +1 -0
  168. package/build/pay/packages/connectkit/src/components/DaimoPayThemeProvider/DaimoPayThemeProvider.js +25 -0
  169. package/build/pay/packages/connectkit/src/components/DaimoPayThemeProvider/DaimoPayThemeProvider.js.map +1 -0
  170. package/build/pay/packages/connectkit/src/components/Pages/About/graphics.js +853 -0
  171. package/build/pay/packages/connectkit/src/components/Pages/About/graphics.js.map +1 -0
  172. package/build/pay/packages/connectkit/src/components/Pages/About/index.js +222 -0
  173. package/build/pay/packages/connectkit/src/components/Pages/About/index.js.map +1 -0
  174. package/build/pay/packages/connectkit/src/components/Pages/About/styles.js +140 -0
  175. package/build/pay/packages/connectkit/src/components/Pages/About/styles.js.map +1 -0
  176. package/build/pay/packages/connectkit/src/components/Pages/Confirmation/index.js +126 -0
  177. package/build/pay/packages/connectkit/src/components/Pages/Confirmation/index.js.map +1 -0
  178. package/build/pay/packages/connectkit/src/components/Pages/Connectors/index.js +26 -0
  179. package/build/pay/packages/connectkit/src/components/Pages/Connectors/index.js.map +1 -0
  180. package/build/pay/packages/connectkit/src/components/Pages/Error/index.js +57 -0
  181. package/build/pay/packages/connectkit/src/components/Pages/Error/index.js.map +1 -0
  182. package/build/pay/packages/connectkit/src/components/Pages/MobileConnectors/index.js +108 -0
  183. package/build/pay/packages/connectkit/src/components/Pages/MobileConnectors/index.js.map +1 -0
  184. package/build/pay/packages/connectkit/src/components/Pages/MobileConnectors/styles.js +64 -0
  185. package/build/pay/packages/connectkit/src/components/Pages/MobileConnectors/styles.js.map +1 -0
  186. package/build/pay/packages/connectkit/src/components/Pages/Onboarding/index.js +34 -0
  187. package/build/pay/packages/connectkit/src/components/Pages/Onboarding/index.js.map +1 -0
  188. package/build/pay/packages/connectkit/src/components/Pages/Onboarding/styles.js +229 -0
  189. package/build/pay/packages/connectkit/src/components/Pages/Onboarding/styles.js.map +1 -0
  190. package/build/pay/packages/connectkit/src/components/Pages/PayWithToken/index.js +157 -0
  191. package/build/pay/packages/connectkit/src/components/Pages/PayWithToken/index.js.map +1 -0
  192. package/build/pay/packages/connectkit/src/components/Pages/SelectAmount/index.js +24 -0
  193. package/build/pay/packages/connectkit/src/components/Pages/SelectAmount/index.js.map +1 -0
  194. package/build/pay/packages/connectkit/src/components/Pages/SelectDepositAddressAmount/index.js +79 -0
  195. package/build/pay/packages/connectkit/src/components/Pages/SelectDepositAddressAmount/index.js.map +1 -0
  196. package/build/pay/packages/connectkit/src/components/Pages/SelectDepositAddressChain/index.js +80 -0
  197. package/build/pay/packages/connectkit/src/components/Pages/SelectDepositAddressChain/index.js.map +1 -0
  198. package/build/pay/packages/connectkit/src/components/Pages/SelectExchange/index.js +62 -0
  199. package/build/pay/packages/connectkit/src/components/Pages/SelectExchange/index.js.map +1 -0
  200. package/build/pay/packages/connectkit/src/components/Pages/SelectExternalAmount/index.js +80 -0
  201. package/build/pay/packages/connectkit/src/components/Pages/SelectExternalAmount/index.js.map +1 -0
  202. package/build/pay/packages/connectkit/src/components/Pages/SelectMethod/index.js +315 -0
  203. package/build/pay/packages/connectkit/src/components/Pages/SelectMethod/index.js.map +1 -0
  204. package/build/pay/packages/connectkit/src/components/Pages/SelectToken/index.js +99 -0
  205. package/build/pay/packages/connectkit/src/components/Pages/SelectToken/index.js.map +1 -0
  206. package/build/pay/packages/connectkit/src/components/Pages/SelectWalletAmount/index.js +71 -0
  207. package/build/pay/packages/connectkit/src/components/Pages/SelectWalletAmount/index.js.map +1 -0
  208. package/build/pay/packages/connectkit/src/components/Pages/SelectWalletChain/index.js +55 -0
  209. package/build/pay/packages/connectkit/src/components/Pages/SelectWalletChain/index.js.map +1 -0
  210. package/build/pay/packages/connectkit/src/components/Pages/SelectZKP/index.js +41 -0
  211. package/build/pay/packages/connectkit/src/components/Pages/SelectZKP/index.js.map +1 -0
  212. package/build/pay/packages/connectkit/src/components/Pages/Solana/ConnectorSolana/index.js +94 -0
  213. package/build/pay/packages/connectkit/src/components/Pages/Solana/ConnectorSolana/index.js.map +1 -0
  214. package/build/pay/packages/connectkit/src/components/Pages/Solana/PayWithSolanaToken/index.js +92 -0
  215. package/build/pay/packages/connectkit/src/components/Pages/Solana/PayWithSolanaToken/index.js.map +1 -0
  216. package/build/pay/packages/connectkit/src/components/Pages/Solana/SelectSolanaAmount/index.js +24 -0
  217. package/build/pay/packages/connectkit/src/components/Pages/Solana/SelectSolanaAmount/index.js.map +1 -0
  218. package/build/pay/packages/connectkit/src/components/Pages/SwitchNetworks/index.js +45 -0
  219. package/build/pay/packages/connectkit/src/components/Pages/SwitchNetworks/index.js.map +1 -0
  220. package/build/pay/packages/connectkit/src/components/Pages/WaitingDepositAddress/index.js +586 -0
  221. package/build/pay/packages/connectkit/src/components/Pages/WaitingDepositAddress/index.js.map +1 -0
  222. package/build/pay/packages/connectkit/src/components/Pages/WaitingExternal/index.js +174 -0
  223. package/build/pay/packages/connectkit/src/components/Pages/WaitingExternal/index.js.map +1 -0
  224. package/build/pay/packages/connectkit/src/components/Pages/WaitingWallet/index.js +49 -0
  225. package/build/pay/packages/connectkit/src/components/Pages/WaitingWallet/index.js.map +1 -0
  226. package/build/pay/packages/connectkit/src/components/Pages/Warning/index.js +56 -0
  227. package/build/pay/packages/connectkit/src/components/Pages/Warning/index.js.map +1 -0
  228. package/build/pay/packages/connectkit/src/components/Spinners/CircleSpinner/index.js +104 -0
  229. package/build/pay/packages/connectkit/src/components/Spinners/CircleSpinner/index.js.map +1 -0
  230. package/build/pay/packages/connectkit/src/components/Spinners/CircleSpinner/styles.js +117 -0
  231. package/build/pay/packages/connectkit/src/components/Spinners/CircleSpinner/styles.js.map +1 -0
  232. package/build/pay/packages/connectkit/src/components/Spinners/ExternalPaymentSpinner/index.js +29 -0
  233. package/build/pay/packages/connectkit/src/components/Spinners/ExternalPaymentSpinner/index.js.map +1 -0
  234. package/build/pay/packages/connectkit/src/components/Spinners/SquircleSpinner/index.js +68 -0
  235. package/build/pay/packages/connectkit/src/components/Spinners/SquircleSpinner/index.js.map +1 -0
  236. package/build/pay/packages/connectkit/src/components/Spinners/SquircleSpinner/styles.js +66 -0
  237. package/build/pay/packages/connectkit/src/components/Spinners/SquircleSpinner/styles.js.map +1 -0
  238. package/build/pay/packages/connectkit/src/components/Spinners/TokenLogoSpinner/index.js +24 -0
  239. package/build/pay/packages/connectkit/src/components/Spinners/TokenLogoSpinner/index.js.map +1 -0
  240. package/build/pay/packages/connectkit/src/components/Spinners/TokenLogoSpinner/styles.js +40 -0
  241. package/build/pay/packages/connectkit/src/components/Spinners/TokenLogoSpinner/styles.js.map +1 -0
  242. package/build/pay/packages/connectkit/src/components/Spinners/WalletPaymentSpinner/index.js +37 -0
  243. package/build/pay/packages/connectkit/src/components/Spinners/WalletPaymentSpinner/index.js.map +1 -0
  244. package/build/pay/packages/connectkit/src/components/Spinners/styles.js +32 -0
  245. package/build/pay/packages/connectkit/src/components/Spinners/styles.js.map +1 -0
  246. package/build/pay/packages/connectkit/src/constants/defaultTheme.js +6 -0
  247. package/build/pay/packages/connectkit/src/constants/defaultTheme.js.map +1 -0
  248. package/build/pay/packages/connectkit/src/constants/limits.js +4 -0
  249. package/build/pay/packages/connectkit/src/constants/limits.js.map +1 -0
  250. package/build/pay/packages/connectkit/src/constants/paymentOptions.js +62 -0
  251. package/build/pay/packages/connectkit/src/constants/paymentOptions.js.map +1 -0
  252. package/build/pay/packages/connectkit/src/constants/routes.js +31 -0
  253. package/build/pay/packages/connectkit/src/constants/routes.js.map +1 -0
  254. package/build/pay/packages/connectkit/src/constants/wallets.js +7 -0
  255. package/build/pay/packages/connectkit/src/constants/wallets.js.map +1 -0
  256. package/build/pay/packages/connectkit/src/defaultConfig.js +64 -0
  257. package/build/pay/packages/connectkit/src/defaultConfig.js.map +1 -0
  258. package/build/pay/packages/connectkit/src/defaultConnectors.js +37 -0
  259. package/build/pay/packages/connectkit/src/defaultConnectors.js.map +1 -0
  260. package/build/pay/packages/connectkit/src/hooks/useChainIsSupported.js +10 -0
  261. package/build/pay/packages/connectkit/src/hooks/useChainIsSupported.js.map +1 -0
  262. package/build/pay/packages/connectkit/src/hooks/useChains.js +10 -0
  263. package/build/pay/packages/connectkit/src/hooks/useChains.js.map +1 -0
  264. package/build/pay/packages/connectkit/src/hooks/useConnect.js +61 -0
  265. package/build/pay/packages/connectkit/src/hooks/useConnect.js.map +1 -0
  266. package/build/pay/packages/connectkit/src/hooks/useConnectCallback.js +21 -0
  267. package/build/pay/packages/connectkit/src/hooks/useConnectCallback.js.map +1 -0
  268. package/build/pay/packages/connectkit/src/hooks/useConnectors.js +20 -0
  269. package/build/pay/packages/connectkit/src/hooks/useConnectors.js.map +1 -0
  270. package/build/pay/packages/connectkit/src/hooks/useDaimoPay.js +131 -0
  271. package/build/pay/packages/connectkit/src/hooks/useDaimoPay.js.map +1 -0
  272. package/build/pay/packages/connectkit/src/hooks/useDaimoPayStatus.js +12 -0
  273. package/build/pay/packages/connectkit/src/hooks/useDaimoPayStatus.js.map +1 -0
  274. package/build/pay/packages/connectkit/src/hooks/useDaimoPayUI.js +15 -0
  275. package/build/pay/packages/connectkit/src/hooks/useDaimoPayUI.js.map +1 -0
  276. package/build/pay/packages/connectkit/src/hooks/useDepositAddressOptions.js +35 -0
  277. package/build/pay/packages/connectkit/src/hooks/useDepositAddressOptions.js.map +1 -0
  278. package/build/pay/packages/connectkit/src/hooks/useEnsFallbackConfig.js +16 -0
  279. package/build/pay/packages/connectkit/src/hooks/useEnsFallbackConfig.js.map +1 -0
  280. package/build/pay/packages/connectkit/src/hooks/useExternalPaymentOptions.js +79 -0
  281. package/build/pay/packages/connectkit/src/hooks/useExternalPaymentOptions.js.map +1 -0
  282. package/build/pay/packages/connectkit/src/hooks/useFitText.js +133 -0
  283. package/build/pay/packages/connectkit/src/hooks/useFitText.js.map +1 -0
  284. package/build/pay/packages/connectkit/src/hooks/useFocusTrap.js +53 -0
  285. package/build/pay/packages/connectkit/src/hooks/useFocusTrap.js.map +1 -0
  286. package/build/pay/packages/connectkit/src/hooks/useIsMobile.js +11 -0
  287. package/build/pay/packages/connectkit/src/hooks/useIsMobile.js.map +1 -0
  288. package/build/pay/packages/connectkit/src/hooks/useIsMounted.js +10 -0
  289. package/build/pay/packages/connectkit/src/hooks/useIsMounted.js.map +1 -0
  290. package/build/pay/packages/connectkit/src/hooks/useLastConnector.js +24 -0
  291. package/build/pay/packages/connectkit/src/hooks/useLastConnector.js.map +1 -0
  292. package/build/pay/packages/connectkit/src/hooks/useLocales.js +60 -0
  293. package/build/pay/packages/connectkit/src/hooks/useLocales.js.map +1 -0
  294. package/build/pay/packages/connectkit/src/hooks/useLockBodyScroll.js +47 -0
  295. package/build/pay/packages/connectkit/src/hooks/useLockBodyScroll.js.map +1 -0
  296. package/build/pay/packages/connectkit/src/hooks/useOrderUsdLimits.js +24 -0
  297. package/build/pay/packages/connectkit/src/hooks/useOrderUsdLimits.js.map +1 -0
  298. package/build/pay/packages/connectkit/src/hooks/usePayContext.js +11 -0
  299. package/build/pay/packages/connectkit/src/hooks/usePayContext.js.map +1 -0
  300. package/build/pay/packages/connectkit/src/hooks/usePaymentState.js +410 -0
  301. package/build/pay/packages/connectkit/src/hooks/usePaymentState.js.map +1 -0
  302. package/build/pay/packages/connectkit/src/hooks/usePrevious.js +13 -0
  303. package/build/pay/packages/connectkit/src/hooks/usePrevious.js.map +1 -0
  304. package/build/pay/packages/connectkit/src/hooks/useSolanaPaymentOptions.js +38 -0
  305. package/build/pay/packages/connectkit/src/hooks/useSolanaPaymentOptions.js.map +1 -0
  306. package/build/pay/packages/connectkit/src/hooks/useTokenOptions.js +152 -0
  307. package/build/pay/packages/connectkit/src/hooks/useTokenOptions.js.map +1 -0
  308. package/build/pay/packages/connectkit/src/hooks/useUntronAvailability.js +32 -0
  309. package/build/pay/packages/connectkit/src/hooks/useUntronAvailability.js.map +1 -0
  310. package/build/pay/packages/connectkit/src/hooks/useWalletPaymentOptions.js +97 -0
  311. package/build/pay/packages/connectkit/src/hooks/useWalletPaymentOptions.js.map +1 -0
  312. package/build/pay/packages/connectkit/src/hooks/useWindowSize.js +23 -0
  313. package/build/pay/packages/connectkit/src/hooks/useWindowSize.js.map +1 -0
  314. package/build/pay/packages/connectkit/src/index.js +14 -0
  315. package/build/pay/packages/connectkit/src/index.js.map +1 -0
  316. package/build/pay/packages/connectkit/src/localizations/index.js +48 -0
  317. package/build/pay/packages/connectkit/src/localizations/index.js.map +1 -0
  318. package/build/pay/packages/connectkit/src/localizations/locales/ar-AE.js +95 -0
  319. package/build/pay/packages/connectkit/src/localizations/locales/ar-AE.js.map +1 -0
  320. package/build/pay/packages/connectkit/src/localizations/locales/ca-AD.js +93 -0
  321. package/build/pay/packages/connectkit/src/localizations/locales/ca-AD.js.map +1 -0
  322. package/build/pay/packages/connectkit/src/localizations/locales/ee-EE.js +101 -0
  323. package/build/pay/packages/connectkit/src/localizations/locales/ee-EE.js.map +1 -0
  324. package/build/pay/packages/connectkit/src/localizations/locales/en-US.js +145 -0
  325. package/build/pay/packages/connectkit/src/localizations/locales/en-US.js.map +1 -0
  326. package/build/pay/packages/connectkit/src/localizations/locales/es-ES.js +138 -0
  327. package/build/pay/packages/connectkit/src/localizations/locales/es-ES.js.map +1 -0
  328. package/build/pay/packages/connectkit/src/localizations/locales/fa-IR.js +93 -0
  329. package/build/pay/packages/connectkit/src/localizations/locales/fa-IR.js.map +1 -0
  330. package/build/pay/packages/connectkit/src/localizations/locales/fr-FR.js +93 -0
  331. package/build/pay/packages/connectkit/src/localizations/locales/fr-FR.js.map +1 -0
  332. package/build/pay/packages/connectkit/src/localizations/locales/ja-JP.js +93 -0
  333. package/build/pay/packages/connectkit/src/localizations/locales/ja-JP.js.map +1 -0
  334. package/build/pay/packages/connectkit/src/localizations/locales/pt-BR.js +145 -0
  335. package/build/pay/packages/connectkit/src/localizations/locales/pt-BR.js.map +1 -0
  336. package/build/pay/packages/connectkit/src/localizations/locales/ru-RU.js +97 -0
  337. package/build/pay/packages/connectkit/src/localizations/locales/ru-RU.js.map +1 -0
  338. package/build/pay/packages/connectkit/src/localizations/locales/tr-TR.js +101 -0
  339. package/build/pay/packages/connectkit/src/localizations/locales/tr-TR.js.map +1 -0
  340. package/build/pay/packages/connectkit/src/localizations/locales/vi-VN.js +101 -0
  341. package/build/pay/packages/connectkit/src/localizations/locales/vi-VN.js.map +1 -0
  342. package/build/pay/packages/connectkit/src/localizations/locales/zh-CN.js +93 -0
  343. package/build/pay/packages/connectkit/src/localizations/locales/zh-CN.js.map +1 -0
  344. package/build/pay/packages/connectkit/src/payment/paymentEffects.js +268 -0
  345. package/build/pay/packages/connectkit/src/payment/paymentEffects.js.map +1 -0
  346. package/build/pay/packages/connectkit/src/payment/paymentFsm.js +234 -0
  347. package/build/pay/packages/connectkit/src/payment/paymentFsm.js.map +1 -0
  348. package/build/pay/packages/connectkit/src/payment/paymentStore.js +18 -0
  349. package/build/pay/packages/connectkit/src/payment/paymentStore.js.map +1 -0
  350. package/build/pay/packages/connectkit/src/payment/paymentUtils.js +10 -0
  351. package/build/pay/packages/connectkit/src/payment/paymentUtils.js.map +1 -0
  352. package/build/pay/packages/connectkit/src/provider/DaimoPayProvider.js +292 -0
  353. package/build/pay/packages/connectkit/src/provider/DaimoPayProvider.js.map +1 -0
  354. package/build/pay/packages/connectkit/src/provider/PayContext.js +6 -0
  355. package/build/pay/packages/connectkit/src/provider/PayContext.js.map +1 -0
  356. package/build/pay/packages/connectkit/src/provider/PaymentProvider.js +29 -0
  357. package/build/pay/packages/connectkit/src/provider/PaymentProvider.js.map +1 -0
  358. package/build/pay/packages/connectkit/src/provider/SolanaContextProvider.js +14 -0
  359. package/build/pay/packages/connectkit/src/provider/SolanaContextProvider.js.map +1 -0
  360. package/build/pay/packages/connectkit/src/provider/Web3ContextProvider.js +36 -0
  361. package/build/pay/packages/connectkit/src/provider/Web3ContextProvider.js.map +1 -0
  362. package/build/pay/packages/connectkit/src/stateStore.js +36 -0
  363. package/build/pay/packages/connectkit/src/stateStore.js.map +1 -0
  364. package/build/pay/packages/connectkit/src/styles/defaultTheme.js +80 -0
  365. package/build/pay/packages/connectkit/src/styles/defaultTheme.js.map +1 -0
  366. package/build/pay/packages/connectkit/src/styles/index.js +313 -0
  367. package/build/pay/packages/connectkit/src/styles/index.js.map +1 -0
  368. package/build/pay/packages/connectkit/src/styles/styled/index.js +6 -0
  369. package/build/pay/packages/connectkit/src/styles/styled/index.js.map +1 -0
  370. package/build/pay/packages/connectkit/src/styles/themes/base.js +141 -0
  371. package/build/pay/packages/connectkit/src/styles/themes/base.js.map +1 -0
  372. package/build/pay/packages/connectkit/src/styles/themes/index.js +13 -0
  373. package/build/pay/packages/connectkit/src/styles/themes/index.js.map +1 -0
  374. package/build/pay/packages/connectkit/src/styles/themes/midnight.js +76 -0
  375. package/build/pay/packages/connectkit/src/styles/themes/midnight.js.map +1 -0
  376. package/build/pay/packages/connectkit/src/styles/themes/minimal.js +96 -0
  377. package/build/pay/packages/connectkit/src/styles/themes/minimal.js.map +1 -0
  378. package/build/pay/packages/connectkit/src/styles/themes/nouns.js +81 -0
  379. package/build/pay/packages/connectkit/src/styles/themes/nouns.js.map +1 -0
  380. package/build/pay/packages/connectkit/src/styles/themes/retro.js +106 -0
  381. package/build/pay/packages/connectkit/src/styles/themes/retro.js.map +1 -0
  382. package/build/pay/packages/connectkit/src/styles/themes/rounded.js +106 -0
  383. package/build/pay/packages/connectkit/src/styles/themes/rounded.js.map +1 -0
  384. package/build/pay/packages/connectkit/src/styles/themes/soft.js +71 -0
  385. package/build/pay/packages/connectkit/src/styles/themes/soft.js.map +1 -0
  386. package/build/pay/packages/connectkit/src/styles/themes/web95.js +132 -0
  387. package/build/pay/packages/connectkit/src/styles/themes/web95.js.map +1 -0
  388. package/build/pay/packages/connectkit/src/utils/exports.js +6 -0
  389. package/build/pay/packages/connectkit/src/utils/exports.js.map +1 -0
  390. package/build/pay/packages/connectkit/src/utils/format.js +45 -0
  391. package/build/pay/packages/connectkit/src/utils/format.js.map +1 -0
  392. package/build/pay/packages/connectkit/src/utils/index.js +42 -0
  393. package/build/pay/packages/connectkit/src/utils/index.js.map +1 -0
  394. package/build/pay/packages/connectkit/src/utils/p3.js +15 -0
  395. package/build/pay/packages/connectkit/src/utils/p3.js.map +1 -0
  396. package/build/pay/packages/connectkit/src/utils/platform.js +11 -0
  397. package/build/pay/packages/connectkit/src/utils/platform.js.map +1 -0
  398. package/build/pay/packages/connectkit/src/utils/polling.js +35 -0
  399. package/build/pay/packages/connectkit/src/utils/polling.js.map +1 -0
  400. package/build/pay/packages/connectkit/src/utils/supportUrl.js +16 -0
  401. package/build/pay/packages/connectkit/src/utils/supportUrl.js.map +1 -0
  402. package/build/pay/packages/connectkit/src/utils/trpc.js +19 -0
  403. package/build/pay/packages/connectkit/src/utils/trpc.js.map +1 -0
  404. package/build/pay/packages/connectkit/src/utils/validateInput.js +16 -0
  405. package/build/pay/packages/connectkit/src/utils/validateInput.js.map +1 -0
  406. package/build/pay/packages/connectkit/src/wallets/index.js +21 -0
  407. package/build/pay/packages/connectkit/src/wallets/index.js.map +1 -0
  408. package/build/pay/packages/connectkit/src/wallets/useWallets.js +278 -0
  409. package/build/pay/packages/connectkit/src/wallets/useWallets.js.map +1 -0
  410. package/build/pay/packages/connectkit/src/wallets/walletConfigs.js +281 -0
  411. package/build/pay/packages/connectkit/src/wallets/walletConfigs.js.map +1 -0
  412. package/build/pay/packages/connectkit/src/world-mini-app/WorldPayButton.js +165 -0
  413. package/build/pay/packages/connectkit/src/world-mini-app/WorldPayButton.js.map +1 -0
  414. package/build/pay/packages/connectkit/src/world-mini-app/promptWorldPayment.js +59 -0
  415. package/build/pay/packages/connectkit/src/world-mini-app/promptWorldPayment.js.map +1 -0
  416. package/build/pay/packages/connectkit/src/world-mini-app/useWithdrawToWorld.js +76 -0
  417. package/build/pay/packages/connectkit/src/world-mini-app/useWithdrawToWorld.js.map +1 -0
  418. package/build/pay/packages/connectkit/src/world-mini-app/useWorldSignIn.js +74 -0
  419. package/build/pay/packages/connectkit/src/world-mini-app/useWorldSignIn.js.map +1 -0
  420. package/build/pay/packages/connectkit/src/world.js +4 -0
  421. package/build/pay/packages/connectkit/src/world.js.map +1 -0
  422. package/build/src/components/Common/PoweredByFooter/index.js +10 -37
  423. package/build/src/components/Common/PoweredByFooter/index.js.map +1 -1
  424. package/build/src/components/DaimoPayModal/ConnectWithQRCode.js +3 -0
  425. package/build/src/components/DaimoPayModal/ConnectWithQRCode.js.map +1 -1
  426. package/build/src/components/Pages/Confirmation/index.js +8 -10
  427. package/build/src/components/Pages/Confirmation/index.js.map +1 -1
  428. package/build/src/payment/paymentEffects.js +9 -7
  429. package/build/src/payment/paymentEffects.js.map +1 -1
  430. package/build/src/provider/DaimoPayProvider.js +9 -1
  431. package/build/src/provider/DaimoPayProvider.js.map +1 -1
  432. package/build/src/provider/PaymentProvider.js +9 -3
  433. package/build/src/provider/PaymentProvider.js.map +1 -1
  434. package/build/src/utils/polling.js +14 -5
  435. package/build/src/utils/polling.js.map +1 -1
  436. package/build/src/utils/wallets.js +9 -0
  437. package/build/src/utils/wallets.js.map +1 -0
  438. package/build/src/wallets/useWallets.js +1 -1
  439. package/build/src/wallets/useWallets.js.map +1 -1
  440. package/build/src/wallets/walletConfigs.js +8 -84
  441. package/build/src/wallets/walletConfigs.js.map +1 -1
  442. package/package.json +2 -2
@@ -0,0 +1,61 @@
1
+ import { useConnect as useConnect$1 } from 'wagmi';
2
+ import { usePayContext } from './usePayContext.js';
3
+
4
+ function useConnect({ ...props } = {}) {
5
+ const context = usePayContext();
6
+ const { connect, connectAsync, connectors, ...rest } = useConnect$1({
7
+ ...props,
8
+ mutation: {
9
+ ...props.mutation,
10
+ onError(err) {
11
+ if (err.message) {
12
+ if (err.message === "Proposal expired") {
13
+ context.log(
14
+ "[CONNECT] Connection request timed out. Please try again.",
15
+ err
16
+ );
17
+ return;
18
+ }
19
+ if (err.message !== "User rejected request") {
20
+ context.log(`[CONNECT] ${err.message}`, err);
21
+ }
22
+ } else {
23
+ context.log(`[CONNECT] Could not connect.`, err);
24
+ }
25
+ }
26
+ }
27
+ });
28
+ return {
29
+ connect: ({
30
+ connector,
31
+ chainId,
32
+ mutation
33
+ }) => {
34
+ return connect(
35
+ {
36
+ connector,
37
+ chainId: chainId ?? context.options?.initialChainId
38
+ },
39
+ mutation
40
+ );
41
+ },
42
+ connectAsync: async ({
43
+ connector,
44
+ chainId,
45
+ mutation
46
+ }) => {
47
+ return connectAsync(
48
+ {
49
+ connector,
50
+ chainId: chainId ?? context.options?.initialChainId
51
+ },
52
+ mutation
53
+ );
54
+ },
55
+ connectors,
56
+ ...rest
57
+ };
58
+ }
59
+
60
+ export { useConnect };
61
+ //# sourceMappingURL=useConnect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useConnect.js","sources":["../../../../../../src/hooks/useConnect.tsx"],"sourcesContent":["/**\n * This is a wrapper around wagmi's useConnect hook that adds some\n * additional functionality.\n */\n\nimport {\n Connector,\n CreateConnectorFn,\n type UseConnectParameters,\n useConnect as wagmiUseConnect,\n} from \"wagmi\";\nimport { usePayContext } from \"./usePayContext\";\n\nexport function useConnect({ ...props }: UseConnectParameters = {}) {\n const context = usePayContext();\n\n const { connect, connectAsync, connectors, ...rest } = wagmiUseConnect({\n ...props,\n mutation: {\n ...props.mutation,\n onError(err) {\n if (err.message) {\n if (err.message === \"Proposal expired\") {\n context.log(\n \"[CONNECT] Connection request timed out. Please try again.\",\n err,\n );\n return;\n }\n if (err.message !== \"User rejected request\") {\n context.log(`[CONNECT] ${err.message}`, err);\n }\n } else {\n context.log(`[CONNECT] Could not connect.`, err);\n }\n },\n },\n });\n\n return {\n connect: ({\n connector,\n chainId,\n mutation,\n }: {\n connector: CreateConnectorFn | Connector;\n chainId?: number;\n mutation?: UseConnectParameters[\"mutation\"];\n }) => {\n return connect(\n {\n connector,\n chainId: chainId ?? context.options?.initialChainId,\n },\n mutation,\n );\n },\n connectAsync: async ({\n connector,\n chainId,\n mutation,\n }: {\n connector: CreateConnectorFn | Connector;\n chainId?: number;\n mutation?: UseConnectParameters[\"mutation\"];\n }) => {\n return connectAsync(\n {\n connector,\n chainId: chainId ?? context.options?.initialChainId,\n },\n mutation,\n );\n },\n connectors,\n ...rest,\n };\n}\n"],"names":["wagmiUseConnect"],"mappings":";;;AAaO,SAAS,WAAW,EAAE,GAAG,KAAM,EAAA,GAA0B,EAAI,EAAA;AAClE,EAAA,MAAM,UAAU,aAAc,EAAA,CAAA;AAE9B,EAAA,MAAM,EAAE,OAAS,EAAA,YAAA,EAAc,YAAY,GAAG,IAAA,KAASA,YAAgB,CAAA;AAAA,IACrE,GAAG,KAAA;AAAA,IACH,QAAU,EAAA;AAAA,MACR,GAAG,KAAM,CAAA,QAAA;AAAA,MACT,QAAQ,GAAK,EAAA;AACX,QAAA,IAAI,IAAI,OAAS,EAAA;AACf,UAAI,IAAA,GAAA,CAAI,YAAY,kBAAoB,EAAA;AACtC,YAAQ,OAAA,CAAA,GAAA;AAAA,cACN,2DAAA;AAAA,cACA,GAAA;AAAA,aACF,CAAA;AACA,YAAA,OAAA;AAAA,WACF;AACA,UAAI,IAAA,GAAA,CAAI,YAAY,uBAAyB,EAAA;AAC3C,YAAA,OAAA,CAAQ,GAAI,CAAA,CAAA,UAAA,EAAa,GAAI,CAAA,OAAO,IAAI,GAAG,CAAA,CAAA;AAAA,WAC7C;AAAA,SACK,MAAA;AACL,UAAQ,OAAA,CAAA,GAAA,CAAI,gCAAgC,GAAG,CAAA,CAAA;AAAA,SACjD;AAAA,OACF;AAAA,KACF;AAAA,GACD,CAAA,CAAA;AAED,EAAO,OAAA;AAAA,IACL,SAAS,CAAC;AAAA,MACR,SAAA;AAAA,MACA,OAAA;AAAA,MACA,QAAA;AAAA,KAKI,KAAA;AACJ,MAAO,OAAA,OAAA;AAAA,QACL;AAAA,UACE,SAAA;AAAA,UACA,OAAA,EAAS,OAAW,IAAA,OAAA,CAAQ,OAAS,EAAA,cAAA;AAAA,SACvC;AAAA,QACA,QAAA;AAAA,OACF,CAAA;AAAA,KACF;AAAA,IACA,cAAc,OAAO;AAAA,MACnB,SAAA;AAAA,MACA,OAAA;AAAA,MACA,QAAA;AAAA,KAKI,KAAA;AACJ,MAAO,OAAA,YAAA;AAAA,QACL;AAAA,UACE,SAAA;AAAA,UACA,OAAA,EAAS,OAAW,IAAA,OAAA,CAAQ,OAAS,EAAA,cAAA;AAAA,SACvC;AAAA,QACA,QAAA;AAAA,OACF,CAAA;AAAA,KACF;AAAA,IACA,UAAA;AAAA,IACA,GAAG,IAAA;AAAA,GACL,CAAA;AACF;;;;"}
@@ -0,0 +1,21 @@
1
+ import { useAccountEffect } from 'wagmi';
2
+
3
+ const useConnectCallback = ({
4
+ onConnect,
5
+ onDisconnect
6
+ }) => {
7
+ useAccountEffect({
8
+ onConnect: ({ address, connector, isReconnected }) => {
9
+ if (!isReconnected) {
10
+ onConnect?.({
11
+ address,
12
+ connectorId: connector?.id
13
+ });
14
+ }
15
+ },
16
+ onDisconnect: () => onDisconnect?.()
17
+ });
18
+ };
19
+
20
+ export { useConnectCallback };
21
+ //# sourceMappingURL=useConnectCallback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useConnectCallback.js","sources":["../../../../../../src/hooks/useConnectCallback.ts"],"sourcesContent":["import { useAccountEffect } from \"wagmi\";\n\nexport type useConnectCallbackProps = {\n onConnect?: ({\n address,\n connectorId,\n }: {\n address?: string;\n connectorId?: string;\n }) => void;\n onDisconnect?: () => void;\n};\n\nexport const useConnectCallback = ({\n onConnect,\n onDisconnect,\n}: useConnectCallbackProps) => {\n useAccountEffect({\n onConnect: ({ address, connector, isReconnected }) => {\n if (!isReconnected) {\n onConnect?.({\n address: address,\n connectorId: connector?.id,\n });\n }\n },\n onDisconnect: () => onDisconnect?.(),\n });\n};\n"],"names":[],"mappings":";;AAaO,MAAM,qBAAqB,CAAC;AAAA,EACjC,SAAA;AAAA,EACA,YAAA;AACF,CAA+B,KAAA;AAC7B,EAAiB,gBAAA,CAAA;AAAA,IACf,WAAW,CAAC,EAAE,OAAS,EAAA,SAAA,EAAW,eAAoB,KAAA;AACpD,MAAA,IAAI,CAAC,aAAe,EAAA;AAClB,QAAY,SAAA,GAAA;AAAA,UACV,OAAA;AAAA,UACA,aAAa,SAAW,EAAA,EAAA;AAAA,SACzB,CAAA,CAAA;AAAA,OACH;AAAA,KACF;AAAA,IACA,YAAA,EAAc,MAAM,YAAe,IAAA;AAAA,GACpC,CAAA,CAAA;AACH;;;;"}
@@ -0,0 +1,20 @@
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
+ } else if (id === "injected") {
12
+ return connectors.find(
13
+ (c) => c.id === id && c.name.includes("Injected")
14
+ );
15
+ }
16
+ return connectors.find((c) => c.id === id);
17
+ }
18
+
19
+ export { useConnector, useConnectors };
20
+ //# sourceMappingURL=useConnectors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useConnectors.js","sources":["../../../../../../src/hooks/useConnectors.ts"],"sourcesContent":["import { type Connector, useConnectors as useWagmiConnectors } from \"wagmi\";\n\nexport function useConnectors() {\n const connectors = useWagmiConnectors();\n return connectors ?? [];\n}\n\nexport function useConnector(id: string, uuid?: string) {\n const connectors = useConnectors();\n if (id === \"injected\" && uuid) {\n return connectors.find((c) => c.id === id && c.name === uuid) as Connector;\n } else if (id === \"injected\") {\n return connectors.find(\n (c) => c.id === id && c.name.includes(\"Injected\"),\n ) as Connector;\n }\n return connectors.find((c) => c.id === id) as Connector;\n}\n"],"names":["useWagmiConnectors"],"mappings":";;AAEO,SAAS,aAAgB,GAAA;AAC9B,EAAA,MAAM,aAAaA,eAAmB,EAAA,CAAA;AACtC,EAAA,OAAO,cAAc,EAAC,CAAA;AACxB,CAAA;AAEgB,SAAA,YAAA,CAAa,IAAY,IAAe,EAAA;AACtD,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAI,IAAA,EAAA,KAAO,cAAc,IAAM,EAAA;AAC7B,IAAO,OAAA,UAAA,CAAW,KAAK,CAAC,CAAA,KAAM,EAAE,EAAO,KAAA,EAAA,IAAM,CAAE,CAAA,IAAA,KAAS,IAAI,CAAA,CAAA;AAAA,GAC9D,MAAA,IAAW,OAAO,UAAY,EAAA;AAC5B,IAAA,OAAO,UAAW,CAAA,IAAA;AAAA,MAChB,CAAC,MAAM,CAAE,CAAA,EAAA,KAAO,MAAM,CAAE,CAAA,IAAA,CAAK,SAAS,UAAU,CAAA;AAAA,KAClD,CAAA;AAAA,GACF;AACA,EAAA,OAAO,WAAW,IAAK,CAAA,CAAC,CAAM,KAAA,CAAA,CAAE,OAAO,EAAE,CAAA,CAAA;AAC3C;;;;"}
@@ -0,0 +1,131 @@
1
+ import { useContext, useSyncExternalStore, useMemo, useCallback } from 'react';
2
+ import { waitForPaymentState } from '../payment/paymentStore.js';
3
+ import { PaymentContext } from '../provider/PaymentProvider.js';
4
+
5
+ function useDaimoPay() {
6
+ const store = useContext(PaymentContext);
7
+ if (!store) {
8
+ throw new Error("useDaimoPay must be used within <PaymentProvider>");
9
+ }
10
+ const paymentFsmState = useSyncExternalStore(
11
+ store.subscribe,
12
+ store.getState,
13
+ store.getState
14
+ );
15
+ const order = useMemo(() => {
16
+ if (paymentFsmState.type === "idle") return null;
17
+ return paymentFsmState.order ?? null;
18
+ }, [paymentFsmState]);
19
+ const paymentState = paymentFsmState.type;
20
+ const paymentErrorMessage = paymentFsmState.type === "error" ? paymentFsmState.message : null;
21
+ const paymentWarningMessage = paymentFsmState.type === "warning" ? paymentFsmState.message : null;
22
+ const dispatch = useCallback((e) => store.dispatch(e), [store]);
23
+ const createPreviewOrder = useCallback(
24
+ async (payParams) => {
25
+ dispatch({ type: "set_pay_params", payParams });
26
+ const previewOrderState = await waitForPaymentState(store, "preview");
27
+ return previewOrderState;
28
+ },
29
+ [dispatch, store]
30
+ );
31
+ const setPayId = useCallback(
32
+ async (payId) => {
33
+ dispatch({ type: "set_pay_id", payId });
34
+ const previewOrderState = await waitForPaymentState(
35
+ store,
36
+ "unhydrated",
37
+ "payment_unpaid",
38
+ "payment_started",
39
+ "payment_completed",
40
+ "payment_bounced"
41
+ );
42
+ return previewOrderState;
43
+ },
44
+ [dispatch, store]
45
+ );
46
+ const hydrateOrder = useCallback(
47
+ async (refundAddress) => {
48
+ dispatch({ type: "hydrate_order", refundAddress });
49
+ const hydratedOrderState = await waitForPaymentState(
50
+ store,
51
+ "payment_unpaid"
52
+ );
53
+ return hydratedOrderState;
54
+ },
55
+ [dispatch, store]
56
+ );
57
+ const paySource = useCallback(
58
+ () => dispatch({ type: "pay_source" }),
59
+ [dispatch]
60
+ );
61
+ const payEthSource = useCallback(
62
+ async (args) => {
63
+ dispatch({ type: "pay_ethereum_source", ...args });
64
+ const paidState = await waitForPaymentState(
65
+ store,
66
+ "payment_started",
67
+ "payment_completed",
68
+ "payment_bounced"
69
+ );
70
+ return paidState;
71
+ },
72
+ [dispatch, store]
73
+ );
74
+ const paySolanaSource = useCallback(
75
+ async (args) => {
76
+ dispatch({ type: "pay_solana_source", ...args });
77
+ const paidState = await waitForPaymentState(
78
+ store,
79
+ "payment_started",
80
+ "payment_completed",
81
+ "payment_bounced"
82
+ );
83
+ return paidState;
84
+ },
85
+ [dispatch, store]
86
+ );
87
+ const reset = useCallback(() => dispatch({ type: "reset" }), [dispatch]);
88
+ const setChosenUsd = useCallback(
89
+ (usd) => dispatch({ type: "set_chosen_usd", usd }),
90
+ [dispatch]
91
+ );
92
+ const setWarning = useCallback(
93
+ (message) => dispatch({ type: "warning", order: order ?? void 0, message }),
94
+ [dispatch, order]
95
+ );
96
+ const dismissWarning = useCallback(() => {
97
+ let priorOrder;
98
+ switch (paymentFsmState.type) {
99
+ case "preview":
100
+ case "unhydrated":
101
+ case "payment_unpaid":
102
+ case "payment_started":
103
+ case "payment_completed":
104
+ case "payment_bounced":
105
+ priorOrder = paymentFsmState.order;
106
+ break;
107
+ default:
108
+ priorOrder = void 0;
109
+ }
110
+ dispatch({ type: "dismiss_warning", order: priorOrder });
111
+ }, [dispatch, paymentFsmState]);
112
+ return {
113
+ order,
114
+ paymentState,
115
+ paymentErrorMessage,
116
+ paymentWarningMessage,
117
+ createPreviewOrder,
118
+ hydrateOrder,
119
+ setPayId,
120
+ paySource,
121
+ payEthSource,
122
+ paySolanaSource,
123
+ reset,
124
+ setChosenUsd,
125
+ setWarning,
126
+ dismissWarning
127
+ };
128
+ }
129
+
130
+ export { useDaimoPay };
131
+ //# sourceMappingURL=useDaimoPay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDaimoPay.js","sources":["../../../../../../src/hooks/useDaimoPay.tsx"],"sourcesContent":["// hooks/useDaimoPay.ts\nimport { DaimoPayOrderID, SolanaPublicKey } from \"@daimo/pay-common\";\nimport { useCallback, useContext, useMemo, useSyncExternalStore } from \"react\";\nimport { Address, Hex } from \"viem\";\nimport { PaymentEvent, PaymentState, PayParams } from \"../payment/paymentFsm\";\nimport { waitForPaymentState } from \"../payment/paymentStore\";\nimport { PaymentContext } from \"../provider/PaymentProvider\";\n\ntype DaimoPayFunctions = {\n /**\n * Create a new Daimo Pay order preview with the given parameters.\n * Call this to start a new payment flow.\n *\n * @param params - Parameters describing the payment to be created.\n */\n createPreviewOrder: (\n params: PayParams,\n ) => Promise<Extract<PaymentState, { type: \"preview\" }>>;\n\n /**\n * Set the order ID to fetch and manage an existing Daimo Pay order.\n * Useful for resuming or referencing a previously created order.\n *\n * @param id - The Daimo Pay order ID to set.\n */\n setPayId: (id: DaimoPayOrderID) => Promise<\n Extract<\n PaymentState,\n {\n type:\n | \"unhydrated\"\n | \"payment_unpaid\"\n | \"payment_started\"\n | \"payment_completed\"\n | \"payment_bounced\";\n }\n >\n >;\n\n /**\n * Hydrate the current order, locking in the payment intent details and\n * token swap prices.\n */\n hydrateOrder: (\n refundAddress?: Address,\n ) => Promise<Extract<PaymentState, { type: \"payment_unpaid\" }>>;\n\n /** Trigger search for payment on the current order. */\n paySource: () => void;\n\n /**\n * Register an Ethereum payment source for the current order.\n * Call this after the user has submitted an Ethereum payment transaction.\n *\n * @param args - Details about the Ethereum payment transaction.\n */\n payEthSource: (args: {\n paymentTxHash: Hex;\n sourceChainId: number;\n payerAddress: Address;\n sourceToken: Address;\n sourceAmount: bigint;\n }) => Promise<\n Extract<\n PaymentState,\n { type: \"payment_started\" | \"payment_completed\" | \"payment_bounced\" }\n >\n >;\n\n /**\n * Register a Solana payment source for the current order.\n * Call this after the user has submitted a Solana payment transaction.\n *\n * @param args - Details about the Solana payment transaction.\n */\n paySolanaSource: (args: {\n paymentTxHash: string;\n sourceToken: SolanaPublicKey;\n }) => Promise<\n Extract<\n PaymentState,\n { type: \"payment_started\" | \"payment_completed\" | \"payment_bounced\" }\n >\n >;\n\n /**\n * Reset the current payment state and clear the active order.\n * Call this to start a new payment flow.\n */\n reset: () => void;\n\n /**\n * Update the user's chosen amount in USD. Applies only to deposit flow.\n *\n * @deprecated\n */\n setChosenUsd: (usd: number) => void;\n /** Set a non-fatal warning state with a message. */\n setWarning: (message: string) => void;\n /** Dismiss a warning and return to previous state. */\n dismissWarning: () => void;\n};\n\n// Enforce that order is typed correctly based on paymentState.\n// E.g. if paymentState is \"payment_completed\", then order must be hydrated.\ntype DaimoPayState = {\n [S in PaymentState as S[\"type\"]]: {\n paymentState: S[\"type\"];\n order: S extends { order: infer O } ? O : null;\n paymentErrorMessage: S extends { message: infer M } ? M : null;\n };\n}[PaymentState[\"type\"]];\n\nexport type UseDaimoPay = DaimoPayFunctions &\n DaimoPayState & { paymentWarningMessage: string | null };\n\n/**\n * React hook for interacting with Daimo Pay orders and payments. Use this hook\n * to manage the lifecycle of a Daimo Pay payment in your application.\n *\n * This hook provides a simple interface to create, hydrate, pay, and reset\n * Daimo Pay orders.\n *\n * @returns {UseDaimoPay} An object with current payment state and methods to\n * manage Daimo Pay orders and payments.\n */\nexport function useDaimoPay(): UseDaimoPay {\n const store = useContext(PaymentContext);\n if (!store) {\n throw new Error(\"useDaimoPay must be used within <PaymentProvider>\");\n }\n\n /* --------------------------------------------------\n Order state\n ---------------------------------------------------*/\n\n // Subscribe to the store and keep an up-to-date copy of the payment.\n const paymentFsmState = useSyncExternalStore(\n store.subscribe,\n store.getState,\n store.getState,\n );\n\n // Wrap `order` in `useMemo` for reference stability. This allows downstream\n // components to use `order` as a dependency to avoid unnecessary re-renders.\n const order = useMemo(() => {\n if (paymentFsmState.type === \"idle\") return null;\n return paymentFsmState.order ?? null;\n }, [paymentFsmState]);\n\n const paymentState = paymentFsmState.type;\n const paymentErrorMessage =\n paymentFsmState.type === \"error\" ? paymentFsmState.message : null;\n const paymentWarningMessage =\n paymentFsmState.type === \"warning\" ? paymentFsmState.message : null;\n\n /* --------------------------------------------------\n Order event dispatch helpers\n ---------------------------------------------------*/\n\n // Internal helper to dispatch events to the store.\n const dispatch = useCallback((e: PaymentEvent) => store.dispatch(e), [store]);\n\n const createPreviewOrder = useCallback(\n async (payParams: PayParams) => {\n dispatch({ type: \"set_pay_params\", payParams });\n\n // Wait for the order to enter the \"preview\" state, which means it\n // has been successfully created.\n const previewOrderState = await waitForPaymentState(store, \"preview\");\n\n return previewOrderState;\n },\n [dispatch, store],\n );\n\n const setPayId = useCallback(\n async (payId: DaimoPayOrderID) => {\n dispatch({ type: \"set_pay_id\", payId });\n\n // Wait for the order to be queried from the API. Using payId could\n // result in the order being in any state.\n const previewOrderState = await waitForPaymentState(\n store,\n \"unhydrated\",\n \"payment_unpaid\",\n \"payment_started\",\n \"payment_completed\",\n \"payment_bounced\",\n );\n\n return previewOrderState;\n },\n [dispatch, store],\n );\n\n const hydrateOrder = useCallback(\n async (refundAddress?: Address) => {\n dispatch({ type: \"hydrate_order\", refundAddress });\n\n // Wait for the order to enter the \"payment_unpaid\" state, which means it\n // has been successfully hydrated.\n const hydratedOrderState = await waitForPaymentState(\n store,\n \"payment_unpaid\",\n );\n\n return hydratedOrderState;\n },\n [dispatch, store],\n );\n\n const paySource = useCallback(\n () => dispatch({ type: \"pay_source\" }),\n [dispatch],\n );\n\n const payEthSource = useCallback(\n async (args: {\n paymentTxHash: Hex;\n sourceChainId: number;\n payerAddress: Address;\n sourceToken: Address;\n sourceAmount: bigint;\n }) => {\n dispatch({ type: \"pay_ethereum_source\", ...args });\n\n // Will throw if the payment is not verified by the server.\n const paidState = await waitForPaymentState(\n store,\n \"payment_started\",\n \"payment_completed\",\n \"payment_bounced\",\n );\n\n return paidState;\n },\n [dispatch, store],\n );\n\n const paySolanaSource = useCallback(\n async (args: { paymentTxHash: string; sourceToken: SolanaPublicKey }) => {\n dispatch({ type: \"pay_solana_source\", ...args });\n\n // Will throw if the payment is not verified by the server.\n const paidState = await waitForPaymentState(\n store,\n \"payment_started\",\n \"payment_completed\",\n \"payment_bounced\",\n );\n\n return paidState;\n },\n [dispatch, store],\n );\n\n const reset = useCallback(() => dispatch({ type: \"reset\" }), [dispatch]);\n\n const setChosenUsd = useCallback(\n (usd: number) => dispatch({ type: \"set_chosen_usd\", usd }),\n [dispatch],\n );\n\n const setWarning = useCallback(\n (message: string) =>\n dispatch({ type: \"warning\", order: order ?? undefined, message }),\n [dispatch, order],\n );\n\n const dismissWarning = useCallback(() => {\n // Narrow to a prior state that definitely includes an order with org\n let priorOrder:\n | Extract<\n PaymentState,\n {\n type:\n | \"preview\"\n | \"unhydrated\"\n | \"payment_unpaid\"\n | \"payment_started\"\n | \"payment_completed\"\n | \"payment_bounced\";\n }\n >[\"order\"]\n | undefined;\n switch (paymentFsmState.type) {\n case \"preview\":\n case \"unhydrated\":\n case \"payment_unpaid\":\n case \"payment_started\":\n case \"payment_completed\":\n case \"payment_bounced\":\n priorOrder = paymentFsmState.order;\n break;\n default:\n priorOrder = undefined;\n }\n dispatch({ type: \"dismiss_warning\", order: priorOrder });\n }, [dispatch, paymentFsmState]);\n\n return {\n order,\n paymentState,\n paymentErrorMessage,\n paymentWarningMessage,\n createPreviewOrder,\n hydrateOrder,\n setPayId,\n paySource,\n payEthSource,\n paySolanaSource,\n reset,\n setChosenUsd,\n setWarning,\n dismissWarning,\n } as UseDaimoPay;\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { writeDaimoPayOrderID } from '@daimo/pay-common';
2
+ import { useDaimoPay } from './useDaimoPay.js';
3
+
4
+ function useDaimoPayStatus() {
5
+ const { order } = useDaimoPay();
6
+ if (order == null) return void 0;
7
+ const paymentId = writeDaimoPayOrderID(order.id);
8
+ return { paymentId, status: order.intentStatus };
9
+ }
10
+
11
+ export { useDaimoPayStatus };
12
+ //# sourceMappingURL=useDaimoPayStatus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDaimoPayStatus.js","sources":["../../../../../../src/hooks/useDaimoPayStatus.ts"],"sourcesContent":["import { DaimoPayIntentStatus, writeDaimoPayOrderID } from \"@daimo/pay-common\";\nimport { useDaimoPay } from \"./useDaimoPay\";\n\n/** Returns the current payment, or undefined if there is none.\n *\n * Status values:\n * - `payment_unpaid` - the user has not paid yet\n * - `payment_started` - the user has paid & payment is in progress. This status\n * typically lasts a few seconds.\n * - `payment_completed` - the final call or transfer succeeded\n * - `payment_bounced` - the final call or transfer reverted. Funds were sent\n * to the payment's configured refund address on the destination chain.\n */\nexport function useDaimoPayStatus():\n | { paymentId: string; status: DaimoPayIntentStatus }\n | undefined {\n const { order } = useDaimoPay();\n if (order == null) return undefined;\n\n const paymentId = writeDaimoPayOrderID(order.id);\n\n return { paymentId, status: order.intentStatus };\n}\n"],"names":[],"mappings":";;;AAaO,SAAS,iBAEF,GAAA;AACZ,EAAM,MAAA,EAAE,KAAM,EAAA,GAAI,WAAY,EAAA,CAAA;AAC9B,EAAI,IAAA,KAAA,IAAS,MAAa,OAAA,KAAA,CAAA,CAAA;AAE1B,EAAM,MAAA,SAAA,GAAY,oBAAqB,CAAA,KAAA,CAAM,EAAE,CAAA,CAAA;AAE/C,EAAA,OAAO,EAAE,SAAA,EAAW,MAAQ,EAAA,KAAA,CAAM,YAAa,EAAA,CAAA;AACjD;;;;"}
@@ -0,0 +1,15 @@
1
+ import { useContext } from 'react';
2
+ import { PayContext } from '../provider/PayContext.js';
3
+
4
+ function useDaimoPayUI() {
5
+ const context = useContext(PayContext);
6
+ if (!context) {
7
+ throw new Error("useDaimoPayUI must be used within a DaimoPayUIProvider");
8
+ }
9
+ return {
10
+ resetPayment: context.paymentState.resetOrder
11
+ };
12
+ }
13
+
14
+ export { useDaimoPayUI };
15
+ //# sourceMappingURL=useDaimoPayUI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDaimoPayUI.js","sources":["../../../../../../src/hooks/useDaimoPayUI.tsx"],"sourcesContent":["import { useContext } from \"react\";\nimport { PayParams } from \"../payment/paymentFsm\";\nimport { PayContext } from \"../provider/PayContext\";\n\ntype UseDaimoPayUI = {\n resetPayment: (payParams?: Partial<PayParams>) => Promise<void>;\n};\n\nexport function useDaimoPayUI(): UseDaimoPayUI {\n const context = useContext(PayContext);\n if (!context) {\n throw new Error(\"useDaimoPayUI must be used within a DaimoPayUIProvider\");\n }\n\n return {\n resetPayment: context.paymentState.resetOrder,\n };\n}\n"],"names":[],"mappings":";;;AAQO,SAAS,aAA+B,GAAA;AAC7C,EAAM,MAAA,OAAA,GAAU,WAAW,UAAU,CAAA,CAAA;AACrC,EAAA,IAAI,CAAC,OAAS,EAAA;AACZ,IAAM,MAAA,IAAI,MAAM,wDAAwD,CAAA,CAAA;AAAA,GAC1E;AAEA,EAAO,OAAA;AAAA,IACL,YAAA,EAAc,QAAQ,YAAa,CAAA,UAAA;AAAA,GACrC,CAAA;AACF;;;;"}
@@ -0,0 +1,35 @@
1
+ import { useState, useEffect } from 'react';
2
+
3
+ function useDepositAddressOptions({
4
+ trpc,
5
+ usdRequired,
6
+ mode
7
+ }) {
8
+ const [options, setOptions] = useState(
9
+ []
10
+ );
11
+ const [loading, setLoading] = useState(false);
12
+ useEffect(() => {
13
+ const refreshDepositAddressOptions = async (usd, mode2) => {
14
+ setLoading(true);
15
+ try {
16
+ const options2 = await trpc.getDepositAddressOptions.query({
17
+ usdRequired: usd,
18
+ mode: mode2
19
+ });
20
+ setOptions(options2);
21
+ } catch (e) {
22
+ console.error(e);
23
+ } finally {
24
+ setLoading(false);
25
+ }
26
+ };
27
+ if (usdRequired != null && mode != null) {
28
+ refreshDepositAddressOptions(usdRequired, mode);
29
+ }
30
+ }, [usdRequired, mode]);
31
+ return { options, loading };
32
+ }
33
+
34
+ export { useDepositAddressOptions };
35
+ //# sourceMappingURL=useDepositAddressOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDepositAddressOptions.js","sources":["../../../../../../src/hooks/useDepositAddressOptions.ts"],"sourcesContent":["import {\n DaimoPayOrderMode,\n DepositAddressPaymentOptionMetadata,\n} from \"@daimo/pay-common\";\nimport { useEffect, useState } from \"react\";\nimport { TrpcClient } from \"../utils/trpc\";\n\nexport function useDepositAddressOptions({\n trpc,\n usdRequired,\n mode,\n}: {\n trpc: TrpcClient;\n usdRequired: number | undefined;\n mode: DaimoPayOrderMode | undefined;\n}) {\n const [options, setOptions] = useState<DepositAddressPaymentOptionMetadata[]>(\n [],\n );\n const [loading, setLoading] = useState(false);\n\n useEffect(() => {\n const refreshDepositAddressOptions = async (\n usd: number,\n mode: DaimoPayOrderMode,\n ) => {\n setLoading(true);\n try {\n const options = await trpc.getDepositAddressOptions.query({\n usdRequired: usd,\n mode,\n });\n setOptions(options);\n } catch (e) {\n console.error(e);\n } finally {\n setLoading(false);\n }\n };\n\n if (usdRequired != null && mode != null) {\n refreshDepositAddressOptions(usdRequired, mode);\n }\n }, [usdRequired, mode]); // eslint-disable-line react-hooks/exhaustive-deps\n\n return { options, loading };\n}\n"],"names":["mode","options"],"mappings":";;AAOO,SAAS,wBAAyB,CAAA;AAAA,EACvC,IAAA;AAAA,EACA,WAAA;AAAA,EACA,IAAA;AACF,CAIG,EAAA;AACD,EAAM,MAAA,CAAC,OAAS,EAAA,UAAU,CAAI,GAAA,QAAA;AAAA,IAC5B,EAAC;AAAA,GACH,CAAA;AACA,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAI,SAAS,KAAK,CAAA,CAAA;AAE5C,EAAA,SAAA,CAAU,MAAM;AACd,IAAM,MAAA,4BAAA,GAA+B,OACnC,GAAA,EACAA,KACG,KAAA;AACH,MAAA,UAAA,CAAW,IAAI,CAAA,CAAA;AACf,MAAI,IAAA;AACF,QAAA,MAAMC,QAAU,GAAA,MAAM,IAAK,CAAA,wBAAA,CAAyB,KAAM,CAAA;AAAA,UACxD,WAAa,EAAA,GAAA;AAAA,UACb,IAAAD,EAAAA,KAAAA;AAAA,SACD,CAAA,CAAA;AACD,QAAA,UAAA,CAAWC,QAAO,CAAA,CAAA;AAAA,eACX,CAAG,EAAA;AACV,QAAA,OAAA,CAAQ,MAAM,CAAC,CAAA,CAAA;AAAA,OACf,SAAA;AACA,QAAA,UAAA,CAAW,KAAK,CAAA,CAAA;AAAA,OAClB;AAAA,KACF,CAAA;AAEA,IAAI,IAAA,WAAA,IAAe,IAAQ,IAAA,IAAA,IAAQ,IAAM,EAAA;AACvC,MAAA,4BAAA,CAA6B,aAAa,IAAI,CAAA,CAAA;AAAA,KAChD;AAAA,GACC,EAAA,CAAC,WAAa,EAAA,IAAI,CAAC,CAAA,CAAA;AAEtB,EAAO,OAAA,EAAE,SAAS,OAAQ,EAAA,CAAA;AAC5B;;;;"}
@@ -0,0 +1,16 @@
1
+ import { createConfig, http } from 'wagmi';
2
+ import { mainnet } from 'wagmi/chains';
3
+ import { useChainIsSupported } from './useChainIsSupported.js';
4
+
5
+ const ensFallbackConfig = createConfig({
6
+ chains: [mainnet],
7
+ transports: {
8
+ [mainnet.id]: http()
9
+ }
10
+ });
11
+ function useEnsFallbackConfig() {
12
+ return !useChainIsSupported(1) ? ensFallbackConfig : void 0;
13
+ }
14
+
15
+ export { useEnsFallbackConfig };
16
+ //# sourceMappingURL=useEnsFallbackConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useEnsFallbackConfig.js","sources":["../../../../../../src/hooks/useEnsFallbackConfig.ts"],"sourcesContent":["import type { Config } from \"@wagmi/core\";\nimport { createConfig, http } from \"wagmi\";\nimport { mainnet } from \"wagmi/chains\";\nimport { useChainIsSupported } from \"../hooks/useChainIsSupported\";\n\nconst ensFallbackConfig = createConfig({\n chains: [mainnet],\n transports: {\n [mainnet.id]: http(),\n },\n});\n\nexport function useEnsFallbackConfig(): Config | undefined {\n return !useChainIsSupported(1) ? ensFallbackConfig : undefined;\n}\n"],"names":[],"mappings":";;;;AAKA,MAAM,oBAAoB,YAAa,CAAA;AAAA,EACrC,MAAA,EAAQ,CAAC,OAAO,CAAA;AAAA,EAChB,UAAY,EAAA;AAAA,IACV,CAAC,OAAA,CAAQ,EAAE,GAAG,IAAK,EAAA;AAAA,GACrB;AACF,CAAC,CAAA,CAAA;AAEM,SAAS,oBAA2C,GAAA;AACzD,EAAA,OAAO,CAAC,mBAAA,CAAoB,CAAC,CAAA,GAAI,iBAAoB,GAAA,KAAA,CAAA,CAAA;AACvD;;;;"}
@@ -0,0 +1,79 @@
1
+ import { ExternalPaymentOptions } from '@daimo/pay-common';
2
+ import { useState, useEffect } from 'react';
3
+ import { inferTopLevelFromArray } from '../constants/paymentOptions.js';
4
+
5
+ const DEFAULT_EXTERNAL_PAYMENT_OPTIONS = Object.values(
6
+ ExternalPaymentOptions
7
+ ).filter(
8
+ (opt) => (
9
+ // These are handled in the SelectMethod component.
10
+ opt !== ExternalPaymentOptions.AllAddresses && opt !== ExternalPaymentOptions.AllPaymentApps
11
+ )
12
+ );
13
+ function useExternalPaymentOptions({
14
+ trpc,
15
+ filterIds,
16
+ platform,
17
+ usdRequired,
18
+ mode
19
+ }) {
20
+ const [options, setOptions] = useState(/* @__PURE__ */ new Map());
21
+ const [loading, setLoading] = useState(false);
22
+ const [parsedConfig, setParsedConfig] = useState({
23
+ walletOrder: []
24
+ });
25
+ useEffect(() => {
26
+ const refreshExternalPaymentOptions = async (usd, mode2) => {
27
+ if (!platform) return;
28
+ setLoading(true);
29
+ try {
30
+ const newOptions = await trpc.getExternalPaymentOptions.query({
31
+ platform,
32
+ mode: mode2,
33
+ usdRequired: usd
34
+ });
35
+ let walletOrder = [];
36
+ if (filterIds) {
37
+ const nestedArray = filterIds.find((opt) => Array.isArray(opt));
38
+ if (nestedArray && Array.isArray(nestedArray)) {
39
+ walletOrder = nestedArray;
40
+ }
41
+ }
42
+ setParsedConfig({ walletOrder });
43
+ const flatFilterIds = filterIds ? filterIds.flatMap(
44
+ (opt) => Array.isArray(opt) ? inferTopLevelFromArray(opt) ?? "AllWallets" : opt
45
+ ) : null;
46
+ const enabledExtPaymentOptions = flatFilterIds || DEFAULT_EXTERNAL_PAYMENT_OPTIONS;
47
+ const hasAllPaymentApps = enabledExtPaymentOptions.includes(
48
+ ExternalPaymentOptions.AllPaymentApps
49
+ );
50
+ const hasAllExchanges = enabledExtPaymentOptions.includes(
51
+ ExternalPaymentOptions.AllExchanges
52
+ );
53
+ const filteredOptions = newOptions.filter(
54
+ (option) => enabledExtPaymentOptions.includes(option.id) || hasAllPaymentApps && option.optionType === "zkp2p" || hasAllExchanges && option.optionType === "exchange"
55
+ );
56
+ const optionsByType = /* @__PURE__ */ new Map();
57
+ filteredOptions.forEach((option) => {
58
+ const { optionType } = option;
59
+ if (!optionsByType.has(optionType)) {
60
+ optionsByType.set(optionType, []);
61
+ }
62
+ optionsByType.get(optionType).push(option);
63
+ });
64
+ setOptions(optionsByType);
65
+ } catch (error) {
66
+ console.error(error);
67
+ } finally {
68
+ setLoading(false);
69
+ }
70
+ };
71
+ if (usdRequired != null && mode != null) {
72
+ refreshExternalPaymentOptions(usdRequired, mode);
73
+ }
74
+ }, [usdRequired, JSON.stringify(filterIds), platform, mode, trpc]);
75
+ return { options, loading, parsedConfig };
76
+ }
77
+
78
+ export { useExternalPaymentOptions };
79
+ //# sourceMappingURL=useExternalPaymentOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useExternalPaymentOptions.js","sources":["../../../../../../src/hooks/useExternalPaymentOptions.ts"],"sourcesContent":["import {\n DaimoPayOrderMode,\n ExternalPaymentOptionMetadata,\n ExternalPaymentOptions,\n PlatformType,\n} from \"@daimo/pay-common\";\nimport { useEffect, useState } from \"react\";\nimport { inferTopLevelFromArray } from \"../constants/paymentOptions\";\nimport { TrpcClient } from \"../utils/trpc\";\n\nconst DEFAULT_EXTERNAL_PAYMENT_OPTIONS = Object.values(\n ExternalPaymentOptions,\n).filter(\n (opt) =>\n // These are handled in the SelectMethod component.\n opt !== ExternalPaymentOptions.AllAddresses &&\n opt !== ExternalPaymentOptions.AllPaymentApps,\n);\n\nexport function useExternalPaymentOptions({\n trpc,\n filterIds,\n platform,\n usdRequired,\n mode,\n}: {\n trpc: TrpcClient;\n filterIds: (string | string[])[] | undefined;\n platform: PlatformType | undefined;\n usdRequired: number | undefined;\n mode: DaimoPayOrderMode | undefined;\n}): {\n /// Exteral options, organized by optionType\n options: Map<\n \"external\" | \"zkp2p\" | \"exchange\",\n ExternalPaymentOptionMetadata[]\n >;\n loading: boolean;\n parsedConfig: {\n walletOrder: string[];\n };\n} {\n const [options, setOptions] = useState<\n Map<\"external\" | \"zkp2p\" | \"exchange\", ExternalPaymentOptionMetadata[]>\n >(new Map());\n const [loading, setLoading] = useState(false);\n const [parsedConfig, setParsedConfig] = useState<{ walletOrder: string[] }>({\n walletOrder: [],\n });\n\n useEffect(() => {\n const refreshExternalPaymentOptions = async (\n usd: number,\n mode: DaimoPayOrderMode,\n ) => {\n if (!platform) return;\n\n setLoading(true);\n try {\n const newOptions = await trpc.getExternalPaymentOptions.query({\n platform,\n mode,\n usdRequired: usd,\n });\n\n // Extract wallet order from nested array in filterIds\n let walletOrder: string[] = [];\n if (filterIds) {\n const nestedArray = filterIds.find((opt) => Array.isArray(opt));\n if (nestedArray && Array.isArray(nestedArray)) {\n walletOrder = nestedArray as string[];\n }\n }\n setParsedConfig({ walletOrder });\n\n // Filter out options not in options JSON\n // Flatten nested arrays (used for mobile wallet filtering)\n const flatFilterIds = filterIds\n ? filterIds.flatMap((opt) =>\n Array.isArray(opt)\n ? (inferTopLevelFromArray(opt as string[]) ?? \"AllWallets\")\n : opt,\n )\n : null;\n const enabledExtPaymentOptions =\n flatFilterIds || DEFAULT_EXTERNAL_PAYMENT_OPTIONS;\n\n const hasAllPaymentApps = enabledExtPaymentOptions.includes(\n ExternalPaymentOptions.AllPaymentApps,\n );\n const hasAllExchanges = enabledExtPaymentOptions.includes(\n ExternalPaymentOptions.AllExchanges,\n );\n\n const filteredOptions = newOptions.filter(\n (option: ExternalPaymentOptionMetadata) =>\n enabledExtPaymentOptions.includes(option.id) ||\n (hasAllPaymentApps && option.optionType === \"zkp2p\") ||\n (hasAllExchanges && option.optionType === \"exchange\"),\n );\n const optionsByType: Map<\n \"external\" | \"zkp2p\" | \"exchange\",\n ExternalPaymentOptionMetadata[]\n > = new Map();\n filteredOptions.forEach((option) => {\n const { optionType } = option;\n if (!optionsByType.has(optionType)) {\n optionsByType.set(optionType, []);\n }\n optionsByType.get(optionType)!.push(option);\n });\n\n setOptions(optionsByType);\n } catch (error) {\n console.error(error);\n } finally {\n setLoading(false);\n }\n };\n\n if (usdRequired != null && mode != null) {\n refreshExternalPaymentOptions(usdRequired, mode);\n }\n // TODO: this is an ugly way to handle polling/refresh\n // Notice the load-bearing JSON.stringify() to prevent a visible infinite\n // refresh glitch on the SelectMethod screen. Replace this useEffect().\n //\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [usdRequired, JSON.stringify(filterIds), platform, mode, trpc]);\n\n return { options, loading, parsedConfig };\n}\n"],"names":["mode"],"mappings":"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"}
@@ -0,0 +1,133 @@
1
+ import { useCallback, useRef, useState, useEffect, useLayoutEffect } from 'react';
2
+ import ResizeObserver from 'resize-observer-polyfill';
3
+
4
+ const LOG_LEVEL = {
5
+ debug: 10,
6
+ info: 20,
7
+ warn: 30,
8
+ error: 40,
9
+ none: 100
10
+ };
11
+ const useIsoLayoutEffect = typeof window !== "undefined" && window.document && window.document.createElement !== void 0 ? useLayoutEffect : useEffect;
12
+ const useFitText = ({
13
+ logLevel: logLevelOption = "info",
14
+ maxFontSize = 100,
15
+ minFontSize = 20,
16
+ onFinish,
17
+ onStart,
18
+ resolution = 5
19
+ } = {}) => {
20
+ const logLevel = LOG_LEVEL[logLevelOption];
21
+ const initState = useCallback(() => {
22
+ return {
23
+ calcKey: 0,
24
+ fontSize: maxFontSize,
25
+ fontSizePrev: minFontSize,
26
+ fontSizeMax: maxFontSize,
27
+ fontSizeMin: minFontSize
28
+ };
29
+ }, [maxFontSize, minFontSize]);
30
+ const ref = useRef(null);
31
+ const innerHtmlPrevRef = useRef();
32
+ const isCalculatingRef = useRef(false);
33
+ const [state, setState] = useState(initState);
34
+ const { calcKey, fontSize, fontSizeMax, fontSizeMin, fontSizePrev } = state;
35
+ let animationFrameId = null;
36
+ const [ro] = useState(
37
+ () => new ResizeObserver(() => {
38
+ animationFrameId = window.requestAnimationFrame(() => {
39
+ if (isCalculatingRef.current) {
40
+ return;
41
+ }
42
+ onStart && onStart();
43
+ isCalculatingRef.current = true;
44
+ setState({
45
+ ...initState(),
46
+ calcKey: calcKey + 1
47
+ });
48
+ });
49
+ })
50
+ );
51
+ useEffect(() => {
52
+ if (ref.current) {
53
+ ro.observe(ref.current);
54
+ }
55
+ return () => {
56
+ animationFrameId && window.cancelAnimationFrame(animationFrameId);
57
+ ro.disconnect();
58
+ };
59
+ }, [animationFrameId, ro]);
60
+ const innerHtml = ref.current && ref.current.innerHTML;
61
+ useEffect(() => {
62
+ if (calcKey === 0 || isCalculatingRef.current) return;
63
+ if (innerHtml !== innerHtmlPrevRef.current) {
64
+ onStart && onStart();
65
+ setState({
66
+ ...initState(),
67
+ calcKey: calcKey + 1
68
+ });
69
+ }
70
+ innerHtmlPrevRef.current = innerHtml;
71
+ }, [calcKey, initState, innerHtml, onStart]);
72
+ useIsoLayoutEffect(() => {
73
+ if (calcKey === 0) {
74
+ return;
75
+ }
76
+ const isWithinResolution = Math.abs(fontSize - fontSizePrev) <= resolution;
77
+ const isOverflow = !!ref.current && (ref.current.scrollHeight > ref.current.offsetHeight || ref.current.scrollWidth > ref.current.offsetWidth);
78
+ const isFailed = isOverflow && fontSize === fontSizePrev;
79
+ const isAsc = fontSize > fontSizePrev;
80
+ if (isWithinResolution) {
81
+ if (isFailed) {
82
+ isCalculatingRef.current = false;
83
+ if (logLevel <= LOG_LEVEL.info) {
84
+ console.info(
85
+ `[use-fit-text] reached \`minFontSize = ${minFontSize}\` without fitting text`
86
+ );
87
+ }
88
+ } else if (isOverflow) {
89
+ setState({
90
+ fontSize: isAsc ? fontSizePrev : fontSizeMin,
91
+ fontSizeMax,
92
+ fontSizeMin,
93
+ fontSizePrev,
94
+ calcKey
95
+ });
96
+ } else {
97
+ isCalculatingRef.current = false;
98
+ onFinish && onFinish(fontSize);
99
+ }
100
+ return;
101
+ }
102
+ let delta;
103
+ let newMax = fontSizeMax;
104
+ let newMin = fontSizeMin;
105
+ if (isOverflow) {
106
+ delta = isAsc ? fontSizePrev - fontSize : fontSizeMin - fontSize;
107
+ newMax = Math.min(fontSizeMax, fontSize);
108
+ } else {
109
+ delta = isAsc ? fontSizeMax - fontSize : fontSizePrev - fontSize;
110
+ newMin = Math.max(fontSizeMin, fontSize);
111
+ }
112
+ setState({
113
+ calcKey,
114
+ fontSize: fontSize + delta / 2,
115
+ fontSizeMax: newMax,
116
+ fontSizeMin: newMin,
117
+ fontSizePrev: fontSize
118
+ });
119
+ }, [
120
+ calcKey,
121
+ fontSize,
122
+ fontSizeMax,
123
+ fontSizeMin,
124
+ fontSizePrev,
125
+ onFinish,
126
+ ref,
127
+ resolution
128
+ ]);
129
+ return { fontSize, ref };
130
+ };
131
+
132
+ export { useFitText as default };
133
+ //# sourceMappingURL=useFitText.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFitText.js","sources":["../../../../../../src/hooks/useFitText.tsx"],"sourcesContent":["// https://github.com/saltycrane/use-fit-text\n\nimport {\n useCallback,\n useEffect,\n useLayoutEffect,\n useRef,\n useState,\n} from \"react\";\nimport ResizeObserver from \"resize-observer-polyfill\";\n\nexport type TLogLevel = \"debug\" | \"info\" | \"warn\" | \"error\" | \"none\";\n\nexport type TOptions = {\n logLevel?: TLogLevel;\n maxFontSize?: number;\n minFontSize?: number;\n onFinish?: (fontSize: number) => void;\n onStart?: () => void;\n resolution?: number;\n};\n\nconst LOG_LEVEL: Record<TLogLevel, number> = {\n debug: 10,\n info: 20,\n warn: 30,\n error: 40,\n none: 100,\n};\n\n// Suppress `useLayoutEffect` warning when rendering on the server\n// https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useIsoLayoutEffect =\n typeof window !== \"undefined\" &&\n window.document &&\n window.document.createElement !== undefined\n ? useLayoutEffect\n : useEffect;\n\nconst useFitText = ({\n logLevel: logLevelOption = \"info\",\n maxFontSize = 100,\n minFontSize = 20,\n onFinish,\n onStart,\n resolution = 5,\n}: TOptions = {}) => {\n const logLevel = LOG_LEVEL[logLevelOption];\n\n const initState = useCallback(() => {\n return {\n calcKey: 0,\n fontSize: maxFontSize,\n fontSizePrev: minFontSize,\n fontSizeMax: maxFontSize,\n fontSizeMin: minFontSize,\n };\n }, [maxFontSize, minFontSize]);\n\n const ref = useRef<HTMLDivElement>(null);\n const innerHtmlPrevRef = useRef<string | null>();\n const isCalculatingRef = useRef(false);\n const [state, setState] = useState(initState);\n const { calcKey, fontSize, fontSizeMax, fontSizeMin, fontSizePrev } = state;\n\n // Montior div size changes and recalculate on resize\n let animationFrameId: number | null = null;\n const [ro] = useState(\n () =>\n new ResizeObserver(() => {\n animationFrameId = window.requestAnimationFrame(() => {\n if (isCalculatingRef.current) {\n return;\n }\n onStart && onStart();\n isCalculatingRef.current = true;\n // `calcKey` is used in the dependencies array of\n // `useIsoLayoutEffect` below. It is incremented so that the font size\n // will be recalculated even if the previous state didn't change (e.g.\n // when the text fit initially).\n setState({\n ...initState(),\n calcKey: calcKey + 1,\n });\n });\n }),\n );\n\n useEffect(() => {\n if (ref.current) {\n ro.observe(ref.current);\n }\n return () => {\n animationFrameId && window.cancelAnimationFrame(animationFrameId);\n ro.disconnect();\n };\n }, [animationFrameId, ro]);\n\n // Recalculate when the div contents change\n const innerHtml = ref.current && ref.current.innerHTML;\n useEffect(() => {\n if (calcKey === 0 || isCalculatingRef.current) return;\n\n if (innerHtml !== innerHtmlPrevRef.current) {\n onStart && onStart();\n setState({\n ...initState(),\n calcKey: calcKey + 1,\n });\n }\n innerHtmlPrevRef.current = innerHtml;\n }, [calcKey, initState, innerHtml, onStart]);\n\n // Check overflow and resize font\n useIsoLayoutEffect(() => {\n // Don't start calculating font size until the `resizeKey` is incremented\n // above in the `ResizeObserver` callback. This avoids an extra resize\n // on initialization.\n if (calcKey === 0) {\n return;\n }\n\n const isWithinResolution = Math.abs(fontSize - fontSizePrev) <= resolution;\n const isOverflow =\n !!ref.current &&\n (ref.current.scrollHeight > ref.current.offsetHeight ||\n ref.current.scrollWidth > ref.current.offsetWidth);\n const isFailed = isOverflow && fontSize === fontSizePrev;\n const isAsc = fontSize > fontSizePrev;\n\n // Return if the font size has been adjusted \"enough\" (change within `resolution`)\n // reduce font size by one increment if it's overflowing.\n if (isWithinResolution) {\n if (isFailed) {\n isCalculatingRef.current = false;\n if (logLevel <= LOG_LEVEL.info) {\n console.info(\n `[use-fit-text] reached \\`minFontSize = ${minFontSize}\\` without fitting text`,\n );\n }\n } else if (isOverflow) {\n setState({\n fontSize: isAsc ? fontSizePrev : fontSizeMin,\n fontSizeMax,\n fontSizeMin,\n fontSizePrev,\n calcKey,\n });\n } else {\n isCalculatingRef.current = false;\n onFinish && onFinish(fontSize);\n }\n return;\n }\n\n // Binary search to adjust font size\n let delta: number;\n let newMax = fontSizeMax;\n let newMin = fontSizeMin;\n if (isOverflow) {\n delta = isAsc ? fontSizePrev - fontSize : fontSizeMin - fontSize;\n newMax = Math.min(fontSizeMax, fontSize);\n } else {\n delta = isAsc ? fontSizeMax - fontSize : fontSizePrev - fontSize;\n newMin = Math.max(fontSizeMin, fontSize);\n }\n setState({\n calcKey,\n fontSize: fontSize + delta / 2,\n fontSizeMax: newMax,\n fontSizeMin: newMin,\n fontSizePrev: fontSize,\n });\n }, [\n calcKey,\n fontSize,\n fontSizeMax,\n fontSizeMin,\n fontSizePrev,\n onFinish,\n ref,\n resolution,\n ]);\n\n return { fontSize, ref };\n};\n\nexport default useFitText;\n"],"names":[],"mappings":"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"}