@shapeshiftoss/swap-widget 0.0.2 → 0.2.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 (158) hide show
  1. package/LICENSE.md +21 -0
  2. package/README.md +18 -11
  3. package/package.json +77 -28
  4. package/Dockerfile +0 -87
  5. package/dist/assets/PhArrowCircleDown-B305t-Sh.js +0 -14
  6. package/dist/assets/PhArrowClockwise-CJPxQhr_.js +0 -14
  7. package/dist/assets/PhArrowDown-C4hT9BVu.js +0 -14
  8. package/dist/assets/PhArrowLeft-Way4Cu-r.js +0 -14
  9. package/dist/assets/PhArrowRight-Cp5ZME0F.js +0 -14
  10. package/dist/assets/PhArrowSquareOut-NnrK69c5.js +0 -14
  11. package/dist/assets/PhArrowUp-Dph6j8rm.js +0 -14
  12. package/dist/assets/PhArrowUpRight-BpJjRRRh.js +0 -14
  13. package/dist/assets/PhArrowsClockwise-CFUT8X7R.js +0 -14
  14. package/dist/assets/PhArrowsDownUp-BjBI4ckC.js +0 -14
  15. package/dist/assets/PhArrowsLeftRight-CuLpbKRk.js +0 -14
  16. package/dist/assets/PhBank-Dchr4XQJ.js +0 -14
  17. package/dist/assets/PhBrowser-dUu2TrC1.js +0 -14
  18. package/dist/assets/PhCaretDown-78IuKU3V.js +0 -14
  19. package/dist/assets/PhCaretLeft-_aiyH7n1.js +0 -14
  20. package/dist/assets/PhCaretRight-8zJQEuDX.js +0 -14
  21. package/dist/assets/PhCaretUp-CiCxKWwN.js +0 -14
  22. package/dist/assets/PhCheck-CcADx8br.js +0 -14
  23. package/dist/assets/PhCircleHalf-BYzSzd2h.js +0 -14
  24. package/dist/assets/PhClock-UItiXeJq.js +0 -14
  25. package/dist/assets/PhCompass-CUy3uA7t.js +0 -14
  26. package/dist/assets/PhCopy-C-PDgSlZ.js +0 -14
  27. package/dist/assets/PhCreditCard-CWRaUT6F.js +0 -14
  28. package/dist/assets/PhCurrencyDollar-Cqla3AXT.js +0 -14
  29. package/dist/assets/PhDesktop-BBIPrYLl.js +0 -14
  30. package/dist/assets/PhDeviceMobile-BdsPaATg.js +0 -14
  31. package/dist/assets/PhDotsThree-BMXCQl-0.js +0 -14
  32. package/dist/assets/PhEnvelope-yUsis6yU.js +0 -14
  33. package/dist/assets/PhFunnelSimple-Ba7BbWTp.js +0 -14
  34. package/dist/assets/PhGlobe-DgLxBk5U.js +0 -14
  35. package/dist/assets/PhIdentificationCard-Czjmq9Z3.js +0 -14
  36. package/dist/assets/PhImage-BAJ_erz6.js +0 -14
  37. package/dist/assets/PhInfo-Cr4DhVUE.js +0 -14
  38. package/dist/assets/PhLightbulb-BX_7duTr.js +0 -14
  39. package/dist/assets/PhMagnifyingGlass-Mygfryvz.js +0 -14
  40. package/dist/assets/PhPaperPlaneRight-BeuCA660.js +0 -14
  41. package/dist/assets/PhPlus-BMjcHjsT.js +0 -14
  42. package/dist/assets/PhPower-CGffGmdb.js +0 -14
  43. package/dist/assets/PhPuzzlePiece-wm_GpVSi.js +0 -14
  44. package/dist/assets/PhQrCode-DRwRzXCH.js +0 -14
  45. package/dist/assets/PhQuestion-M09j2U0T.js +0 -14
  46. package/dist/assets/PhQuestionMark-BP9EMB6h.js +0 -14
  47. package/dist/assets/PhSealCheck-BfG80yKn.js +0 -14
  48. package/dist/assets/PhSignOut-C5YOWlPT.js +0 -14
  49. package/dist/assets/PhSpinner-BXooDYzU.js +0 -14
  50. package/dist/assets/PhTrash-Biq6rmmL.js +0 -14
  51. package/dist/assets/PhUser-CAgZSpGe.js +0 -14
  52. package/dist/assets/PhVault-l2PHF38a.js +0 -14
  53. package/dist/assets/PhWallet-w25D16It.js +0 -14
  54. package/dist/assets/PhWarning-DPEydIPw.js +0 -14
  55. package/dist/assets/PhWarningCircle-BqjT745H.js +0 -14
  56. package/dist/assets/PhX-s-SmVExa.js +0 -14
  57. package/dist/assets/SwapController-If0bFrNc.js +0 -1
  58. package/dist/assets/ccip-BBB7uCdL.js +0 -1
  59. package/dist/assets/ccip-CkkdfKKI.js +0 -1
  60. package/dist/assets/data-capture-D4gAy-Yc.js +0 -242
  61. package/dist/assets/email-B1AJehis.js +0 -90
  62. package/dist/assets/embedded-wallet-Q6DQopDk.js +0 -410
  63. package/dist/assets/features-B6JAPAFb.js +0 -5
  64. package/dist/assets/index-5jd8RPN9.js +0 -7428
  65. package/dist/assets/index-B4kNtSTk.js +0 -1080
  66. package/dist/assets/index-B753eAob.js +0 -1
  67. package/dist/assets/index-BZoLTv77.js +0 -3
  68. package/dist/assets/index-Bcw9UURX.js +0 -3
  69. package/dist/assets/index-BkrV-ahK.js +0 -2
  70. package/dist/assets/index-CRQzQ_up.js +0 -9
  71. package/dist/assets/index-CSW0Gt5y.js +0 -132
  72. package/dist/assets/index-CZ4jTIsk.js +0 -138
  73. package/dist/assets/index-Cwa8SB3h.js +0 -61
  74. package/dist/assets/index-DEwQgT4r.js +0 -78
  75. package/dist/assets/index-DVfQiQ1d.js +0 -1
  76. package/dist/assets/index-cV3UdaMs.css +0 -1
  77. package/dist/assets/index-hAmu622O.js +0 -43
  78. package/dist/assets/onramp-XcPNCLRU.js +0 -422
  79. package/dist/assets/pay-with-exchange-BeHt4OF4.js +0 -280
  80. package/dist/assets/property-C9JG5tag.js +0 -27
  81. package/dist/assets/receive-7ff4he2S.js +0 -131
  82. package/dist/assets/send-CkMBIRXT.js +0 -554
  83. package/dist/assets/socials-DmmxuLrP.js +0 -250
  84. package/dist/assets/swaps-IHAYRQ0x.js +0 -1050
  85. package/dist/assets/transactions-9Cxdk7o9.js +0 -16
  86. package/dist/assets/v4-BOvFkHkt.js +0 -1
  87. package/dist/assets/w3m-modal-kJzFnBfB.js +0 -891
  88. package/dist/assets/wallet-standard-Dv8LMoUB.js +0 -1
  89. package/dist/favicon.png +0 -0
  90. package/dist/favicon.svg +0 -11
  91. package/dist/icon-192x192.png +0 -0
  92. package/dist/icon-512x512.png +0 -0
  93. package/dist/index.html +0 -33
  94. package/index.html +0 -32
  95. package/public/favicon.png +0 -0
  96. package/public/favicon.svg +0 -11
  97. package/public/icon-192x192.png +0 -0
  98. package/public/icon-512x512.png +0 -0
  99. package/railway.toml +0 -10
  100. package/src/api/client.ts +0 -95
  101. package/src/components/AddressInputModal.css +0 -173
  102. package/src/components/AddressInputModal.tsx +0 -250
  103. package/src/components/ApprovalStep.tsx +0 -92
  104. package/src/components/ExecutionStep.tsx +0 -27
  105. package/src/components/InputStep.tsx +0 -431
  106. package/src/components/QuoteSelector.css +0 -146
  107. package/src/components/QuoteSelector.tsx +0 -137
  108. package/src/components/QuotesModal.css +0 -250
  109. package/src/components/QuotesModal.tsx +0 -182
  110. package/src/components/SettingsModal.css +0 -145
  111. package/src/components/SettingsModal.tsx +0 -180
  112. package/src/components/StatusStep.tsx +0 -139
  113. package/src/components/SwapWidget.css +0 -713
  114. package/src/components/SwapWidget.tsx +0 -607
  115. package/src/components/TokenSelectModal.css +0 -438
  116. package/src/components/TokenSelectModal.tsx +0 -487
  117. package/src/components/WalletProvider.tsx +0 -92
  118. package/src/config/appkit.ts +0 -104
  119. package/src/config/wagmi.ts +0 -27
  120. package/src/constants/chains.ts +0 -72
  121. package/src/constants/defaults.ts +0 -28
  122. package/src/constants/swappers.ts +0 -48
  123. package/src/constants/viemChains.ts +0 -69
  124. package/src/contexts/SwapWalletContext.tsx +0 -25
  125. package/src/demo/App.css +0 -458
  126. package/src/demo/App.tsx +0 -481
  127. package/src/demo/main.tsx +0 -25
  128. package/src/hooks/useAssets.ts +0 -180
  129. package/src/hooks/useBalances.ts +0 -822
  130. package/src/hooks/useBitcoinSigning.ts +0 -276
  131. package/src/hooks/useMarketData.ts +0 -169
  132. package/src/hooks/useSolanaSigning.ts +0 -275
  133. package/src/hooks/useStatusPolling.ts +0 -137
  134. package/src/hooks/useSwapApproval.ts +0 -106
  135. package/src/hooks/useSwapDisplayValues.ts +0 -157
  136. package/src/hooks/useSwapExecution.ts +0 -199
  137. package/src/hooks/useSwapHandlers.ts +0 -119
  138. package/src/hooks/useSwapQuote.ts +0 -71
  139. package/src/hooks/useSwapQuoting.ts +0 -102
  140. package/src/hooks/useSwapRates.ts +0 -61
  141. package/src/index.ts +0 -43
  142. package/src/machines/SwapMachineContext.ts +0 -5
  143. package/src/machines/__tests__/guards.test.ts +0 -228
  144. package/src/machines/__tests__/setup.test.ts +0 -7
  145. package/src/machines/__tests__/swapMachine.test.ts +0 -544
  146. package/src/machines/__tests__/types.test.ts +0 -124
  147. package/src/machines/guards.ts +0 -33
  148. package/src/machines/swapMachine.ts +0 -288
  149. package/src/machines/types.ts +0 -54
  150. package/src/services/transactionStatus.ts +0 -322
  151. package/src/types/index.ts +0 -361
  152. package/src/utils/addressValidation.ts +0 -201
  153. package/src/utils/redirect.ts +0 -45
  154. package/src/vite-env.d.ts +0 -10
  155. package/tsconfig.json +0 -23
  156. package/tsconfig.node.json +0 -10
  157. package/vite.config.ts +0 -101
  158. package/vitest.config.ts +0 -18
@@ -1,90 +0,0 @@
1
- import{k as S,C as g,af as p,E as c,as as _,R as s,S as f,n as C,G as d,y as D,I as y,u,J as m,a4 as E,O as $,at as W,au as P,av as N,h as T}from"./index-5jd8RPN9.js";import{W as b}from"./index-CSW0Gt5y.js";var F=function(r,e,t,a){var n=arguments.length,i=n<3?e:a===null?a=Object.getOwnPropertyDescriptor(e,t):a,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(r,e,t,a);else for(var l=r.length-1;l>=0;l--)(o=r[l])&&(i=(n<3?o(i):n>3?o(e,t,i):o(e,t))||i);return n>3&&i&&Object.defineProperty(e,t,i),i};let I=class extends b{constructor(){super(...arguments),this.onOtpSubmit=async e=>{var t,a;try{if(this.authConnector){const n=S.state.activeChain,i=g.getConnections(n),o=(t=p.state.remoteFeatures)==null?void 0:t.multiWallet,l=i.length>0;if(await this.authConnector.provider.connectOtp({otp:e}),c.sendEvent({type:"track",event:"EMAIL_VERIFICATION_CODE_PASS"}),n)await g.connectExternal(this.authConnector,n);else throw new Error("Active chain is not set on ChainController");if((a=p.state.remoteFeatures)!=null&&a.emailCapture)return;if(p.state.siwx){_.close();return}if(l&&o){s.replace("ProfileWallets"),f.showSuccess("New Wallet Added");return}_.close()}}catch(n){throw c.sendEvent({type:"track",event:"EMAIL_VERIFICATION_CODE_FAIL",properties:{message:C.parseError(n)}}),n}},this.onOtpResend=async e=>{this.authConnector&&(await this.authConnector.provider.connectEmail({email:e}),c.sendEvent({type:"track",event:"EMAIL_VERIFICATION_CODE_SENT"}))}}};I=F([d("w3m-email-verify-otp-view")],I);const U=D`
2
- wui-icon-box {
3
- height: ${({spacing:r})=>r[16]};
4
- width: ${({spacing:r})=>r[16]};
5
- }
6
- `;var x=function(r,e,t,a){var n=arguments.length,i=n<3?e:a===null?a=Object.getOwnPropertyDescriptor(e,t):a,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(r,e,t,a);else for(var l=r.length-1;l>=0;l--)(o=r[l])&&(i=(n<3?o(i):n>3?o(e,t,i):o(e,t))||i);return n>3&&i&&Object.defineProperty(e,t,i),i};let w=class extends y{constructor(){var e;super(),this.email=(e=s.state.data)==null?void 0:e.email,this.authConnector=u.getAuthConnector(),this.loading=!1,this.listenForDeviceApproval()}render(){if(!this.email)throw new Error("w3m-email-verify-device-view: No email provided");if(!this.authConnector)throw new Error("w3m-email-verify-device-view: No auth connector provided");return m`
7
- <wui-flex
8
- flexDirection="column"
9
- alignItems="center"
10
- .padding=${["6","3","6","3"]}
11
- gap="4"
12
- >
13
- <wui-icon-box size="xl" color="accent-primary" icon="sealCheck"></wui-icon-box>
14
-
15
- <wui-flex flexDirection="column" alignItems="center" gap="3">
16
- <wui-flex flexDirection="column" alignItems="center">
17
- <wui-text variant="md-regular" color="primary">
18
- Approve the login link we sent to
19
- </wui-text>
20
- <wui-text variant="md-regular" color="primary"><b>${this.email}</b></wui-text>
21
- </wui-flex>
22
-
23
- <wui-text variant="sm-regular" color="secondary" align="center">
24
- The code expires in 20 minutes
25
- </wui-text>
26
-
27
- <wui-flex alignItems="center" id="w3m-resend-section" gap="2">
28
- <wui-text variant="sm-regular" color="primary" align="center">
29
- Didn't receive it?
30
- </wui-text>
31
- <wui-link @click=${this.onResendCode.bind(this)} .disabled=${this.loading}>
32
- Resend email
33
- </wui-link>
34
- </wui-flex>
35
- </wui-flex>
36
- </wui-flex>
37
- `}async listenForDeviceApproval(){if(this.authConnector)try{await this.authConnector.provider.connectDevice(),c.sendEvent({type:"track",event:"DEVICE_REGISTERED_FOR_EMAIL"}),c.sendEvent({type:"track",event:"EMAIL_VERIFICATION_CODE_SENT"}),s.replace("EmailVerifyOtp",{email:this.email})}catch{s.goBack()}}async onResendCode(){try{if(!this.loading){if(!this.authConnector||!this.email)throw new Error("w3m-email-login-widget: Unable to resend email");this.loading=!0,await this.authConnector.provider.connectEmail({email:this.email}),this.listenForDeviceApproval(),f.showSuccess("Code email resent")}}catch(e){f.showError(e)}finally{this.loading=!1}}};w.styles=U;x([E()],w.prototype,"loading",void 0);w=x([d("w3m-email-verify-device-view")],w);const j=$`
38
- wui-email-input {
39
- width: 100%;
40
- }
41
-
42
- form {
43
- width: 100%;
44
- display: block;
45
- position: relative;
46
- }
47
- `;var O=function(r,e,t,a){var n=arguments.length,i=n<3?e:a===null?a=Object.getOwnPropertyDescriptor(e,t):a,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(r,e,t,a);else for(var l=r.length-1;l>=0;l--)(o=r[l])&&(i=(n<3?o(i):n>3?o(e,t,i):o(e,t))||i);return n>3&&i&&Object.defineProperty(e,t,i),i};let h=class extends y{constructor(){var e,t;super(...arguments),this.formRef=W(),this.initialEmail=((e=s.state.data)==null?void 0:e.email)??"",this.redirectView=(t=s.state.data)==null?void 0:t.redirectView,this.email="",this.loading=!1}firstUpdated(){var e;(e=this.formRef.value)==null||e.addEventListener("keydown",t=>{t.key==="Enter"&&this.onSubmitEmail(t)})}render(){return m`
48
- <wui-flex flexDirection="column" padding="4" gap="4">
49
- <form ${P(this.formRef)} @submit=${this.onSubmitEmail.bind(this)}>
50
- <wui-email-input
51
- value=${this.initialEmail}
52
- .disabled=${this.loading}
53
- @inputChange=${this.onEmailInputChange.bind(this)}
54
- >
55
- </wui-email-input>
56
- <input type="submit" hidden />
57
- </form>
58
- ${this.buttonsTemplate()}
59
- </wui-flex>
60
- `}onEmailInputChange(e){this.email=e.detail}async onSubmitEmail(e){try{if(this.loading)return;this.loading=!0,e.preventDefault();const t=u.getAuthConnector();if(!t)throw new Error("w3m-update-email-wallet: Auth connector not found");const a=await t.provider.updateEmail({email:this.email});c.sendEvent({type:"track",event:"EMAIL_EDIT"}),a.action==="VERIFY_SECONDARY_OTP"?s.push("UpdateEmailSecondaryOtp",{email:this.initialEmail,newEmail:this.email,redirectView:this.redirectView}):s.push("UpdateEmailPrimaryOtp",{email:this.initialEmail,newEmail:this.email,redirectView:this.redirectView})}catch(t){f.showError(t),this.loading=!1}}buttonsTemplate(){const e=!this.loading&&this.email.length>3&&this.email!==this.initialEmail;return this.redirectView?m`
61
- <wui-flex gap="3">
62
- <wui-button size="md" variant="neutral" fullWidth @click=${s.goBack}>
63
- Cancel
64
- </wui-button>
65
-
66
- <wui-button
67
- size="md"
68
- variant="accent-primary"
69
- fullWidth
70
- @click=${this.onSubmitEmail.bind(this)}
71
- .disabled=${!e}
72
- .loading=${this.loading}
73
- >
74
- Save
75
- </wui-button>
76
- </wui-flex>
77
- `:m`
78
- <wui-button
79
- size="md"
80
- variant="accent-primary"
81
- fullWidth
82
- @click=${this.onSubmitEmail.bind(this)}
83
- .disabled=${!e}
84
- .loading=${this.loading}
85
- >
86
- Save
87
- </wui-button>
88
- `}};h.styles=j;O([E()],h.prototype,"email",void 0);O([E()],h.prototype,"loading",void 0);h=O([d("w3m-update-email-wallet-view")],h);var L=function(r,e,t,a){var n=arguments.length,i=n<3?e:a===null?a=Object.getOwnPropertyDescriptor(e,t):a,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(r,e,t,a);else for(var l=r.length-1;l>=0;l--)(o=r[l])&&(i=(n<3?o(i):n>3?o(e,t,i):o(e,t))||i);return n>3&&i&&Object.defineProperty(e,t,i),i};let A=class extends b{constructor(){var e;super(),this.email=(e=s.state.data)==null?void 0:e.email,this.onOtpSubmit=async t=>{try{this.authConnector&&(await this.authConnector.provider.updateEmailPrimaryOtp({otp:t}),c.sendEvent({type:"track",event:"EMAIL_VERIFICATION_CODE_PASS"}),s.replace("UpdateEmailSecondaryOtp",s.state.data))}catch(a){throw c.sendEvent({type:"track",event:"EMAIL_VERIFICATION_CODE_FAIL",properties:{message:C.parseError(a)}}),a}},this.onStartOver=()=>{s.replace("UpdateEmailWallet",s.state.data)}}};A=L([d("w3m-update-email-primary-otp-view")],A);var M=function(r,e,t,a){var n=arguments.length,i=n<3?e:a===null?a=Object.getOwnPropertyDescriptor(e,t):a,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(r,e,t,a);else for(var l=r.length-1;l>=0;l--)(o=r[l])&&(i=(n<3?o(i):n>3?o(e,t,i):o(e,t))||i);return n>3&&i&&Object.defineProperty(e,t,i),i};let R=class extends b{constructor(){var e,t;super(),this.email=(e=s.state.data)==null?void 0:e.newEmail,this.redirectView=(t=s.state.data)==null?void 0:t.redirectView,this.onOtpSubmit=async a=>{try{this.authConnector&&(await this.authConnector.provider.updateEmailSecondaryOtp({otp:a}),c.sendEvent({type:"track",event:"EMAIL_VERIFICATION_CODE_PASS"}),this.redirectView&&s.reset(this.redirectView))}catch(n){throw c.sendEvent({type:"track",event:"EMAIL_VERIFICATION_CODE_FAIL",properties:{message:C.parseError(n)}}),n}},this.onStartOver=()=>{s.replace("UpdateEmailWallet",s.state.data)}}};R=M([d("w3m-update-email-secondary-otp-view")],R);var V=function(r,e,t,a){var n=arguments.length,i=n<3?e:a===null?a=Object.getOwnPropertyDescriptor(e,t):a,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(r,e,t,a);else for(var l=r.length-1;l>=0;l--)(o=r[l])&&(i=(n<3?o(i):n>3?o(e,t,i):o(e,t))||i);return n>3&&i&&Object.defineProperty(e,t,i),i};let v=class extends y{constructor(){var e;super(),this.authConnector=u.getAuthConnector(),this.isEmailEnabled=(e=p.state.remoteFeatures)==null?void 0:e.email,this.isAuthEnabled=this.checkIfAuthEnabled(u.state.connectors),this.connectors=u.state.connectors,u.subscribeKey("connectors",t=>{this.connectors=t,this.isAuthEnabled=this.checkIfAuthEnabled(this.connectors)})}render(){if(!this.isEmailEnabled)throw new Error("w3m-email-login-view: Email is not enabled");if(!this.isAuthEnabled)throw new Error("w3m-email-login-view: No auth connector provided");return m`<wui-flex flexDirection="column" .padding=${["1","3","3","3"]} gap="4">
89
- <w3m-email-login-widget></w3m-email-login-widget>
90
- </wui-flex> `}checkIfAuthEnabled(e){const t=e.filter(n=>n.type===N.CONNECTOR_TYPE_AUTH).map(n=>n.chain);return T.AUTH_CONNECTOR_SUPPORTED_CHAINS.some(n=>t.includes(n))}};V([E()],v.prototype,"connectors",void 0);v=V([d("w3m-email-login-view")],v);export{v as W3mEmailLoginView,b as W3mEmailOtpWidget,w as W3mEmailVerifyDeviceView,I as W3mEmailVerifyOtpView,A as W3mUpdateEmailPrimaryOtpView,R as W3mUpdateEmailSecondaryOtpView,h as W3mUpdateEmailWalletView};
@@ -1,410 +0,0 @@
1
- import{O as Y,I as g,as as W,af as K,J as c,u as _,a2 as j,aD as G,a4 as d,G as w,y as R,z,D as B,F as l,r as N,k as h,aE as V,h as k,j as C,W as m,C as L,aF as q,aG as X,at as J,aH as v,n as D,aI as O,au as Q,E as I,S as Z,aJ as ee,R as te}from"./index-5jd8RPN9.js";const ie=Y`
2
- div {
3
- width: 100%;
4
- }
5
-
6
- [data-ready='false'] {
7
- transform: scale(1.05);
8
- }
9
-
10
- @media (max-width: 430px) {
11
- [data-ready='false'] {
12
- transform: translateY(-50px);
13
- }
14
- }
15
- `;var F=function(e,t,i,n){var r=arguments.length,o=r<3?t:n===null?n=Object.getOwnPropertyDescriptor(t,i):n,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(e,t,i,n);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(r<3?a(o):r>3?a(t,i,o):a(t,i))||o);return r>3&&o&&Object.defineProperty(t,i,o),o};const P=600,M=360,oe=64;let E=class extends g{constructor(){super(),this.bodyObserver=void 0,this.unsubscribe=[],this.iframe=document.getElementById("w3m-iframe"),this.ready=!1,this.unsubscribe.push(W.subscribeKey("open",t=>{t||this.onHideIframe()}),W.subscribeKey("shake",t=>{t?this.iframe.style.animation="w3m-shake 500ms var(--apkt-easings-ease-out-power-2)":this.iframe.style.animation="none"}))}disconnectedCallback(){var t;this.onHideIframe(),this.unsubscribe.forEach(i=>i()),(t=this.bodyObserver)==null||t.unobserve(window.document.body)}async firstUpdated(){var i;await this.syncTheme(),this.iframe.style.display="block";const t=(i=this==null?void 0:this.renderRoot)==null?void 0:i.querySelector("div");this.bodyObserver=new ResizeObserver(n=>{var a,s;const r=(a=n==null?void 0:n[0])==null?void 0:a.contentBoxSize,o=(s=r==null?void 0:r[0])==null?void 0:s.inlineSize;this.iframe.style.height=`${P}px`,t.style.height=`${P}px`,K.state.enableEmbedded?this.updateFrameSizeForEmbeddedMode():o&&o<=430?(this.iframe.style.width="100%",this.iframe.style.left="0px",this.iframe.style.bottom="0px",this.iframe.style.top="unset",this.onShowIframe()):(this.iframe.style.width=`${M}px`,this.iframe.style.left=`calc(50% - ${M/2}px)`,this.iframe.style.top=`calc(50% - ${P/2}px + ${oe/2}px)`,this.iframe.style.bottom="unset",this.onShowIframe())}),this.bodyObserver.observe(window.document.body)}render(){return c`<div data-ready=${this.ready} id="w3m-frame-container"></div>`}onShowIframe(){const t=window.innerWidth<=430;this.ready=!0,this.iframe.style.animation=t?"w3m-iframe-zoom-in-mobile 200ms var(--apkt-easings-ease-out-power-2)":"w3m-iframe-zoom-in 200ms var(--apkt-easings-ease-out-power-2)"}onHideIframe(){this.iframe.style.display="none",this.iframe.style.animation="w3m-iframe-fade-out 200ms var(--apkt-easings-ease-out-power-2)"}async syncTheme(){const t=_.getAuthConnector();if(t){const i=j.getSnapshot().themeMode,n=j.getSnapshot().themeVariables;await t.provider.syncTheme({themeVariables:n,w3mThemeVariables:G(n,i)})}}async updateFrameSizeForEmbeddedMode(){var n;const t=(n=this==null?void 0:this.renderRoot)==null?void 0:n.querySelector("div");await new Promise(r=>{setTimeout(r,300)});const i=this.getBoundingClientRect();t.style.width="100%",this.iframe.style.left=`${i.left}px`,this.iframe.style.top=`${i.top}px`,this.iframe.style.width=`${i.width}px`,this.iframe.style.height=`${i.height}px`,this.onShowIframe()}};E.styles=ie;F([d()],E.prototype,"ready",void 0);E=F([w("w3m-approve-transaction-view")],E);const ne=R`
16
- a {
17
- border: none;
18
- border-radius: ${({borderRadius:e})=>e[20]};
19
- display: flex;
20
- flex-direction: row;
21
- align-items: center;
22
- padding: ${({spacing:e})=>e[1]};
23
- transition:
24
- background-color ${({durations:e})=>e.lg}
25
- ${({easings:e})=>e["ease-out-power-2"]},
26
- box-shadow ${({durations:e})=>e.lg}
27
- ${({easings:e})=>e["ease-out-power-2"]},
28
- border ${({durations:e})=>e.lg} ${({easings:e})=>e["ease-out-power-2"]};
29
- will-change: background-color, box-shadow, border;
30
- }
31
-
32
- /* -- Variants --------------------------------------------------------------- */
33
- a[data-type='success'] {
34
- background-color: ${({tokens:e})=>e.core.backgroundSuccess};
35
- color: ${({tokens:e})=>e.core.textSuccess};
36
- }
37
-
38
- a[data-type='error'] {
39
- background-color: ${({tokens:e})=>e.core.backgroundError};
40
- color: ${({tokens:e})=>e.core.textError};
41
- }
42
-
43
- a[data-type='warning'] {
44
- background-color: ${({tokens:e})=>e.core.backgroundWarning};
45
- color: ${({tokens:e})=>e.core.textWarning};
46
- }
47
-
48
- /* -- Sizes --------------------------------------------------------------- */
49
- a[data-size='sm'] {
50
- height: 24px;
51
- }
52
-
53
- a[data-size='md'] {
54
- height: 28px;
55
- }
56
-
57
- a[data-size='lg'] {
58
- height: 32px;
59
- }
60
-
61
- a[data-size='sm'] > wui-image,
62
- a[data-size='sm'] > wui-icon {
63
- width: 16px;
64
- height: 16px;
65
- }
66
-
67
- a[data-size='md'] > wui-image,
68
- a[data-size='md'] > wui-icon {
69
- width: 20px;
70
- height: 20px;
71
- }
72
-
73
- a[data-size='lg'] > wui-image,
74
- a[data-size='lg'] > wui-icon {
75
- width: 24px;
76
- height: 24px;
77
- }
78
-
79
- wui-text {
80
- padding-left: ${({spacing:e})=>e[1]};
81
- padding-right: ${({spacing:e})=>e[1]};
82
- }
83
-
84
- wui-image {
85
- border-radius: ${({borderRadius:e})=>e[3]};
86
- overflow: hidden;
87
- user-drag: none;
88
- user-select: none;
89
- -moz-user-select: none;
90
- -webkit-user-drag: none;
91
- -webkit-user-select: none;
92
- -ms-user-select: none;
93
- }
94
-
95
- /* -- States --------------------------------------------------------------- */
96
- @media (hover: hover) and (pointer: fine) {
97
- a[data-type='success']:not(:disabled):hover {
98
- background-color: ${({tokens:e})=>e.theme.foregroundPrimary};
99
- box-shadow: 0px 0px 0px 1px ${({tokens:e})=>e.core.borderSuccess};
100
- }
101
-
102
- a[data-type='error']:not(:disabled):hover {
103
- background-color: ${({tokens:e})=>e.theme.foregroundPrimary};
104
- box-shadow: 0px 0px 0px 1px ${({tokens:e})=>e.core.borderError};
105
- }
106
-
107
- a[data-type='warning']:not(:disabled):hover {
108
- background-color: ${({tokens:e})=>e.theme.foregroundPrimary};
109
- box-shadow: 0px 0px 0px 1px ${({tokens:e})=>e.core.borderWarning};
110
- }
111
- }
112
-
113
- a[data-type='success']:not(:disabled):focus-visible {
114
- box-shadow:
115
- 0px 0px 0px 1px ${({tokens:e})=>e.core.backgroundAccentPrimary},
116
- 0px 0px 0px 4px ${({tokens:e})=>e.core.foregroundAccent020};
117
- }
118
-
119
- a[data-type='error']:not(:disabled):focus-visible {
120
- box-shadow:
121
- 0px 0px 0px 1px ${({tokens:e})=>e.core.backgroundAccentPrimary},
122
- 0px 0px 0px 4px ${({tokens:e})=>e.core.foregroundAccent020};
123
- }
124
-
125
- a[data-type='warning']:not(:disabled):focus-visible {
126
- box-shadow:
127
- 0px 0px 0px 1px ${({tokens:e})=>e.core.backgroundAccentPrimary},
128
- 0px 0px 0px 4px ${({tokens:e})=>e.core.foregroundAccent020};
129
- }
130
-
131
- a:disabled {
132
- opacity: 0.5;
133
- }
134
- `;var y=function(e,t,i,n){var r=arguments.length,o=r<3?t:n===null?n=Object.getOwnPropertyDescriptor(t,i):n,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(e,t,i,n);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(r<3?a(o):r>3?a(t,i,o):a(t,i))||o);return r>3&&o&&Object.defineProperty(t,i,o),o};const re={sm:"md-regular",md:"lg-regular",lg:"lg-regular"},ae={success:"sealCheck",error:"warning",warning:"exclamationCircle"};let u=class extends g{constructor(){super(...arguments),this.type="success",this.size="md",this.imageSrc=void 0,this.disabled=!1,this.href="",this.text=void 0}render(){return c`
135
- <a
136
- rel="noreferrer"
137
- target="_blank"
138
- href=${this.href}
139
- class=${this.disabled?"disabled":""}
140
- data-type=${this.type}
141
- data-size=${this.size}
142
- >
143
- ${this.imageTemplate()}
144
- <wui-text variant=${re[this.size]} color="inherit">${this.text}</wui-text>
145
- </a>
146
- `}imageTemplate(){return this.imageSrc?c`<wui-image src=${this.imageSrc} size="inherit"></wui-image>`:c`<wui-icon
147
- name=${ae[this.type]}
148
- weight="fill"
149
- color="inherit"
150
- size="inherit"
151
- class="image-icon"
152
- ></wui-icon>`}};u.styles=[z,B,ne];y([l()],u.prototype,"type",void 0);y([l()],u.prototype,"size",void 0);y([l()],u.prototype,"imageSrc",void 0);y([l({type:Boolean})],u.prototype,"disabled",void 0);y([l()],u.prototype,"href",void 0);y([l()],u.prototype,"text",void 0);u=y([w("wui-semantic-chip")],u);var se=function(e,t,i,n){var r=arguments.length,o=r<3?t:n===null?n=Object.getOwnPropertyDescriptor(t,i):n,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(e,t,i,n);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(r<3?a(o):r>3?a(t,i,o):a(t,i))||o);return r>3&&o&&Object.defineProperty(t,i,o),o};let H=class extends g{render(){return c`
153
- <wui-flex flexDirection="column" alignItems="center" gap="5" padding="5">
154
- <wui-text variant="md-regular" color="primary">Follow the instructions on</wui-text>
155
- <wui-semantic-chip
156
- icon="externalLink"
157
- variant="fill"
158
- text=${N.SECURE_SITE_DASHBOARD}
159
- href=${N.SECURE_SITE_DASHBOARD}
160
- imageSrc=${N.SECURE_SITE_FAVICON}
161
- data-testid="w3m-secure-website-button"
162
- >
163
- </wui-semantic-chip>
164
- <wui-text variant="sm-regular" color="secondary">
165
- You will have to reconnect for security reasons
166
- </wui-text>
167
- </wui-flex>
168
- `}};H=se([w("w3m-upgrade-wallet-view")],H);var A=function(e,t,i,n){var r=arguments.length,o=r<3?t:n===null?n=Object.getOwnPropertyDescriptor(t,i):n,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(e,t,i,n);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(r<3?a(o):r>3?a(t,i,o):a(t,i))||o);return r>3&&o&&Object.defineProperty(t,i,o),o};let $=class extends g{constructor(){super(...arguments),this.loading=!1,this.switched=!1,this.text="",this.network=h.state.activeCaipNetwork}render(){return c`
169
- <wui-flex flexDirection="column" gap="2" .padding=${["6","4","3","4"]}>
170
- ${this.togglePreferredAccountTypeTemplate()} ${this.toggleSmartAccountVersionTemplate()}
171
- </wui-flex>
172
- `}toggleSmartAccountVersionTemplate(){return c`
173
- <w3m-tooltip-trigger text="Changing the smart account version will reload the page">
174
- <wui-list-item
175
- icon=${this.isV6()?"arrowTop":"arrowBottom"}
176
- ?rounded=${!0}
177
- ?chevron=${!0}
178
- data-testid="account-toggle-smart-account-version"
179
- @click=${this.toggleSmartAccountVersion.bind(this)}
180
- >
181
- <wui-text variant="lg-regular" color="primary"
182
- >Force Smart Account Version ${this.isV6()?"7":"6"}</wui-text
183
- >
184
- </wui-list-item>
185
- </w3m-tooltip-trigger>
186
- `}isV6(){return(V.get("dapp_smart_account_version")||"v6")==="v6"}toggleSmartAccountVersion(){var t;V.set("dapp_smart_account_version",this.isV6()?"v7":"v6"),typeof window<"u"&&((t=window==null?void 0:window.location)==null||t.reload())}togglePreferredAccountTypeTemplate(){var o;const t=(o=this.network)==null?void 0:o.chainNamespace,i=h.checkIfSmartAccountEnabled(),n=_.getConnectorId(t);return!_.getAuthConnector()||n!==k.CONNECTOR_ID.AUTH||!i?null:(this.switched||(this.text=C(t)===m.ACCOUNT_TYPES.SMART_ACCOUNT?"Switch to your EOA":"Switch to your Smart Account"),c`
187
- <wui-list-item
188
- icon="swapHorizontal"
189
- ?rounded=${!0}
190
- ?chevron=${!0}
191
- ?loading=${this.loading}
192
- @click=${this.changePreferredAccountType.bind(this)}
193
- data-testid="account-toggle-preferred-account-type"
194
- >
195
- <wui-text variant="lg-regular" color="primary">${this.text}</wui-text>
196
- </wui-list-item>
197
- `)}async changePreferredAccountType(){var o;const t=(o=this.network)==null?void 0:o.chainNamespace,i=h.checkIfSmartAccountEnabled(),n=C(t)===m.ACCOUNT_TYPES.SMART_ACCOUNT||!i?m.ACCOUNT_TYPES.EOA:m.ACCOUNT_TYPES.SMART_ACCOUNT;_.getAuthConnector()&&(this.loading=!0,await L.setPreferredAccountType(n,t),this.text=n===m.ACCOUNT_TYPES.SMART_ACCOUNT?"Switch to your EOA":"Switch to your Smart Account",this.switched=!0,q.resetSend(),this.loading=!1,this.requestUpdate())}};A([d()],$.prototype,"loading",void 0);A([d()],$.prototype,"switched",void 0);A([d()],$.prototype,"text",void 0);A([d()],$.prototype,"network",void 0);$=A([w("w3m-smart-account-settings-view")],$);const ce=R`
198
- :host {
199
- width: 100%;
200
- }
201
-
202
- button {
203
- width: 100%;
204
- display: flex;
205
- justify-content: space-between;
206
- align-items: center;
207
- background-color: ${({tokens:e})=>e.theme.foregroundPrimary};
208
- border-radius: ${({borderRadius:e})=>e[4]};
209
- padding: ${({spacing:e})=>e[4]};
210
- }
211
-
212
- .name {
213
- max-width: 75%;
214
- overflow: hidden;
215
- text-overflow: ellipsis;
216
- white-space: nowrap;
217
- }
218
-
219
- @media (hover: hover) and (pointer: fine) {
220
- button:hover:enabled {
221
- cursor: pointer;
222
- background-color: ${({tokens:e})=>e.theme.foregroundSecondary};
223
- border-radius: ${({borderRadius:e})=>e[6]};
224
- }
225
- }
226
-
227
- button:disabled {
228
- opacity: 0.5;
229
- cursor: default;
230
- }
231
-
232
- button:focus-visible:enabled {
233
- box-shadow: 0 0 0 4px ${({tokens:e})=>e.core.foregroundAccent040};
234
- background-color: ${({tokens:e})=>e.theme.foregroundSecondary};
235
- }
236
- `;var T=function(e,t,i,n){var r=arguments.length,o=r<3?t:n===null?n=Object.getOwnPropertyDescriptor(t,i):n,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(e,t,i,n);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(r<3?a(o):r>3?a(t,i,o):a(t,i))||o);return r>3&&o&&Object.defineProperty(t,i,o),o};let b=class extends g{constructor(){super(...arguments),this.name="",this.registered=!1,this.loading=!1,this.disabled=!1}render(){return c`
237
- <button ?disabled=${this.disabled}>
238
- <wui-text class="name" color="primary" variant="md-regular">${this.name}</wui-text>
239
- ${this.templateRightContent()}
240
- </button>
241
- `}templateRightContent(){return this.loading?c`<wui-loading-spinner size="lg" color="primary"></wui-loading-spinner>`:this.registered?c`<wui-tag variant="info" size="sm">Registered</wui-tag>`:c`<wui-tag variant="success" size="sm">Available</wui-tag>`}};b.styles=[z,B,ce];T([l()],b.prototype,"name",void 0);T([l({type:Boolean})],b.prototype,"registered",void 0);T([l({type:Boolean})],b.prototype,"loading",void 0);T([l({type:Boolean})],b.prototype,"disabled",void 0);b=T([w("wui-account-name-suggestion-item")],b);const le=R`
242
- :host {
243
- position: relative;
244
- width: 100%;
245
- display: inline-block;
246
- }
247
-
248
- :host([disabled]) {
249
- opacity: 0.5;
250
- cursor: not-allowed;
251
- }
252
-
253
- .base-name {
254
- position: absolute;
255
- right: ${({spacing:e})=>e[4]};
256
- top: 50%;
257
- transform: translateY(-50%);
258
- text-align: right;
259
- padding: ${({spacing:e})=>e[1]};
260
- background-color: ${({tokens:e})=>e.theme.foregroundSecondary};
261
- border-radius: ${({borderRadius:e})=>e[1]};
262
- }
263
- `;var S=function(e,t,i,n){var r=arguments.length,o=r<3?t:n===null?n=Object.getOwnPropertyDescriptor(t,i):n,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(e,t,i,n);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(r<3?a(o):r>3?a(t,i,o):a(t,i))||o);return r>3&&o&&Object.defineProperty(t,i,o),o};let f=class extends g{constructor(){super(...arguments),this.disabled=!1,this.loading=!1}render(){return c`
264
- <wui-input-text
265
- value=${X(this.value)}
266
- ?disabled=${this.disabled}
267
- .value=${this.value||""}
268
- data-testid="wui-ens-input"
269
- icon="search"
270
- inputRightPadding="5xl"
271
- .onKeyDown=${this.onKeyDown}
272
- ></wui-input-text>
273
- `}};f.styles=[z,le];S([l()],f.prototype,"errorMessage",void 0);S([l({type:Boolean})],f.prototype,"disabled",void 0);S([l()],f.prototype,"value",void 0);S([l({type:Boolean})],f.prototype,"loading",void 0);S([l({attribute:!1})],f.prototype,"onKeyDown",void 0);f=S([w("wui-ens-input")],f);const de=R`
274
- wui-flex {
275
- width: 100%;
276
- }
277
-
278
- .suggestion {
279
- background-color: ${({tokens:e})=>e.theme.foregroundPrimary};
280
- border-radius: ${({borderRadius:e})=>e[4]};
281
- }
282
-
283
- .suggestion:hover:not(:disabled) {
284
- cursor: pointer;
285
- border: none;
286
- width: 100%;
287
- display: flex;
288
- justify-content: space-between;
289
- align-items: center;
290
- background-color: ${({tokens:e})=>e.theme.foregroundSecondary};
291
- border-radius: ${({borderRadius:e})=>e[6]};
292
- padding: ${({spacing:e})=>e[4]};
293
- }
294
-
295
- .suggestion:disabled {
296
- opacity: 0.5;
297
- cursor: default;
298
- }
299
-
300
- .suggestion:focus-visible:not(:disabled) {
301
- box-shadow: 0 0 0 4px ${({tokens:e})=>e.core.foregroundAccent040};
302
- background-color: ${({tokens:e})=>e.theme.foregroundSecondary};
303
- }
304
-
305
- .suggested-name {
306
- max-width: 75%;
307
- overflow: hidden;
308
- text-overflow: ellipsis;
309
- white-space: nowrap;
310
- }
311
-
312
- form {
313
- width: 100%;
314
- position: relative;
315
- }
316
-
317
- .input-submit-button,
318
- .input-loading-spinner {
319
- position: absolute;
320
- top: 22px;
321
- transform: translateY(-50%);
322
- right: 10px;
323
- }
324
- `;var x=function(e,t,i,n){var r=arguments.length,o=r<3?t:n===null?n=Object.getOwnPropertyDescriptor(t,i):n,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(e,t,i,n);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(r<3?a(o):r>3?a(t,i,o):a(t,i))||o);return r>3&&o&&Object.defineProperty(t,i,o),o};let p=class extends g{constructor(){var t;super(),this.formRef=J(),this.usubscribe=[],this.name="",this.error="",this.loading=v.state.loading,this.suggestions=v.state.suggestions,this.profileName=(t=h.getAccountData())==null?void 0:t.profileName,this.onDebouncedNameInputChange=D.debounce(i=>{i.length<4?this.error="Name must be at least 4 characters long":O.isValidReownName(i)?(this.error="",v.getSuggestions(i)):this.error="The value is not a valid username"}),this.usubscribe.push(v.subscribe(i=>{this.suggestions=i.suggestions,this.loading=i.loading}),h.subscribeChainProp("accountState",i=>{this.profileName=i==null?void 0:i.profileName,i!=null&&i.profileName&&(this.error="You already own a name")}))}firstUpdated(){var t;(t=this.formRef.value)==null||t.addEventListener("keydown",this.onEnterKey.bind(this))}disconnectedCallback(){var t;super.disconnectedCallback(),this.usubscribe.forEach(i=>i()),(t=this.formRef.value)==null||t.removeEventListener("keydown",this.onEnterKey.bind(this))}render(){return c`
325
- <wui-flex
326
- flexDirection="column"
327
- alignItems="center"
328
- gap="4"
329
- .padding=${["1","3","4","3"]}
330
- >
331
- <form ${Q(this.formRef)} @submit=${this.onSubmitName.bind(this)}>
332
- <wui-ens-input
333
- @inputChange=${this.onNameInputChange.bind(this)}
334
- .errorMessage=${this.error}
335
- .value=${this.name}
336
- .onKeyDown=${this.onKeyDown.bind(this)}
337
- >
338
- </wui-ens-input>
339
- ${this.submitButtonTemplate()}
340
- <input type="submit" hidden />
341
- </form>
342
- ${this.templateSuggestions()}
343
- </wui-flex>
344
- `}submitButtonTemplate(){const t=this.suggestions.find(n=>{var r,o;return((o=(r=n.name)==null?void 0:r.split("."))==null?void 0:o[0])===this.name&&n.registered});if(this.loading)return c`<wui-loading-spinner
345
- class="input-loading-spinner"
346
- color="secondary"
347
- ></wui-loading-spinner>`;const i=`${this.name}${k.WC_NAME_SUFFIX}`;return c`
348
- <wui-icon-link
349
- ?disabled=${!!t}
350
- class="input-submit-button"
351
- size="sm"
352
- icon="chevronRight"
353
- iconColor=${t?"default":"accent-primary"}
354
- @click=${()=>this.onSubmitName(i)}
355
- >
356
- </wui-icon-link>
357
- `}onNameInputChange(t){const i=O.validateReownName(t.detail||"");this.name=i,this.onDebouncedNameInputChange(i)}onKeyDown(t){t.key.length===1&&!O.isValidReownName(t.key)&&t.preventDefault()}templateSuggestions(){return!this.name||this.name.length<4||this.error?null:c`<wui-flex flexDirection="column" gap="1" alignItems="center">
358
- ${this.suggestions.map(t=>c`<wui-account-name-suggestion-item
359
- name=${t.name}
360
- ?registered=${t.registered}
361
- ?loading=${this.loading}
362
- ?disabled=${t.registered||this.loading}
363
- data-testid="account-name-suggestion"
364
- @click=${()=>this.onSubmitName(t.name)}
365
- ></wui-account-name-suggestion-item>`)}
366
- </wui-flex>`}isAllowedToSubmit(t){var r;const i=(r=t.split("."))==null?void 0:r[0],n=this.suggestions.find(o=>{var a,s;return((s=(a=o.name)==null?void 0:a.split("."))==null?void 0:s[0])===i&&o.registered});return!this.loading&&!this.error&&!this.profileName&&i&&v.validateName(i)&&!n}async onSubmitName(t){try{if(!this.isAllowedToSubmit(t))return;I.sendEvent({type:"track",event:"REGISTER_NAME_INITIATED",properties:{isSmartAccount:C(h.state.activeChain)===m.ACCOUNT_TYPES.SMART_ACCOUNT,ensName:t}}),await v.registerName(t),I.sendEvent({type:"track",event:"REGISTER_NAME_SUCCESS",properties:{isSmartAccount:C(h.state.activeChain)===m.ACCOUNT_TYPES.SMART_ACCOUNT,ensName:t}})}catch(i){Z.showError(i.message),I.sendEvent({type:"track",event:"REGISTER_NAME_ERROR",properties:{isSmartAccount:C(h.state.activeChain)===m.ACCOUNT_TYPES.SMART_ACCOUNT,ensName:t,error:D.parseError(i)}})}}onEnterKey(t){if(t.key==="Enter"&&this.name&&this.isAllowedToSubmit(this.name)){const i=`${this.name}${k.WC_NAME_SUFFIX}`;this.onSubmitName(i)}}};p.styles=de;x([l()],p.prototype,"errorMessage",void 0);x([d()],p.prototype,"name",void 0);x([d()],p.prototype,"error",void 0);x([d()],p.prototype,"loading",void 0);x([d()],p.prototype,"suggestions",void 0);x([d()],p.prototype,"profileName",void 0);p=x([w("w3m-register-account-name-view")],p);const ue=Y`
367
- .continue-button-container {
368
- width: 100%;
369
- }
370
- `;var pe=function(e,t,i,n){var r=arguments.length,o=r<3?t:n===null?n=Object.getOwnPropertyDescriptor(t,i):n,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(e,t,i,n);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(r<3?a(o):r>3?a(t,i,o):a(t,i))||o);return r>3&&o&&Object.defineProperty(t,i,o),o};let U=class extends g{render(){return c`
371
- <wui-flex
372
- flexDirection="column"
373
- alignItems="center"
374
- gap="6"
375
- .padding=${["0","0","4","0"]}
376
- >
377
- ${this.onboardingTemplate()} ${this.buttonsTemplate()}
378
- <wui-link
379
- @click=${()=>{D.openHref(ee.URLS.FAQ,"_blank")}}
380
- >
381
- Learn more
382
- <wui-icon color="inherit" slot="iconRight" name="externalLink"></wui-icon>
383
- </wui-link>
384
- </wui-flex>
385
- `}onboardingTemplate(){return c` <wui-flex
386
- flexDirection="column"
387
- gap="6"
388
- alignItems="center"
389
- .padding=${["0","6","0","6"]}
390
- >
391
- <wui-flex gap="3" alignItems="center" justifyContent="center">
392
- <wui-icon-box size="xl" color="success" icon="checkmark"></wui-icon-box>
393
- </wui-flex>
394
- <wui-flex flexDirection="column" alignItems="center" gap="3">
395
- <wui-text align="center" variant="md-medium" color="primary">
396
- Account name chosen successfully
397
- </wui-text>
398
- <wui-text align="center" variant="md-regular" color="primary">
399
- You can now fund your account and trade crypto
400
- </wui-text>
401
- </wui-flex>
402
- </wui-flex>`}buttonsTemplate(){return c`<wui-flex
403
- .padding=${["0","4","0","4"]}
404
- gap="3"
405
- class="continue-button-container"
406
- >
407
- <wui-button fullWidth size="lg" borderRadius="xs" @click=${this.redirectToAccount.bind(this)}
408
- >Let's Go!
409
- </wui-button>
410
- </wui-flex>`}redirectToAccount(){te.replace("Account")}};U.styles=ue;U=pe([w("w3m-register-account-name-success-view")],U);export{E as W3mApproveTransactionView,U as W3mRegisterAccountNameSuccess,p as W3mRegisterAccountNameView,$ as W3mSmartAccountSettingsView,H as W3mUpgradeWalletView};
@@ -1,5 +0,0 @@
1
- import{k as g,bh as S,ah as y,bi as A,h as k,ag as u,m as N,aw as m}from"./index-5jd8RPN9.js";class p{constructor(e){this.getNonce=e.getNonce}async createMessage(e){const t={accountAddress:e.accountAddress,chainId:e.chainId,version:"1",domain:typeof document>"u"?"Unknown Domain":document.location.host,uri:typeof document>"u"?"Unknown URI":document.location.href,resources:this.resources,nonce:await this.getNonce(e),issuedAt:this.stringifyDate(new Date),statement:void 0,expirationTime:void 0,notBefore:void 0};return Object.assign(t,{toString:()=>this.stringify(t)})}stringify(e){var n;const t=this.getNetworkName(e.chainId);return[`${e.domain} wants you to sign in with your ${t} account:`,e.accountAddress,e.statement?`
2
- ${e.statement}
3
- `:"",`URI: ${e.uri}`,`Version: ${e.version}`,`Chain ID: ${e.chainId}`,`Nonce: ${e.nonce}`,e.issuedAt&&`Issued At: ${e.issuedAt}`,e.expirationTime&&`Expiration Time: ${e.expirationTime}`,e.notBefore&&`Not Before: ${e.notBefore}`,e.requestId&&`Request ID: ${e.requestId}`,((n=e.resources)==null?void 0:n.length)&&e.resources.reduce((s,o)=>`${s}
4
- - ${o}`,"Resources:")].filter(s=>typeof s=="string").join(`
5
- `).trim()}getNetworkName(e){const t=g.getAllRequestedCaipNetworks();return S.getNetworkNameByCaipNetworkId(t,e)}stringifyDate(e){return e.toISOString()}}class E{constructor(e={}){this.otpUuid=null,this.listeners={sessionChanged:[]},this.localAuthStorageKey=e.localAuthStorageKey||y.SIWX_AUTH_TOKEN,this.localNonceStorageKey=e.localNonceStorageKey||y.SIWX_NONCE_TOKEN,this.required=e.required??!0,this.messenger=new p({getNonce:this.getNonce.bind(this)})}async createMessage(e){return this.messenger.createMessage(e)}async addSession(e){const t=await this.request({method:"POST",key:"authenticate",body:{data:e.data,message:e.message,signature:e.signature,clientId:this.getClientId(),walletInfo:this.getWalletInfo()},headers:["nonce","otp"]});this.setStorageToken(t.token,this.localAuthStorageKey),this.emit("sessionChanged",e),this.setAppKitAccountUser(I(t.token)),this.otpUuid=null}async getSessions(e,t){try{if(!this.getStorageToken(this.localAuthStorageKey))return[];const n=await this.request({method:"GET",key:"me",query:{},headers:["auth"]});if(!n)return[];const s=n.address.toLowerCase()===t.toLowerCase(),o=n.caip2Network===e;if(!s||!o)return[];const r={data:{accountAddress:n.address,chainId:n.caip2Network},message:"",signature:""};return this.emit("sessionChanged",r),this.setAppKitAccountUser(n),[r]}catch{return[]}}async revokeSession(e,t){return Promise.resolve(this.clearStorageTokens())}async setSessions(e){if(e.length===0)this.clearStorageTokens();else{const t=e.find(n=>{var s;return n.data.chainId===((s=A())==null?void 0:s.caipNetworkId)})||e[0];await this.addSession(t)}}getRequired(){return this.required}async getSessionAccount(){if(!this.getStorageToken(this.localAuthStorageKey))throw new Error("Not authenticated");return this.request({method:"GET",key:"me",body:void 0,query:{includeAppKitAccount:!0},headers:["auth"]})}async setSessionAccountMetadata(e=null){if(!this.getStorageToken(this.localAuthStorageKey))throw new Error("Not authenticated");return this.request({method:"PUT",key:"account-metadata",body:{metadata:e},headers:["auth"]})}on(e,t){return this.listeners[e].push(t),()=>{this.listeners[e]=this.listeners[e].filter(n=>n!==t)}}removeAllListeners(){Object.keys(this.listeners).forEach(t=>{this.listeners[t]=[]})}async requestEmailOtp({email:e,account:t}){const n=await this.request({method:"POST",key:"otp",body:{email:e,account:t}});return this.otpUuid=n.uuid,this.messenger.resources=[`email:${e}`],n}confirmEmailOtp({code:e}){return this.request({method:"PUT",key:"otp",body:{code:e},headers:["otp"]})}async request({method:e,key:t,query:n,body:s,headers:o}){var f;const{projectId:r,st:h,sv:w}=this.getSDKProperties(),a=new URL(`${k.W3M_API_URL}/auth/v1/${String(t)}`);a.searchParams.set("projectId",r),a.searchParams.set("st",h),a.searchParams.set("sv",w),n&&Object.entries(n).forEach(([i,l])=>a.searchParams.set(i,String(l)));const c=await fetch(a,{method:e,body:s?JSON.stringify(s):void 0,headers:Array.isArray(o)?o.reduce((i,l)=>{switch(l){case"nonce":i["x-nonce-jwt"]=`Bearer ${this.getStorageToken(this.localNonceStorageKey)}`;break;case"auth":i.Authorization=`Bearer ${this.getStorageToken(this.localAuthStorageKey)}`;break;case"otp":this.otpUuid&&(i["x-otp"]=this.otpUuid);break}return i},{}):void 0});if(!c.ok)throw new Error(await c.text());return(f=c.headers.get("content-type"))!=null&&f.includes("application/json")?c.json():null}getStorageToken(e){return u.getItem(e)}setStorageToken(e,t){u.setItem(t,e)}clearStorageTokens(){this.otpUuid=null,u.removeItem(this.localAuthStorageKey),u.removeItem(this.localNonceStorageKey),this.emit("sessionChanged",void 0)}async getNonce(){const{nonce:e,token:t}=await this.request({method:"GET",key:"nonce"});return this.setStorageToken(t,this.localNonceStorageKey),e}getClientId(){return N.state.clientId}getWalletInfo(){var o;const e=(o=g.getAccountData())==null?void 0:o.connectedWalletInfo;if(!e)return;if("social"in e&&"identifier"in e){const r=e.social,h=e.identifier;return{type:"social",social:r,identifier:h}}const{name:t,icon:n}=e;let s="unknown";switch(e.type){case"EXTERNAL":case"INJECTED":case"ANNOUNCED":s="extension";break;case"WALLET_CONNECT":s="walletconnect";break;default:s="unknown"}return{type:s,name:t,icon:n}}getSDKProperties(){return m._getSdkProperties()}emit(e,t){this.listeners[e].forEach(n=>n(t))}setAppKitAccountUser(e){const{email:t}=e;t&&Object.values(k.CHAIN).forEach(n=>{g.setAccountProp("user",{email:t},n)})}}function I(d){const e=d.split(".");if(e.length!==3)throw new Error("Invalid token");const t=e[1];if(typeof t!="string")throw new Error("Invalid token");const n=t.replace(/-/gu,"+").replace(/_/gu,"/"),s=n.padEnd(n.length+(4-n.length%4)%4,"=");return JSON.parse(atob(s))}export{E as ReownAuthentication,p as ReownAuthenticationMessenger};