@fangorn-network/westmarch 0.0.19-dev → 0.1.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 (386) hide show
  1. package/README.md +35 -5
  2. package/docs/app-to-agent.md +113 -620
  3. package/package.json +18 -18
  4. package/site/dist/assets/__vite-browser-external-D2U8RZpp.js +1 -0
  5. package/site/dist/assets/embed.worker-CmS57Zti.js +1 -0
  6. package/site/dist/assets/index-CkP1WhkV.js +8 -0
  7. package/site/dist/assets/roles-BDPDWrwo.js +1 -0
  8. package/site/dist/assets/rolldown-runtime-COiEfhsA.js +1 -0
  9. package/site/dist/assets/transformers.web-CUZUFjAK.js +49 -0
  10. package/site/dist/assets/transformers.web-CwR_IYQV.js +40 -0
  11. package/site/dist/index.html +6 -7
  12. package/site/feed.js +16 -1
  13. package/site/no-model.js +4 -0
  14. package/site/worker.js +382 -59
  15. package/src/agent/agent-card.js +51 -37
  16. package/src/agent/mcp.js +173 -500
  17. package/src/agent/tools.js +3 -2
  18. package/src/agent/ui.js +1 -1
  19. package/src/agent/view-tools.js +11 -30
  20. package/src/agent/x402.js +194 -85
  21. package/src/core/embed.js +56 -53
  22. package/src/core/embed.worker.js +1 -1
  23. package/src/core/rank.js +1 -1
  24. package/src/core/roles.js +7 -7
  25. package/src/core/shard.js +12 -8
  26. package/src/discover/apps.js +103 -67
  27. package/src/discover/corpora.js +1 -1
  28. package/src/discover/directory.js +3 -3
  29. package/src/market/cohort.js +1 -1
  30. package/src/market/demand.js +1 -1
  31. package/src/market/reactions.js +24 -18
  32. package/src/publish/devnet.js +146 -0
  33. package/src/publish/graph.js +1 -1
  34. package/src/publish/init.js +74 -0
  35. package/src/publish/lint.js +3 -2
  36. package/src/publish/ship.js +433 -287
  37. package/src/publish/view-cli.js +14 -10
  38. package/src/publish/view.js +485 -255
  39. package/src/taste/steam.js +1 -1
  40. package/src/taste/taste-doc.js +4 -3
  41. package/src/taste/taste.js +3 -3
  42. package/src/taste/vault.js +4 -2
  43. package/template/README.md +48 -0
  44. package/template/app.json +27 -0
  45. package/template/eval/goals.md +7 -0
  46. package/template/eval/golden.jsonl +0 -0
  47. package/template/gitignore +3 -0
  48. package/template/package.json +13 -0
  49. package/template/wrangler.json +12 -0
  50. package/plugin/scripts/fx.mjs +0 -268
  51. package/site/dist/assets/AccountNotFoundScreen-C4njXc69-BOfmiSH1.js +0 -1
  52. package/site/dist/assets/AddFundsSelectionScreen-RAoCn7ej-B6uvYyqa.js +0 -31
  53. package/site/dist/assets/Address-H8kD1d9O-DcHv7A8C.js +0 -17
  54. package/site/dist/assets/AffirmativeConsentScreen-BG0MJxku-v2wz-N-s.js +0 -6
  55. package/site/dist/assets/AllowlistRejectionScreen-Cae6e1Od-DhVy9iGN.js +0 -1
  56. package/site/dist/assets/ApiController-BbhXeqTV.js +0 -5
  57. package/site/dist/assets/ArrowsRightLeftIcon-cp60yobq.js +0 -1
  58. package/site/dist/assets/AuthenticateWithWalletScreen-CU6hIcFT-B0eT1zE6.js +0 -1
  59. package/site/dist/assets/AwaitingEvmToSolBridgingScreen-D0e_sZMS-DL5PH-v_.js +0 -1
  60. package/site/dist/assets/AwaitingExternalEthereumTransferScreen-ur5HL4R7-n1BsRPqc.js +0 -1
  61. package/site/dist/assets/AwaitingPasswordlessCodeScreen-DRHz76mM-BVl2BJDY.js +0 -103
  62. package/site/dist/assets/AwaitingSolToEvmBridgingScreen-CdLRrGD2-BD-OZUQb.js +0 -1
  63. package/site/dist/assets/BridgeNetworkSelectionView-CFGjB2nO-CaYrzRje.js +0 -68
  64. package/site/dist/assets/CaptchaScreen-DbpvkIGx-BQJ7inx1.js +0 -1
  65. package/site/dist/assets/CheckCircleIcon-BM409mGI.js +0 -1
  66. package/site/dist/assets/CheckCircleIcon-NCOQc0Gs.js +0 -1
  67. package/site/dist/assets/Checkbox-D1EDeo41-rHlvsZzP.js +0 -52
  68. package/site/dist/assets/ChevronDownIcon-CW-4MSpE.js +0 -1
  69. package/site/dist/assets/Chip-CZKIKt9K-CutJG010.js +0 -26
  70. package/site/dist/assets/CoinbaseOnrampStatusScreen-BbyCJDXL-DDaMC7cl.js +0 -16
  71. package/site/dist/assets/ConnectEmailForm-B-VRE0MN-DVSf4tFJ.js +0 -3
  72. package/site/dist/assets/ConnectLedgerScreen-DWHABGot-h0uYIUi6.js +0 -10
  73. package/site/dist/assets/ConnectOnlyLandingScreen-CZYx9Bmp-DP19hJq5.js +0 -1
  74. package/site/dist/assets/ConnectOnlyStatusScreen-DCRzjxHx-DHvijlTx.js +0 -1
  75. package/site/dist/assets/ConnectOrCreateScreen-CUUYUO07-ewmXYPTQ.js +0 -1
  76. package/site/dist/assets/ConnectPhoneForm-Dek5xn4C-DUYdmVtr.js +0 -95
  77. package/site/dist/assets/ConnectWalletView-DqI-PTvX-RobGErVW.js +0 -74
  78. package/site/dist/assets/ConnectionStatusScreen-fUfROm9m-Bbiq3hY6.js +0 -1
  79. package/site/dist/assets/ConnectionStatusScreen-fUfROm9m-DPkOGNWl.js +0 -7
  80. package/site/dist/assets/ConnectorUtil-BO1L6VvV.js +0 -21
  81. package/site/dist/assets/ConstantsUtil-DmLsRHAl.js +0 -198
  82. package/site/dist/assets/CopyToClipboard-i_OQSBJr-DujUHNzW.js +0 -39
  83. package/site/dist/assets/CopyableText-CQapvaMr-DMIdpDaU.js +0 -28
  84. package/site/dist/assets/CrossAppAuthScreen-CLw7ymZq-DbGy4QyA.js +0 -1
  85. package/site/dist/assets/CustomLandingScreenView-Cm_MBSyX-B3WqJZBh.js +0 -22
  86. package/site/dist/assets/DelegatedActionsConsentScreen-DYF2U4y5-CmUDoS0C.js +0 -1
  87. package/site/dist/assets/DelegatedActionsRevokeScreen-bPp6Uwyh-fcO51q5H.js +0 -1
  88. package/site/dist/assets/DepositAddressAddressStepView-4vdkb55L-ClAb_j1B.js +0 -187
  89. package/site/dist/assets/DepositAddressScreen-DBLRs7aI-CN1P_KY9.js +0 -8
  90. package/site/dist/assets/DepositAddressV3Screen-CDqIEMQw-BtDZmuEN.js +0 -1
  91. package/site/dist/assets/EmailInputForm-Cqo1mda8-B2NG3K5V.js +0 -124
  92. package/site/dist/assets/EmbeddedWalletConnectingScreen-D4T7DUzs-D3pExuaW.js +0 -1
  93. package/site/dist/assets/EmbeddedWalletCreatedScreen-D7WhW5ve-CLsJbPYQ.js +0 -1
  94. package/site/dist/assets/EmbeddedWalletKeyExportScreen-CqV4NYQ3-DI6bu-oi.js +0 -23
  95. package/site/dist/assets/EmbeddedWalletOnAccountCreateScreen-BoKb3Q2S-BQ9Ygr0P.js +0 -1
  96. package/site/dist/assets/EmbeddedWalletPasswordUpdateScreen-D3rMlqS7-CxrfLr5q.js +0 -1
  97. package/site/dist/assets/EmbeddedWalletPasswordUpdateSplashScreen-BPFkWJeE-DHZRGoTN.js +0 -1
  98. package/site/dist/assets/EnrollTotp-Dibew4dp-7gVtJ1Jt.js +0 -66
  99. package/site/dist/assets/EnvelopeIcon-Dh2vSVj4.js +0 -1
  100. package/site/dist/assets/ErrorBanner-BcpGRt0h-BKOYTyCi.js +0 -21
  101. package/site/dist/assets/ErrorMessage-D8VaAP5m-CrZOnUyg.js +0 -8
  102. package/site/dist/assets/ErrorScreen-DipdTWzE-BT8TtRTx.js +0 -4
  103. package/site/dist/assets/ErrorScreen-DipdTWzE-DAam41Xl.js +0 -1
  104. package/site/dist/assets/ExclamationCircleIcon-DUA2wMfO.js +0 -1
  105. package/site/dist/assets/ExclamationTriangleIcon-eZfaqcFq.js +0 -1
  106. package/site/dist/assets/FarcasterConnectStatusScreen-51tjUxqq-BPCBi37Q.js +0 -75
  107. package/site/dist/assets/FarcasterSignerStatusScreen-6x-Uh95G-XCmWpnUd.js +0 -28
  108. package/site/dist/assets/FiatOnrampScreen-BAhYeiTI-DJRcUh2N.js +0 -491
  109. package/site/dist/assets/FingerPrintIcon-Dm6kxmg7.js +0 -1
  110. package/site/dist/assets/FundSolWalletWithExternalSolanaWallet-WtLwYaOl-BfNVSTb1.js +0 -1
  111. package/site/dist/assets/FundWalletMethodHeader-BWNkokCT-BQdbJ5Bb.js +0 -1
  112. package/site/dist/assets/FundWithBankDepositScreen-DajkHxBD-BfvMcHb6.js +0 -58
  113. package/site/dist/assets/FundingEditAmountScreen-CpvpiO4M-VBfbahnA.js +0 -1
  114. package/site/dist/assets/FundingMethodSelectionScreen-Db7vhRlE-CMuBYf64.js +0 -1
  115. package/site/dist/assets/GlobeAltIcon-vqrVV5ho.js +0 -1
  116. package/site/dist/assets/GooglePay-B53WnudL-BX5_WtCx.js +0 -1
  117. package/site/dist/assets/HCaptchaWrapper-CUi9LJsp-D-I8j7NO.js +0 -4
  118. package/site/dist/assets/InAppBrowserLoginNotPossible-BMR9br1T-BY3j50El.js +0 -1
  119. package/site/dist/assets/InfoBanner-Cb3p1z12-DLBl_Ywy.js +0 -22
  120. package/site/dist/assets/InjectedWalletIcon-DLcYOGDj-DLSV_NjP.js +0 -1
  121. package/site/dist/assets/InstallWalletScreen-DTA8dwLv-CxreyXoD.js +0 -1
  122. package/site/dist/assets/JsonTree-BHzNC-ic-DcNcbSoM.js +0 -34
  123. package/site/dist/assets/LabelXs-oqZNqbm_-iafrj25N.js +0 -6
  124. package/site/dist/assets/LandingScreen-CGWUoSUG-Q7hgXKvM.js +0 -1
  125. package/site/dist/assets/Layouts-BMRfo5hw-CeCOyCLK.js +0 -77
  126. package/site/dist/assets/Link-BdDilT2T-BEDEdHuS.js +0 -40
  127. package/site/dist/assets/LinkConflictScreen-C3ZEPsgl-DK1z_v7y.js +0 -77
  128. package/site/dist/assets/LinkEmailScreen-dKo9frwc-BYYpJ5-6.js +0 -1
  129. package/site/dist/assets/LinkPasskeyScreen-zbrl_AI_-uhub9C26.js +0 -1
  130. package/site/dist/assets/LinkPasskeyScreen-zbrl_AI_-uid22VTN.js +0 -117
  131. package/site/dist/assets/LinkPhoneScreen-oIUpfj0w-CVQibNi9.js +0 -1
  132. package/site/dist/assets/Loader-UAZqxsnw-Cy7hEE2f.js +0 -62
  133. package/site/dist/assets/LoadingSkeleton-BMsgO5PV-CiEyS5PZ.js +0 -17
  134. package/site/dist/assets/LockClosedIcon-BgY_5v_Z.js +0 -1
  135. package/site/dist/assets/LoginFailedScreen-CN0dJV6U-DhUMiJZJ.js +0 -1
  136. package/site/dist/assets/ManualTransferScreen-CHqcuqbs-DMygAXMU.js +0 -1
  137. package/site/dist/assets/MfaAuthEnrollmentFlowScreen-Dj7gPTRC-_1GFUSIg.js +0 -1
  138. package/site/dist/assets/MfaAuthVerifyFlowScreen-DbFpyWMy-DLnBJ5b8.js +0 -1
  139. package/site/dist/assets/MfaEnrollmentFlowScreen-DhLnGgnr-BUJY1lzs.js +0 -1
  140. package/site/dist/assets/MfaVerifyFlowScreen-C_XPjMRP-25l5fVun.js +0 -1
  141. package/site/dist/assets/ModalFooter-BCuEK_nz-c-khvG4Y.js +0 -403
  142. package/site/dist/assets/MoonpayStatusScreen-CzTUtokc-BRFN2eXr.js +0 -16
  143. package/site/dist/assets/OAuthStatusScreen-ufbOa-da-DL30vu07.js +0 -1
  144. package/site/dist/assets/OpenLink-CUpJ1mOr-DfAvJRyK.js +0 -39
  145. package/site/dist/assets/PasskeySelectSignupOrLogin-xh2ScC_l-DtxhRQyw.js +0 -1
  146. package/site/dist/assets/PasskeyStatusScreen-Bla8MaOk-CNfu8ujT.js +0 -6
  147. package/site/dist/assets/PasswordRecoveryScreen-awGXZkQk-BR6z6xE8.js +0 -20
  148. package/site/dist/assets/PhArrowCircleDown-D97G-BOA.js +0 -14
  149. package/site/dist/assets/PhArrowClockwise-DVgyFuez.js +0 -14
  150. package/site/dist/assets/PhArrowDown-87b1BizM.js +0 -14
  151. package/site/dist/assets/PhArrowLeft-Da0MfnbK.js +0 -14
  152. package/site/dist/assets/PhArrowRight-AdrIL4DW.js +0 -14
  153. package/site/dist/assets/PhArrowSquareOut-Bk2CMG3I.js +0 -14
  154. package/site/dist/assets/PhArrowUp-4sgyKPGx.js +0 -14
  155. package/site/dist/assets/PhArrowUpRight-BNghD2zq.js +0 -14
  156. package/site/dist/assets/PhArrowsClockwise-BXRn1GEl.js +0 -14
  157. package/site/dist/assets/PhArrowsDownUp-DM09Jo_3.js +0 -14
  158. package/site/dist/assets/PhArrowsLeftRight-MuKBLUoF.js +0 -14
  159. package/site/dist/assets/PhBank-fHbgCqqZ.js +0 -14
  160. package/site/dist/assets/PhBrowser-2-9m-AkM.js +0 -14
  161. package/site/dist/assets/PhCaretDown-BDNabFuL.js +0 -14
  162. package/site/dist/assets/PhCaretLeft-CI460R-A.js +0 -14
  163. package/site/dist/assets/PhCaretRight-D7ZS3Ls8.js +0 -14
  164. package/site/dist/assets/PhCaretUp-C-iIfyvO.js +0 -14
  165. package/site/dist/assets/PhCheck-DxQXn57r.js +0 -14
  166. package/site/dist/assets/PhCircleHalf-MJZeRBGF.js +0 -14
  167. package/site/dist/assets/PhClock-x3MS3Mwi.js +0 -14
  168. package/site/dist/assets/PhCompass-hYn3HhGN.js +0 -14
  169. package/site/dist/assets/PhCopy-CWNYcABI.js +0 -14
  170. package/site/dist/assets/PhCreditCard-Fy4pzwtt.js +0 -14
  171. package/site/dist/assets/PhCurrencyDollar-BgiaenCi.js +0 -14
  172. package/site/dist/assets/PhDesktop-CxrzCSv5.js +0 -14
  173. package/site/dist/assets/PhDeviceMobile-CsyA5Goi.js +0 -14
  174. package/site/dist/assets/PhDotsThree-D-k1BiYg.js +0 -14
  175. package/site/dist/assets/PhEnvelope-D8kzeNox.js +0 -14
  176. package/site/dist/assets/PhFunnelSimple-CfQs5DAW.js +0 -14
  177. package/site/dist/assets/PhGlobe-DvmSc9_A.js +0 -14
  178. package/site/dist/assets/PhIdentificationCard-CfkZm-5K.js +0 -14
  179. package/site/dist/assets/PhImage-Cf0J2ZfJ.js +0 -14
  180. package/site/dist/assets/PhInfo-Bwi51-2X.js +0 -14
  181. package/site/dist/assets/PhLightbulb-C4FZV7Es.js +0 -14
  182. package/site/dist/assets/PhMagnifyingGlass-C9u8jSCJ.js +0 -14
  183. package/site/dist/assets/PhPaperPlaneRight-zxQVvPLX.js +0 -14
  184. package/site/dist/assets/PhPlus-C4UoW-2n.js +0 -14
  185. package/site/dist/assets/PhPower-CFyWDmgD.js +0 -14
  186. package/site/dist/assets/PhPuzzlePiece-BjoNVfST.js +0 -14
  187. package/site/dist/assets/PhQrCode-CP3tFauY.js +0 -14
  188. package/site/dist/assets/PhQuestion-wOWJBd3G.js +0 -14
  189. package/site/dist/assets/PhQuestionMark-CV0k9C0Y.js +0 -14
  190. package/site/dist/assets/PhSealCheck-vIKzREuN.js +0 -14
  191. package/site/dist/assets/PhSignOut-CxELV-i0.js +0 -14
  192. package/site/dist/assets/PhSpinner-CGDmbzUd.js +0 -14
  193. package/site/dist/assets/PhTrash-C9PD0SAt.js +0 -14
  194. package/site/dist/assets/PhUser-0sWNXQeZ.js +0 -14
  195. package/site/dist/assets/PhVault-6JTskUcC.js +0 -14
  196. package/site/dist/assets/PhWarning-CoKs3gz6.js +0 -14
  197. package/site/dist/assets/PhWarningCircle-BXHw1fCt.js +0 -14
  198. package/site/dist/assets/PhX-DX0SFIqC.js +0 -14
  199. package/site/dist/assets/PhoneIcon-CvIiPwYQ.js +0 -1
  200. package/site/dist/assets/PinInput-DbZ0b1i1-CDXZBdQx.js +0 -247
  201. package/site/dist/assets/PrivyPluginContext-DA-yS5vO-CtQWBiV2.js +0 -1
  202. package/site/dist/assets/QrCode-DbnZwlkH-BymHrKY7.js +0 -22
  203. package/site/dist/assets/RecoveryOAuthStatusScreen-CsgtTI2x-Dro1btv5.js +0 -1
  204. package/site/dist/assets/RecoveryPasswordCreateScreen-Be-qJ-LU-C1q1hiaN.js +0 -1
  205. package/site/dist/assets/RecoverySelectionScreen-D1iGtpmi-C21D20gD.js +0 -7
  206. package/site/dist/assets/SIWXUtil-CHZVugix.js +0 -1
  207. package/site/dist/assets/Screen-D30meWsY-CCeVNuWs.js +0 -175
  208. package/site/dist/assets/ScreenHeader-CHmc4-Lu-DjyrH7IK.js +0 -31
  209. package/site/dist/assets/ScreenLayout-OwaQQcxH-CrQM6kvA.js +0 -1
  210. package/site/dist/assets/SelectSourceAsset-CWFog6gm-RKjBsB6m.js +0 -140
  211. package/site/dist/assets/SetAutomaticRecoveryScreen-BO_OEqAZ-BcWHJoEG.js +0 -14
  212. package/site/dist/assets/SetWalletPasswordForm-DwCTVtAh-kq1zvA7d.js +0 -11
  213. package/site/dist/assets/ShieldCheckIcon-o6RHYev1.js +0 -1
  214. package/site/dist/assets/SignRequestScreen-BHKv32KR-iQCaBkcz.js +0 -26
  215. package/site/dist/assets/SolanaWalletConnector-C7Lqk-Wz-BUdJJ0ep.js +0 -1
  216. package/site/dist/assets/StackedContainer-B2vaEl56-eQCM2cmv.js +0 -24
  217. package/site/dist/assets/StandardSignAndSendTransactionScreen-CfhIXVtd-nART-xUU.js +0 -20
  218. package/site/dist/assets/Subtitle-CV-2yKE4-zxWw2m1Q.js +0 -13
  219. package/site/dist/assets/TelegramAuthScreen-UL9zLfO8-Dw9geyK3.js +0 -1
  220. package/site/dist/assets/Title-BnzYV3Is-B_JpTatT.js +0 -7
  221. package/site/dist/assets/TodoList-DnyULl18-C8Eyy28X.js +0 -36
  222. package/site/dist/assets/TransactionDetails-e9nesl30-DeEL1JQS.js +0 -109
  223. package/site/dist/assets/TransactionErrorView-BDBNqA_f-Dffuo7I4.js +0 -178
  224. package/site/dist/assets/TransferFromWalletScreen-Qvn1Yuno-CWLWUiHy.js +0 -31
  225. package/site/dist/assets/TransferOrBridgeLoadingScreen-Dl1I_iIz-Bo-tm6wr.js +0 -6
  226. package/site/dist/assets/TurnstileWrapper-B7sNddys-Jwy1tJtm.js +0 -1
  227. package/site/dist/assets/UpdateEmailScreen-DVOhPV0H-gFbSIUhh.js +0 -1
  228. package/site/dist/assets/UpdatePhoneScreen-CXRswTNZ-Coy4E1NQ.js +0 -1
  229. package/site/dist/assets/UserLimitReachedScreen-5we2DHn8-D7m70C4b.js +0 -1
  230. package/site/dist/assets/Value-DTgR824E-BRuIGiec.js +0 -27
  231. package/site/dist/assets/WalletCards-DH1rqayz-Bgp9Fsgs.js +0 -1
  232. package/site/dist/assets/WalletIcon-gKf0gTw6.js +0 -1
  233. package/site/dist/assets/WalletInfoCard-sq_2wgFg-ISBsQt8p.js +0 -29
  234. package/site/dist/assets/WalletInterstitialScreen-Sh7LfsAh-DG-RuO-F.js +0 -1
  235. package/site/dist/assets/WalletLink-DK5LB5Ha-CXBqCHf3.js +0 -20
  236. package/site/dist/assets/WalletOverflowButton-bfCnp-9T-DP0-PoZL.js +0 -1
  237. package/site/dist/assets/WarningBanner-ZZqCEtZK-2eU4Qo74.js +0 -21
  238. package/site/dist/assets/__vite-browser-external-CitKSmYk.js +0 -1
  239. package/site/dist/assets/_esm-CJe2F7LL.js +0 -7
  240. package/site/dist/assets/_esm-zhBBffjV.js +0 -1
  241. package/site/dist/assets/accounts-Bq8t1wAD.js +0 -1
  242. package/site/dist/assets/accounts-D96UKWkC.js +0 -1
  243. package/site/dist/assets/analytics-mkkvFRju-BRBcadka.js +0 -1
  244. package/site/dist/assets/baseSepolia-DX-qGsik.js +0 -1
  245. package/site/dist/assets/basic-MlZ7f4s9.js +0 -1575
  246. package/site/dist/assets/capitalizeFirstLetter-DmLYqXsO-DtOXx-2n.js +0 -1
  247. package/site/dist/assets/ccip-BI9LWBBg.js +0 -1
  248. package/site/dist/assets/ccip-C-59SNEF.js +0 -7
  249. package/site/dist/assets/ccip-y08wK9du.js +0 -1
  250. package/site/dist/assets/chain-DM3oH6Px.js +0 -8
  251. package/site/dist/assets/check-BPgcwEPP.js +0 -1
  252. package/site/dist/assets/chevron-down-BSsbXkK-.js +0 -1
  253. package/site/dist/assets/circle-alert-DWaeLZNj.js +0 -1
  254. package/site/dist/assets/circle-check-big-Chb1ivw9.js +0 -1
  255. package/site/dist/assets/circle-x-AV9Cet0R.js +0 -1
  256. package/site/dist/assets/client-D0IV9lV9.js +0 -2
  257. package/site/dist/assets/client-Dsa7_3V3.js +0 -9
  258. package/site/dist/assets/coinbase-DCPC2L_R-Rs9nVCfm.js +0 -3
  259. package/site/dist/assets/copy-Ckr0AkL6.js +0 -1
  260. package/site/dist/assets/core-zQ1tZtVZ.js +0 -12
  261. package/site/dist/assets/createLucideIcon-IPW50ckY.js +0 -1
  262. package/site/dist/assets/defineChain-CiuCXUZW.js +0 -1
  263. package/site/dist/assets/dijkstra-Drfl93V4.js +0 -1
  264. package/site/dist/assets/dist-BxQqwnue.js +0 -16
  265. package/site/dist/assets/dist-Cm7pNAtL.js +0 -1
  266. package/site/dist/assets/dist-CoS6E-3x.js +0 -1
  267. package/site/dist/assets/dist-Dl07uGq1.js +0 -1
  268. package/site/dist/assets/embed.worker-ugGhEqCV.js +0 -1
  269. package/site/dist/assets/errors-BQ3N-RVt-BLqjTPNR.js +0 -1
  270. package/site/dist/assets/esm-C3DslVJx.js +0 -1
  271. package/site/dist/assets/esm-Ci1ogKuK.js +0 -1
  272. package/site/dist/assets/esm-DXsETz3H.js +0 -1
  273. package/site/dist/assets/esm-n2lWo7kz.js +0 -1
  274. package/site/dist/assets/esm-vs5jNx_Y.js +0 -37
  275. package/site/dist/assets/ethers-zTjbodk5-B7BBFFKf.js +0 -1
  276. package/site/dist/assets/eventemitter3-CL76jPsW.js +0 -1
  277. package/site/dist/assets/external-link-D-uehwM2.js +0 -1
  278. package/site/dist/assets/farcaster-DPlSjvF5-BqTvDXBR.js +0 -1
  279. package/site/dist/assets/features-CYXRa3_m.js +0 -2
  280. package/site/dist/assets/fingerprint-pattern-D8ytA16Q.js +0 -1
  281. package/site/dist/assets/floating-ui.react-dom-DKWOL9UG.js +0 -1
  282. package/site/dist/assets/floating-ui.react-xRkl9O3u.js +0 -1
  283. package/site/dist/assets/formatErc20TokenAmount-BuPk9xcy-BVqOKQif.js +0 -1
  284. package/site/dist/assets/formatter-CVbp4SlJ.js +0 -1
  285. package/site/dist/assets/get-entropy-details-for-user-dHRH5Gpi-Dukf7_kJ.js +0 -1
  286. package/site/dist/assets/getChainName-DjpPdUSc-DUyKDrnp.js +0 -1
  287. package/site/dist/assets/getErc20Balance-jXNpFf0N-V2btxzrJ.js +0 -1
  288. package/site/dist/assets/getErc20TokenInfo-BNTrzLMP-CtCwQuGA.js +0 -1
  289. package/site/dist/assets/getFormattedUsdFromLamports-De3U9GlO-Gx4_wxON.js +0 -1
  290. package/site/dist/assets/getUsdcMintAddress-BVgm9GRo-r2UnDeEy.js +0 -1
  291. package/site/dist/assets/guards-BIW-GiMJ-CHfXo8XI.js +0 -1
  292. package/site/dist/assets/hooks.module-BYZGfwDl.js +0 -1
  293. package/site/dist/assets/hourglass-CPG1HZmf.js +0 -1
  294. package/site/dist/assets/id-UqEwL2BI-CdKXapd-.js +0 -1
  295. package/site/dist/assets/index-BdEw5wyl-ChSJvPZk.js +0 -1
  296. package/site/dist/assets/index-CKdAF_dK.js +0 -8
  297. package/site/dist/assets/index-CWARkn2w-Cezl_uBr.js +0 -61
  298. package/site/dist/assets/index-DvMddJcd-D-4mRLKK.js +0 -12
  299. package/site/dist/assets/index-YiCw0Y_x-BX1zsiqG.js +0 -437
  300. package/site/dist/assets/index.browser-B-i-Lj3J.js +0 -1
  301. package/site/dist/assets/index.browser-BMmUcykv.js +0 -1
  302. package/site/dist/assets/index.es-BmqyoBEM.js +0 -2
  303. package/site/dist/assets/index.es-C1v1or--.js +0 -3
  304. package/site/dist/assets/isPaymentRequestAvailable-Bq1cemEn-By6r0dVB.js +0 -1
  305. package/site/dist/assets/jsx-runtime-BbDfbRii.js +0 -1
  306. package/site/dist/assets/landmark-CH6LV6F0.js +0 -1
  307. package/site/dist/assets/lib-BsS8z8Lj.js +0 -1
  308. package/site/dist/assets/localBatchGatewayRequest-5YxrERBj.js +0 -32
  309. package/site/dist/assets/lock-DcskI4Bb.js +0 -1
  310. package/site/dist/assets/logger-CsXm3oIv-B0UYpNFI.js +0 -1
  311. package/site/dist/assets/mail-Bs0r5yOi.js +0 -1
  312. package/site/dist/assets/modal-context-CwmSeFcv-DruX9J1E.js +0 -1
  313. package/site/dist/assets/native-BKj27wfc.js +0 -1
  314. package/site/dist/assets/ofetch.CWycOUEr-CHp-crOQ.js +0 -1
  315. package/site/dist/assets/parseAbi-Csg-8t59.js +0 -2
  316. package/site/dist/assets/parseAbiParameters-BWbIMYe4.js +0 -1
  317. package/site/dist/assets/parseEther-CGP3gnf2.js +0 -1
  318. package/site/dist/assets/pkce-DXF0yKjP-Bqz4wAsq.js +0 -1
  319. package/site/dist/assets/preload-helper-BaNbYf_w.js +0 -1
  320. package/site/dist/assets/privy-context-81KmsBw2-CjWGzyg7.js +0 -2
  321. package/site/dist/assets/property-DuZ9DLP4.js +0 -3
  322. package/site/dist/assets/react-DCXkXSrv.js +0 -1
  323. package/site/dist/assets/react-DQnMl2Xv.js +0 -1
  324. package/site/dist/assets/react-DrJ0MmMO.js +0 -1
  325. package/site/dist/assets/react-auth-sHnipzbS.js +0 -1
  326. package/site/dist/assets/react-dom-5dW7aKoP.js +0 -1
  327. package/site/dist/assets/reservoir-x-nGuZkT-BMX127i6.js +0 -1
  328. package/site/dist/assets/roles-32M1l9jI.js +0 -1
  329. package/site/dist/assets/rolldown-runtime-BcKkbAw3.js +0 -1
  330. package/site/dist/assets/safe-url-D7SRPu33-CkMedGro.js +0 -1
  331. package/site/dist/assets/secp256k1-C4nzcPo-.js +0 -1
  332. package/site/dist/assets/secp256k1-D92aGNnU.js +0 -1
  333. package/site/dist/assets/secp256k1-DmbwyFau.js +0 -1
  334. package/site/dist/assets/secp256k1-_MleGpqL.js +0 -1
  335. package/site/dist/assets/secp256k1-xl2og-wO.js +0 -1
  336. package/site/dist/assets/serializeAuthorizationList-CX8hGL56.js +0 -1
  337. package/site/dist/assets/serializeSignature-DfxkPnu-.js +0 -2
  338. package/site/dist/assets/sha2-BU_QyRTx.js +0 -1
  339. package/site/dist/assets/shared-DRZUmnL5-xqAUARWo.js +0 -193
  340. package/site/dist/assets/shared-FM0rljBt--Avg6q2R.js +0 -21
  341. package/site/dist/assets/shouldProceedtoEmbeddedWalletCreationFlow-B3vyavrh-ByFOTrQK.js +0 -1
  342. package/site/dist/assets/simulateTransaction-CfuOrae4-CMFGDgT_.js +0 -1
  343. package/site/dist/assets/smartphone-CcEZ-XAy.js +0 -1
  344. package/site/dist/assets/src-BBjkfi-Q.js +0 -1
  345. package/site/dist/assets/storage-Ufl800Ne-EalZTH9q.js +0 -9
  346. package/site/dist/assets/stringify-BlDm7tuc.js +0 -21
  347. package/site/dist/assets/stripe.esm-CZRDpc-N.js +0 -2
  348. package/site/dist/assets/styles-BsotlekN-CXEB4Ud9.js +0 -9
  349. package/site/dist/assets/styles-Cm9H63WO-D90SsXOs.js +0 -92
  350. package/site/dist/assets/styles-DVyDvTdj-BTABn2K8.js +0 -74
  351. package/site/dist/assets/styles-hslXy6xG-D-49b1rk.js +0 -164
  352. package/site/dist/assets/telegram-B-JqnkqZ-RBoY3PLx.js +0 -1
  353. package/site/dist/assets/to-ui-error-DWe-qwS3-DgCO-Y70.js +0 -4
  354. package/site/dist/assets/toViemAccount-B5iDGq1b-DZ1MBqUW.js +0 -2
  355. package/site/dist/assets/transaction-BNTP-bFm-M5tJx8vY.js +0 -1
  356. package/site/dist/assets/transfer-6YztDh-t-BVQkTvG-.js +0 -1
  357. package/site/dist/assets/transformers.web-D4RvOP4-.js +0 -40
  358. package/site/dist/assets/transformers.web-D8W1u_I2.js +0 -49
  359. package/site/dist/assets/triangle-alert-CWjYH75H.js +0 -1
  360. package/site/dist/assets/twitch-5IOe4sIQ-lDtgk0os.js +0 -1
  361. package/site/dist/assets/types-4CuOD23i.js +0 -1
  362. package/site/dist/assets/use-headless-crypto-deposit-Yn-QRLB3-Dn6_8w-Y.js +0 -1
  363. package/site/dist/assets/use-unlink-wallet-BKK4_5Ur-DgsQ75lh.js +0 -1
  364. package/site/dist/assets/useActiveWallet-B-yZYGc6-B6JWREbk.js +0 -123
  365. package/site/dist/assets/useGetSolPrice-x7gfUIHJ-D1hmQfpA.js +0 -1
  366. package/site/dist/assets/useGetTokenPrice-CaoUkb79-ZnbuJ-vP.js +0 -1
  367. package/site/dist/assets/useI18n-C-5n_noF-BcqC76yj.js +0 -1
  368. package/site/dist/assets/useWalletBalance-CZnP5f_f-L3V0jDjL.js +0 -1
  369. package/site/dist/assets/useWallets-X1ndvJ_U-CLwUcevw.js +0 -1
  370. package/site/dist/assets/utils-BkR7EQjg.js +0 -1
  371. package/site/dist/assets/utils-DJhBNOZA.js +0 -1
  372. package/site/dist/assets/utils-DdckVfQr.js +0 -1
  373. package/site/dist/assets/w3m-modal-BMubXAoG.js +0 -1174
  374. package/site/dist/assets/wallet-Bn85Sg2W.js +0 -1
  375. package/site/dist/assets/wallet-connect-BvJtUsDt-Y03hhqFN.js +0 -1
  376. package/site/dist/assets/wallet-uSKqQsgP.js +0 -2
  377. package/site/dist/assets/walletconnect-registry-xxG8XLCb-D1SSFvMp.js +0 -1
  378. package/site/dist/assets/walletconnect-v2-3frQFwbg-Dv6JY_ko.js +0 -12
  379. package/site/dist/assets/wui-ux-by-reown-fVu0QkI4.js +0 -1147
  380. package/site/dist/assets/x-rlSp9U7W.js +0 -1
  381. package/src/discover/explore.js +0 -271
  382. package/src/market/settle.js +0 -165
  383. package/src/market/terms.js +0 -200
  384. package/src/publish/cli.js +0 -336
  385. package/src/publish/envelope.js +0 -185
  386. package/src/publish/manifest.js +0 -142
@@ -1,3 +0,0 @@
1
- import{s as e,t}from"./rolldown-runtime-BcKkbAw3.js";import{a as n,i as r,n as i,o as a,r as o}from"./hooks.module-BYZGfwDl.js";import{Z as s}from"./esm-vs5jNx_Y.js";import{st as c}from"./privy-context-81KmsBw2-CjWGzyg7.js";import{c as l}from"./errors-BQ3N-RVt-BLqjTPNR.js";import{b as u,c as d,i as f}from"./toViemAccount-B5iDGq1b-DZ1MBqUW.js";import{t as p}from"./logger-CsXm3oIv-B0UYpNFI.js";import{r as m}from"./SolanaWalletConnector-C7Lqk-Wz-BUdJJ0ep.js";var h=class e{constructor(e,t){this.scope=e,this.module=t}storeObject(e,t){this.setItem(e,JSON.stringify(t))}loadObject(e){let t=this.getItem(e);return t?JSON.parse(t):void 0}setItem(e,t){localStorage.setItem(this.scopedKey(e),t)}getItem(e){return localStorage.getItem(this.scopedKey(e))}removeItem(e){localStorage.removeItem(this.scopedKey(e))}clear(){let e=this.scopedKey(``),t=[];for(let n=0;n<localStorage.length;n++){let r=localStorage.key(n);typeof r==`string`&&r.startsWith(e)&&t.push(r)}t.forEach(e=>localStorage.removeItem(e))}scopedKey(e){return`-${this.scope}${this.module?`:${this.module}`:``}:${e}`}static clearAll(){new e(`CBWSDK`).clear(),new e(`walletlink`).clear()}},g={rpc:{invalidInput:-32e3,resourceNotFound:-32001,resourceUnavailable:-32002,transactionRejected:-32003,methodNotSupported:-32004,limitExceeded:-32005,parse:-32700,invalidRequest:-32600,methodNotFound:-32601,invalidParams:-32602,internal:-32603},provider:{userRejectedRequest:4001,unauthorized:4100,unsupportedMethod:4200,disconnected:4900,chainDisconnected:4901,unsupportedChain:4902}},_={"-32700":{standard:`JSON RPC 2.0`,message:`Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text.`},"-32600":{standard:`JSON RPC 2.0`,message:`The JSON sent is not a valid Request object.`},"-32601":{standard:`JSON RPC 2.0`,message:`The method does not exist / is not available.`},"-32602":{standard:`JSON RPC 2.0`,message:`Invalid method parameter(s).`},"-32603":{standard:`JSON RPC 2.0`,message:`Internal JSON-RPC error.`},"-32000":{standard:`EIP-1474`,message:`Invalid input.`},"-32001":{standard:`EIP-1474`,message:`Resource not found.`},"-32002":{standard:`EIP-1474`,message:`Resource unavailable.`},"-32003":{standard:`EIP-1474`,message:`Transaction rejected.`},"-32004":{standard:`EIP-1474`,message:`Method not supported.`},"-32005":{standard:`EIP-1474`,message:`Request limit exceeded.`},4001:{standard:`EIP-1193`,message:`User rejected the request.`},4100:{standard:`EIP-1193`,message:`The requested account and/or method has not been authorized by the user.`},4200:{standard:`EIP-1193`,message:`The requested method is not supported by this Ethereum provider.`},4900:{standard:`EIP-1193`,message:`The provider is disconnected from all chains.`},4901:{standard:`EIP-1193`,message:`The provider is disconnected from the specified chain.`},4902:{standard:`EIP-3085`,message:`Unrecognized chain ID.`}},v=`Unspecified error message.`,y=`Unspecified server error.`;function b(e,t=v){if(e&&Number.isInteger(e)){let t=e.toString();if(T(_,t))return _[t].message;if(C(e))return y}return t}function x(e){return Number.isInteger(e)?!!(_[e.toString()]||C(e)):!1}function S(e,{shouldIncludeStack:t=!1}={}){let n={};if(e&&typeof e==`object`&&!Array.isArray(e)&&T(e,`code`)&&x(e.code)){let t=e;n.code=t.code,t.message&&typeof t.message==`string`?(n.message=t.message,T(t,`data`)&&(n.data=t.data)):(n.message=b(n.code),n.data={originalError:w(e)})}else n.code=g.rpc.internal,n.message=E(e,`message`)?e.message:v,n.data={originalError:w(e)};return t&&(n.stack=E(e,`stack`)?e.stack:void 0),n}function C(e){return e>=-32099&&e<=-32e3}function w(e){return e&&typeof e==`object`&&!Array.isArray(e)?Object.assign({},e):e}function T(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function E(e,t){return typeof e==`object`&&!!e&&t in e&&typeof e[t]==`string`}var D={rpc:{parse:e=>O(g.rpc.parse,e),invalidRequest:e=>O(g.rpc.invalidRequest,e),invalidParams:e=>O(g.rpc.invalidParams,e),methodNotFound:e=>O(g.rpc.methodNotFound,e),internal:e=>O(g.rpc.internal,e),server:e=>{if(!e||typeof e!=`object`||Array.isArray(e))throw Error(`Ethereum RPC Server errors must provide single object argument.`);let{code:t}=e;if(!Number.isInteger(t)||t>-32005||t<-32099)throw Error(`"code" must be an integer such that: -32099 <= code <= -32005`);return O(t,e)},invalidInput:e=>O(g.rpc.invalidInput,e),resourceNotFound:e=>O(g.rpc.resourceNotFound,e),resourceUnavailable:e=>O(g.rpc.resourceUnavailable,e),transactionRejected:e=>O(g.rpc.transactionRejected,e),methodNotSupported:e=>O(g.rpc.methodNotSupported,e),limitExceeded:e=>O(g.rpc.limitExceeded,e)},provider:{userRejectedRequest:e=>k(g.provider.userRejectedRequest,e),unauthorized:e=>k(g.provider.unauthorized,e),unsupportedMethod:e=>k(g.provider.unsupportedMethod,e),disconnected:e=>k(g.provider.disconnected,e),chainDisconnected:e=>k(g.provider.chainDisconnected,e),unsupportedChain:e=>k(g.provider.unsupportedChain,e),custom:e=>{if(!e||typeof e!=`object`||Array.isArray(e))throw Error(`Ethereum Provider custom errors must provide single object argument.`);let{code:t,message:n,data:r}=e;if(!n||typeof n!=`string`)throw Error(`"message" must be a nonempty string`);return new ee(t,n,r)}}};function O(e,t){let[n,r]=A(t);return new j(e,n||b(e),r)}function k(e,t){let[n,r]=A(t);return new ee(e,n||b(e),r)}function A(e){if(e){if(typeof e==`string`)return[e];if(typeof e==`object`&&!Array.isArray(e)){let{message:t,data:n}=e;if(t&&typeof t!=`string`)throw Error(`Must specify string message.`);return[t||void 0,n]}}return[]}var j=class extends Error{constructor(e,t,n){if(!Number.isInteger(e))throw Error(`"code" must be an integer.`);if(!t||typeof t!=`string`)throw Error(`"message" must be a nonempty string.`);super(t),this.code=e,n!==void 0&&(this.data=n)}},ee=class extends j{constructor(e,t,n){if(!te(e))throw Error(`"code" must be an integer such that: 1000 <= code <= 4999`);super(e,t,n)}};function te(e){return Number.isInteger(e)&&e>=1e3&&e<=4999}function ne(){return e=>e}var M=ne(),re=ne(),ie=ne();function N(e){return Math.floor(e)}var ae=/^[0-9]*$/,oe=/^[a-f0-9]*$/;function P(e){return se(crypto.getRandomValues(new Uint8Array(e)))}function se(e){return[...e].map(e=>e.toString(16).padStart(2,`0`)).join(``)}function F(e){return new Uint8Array(e.match(/.{1,2}/g).map(e=>Number.parseInt(e,16)))}function I(e,t=!1){let n=e.toString(`hex`);return M(t?`0x${n}`:n)}function ce(e){return I(me(e),!0)}function L(e){return ie(e.toString(10))}function R(e){return M(`0x${BigInt(e).toString(16)}`)}function le(e){return e.startsWith(`0x`)||e.startsWith(`0X`)}function ue(e){return le(e)?e.slice(2):e}function de(e){return le(e)?`0x${e.slice(2)}`:`0x${e}`}function z(e){if(typeof e!=`string`)return!1;let t=ue(e).toLowerCase();return oe.test(t)}function fe(e,t=!1){if(typeof e==`string`){let n=ue(e).toLowerCase();if(oe.test(n))return M(t?`0x${n}`:n)}throw D.rpc.invalidParams(`"${String(e)}" is not a hexadecimal string`)}function pe(e,t=!1){let n=fe(e,!1);return n.length%2==1&&(n=M(`0${n}`)),t?M(`0x${n}`):n}function B(e){if(typeof e==`string`){let t=ue(e).toLowerCase();if(z(t)&&t.length===40)return re(de(t))}throw D.rpc.invalidParams(`Invalid Ethereum address: ${String(e)}`)}function me(e){if(Buffer.isBuffer(e))return e;if(typeof e==`string`){if(z(e)){let t=pe(e,!1);return Buffer.from(t,`hex`)}return Buffer.from(e,`utf8`)}throw D.rpc.invalidParams(`Not binary data: ${String(e)}`)}function V(e){if(typeof e==`number`&&Number.isInteger(e))return N(e);if(typeof e==`string`){if(ae.test(e))return N(Number(e));if(z(e))return N(Number(BigInt(pe(e,!0))))}throw D.rpc.invalidParams(`Not an integer: ${String(e)}`)}function H(e){if(e!==null&&(typeof e==`bigint`||ge(e)))return BigInt(e.toString(10));if(typeof e==`number`)return BigInt(V(e));if(typeof e==`string`){if(ae.test(e))return BigInt(e);if(z(e))return BigInt(pe(e,!0))}throw D.rpc.invalidParams(`Not an integer: ${String(e)}`)}function he(e){if(typeof e==`string`)return JSON.parse(e);if(typeof e==`object`)return e;throw D.rpc.invalidParams(`Not a JSON string or an object: ${String(e)}`)}function ge(e){if(e==null||typeof e.constructor!=`function`)return!1;let{constructor:t}=e;return typeof t.config==`function`&&typeof t.EUCLID==`number`}async function _e(){return crypto.subtle.generateKey({name:`ECDH`,namedCurve:`P-256`},!0,[`deriveKey`])}async function ve(e,t){return crypto.subtle.deriveKey({name:`ECDH`,public:t},e,{name:`AES-GCM`,length:256},!1,[`encrypt`,`decrypt`])}async function ye(e,t){let n=crypto.getRandomValues(new Uint8Array(12));return{iv:n,cipherText:await crypto.subtle.encrypt({name:`AES-GCM`,iv:n},e,new TextEncoder().encode(t))}}async function be(e,{iv:t,cipherText:n}){let r=await crypto.subtle.decrypt({name:`AES-GCM`,iv:t},e,n);return new TextDecoder().decode(r)}function xe(e){switch(e){case`public`:return`spki`;case`private`:return`pkcs8`}}async function Se(e,t){let n=xe(e),r=await crypto.subtle.exportKey(n,t);return se(new Uint8Array(r))}async function Ce(e,t){let n=xe(e),r=F(t).buffer;return await crypto.subtle.importKey(n,new Uint8Array(r),{name:`ECDH`,namedCurve:`P-256`},!0,e===`private`?[`deriveKey`]:[])}async function we(e,t){return ye(t,JSON.stringify(e,(e,t)=>{if(!(t instanceof Error))return t;let n=t;return Object.assign(Object.assign({},n.code?{code:n.code}:{}),{message:n.message})}))}async function Te(e,t){return JSON.parse(await be(t,e))}var Ee={storageKey:`ownPrivateKey`,keyType:`private`},De={storageKey:`ownPublicKey`,keyType:`public`},Oe={storageKey:`peerPublicKey`,keyType:`public`},ke=class{constructor(){this.storage=new h(`CBWSDK`,`SCWKeyManager`),this.ownPrivateKey=null,this.ownPublicKey=null,this.peerPublicKey=null,this.sharedSecret=null}async getOwnPublicKey(){return await this.loadKeysIfNeeded(),this.ownPublicKey}async getSharedSecret(){return await this.loadKeysIfNeeded(),this.sharedSecret}async setPeerPublicKey(e){this.sharedSecret=null,this.peerPublicKey=e,await this.storeKey(Oe,e),await this.loadKeysIfNeeded()}async clear(){this.ownPrivateKey=null,this.ownPublicKey=null,this.peerPublicKey=null,this.sharedSecret=null,this.storage.removeItem(De.storageKey),this.storage.removeItem(Ee.storageKey),this.storage.removeItem(Oe.storageKey)}async generateKeyPair(){let e=await _e();this.ownPrivateKey=e.privateKey,this.ownPublicKey=e.publicKey,await this.storeKey(Ee,e.privateKey),await this.storeKey(De,e.publicKey)}async loadKeysIfNeeded(){if(this.ownPrivateKey===null&&(this.ownPrivateKey=await this.loadKey(Ee)),this.ownPublicKey===null&&(this.ownPublicKey=await this.loadKey(De)),(this.ownPrivateKey===null||this.ownPublicKey===null)&&await this.generateKeyPair(),this.peerPublicKey===null&&(this.peerPublicKey=await this.loadKey(Oe)),this.sharedSecret===null){if(this.ownPrivateKey===null||this.peerPublicKey===null)return;this.sharedSecret=await ve(this.ownPrivateKey,this.peerPublicKey)}}async loadKey(e){let t=this.storage.getItem(e.storageKey);return t?Ce(e.keyType,t):null}async storeKey(e,t){let n=await Se(e.keyType,t);this.storage.setItem(e.storageKey,n)}},U=`4.3.2`,Ae=`@coinbase/wallet-sdk`;async function W(e,t){let n=Object.assign(Object.assign({},e),{jsonrpc:`2.0`,id:crypto.randomUUID()}),{result:r,error:i}=await(await window.fetch(t,{method:`POST`,body:JSON.stringify(n),mode:`cors`,headers:{"Content-Type":`application/json`,"X-Cbw-Sdk-Version":U,"X-Cbw-Sdk-Platform":Ae}})).json();if(i)throw i;return r}function je(){return globalThis.coinbaseWalletExtension}function Me(){try{let e=globalThis;return e.ethereum??e.top?.ethereum}catch{return}}function Ne({metadata:e,preference:t}){var n,r;let{appName:i,appLogoUrl:a,appChainIds:o}=e;if(t.options!==`smartWalletOnly`){let e=je();if(e)return(n=e.setAppInfo)==null||n.call(e,i,a,o,t),e}let s=Me();if(s?.isCoinbaseBrowser)return(r=s.setAppInfo)==null||r.call(s,i,a,o,t),s}function Pe(e){if(!e||typeof e!=`object`||Array.isArray(e))throw D.rpc.invalidParams({message:`Expected a single, non-array, object argument.`,data:e});let{method:t,params:n}=e;if(typeof t!=`string`||t.length===0)throw D.rpc.invalidParams({message:`'args.method' must be a non-empty string.`,data:e});if(n!==void 0&&!Array.isArray(n)&&(typeof n!=`object`||!n))throw D.rpc.invalidParams({message:`'args.params' must be an object or array if provided.`,data:e});switch(t){case`eth_sign`:case`eth_signTypedData_v2`:case`eth_subscribe`:case`eth_unsubscribe`:throw D.provider.unsupportedMethod()}}var Fe=`accounts`,Ie=`activeChain`,Le=`availableChains`,Re=`walletCapabilities`,ze=class{constructor(e){this.metadata=e.metadata,this.communicator=e.communicator,this.callback=e.callback,this.keyManager=new ke,this.storage=new h(`CBWSDK`,`SCWStateManager`),this.accounts=this.storage.loadObject(Fe)??[],this.chain=this.storage.loadObject(Ie)||{id:e.metadata.appChainIds?.[0]??1},this.handshake=this.handshake.bind(this),this.request=this.request.bind(this),this.createRequestMessage=this.createRequestMessage.bind(this),this.decryptResponseMessage=this.decryptResponseMessage.bind(this)}async handshake(e){var t,n;await(t=this.communicator).waitForPopupLoaded?.call(t);let r=await this.createRequestMessage({handshake:{method:e.method,params:Object.assign({},this.metadata,e.params??{})}}),i=await this.communicator.postRequestAndWaitForResponse(r);if(`failure`in i.content)throw i.content.failure;let a=await Ce(`public`,i.sender);await this.keyManager.setPeerPublicKey(a);let o=(await this.decryptResponseMessage(i)).result;if(`error`in o)throw o.error;switch(e.method){case`eth_requestAccounts`:{let e=o.value;this.accounts=e,this.storage.storeObject(Fe,e),(n=this.callback)==null||n.call(this,`accountsChanged`,e);break}}}async request(e){var t;if(this.accounts.length===0)switch(e.method){case`wallet_sendCalls`:return this.sendRequestToPopup(e);default:throw D.provider.unauthorized()}switch(e.method){case`eth_requestAccounts`:return(t=this.callback)==null||t.call(this,`connect`,{chainId:R(this.chain.id)}),this.accounts;case`eth_accounts`:return this.accounts;case`eth_coinbase`:return this.accounts[0];case`net_version`:return this.chain.id;case`eth_chainId`:return R(this.chain.id);case`wallet_getCapabilities`:return this.storage.loadObject(Re);case`wallet_switchEthereumChain`:return this.handleSwitchChainRequest(e);case`eth_ecRecover`:case`personal_sign`:case`wallet_sign`:case`personal_ecRecover`:case`eth_signTransaction`:case`eth_sendTransaction`:case`eth_signTypedData_v1`:case`eth_signTypedData_v3`:case`eth_signTypedData_v4`:case`eth_signTypedData`:case`wallet_addEthereumChain`:case`wallet_watchAsset`:case`wallet_sendCalls`:case`wallet_showCallsStatus`:case`wallet_grantPermissions`:return this.sendRequestToPopup(e);default:if(!this.chain.rpcUrl)throw D.rpc.internal(`No RPC URL set for chain`);return W(e,this.chain.rpcUrl)}}async sendRequestToPopup(e){var t;await(t=this.communicator).waitForPopupLoaded?.call(t);let n=await this.sendEncryptedRequest(e),r=(await this.decryptResponseMessage(n)).result;if(`error`in r)throw r.error;return r.value}async cleanup(){this.storage.clear(),await this.keyManager.clear(),this.accounts=[],this.chain={id:this.metadata.appChainIds?.[0]??1}}async handleSwitchChainRequest(e){let t=e.params;if(!t||!t[0]?.chainId)throw D.rpc.invalidParams();let n=V(t[0].chainId);if(this.updateChain(n))return null;let r=await this.sendRequestToPopup(e);return r===null&&this.updateChain(n),r}async sendEncryptedRequest(e){let t=await this.keyManager.getSharedSecret();if(!t)throw D.provider.unauthorized(`No valid session found, try requestAccounts before other methods`);let n=await we({action:e,chainId:this.chain.id},t),r=await this.createRequestMessage({encrypted:n});return this.communicator.postRequestAndWaitForResponse(r)}async createRequestMessage(e){let t=await Se(`public`,await this.keyManager.getOwnPublicKey());return{id:crypto.randomUUID(),sender:t,content:e,timestamp:new Date}}async decryptResponseMessage(e){let t=e.content;if(`failure`in t)throw t.failure;let n=await this.keyManager.getSharedSecret();if(!n)throw D.provider.unauthorized(`Invalid session`);let r=await Te(t.encrypted,n),i=r.data?.chains;if(i){let e=Object.entries(i).map(([e,t])=>({id:Number(e),rpcUrl:t}));this.storage.storeObject(Le,e),this.updateChain(this.chain.id,e)}let a=r.data?.capabilities;return a&&this.storage.storeObject(Re,a),r}updateChain(e,t){var n;let r=(t??this.storage.loadObject(Le))?.find(t=>t.id===e);return r?(r!==this.chain&&(this.chain=r,this.storage.storeObject(Ie,r),(n=this.callback)==null||n.call(this,`chainChanged`,R(r.id))),!0):!1}},Be=t((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.toBig=e.shrSL=e.shrSH=e.rotrSL=e.rotrSH=e.rotrBL=e.rotrBH=e.rotr32L=e.rotr32H=e.rotlSL=e.rotlSH=e.rotlBL=e.rotlBH=e.add5L=e.add5H=e.add4L=e.add4H=e.add3L=e.add3H=void 0,e.add=v,e.fromBig=r,e.split=i;var t=BigInt(2**32-1),n=BigInt(32);function r(e,r=!1){return r?{h:Number(e&t),l:Number(e>>n&t)}:{h:Number(e>>n&t)|0,l:Number(e&t)|0}}function i(e,t=!1){let n=e.length,i=new Uint32Array(n),a=new Uint32Array(n);for(let o=0;o<n;o++){let{h:n,l:s}=r(e[o],t);[i[o],a[o]]=[n,s]}return[i,a]}var a=(e,t)=>BigInt(e>>>0)<<n|BigInt(t>>>0);e.toBig=a;var o=(e,t,n)=>e>>>n;e.shrSH=o;var s=(e,t,n)=>e<<32-n|t>>>n;e.shrSL=s;var c=(e,t,n)=>e>>>n|t<<32-n;e.rotrSH=c;var l=(e,t,n)=>e<<32-n|t>>>n;e.rotrSL=l;var u=(e,t,n)=>e<<64-n|t>>>n-32;e.rotrBH=u;var d=(e,t,n)=>e>>>n-32|t<<64-n;e.rotrBL=d;var f=(e,t)=>t;e.rotr32H=f;var p=(e,t)=>e;e.rotr32L=p;var m=(e,t,n)=>e<<n|t>>>32-n;e.rotlSH=m;var h=(e,t,n)=>t<<n|e>>>32-n;e.rotlSL=h;var g=(e,t,n)=>t<<n-32|e>>>64-n;e.rotlBH=g;var _=(e,t,n)=>e<<n-32|t>>>64-n;e.rotlBL=_;function v(e,t,n,r){let i=(t>>>0)+(r>>>0);return{h:e+n+(i/2**32|0)|0,l:i|0}}var y=(e,t,n)=>(e>>>0)+(t>>>0)+(n>>>0);e.add3L=y;var b=(e,t,n,r)=>t+n+r+(e/2**32|0)|0;e.add3H=b;var x=(e,t,n,r)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0);e.add4L=x;var S=(e,t,n,r,i)=>t+n+r+i+(e/2**32|0)|0;e.add4H=S;var C=(e,t,n,r,i)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0)+(i>>>0);e.add5L=C;var w=(e,t,n,r,i,a)=>t+n+r+i+a+(e/2**32|0)|0;e.add5H=w,e.default={fromBig:r,split:i,toBig:a,shrSH:o,shrSL:s,rotrSH:c,rotrSL:l,rotrBH:u,rotrBL:d,rotr32H:f,rotr32L:p,rotlSH:m,rotlSL:h,rotlBH:g,rotlBL:_,add:v,add3L:y,add3H:b,add4L:x,add4H:S,add5H:w,add5L:C}})),Ve=t((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.crypto=void 0,e.crypto=typeof globalThis==`object`&&`crypto`in globalThis?globalThis.crypto:void 0})),He=t((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.wrapXOFConstructorWithOpts=e.wrapConstructorWithOpts=e.wrapConstructor=e.Hash=e.nextTick=e.swap32IfBE=e.byteSwapIfBE=e.swap8IfBE=e.isLE=void 0,e.isBytes=n,e.anumber=r,e.abytes=i,e.ahash=a,e.aexists=o,e.aoutput=s,e.u8=c,e.u32=l,e.clean=u,e.createView=d,e.rotr=f,e.rotl=p,e.byteSwap=m,e.byteSwap32=h,e.bytesToHex=v,e.hexToBytes=x,e.asyncLoop=S,e.utf8ToBytes=C,e.bytesToUtf8=w,e.toBytes=T,e.kdfInputToBytes=E,e.concatBytes=D,e.checkOpts=O,e.createHasher=k,e.createOptHasher=A,e.createXOFer=j,e.randomBytes=ee;var t=Ve();function n(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function r(e){if(!Number.isSafeInteger(e)||e<0)throw Error(`positive integer expected, got `+e)}function i(e,...t){if(!n(e))throw Error(`Uint8Array expected`);if(t.length>0&&!t.includes(e.length))throw Error(`Uint8Array expected of length `+t+`, got length=`+e.length)}function a(e){if(typeof e!=`function`||typeof e.create!=`function`)throw Error(`Hash should be wrapped by utils.createHasher`);r(e.outputLen),r(e.blockLen)}function o(e,t=!0){if(e.destroyed)throw Error(`Hash instance has been destroyed`);if(t&&e.finished)throw Error(`Hash#digest() has already been called`)}function s(e,t){i(e);let n=t.outputLen;if(e.length<n)throw Error(`digestInto() expects output buffer of length at least `+n)}function c(e){return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}function l(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function u(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function d(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function f(e,t){return e<<32-t|e>>>t}function p(e,t){return e<<t|e>>>32-t>>>0}e.isLE=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function m(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}e.swap8IfBE=e.isLE?e=>e:e=>m(e),e.byteSwapIfBE=e.swap8IfBE;function h(e){for(let t=0;t<e.length;t++)e[t]=m(e[t]);return e}e.swap32IfBE=e.isLE?e=>e:h;var g=typeof Uint8Array.from([]).toHex==`function`&&typeof Uint8Array.fromHex==`function`,_=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`));function v(e){if(i(e),g)return e.toHex();let t=``;for(let n=0;n<e.length;n++)t+=_[e[n]];return t}var y={_0:48,_9:57,A:65,F:70,a:97,f:102};function b(e){if(e>=y._0&&e<=y._9)return e-y._0;if(e>=y.A&&e<=y.F)return e-(y.A-10);if(e>=y.a&&e<=y.f)return e-(y.a-10)}function x(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);if(g)return Uint8Array.fromHex(e);let t=e.length,n=t/2;if(t%2)throw Error(`hex string expected, got unpadded hex of length `+t);let r=new Uint8Array(n);for(let t=0,i=0;t<n;t++,i+=2){let n=b(e.charCodeAt(i)),a=b(e.charCodeAt(i+1));if(n===void 0||a===void 0){let t=e[i]+e[i+1];throw Error(`hex string expected, got non-hex character "`+t+`" at index `+i)}r[t]=n*16+a}return r}e.nextTick=async()=>{};async function S(t,n,r){let i=Date.now();for(let a=0;a<t;a++){r(a);let t=Date.now()-i;t>=0&&t<n||(await(0,e.nextTick)(),i+=t)}}function C(e){if(typeof e!=`string`)throw Error(`string expected`);return new Uint8Array(new TextEncoder().encode(e))}function w(e){return new TextDecoder().decode(e)}function T(e){return typeof e==`string`&&(e=C(e)),i(e),e}function E(e){return typeof e==`string`&&(e=C(e)),i(e),e}function D(...e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];i(r),t+=r.length}let n=new Uint8Array(t);for(let t=0,r=0;t<e.length;t++){let i=e[t];n.set(i,r),r+=i.length}return n}function O(e,t){if(t!==void 0&&{}.toString.call(t)!==`[object Object]`)throw Error(`options should be object or undefined`);return Object.assign(e,t)}e.Hash=class{};function k(e){let t=t=>e().update(T(t)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function A(e){let t=(t,n)=>e(n).update(T(t)).digest(),n=e({});return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=t=>e(t),t}function j(e){let t=(t,n)=>e(n).update(T(t)).digest(),n=e({});return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=t=>e(t),t}e.wrapConstructor=k,e.wrapConstructorWithOpts=A,e.wrapXOFConstructorWithOpts=j;function ee(e=32){if(t.crypto&&typeof t.crypto.getRandomValues==`function`)return t.crypto.getRandomValues(new Uint8Array(e));if(t.crypto&&typeof t.crypto.randomBytes==`function`)return Uint8Array.from(t.crypto.randomBytes(e));throw Error(`crypto.getRandomValues must be defined`)}})),Ue=t((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.shake256=e.shake128=e.keccak_512=e.keccak_384=e.keccak_256=e.keccak_224=e.sha3_512=e.sha3_384=e.sha3_256=e.sha3_224=e.Keccak=void 0,e.keccakP=_;var t=Be(),n=He(),r=BigInt(0),i=BigInt(1),a=BigInt(2),o=BigInt(7),s=BigInt(256),c=BigInt(113),l=[],u=[],d=[];for(let e=0,t=i,n=1,f=0;e<24;e++){[n,f]=[f,(2*n+3*f)%5],l.push(2*(5*f+n)),u.push((e+1)*(e+2)/2%64);let p=r;for(let e=0;e<7;e++)t=(t<<i^(t>>o)*c)%s,t&a&&(p^=i<<(i<<BigInt(e))-i);d.push(p)}var f=(0,t.split)(d,!0),p=f[0],m=f[1],h=(e,n,r)=>r>32?(0,t.rotlBH)(e,n,r):(0,t.rotlSH)(e,n,r),g=(e,n,r)=>r>32?(0,t.rotlBL)(e,n,r):(0,t.rotlSL)(e,n,r);function _(e,t=24){let r=new Uint32Array(10);for(let n=24-t;n<24;n++){for(let t=0;t<10;t++)r[t]=e[t]^e[t+10]^e[t+20]^e[t+30]^e[t+40];for(let t=0;t<10;t+=2){let n=(t+8)%10,i=(t+2)%10,a=r[i],o=r[i+1],s=h(a,o,1)^r[n],c=g(a,o,1)^r[n+1];for(let n=0;n<50;n+=10)e[t+n]^=s,e[t+n+1]^=c}let t=e[2],i=e[3];for(let n=0;n<24;n++){let r=u[n],a=h(t,i,r),o=g(t,i,r),s=l[n];t=e[s],i=e[s+1],e[s]=a,e[s+1]=o}for(let t=0;t<50;t+=10){for(let n=0;n<10;n++)r[n]=e[t+n];for(let n=0;n<10;n++)e[t+n]^=~r[(n+2)%10]&r[(n+4)%10]}e[0]^=p[n],e[1]^=m[n]}(0,n.clean)(r)}var v=class e extends n.Hash{constructor(e,t,r,i=!1,a=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=e,this.suffix=t,this.outputLen=r,this.enableXOF=i,this.rounds=a,(0,n.anumber)(r),!(0<e&&e<200))throw Error(`only keccak-f1600 function is supported`);this.state=new Uint8Array(200),this.state32=(0,n.u32)(this.state)}clone(){return this._cloneInto()}keccak(){(0,n.swap32IfBE)(this.state32),_(this.state32,this.rounds),(0,n.swap32IfBE)(this.state32),this.posOut=0,this.pos=0}update(e){(0,n.aexists)(this),e=(0,n.toBytes)(e),(0,n.abytes)(e);let{blockLen:t,state:r}=this,i=e.length;for(let n=0;n<i;){let a=Math.min(t-this.pos,i-n);for(let t=0;t<a;t++)r[this.pos++]^=e[n++];this.pos===t&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:e,suffix:t,pos:n,blockLen:r}=this;e[n]^=t,t&128&&n===r-1&&this.keccak(),e[r-1]^=128,this.keccak()}writeInto(e){(0,n.aexists)(this,!1),(0,n.abytes)(e),this.finish();let t=this.state,{blockLen:r}=this;for(let n=0,i=e.length;n<i;){this.posOut>=r&&this.keccak();let a=Math.min(r-this.posOut,i-n);e.set(t.subarray(this.posOut,this.posOut+a),n),this.posOut+=a,n+=a}return e}xofInto(e){if(!this.enableXOF)throw Error(`XOF is not possible for this instance`);return this.writeInto(e)}xof(e){return(0,n.anumber)(e),this.xofInto(new Uint8Array(e))}digestInto(e){if((0,n.aoutput)(e,this),this.finished)throw Error(`digest() was already called`);return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,(0,n.clean)(this.state)}_cloneInto(t){let{blockLen:n,suffix:r,outputLen:i,rounds:a,enableXOF:o}=this;return t||=new e(n,r,i,o,a),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=a,t.suffix=r,t.outputLen=i,t.enableXOF=o,t.destroyed=this.destroyed,t}};e.Keccak=v;var y=(e,t,r)=>(0,n.createHasher)(()=>new v(t,e,r));e.sha3_224=y(6,144,28),e.sha3_256=y(6,136,32),e.sha3_384=y(6,104,48),e.sha3_512=y(6,72,64),e.keccak_224=y(1,144,28),e.keccak_256=y(1,136,32),e.keccak_384=y(1,104,48),e.keccak_512=y(1,72,64);var b=(e,t,r)=>(0,n.createXOFer)((n={})=>new v(t,e,n.dkLen===void 0?r:n.dkLen,!0));e.shake128=b(31,168,16),e.shake256=b(31,136,32)})),We=t(((e,t)=>{var{keccak_256:n}=Ue();function r(e){return Buffer.allocUnsafe(e).fill(0)}function i(e){return e.toString(2).length}function a(e,t){let n=e.toString(16);n.length%2!=0&&(n=`0`+n);let r=n.match(/.{1,2}/g).map(e=>parseInt(e,16));for(;r.length<t;)r.unshift(0);return Buffer.from(r)}function o(e,t){let n=e<0n,r;if(n){let n=(1n<<BigInt(t))-1n;r=(~e&n)+1n}else r=e;return r&=(1n<<BigInt(t))-1n,r}function s(e,t,n){let i=r(t);return e=l(e),n?e.length<t?(e.copy(i),i):e.slice(0,t):e.length<t?(e.copy(i,t-e.length),i):e.slice(-t)}function c(e,t){return s(e,t,!0)}function l(e){if(!Buffer.isBuffer(e)){if(Array.isArray(e))e=Buffer.from(e);else if(typeof e==`string`)e=p(e)?Buffer.from(f(m(e)),`hex`):Buffer.from(e);else if(typeof e==`number`)e=intToBuffer(e);else if(e==null)e=Buffer.allocUnsafe(0);else if(typeof e==`bigint`)e=a(e);else if(e.toArray)e=Buffer.from(e.toArray());else throw Error(`invalid type`)}return e}function u(e){return e=l(e),`0x`+e.toString(`hex`)}function d(e,t){if(e=l(e),t||=256,t!==256)throw Error(`unsupported`);return Buffer.from(n(new Uint8Array(e)))}function f(e){return e.length%2?`0`+e:e}function p(e){return typeof e==`string`&&e.match(/^0x[0-9A-Fa-f]*$/)}function m(e){return typeof e==`string`&&e.startsWith(`0x`)?e.slice(2):e}t.exports={zeros:r,setLength:s,setLengthRight:c,isHexString:p,stripHexPrefix:m,toBuffer:l,bufferToHex:u,keccak:d,bitLengthFromBigInt:i,bufferBEFromBigInt:a,twosFromBigInt:o}})),Ge=t(((e,t)=>{var n=We();function r(e){return e.startsWith(`int[`)?`int256`+e.slice(3):e===`int`?`int256`:e.startsWith(`uint[`)?`uint256`+e.slice(4):e===`uint`?`uint256`:e.startsWith(`fixed[`)?`fixed128x128`+e.slice(5):e===`fixed`?`fixed128x128`:e.startsWith(`ufixed[`)?`ufixed128x128`+e.slice(6):e===`ufixed`?`ufixed128x128`:e}function i(e){return Number.parseInt(/^\D+(\d+)$/.exec(e)[1],10)}function a(e){var t=/^\D+(\d+)x(\d+)$/.exec(e);return[Number.parseInt(t[1],10),Number.parseInt(t[2],10)]}function o(e){var t=e.match(/(.*)\[(.*?)\]$/);return t?t[2]===``?`dynamic`:Number.parseInt(t[2],10):null}function s(e){var t=typeof e;if(t===`string`||t===`number`)return BigInt(e);if(t===`bigint`)return e;throw Error(`Argument is not a number`)}function c(e,t){var r,l,d,f;if(e===`address`)return c(`uint160`,s(t));if(e===`bool`)return c(`uint8`,+!!t);if(e===`string`)return c(`bytes`,new Buffer(t,`utf8`));if(u(e)){if(t.length===void 0)throw Error(`Not an array?`);if(r=o(e),r!==`dynamic`&&r!==0&&t.length>r)throw Error(`Elements exceed array size: `+r);for(f in d=[],e=e.slice(0,e.lastIndexOf(`[`)),typeof t==`string`&&(t=JSON.parse(t)),t)d.push(c(e,t[f]));if(r===`dynamic`){var p=c(`uint256`,t.length);d.unshift(p)}return Buffer.concat(d)}if(e===`bytes`)return t=new Buffer(t),d=Buffer.concat([c(`uint256`,t.length),t]),t.length%32!=0&&(d=Buffer.concat([d,n.zeros(32-t.length%32)])),d;if(e.startsWith(`bytes`)){if(r=i(e),r<1||r>32)throw Error(`Invalid bytes<N> width: `+r);return n.setLengthRight(t,32)}if(e.startsWith(`uint`)){if(r=i(e),r%8||r<8||r>256)throw Error(`Invalid uint<N> width: `+r);l=s(t);let a=n.bitLengthFromBigInt(l);if(a>r)throw Error(`Supplied uint exceeds width: `+r+` vs `+a);if(l<0)throw Error(`Supplied uint is negative`);return n.bufferBEFromBigInt(l,32)}if(e.startsWith(`int`)){if(r=i(e),r%8||r<8||r>256)throw Error(`Invalid int<N> width: `+r);l=s(t);let a=n.bitLengthFromBigInt(l);if(a>r)throw Error(`Supplied int exceeds width: `+r+` vs `+a);let o=n.twosFromBigInt(l,256);return n.bufferBEFromBigInt(o,32)}if(e.startsWith(`ufixed`)){if(r=a(e),l=s(t),l<0)throw Error(`Supplied ufixed is negative`);return c(`uint256`,l*BigInt(2)**BigInt(r[1]))}if(e.startsWith(`fixed`))return r=a(e),c(`int256`,s(t)*BigInt(2)**BigInt(r[1]));throw Error(`Unsupported or invalid type: `+e)}function l(e){return e===`string`||e===`bytes`||o(e)===`dynamic`}function u(e){return e.lastIndexOf(`]`)===e.length-1}function d(e,t){var n=[],i=[],a=32*e.length;for(var o in e){var s=r(e[o]),u=t[o],d=c(s,u);l(s)?(n.push(c(`uint256`,a)),i.push(d),a+=d.length):n.push(d)}return Buffer.concat(n.concat(i))}function f(e,t){if(e.length!==t.length)throw Error(`Number of types are not matching the values`);for(var a,o,c=[],l=0;l<e.length;l++){var u=r(e[l]),d=t[l];if(u===`bytes`)c.push(d);else if(u===`string`)c.push(new Buffer(d,`utf8`));else if(u===`bool`)c.push(new Buffer(d?`01`:`00`,`hex`));else if(u===`address`)c.push(n.setLength(d,20));else if(u.startsWith(`bytes`)){if(a=i(u),a<1||a>32)throw Error(`Invalid bytes<N> width: `+a);c.push(n.setLengthRight(d,a))}else if(u.startsWith(`uint`)){if(a=i(u),a%8||a<8||a>256)throw Error(`Invalid uint<N> width: `+a);o=s(d);let e=n.bitLengthFromBigInt(o);if(e>a)throw Error(`Supplied uint exceeds width: `+a+` vs `+e);c.push(n.bufferBEFromBigInt(o,a/8))}else if(u.startsWith(`int`)){if(a=i(u),a%8||a<8||a>256)throw Error(`Invalid int<N> width: `+a);o=s(d);let e=n.bitLengthFromBigInt(o);if(e>a)throw Error(`Supplied int exceeds width: `+a+` vs `+e);let t=n.twosFromBigInt(o,a);c.push(n.bufferBEFromBigInt(t,a/8))}else throw Error(`Unsupported or invalid type: `+u)}return Buffer.concat(c)}function p(e,t){return n.keccak(f(e,t))}t.exports={rawEncode:d,solidityPack:f,soliditySHA3:p}})),Ke=t(((e,t)=>{var n=We(),r=Ge(),i={type:`object`,properties:{types:{type:`object`,additionalProperties:{type:`array`,items:{type:`object`,properties:{name:{type:`string`},type:{type:`string`}},required:[`name`,`type`]}}},primaryType:{type:`string`},domain:{type:`object`},message:{type:`object`}},required:[`types`,`primaryType`,`domain`,`message`]},a={encodeData(e,t,i,a=!0){let o=[`bytes32`],s=[this.hashType(e,i)];if(a){let c=(e,t,o)=>{if(i[t]!==void 0)return[`bytes32`,o==null?`0x0000000000000000000000000000000000000000000000000000000000000000`:n.keccak(this.encodeData(t,o,i,a))];if(o===void 0)throw Error(`missing value for field ${e} of type ${t}`);if(t===`bytes`)return[`bytes32`,n.keccak(o)];if(t===`string`)return typeof o==`string`&&(o=Buffer.from(o,`utf8`)),[`bytes32`,n.keccak(o)];if(t.lastIndexOf(`]`)===t.length-1){let i=t.slice(0,t.lastIndexOf(`[`)),a=o.map(t=>c(e,i,t));return[`bytes32`,n.keccak(r.rawEncode(a.map(([e])=>e),a.map(([,e])=>e)))]}return[t,o]};for(let n of i[e]){let[e,r]=c(n.name,n.type,t[n.name]);o.push(e),s.push(r)}}else for(let r of i[e]){let e=t[r.name];if(e!==void 0){if(r.type===`bytes`)o.push(`bytes32`),e=n.keccak(e),s.push(e);else if(r.type===`string`)o.push(`bytes32`),typeof e==`string`&&(e=Buffer.from(e,`utf8`)),e=n.keccak(e),s.push(e);else if(i[r.type]!==void 0)o.push(`bytes32`),e=n.keccak(this.encodeData(r.type,e,i,a)),s.push(e);else if(r.type.lastIndexOf(`]`)===r.type.length-1)throw Error(`Arrays currently unimplemented in encodeData`);else o.push(r.type),s.push(e)}}return r.rawEncode(o,s)},encodeType(e,t){let n=``,r=this.findTypeDependencies(e,t).filter(t=>t!==e);r=[e].concat(r.sort());for(let e of r){if(!t[e])throw Error(`No type definition specified: `+e);n+=e+`(`+t[e].map(({name:e,type:t})=>t+` `+e).join(`,`)+`)`}return n},findTypeDependencies(e,t,n=[]){if(e=e.match(/^\w*/)[0],n.includes(e)||t[e]===void 0)return n;n.push(e);for(let r of t[e])for(let e of this.findTypeDependencies(r.type,t,n))!n.includes(e)&&n.push(e);return n},hashStruct(e,t,r,i=!0){return n.keccak(this.encodeData(e,t,r,i))},hashType(e,t){return n.keccak(this.encodeType(e,t))},sanitizeData(e){let t={};for(let n in i.properties)e[n]&&(t[n]=e[n]);return t.types&&=Object.assign({EIP712Domain:[]},t.types),t},hash(e,t=!0){let r=this.sanitizeData(e),i=[Buffer.from(`1901`,`hex`)];return i.push(this.hashStruct(`EIP712Domain`,r.domain,r.types,t)),r.primaryType!==`EIP712Domain`&&i.push(this.hashStruct(r.primaryType,r.message,r.types,t)),n.keccak(Buffer.concat(i))}};t.exports={TYPED_MESSAGE_SCHEMA:i,TypedDataUtils:a,hashForSignTypedDataLegacy:function(e){return o(e.data)},hashForSignTypedData_v3:function(e){return a.hash(e.data,!1)},hashForSignTypedData_v4:function(e){return a.hash(e.data)}};function o(e){let t=Error(`Expect argument to be non-empty array`);if(typeof e!=`object`||!e.length)throw t;let i=e.map(function(e){return e.type===`bytes`?n.toBuffer(e.value):e.value}),a=e.map(function(e){return e.type}),o=e.map(function(e){if(!e.name)throw t;return e.type+` `+e.name});return r.soliditySHA3([`bytes32`,`bytes32`],[r.soliditySHA3(Array(e.length).fill(`string`),o),r.soliditySHA3(a,i)])}})),qe=`walletUsername`,Je=`Addresses`,Ye=`AppVersion`;function G(e){return e.errorMessage!==void 0}var Xe=class{constructor(e){this.secret=e}async encrypt(e){let t=this.secret;if(t.length!==64)throw Error(`secret must be 256 bits`);let n=crypto.getRandomValues(new Uint8Array(12)),r=await crypto.subtle.importKey(`raw`,F(t),{name:`aes-gcm`},!1,[`encrypt`,`decrypt`]),i=new TextEncoder,a=await window.crypto.subtle.encrypt({name:`AES-GCM`,iv:n},r,i.encode(e)),o=a.slice(a.byteLength-16),s=a.slice(0,a.byteLength-16),c=new Uint8Array(o),l=new Uint8Array(s);return se(new Uint8Array([...n,...c,...l]))}async decrypt(e){let t=this.secret;if(t.length!==64)throw Error(`secret must be 256 bits`);return new Promise((n,r)=>{(async function(){let i=await crypto.subtle.importKey(`raw`,F(t),{name:`aes-gcm`},!1,[`encrypt`,`decrypt`]),a=F(e),o=a.slice(0,12),s=a.slice(12,28),c=a.slice(28),l=new Uint8Array([...c,...s]),u={name:`AES-GCM`,iv:new Uint8Array(o)};try{let e=await window.crypto.subtle.decrypt(u,i,l);n(new TextDecoder().decode(e))}catch(e){r(e)}})()})}},Ze=class{constructor(e,t,n){this.linkAPIUrl=e,this.sessionId=t;let r=`${t}:${n}`;this.auth=`Basic ${btoa(r)}`}async markUnseenEventsAsSeen(e){return Promise.all(e.map(e=>fetch(`${this.linkAPIUrl}/events/${e.eventId}/seen`,{method:`POST`,headers:{Authorization:this.auth}}))).catch(e=>console.error(`Unabled to mark event as failed:`,e))}async fetchUnseenEvents(){let e=await fetch(`${this.linkAPIUrl}/events?unseen=true`,{headers:{Authorization:this.auth}});if(e.ok){let{events:t,error:n}=await e.json();if(n)throw Error(`Check unseen events failed: ${n}`);let r=t?.filter(e=>e.event===`Web3Response`).map(e=>({type:`Event`,sessionId:this.sessionId,eventId:e.id,event:e.event,data:e.data}))??[];return this.markUnseenEventsAsSeen(r),r}throw Error(`Check unseen events failed: ${e.status}`)}},K;(function(e){e[e.DISCONNECTED=0]=`DISCONNECTED`,e[e.CONNECTING=1]=`CONNECTING`,e[e.CONNECTED=2]=`CONNECTED`})(K||={});var Qe=class{setConnectionStateListener(e){this.connectionStateListener=e}setIncomingDataListener(e){this.incomingDataListener=e}constructor(e,t=WebSocket){this.WebSocketClass=t,this.webSocket=null,this.pendingData=[],this.url=e.replace(/^http/,`ws`)}async connect(){if(this.webSocket)throw Error(`webSocket object is not null`);return new Promise((e,t)=>{var n;let r;try{this.webSocket=r=new this.WebSocketClass(this.url)}catch(e){t(e);return}(n=this.connectionStateListener)==null||n.call(this,K.CONNECTING),r.onclose=e=>{var n;this.clearWebSocket(),t(Error(`websocket error ${e.code}: ${e.reason}`)),(n=this.connectionStateListener)==null||n.call(this,K.DISCONNECTED)},r.onopen=t=>{var n;e(),(n=this.connectionStateListener)==null||n.call(this,K.CONNECTED),this.pendingData.length>0&&([...this.pendingData].forEach(e=>this.sendData(e)),this.pendingData=[])},r.onmessage=e=>{var t,n;if(e.data===`h`)(t=this.incomingDataListener)==null||t.call(this,{type:`Heartbeat`});else try{let t=JSON.parse(e.data);(n=this.incomingDataListener)==null||n.call(this,t)}catch{}}})}disconnect(){var e;let{webSocket:t}=this;if(t){this.clearWebSocket(),(e=this.connectionStateListener)==null||e.call(this,K.DISCONNECTED),this.connectionStateListener=void 0,this.incomingDataListener=void 0;try{t.close()}catch{}}}sendData(e){let{webSocket:t}=this;if(!t){this.pendingData.push(e),this.connect();return}t.send(e)}clearWebSocket(){let{webSocket:e}=this;e&&(this.webSocket=null,e.onclose=null,e.onerror=null,e.onmessage=null,e.onopen=null)}},$e=1e4,et=6e4,tt=class{constructor({session:e,linkAPIUrl:t,listener:n}){this.destroyed=!1,this.lastHeartbeatResponse=0,this.nextReqId=N(1),this._connected=!1,this._linked=!1,this.shouldFetchUnseenEventsOnConnect=!1,this.requestResolutions=new Map,this.handleSessionMetadataUpdated=e=>{e&&new Map([[`__destroyed`,this.handleDestroyed],[`EthereumAddress`,this.handleAccountUpdated],[`WalletUsername`,this.handleWalletUsernameUpdated],[`AppVersion`,this.handleAppVersionUpdated],[`ChainId`,t=>e.JsonRpcUrl&&this.handleChainUpdated(t,e.JsonRpcUrl)]]).forEach((t,n)=>{let r=e[n];r!==void 0&&t(r)})},this.handleDestroyed=e=>{var t;e===`1`&&((t=this.listener)==null||t.resetAndReload())},this.handleAccountUpdated=async e=>{var t;let n=await this.cipher.decrypt(e);(t=this.listener)==null||t.accountUpdated(n)},this.handleMetadataUpdated=async(e,t)=>{var n;let r=await this.cipher.decrypt(t);(n=this.listener)==null||n.metadataUpdated(e,r)},this.handleWalletUsernameUpdated=async e=>{this.handleMetadataUpdated(qe,e)},this.handleAppVersionUpdated=async e=>{this.handleMetadataUpdated(Ye,e)},this.handleChainUpdated=async(e,t)=>{var n;let r=await this.cipher.decrypt(e),i=await this.cipher.decrypt(t);(n=this.listener)==null||n.chainUpdated(r,i)},this.session=e,this.cipher=new Xe(e.secret),this.listener=n;let r=new Qe(`${t}/rpc`,WebSocket);r.setConnectionStateListener(async e=>{let t=!1;switch(e){case K.DISCONNECTED:if(!this.destroyed){let e=async()=>{await new Promise(e=>setTimeout(e,5e3)),this.destroyed||r.connect().catch(()=>{e()})};e()}break;case K.CONNECTED:t=await this.handleConnected(),this.updateLastHeartbeat(),setInterval(()=>{this.heartbeat()},$e),this.shouldFetchUnseenEventsOnConnect&&this.fetchUnseenEventsAPI();break;case K.CONNECTING:}this.connected!==t&&(this.connected=t)}),r.setIncomingDataListener(e=>{var t;switch(e.type){case`Heartbeat`:this.updateLastHeartbeat();return;case`IsLinkedOK`:case`Linked`:{let t=e.type===`IsLinkedOK`?e.linked:void 0;this.linked=t||e.onlineGuests>0;break}case`GetSessionConfigOK`:case`SessionConfigUpdated`:this.handleSessionMetadataUpdated(e.metadata);break;case`Event`:this.handleIncomingEvent(e)}e.id!==void 0&&((t=this.requestResolutions.get(e.id))==null||t(e))}),this.ws=r,this.http=new Ze(t,e.id,e.key)}connect(){if(this.destroyed)throw Error(`instance is destroyed`);this.ws.connect()}async destroy(){this.destroyed||(await this.makeRequest({type:`SetSessionConfig`,id:N(this.nextReqId++),sessionId:this.session.id,metadata:{__destroyed:`1`}},{timeout:1e3}),this.destroyed=!0,this.ws.disconnect(),this.listener=void 0)}get connected(){return this._connected}set connected(e){this._connected=e}get linked(){return this._linked}set linked(e){var t,n;this._linked=e,e&&((t=this.onceLinked)==null||t.call(this)),(n=this.listener)==null||n.linkedUpdated(e)}setOnceLinked(e){return new Promise(t=>{this.linked?e().then(t):this.onceLinked=()=>{e().then(t),this.onceLinked=void 0}})}async handleIncomingEvent(e){var t;if(e.type!==`Event`||e.event!==`Web3Response`)return;let n=await this.cipher.decrypt(e.data),r=JSON.parse(n);if(r.type!==`WEB3_RESPONSE`)return;let{id:i,response:a}=r;(t=this.listener)==null||t.handleWeb3ResponseMessage(i,a)}async checkUnseenEvents(){if(!this.connected){this.shouldFetchUnseenEventsOnConnect=!0;return}await new Promise(e=>setTimeout(e,250));try{await this.fetchUnseenEventsAPI()}catch(e){console.error(`Unable to check for unseen events`,e)}}async fetchUnseenEventsAPI(){this.shouldFetchUnseenEventsOnConnect=!1,(await this.http.fetchUnseenEvents()).forEach(e=>this.handleIncomingEvent(e))}async publishEvent(e,t,n=!1){let r=await this.cipher.encrypt(JSON.stringify(Object.assign(Object.assign({},t),{origin:location.origin,location:location.href,relaySource:`coinbaseWalletExtension`in window&&window.coinbaseWalletExtension?`injected_sdk`:`sdk`}))),i={type:`PublishEvent`,id:N(this.nextReqId++),sessionId:this.session.id,event:e,data:r,callWebhook:n};return this.setOnceLinked(async()=>{let e=await this.makeRequest(i);if(e.type===`Fail`)throw Error(e.error||`failed to publish event`);return e.eventId})}sendData(e){this.ws.sendData(JSON.stringify(e))}updateLastHeartbeat(){this.lastHeartbeatResponse=Date.now()}heartbeat(){if(Date.now()-this.lastHeartbeatResponse>$e*2){this.ws.disconnect();return}try{this.ws.sendData(`h`)}catch{}}async makeRequest(e,t={timeout:et}){let n=e.id;this.sendData(e);let r;return Promise.race([new Promise((e,i)=>{r=window.setTimeout(()=>{i(Error(`request ${n} timed out`))},t.timeout)}),new Promise(e=>{this.requestResolutions.set(n,t=>{clearTimeout(r),e(t),this.requestResolutions.delete(n)})})])}async handleConnected(){return(await this.makeRequest({type:`HostSession`,id:N(this.nextReqId++),sessionId:this.session.id,sessionKey:this.session.key})).type!==`Fail`&&(this.sendData({type:`IsLinked`,id:N(this.nextReqId++),sessionId:this.session.id}),this.sendData({type:`GetSessionConfig`,id:N(this.nextReqId++),sessionId:this.session.id}),!0)}},nt=class{constructor(){this._nextRequestId=0,this.callbacks=new Map}makeRequestId(){this._nextRequestId=(this._nextRequestId+1)%2147483647;let e=this._nextRequestId,t=de(e.toString(16));return this.callbacks.get(t)&&this.callbacks.delete(t),e}};function rt(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function q(e,...t){if(!rt(e))throw Error(`Uint8Array expected`);if(t.length>0&&!t.includes(e.length))throw Error(`Uint8Array expected of length `+t+`, got length=`+e.length)}function it(e,t=!0){if(e.destroyed)throw Error(`Hash instance has been destroyed`);if(t&&e.finished)throw Error(`Hash#digest() has already been called`)}function at(e,t){q(e);let n=t.outputLen;if(e.length<n)throw Error(`digestInto() expects output buffer of length at least `+n)}function ot(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function st(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function J(e,t){return e<<32-t|e>>>t}var ct=typeof Uint8Array.from([]).toHex==`function`&&typeof Uint8Array.fromHex==`function`,lt=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`));function ut(e){if(q(e),ct)return e.toHex();let t=``;for(let n=0;n<e.length;n++)t+=lt[e[n]];return t}function dt(e){if(typeof e!=`string`)throw Error(`string expected`);return new Uint8Array(new TextEncoder().encode(e))}function ft(e){return typeof e==`string`&&(e=dt(e)),q(e),e}var pt=class{};function mt(e){let t=t=>e().update(ft(t)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function ht(e,t,n,r){if(typeof e.setBigUint64==`function`)return e.setBigUint64(t,n,r);let i=BigInt(32),a=BigInt(4294967295),o=Number(n>>i&a),s=Number(n&a),c=r?4:0,l=r?0:4;e.setUint32(t+c,o,r),e.setUint32(t+l,s,r)}function gt(e,t,n){return e&t^~e&n}function _t(e,t,n){return e&t^e&n^t&n}var vt=class extends pt{constructor(e,t,n,r){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=e,this.outputLen=t,this.padOffset=n,this.isLE=r,this.buffer=new Uint8Array(e),this.view=st(this.buffer)}update(e){it(this),e=ft(e),q(e);let{view:t,buffer:n,blockLen:r}=this,i=e.length;for(let a=0;a<i;){let o=Math.min(r-this.pos,i-a);if(o===r){let t=st(e);for(;r<=i-a;a+=r)this.process(t,a);continue}n.set(e.subarray(a,a+o),this.pos),this.pos+=o,a+=o,this.pos===r&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){it(this),at(e,this),this.finished=!0;let{buffer:t,view:n,blockLen:r,isLE:i}=this,{pos:a}=this;t[a++]=128,ot(this.buffer.subarray(a)),this.padOffset>r-a&&(this.process(n,0),a=0);for(let e=a;e<r;e++)t[e]=0;ht(n,r-8,BigInt(this.length*8),i),this.process(n,0);let o=st(e),s=this.outputLen;if(s%4)throw Error(`_sha2: outputLen should be aligned to 32bit`);let c=s/4,l=this.get();if(c>l.length)throw Error(`_sha2: outputLen bigger than state`);for(let e=0;e<c;e++)o.setUint32(4*e,l[e],i)}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let n=e.slice(0,t);return this.destroy(),n}_cloneInto(e){e||=new this.constructor,e.set(...this.get());let{blockLen:t,buffer:n,length:r,finished:i,destroyed:a,pos:o}=this;return e.destroyed=a,e.finished=i,e.length=r,e.pos=o,r%t&&e.buffer.set(n),e}clone(){return this._cloneInto()}},Y=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),yt=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),X=new Uint32Array(64),bt=class extends vt{constructor(e=32){super(64,e,8,!1),this.A=Y[0]|0,this.B=Y[1]|0,this.C=Y[2]|0,this.D=Y[3]|0,this.E=Y[4]|0,this.F=Y[5]|0,this.G=Y[6]|0,this.H=Y[7]|0}get(){let{A:e,B:t,C:n,D:r,E:i,F:a,G:o,H:s}=this;return[e,t,n,r,i,a,o,s]}set(e,t,n,r,i,a,o,s){this.A=e|0,this.B=t|0,this.C=n|0,this.D=r|0,this.E=i|0,this.F=a|0,this.G=o|0,this.H=s|0}process(e,t){for(let n=0;n<16;n++,t+=4)X[n]=e.getUint32(t,!1);for(let e=16;e<64;e++){let t=X[e-15],n=X[e-2],r=J(t,7)^J(t,18)^t>>>3,i=J(n,17)^J(n,19)^n>>>10;X[e]=i+X[e-7]+r+X[e-16]|0}let{A:n,B:r,C:i,D:a,E:o,F:s,G:c,H:l}=this;for(let e=0;e<64;e++){let t=J(o,6)^J(o,11)^J(o,25),u=l+t+gt(o,s,c)+yt[e]+X[e]|0,d=(J(n,2)^J(n,13)^J(n,22))+_t(n,r,i)|0;l=c,c=s,s=o,o=a+u|0,a=i,i=r,r=n,n=u+d|0}n=n+this.A|0,r=r+this.B|0,i=i+this.C|0,a=a+this.D|0,o=o+this.E|0,s=s+this.F|0,c=c+this.G|0,l=l+this.H|0,this.set(n,r,i,a,o,s,c,l)}roundClean(){ot(X)}destroy(){this.set(0,0,0,0,0,0,0,0),ot(this.buffer)}},xt=mt(()=>new bt),St=`session:id`,Ct=`session:secret`,wt=`session:linked`,Tt=class e{constructor(e,t,n,r=!1){this.storage=e,this.id=t,this.secret=n,this.key=ut(xt(`${t}, ${n} WalletLink`)),this._linked=!!r}static create(t){let n=P(16),r=P(32);return new e(t,n,r).save()}static load(t){let n=t.getItem(St),r=t.getItem(wt),i=t.getItem(Ct);return n&&i?new e(t,n,i,r===`1`):null}get linked(){return this._linked}set linked(e){this._linked=e,this.persistLinked()}save(){return this.storage.setItem(St,this.id),this.storage.setItem(Ct,this.secret),this.persistLinked(),this}persistLinked(){this.storage.setItem(wt,this._linked?`1`:`0`)}};function Et(){try{return window.frameElement!==null}catch{return!1}}function Dt(){try{return Et()&&window.top?window.top.location:window.location}catch{return window.location}}function Ot(){return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test((window==null?void 0:window.navigator)?.userAgent)}function kt(){return(window==null?void 0:window.matchMedia)?.call(window,`(prefers-color-scheme: dark)`).matches??!1}var At=`@namespace svg "http://www.w3.org/2000/svg";.-cbwsdk-css-reset,.-cbwsdk-css-reset *{animation:none;animation-delay:0;animation-direction:normal;animation-duration:0;animation-fill-mode:none;animation-iteration-count:1;animation-name:none;animation-play-state:running;animation-timing-function:ease;backface-visibility:visible;background:0;background-attachment:scroll;background-clip:border-box;background-color:rgba(0,0,0,0);background-image:none;background-origin:padding-box;background-position:0 0;background-position-x:0;background-position-y:0;background-repeat:repeat;background-size:auto auto;border:0;border-style:none;border-width:medium;border-color:inherit;border-bottom:0;border-bottom-color:inherit;border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-style:none;border-bottom-width:medium;border-collapse:separate;border-image:none;border-left:0;border-left-color:inherit;border-left-style:none;border-left-width:medium;border-radius:0;border-right:0;border-right-color:inherit;border-right-style:none;border-right-width:medium;border-spacing:0;border-top:0;border-top-color:inherit;border-top-left-radius:0;border-top-right-radius:0;border-top-style:none;border-top-width:medium;box-shadow:none;box-sizing:border-box;caption-side:top;clear:none;clip:auto;color:inherit;columns:auto;column-count:auto;column-fill:balance;column-gap:normal;column-rule:medium none currentColor;column-rule-color:currentColor;column-rule-style:none;column-rule-width:none;column-span:1;column-width:auto;counter-increment:none;counter-reset:none;direction:ltr;empty-cells:show;float:none;font:normal;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,sans-serif;font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;height:auto;hyphens:none;letter-spacing:normal;line-height:normal;list-style:none;list-style-image:none;list-style-position:outside;list-style-type:disc;margin:0;margin-bottom:0;margin-left:0;margin-right:0;margin-top:0;opacity:1;orphans:0;outline:0;outline-color:invert;outline-style:none;outline-width:medium;overflow:visible;overflow-x:visible;overflow-y:visible;padding:0;padding-bottom:0;padding-left:0;padding-right:0;padding-top:0;page-break-after:auto;page-break-before:auto;page-break-inside:auto;perspective:none;perspective-origin:50% 50%;pointer-events:auto;position:static;quotes:"\\201C" "\\201D" "\\2018" "\\2019";tab-size:8;table-layout:auto;text-align:inherit;text-align-last:auto;text-decoration:none;text-decoration-color:inherit;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-shadow:none;text-transform:none;transform:none;transform-style:flat;transition:none;transition-delay:0s;transition-duration:0s;transition-property:none;transition-timing-function:ease;unicode-bidi:normal;vertical-align:baseline;visibility:visible;white-space:normal;widows:0;word-spacing:normal;z-index:auto}.-cbwsdk-css-reset strong{font-weight:bold}.-cbwsdk-css-reset *{box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,sans-serif;line-height:1}.-cbwsdk-css-reset [class*=container]{margin:0;padding:0}.-cbwsdk-css-reset style{display:none}`;function jt(){let e=document.createElement(`style`);e.type=`text/css`,e.appendChild(document.createTextNode(At)),document.documentElement.appendChild(e)}var Mt=`.-cbwsdk-css-reset .-gear-container{margin-left:16px !important;margin-right:9px !important;display:flex;align-items:center;justify-content:center;width:24px;height:24px;transition:opacity .25s}.-cbwsdk-css-reset .-gear-container *{user-select:none}.-cbwsdk-css-reset .-gear-container svg{opacity:0;position:absolute}.-cbwsdk-css-reset .-gear-icon{height:12px;width:12px;z-index:10000}.-cbwsdk-css-reset .-cbwsdk-snackbar{align-items:flex-end;display:flex;flex-direction:column;position:fixed;right:0;top:0;z-index:2147483647}.-cbwsdk-css-reset .-cbwsdk-snackbar *{user-select:none}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance{display:flex;flex-direction:column;margin:8px 16px 0 16px;overflow:visible;text-align:left;transform:translateX(0);transition:opacity .25s,transform .25s}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-header:hover .-gear-container svg{opacity:1}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-header{display:flex;align-items:center;background:#fff;overflow:hidden;border:1px solid #e7ebee;box-sizing:border-box;border-radius:8px;cursor:pointer}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-header-cblogo{margin:8px 8px 8px 8px}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-header *{cursor:pointer}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-header-message{color:#000;font-size:13px;line-height:1.5;user-select:none}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu{background:#fff;transition:opacity .25s ease-in-out,transform .25s linear,visibility 0s;visibility:hidden;border:1px solid #e7ebee;box-sizing:border-box;border-radius:8px;opacity:0;flex-direction:column;padding-left:8px;padding-right:8px}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item:last-child{margin-bottom:8px !important}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item:hover{background:#f5f7f8;border-radius:6px;transition:background .25s}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item:hover span{color:#050f19;transition:color .25s}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item:hover svg path{fill:#000;transition:fill .25s}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item{visibility:inherit;height:35px;margin-top:8px;margin-bottom:0;display:flex;flex-direction:row;align-items:center;padding:8px;cursor:pointer}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item *{visibility:inherit;cursor:pointer}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item-is-red:hover{background:rgba(223,95,103,.2);transition:background .25s}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item-is-red:hover *{cursor:pointer}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item-is-red:hover svg path{fill:#df5f67;transition:fill .25s}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item-is-red:hover span{color:#df5f67;transition:color .25s}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item-info{color:#aaa;font-size:13px;margin:0 8px 0 32px;position:absolute}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-hidden{opacity:0;text-align:left;transform:translateX(25%);transition:opacity .5s linear}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-expanded .-cbwsdk-snackbar-instance-menu{opacity:1;display:flex;transform:translateY(8px);visibility:visible}`,Nt=`data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEuNDkyIDEwLjQxOWE4LjkzIDguOTMgMCAwMTguOTMtOC45M2gxMS4xNjNhOC45MyA4LjkzIDAgMDE4LjkzIDguOTN2MTEuMTYzYTguOTMgOC45MyAwIDAxLTguOTMgOC45M0gxMC40MjJhOC45MyA4LjkzIDAgMDEtOC45My04LjkzVjEwLjQxOXoiIGZpbGw9IiMxNjUyRjAiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTEwLjQxOSAwSDIxLjU4QzI3LjMzNSAwIDMyIDQuNjY1IDMyIDEwLjQxOVYyMS41OEMzMiAyNy4zMzUgMjcuMzM1IDMyIDIxLjU4MSAzMkgxMC40MkM0LjY2NSAzMiAwIDI3LjMzNSAwIDIxLjU4MVYxMC40MkMwIDQuNjY1IDQuNjY1IDAgMTAuNDE5IDB6bTAgMS40ODhhOC45MyA4LjkzIDAgMDAtOC45MyA4LjkzdjExLjE2M2E4LjkzIDguOTMgMCAwMDguOTMgOC45M0gyMS41OGE4LjkzIDguOTMgMCAwMDguOTMtOC45M1YxMC40MmE4LjkzIDguOTMgMCAwMC04LjkzLTguOTNIMTAuNDJ6IiBmaWxsPSIjZmZmIi8+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNS45OTggMjYuMDQ5Yy01LjU0OSAwLTEwLjA0Ny00LjQ5OC0xMC4wNDctMTAuMDQ3IDAtNS41NDggNC40OTgtMTAuMDQ2IDEwLjA0Ny0xMC4wNDYgNS41NDggMCAxMC4wNDYgNC40OTggMTAuMDQ2IDEwLjA0NiAwIDUuNTQ5LTQuNDk4IDEwLjA0Ny0xMC4wNDYgMTAuMDQ3eiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik0xMi43NjIgMTQuMjU0YzAtLjgyMi42NjctMS40ODkgMS40ODktMS40ODloMy40OTdjLjgyMiAwIDEuNDg4LjY2NiAxLjQ4OCAxLjQ4OXYzLjQ5N2MwIC44MjItLjY2NiAxLjQ4OC0xLjQ4OCAxLjQ4OGgtMy40OTdhMS40ODggMS40ODggMCAwMS0xLjQ4OS0xLjQ4OHYtMy40OTh6IiBmaWxsPSIjMTY1MkYwIi8+PC9zdmc+`,Pt=`data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEyIDYuNzV2LTEuNWwtMS43Mi0uNTdjLS4wOC0uMjctLjE5LS41Mi0uMzItLjc3bC44MS0xLjYyLTEuMDYtMS4wNi0xLjYyLjgxYy0uMjQtLjEzLS41LS4yNC0uNzctLjMyTDYuNzUgMGgtMS41bC0uNTcgMS43MmMtLjI3LjA4LS41My4xOS0uNzcuMzJsLTEuNjItLjgxLTEuMDYgMS4wNi44MSAxLjYyYy0uMTMuMjQtLjI0LjUtLjMyLjc3TDAgNS4yNXYxLjVsMS43Mi41N2MuMDguMjcuMTkuNTMuMzIuNzdsLS44MSAxLjYyIDEuMDYgMS4wNiAxLjYyLS44MWMuMjQuMTMuNS4yMy43Ny4zMkw1LjI1IDEyaDEuNWwuNTctMS43MmMuMjctLjA4LjUyLS4xOS43Ny0uMzJsMS42Mi44MSAxLjA2LTEuMDYtLjgxLTEuNjJjLjEzLS4yNC4yMy0uNS4zMi0uNzdMMTIgNi43NXpNNiA4LjVhMi41IDIuNSAwIDAxMC01IDIuNSAyLjUgMCAwMTAgNXoiIGZpbGw9IiMwNTBGMTkiLz48L3N2Zz4=`,Ft=class{constructor(){this.items=new Map,this.nextItemKey=0,this.root=null,this.darkMode=kt()}attach(e){this.root=document.createElement(`div`),this.root.className=`-cbwsdk-snackbar-root`,e.appendChild(this.root),this.render()}presentItem(e){let t=this.nextItemKey++;return this.items.set(t,e),this.render(),()=>{this.items.delete(t),this.render()}}clear(){this.items.clear(),this.render()}render(){this.root&&n(a(`div`,null,a(It,{darkMode:this.darkMode},Array.from(this.items.entries()).map(([e,t])=>a(Lt,Object.assign({},t,{key:e}))))),this.root)}},It=e=>a(`div`,{class:r(`-cbwsdk-snackbar-container`)},a(`style`,null,Mt),a(`div`,{class:`-cbwsdk-snackbar`},e.children)),Lt=({autoExpand:e,message:t,menuItems:n})=>{let[s,c]=i(!0),[l,u]=i(e??!1);return o(()=>{let e=[window.setTimeout(()=>{c(!1)},1),window.setTimeout(()=>{u(!0)},1e4)];return()=>{e.forEach(window.clearTimeout)}}),a(`div`,{class:r(`-cbwsdk-snackbar-instance`,s&&`-cbwsdk-snackbar-instance-hidden`,l&&`-cbwsdk-snackbar-instance-expanded`)},a(`div`,{class:`-cbwsdk-snackbar-instance-header`,onClick:()=>{u(!l)}},a(`img`,{src:Nt,class:`-cbwsdk-snackbar-instance-header-cblogo`}),` `,a(`div`,{class:`-cbwsdk-snackbar-instance-header-message`},t),a(`div`,{class:`-gear-container`},!l&&a(`svg`,{width:`24`,height:`24`,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`},a(`circle`,{cx:`12`,cy:`12`,r:`12`,fill:`#F5F7F8`})),a(`img`,{src:Pt,class:`-gear-icon`,title:`Expand`}))),n&&n.length>0&&a(`div`,{class:`-cbwsdk-snackbar-instance-menu`},n.map((e,t)=>a(`div`,{class:r(`-cbwsdk-snackbar-instance-menu-item`,e.isRed&&`-cbwsdk-snackbar-instance-menu-item-is-red`),onClick:e.onClick,key:t},a(`svg`,{width:e.svgWidth,height:e.svgHeight,viewBox:`0 0 10 11`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`},a(`path`,{"fill-rule":e.defaultFillRule,"clip-rule":e.defaultClipRule,d:e.path,fill:`#AAAAAA`})),a(`span`,{class:r(`-cbwsdk-snackbar-instance-menu-item-info`,e.isRed&&`-cbwsdk-snackbar-instance-menu-item-info-is-red`)},e.info)))))},Rt=`M5.00008 0.96875C6.73133 0.96875 8.23758 1.94375 9.00008 3.375L10.0001 2.375V5.5H9.53133H7.96883H6.87508L7.80633 4.56875C7.41258 3.3875 6.31258 2.53125 5.00008 2.53125C3.76258 2.53125 2.70633 3.2875 2.25633 4.36875L0.812576 3.76875C1.50008 2.125 3.11258 0.96875 5.00008 0.96875ZM2.19375 6.43125C2.5875 7.6125 3.6875 8.46875 5 8.46875C6.2375 8.46875 7.29375 7.7125 7.74375 6.63125L9.1875 7.23125C8.5 8.875 6.8875 10.0312 5 10.0312C3.26875 10.0312 1.7625 9.05625 1 7.625L0 8.625V5.5H0.46875H2.03125H3.125L2.19375 6.43125Z`,zt=class{constructor(){this.attached=!1,this.snackbar=new Ft}attach(){if(this.attached)throw Error(`Coinbase Wallet SDK UI is already attached`);let e=document.documentElement,t=document.createElement(`div`);t.className=`-cbwsdk-css-reset`,e.appendChild(t),this.snackbar.attach(t),this.attached=!0,jt()}showConnecting(e){let t;return t=e.isUnlinkedErrorState?{autoExpand:!0,message:`Connection lost`,menuItems:[{isRed:!1,info:`Reset connection`,svgWidth:`10`,svgHeight:`11`,path:`M5.00008 0.96875C6.73133 0.96875 8.23758 1.94375 9.00008 3.375L10.0001 2.375V5.5H9.53133H7.96883H6.87508L7.80633 4.56875C7.41258 3.3875 6.31258 2.53125 5.00008 2.53125C3.76258 2.53125 2.70633 3.2875 2.25633 4.36875L0.812576 3.76875C1.50008 2.125 3.11258 0.96875 5.00008 0.96875ZM2.19375 6.43125C2.5875 7.6125 3.6875 8.46875 5 8.46875C6.2375 8.46875 7.29375 7.7125 7.74375 6.63125L9.1875 7.23125C8.5 8.875 6.8875 10.0312 5 10.0312C3.26875 10.0312 1.7625 9.05625 1 7.625L0 8.625V5.5H0.46875H2.03125H3.125L2.19375 6.43125Z`,defaultFillRule:`evenodd`,defaultClipRule:`evenodd`,onClick:e.onResetConnection}]}:{message:`Confirm on phone`,menuItems:[{isRed:!0,info:`Cancel transaction`,svgWidth:`11`,svgHeight:`11`,path:`M10.3711 1.52346L9.21775 0.370117L5.37109 4.21022L1.52444 0.370117L0.371094 1.52346L4.2112 5.37012L0.371094 9.21677L1.52444 10.3701L5.37109 6.53001L9.21775 10.3701L10.3711 9.21677L6.53099 5.37012L10.3711 1.52346Z`,defaultFillRule:`inherit`,defaultClipRule:`inherit`,onClick:e.onCancel},{isRed:!1,info:`Reset connection`,svgWidth:`10`,svgHeight:`11`,path:Rt,defaultFillRule:`evenodd`,defaultClipRule:`evenodd`,onClick:e.onResetConnection}]},this.snackbar.presentItem(t)}},Bt=`.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;transition:opacity .25s;background-color:rgba(10,11,13,.5)}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-backdrop-hidden{opacity:0}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-box{display:block;position:fixed;top:50%;left:50%;transform:translate(-50%, -50%);padding:20px;border-radius:8px;background-color:#fff;color:#0a0b0d}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-box p{display:block;font-weight:400;font-size:14px;line-height:20px;padding-bottom:12px;color:#5b636e}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-box button{appearance:none;border:none;background:none;color:#0052ff;padding:0;text-decoration:none;display:block;font-weight:600;font-size:16px;line-height:24px}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-box.dark{background-color:#0a0b0d;color:#fff}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-box.dark button{color:#0052ff}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-box.light{background-color:#fff;color:#0a0b0d}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-box.light button{color:#0052ff}`,Vt=class{constructor(){this.root=null,this.darkMode=kt()}attach(){let e=document.documentElement;this.root=document.createElement(`div`),this.root.className=`-cbwsdk-css-reset`,e.appendChild(this.root),jt()}present(e){this.render(e)}clear(){this.render(null)}render(e){this.root&&(n(null,this.root),e&&n(a(Ht,Object.assign({},e,{onDismiss:()=>{this.clear()},darkMode:this.darkMode})),this.root))}},Ht=({title:e,buttonText:t,darkMode:n,onButtonClick:i,onDismiss:o})=>{let s=n?`dark`:`light`;return a(It,{darkMode:n},a(`div`,{class:`-cbwsdk-redirect-dialog`},a(`style`,null,Bt),a(`div`,{class:`-cbwsdk-redirect-dialog-backdrop`,onClick:o}),a(`div`,{class:r(`-cbwsdk-redirect-dialog-box`,s)},a(`p`,null,e),a(`button`,{onClick:i},t))))},Ut=`https://keys.coinbase.com/connect`,Wt=`https://rpc.wallet.coinbase.com`,Gt=`https://www.walletlink.org`,Kt=`https://go.cb-w.com/walletlink`,qt=class{constructor(){this.attached=!1,this.redirectDialog=new Vt}attach(){if(this.attached)throw Error(`Coinbase Wallet SDK UI is already attached`);this.redirectDialog.attach(),this.attached=!0}redirectToCoinbaseWallet(e){let t=new URL(Kt);t.searchParams.append(`redirect_url`,Dt().href),e&&t.searchParams.append(`wl_url`,e);let n=document.createElement(`a`);n.target=`cbw-opener`,n.href=t.href,n.rel=`noreferrer noopener`,n.click()}openCoinbaseWalletDeeplink(e){this.redirectDialog.present({title:`Redirecting to Coinbase Wallet...`,buttonText:`Open`,onButtonClick:()=>{this.redirectToCoinbaseWallet(e)}}),setTimeout(()=>{this.redirectToCoinbaseWallet(e)},99)}showConnecting(e){return()=>{this.redirectDialog.clear()}}},Jt=class e{constructor(t){this.chainCallbackParams={chainId:``,jsonRpcUrl:``},this.isMobileWeb=Ot(),this.linkedUpdated=e=>{this.isLinked=e;let t=this.storage.getItem(Je);if(e&&(this._session.linked=e),this.isUnlinkedErrorState=!1,t){let n=t.split(` `),r=this.storage.getItem(`IsStandaloneSigning`)===`true`;n[0]!==``&&!e&&this._session.linked&&!r&&(this.isUnlinkedErrorState=!0)}},this.metadataUpdated=(e,t)=>{this.storage.setItem(e,t)},this.chainUpdated=(e,t)=>{(this.chainCallbackParams.chainId!==e||this.chainCallbackParams.jsonRpcUrl!==t)&&(this.chainCallbackParams={chainId:e,jsonRpcUrl:t},this.chainCallback&&this.chainCallback(t,Number.parseInt(e,10)))},this.accountUpdated=t=>{this.accountsCallback&&this.accountsCallback([t]),e.accountRequestCallbackIds.size>0&&(Array.from(e.accountRequestCallbackIds.values()).forEach(e=>{this.invokeCallback(e,{method:`requestEthereumAccounts`,result:[t]})}),e.accountRequestCallbackIds.clear())},this.resetAndReload=this.resetAndReload.bind(this),this.linkAPIUrl=t.linkAPIUrl,this.storage=t.storage,this.metadata=t.metadata,this.accountsCallback=t.accountsCallback,this.chainCallback=t.chainCallback;let{session:n,ui:r,connection:i}=this.subscribe();this._session=n,this.connection=i,this.relayEventManager=new nt,this.ui=r,this.ui.attach()}subscribe(){let e=Tt.load(this.storage)||Tt.create(this.storage),{linkAPIUrl:t}=this,n=new tt({session:e,linkAPIUrl:t,listener:this}),r=this.isMobileWeb?new qt:new zt;return n.connect(),{session:e,ui:r,connection:n}}resetAndReload(){this.connection.destroy().then(()=>{Tt.load(this.storage)?.id===this._session.id&&h.clearAll(),document.location.reload()}).catch(e=>{})}signEthereumTransaction(e){return this.sendRequest({method:`signEthereumTransaction`,params:{fromAddress:e.fromAddress,toAddress:e.toAddress,weiValue:L(e.weiValue),data:I(e.data,!0),nonce:e.nonce,gasPriceInWei:e.gasPriceInWei?L(e.gasPriceInWei):null,maxFeePerGas:e.gasPriceInWei?L(e.gasPriceInWei):null,maxPriorityFeePerGas:e.gasPriceInWei?L(e.gasPriceInWei):null,gasLimit:e.gasLimit?L(e.gasLimit):null,chainId:e.chainId,shouldSubmit:!1}})}signAndSubmitEthereumTransaction(e){return this.sendRequest({method:`signEthereumTransaction`,params:{fromAddress:e.fromAddress,toAddress:e.toAddress,weiValue:L(e.weiValue),data:I(e.data,!0),nonce:e.nonce,gasPriceInWei:e.gasPriceInWei?L(e.gasPriceInWei):null,maxFeePerGas:e.maxFeePerGas?L(e.maxFeePerGas):null,maxPriorityFeePerGas:e.maxPriorityFeePerGas?L(e.maxPriorityFeePerGas):null,gasLimit:e.gasLimit?L(e.gasLimit):null,chainId:e.chainId,shouldSubmit:!0}})}submitEthereumTransaction(e,t){return this.sendRequest({method:`submitEthereumTransaction`,params:{signedTransaction:I(e,!0),chainId:t}})}getWalletLinkSession(){return this._session}sendRequest(e){let t=null,n=P(8),r=r=>{this.publishWeb3RequestCanceledEvent(n),this.handleErrorResponse(n,e.method,r),t?.()};return new Promise((i,a)=>{t=this.ui.showConnecting({isUnlinkedErrorState:this.isUnlinkedErrorState,onCancel:r,onResetConnection:this.resetAndReload}),this.relayEventManager.callbacks.set(n,e=>{if(t?.(),G(e))return a(Error(e.errorMessage));i(e)}),this.publishWeb3RequestEvent(n,e)})}publishWeb3RequestEvent(e,t){let n={type:`WEB3_REQUEST`,id:e,request:t};this.publishEvent(`Web3Request`,n,!0).then(e=>{}).catch(e=>{this.handleWeb3ResponseMessage(n.id,{method:t.method,errorMessage:e.message})}),this.isMobileWeb&&this.openCoinbaseWalletDeeplink(t.method)}openCoinbaseWalletDeeplink(e){if(this.ui instanceof qt)switch(e){case`requestEthereumAccounts`:case`switchEthereumChain`:return;default:window.addEventListener(`blur`,()=>{window.addEventListener(`focus`,()=>{this.connection.checkUnseenEvents()},{once:!0})},{once:!0}),this.ui.openCoinbaseWalletDeeplink()}}publishWeb3RequestCanceledEvent(e){let t={type:`WEB3_REQUEST_CANCELED`,id:e};this.publishEvent(`Web3RequestCanceled`,t,!1).then()}publishEvent(e,t,n){return this.connection.publishEvent(e,t,n)}handleWeb3ResponseMessage(t,n){if(n.method===`requestEthereumAccounts`){e.accountRequestCallbackIds.forEach(e=>this.invokeCallback(e,n)),e.accountRequestCallbackIds.clear();return}this.invokeCallback(t,n)}handleErrorResponse(e,t,n){let r=n?.message??`Unspecified error message.`;this.handleWeb3ResponseMessage(e,{method:t,errorMessage:r})}invokeCallback(e,t){let n=this.relayEventManager.callbacks.get(e);n&&(n(t),this.relayEventManager.callbacks.delete(e))}requestEthereumAccounts(){let{appName:t,appLogoUrl:n}=this.metadata,r={method:`requestEthereumAccounts`,params:{appName:t,appLogoUrl:n}},i=P(8);return new Promise((t,n)=>{this.relayEventManager.callbacks.set(i,e=>{if(G(e))return n(Error(e.errorMessage));t(e)}),e.accountRequestCallbackIds.add(i),this.publishWeb3RequestEvent(i,r)})}watchAsset(e,t,n,r,i,a){let o={method:`watchAsset`,params:{type:e,options:{address:t,symbol:n,decimals:r,image:i},chainId:a}},s=null,c=P(8);return s=this.ui.showConnecting({isUnlinkedErrorState:this.isUnlinkedErrorState,onCancel:e=>{this.publishWeb3RequestCanceledEvent(c),this.handleErrorResponse(c,o.method,e),s?.()},onResetConnection:this.resetAndReload}),new Promise((e,t)=>{this.relayEventManager.callbacks.set(c,n=>{if(s?.(),G(n))return t(Error(n.errorMessage));e(n)}),this.publishWeb3RequestEvent(c,o)})}addEthereumChain(e,t,n,r,i,a){let o={method:`addEthereumChain`,params:{chainId:e,rpcUrls:t,blockExplorerUrls:r,chainName:i,iconUrls:n,nativeCurrency:a}},s=null,c=P(8);return s=this.ui.showConnecting({isUnlinkedErrorState:this.isUnlinkedErrorState,onCancel:e=>{this.publishWeb3RequestCanceledEvent(c),this.handleErrorResponse(c,o.method,e),s?.()},onResetConnection:this.resetAndReload}),new Promise((e,t)=>{this.relayEventManager.callbacks.set(c,n=>{if(s?.(),G(n))return t(Error(n.errorMessage));e(n)}),this.publishWeb3RequestEvent(c,o)})}switchEthereumChain(e,t){let n={method:`switchEthereumChain`,params:Object.assign({chainId:e},{address:t})},r=null,i=P(8);return r=this.ui.showConnecting({isUnlinkedErrorState:this.isUnlinkedErrorState,onCancel:e=>{this.publishWeb3RequestCanceledEvent(i),this.handleErrorResponse(i,n.method,e),r?.()},onResetConnection:this.resetAndReload}),new Promise((e,t)=>{this.relayEventManager.callbacks.set(i,n=>{if(r?.(),G(n)&&n.errorCode)return t(D.provider.custom({code:n.errorCode,message:`Unrecognized chain ID. Try adding the chain using addEthereumChain first.`}));if(G(n))return t(Error(n.errorMessage));e(n)}),this.publishWeb3RequestEvent(i,n)})}};Jt.accountRequestCallbackIds=new Set;var Z=e(Ke(),1),Yt=`DefaultChainId`,Xt=`DefaultJsonRpcUrl`,Zt=class{constructor(e){this._relay=null,this._addresses=[],this.metadata=e.metadata,this._storage=new h(`walletlink`,Gt),this.callback=e.callback||null;let t=this._storage.getItem(Je);if(t){let e=t.split(` `);e[0]!==``&&(this._addresses=e.map(e=>B(e)))}this.initializeRelay()}getSession(){let{id:e,secret:t}=this.initializeRelay().getWalletLinkSession();return{id:e,secret:t}}async handshake(){await this._eth_requestAccounts()}get selectedAddress(){return this._addresses[0]||void 0}get jsonRpcUrl(){return this._storage.getItem(Xt)??void 0}set jsonRpcUrl(e){this._storage.setItem(Xt,e)}updateProviderInfo(e,t){var n;this.jsonRpcUrl=e;let r=this.getChainId();this._storage.setItem(Yt,t.toString(10)),V(t)!==r&&((n=this.callback)==null||n.call(this,`chainChanged`,R(t)))}async watchAsset(e){let t=Array.isArray(e)?e[0]:e;if(!t.type)throw D.rpc.invalidParams(`Type is required`);if(t?.type!==`ERC20`)throw D.rpc.invalidParams(`Asset of type '${t.type}' is not supported`);if(!t?.options)throw D.rpc.invalidParams(`Options are required`);if(!t?.options.address)throw D.rpc.invalidParams(`Address is required`);let n=this.getChainId(),{address:r,symbol:i,image:a,decimals:o}=t.options,s=await this.initializeRelay().watchAsset(t.type,r,i,o,a,n?.toString());return!G(s)&&!!s.result}async addEthereumChain(e){let t=e[0];if(t.rpcUrls?.length===0)throw D.rpc.invalidParams(`please pass in at least 1 rpcUrl`);if(!t.chainName||t.chainName.trim()===``)throw D.rpc.invalidParams(`chainName is a required field`);if(!t.nativeCurrency)throw D.rpc.invalidParams(`nativeCurrency is a required field`);let n=Number.parseInt(t.chainId,16);if(n===this.getChainId())return!1;let r=this.initializeRelay(),{rpcUrls:i=[],blockExplorerUrls:a=[],chainName:o,iconUrls:s=[],nativeCurrency:c}=t,l=await r.addEthereumChain(n.toString(),i,s,a,o,c);if(G(l))return!1;if(l.result?.isApproved===!0)return this.updateProviderInfo(i[0],n),null;throw D.rpc.internal(`unable to add ethereum chain`)}async switchEthereumChain(e){let t=e[0],n=Number.parseInt(t.chainId,16),r=await this.initializeRelay().switchEthereumChain(n.toString(10),this.selectedAddress||void 0);if(G(r))throw r;let i=r.result;return i.isApproved&&i.rpcUrl.length>0&&this.updateProviderInfo(i.rpcUrl,n),null}async cleanup(){this.callback=null,this._relay&&this._relay.resetAndReload(),this._storage.clear()}_setAddresses(e,t){var n;if(!Array.isArray(e))throw Error(`addresses is not an array`);let r=e.map(e=>B(e));JSON.stringify(r)!==JSON.stringify(this._addresses)&&(this._addresses=r,(n=this.callback)==null||n.call(this,`accountsChanged`,r),this._storage.setItem(Je,r.join(` `)))}async request(e){let t=e.params||[];switch(e.method){case`eth_accounts`:return[...this._addresses];case`eth_coinbase`:return this.selectedAddress||null;case`net_version`:return this.getChainId().toString(10);case`eth_chainId`:return R(this.getChainId());case`eth_requestAccounts`:return this._eth_requestAccounts();case`eth_ecRecover`:case`personal_ecRecover`:return this.ecRecover(e);case`personal_sign`:return this.personalSign(e);case`eth_signTransaction`:return this._eth_signTransaction(t);case`eth_sendRawTransaction`:return this._eth_sendRawTransaction(t);case`eth_sendTransaction`:return this._eth_sendTransaction(t);case`eth_signTypedData_v1`:case`eth_signTypedData_v3`:case`eth_signTypedData_v4`:case`eth_signTypedData`:return this.signTypedData(e);case`wallet_addEthereumChain`:return this.addEthereumChain(t);case`wallet_switchEthereumChain`:return this.switchEthereumChain(t);case`wallet_watchAsset`:return this.watchAsset(t);default:if(!this.jsonRpcUrl)throw D.rpc.internal(`No RPC URL set for chain`);return W(e,this.jsonRpcUrl)}}_ensureKnownAddress(e){let t=B(e);if(!this._addresses.map(e=>B(e)).includes(t))throw Error(`Unknown Ethereum address`)}_prepareTransactionParams(e){let t=e.from?B(e.from):this.selectedAddress;if(!t)throw Error(`Ethereum address is unavailable`);return this._ensureKnownAddress(t),{fromAddress:t,toAddress:e.to?B(e.to):null,weiValue:e.value==null?BigInt(0):H(e.value),data:e.data?me(e.data):Buffer.alloc(0),nonce:e.nonce==null?null:V(e.nonce),gasPriceInWei:e.gasPrice==null?null:H(e.gasPrice),maxFeePerGas:e.maxFeePerGas==null?null:H(e.maxFeePerGas),maxPriorityFeePerGas:e.maxPriorityFeePerGas==null?null:H(e.maxPriorityFeePerGas),gasLimit:e.gas==null?null:H(e.gas),chainId:e.chainId?V(e.chainId):this.getChainId()}}async ecRecover(e){let{method:t,params:n}=e;if(!Array.isArray(n))throw D.rpc.invalidParams();let r=await this.initializeRelay().sendRequest({method:`ethereumAddressFromSignedMessage`,params:{message:ce(n[0]),signature:ce(n[1]),addPrefix:t===`personal_ecRecover`}});if(G(r))throw r;return r.result}getChainId(){return Number.parseInt(this._storage.getItem(Yt)??`1`,10)}async _eth_requestAccounts(){var e,t;if(this._addresses.length>0)return(e=this.callback)==null||e.call(this,`connect`,{chainId:R(this.getChainId())}),this._addresses;let n=await this.initializeRelay().requestEthereumAccounts();if(G(n))throw n;if(!n.result)throw Error(`accounts received is empty`);return this._setAddresses(n.result),(t=this.callback)==null||t.call(this,`connect`,{chainId:R(this.getChainId())}),this._addresses}async personalSign({params:e}){if(!Array.isArray(e))throw D.rpc.invalidParams();let t=e[1],n=e[0];this._ensureKnownAddress(t);let r=await this.initializeRelay().sendRequest({method:`signEthereumMessage`,params:{address:B(t),message:ce(n),addPrefix:!0,typedDataJson:null}});if(G(r))throw r;return r.result}async _eth_signTransaction(e){let t=this._prepareTransactionParams(e[0]||{}),n=await this.initializeRelay().signEthereumTransaction(t);if(G(n))throw n;return n.result}async _eth_sendRawTransaction(e){let t=me(e[0]),n=await this.initializeRelay().submitEthereumTransaction(t,this.getChainId());if(G(n))throw n;return n.result}async _eth_sendTransaction(e){let t=this._prepareTransactionParams(e[0]||{}),n=await this.initializeRelay().signAndSubmitEthereumTransaction(t);if(G(n))throw n;return n.result}async signTypedData(e){let{method:t,params:n}=e;if(!Array.isArray(n))throw D.rpc.invalidParams();let r=e=>I({eth_signTypedData_v1:Z.default.hashForSignTypedDataLegacy,eth_signTypedData_v3:Z.default.hashForSignTypedData_v3,eth_signTypedData_v4:Z.default.hashForSignTypedData_v4,eth_signTypedData:Z.default.hashForSignTypedData_v4}[t]({data:he(e)}),!0),i=n[+(t===`eth_signTypedData_v1`)],a=n[t===`eth_signTypedData_v1`?0:1];this._ensureKnownAddress(i);let o=await this.initializeRelay().sendRequest({method:`signEthereumMessage`,params:{address:B(i),message:r(a),typedDataJson:JSON.stringify(a,null,2),addPrefix:!1}});if(G(o))throw o;return o.result}initializeRelay(){return this._relay||=new Jt({linkAPIUrl:Gt,storage:this._storage,metadata:this.metadata,accountsCallback:this._setAddresses.bind(this),chainCallback:this.updateProviderInfo.bind(this)}),this._relay}},Qt=`SignerType`,$t=new h(`CBWSDK`,`SignerConfigurator`);function en(){return $t.getItem(Qt)}function tn(e){$t.setItem(Qt,e)}async function nn(e){let{communicator:t,metadata:n,handshakeRequest:r,callback:i}=e;an(t,n,i).catch(()=>{});let a={id:crypto.randomUUID(),event:`selectSignerType`,data:Object.assign(Object.assign({},e.preference),{handshakeRequest:r})},{data:o}=await t.postRequestAndWaitForResponse(a);return o}function rn(e){let{signerType:t,metadata:n,communicator:r,callback:i}=e;switch(t){case`scw`:return new ze({metadata:n,callback:i,communicator:r});case`walletlink`:return new Zt({metadata:n,callback:i})}}async function an(e,t,n){await e.onMessage(({event:e})=>e===`WalletLinkSessionRequest`);let r=new Zt({metadata:t,callback:n});e.postMessage({event:`WalletLinkUpdate`,data:{session:r.getSession()}}),await r.handshake(),e.postMessage({event:`WalletLinkUpdate`,data:{connected:!0}})}var on=`Coinbase Wallet SDK requires the Cross-Origin-Opener-Policy header to not be set to 'same-origin'. This is to ensure that the SDK can communicate with the Coinbase Smart Wallet app.
2
-
3
- Please see https://www.smartwallet.dev/guides/tips/popup-tips#cross-origin-opener-policy for more information.`,{checkCrossOriginOpenerPolicy:sn,getCrossOriginOpenerPolicy:cn}=(()=>{let e;return{getCrossOriginOpenerPolicy:()=>e===void 0?`undefined`:e,checkCrossOriginOpenerPolicy:async()=>{if(typeof window>`u`){e=`non-browser-env`;return}try{let t=`${window.location.origin}${window.location.pathname}`,n=await fetch(t,{method:`HEAD`});if(!n.ok)throw Error(`HTTP error! status: ${n.status}`);e=n.headers.get(`Cross-Origin-Opener-Policy`)??`null`,e===`same-origin`&&console.error(on)}catch(t){console.error(`Error checking Cross-Origin-Opener-Policy:`,t.message),e=`error`}}}})(),ln=420,un=540,dn={isRed:!1,info:`Retry`,svgWidth:`10`,svgHeight:`11`,path:Rt,defaultFillRule:`evenodd`,defaultClipRule:`evenodd`},fn=`Popup was blocked. Try again.`,Q=null;function pn(e){let t=(window.innerWidth-ln)/2+window.screenX,n=(window.innerHeight-un)/2+window.screenY;hn(e);function r(){let r=`wallet_${crypto.randomUUID()}`,i=window.open(e,r,`width=${ln}, height=${un}, left=${t}, top=${n}`);return i?.focus(),i||null}let i=r();if(!i){let e=gn();return new Promise((t,n)=>{e.presentItem({autoExpand:!0,message:fn,menuItems:[Object.assign(Object.assign({},dn),{onClick:()=>{i=r(),i?t(i):n(D.rpc.internal(`Popup window was blocked`)),e.clear()}})]})})}return Promise.resolve(i)}function mn(e){e&&!e.closed&&e.close()}function hn(e){let t={sdkName:Ae,sdkVersion:U,origin:window.location.origin,coop:cn()};for(let[n,r]of Object.entries(t))e.searchParams.append(n,r.toString())}function gn(){if(!Q){let e=document.createElement(`div`);e.className=`-cbwsdk-css-reset`,document.body.appendChild(e),Q=new Ft,Q.attach(e)}return Q}var _n=class{constructor({url:e=Ut,metadata:t,preference:n}){this.popup=null,this.listeners=new Map,this.postMessage=async e=>{(await this.waitForPopupLoaded()).postMessage(e,this.url.origin)},this.postRequestAndWaitForResponse=async e=>{let t=this.onMessage(({requestId:t})=>t===e.id);return this.postMessage(e),await t},this.onMessage=async e=>new Promise((t,n)=>{let r=n=>{if(n.origin!==this.url.origin)return;let i=n.data;e(i)&&(t(i),window.removeEventListener(`message`,r),this.listeners.delete(r))};window.addEventListener(`message`,r),this.listeners.set(r,{reject:n})}),this.disconnect=()=>{mn(this.popup),this.popup=null,this.listeners.forEach(({reject:e},t)=>{e(D.provider.userRejectedRequest(`Request rejected`)),window.removeEventListener(`message`,t)}),this.listeners.clear()},this.waitForPopupLoaded=async()=>this.popup&&!this.popup.closed?(this.popup.focus(),this.popup):(this.popup=await pn(this.url),this.onMessage(({event:e})=>e===`PopupUnload`).then(this.disconnect).catch(()=>{}),this.onMessage(({event:e})=>e===`PopupLoaded`).then(e=>{this.postMessage({requestId:e.id,data:{version:U,metadata:this.metadata,preference:this.preference,location:window.location.toString()}})}).then(()=>{if(!this.popup)throw D.rpc.internal();return this.popup})),this.url=new URL(e),this.metadata=t,this.preference=n}};function vn(e){let t=S(yn(e),{shouldIncludeStack:!0}),n=new URL(`https://docs.cloud.coinbase.com/wallet-sdk/docs/errors`);return n.searchParams.set(`version`,U),n.searchParams.set(`code`,t.code.toString()),n.searchParams.set(`message`,t.message),Object.assign(Object.assign({},t),{docUrl:n.href})}function yn(e){if(typeof e==`string`)return{message:e,code:g.rpc.internal};if(G(e)){let t=e.errorMessage,n=e.errorCode??(t.match(/(denied|rejected)/i)?g.provider.userRejectedRequest:void 0);return Object.assign(Object.assign({},e),{message:t,code:n,data:{method:e.method}})}return e}var bn=class extends s.default{},xn=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n},Sn=class extends bn{constructor(e){var{metadata:t}=e,n=e.preference,{keysUrl:r}=n,i=xn(n,[`keysUrl`]);super(),this.signer=null,this.isCoinbaseWallet=!0,this.metadata=t,this.preference=i,this.communicator=new _n({url:r,metadata:t,preference:i});let a=en();a&&(this.signer=this.initSigner(a))}async request(e){try{if(Pe(e),!this.signer)switch(e.method){case`eth_requestAccounts`:{let t=await this.requestSignerSelection(e),n=this.initSigner(t);await n.handshake(e),this.signer=n,tn(t);break}case`wallet_sendCalls`:{let t=this.initSigner(`scw`);await t.handshake({method:`handshake`});let n=await t.request(e);return await t.cleanup(),n}case`wallet_getCallsStatus`:return W(e,Wt);case`net_version`:return 1;case`eth_chainId`:return R(1);default:throw D.provider.unauthorized(`Must call 'eth_requestAccounts' before other methods`)}return await this.signer.request(e)}catch(e){let{code:t}=e;return t===g.provider.unauthorized&&this.disconnect(),Promise.reject(vn(e))}}async enable(){return console.warn(`.enable() has been deprecated. Please use .request({ method: "eth_requestAccounts" }) instead.`),await this.request({method:`eth_requestAccounts`})}async disconnect(){await this.signer?.cleanup(),this.signer=null,h.clearAll(),this.emit(`disconnect`,D.provider.disconnected(`User initiated disconnection`))}requestSignerSelection(e){return nn({communicator:this.communicator,preference:this.preference,metadata:this.metadata,handshakeRequest:e,callback:this.emit.bind(this)})}initSigner(e){return rn({signerType:e,metadata:this.metadata,communicator:this.communicator,callback:this.emit.bind(this)})}};function Cn(e){if(e){if(![`all`,`smartWalletOnly`,`eoaOnly`].includes(e.options))throw Error(`Invalid options: ${e.options}`);if(e.attribution&&e.attribution.auto!==void 0&&e.attribution.dataSuffix!==void 0)throw Error(`Attribution cannot contain both auto and dataSuffix properties`)}}function wn(e){let t={metadata:e.metadata,preference:e.preference};return Ne(t)??new Sn(t)}var Tn={options:`all`};function En(e){new h(`CBWSDK`).setItem(`VERSION`,U),sn();let t={metadata:{appName:e.appName||`Dapp`,appLogoUrl:e.appLogoUrl||``,appChainIds:e.appChainIds||[]},preference:Object.assign(Tn,e.preference??{})};Cn(t.preference);let n=null;return{getProvider:()=>(n||=wn(t),n)}}var $,Dn=[1,11155111,137,10,8453,84532,42161,7777777,43114,56],On=class extends d{async initialize(){await this.syncAccounts(),this.initialized=!0,this.emit(`initialized`)}async connect(e){return e.showPrompt&&await this.promptConnection(),await this.isConnected()?this.getConnectedWallet():null}disconnect(){this.proxyProvider.walletProvider.disconnect(),this.onDisconnect()}get walletBranding(){return{name:this.displayName,icon:f,id:`com.coinbase.wallet`}}async promptConnection(){p.debug(`Prompting connection via Coinbase Wallet`,{wallet:this.walletClientType});try{p.rpcRequest(`eth_requestAccounts`,this.walletClientType);let e=await this.proxyProvider.request({method:`eth_requestAccounts`});if(p.rpcResponse(`eth_requestAccounts`,this.walletClientType),!e||e.length===0||!e[0])throw new l(`Unable to retrieve accounts`);this.connected=!0,await this.syncAccounts([e[0]])}catch(e){throw p.connectionFailed(this.walletClientType,e,{method:`coinbase_wallet`}),m(e)}}updateConnectionPreference(e){this.coinbaseWalletConfig={...this.coinbaseWalletConfig,preference:{...this.coinbaseWalletConfig.preference,options:e}},this.walletClientType=e===`smartWalletOnly`?`coinbase_smart_wallet`:`coinbase_wallet`,$=En({...this.coinbaseWalletConfig}),this.proxyProvider.setWalletProvider($.getProvider())}constructor(e,t,n,r){if(super(`coinbase_wallet`,e,t,n),this.connectorType=`coinbase_wallet`,this.displayName=`Coinbase Wallet`,this.proxyProvider=new u(void 0,this.rpcTimeoutDuration),this.subscribeListeners(),this.coinbaseWalletConfig={...r,appChainIds:[t.id].concat(e.map((e=>e.id)))},this.walletClientType=this.coinbaseWalletConfig.preference?.options===`smartWalletOnly`?`coinbase_smart_wallet`:`coinbase_wallet`,this.walletClientType===`coinbase_smart_wallet`&&(this.displayName=`Coinbase Smart Wallet`),!$){let e=this.coinbaseWalletConfig.preference?.options===`eoaOnly`?[]:(this.coinbaseWalletConfig.appChainIds??[]).filter((e=>!Dn.includes(e)));e.length>0&&!e.every((e=>c.has(e)))&&console.info(`The configured chains are not supported by Coinbase Smart Wallet: ${e.join(`, `)}`),$=En(this.coinbaseWalletConfig)}this.proxyProvider.setWalletProvider($.getProvider())}};export{On as CoinbaseWalletConnector};
@@ -1 +0,0 @@
1
- import{t as e}from"./createLucideIcon-IPW50ckY.js";var t=e(`copy`,[[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`,key:`17jyea`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`,key:`zix9uf`}]]);export{t};