@human.tech/waap-sdk 2.2.0-staging-ac3dde → 2.3.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.
- package/CHANGELOG.md +31 -1
- package/dist/{WaaPError-DgDAQQKF.d.mts → WaaPError-BjukImOz.d.mts} +8 -1
- package/dist/{WaaPError-DCJ9WDaR.d.ts → WaaPError-CMOAWUlN.d.ts} +8 -1
- package/dist/evm-9r6LecIW.mjs +2 -0
- package/dist/evm-D_LHHo3z.js +2 -0
- package/dist/evm.d.mts +1 -1
- package/dist/evm.d.ts +1 -1
- package/dist/evm.js +1 -1
- package/dist/evm.mjs +1 -1
- package/dist/index.d.mts +1 -5
- package/dist/index.d.ts +1 -5
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/dist/register-CEeLG7qz.mjs +1 -0
- package/dist/{register-oYvnB41B.js → register-CodxV1XG.js} +1 -1
- package/dist/{register-CRhge1wE.js → register-DgN7qh23.js} +1 -1
- package/dist/{register-Bg4jW_HM.mjs → register-I8d7v41B.mjs} +1 -1
- package/dist/solana.d.mts +1 -1
- package/dist/solana.d.ts +1 -1
- package/dist/solana.js +1 -1
- package/dist/solana.mjs +1 -1
- package/dist/sui.d.mts +1 -1
- package/dist/sui.d.ts +1 -1
- package/dist/sui.js +1 -1
- package/dist/sui.mjs +1 -1
- package/dist/ui-BjcwM6px.js +1 -0
- package/dist/ui-CrnBoTQL.mjs +1 -0
- package/package.json +1 -1
- package/dist/evm-BINU4e1N.mjs +0 -2
- package/dist/evm-BXkH-I90.js +0 -2
- package/dist/register-BXqcetNF.mjs +0 -1
- package/dist/ui-Co16lVSp.mjs +0 -1
- package/dist/ui-lJmATPTt.js +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,36 @@
|
|
|
1
1
|
# @human.tech/waap-sdk
|
|
2
2
|
|
|
3
|
-
## 2.
|
|
3
|
+
## 2.3.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 96185f8: Surface a refused gas-tank charge to integrating dapps.
|
|
8
|
+
|
|
9
|
+
Squid signing is now billed against the user's WaaP gas tank, and a signature
|
|
10
|
+
whose fee cannot be covered is refused with HTTP 402 before the signature
|
|
11
|
+
happens. Previously that reached a dapp as a generic wallet failure — the
|
|
12
|
+
category a dapp retries, which is exactly wrong for an outcome only the user
|
|
13
|
+
can resolve and that retrying cannot change.
|
|
14
|
+
|
|
15
|
+
Two additions:
|
|
16
|
+
|
|
17
|
+
- `WaaPErrorCode` gains `insufficient_balance`, and `normalizeWaaPError`
|
|
18
|
+
classifies the refusal into it. A gas tank the wallet could not _reach_
|
|
19
|
+
still classifies as `wallet_error`, so the retryable case keeps its meaning
|
|
20
|
+
— mirroring the split the server draws between its 402 and its 502.
|
|
21
|
+
- Errors from the EIP-1193 provider carry a `waapCode` property alongside
|
|
22
|
+
whatever the wallet threw. The thrown value is deliberately **not** replaced:
|
|
23
|
+
wagmi and viem detect a user rejection by `code === 4001`, and normalising
|
|
24
|
+
into a `WaaPError` (whose `code` is a string) would take that away from every
|
|
25
|
+
existing integration. `waapCode` rides alongside instead, which is what makes
|
|
26
|
+
`insufficient_balance` reachable from the provider path at all — no EIP-1193
|
|
27
|
+
code expresses it.
|
|
28
|
+
|
|
29
|
+
Note for consumers doing an exhaustive `switch` over `WaaPErrorCode`: widening
|
|
30
|
+
the union is a compile error for that pattern. Comparisons against individual
|
|
31
|
+
codes are unaffected.
|
|
32
|
+
|
|
33
|
+
## 2.2.0
|
|
4
34
|
|
|
5
35
|
### Minor Changes
|
|
6
36
|
|
|
@@ -144,7 +144,14 @@ declare const preloadWaaPOnIdle: (target: WaaPPreloadTarget, options?: WaaPIdleP
|
|
|
144
144
|
//#endregion
|
|
145
145
|
//#region src/lib/WaaPError.d.ts
|
|
146
146
|
/** Stable, safe error vocabulary for non-EIP-1193 SDK facades. */
|
|
147
|
-
type WaaPErrorCode = 'cancelled' | 'timeout' | 'user_rejected' | 'policy_rejected' |
|
|
147
|
+
type WaaPErrorCode = 'cancelled' | 'timeout' | 'user_rejected' | 'policy_rejected' |
|
|
148
|
+
/**
|
|
149
|
+
* The user's gas tank cannot cover a fee the operation is billed. Distinct
|
|
150
|
+
* from `wallet_error` because it is the user's to fix and retrying changes
|
|
151
|
+
* nothing until they top up — the same split the server draws between a 402
|
|
152
|
+
* and a 502.
|
|
153
|
+
*/
|
|
154
|
+
'insufficient_balance' | 'not_authenticated' | 'not_connected' | 'unsupported_input' | 'wallet_error' | 'maintenance' | 'unknown';
|
|
148
155
|
type WaaPOperationMetadata = {
|
|
149
156
|
/**
|
|
150
157
|
* The chain the failed operation targeted. Declared structurally rather than
|
|
@@ -144,7 +144,14 @@ declare const preloadWaaPOnIdle: (target: WaaPPreloadTarget, options?: WaaPIdleP
|
|
|
144
144
|
//#endregion
|
|
145
145
|
//#region src/lib/WaaPError.d.ts
|
|
146
146
|
/** Stable, safe error vocabulary for non-EIP-1193 SDK facades. */
|
|
147
|
-
type WaaPErrorCode = 'cancelled' | 'timeout' | 'user_rejected' | 'policy_rejected' |
|
|
147
|
+
type WaaPErrorCode = 'cancelled' | 'timeout' | 'user_rejected' | 'policy_rejected' |
|
|
148
|
+
/**
|
|
149
|
+
* The user's gas tank cannot cover a fee the operation is billed. Distinct
|
|
150
|
+
* from `wallet_error` because it is the user's to fix and retrying changes
|
|
151
|
+
* nothing until they top up — the same split the server draws between a 402
|
|
152
|
+
* and a 502.
|
|
153
|
+
*/
|
|
154
|
+
'insufficient_balance' | 'not_authenticated' | 'not_connected' | 'unsupported_input' | 'wallet_error' | 'maintenance' | 'unknown';
|
|
148
155
|
type WaaPOperationMetadata = {
|
|
149
156
|
/**
|
|
150
157
|
* The chain the failed operation targeted. Declared structurally rather than
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{i as e,n as t,r as n,t as r}from"./esm-BUfmyWbN.mjs";import{t as i}from"./WalletConnect-UfxGn2M_.mjs";import{EventEmitter as a}from"events";import{getAddress as o}from"ethers";var s=class extends Error{constructor(e,t,n={}){super(t),this.name=`WaaPError`,this.code=e,this.operation=n.operation,this.cause=n.cause}};function c(e,t){if(e instanceof s)return e;let n=e&&typeof e==`object`?e:void 0,r=n&&typeof n.message==`string`&&n.message||e instanceof Error&&e.message||String(e||`WaaP request failed`),i=n?.code,a=r.toLowerCase();return new s(a.includes(`cancelled`)||a.includes(`canceled`)?`cancelled`:a.includes(`timed out`)?`timeout`:a.includes(`insufficient balance`)?`insufficient_balance`:a.includes(`policy`)||a.includes(`permission token`)?`policy_rejected`:i===4001||a.includes(`rejected`)?`user_rejected`:a.includes(`not connected`)?`not_connected`:a.includes(`not authenticated`)||a.includes(`log in first`)?`not_authenticated`:a.includes(`unsupported`)||a.includes(`must be base64`)?`unsupported_input`:n?`wallet_error`:`unknown`,r,{cause:e,operation:t})}const l=`waap-wallet`,u=`waap-component-container`,d=typeof window<`u`&&typeof document<`u`&&typeof HTMLElement<`u`;let f;d?(f=class extends HTMLElement{constructor(){super()}connectedCallback(){(!this.style.display||this.style.display===``)&&(this.style.display=`flex`,this.style.alignItems=`center`,this.style.justifyContent=`center`),(!this.style.width||this.style.width===``)&&(this.style.width=`100%`),(!this.style.height||this.style.height===``)&&(this.style.height=`100%`),this.id=u,this.setAttribute(`data-waap-mounted`,`true`)}disconnectedCallback(){this.removeAttribute(`data-waap-mounted`)}},typeof customElements<`u`&&!customElements.get(l)&&customElements.define(l,f)):f=class{};function p(){return d?!!document.getElementById(u)||!!document.querySelector(l):!1}function m(){return d?document.getElementById(u)||document.querySelector(l):null}const h=`https://staging.waap.xyz`,g={development:`http://localhost:3000`,staging:h,production:`https://waap.xyz`},ee=e=>e===`localhost`||e===`127.0.0.1`||e===`[::1]`;function _(e){let t;try{t=new URL(e)}catch{throw Error(`Invalid WaaP wallet origin: ${e}`)}if(t.origin!==e||t.pathname!==`/`||t.search||t.hash||t.username||t.password)throw Error(`WaaP walletOrigin must be an absolute origin without a path, query, or credentials`);if(t.protocol!==`https:`&&!(t.protocol===`http:`&&ee(t.hostname)))throw Error(`WaaP walletOrigin must use HTTPS unless it is a loopback host`);return t.origin}function v(e={}){return e.walletOrigin?_(e.walletOrigin):e.environment?_(g[e.environment]):e.useStaging?_(h):_(g.production)}const y=new WeakMap,b=new WeakMap,te=()=>typeof performance<`u`?performance.now():Date.now(),x=e=>({generation:e.generation,navigationStartedAt:e.navigationStartedAt,loadedAt:e.loadedAt}),S=e=>{let t=e.contentWindow;if(!t)return;let n=b.get(e);if(n&&y.get(t)===n)return;n?.cleanup(),n&&(b.delete(e),y.get(t)===n&&y.delete(t));let r=y.get(t);if(r?.iframe===e)return;r?.cleanup(),r&&b.delete(r.iframe);let i={iframe:e,generation:0,navigationStartedAt:te(),loadedAt:null,listeners:new Set,cleanup:()=>{}},a=()=>{i.generation+=1,i.loadedAt=te();let e=x(i);for(let t of Array.from(i.listeners))t(e)};i.cleanup=()=>{e.removeEventListener(`load`,a),i.listeners.clear()},e.addEventListener(`load`,a),y.set(t,i),b.set(e,i)},ne=e=>{let t=b.get(e);if(t){t.cleanup(),b.delete(e);let n=e.contentWindow;n&&y.get(n)===t&&y.delete(n);return}let n=e.contentWindow;if(!n)return;let r=y.get(n);!r||r.iframe!==e||(r.cleanup(),y.delete(n))},C=e=>{let t=y.get(e);return t?x(t):null},re=(e,t)=>{let n=y.get(e);return n?n.loadedAt===null?new Promise((e,r)=>{let i=window.setTimeout(()=>{n.listeners.delete(a),r(Error(`WaaP iframe navigation timed out after ${Math.round(t/1e3)}s.`))},t),a=t=>{window.clearTimeout(i),n.listeners.delete(a),e(t)};n.listeners.add(a)}):Promise.resolve(x(n)):Promise.resolve(null)},ie=(e,t)=>{let n=y.get(e);return n?(n.listeners.add(t),()=>n.listeners.delete(t)):()=>{}},ae=`waap-wallet-loading-styles`,w=`waap-iframe-visual-ready`,T=typeof window<`u`&&typeof document<`u`,oe=()=>{if(!T||document.getElementById(ae))return;let e=document.createElement(`style`);e.id=ae,e.textContent=`@keyframes waap-loading-shimmer { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } } @media (prefers-reduced-motion: reduce) { [data-waap-loading-part] { animation: none !important; } }`,document.head.appendChild(e)},se=(e={})=>v(e),E=()=>T?document.getElementById(`waap-wallet-iframe-container`)||document.getElementById(`silk-wallet-iframe-container`):null,D=()=>T?document.getElementById(`waap-wallet-iframe-wrapper`)||document.getElementById(`silk-wallet-iframe-wrapper`):null,O=()=>T?document.getElementById(`waap-wallet-iframe`)||document.getElementById(`silk-wallet-iframe`):null,k=(e=O())=>{let t=Number(e?.dataset.waapVisualRevision??`0`);return Number.isSafeInteger(t)&&t>=0?t:0},ce=(e=O())=>{let t=e?.dataset.waapVisualReadySupported;return t===`true`||t!==`false`&&null},A=(e,t)=>{if(e){if(t===null){delete e.dataset.waapVisualReadySupported;return}e.dataset.waapVisualReadySupported=String(t)}},le=(e,t)=>{let n=e.__silkCleanup;e.__silkCleanup=()=>{n?.(),t()}},ue=e=>{let t=O();if(!t)throw Error(`WaaP iframe does not exist on page`);let n=t.dataset.waapAccountMode;if(n&&n!==e)throw Error(`WaaP iframe is already bound to ${n}; destroy it before initializing ${e}.`);return t.dataset.waapAccountMode=e,t},de=e=>{if(T)try{if(document.querySelector(`link[data-waap-preconnect="${e}"]`))return;let t=document.createElement(`link`);t.rel=`preconnect`,t.href=e,t.crossOrigin=`anonymous`,t.setAttribute(`data-waap-preconnect`,e),document.head.appendChild(t);let n=document.createElement(`link`);n.rel=`dns-prefetch`,n.href=e,n.setAttribute(`data-waap-preconnect`,e),document.head.appendChild(n)}catch{}},fe=(e,t)=>{e.dataset.waapTheme=t?`dark`:`light`},pe=(e,t)=>{let n=e;de(n);let r=document.createElement(`iframe`);return r.id=`waap-wallet-iframe`,r.dataset.waapOrigin=n,fe(r,t),S(r),r.src=`${n}/iframe`,r.allow=`publickey-credentials-get; publickey-credentials-create`,r.style.width=`100%`,r.style.height=`100%`,r.style.border=`none`,r.style.borderRadius=`24px`,r.style.backgroundColor=`transparent`,r.style.background=`transparent`,r.style.padding=`0`,r.style.margin=`0`,r},me=()=>{let e=document.createElement(`div`);return e.id=`waap-wallet-iframe-wrapper`,e.style.position=`relative`,e.style.display=`flex`,e.style.alignItems=`center`,e.style.justifyContent=`center`,e.style.padding=`0`,e.style.margin=`0`,e.style.height=`600px`,e.style.width=`380px`,e},he=()=>{let e=document.createElement(`div`);return e.id=`waap-wallet-iframe-container`,e.style.position=`fixed`,e.style.top=`0`,e.style.left=`0`,e.style.right=`0`,e.style.bottom=`0`,e.style.width=`100%`,e.style.height=`100%`,e.style.alignItems=`center`,e.style.justifyContent=`center`,e.style.backgroundColor=`rgba(0, 0, 0, 0.5)`,e.style.zIndex=`9999999999`,e.style.display=`flex`,e.style.visibility=`hidden`,e.style.opacity=`0`,e.style.pointerEvents=`none`,e.style.transition=typeof window<`u`&&window.matchMedia?.(`(prefers-reduced-motion: reduce)`).matches?`none`:`opacity 140ms ease`,e},ge=(e,t)=>{let n=e,r,i,a,o,s=()=>{if(r=void 0,!o)return;let e=D();e&&e.dataset.waapSizeLocked!==`true`&&(i=o.width,a=o.height,e.style.height=`${o.height}px`,e.style.width=`${o.width}px`,o=void 0)},c=()=>{r===void 0&&(r=window.requestAnimationFrame(s))},l=()=>{!o&&i!==void 0&&a!==void 0&&(o={width:i,height:a}),c()},u=e=>{if(e.origin!==n||e.source!==t.contentWindow||!e.data||typeof e.data!=`object`||e.data.type!==`silk-iframe-size`)return;let r=e.data.height,s=e.data.width,l=2e3;if(typeof r!=`number`||typeof s!=`number`||r<50||r>l||s<50||s>l||!Number.isFinite(r)||!Number.isFinite(s))return;let u=Math.floor(s),d=Math.floor(r);u===i&&d===a||(o={width:u,height:d},c())};window.addEventListener(`message`,u),t.addEventListener(w,l);let d=()=>{r!==void 0&&window.cancelAnimationFrame(r),window.removeEventListener(`message`,u),t.removeEventListener(w,l)};return le(t,d),d},_e=(e,t)=>{let n=()=>{delete t.dataset.waapVisualRevision,delete t.dataset.waapVisualReadyAt,A(t,null)},r=n=>{if(n.origin!==e||n.source!==t.contentWindow||!n.data||typeof n.data!=`object`||n.data.type!==`silk-iframe-visual-ready`)return;let r=n.data.revision;!Number.isSafeInteger(r)||r<=0||r<=k(t)||(t.dataset.waapVisualRevision=String(r),t.dataset.waapVisualReadyAt=String(typeof performance<`u`?performance.now():Date.now()),t.dispatchEvent(new CustomEvent(w,{detail:{revision:r}})))};t.addEventListener(`load`,n),window.addEventListener(`message`,r);let i=()=>{t.removeEventListener(`load`,n),window.removeEventListener(`message`,r)};return le(t,i),i},ve=()=>{setTimeout(()=>{if(typeof document>`u`)return;let e=D();e&&(e.style.height=`600px`,e.style.width=`380px`)},100)},j=e=>{let t=O();if(!t)return!1;let n=t.dataset.waapOrigin??(()=>{try{return new URL(t.src).origin}catch{return}})();if(n&&n!==e)throw Error(`WaaP wallet iframe already exists for ${n}; destroy it before switching to ${e}`);return!0},ye=(e,t)=>{let n=m();if(!n)throw Error(`WaaP component not found in DOM`);if(j(e))return;let r=me(),i=pe(e,t);ge(e,i),_e(e,i),ve(),r.appendChild(i),n.appendChild(r),S(i)},be=(e,t)=>{if(j(e))return;let n=he(),r=me();n.appendChild(r);let i=pe(e,t);ge(e,i),_e(e,i),ve(),r.appendChild(i),document.body.appendChild(n),S(i)},M=(e={})=>{if(!T)return;oe();let t=se(e),n=e.config?.styles?.darkMode===!0,r=O();r&&fe(r,n),p()?ye(t,n):be(t,n)},N=()=>{if(!T)return;Fe();let e=O(),t=e?.__silkCleanup;typeof t==`function`&&t(),e&&ne(e);let n=D(),r=E();r?r.remove():n?.remove(),document.querySelectorAll(`link[data-waap-preconnect]`).forEach(e=>{e.remove()})};let P=0;async function xe(e){let t=Date.now().toString(),n=new TextEncoder().encode(JSON.stringify(e)+t),r=globalThis.crypto;if(r?.subtle?.digest){let e=await r.subtle.digest(`SHA-256`,new Uint8Array(n));return F(new Uint8Array(e))}return P+=1,F(new TextEncoder().encode(`${t}:${P}:${Math.random()}:${JSON.stringify(e)}`)).padEnd(64,`0`).slice(0,64)}function F(e){return Array.from(e,e=>e.toString(16).padStart(2,`0`)).join(``)}const I=new WeakMap,Se=(e,t)=>{let n=I.get(e);if(n)return n;let r=t();return I.set(e,r),r.catch(()=>{I.get(e)===r&&I.delete(e)}),r},Ce=e=>{I.delete(e)},L=(e,t={})=>({schemaVersion:1,accountMode:e,sessionProtection:`dpop`,...t.chains?.length?{chains:t.chains}:{},parentOrigin:typeof window>`u`?void 0:window.location?.origin,...t.referralCode?{referralCode:t.referralCode}:{},...t.project?{project:t.project}:{},...t.config?{config:t.config}:{}}),R=new Set;let z=!1,B;const V=new WeakMap,we=(e=256)=>{let t=new Set;return{accept(n){if(t.has(n))return!1;if(t.add(n),t.size>e){let e=t.values().next().value;e&&t.delete(e)}return!0},clear(){t.clear()},size(){return t.size}}},H=e=>{let t=V.get(e);if(t)return t;let n={ready:!1,promise:null,reject:null,cleanup:null,navigationGeneration:null,readyPingStartedAt:null,readyAt:null,readyAttempts:0,visualReadySupported:null,lastError:null};return V.set(e,n),n},U=(e,t)=>{let n=V.get(e);if(!n)return;n.ready=!1,n.cleanup?.(),n.cleanup=null;let r=n.reject;n.reject=null,n.promise=null,n.navigationGeneration=null,n.visualReadySupported=null;let i=O();i?.contentWindow===e&&A(i,null),r?.(t)},Te=()=>typeof performance<`u`?performance.now():Date.now();let Ee=null;const De=()=>Ee,Oe=(n,r,i)=>{let{handleResponse:a,handleRequest:o,onReceiveConnectNotif:s,onAccountChanged:c,onAsyncTxNotification:l,onSquidLifecycleNotification:u}=i;if(n.origin===r.walletOrigin&&n.source===r.getIframeWindow()&&n.data?.target===`silk`)if(n.data?.messageType===t.request)o(n.data);else if(n.data?.messageType===t.response){let e=n.data;r.shouldHandleTerminalResponse(e.id)&&a(e)}else n.data?.messageType===t.notification&&(n.data?.data===e.connect?s?.():n.data?.data?.type===e.account_changed&&c?c(n.data.data.account):(n.data?.data?.type?.startsWith(`waap_sign_`)||n.data?.data?.type?.startsWith(`waap_tx_`))&&l?l({type:n.data.data.type,payload:n.data.data.payload}):n.data?.data?.type?.startsWith(`waap_squid_`)&&u&&u({type:n.data.data.type,payload:n.data.data.payload}))},ke=()=>{z||typeof window>`u`||(z=!0,B=e=>{for(let{manager:t,config:n}of Array.from(R))Oe(e,t,n)},window.addEventListener(`message`,B))},Ae=()=>{R.size>0||!z||!B||typeof window>`u`||(window.removeEventListener(`message`,B),B=void 0,z=!1)};var je=class{constructor(e,t){this.iframeWindow=null,this.unregisterListeners=new Set,this.terminalResponseDeduper=we(),this.unsubscribeIframeNavigation=null,this.disposed=!1,this.iframeWindow=e,this.walletOrigin=typeof t==`string`?t:v(t===!0?{useStaging:!0}:{}),e&&this.observeIframeNavigation(e)}observeIframeNavigation(e){this.unsubscribeIframeNavigation?.(),this.unsubscribeIframeNavigation=ie(e,()=>{let t=H(e);(t.ready||t.readyPingStartedAt!==null)&&(Ce(e),U(e,Error(`WaaP iframe reloaded; readiness must be re-established`)),this.terminalResponseDeduper.clear())})}setIframeWindow(e){this.iframeWindow&&this.iframeWindow!==e&&(U(this.iframeWindow,Error(`Wallet iframe window changed`)),this.terminalResponseDeduper.clear()),this.iframeWindow=e,this.observeIframeNavigation(e)}getIframeWindow(){return this.iframeWindow}isDisposed(){return this.disposed}shouldHandleTerminalResponse(e){return this.terminalResponseDeduper.accept(e)}getHandshakeDiagnostics(){let e=this.iframeWindow,t=e?C(e):null,n=e?H(e):null,r={walletOrigin:this.walletOrigin,iframeNavigationStartedAt:t?.navigationStartedAt??null,iframeLoadedAt:t?.loadedAt??null,readyPingStartedAt:n?.readyPingStartedAt??null,readyAt:n?.readyAt??null,readyAttempts:n?.readyAttempts??0,visualReadySupported:n?.visualReadySupported??null,navigationGeneration:n?.navigationGeneration??null,lastError:n?.lastError??null};return Ee=r,r}postSilkNotification(e){if(!this.iframeWindow)throw Error(`WaaP iframe is not mounted`);this.iframeWindow.postMessage({target:`silk`,messageType:t.notification,data:e},this.walletOrigin)}postReadyNotification(){this.postSilkNotification(e.ready)}postConnectNotification(){this.postSilkNotification(e.connect)}cancelSilkRequest(t,n){this.postSilkNotification({type:e.request_cancel,requestId:t,method:n})}pingIframe(){if(this.disposed)return Promise.reject(Error(`Wallet message manager is disposed`));let n=this.iframeWindow;if(!n||typeof window>`u`)return Promise.reject(Error(`WaaP iframe is not mounted`));let r=H(n),i=C(n);return r.ready&&(!i||r.navigationGeneration===i.generation)?Promise.resolve():(r.ready&&U(n,Error(`WaaP iframe navigation changed; readiness must be re-established`)),r.promise?r.promise:(r.lastError=null,r.readyPingStartedAt=null,r.readyAt=null,r.readyAttempts=0,r.visualReadySupported=null,r.promise=new Promise((i,a)=>{r.reject=a,re(n,3e4).then(i=>{if(this.disposed||this.iframeWindow!==n)throw Error(`Wallet message manager is disposed`);return new Promise((a,o)=>{let s=o=>{if(o.origin===this.walletOrigin&&o.source===n&&o.data?.target===`silk`&&o.data.messageType===t.notification&&o.data.data===e.ready){r.ready=!0,r.navigationGeneration=C(n)?.generation??i?.generation??null,r.readyAt=Te(),r.visualReadySupported=o.data?.capabilities?.visualReady===1;let e=O();e?.contentWindow===n&&A(e,r.visualReadySupported),p(),a()}},c=()=>{try{r.readyAttempts+=1,this.postReadyNotification()}catch(e){p(),o(e)}};r.readyPingStartedAt=Te();let l=250,u,d=()=>{u=window.setTimeout(()=>{c(),l=Math.min(l*2,1e3),d()},l)},f=window.setTimeout(()=>{p(),o(Error(`WaaP wallet ready handshake timed out after 10s.`))},1e4),p=()=>{u!==void 0&&window.clearTimeout(u),window.clearTimeout(f),window.removeEventListener(`message`,s),r.cleanup===p&&(r.cleanup=null,r.reject=null)};r.cleanup=p,r.reject=o,window.addEventListener(`message`,s),c(),d()})}).then(i,a)}),r.promise=r.promise.finally(()=>{r.ready||(r.lastError=r.lastError??`Wallet readiness failed`,r.promise=null)}),r.promise.catch(e=>{r.lastError=e instanceof Error?e.message:String(e)}),r.promise))}async postSilkRequest(e){if(!this.iframeWindow)throw Error(`WaaP iframe is not mounted`);let{silkOptions:n,...r}=e,i={...r,target:`silk`,messageType:t.request,...n&&{silkOptions:n}},a=await xe(i);return this.iframeWindow.postMessage({...i,id:a},this.walletOrigin),a}addListener(e){if(this.disposed)throw Error(`Wallet message manager is disposed`);ke();let t={manager:this,config:e};R.add(t);let n=()=>{this.unregisterListeners.delete(n)&&(R.delete(t),Ae())};return this.unregisterListeners.add(n),n}dispose(){this.disposed||(this.disposed=!0,this.iframeWindow&&U(this.iframeWindow,Error(`Wallet message manager was disposed`)),Array.from(this.unregisterListeners).forEach(e=>e()),this.terminalResponseDeduper.clear(),this.unsubscribeIframeNavigation?.(),this.unsubscribeIframeNavigation=null,this.iframeWindow=null)}};const W=`waap-wallet-iframe-loading`,G=new Set,K=()=>typeof performance<`u`?performance.now():Date.now(),q=e=>{G.forEach(t=>{try{t(e)}catch{}})},Me=e=>(G.add(e),()=>G.delete(e));var Ne=class{constructor(e){this.pendingRevision=null,this.phase=`idle`,this.requestedAt=null,this.visibleAt=null,this.usedVisualFallback=!1,this.onVisualReady=e=>{let t=e.detail?.revision;this.pendingRevision!==null&&typeof t==`number`&&t>=this.pendingRevision&&this.revealIframe(!1)},this.iframe=e,e.addEventListener(w,this.onVisualReady)}show({layout:e=`signing`}={}){if(this.phase===`pending`||this.phase===`visible`)return;let t=D();if(!t)return;this.clearFallbackTimer();let n=this.moveToCurrentMode(t);n===`modal`&&e===`signing`?(t.dataset.waapSizeLocked=`true`,t.style.width=`380px`,t.style.height=`600px`):n===`modal`&&delete t.dataset.waapSizeLocked,this.pendingRevision=k(this.iframe)+1,this.phase=`pending`,this.requestedAt=K(),this.visibleAt=null,this.usedVisualFallback=!1,q({phase:`modal_requested`,at:this.requestedAt,visualRevision:this.pendingRevision}),this.hideIframeUntilPaint(t),n===`modal`?this.showModalSurface():t.style.display=`flex`;let r=ce(this.iframe);if(r===!1){this.revealIframe(!0);return}this.fallbackTimer=window.setTimeout(()=>{this.revealIframe(!0)},r===!0?3e3:750)}hide(){let e=this.pendingRevision!==null;this.pendingRevision=null,this.clearFallbackTimer(),this.phase=`hidden`;let t=K();e&&q({phase:`modal_cancelled`,at:t,visualRevision:k(this.iframe)}),q({phase:`modal_hidden`,at:t,visualRevision:k(this.iframe)});let n=D();if(n&&delete n.dataset.waapSizeLocked,p()){n&&(n.style.display=`none`);return}let r=E();r&&(r.style.opacity=`0`,r.style.visibility=`hidden`,r.style.pointerEvents=`none`)}dispose(){this.clearFallbackTimer(),this.iframe.removeEventListener(w,this.onVisualReady)}isFor(e){return this.iframe===e}getDiagnostics(){return{modalPhase:this.phase,modalRequestedAt:this.requestedAt,modalVisibleAt:this.visibleAt,usedVisualFallback:this.usedVisualFallback}}moveToCurrentMode(e){if(p()){let t=m();return t&&e.parentElement!==t&&t.appendChild(e),`component`}let t=E();return t||(t=he(),document.body.appendChild(t)),e.parentElement!==t&&t.appendChild(e),`modal`}showModalSurface(){let e=E();e&&(e.style.display=`flex`,e.style.visibility=`visible`,e.style.opacity=`1`,e.style.pointerEvents=`auto`)}hideIframeUntilPaint(e){e.style.display=`flex`,e.style.visibility=`visible`,e.style.opacity=`1`,e.style.pointerEvents=`auto`,this.iframe.style.visibility=`hidden`,this.iframe.style.opacity=`0`,this.iframe.style.pointerEvents=`none`,this.ensureLoadingIndicator(e).style.display=`flex`}revealIframe(e){if(this.pendingRevision===null)return;let t=k(this.iframe);this.pendingRevision=null,this.clearFallbackTimer(),this.phase=`visible`,this.visibleAt=K(),this.usedVisualFallback=e,q({phase:`modal_visible`,at:this.visibleAt,visualRevision:t,fallback:e});let n=D();if(!n)return;delete n.dataset.waapSizeLocked;let r=n.querySelector(`#${W}`);r&&(r.style.display=`none`),this.iframe.style.visibility=`visible`,this.iframe.style.opacity=`1`,this.iframe.style.pointerEvents=`auto`,n.style.visibility=`visible`,n.style.opacity=`1`,n.style.pointerEvents=`auto`}ensureLoadingIndicator(e){let t=e.querySelector(`#${W}`);if(t)return this.applyLoadingTheme(t),t;t=document.createElement(`div`),t.id=W,t.setAttribute(`role`,`status`),t.setAttribute(`aria-live`,`polite`),t.setAttribute(`aria-label`,`Loading WaaP wallet`),t.style.position=`absolute`,t.style.inset=`0`,t.style.zIndex=`1`,t.style.display=`none`,t.style.flexDirection=`column`,t.style.borderRadius=`24px`,t.style.fontFamily=`system-ui, sans-serif`,t.style.fontSize=`14px`,t.style.pointerEvents=`none`;let n=document.createElement(`div`);n.style.boxSizing=`border-box`,n.style.display=`flex`,n.style.flexDirection=`column`,n.style.width=`100%`,n.style.height=`100%`,n.style.padding=`24px`;let r=document.createElement(`img`),i=this.iframe.dataset.waapOrigin;i&&(r.src=`${i}/assets/svg/waaplogo.svg`),r.alt=`WaaP`,r.width=66,r.height=25,r.style.alignSelf=`center`,r.style.width=`66px`,r.style.height=`25px`,r.style.marginBottom=`20px`,r.dataset.waapLoadingLogo=`true`;let a=(e,t,n,r)=>{let i=document.createElement(`div`);return i.setAttribute(`aria-hidden`,`true`),i.dataset.waapLoadingPart=e,i.style.width=t,i.style.height=n,i.style.flexShrink=`0`,i.style.borderRadius=r,i.style.backgroundSize=`200% 100%`,i.style.animation=`waap-loading-shimmer 2.4s ease-in-out infinite`,i},o=a(`request-title`,`156px`,`16px`,`999px`);o.style.marginTop=`34px`;let s=a(`request-body`,`100%`,`220px`,`12px`);s.style.flex=`1`,s.style.marginTop=`18px`,s.style.opacity=`.58`;let c=document.createElement(`div`);return c.dataset.waapLoadingPart=`actions`,c.setAttribute(`aria-hidden`,`true`),c.style.display=`flex`,c.style.gap=`10px`,c.append(a(`cancel-action`,`calc(50% - 5px)`,`48px`,`12px`),a(`confirm-action`,`calc(50% - 5px)`,`48px`,`12px`)),n.append(r,o,s,c),t.appendChild(n),e.appendChild(t),this.applyLoadingTheme(t),t}applyLoadingTheme(e){let t=this.iframe.dataset.waapTheme===`dark`;e.dataset.waapTheme=t?`dark`:`light`,e.style.background=t?`#121212`:`#ffffff`,e.style.color=t?`#e6e6e6`:`#000000`;let n=e.querySelector(`[data-waap-loading-logo]`);n&&(n.style.filter=t?`invert(1)`:`none`);let r=t?`linear-gradient(90deg, rgba(255,255,255,.07), rgba(255,255,255,.14), rgba(255,255,255,.07))`:`linear-gradient(90deg, rgba(0,0,0,.05), rgba(0,0,0,.1), rgba(0,0,0,.05))`;e.querySelectorAll(`[data-waap-loading-part]`).forEach(e=>{e.style.background=r})}clearFallbackTimer(){this.fallbackTimer!==void 0&&(window.clearTimeout(this.fallbackTimer),this.fallbackTimer=void 0)}};let J;const Pe=()=>{let e=O();return e?(J&&!J.isFor(e)&&(J.dispose(),J=void 0),J??=new Ne(e),J):null},Y=e=>{Pe()?.show(e)},X=()=>{Pe()?.hide()},Fe=()=>{J?.dispose(),J=void 0},Ie=()=>{let e=O(),t=e?.contentWindow?C(e.contentWindow):null,n=J?.getDiagnostics(),r=Number(e?.dataset.waapVisualReadyAt??``);return{walletOrigin:e?.dataset.waapOrigin??null,iframeNavigationStartedAt:t?.navigationStartedAt??null,iframeLoadedAt:t?.loadedAt??null,visualRevision:k(e),visualReadyAt:Number.isFinite(r)?r:null,modalPhase:n?.modalPhase??`idle`,modalRequestedAt:n?.modalRequestedAt??null,modalVisibleAt:n?.modalVisibleAt??null,usedVisualFallback:n?.usedVisualFallback??!1,handshake:De()}},Le=new Set([r.eth_sendTransaction,r.eth_signTransaction,r.personal_sign,r.eth_signTypedData_v4]),Re=e=>Le.has(e);function ze(e){return new Promise((t,n)=>{let r,i=!1,a=()=>{r!==void 0&&clearTimeout(r),e.eventEmitter.removeListener(e.id,o),e.signal?.removeEventListener(`abort`,c)},o=e=>{i||(i=!0,a(),t(e))},s=t=>{i||(i=!0,a(),e.onCancel?.(),n(Error(t)))},c=()=>s(`WaaP request cancelled: ${e.method}`);if(e.signal?.aborted){c();return}e.interactionRequired||(r=setTimeout(()=>{s(`WaaP request timed out: ${e.method}`)},e.timeoutMs??3e4)),e.eventEmitter.once(e.id,o),e.signal?.addEventListener(`abort`,c,{once:!0})})}function Be(e){if(typeof e!=`object`||!e)return e;try{e.waapCode=c(e).code}catch{}return e}async function Z(e,t,r,i,a){let o=e.method,s=e.params,{timeoutMs:c,signal:l,...u}=a??{};t&&Y({layout:o===n.login?`auth`:`signing`});let d;try{d=await r.postSilkRequest({method:o,params:s,interactionRequired:t,silkOptions:a?u:void 0});let e=await ze({eventEmitter:i,id:d,method:o,interactionRequired:t,timeoutMs:c,signal:l,onCancel:()=>{r.cancelSilkRequest(d,o),t&&X()}});if(t&&X(),e.error)throw Be(e.error);return e.data}catch(e){throw t&&d===void 0&&X(),e}}const Ve=(e,t={})=>{if(typeof window>`u`)return()=>void 0;let n=!1,r,i,a=window,o=()=>{n||e.preload().catch(e=>t.onError?.(e))};return typeof a.requestIdleCallback==`function`?r=a.requestIdleCallback(o,{timeout:t.timeoutMs??2e3}):i=window.setTimeout(o,0),()=>{n=!0,r!==void 0&&a.cancelIdleCallback?.(r),i!==void 0&&window.clearTimeout(i)}};var He=function(e){return e.show_modal=`show_modal`,e.hide_modal=`hide_modal`,e}(He||{}),Q=class extends a{constructor(){super()}};function Ue(e){return!(!e?.isMetaMask||e.isApexWallet||e.isAvalanche||e.isBitKeep||e.isBlockWallet||e.isMathWallet||e.isOkxWallet||e.isOKExWallet||e.isOneInchIOSWallet||e.isOneInchAndroidWallet||e.isOpera||e.isPortal||e.isRabby||e.isDefiant||e.isTokenPocket||e.isTokenary||e.isZerion)}function We(e){try{if(!e||!Array.isArray(e))return!1;let t=JSON.parse(typeof e[1]==`string`?e[1]:JSON.stringify(e[1]));return t.primaryType===`SafeTx`&&t.domain?.verifyingContract!==void 0&&t.message&&`to`in t.message&&`value`in t.message&&`safeTxGas`in t.message&&`baseGas`in t.message&&`gasPrice`in t.message&&`nonce`in t.message}catch{return!1}}const Ge={styles:{darkMode:!1}},$=[`waap`,`human`,`injected`,`walletconnect`],Ke=[r.eth_sendTransaction,r.eth_signTransaction,r.eth_signTypedData_v4,r.personal_sign];function qe(e){if(e==null)return null;if(typeof e==`string`){if($.includes(e))return e;throw Error(`[EthereumProvider] Unexpected login method: "${e}". Expected one of: ${$.join(`, `)}`)}if(typeof e==`object`&&`loginMethod`in e&&typeof e.loginMethod==`string`){let t=e.loginMethod;if(console.warn(`[EthereumProvider] Received object login response. Normalizing "${t}" to string. This is unexpected for the web SDK.`),$.includes(t))return t;throw Error(`[EthereumProvider] Unknown loginMethod in object: "${t}". Expected one of: ${$.join(`, `)}`)}throw Error(`[EthereumProvider] Unexpected login response: ${JSON.stringify(e)} (type: ${typeof e})`)}var Je=class extends a{constructor(e,t,r,i,o,s=!1,c=!1,l,u=[`evm`]){super(),this.lastKnownConversion=`pending`,this.isSilk=!0,this.isWaaP=!0,this.connected=!1,this.currentAccount=null,this.accountMode=`tap`,this.walletConnectProvider=null,this.asyncTxs=!1,this.legacyAsyncSigning=!1,this.internalEventEmitter=new a,this.iframeMounted=!0,this.initializerPromise=null,this.sessionProbe=null,this.initializedIframeWindow=null,this.asyncTxs=s,this.legacyAsyncSigning=c,this.ensureIframe=l,this.iframeMounted=!l,this.referralCode=t,this.project=i,this.customConfig=r,this.initializerChains=u,this.uiMessageManager=new Q,this.walletMessageManager=new je(e,o),this.config={...Ge,...r||{}},this.persistedMethods={login:this.login.bind(this),logout:this.logout.bind(this),getLoginMethod:this.getLoginMethod.bind(this),walletMessageManager:this.walletMessageManager,internalEventEmitter:this.internalEventEmitter,uiMessageManager:this.uiMessageManager,portal:this.portal.bind(this),requestEmail:this.requestEmail.bind(this),requestSBT:this.requestSBT.bind(this),requestPermissionToken:this.requestPermissionToken.bind(this),getLinkedAddresses:this.getLinkedAddresses.bind(this),linkAddress:this.linkAddress.bind(this),unlinkAddress:this.unlinkAddress.bind(this),orcid:this.orcid.bind(this),enable:this.enable.bind(this),isConnected:this.isConnected.bind(this),toggleDarkMode:this.toggleDarkMode.bind(this),destroy:this.destroy.bind(this),silkRequest:this.request.bind(this),waaPRequest:this.request.bind(this)},this.walletMessageManager.addListener({onReceiveConnectNotif:()=>{this.connected=!0,this.emit(`connect`)},handleResponse:e=>this.internalEventEmitter.emit(e.id,e),handleRequest:e=>{e.method===n.show_modal?this.uiMessageManager.emit(`show_modal`):e.method===n.hide_modal&&this.uiMessageManager.emit(`hide_modal`)},onAccountChanged:e=>{this.currentAccount!==e&&(this.currentAccount=e,this.emit(`accountsChanged`,e?[e]:[]))},onAsyncTxNotification:e=>{this.emit(e.type,e.payload)},onSquidLifecycleNotification:e=>{this.emit(e.type,e.payload)}})}async initializeWalletConnect(){try{this.walletConnectProvider=await i.getInstance()}catch(e){console.error(`Failed to initialize WalletConnect provider:`,e),this.walletConnectProvider=null}}async initializeIframeContext(){let e=this.walletMessageManager.getIframeWindow();if(!e)throw Error(`WaaP iframe is not mounted`);if(this.initializedIframeWindow===e&&this.initializerPromise)return this.initializerPromise;this.initializedIframeWindow=e,this.initializerPromise=Se(e,async()=>{await this.walletMessageManager.pingIframe(),await Z({method:n.set_signing_mode,params:[L(this.accountMode,{referralCode:this.referralCode,project:this.project,config:this.customConfig,chains:this.initializerChains})]},!1,this.walletMessageManager,this.internalEventEmitter)});try{await this.initializerPromise}catch(e){throw this.initializerPromise=null,this.initializedIframeWindow=null,e}}async reassertIframeAccountMode(){this.ensureIframeMounted(),await this.walletMessageManager.pingIframe(),await Z({method:n.set_signing_mode,params:[L(this.accountMode,{referralCode:this.referralCode,project:this.project,config:this.customConfig,chains:this.initializerChains})]},!1,this.walletMessageManager,this.internalEventEmitter)}ensureIframeMounted(){if(this.iframeMounted||!this.ensureIframe)return;let e=this.ensureIframe();e&&(this.iframeMounted=!0,this.walletMessageManager.setIframeWindow(e))}async ensureInitialized(){this.ensureIframeMounted(),await this.initializeIframeContext()}async preload(){await this.ensureInitialized()}async enable(){return this.request({method:`eth_requestAccounts`})}isConnected(){return this.connected}getAccountStatus(){let e=this.getLoginMethod();return{authenticated:e!==null,loginMethod:e,activeMode:e?this.accountMode:null,mode:this.accountMode,conversion:e?this.lastKnownConversion:`not_required`,tap:null,squid:null,accounts:this.currentAccount?{evm:this.currentAccount}:{}}}get session(){return{login:e=>this.login(e),logout:async()=>{await this.logout()},getLoginMethod:()=>this.getLoginMethod(),getAccountStatus:()=>this.getCanonicalAccountStatus()}}async getCanonicalAccountStatus(){await this.ensureInitialized();let e=await Z({method:n.waap_getAccountStatus,params:[]},!1,this.walletMessageManager,this.internalEventEmitter);return e?.conversion&&(this.lastKnownConversion=e.conversion),e}setAccountMode(e){this.accountMode=e,this.initializerPromise=null,this.initializedIframeWindow=null}async request(e){if(!Object.keys(r).includes(e.method))return Promise.reject({error:`Not implemented (${e.method})`});let t=await this.attemptAutoConnect(e.method);if(t!==null)return t;if(Ke.includes(e.method)&&!(this.getLoginMethod()!==null||await this.restorePersistedWaaPSession()!==null))return Promise.reject(new s(`not_authenticated`,`Not authenticated: call login() before signing.`,{operation:{chain:`evm`,method:e.method}}));if(We(e.params)&&e.method!==r.eth_signTypedData_v4)return Promise.reject({error:`Safe transactions must be signed using eth_signTypedData_v4`});await this.ensureInitialized();let n=(e.method===r.eth_sendTransaction||e.method===r.eth_signTransaction||e.method===r.eth_signTypedData_v4||e.method===r.personal_sign)&&this.asyncTxs||e.async,i=n||e.withPT||e.timeoutMs!==void 0||e.signal?this.legacyAsyncSigning?{asyncSigning:n||void 0,withPT:e.withPT,timeoutMs:e.timeoutMs,signal:e.signal}:{async:n,withPT:e.withPT,timeoutMs:e.timeoutMs,signal:e.signal}:void 0,a=await Z(e,Re(e.method),this.walletMessageManager,this.internalEventEmitter,i);if((e.method===r.wallet_switchEthereumChain||e.method===r.wallet_addEthereumChain)&&a===null){this.emit(`chainChanged`,e.params?.[0]?.chainId);try{let t=await this.request({method:`eth_accounts`});t&&t.length>0&&(this.currentAccount=t[0],this.emit(`accountsChanged`,t),this.emit(`connect`,{chainId:e.params?.[0]?.chainId}))}catch(t){console.warn(`[EthereumProvider] Failed to get accounts after chain switch:`,t),this.currentAccount&&(this.emit(`accountsChanged`,[this.currentAccount]),this.emit(`connect`,{chainId:e.params?.[0]?.chainId}))}}return e.method===r.eth_requestAccounts&&Array.isArray(a)&&typeof a[0]==`string`&&(this.currentAccount=a[0],this.connected=!0,typeof window<`u`&&typeof localStorage<`u`&&localStorage.setItem(`${window.location.origin}-connected`,`waap`),this.emit(`accountsChanged`,a),this.emit(`connect`)),a}async login(e){if(typeof window>`u`||typeof document>`u`)return null;let t=e&&!(`request`in e)?e:void 0,r=t?t.customProvider:e;if(await this.ensureInitialized(),!t?.force&&await this.restorePersistedWaaPSession())return this.getLoginMethod()??`waap`;let a=r||window.ethereum,o=a&&Ue(a)?`MetaMask`:`Browser Wallet`,s=qe(await Z({method:n.login,params:[o]},!0,this.walletMessageManager,this.internalEventEmitter));if(s===null)return null;switch(s){case`waap`:case`human`:localStorage.setItem(`${window.location.origin}-connected`,`waap`),this.setupWaaP();break;case`injected`:a&&(localStorage.setItem(`${window.location.origin}-connected`,`injected`),this.setupInjectedWallet(a));break;case`walletconnect`:{localStorage.setItem(`${window.location.origin}-connected`,`walletconnect`),this.walletConnectProvider||await this.initializeWalletConnect(),i.isConnected()||(await this.walletConnectProvider.open({view:`Connect`}),await i.listenToAccountChangeEvent());let e=i.getWalletProvider();this.setupWalletConnect(e);break}}return s}async logout(){await this.ensureInitialized(),this.cleanupInvalidLoginState(),this.lastKnownConversion=`pending`,this.currentAccount=null,this.connected=!1,this.emit(`accountsChanged`,[]),this.emit(`disconnect`);try{this.walletConnectProvider&&await this.walletConnectProvider.disconnect()}catch(e){console.error(`Error disconnecting from WalletConnect:`,e)}return Z({method:n.logout},!1,this.walletMessageManager,this.internalEventEmitter)}destroy(){if(this.walletMessageManager.dispose(),this.internalEventEmitter.removeAllListeners(),this.uiMessageManager.removeAllListeners(),this.removeAllListeners(),this.connected=!1,this.walletConnectProvider&&=(this.walletConnectProvider.disconnect().catch(()=>void 0),null),typeof window<`u`){let e=window;(e.silk===this||e.silk?.walletMessageManager===this.walletMessageManager)&&delete e.silk,(e.waap===this||e.waap?.walletMessageManager===this.walletMessageManager)&&delete e.waap}N()}cleanupInvalidLoginState(){try{localStorage.removeItem(`${window.location.origin}-connected`)}catch(e){console.warn(`Could not clean up login state:`,e)}}setupWaaP(){let e={...this.persistedMethods,isWaaP:!0,on:this.on.bind(this),removeListener:this.removeListener.bind(this),request:this.request.bind(this)};window.silk=e,window.waap=e}setupInjectedWallet(e){let t={...this.persistedMethods,...e,isSilk:!0,connected:e.connected??!1,on:e.on?.bind(e)??(()=>{}),removeListener:e.removeListener?.bind(e)??(()=>{}),request:e.request.bind(e)};window.silk=t,window.waap=t}setupWalletConnect(e){let t={...this.persistedMethods,...e,isSilk:!0,connected:!0,on:e.on?.bind(e)??(()=>{}),removeListener:e.removeListener?.bind(e)??(()=>{}),request:e.request.bind(e)};window.silk=t,window.waap=t}setupAutoConnectInjected(e){let t={...this.persistedMethods,...e,isSilk:!1,connected:e.isConnected?.()??!1,on:e.on?.bind(e)??(()=>{}),removeListener:e.removeListener?.bind(e)??(()=>{}),request:e.request.bind(e)};window.silk=t,window.waap=t}setupAutoConnectWalletConnect(e){let t={...this.persistedMethods,...e,isSilk:!1,connected:!0,on:e.on?.bind(e)??(()=>{}),removeListener:e.removeListener?.bind(e)??(()=>{}),request:e.request.bind(e)};window.silk=t,window.waap=t}async attemptAutoConnect(e){if(e!==`eth_requestAccounts`&&e!==`eth_accounts`)return null;let t=this.getLoginMethod();if(t===`waap`||t===`human`){let e=await this.restorePersistedWaaPSession();if(e)return e}if(t===`injected`&&window.ethereum)try{return this.setupAutoConnectInjected(window.ethereum),window.ethereum.request({method:`eth_requestAccounts`})}catch(e){return console.warn(`Injected wallet auto-connect failed:`,e),this.cleanupInvalidLoginState(),null}else if(t===`walletconnect`)try{if(this.walletConnectProvider||=await i.getInstance(),await i.waitForReadyAndCheckConnection()){let e=i.getWalletProvider();return this.setupAutoConnectWalletConnect(e),e.request({method:`eth_requestAccounts`})}else return this.cleanupInvalidLoginState(),null}catch(e){return console.warn(`WalletConnect auto-connect failed:`,e),this.cleanupInvalidLoginState(),null}return null}restorePersistedWaaPSession(){return this.sessionProbe??=this.probeWaaPSession().finally(()=>{this.sessionProbe=null}),this.sessionProbe}async probeWaaPSession(){try{if(await this.ensureInitialized(),!(await this.getCanonicalAccountStatus()).authenticated)return this.cleanupInvalidLoginState(),null;let e=await Z({method:n.auto_conn,params:[window.location.origin]},!1,this.walletMessageManager,this.internalEventEmitter);if(Array.isArray(e)&&e.length>0)return this.currentAccount=e[0],this.connected=!0,localStorage.setItem(`${window.location.origin}-connected`,`waap`),this.setupWaaP(),e}catch(e){console.warn(`WaaP session probe failed:`,e)}return this.cleanupInvalidLoginState(),null}getLoginMethod(){if(typeof window>`u`||typeof localStorage>`u`)return null;try{let e=localStorage.getItem(`${window.location.origin}-connected`);if(!e)return null;if(![`waap`,`human`,`injected`,`walletconnect`].includes(e))return this.cleanupInvalidLoginState(),null;switch(e){case`injected`:return window.ethereum?`injected`:(this.cleanupInvalidLoginState(),null);case`walletconnect`:try{return i.isConnected()?`walletconnect`:(this.cleanupInvalidLoginState(),null)}catch{return this.cleanupInvalidLoginState(),null}case`waap`:return`waap`;case`human`:return`human`;default:return this.cleanupInvalidLoginState(),null}}catch(e){return console.warn(`Error checking login method:`,e),this.cleanupInvalidLoginState(),null}}async toggleDarkMode(){this.config.styles.darkMode=!this.config.styles.darkMode,await this.ensureInitialized();try{await Z({method:n.set_custom_config,params:[this.config]},!1,this.walletMessageManager,this.internalEventEmitter)}catch(e){console.error(`Error setting custom config in Silk iframe:`,e)}}async safe(){await this.ensureInitialized(),await Z({method:n.safe},!0,this.walletMessageManager,this.internalEventEmitter)}async orcid(){await this.ensureInitialized(),await Z({method:n.orcid},!0,this.walletMessageManager,this.internalEventEmitter)}async portal(e,t,r){await this.ensureInitialized();let i;switch(t){case`get`:i=e===`gastank`?n.gastank_get_settings:n.customization_get;break;case`update`:i=e===`gastank`?n.gastank_update_settings:n.customization_update;break;case`topup`:i=n.gastank_topup;break;case`init`:i=n.project_init;break}let a=t!==`get`&&e!==`customization`;return Z({method:i,params:[r,window.location.origin]},a,this.walletMessageManager,this.internalEventEmitter)}async requestEmail(){return await this.ensureInitialized(),Z({method:n.silk_requestEmail},!0,this.walletMessageManager,this.internalEventEmitter)}async requestPermissionToken(e){await this.ensureInitialized();let t={...e,walletMode:this.accountMode};return Z({method:n.waap_requestPermissionToken,params:[t]},!0,this.walletMessageManager,this.internalEventEmitter)}async getPermissionTokenStatus(e){return await this.ensureInitialized(),await Z({method:n.waap_getPermissionTokenStatus,params:[e]},!1,this.walletMessageManager,this.internalEventEmitter)}async clearPermissionToken(e){return await this.ensureInitialized(),await Z({method:n.waap_clearPermissionToken,params:[e]},!1,this.walletMessageManager,this.internalEventEmitter)}async requestSBT(e){return await this.ensureInitialized(),Z({method:n.silk_requestSbt,params:[e]},!0,this.walletMessageManager,this.internalEventEmitter)}async getLinkedAddresses(){return await this.walletMessageManager.pingIframe(),(await Z({method:n.waap_getLinkedAddresses,params:[]},!1,this.walletMessageManager,this.internalEventEmitter)).addresses}async linkAddress(e){if(typeof window>`u`)throw Error(`linkAddress requires a browser environment`);this.walletConnectProvider||await this.initializeWalletConnect(),i.isConnected()||(await this.walletConnectProvider.open({view:`Connect`}),await i.listenToAccountChangeEvent());let t=i.getWalletProvider();if(!t)throw Error(`No wallet provider available after connection`);let r=(await t.request({method:`eth_accounts`}))[0];if(!r||r.toLowerCase()!==e.toLowerCase())throw Error(`Connected wallet account ${r??`(none)`} does not match requested address ${e}`);await this.walletMessageManager.pingIframe();let a=await Z({method:n.waap_getLinkAddressNonce,params:[]},!1,this.walletMessageManager,this.internalEventEmitter),o=Ye({domain:window.location.host,address:e,uri:window.location.origin,nonce:a.nonce,issuedAt:new Date().toISOString()}),s=await t.request({method:`personal_sign`,params:[o,e]});return(await Z({method:n.waap_linkAddress,params:[{message:o,signature:s}]},!1,this.walletMessageManager,this.internalEventEmitter)).addresses}async unlinkAddress(e){return await this.walletMessageManager.pingIframe(),(await Z({method:n.waap_unlinkAddress,params:[{address:e}]},!1,this.walletMessageManager,this.internalEventEmitter)).addresses}};function Ye(e){let t=o(e.address);return`${`${e.domain} wants you to sign in with your Ethereum account:\n${t}`}\n\nLink this wallet to your Human Wallet account.\n\n${[`URI: ${e.uri}`,`Version: 1`,`Chain ID: 1`,`Nonce: ${e.nonce}`,`Issued At: ${e.issuedAt}`].join(`
|
|
2
|
+
`)}`}const Xe=(e,t,n=!0,r=[`evm`],a=!0)=>{let{referralCode:o,config:s,project:c,asyncTxs:l,asyncSigning:u,deferIframe:d}=e,f=v(e),p=!!u&&!l;e.walletConnectProjectId&&i.setProjectId(e.walletConnectProjectId),u&&!l&&console.warn("[WaaP SDK] `asyncSigning` is deprecated. Use `asyncTxs` instead.");let m=typeof window>`u`||typeof document>`u`,h=()=>typeof window>`u`||typeof document>`u`?null:(M(e),ue(t).contentWindow),g=d===!1&&!m,ee=d===void 0&&!m,_=g?h():null;if(g&&!_)throw Error(`WaaP iframe does not exist on page`);let y=new Je(_,o,s||{},c||{},f,l||u||!1,p,g?void 0:h,r);if(y.setAccountMode(t),!m&&n&&g&&y.initializeIframeContext().catch(()=>void 0),y.uiMessageManager.on(`show_modal`,()=>{Y()}),y.uiMessageManager.on(`hide_modal`,()=>{X()}),!m&&a&&(window.silk=y,window.waap=y),n&&ee){let e=Ve(y),t=y.destroy.bind(y);y.destroy=()=>{e(),t()}}return y},Ze=(e={})=>Xe(e,`tap`);export{f as C,_ as S,c as T,Se as _,Q as a,N as b,Z as c,Ie as d,X as f,L as g,je as h,Ge as i,Re as l,Me as m,Xe as n,He as o,Y as p,Je as r,Ve as s,Ze as t,ze as u,ue as v,s as w,v as x,M as y};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require("./esm-DFwVZkjo.js"),t=require("./WalletConnect-Dn40Omgo.js");let n=require("events"),r=require("ethers");var i=class extends Error{constructor(e,t,n={}){super(t),this.name=`WaaPError`,this.code=e,this.operation=n.operation,this.cause=n.cause}};function a(e,t){if(e instanceof i)return e;let n=e&&typeof e==`object`?e:void 0,r=n&&typeof n.message==`string`&&n.message||e instanceof Error&&e.message||String(e||`WaaP request failed`),a=n?.code,o=r.toLowerCase();return new i(o.includes(`cancelled`)||o.includes(`canceled`)?`cancelled`:o.includes(`timed out`)?`timeout`:o.includes(`insufficient balance`)?`insufficient_balance`:o.includes(`policy`)||o.includes(`permission token`)?`policy_rejected`:a===4001||o.includes(`rejected`)?`user_rejected`:o.includes(`not connected`)?`not_connected`:o.includes(`not authenticated`)||o.includes(`log in first`)?`not_authenticated`:o.includes(`unsupported`)||o.includes(`must be base64`)?`unsupported_input`:n?`wallet_error`:`unknown`,r,{cause:e,operation:t})}const o=`waap-wallet`,s=`waap-component-container`,c=typeof window<`u`&&typeof document<`u`&&typeof HTMLElement<`u`;let l;c?(l=class extends HTMLElement{constructor(){super()}connectedCallback(){(!this.style.display||this.style.display===``)&&(this.style.display=`flex`,this.style.alignItems=`center`,this.style.justifyContent=`center`),(!this.style.width||this.style.width===``)&&(this.style.width=`100%`),(!this.style.height||this.style.height===``)&&(this.style.height=`100%`),this.id=s,this.setAttribute(`data-waap-mounted`,`true`)}disconnectedCallback(){this.removeAttribute(`data-waap-mounted`)}},typeof customElements<`u`&&!customElements.get(o)&&customElements.define(o,l)):l=class{};function u(){return c?!!document.getElementById(s)||!!document.querySelector(o):!1}function d(){return c?document.getElementById(s)||document.querySelector(o):null}const f=`https://staging.waap.xyz`,p={development:`http://localhost:3000`,staging:f,production:`https://waap.xyz`},m=e=>e===`localhost`||e===`127.0.0.1`||e===`[::1]`;function h(e){let t;try{t=new URL(e)}catch{throw Error(`Invalid WaaP wallet origin: ${e}`)}if(t.origin!==e||t.pathname!==`/`||t.search||t.hash||t.username||t.password)throw Error(`WaaP walletOrigin must be an absolute origin without a path, query, or credentials`);if(t.protocol!==`https:`&&!(t.protocol===`http:`&&m(t.hostname)))throw Error(`WaaP walletOrigin must use HTTPS unless it is a loopback host`);return t.origin}function g(e={}){return e.walletOrigin?h(e.walletOrigin):e.environment?h(p[e.environment]):e.useStaging?h(f):h(p.production)}const _=new WeakMap,v=new WeakMap,y=()=>typeof performance<`u`?performance.now():Date.now(),b=e=>({generation:e.generation,navigationStartedAt:e.navigationStartedAt,loadedAt:e.loadedAt}),x=e=>{let t=e.contentWindow;if(!t)return;let n=v.get(e);if(n&&_.get(t)===n)return;n?.cleanup(),n&&(v.delete(e),_.get(t)===n&&_.delete(t));let r=_.get(t);if(r?.iframe===e)return;r?.cleanup(),r&&v.delete(r.iframe);let i={iframe:e,generation:0,navigationStartedAt:y(),loadedAt:null,listeners:new Set,cleanup:()=>{}},a=()=>{i.generation+=1,i.loadedAt=y();let e=b(i);for(let t of Array.from(i.listeners))t(e)};i.cleanup=()=>{e.removeEventListener(`load`,a),i.listeners.clear()},e.addEventListener(`load`,a),_.set(t,i),v.set(e,i)},ee=e=>{let t=v.get(e);if(t){t.cleanup(),v.delete(e);let n=e.contentWindow;n&&_.get(n)===t&&_.delete(n);return}let n=e.contentWindow;if(!n)return;let r=_.get(n);!r||r.iframe!==e||(r.cleanup(),_.delete(n))},S=e=>{let t=_.get(e);return t?b(t):null},te=(e,t)=>{let n=_.get(e);return n?n.loadedAt===null?new Promise((e,r)=>{let i=window.setTimeout(()=>{n.listeners.delete(a),r(Error(`WaaP iframe navigation timed out after ${Math.round(t/1e3)}s.`))},t),a=t=>{window.clearTimeout(i),n.listeners.delete(a),e(t)};n.listeners.add(a)}):Promise.resolve(b(n)):Promise.resolve(null)},ne=(e,t)=>{let n=_.get(e);return n?(n.listeners.add(t),()=>n.listeners.delete(t)):()=>{}},C=`waap-wallet-loading-styles`,w=`waap-iframe-visual-ready`,T=typeof window<`u`&&typeof document<`u`,re=()=>{if(!T||document.getElementById(C))return;let e=document.createElement(`style`);e.id=C,e.textContent=`@keyframes waap-loading-shimmer { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } } @media (prefers-reduced-motion: reduce) { [data-waap-loading-part] { animation: none !important; } }`,document.head.appendChild(e)},ie=(e={})=>g(e),E=()=>T?document.getElementById(`waap-wallet-iframe-container`)||document.getElementById(`silk-wallet-iframe-container`):null,D=()=>T?document.getElementById(`waap-wallet-iframe-wrapper`)||document.getElementById(`silk-wallet-iframe-wrapper`):null,O=()=>T?document.getElementById(`waap-wallet-iframe`)||document.getElementById(`silk-wallet-iframe`):null,k=(e=O())=>{let t=Number(e?.dataset.waapVisualRevision??`0`);return Number.isSafeInteger(t)&&t>=0?t:0},ae=(e=O())=>{let t=e?.dataset.waapVisualReadySupported;return t===`true`||t!==`false`&&null},A=(e,t)=>{if(e){if(t===null){delete e.dataset.waapVisualReadySupported;return}e.dataset.waapVisualReadySupported=String(t)}},oe=(e,t)=>{let n=e.__silkCleanup;e.__silkCleanup=()=>{n?.(),t()}},se=e=>{let t=O();if(!t)throw Error(`WaaP iframe does not exist on page`);let n=t.dataset.waapAccountMode;if(n&&n!==e)throw Error(`WaaP iframe is already bound to ${n}; destroy it before initializing ${e}.`);return t.dataset.waapAccountMode=e,t},ce=e=>{if(T)try{if(document.querySelector(`link[data-waap-preconnect="${e}"]`))return;let t=document.createElement(`link`);t.rel=`preconnect`,t.href=e,t.crossOrigin=`anonymous`,t.setAttribute(`data-waap-preconnect`,e),document.head.appendChild(t);let n=document.createElement(`link`);n.rel=`dns-prefetch`,n.href=e,n.setAttribute(`data-waap-preconnect`,e),document.head.appendChild(n)}catch{}},le=(e,t)=>{e.dataset.waapTheme=t?`dark`:`light`},ue=(e,t)=>{let n=e;ce(n);let r=document.createElement(`iframe`);return r.id=`waap-wallet-iframe`,r.dataset.waapOrigin=n,le(r,t),x(r),r.src=`${n}/iframe`,r.allow=`publickey-credentials-get; publickey-credentials-create`,r.style.width=`100%`,r.style.height=`100%`,r.style.border=`none`,r.style.borderRadius=`24px`,r.style.backgroundColor=`transparent`,r.style.background=`transparent`,r.style.padding=`0`,r.style.margin=`0`,r},de=()=>{let e=document.createElement(`div`);return e.id=`waap-wallet-iframe-wrapper`,e.style.position=`relative`,e.style.display=`flex`,e.style.alignItems=`center`,e.style.justifyContent=`center`,e.style.padding=`0`,e.style.margin=`0`,e.style.height=`600px`,e.style.width=`380px`,e},fe=()=>{let e=document.createElement(`div`);return e.id=`waap-wallet-iframe-container`,e.style.position=`fixed`,e.style.top=`0`,e.style.left=`0`,e.style.right=`0`,e.style.bottom=`0`,e.style.width=`100%`,e.style.height=`100%`,e.style.alignItems=`center`,e.style.justifyContent=`center`,e.style.backgroundColor=`rgba(0, 0, 0, 0.5)`,e.style.zIndex=`9999999999`,e.style.display=`flex`,e.style.visibility=`hidden`,e.style.opacity=`0`,e.style.pointerEvents=`none`,e.style.transition=typeof window<`u`&&window.matchMedia?.(`(prefers-reduced-motion: reduce)`).matches?`none`:`opacity 140ms ease`,e},pe=(e,t)=>{let n=e,r,i,a,o,s=()=>{if(r=void 0,!o)return;let e=D();e&&e.dataset.waapSizeLocked!==`true`&&(i=o.width,a=o.height,e.style.height=`${o.height}px`,e.style.width=`${o.width}px`,o=void 0)},c=()=>{r===void 0&&(r=window.requestAnimationFrame(s))},l=()=>{!o&&i!==void 0&&a!==void 0&&(o={width:i,height:a}),c()},u=e=>{if(e.origin!==n||e.source!==t.contentWindow||!e.data||typeof e.data!=`object`||e.data.type!==`silk-iframe-size`)return;let r=e.data.height,s=e.data.width,l=2e3;if(typeof r!=`number`||typeof s!=`number`||r<50||r>l||s<50||s>l||!Number.isFinite(r)||!Number.isFinite(s))return;let u=Math.floor(s),d=Math.floor(r);u===i&&d===a||(o={width:u,height:d},c())};window.addEventListener(`message`,u),t.addEventListener(w,l);let d=()=>{r!==void 0&&window.cancelAnimationFrame(r),window.removeEventListener(`message`,u),t.removeEventListener(w,l)};return oe(t,d),d},me=(e,t)=>{let n=()=>{delete t.dataset.waapVisualRevision,delete t.dataset.waapVisualReadyAt,A(t,null)},r=n=>{if(n.origin!==e||n.source!==t.contentWindow||!n.data||typeof n.data!=`object`||n.data.type!==`silk-iframe-visual-ready`)return;let r=n.data.revision;!Number.isSafeInteger(r)||r<=0||r<=k(t)||(t.dataset.waapVisualRevision=String(r),t.dataset.waapVisualReadyAt=String(typeof performance<`u`?performance.now():Date.now()),t.dispatchEvent(new CustomEvent(w,{detail:{revision:r}})))};t.addEventListener(`load`,n),window.addEventListener(`message`,r);let i=()=>{t.removeEventListener(`load`,n),window.removeEventListener(`message`,r)};return oe(t,i),i},he=()=>{setTimeout(()=>{if(typeof document>`u`)return;let e=D();e&&(e.style.height=`600px`,e.style.width=`380px`)},100)},ge=e=>{let t=O();if(!t)return!1;let n=t.dataset.waapOrigin??(()=>{try{return new URL(t.src).origin}catch{return}})();if(n&&n!==e)throw Error(`WaaP wallet iframe already exists for ${n}; destroy it before switching to ${e}`);return!0},_e=(e,t)=>{let n=d();if(!n)throw Error(`WaaP component not found in DOM`);if(ge(e))return;let r=de(),i=ue(e,t);pe(e,i),me(e,i),he(),r.appendChild(i),n.appendChild(r),x(i)},ve=(e,t)=>{if(ge(e))return;let n=fe(),r=de();n.appendChild(r);let i=ue(e,t);pe(e,i),me(e,i),he(),r.appendChild(i),document.body.appendChild(n),x(i)},j=(e={})=>{if(!T)return;re();let t=ie(e),n=e.config?.styles?.darkMode===!0,r=O();r&&le(r,n),u()?_e(t,n):ve(t,n)},M=()=>{if(!T)return;Me();let e=O(),t=e?.__silkCleanup;typeof t==`function`&&t(),e&&ee(e);let n=D(),r=E();r?r.remove():n?.remove(),document.querySelectorAll(`link[data-waap-preconnect]`).forEach(e=>{e.remove()})};let N=0;async function ye(e){let t=Date.now().toString(),n=new TextEncoder().encode(JSON.stringify(e)+t),r=globalThis.crypto;if(r?.subtle?.digest){let e=await r.subtle.digest(`SHA-256`,new Uint8Array(n));return P(new Uint8Array(e))}return N+=1,P(new TextEncoder().encode(`${t}:${N}:${Math.random()}:${JSON.stringify(e)}`)).padEnd(64,`0`).slice(0,64)}function P(e){return Array.from(e,e=>e.toString(16).padStart(2,`0`)).join(``)}const F=new WeakMap,I=(e,t)=>{let n=F.get(e);if(n)return n;let r=t();return F.set(e,r),r.catch(()=>{F.get(e)===r&&F.delete(e)}),r},be=e=>{F.delete(e)},L=(e,t={})=>({schemaVersion:1,accountMode:e,sessionProtection:`dpop`,...t.chains?.length?{chains:t.chains}:{},parentOrigin:typeof window>`u`?void 0:window.location?.origin,...t.referralCode?{referralCode:t.referralCode}:{},...t.project?{project:t.project}:{},...t.config?{config:t.config}:{}}),R=new Set;let z=!1,B;const V=new WeakMap,xe=(e=256)=>{let t=new Set;return{accept(n){if(t.has(n))return!1;if(t.add(n),t.size>e){let e=t.values().next().value;e&&t.delete(e)}return!0},clear(){t.clear()},size(){return t.size}}},H=e=>{let t=V.get(e);if(t)return t;let n={ready:!1,promise:null,reject:null,cleanup:null,navigationGeneration:null,readyPingStartedAt:null,readyAt:null,readyAttempts:0,visualReadySupported:null,lastError:null};return V.set(e,n),n},U=(e,t)=>{let n=V.get(e);if(!n)return;n.ready=!1,n.cleanup?.(),n.cleanup=null;let r=n.reject;n.reject=null,n.promise=null,n.navigationGeneration=null,n.visualReadySupported=null;let i=O();i?.contentWindow===e&&A(i,null),r?.(t)},Se=()=>typeof performance<`u`?performance.now():Date.now();let Ce=null;const we=()=>Ce,Te=(t,n,r)=>{let{handleResponse:i,handleRequest:a,onReceiveConnectNotif:o,onAccountChanged:s,onAsyncTxNotification:c,onSquidLifecycleNotification:l}=r;if(t.origin===n.walletOrigin&&t.source===n.getIframeWindow()&&t.data?.target===`silk`)if(t.data?.messageType===e.n.request)a(t.data);else if(t.data?.messageType===e.n.response){let e=t.data;n.shouldHandleTerminalResponse(e.id)&&i(e)}else t.data?.messageType===e.n.notification&&(t.data?.data===e.i.connect?o?.():t.data?.data?.type===e.i.account_changed&&s?s(t.data.data.account):(t.data?.data?.type?.startsWith(`waap_sign_`)||t.data?.data?.type?.startsWith(`waap_tx_`))&&c?c({type:t.data.data.type,payload:t.data.data.payload}):t.data?.data?.type?.startsWith(`waap_squid_`)&&l&&l({type:t.data.data.type,payload:t.data.data.payload}))},Ee=()=>{z||typeof window>`u`||(z=!0,B=e=>{for(let{manager:t,config:n}of Array.from(R))Te(e,t,n)},window.addEventListener(`message`,B))},De=()=>{R.size>0||!z||!B||typeof window>`u`||(window.removeEventListener(`message`,B),B=void 0,z=!1)};var Oe=class{constructor(e,t){this.iframeWindow=null,this.unregisterListeners=new Set,this.terminalResponseDeduper=xe(),this.unsubscribeIframeNavigation=null,this.disposed=!1,this.iframeWindow=e,this.walletOrigin=typeof t==`string`?t:g(t===!0?{useStaging:!0}:{}),e&&this.observeIframeNavigation(e)}observeIframeNavigation(e){this.unsubscribeIframeNavigation?.(),this.unsubscribeIframeNavigation=ne(e,()=>{let t=H(e);(t.ready||t.readyPingStartedAt!==null)&&(be(e),U(e,Error(`WaaP iframe reloaded; readiness must be re-established`)),this.terminalResponseDeduper.clear())})}setIframeWindow(e){this.iframeWindow&&this.iframeWindow!==e&&(U(this.iframeWindow,Error(`Wallet iframe window changed`)),this.terminalResponseDeduper.clear()),this.iframeWindow=e,this.observeIframeNavigation(e)}getIframeWindow(){return this.iframeWindow}isDisposed(){return this.disposed}shouldHandleTerminalResponse(e){return this.terminalResponseDeduper.accept(e)}getHandshakeDiagnostics(){let e=this.iframeWindow,t=e?S(e):null,n=e?H(e):null,r={walletOrigin:this.walletOrigin,iframeNavigationStartedAt:t?.navigationStartedAt??null,iframeLoadedAt:t?.loadedAt??null,readyPingStartedAt:n?.readyPingStartedAt??null,readyAt:n?.readyAt??null,readyAttempts:n?.readyAttempts??0,visualReadySupported:n?.visualReadySupported??null,navigationGeneration:n?.navigationGeneration??null,lastError:n?.lastError??null};return Ce=r,r}postSilkNotification(t){if(!this.iframeWindow)throw Error(`WaaP iframe is not mounted`);this.iframeWindow.postMessage({target:`silk`,messageType:e.n.notification,data:t},this.walletOrigin)}postReadyNotification(){this.postSilkNotification(e.i.ready)}postConnectNotification(){this.postSilkNotification(e.i.connect)}cancelSilkRequest(t,n){this.postSilkNotification({type:e.i.request_cancel,requestId:t,method:n})}pingIframe(){if(this.disposed)return Promise.reject(Error(`Wallet message manager is disposed`));let t=this.iframeWindow;if(!t||typeof window>`u`)return Promise.reject(Error(`WaaP iframe is not mounted`));let n=H(t),r=S(t);return n.ready&&(!r||n.navigationGeneration===r.generation)?Promise.resolve():(n.ready&&U(t,Error(`WaaP iframe navigation changed; readiness must be re-established`)),n.promise?n.promise:(n.lastError=null,n.readyPingStartedAt=null,n.readyAt=null,n.readyAttempts=0,n.visualReadySupported=null,n.promise=new Promise((r,i)=>{n.reject=i,te(t,3e4).then(r=>{if(this.disposed||this.iframeWindow!==t)throw Error(`Wallet message manager is disposed`);return new Promise((i,a)=>{let o=a=>{if(a.origin===this.walletOrigin&&a.source===t&&a.data?.target===`silk`&&a.data.messageType===e.n.notification&&a.data.data===e.i.ready){n.ready=!0,n.navigationGeneration=S(t)?.generation??r?.generation??null,n.readyAt=Se(),n.visualReadySupported=a.data?.capabilities?.visualReady===1;let e=O();e?.contentWindow===t&&A(e,n.visualReadySupported),f(),i()}},s=()=>{try{n.readyAttempts+=1,this.postReadyNotification()}catch(e){f(),a(e)}};n.readyPingStartedAt=Se();let c=250,l,u=()=>{l=window.setTimeout(()=>{s(),c=Math.min(c*2,1e3),u()},c)},d=window.setTimeout(()=>{f(),a(Error(`WaaP wallet ready handshake timed out after 10s.`))},1e4),f=()=>{l!==void 0&&window.clearTimeout(l),window.clearTimeout(d),window.removeEventListener(`message`,o),n.cleanup===f&&(n.cleanup=null,n.reject=null)};n.cleanup=f,n.reject=a,window.addEventListener(`message`,o),s(),u()})}).then(r,i)}),n.promise=n.promise.finally(()=>{n.ready||(n.lastError=n.lastError??`Wallet readiness failed`,n.promise=null)}),n.promise.catch(e=>{n.lastError=e instanceof Error?e.message:String(e)}),n.promise))}async postSilkRequest(t){if(!this.iframeWindow)throw Error(`WaaP iframe is not mounted`);let{silkOptions:n,...r}=t,i={...r,target:`silk`,messageType:e.n.request,...n&&{silkOptions:n}},a=await ye(i);return this.iframeWindow.postMessage({...i,id:a},this.walletOrigin),a}addListener(e){if(this.disposed)throw Error(`Wallet message manager is disposed`);Ee();let t={manager:this,config:e};R.add(t);let n=()=>{this.unregisterListeners.delete(n)&&(R.delete(t),De())};return this.unregisterListeners.add(n),n}dispose(){this.disposed||(this.disposed=!0,this.iframeWindow&&U(this.iframeWindow,Error(`Wallet message manager was disposed`)),Array.from(this.unregisterListeners).forEach(e=>e()),this.terminalResponseDeduper.clear(),this.unsubscribeIframeNavigation?.(),this.unsubscribeIframeNavigation=null,this.iframeWindow=null)}};const W=`waap-wallet-iframe-loading`,G=new Set,K=()=>typeof performance<`u`?performance.now():Date.now(),q=e=>{G.forEach(t=>{try{t(e)}catch{}})},ke=e=>(G.add(e),()=>G.delete(e));var Ae=class{constructor(e){this.pendingRevision=null,this.phase=`idle`,this.requestedAt=null,this.visibleAt=null,this.usedVisualFallback=!1,this.onVisualReady=e=>{let t=e.detail?.revision;this.pendingRevision!==null&&typeof t==`number`&&t>=this.pendingRevision&&this.revealIframe(!1)},this.iframe=e,e.addEventListener(w,this.onVisualReady)}show({layout:e=`signing`}={}){if(this.phase===`pending`||this.phase===`visible`)return;let t=D();if(!t)return;this.clearFallbackTimer();let n=this.moveToCurrentMode(t);n===`modal`&&e===`signing`?(t.dataset.waapSizeLocked=`true`,t.style.width=`380px`,t.style.height=`600px`):n===`modal`&&delete t.dataset.waapSizeLocked,this.pendingRevision=k(this.iframe)+1,this.phase=`pending`,this.requestedAt=K(),this.visibleAt=null,this.usedVisualFallback=!1,q({phase:`modal_requested`,at:this.requestedAt,visualRevision:this.pendingRevision}),this.hideIframeUntilPaint(t),n===`modal`?this.showModalSurface():t.style.display=`flex`;let r=ae(this.iframe);if(r===!1){this.revealIframe(!0);return}this.fallbackTimer=window.setTimeout(()=>{this.revealIframe(!0)},r===!0?3e3:750)}hide(){let e=this.pendingRevision!==null;this.pendingRevision=null,this.clearFallbackTimer(),this.phase=`hidden`;let t=K();e&&q({phase:`modal_cancelled`,at:t,visualRevision:k(this.iframe)}),q({phase:`modal_hidden`,at:t,visualRevision:k(this.iframe)});let n=D();if(n&&delete n.dataset.waapSizeLocked,u()){n&&(n.style.display=`none`);return}let r=E();r&&(r.style.opacity=`0`,r.style.visibility=`hidden`,r.style.pointerEvents=`none`)}dispose(){this.clearFallbackTimer(),this.iframe.removeEventListener(w,this.onVisualReady)}isFor(e){return this.iframe===e}getDiagnostics(){return{modalPhase:this.phase,modalRequestedAt:this.requestedAt,modalVisibleAt:this.visibleAt,usedVisualFallback:this.usedVisualFallback}}moveToCurrentMode(e){if(u()){let t=d();return t&&e.parentElement!==t&&t.appendChild(e),`component`}let t=E();return t||(t=fe(),document.body.appendChild(t)),e.parentElement!==t&&t.appendChild(e),`modal`}showModalSurface(){let e=E();e&&(e.style.display=`flex`,e.style.visibility=`visible`,e.style.opacity=`1`,e.style.pointerEvents=`auto`)}hideIframeUntilPaint(e){e.style.display=`flex`,e.style.visibility=`visible`,e.style.opacity=`1`,e.style.pointerEvents=`auto`,this.iframe.style.visibility=`hidden`,this.iframe.style.opacity=`0`,this.iframe.style.pointerEvents=`none`,this.ensureLoadingIndicator(e).style.display=`flex`}revealIframe(e){if(this.pendingRevision===null)return;let t=k(this.iframe);this.pendingRevision=null,this.clearFallbackTimer(),this.phase=`visible`,this.visibleAt=K(),this.usedVisualFallback=e,q({phase:`modal_visible`,at:this.visibleAt,visualRevision:t,fallback:e});let n=D();if(!n)return;delete n.dataset.waapSizeLocked;let r=n.querySelector(`#${W}`);r&&(r.style.display=`none`),this.iframe.style.visibility=`visible`,this.iframe.style.opacity=`1`,this.iframe.style.pointerEvents=`auto`,n.style.visibility=`visible`,n.style.opacity=`1`,n.style.pointerEvents=`auto`}ensureLoadingIndicator(e){let t=e.querySelector(`#${W}`);if(t)return this.applyLoadingTheme(t),t;t=document.createElement(`div`),t.id=W,t.setAttribute(`role`,`status`),t.setAttribute(`aria-live`,`polite`),t.setAttribute(`aria-label`,`Loading WaaP wallet`),t.style.position=`absolute`,t.style.inset=`0`,t.style.zIndex=`1`,t.style.display=`none`,t.style.flexDirection=`column`,t.style.borderRadius=`24px`,t.style.fontFamily=`system-ui, sans-serif`,t.style.fontSize=`14px`,t.style.pointerEvents=`none`;let n=document.createElement(`div`);n.style.boxSizing=`border-box`,n.style.display=`flex`,n.style.flexDirection=`column`,n.style.width=`100%`,n.style.height=`100%`,n.style.padding=`24px`;let r=document.createElement(`img`),i=this.iframe.dataset.waapOrigin;i&&(r.src=`${i}/assets/svg/waaplogo.svg`),r.alt=`WaaP`,r.width=66,r.height=25,r.style.alignSelf=`center`,r.style.width=`66px`,r.style.height=`25px`,r.style.marginBottom=`20px`,r.dataset.waapLoadingLogo=`true`;let a=(e,t,n,r)=>{let i=document.createElement(`div`);return i.setAttribute(`aria-hidden`,`true`),i.dataset.waapLoadingPart=e,i.style.width=t,i.style.height=n,i.style.flexShrink=`0`,i.style.borderRadius=r,i.style.backgroundSize=`200% 100%`,i.style.animation=`waap-loading-shimmer 2.4s ease-in-out infinite`,i},o=a(`request-title`,`156px`,`16px`,`999px`);o.style.marginTop=`34px`;let s=a(`request-body`,`100%`,`220px`,`12px`);s.style.flex=`1`,s.style.marginTop=`18px`,s.style.opacity=`.58`;let c=document.createElement(`div`);return c.dataset.waapLoadingPart=`actions`,c.setAttribute(`aria-hidden`,`true`),c.style.display=`flex`,c.style.gap=`10px`,c.append(a(`cancel-action`,`calc(50% - 5px)`,`48px`,`12px`),a(`confirm-action`,`calc(50% - 5px)`,`48px`,`12px`)),n.append(r,o,s,c),t.appendChild(n),e.appendChild(t),this.applyLoadingTheme(t),t}applyLoadingTheme(e){let t=this.iframe.dataset.waapTheme===`dark`;e.dataset.waapTheme=t?`dark`:`light`,e.style.background=t?`#121212`:`#ffffff`,e.style.color=t?`#e6e6e6`:`#000000`;let n=e.querySelector(`[data-waap-loading-logo]`);n&&(n.style.filter=t?`invert(1)`:`none`);let r=t?`linear-gradient(90deg, rgba(255,255,255,.07), rgba(255,255,255,.14), rgba(255,255,255,.07))`:`linear-gradient(90deg, rgba(0,0,0,.05), rgba(0,0,0,.1), rgba(0,0,0,.05))`;e.querySelectorAll(`[data-waap-loading-part]`).forEach(e=>{e.style.background=r})}clearFallbackTimer(){this.fallbackTimer!==void 0&&(window.clearTimeout(this.fallbackTimer),this.fallbackTimer=void 0)}};let J;const je=()=>{let e=O();return e?(J&&!J.isFor(e)&&(J.dispose(),J=void 0),J??=new Ae(e),J):null},Y=e=>{je()?.show(e)},X=()=>{je()?.hide()},Me=()=>{J?.dispose(),J=void 0},Ne=()=>{let e=O(),t=e?.contentWindow?S(e.contentWindow):null,n=J?.getDiagnostics(),r=Number(e?.dataset.waapVisualReadyAt??``);return{walletOrigin:e?.dataset.waapOrigin??null,iframeNavigationStartedAt:t?.navigationStartedAt??null,iframeLoadedAt:t?.loadedAt??null,visualRevision:k(e),visualReadyAt:Number.isFinite(r)?r:null,modalPhase:n?.modalPhase??`idle`,modalRequestedAt:n?.modalRequestedAt??null,modalVisibleAt:n?.modalVisibleAt??null,usedVisualFallback:n?.usedVisualFallback??!1,handshake:we()}},Pe=new Set([e.t.eth_sendTransaction,e.t.eth_signTransaction,e.t.personal_sign,e.t.eth_signTypedData_v4]),Fe=e=>Pe.has(e);function Ie(e){return new Promise((t,n)=>{let r,i=!1,a=()=>{r!==void 0&&clearTimeout(r),e.eventEmitter.removeListener(e.id,o),e.signal?.removeEventListener(`abort`,c)},o=e=>{i||(i=!0,a(),t(e))},s=t=>{i||(i=!0,a(),e.onCancel?.(),n(Error(t)))},c=()=>s(`WaaP request cancelled: ${e.method}`);if(e.signal?.aborted){c();return}e.interactionRequired||(r=setTimeout(()=>{s(`WaaP request timed out: ${e.method}`)},e.timeoutMs??3e4)),e.eventEmitter.once(e.id,o),e.signal?.addEventListener(`abort`,c,{once:!0})})}function Le(e){if(typeof e!=`object`||!e)return e;try{e.waapCode=a(e).code}catch{}return e}async function Z(t,n,r,i,a){let o=t.method,s=t.params,{timeoutMs:c,signal:l,...u}=a??{};n&&Y({layout:o===e.r.login?`auth`:`signing`});let d;try{d=await r.postSilkRequest({method:o,params:s,interactionRequired:n,silkOptions:a?u:void 0});let e=await Ie({eventEmitter:i,id:d,method:o,interactionRequired:n,timeoutMs:c,signal:l,onCancel:()=>{r.cancelSilkRequest(d,o),n&&X()}});if(n&&X(),e.error)throw Le(e.error);return e.data}catch(e){throw n&&d===void 0&&X(),e}}const Re=(e,t={})=>{if(typeof window>`u`)return()=>void 0;let n=!1,r,i,a=window,o=()=>{n||e.preload().catch(e=>t.onError?.(e))};return typeof a.requestIdleCallback==`function`?r=a.requestIdleCallback(o,{timeout:t.timeoutMs??2e3}):i=window.setTimeout(o,0),()=>{n=!0,r!==void 0&&a.cancelIdleCallback?.(r),i!==void 0&&window.clearTimeout(i)}};var ze=function(e){return e.show_modal=`show_modal`,e.hide_modal=`hide_modal`,e}(ze||{}),Be=class extends n.EventEmitter{constructor(){super()}};function Ve(e){return!(!e?.isMetaMask||e.isApexWallet||e.isAvalanche||e.isBitKeep||e.isBlockWallet||e.isMathWallet||e.isOkxWallet||e.isOKExWallet||e.isOneInchIOSWallet||e.isOneInchAndroidWallet||e.isOpera||e.isPortal||e.isRabby||e.isDefiant||e.isTokenPocket||e.isTokenary||e.isZerion)}function He(e){try{if(!e||!Array.isArray(e))return!1;let t=JSON.parse(typeof e[1]==`string`?e[1]:JSON.stringify(e[1]));return t.primaryType===`SafeTx`&&t.domain?.verifyingContract!==void 0&&t.message&&`to`in t.message&&`value`in t.message&&`safeTxGas`in t.message&&`baseGas`in t.message&&`gasPrice`in t.message&&`nonce`in t.message}catch{return!1}}const Ue={styles:{darkMode:!1}},Q=[`waap`,`human`,`injected`,`walletconnect`],We=[e.t.eth_sendTransaction,e.t.eth_signTransaction,e.t.eth_signTypedData_v4,e.t.personal_sign];function Ge(e){if(e==null)return null;if(typeof e==`string`){if(Q.includes(e))return e;throw Error(`[EthereumProvider] Unexpected login method: "${e}". Expected one of: ${Q.join(`, `)}`)}if(typeof e==`object`&&`loginMethod`in e&&typeof e.loginMethod==`string`){let t=e.loginMethod;if(console.warn(`[EthereumProvider] Received object login response. Normalizing "${t}" to string. This is unexpected for the web SDK.`),Q.includes(t))return t;throw Error(`[EthereumProvider] Unknown loginMethod in object: "${t}". Expected one of: ${Q.join(`, `)}`)}throw Error(`[EthereumProvider] Unexpected login response: ${JSON.stringify(e)} (type: ${typeof e})`)}var Ke=class extends n.EventEmitter{constructor(t,r,i,a,o,s=!1,c=!1,l,u=[`evm`]){super(),this.lastKnownConversion=`pending`,this.isSilk=!0,this.isWaaP=!0,this.connected=!1,this.currentAccount=null,this.accountMode=`tap`,this.walletConnectProvider=null,this.asyncTxs=!1,this.legacyAsyncSigning=!1,this.internalEventEmitter=new n.EventEmitter,this.iframeMounted=!0,this.initializerPromise=null,this.sessionProbe=null,this.initializedIframeWindow=null,this.asyncTxs=s,this.legacyAsyncSigning=c,this.ensureIframe=l,this.iframeMounted=!l,this.referralCode=r,this.project=a,this.customConfig=i,this.initializerChains=u,this.uiMessageManager=new Be,this.walletMessageManager=new Oe(t,o),this.config={...Ue,...i||{}},this.persistedMethods={login:this.login.bind(this),logout:this.logout.bind(this),getLoginMethod:this.getLoginMethod.bind(this),walletMessageManager:this.walletMessageManager,internalEventEmitter:this.internalEventEmitter,uiMessageManager:this.uiMessageManager,portal:this.portal.bind(this),requestEmail:this.requestEmail.bind(this),requestSBT:this.requestSBT.bind(this),requestPermissionToken:this.requestPermissionToken.bind(this),getLinkedAddresses:this.getLinkedAddresses.bind(this),linkAddress:this.linkAddress.bind(this),unlinkAddress:this.unlinkAddress.bind(this),orcid:this.orcid.bind(this),enable:this.enable.bind(this),isConnected:this.isConnected.bind(this),toggleDarkMode:this.toggleDarkMode.bind(this),destroy:this.destroy.bind(this),silkRequest:this.request.bind(this),waaPRequest:this.request.bind(this)},this.walletMessageManager.addListener({onReceiveConnectNotif:()=>{this.connected=!0,this.emit(`connect`)},handleResponse:e=>this.internalEventEmitter.emit(e.id,e),handleRequest:t=>{t.method===e.r.show_modal?this.uiMessageManager.emit(`show_modal`):t.method===e.r.hide_modal&&this.uiMessageManager.emit(`hide_modal`)},onAccountChanged:e=>{this.currentAccount!==e&&(this.currentAccount=e,this.emit(`accountsChanged`,e?[e]:[]))},onAsyncTxNotification:e=>{this.emit(e.type,e.payload)},onSquidLifecycleNotification:e=>{this.emit(e.type,e.payload)}})}async initializeWalletConnect(){try{this.walletConnectProvider=await t.t.getInstance()}catch(e){console.error(`Failed to initialize WalletConnect provider:`,e),this.walletConnectProvider=null}}async initializeIframeContext(){let t=this.walletMessageManager.getIframeWindow();if(!t)throw Error(`WaaP iframe is not mounted`);if(this.initializedIframeWindow===t&&this.initializerPromise)return this.initializerPromise;this.initializedIframeWindow=t,this.initializerPromise=I(t,async()=>{await this.walletMessageManager.pingIframe(),await Z({method:e.r.set_signing_mode,params:[L(this.accountMode,{referralCode:this.referralCode,project:this.project,config:this.customConfig,chains:this.initializerChains})]},!1,this.walletMessageManager,this.internalEventEmitter)});try{await this.initializerPromise}catch(e){throw this.initializerPromise=null,this.initializedIframeWindow=null,e}}async reassertIframeAccountMode(){this.ensureIframeMounted(),await this.walletMessageManager.pingIframe(),await Z({method:e.r.set_signing_mode,params:[L(this.accountMode,{referralCode:this.referralCode,project:this.project,config:this.customConfig,chains:this.initializerChains})]},!1,this.walletMessageManager,this.internalEventEmitter)}ensureIframeMounted(){if(this.iframeMounted||!this.ensureIframe)return;let e=this.ensureIframe();e&&(this.iframeMounted=!0,this.walletMessageManager.setIframeWindow(e))}async ensureInitialized(){this.ensureIframeMounted(),await this.initializeIframeContext()}async preload(){await this.ensureInitialized()}async enable(){return this.request({method:`eth_requestAccounts`})}isConnected(){return this.connected}getAccountStatus(){let e=this.getLoginMethod();return{authenticated:e!==null,loginMethod:e,activeMode:e?this.accountMode:null,mode:this.accountMode,conversion:e?this.lastKnownConversion:`not_required`,tap:null,squid:null,accounts:this.currentAccount?{evm:this.currentAccount}:{}}}get session(){return{login:e=>this.login(e),logout:async()=>{await this.logout()},getLoginMethod:()=>this.getLoginMethod(),getAccountStatus:()=>this.getCanonicalAccountStatus()}}async getCanonicalAccountStatus(){await this.ensureInitialized();let t=await Z({method:e.r.waap_getAccountStatus,params:[]},!1,this.walletMessageManager,this.internalEventEmitter);return t?.conversion&&(this.lastKnownConversion=t.conversion),t}setAccountMode(e){this.accountMode=e,this.initializerPromise=null,this.initializedIframeWindow=null}async request(t){if(!Object.keys(e.t).includes(t.method))return Promise.reject({error:`Not implemented (${t.method})`});let n=await this.attemptAutoConnect(t.method);if(n!==null)return n;if(We.includes(t.method)&&!(this.getLoginMethod()!==null||await this.restorePersistedWaaPSession()!==null))return Promise.reject(new i(`not_authenticated`,`Not authenticated: call login() before signing.`,{operation:{chain:`evm`,method:t.method}}));if(He(t.params)&&t.method!==e.t.eth_signTypedData_v4)return Promise.reject({error:`Safe transactions must be signed using eth_signTypedData_v4`});await this.ensureInitialized();let r=(t.method===e.t.eth_sendTransaction||t.method===e.t.eth_signTransaction||t.method===e.t.eth_signTypedData_v4||t.method===e.t.personal_sign)&&this.asyncTxs||t.async,a=r||t.withPT||t.timeoutMs!==void 0||t.signal?this.legacyAsyncSigning?{asyncSigning:r||void 0,withPT:t.withPT,timeoutMs:t.timeoutMs,signal:t.signal}:{async:r,withPT:t.withPT,timeoutMs:t.timeoutMs,signal:t.signal}:void 0,o=await Z(t,Fe(t.method),this.walletMessageManager,this.internalEventEmitter,a);if((t.method===e.t.wallet_switchEthereumChain||t.method===e.t.wallet_addEthereumChain)&&o===null){this.emit(`chainChanged`,t.params?.[0]?.chainId);try{let e=await this.request({method:`eth_accounts`});e&&e.length>0&&(this.currentAccount=e[0],this.emit(`accountsChanged`,e),this.emit(`connect`,{chainId:t.params?.[0]?.chainId}))}catch(e){console.warn(`[EthereumProvider] Failed to get accounts after chain switch:`,e),this.currentAccount&&(this.emit(`accountsChanged`,[this.currentAccount]),this.emit(`connect`,{chainId:t.params?.[0]?.chainId}))}}return t.method===e.t.eth_requestAccounts&&Array.isArray(o)&&typeof o[0]==`string`&&(this.currentAccount=o[0],this.connected=!0,typeof window<`u`&&typeof localStorage<`u`&&localStorage.setItem(`${window.location.origin}-connected`,`waap`),this.emit(`accountsChanged`,o),this.emit(`connect`)),o}async login(n){if(typeof window>`u`||typeof document>`u`)return null;let r=n&&!(`request`in n)?n:void 0,i=r?r.customProvider:n;if(await this.ensureInitialized(),!r?.force&&await this.restorePersistedWaaPSession())return this.getLoginMethod()??`waap`;let a=i||window.ethereum,o=a&&Ve(a)?`MetaMask`:`Browser Wallet`,s=Ge(await Z({method:e.r.login,params:[o]},!0,this.walletMessageManager,this.internalEventEmitter));if(s===null)return null;switch(s){case`waap`:case`human`:localStorage.setItem(`${window.location.origin}-connected`,`waap`),this.setupWaaP();break;case`injected`:a&&(localStorage.setItem(`${window.location.origin}-connected`,`injected`),this.setupInjectedWallet(a));break;case`walletconnect`:{localStorage.setItem(`${window.location.origin}-connected`,`walletconnect`),this.walletConnectProvider||await this.initializeWalletConnect(),t.t.isConnected()||(await this.walletConnectProvider.open({view:`Connect`}),await t.t.listenToAccountChangeEvent());let e=t.t.getWalletProvider();this.setupWalletConnect(e);break}}return s}async logout(){await this.ensureInitialized(),this.cleanupInvalidLoginState(),this.lastKnownConversion=`pending`,this.currentAccount=null,this.connected=!1,this.emit(`accountsChanged`,[]),this.emit(`disconnect`);try{this.walletConnectProvider&&await this.walletConnectProvider.disconnect()}catch(e){console.error(`Error disconnecting from WalletConnect:`,e)}return Z({method:e.r.logout},!1,this.walletMessageManager,this.internalEventEmitter)}destroy(){if(this.walletMessageManager.dispose(),this.internalEventEmitter.removeAllListeners(),this.uiMessageManager.removeAllListeners(),this.removeAllListeners(),this.connected=!1,this.walletConnectProvider&&=(this.walletConnectProvider.disconnect().catch(()=>void 0),null),typeof window<`u`){let e=window;(e.silk===this||e.silk?.walletMessageManager===this.walletMessageManager)&&delete e.silk,(e.waap===this||e.waap?.walletMessageManager===this.walletMessageManager)&&delete e.waap}M()}cleanupInvalidLoginState(){try{localStorage.removeItem(`${window.location.origin}-connected`)}catch(e){console.warn(`Could not clean up login state:`,e)}}setupWaaP(){let e={...this.persistedMethods,isWaaP:!0,on:this.on.bind(this),removeListener:this.removeListener.bind(this),request:this.request.bind(this)};window.silk=e,window.waap=e}setupInjectedWallet(e){let t={...this.persistedMethods,...e,isSilk:!0,connected:e.connected??!1,on:e.on?.bind(e)??(()=>{}),removeListener:e.removeListener?.bind(e)??(()=>{}),request:e.request.bind(e)};window.silk=t,window.waap=t}setupWalletConnect(e){let t={...this.persistedMethods,...e,isSilk:!0,connected:!0,on:e.on?.bind(e)??(()=>{}),removeListener:e.removeListener?.bind(e)??(()=>{}),request:e.request.bind(e)};window.silk=t,window.waap=t}setupAutoConnectInjected(e){let t={...this.persistedMethods,...e,isSilk:!1,connected:e.isConnected?.()??!1,on:e.on?.bind(e)??(()=>{}),removeListener:e.removeListener?.bind(e)??(()=>{}),request:e.request.bind(e)};window.silk=t,window.waap=t}setupAutoConnectWalletConnect(e){let t={...this.persistedMethods,...e,isSilk:!1,connected:!0,on:e.on?.bind(e)??(()=>{}),removeListener:e.removeListener?.bind(e)??(()=>{}),request:e.request.bind(e)};window.silk=t,window.waap=t}async attemptAutoConnect(e){if(e!==`eth_requestAccounts`&&e!==`eth_accounts`)return null;let n=this.getLoginMethod();if(n===`waap`||n===`human`){let e=await this.restorePersistedWaaPSession();if(e)return e}if(n===`injected`&&window.ethereum)try{return this.setupAutoConnectInjected(window.ethereum),window.ethereum.request({method:`eth_requestAccounts`})}catch(e){return console.warn(`Injected wallet auto-connect failed:`,e),this.cleanupInvalidLoginState(),null}else if(n===`walletconnect`)try{if(this.walletConnectProvider||=await t.t.getInstance(),await t.t.waitForReadyAndCheckConnection()){let e=t.t.getWalletProvider();return this.setupAutoConnectWalletConnect(e),e.request({method:`eth_requestAccounts`})}else return this.cleanupInvalidLoginState(),null}catch(e){return console.warn(`WalletConnect auto-connect failed:`,e),this.cleanupInvalidLoginState(),null}return null}restorePersistedWaaPSession(){return this.sessionProbe??=this.probeWaaPSession().finally(()=>{this.sessionProbe=null}),this.sessionProbe}async probeWaaPSession(){try{if(await this.ensureInitialized(),!(await this.getCanonicalAccountStatus()).authenticated)return this.cleanupInvalidLoginState(),null;let t=await Z({method:e.r.auto_conn,params:[window.location.origin]},!1,this.walletMessageManager,this.internalEventEmitter);if(Array.isArray(t)&&t.length>0)return this.currentAccount=t[0],this.connected=!0,localStorage.setItem(`${window.location.origin}-connected`,`waap`),this.setupWaaP(),t}catch(e){console.warn(`WaaP session probe failed:`,e)}return this.cleanupInvalidLoginState(),null}getLoginMethod(){if(typeof window>`u`||typeof localStorage>`u`)return null;try{let e=localStorage.getItem(`${window.location.origin}-connected`);if(!e)return null;if(![`waap`,`human`,`injected`,`walletconnect`].includes(e))return this.cleanupInvalidLoginState(),null;switch(e){case`injected`:return window.ethereum?`injected`:(this.cleanupInvalidLoginState(),null);case`walletconnect`:try{return t.t.isConnected()?`walletconnect`:(this.cleanupInvalidLoginState(),null)}catch{return this.cleanupInvalidLoginState(),null}case`waap`:return`waap`;case`human`:return`human`;default:return this.cleanupInvalidLoginState(),null}}catch(e){return console.warn(`Error checking login method:`,e),this.cleanupInvalidLoginState(),null}}async toggleDarkMode(){this.config.styles.darkMode=!this.config.styles.darkMode,await this.ensureInitialized();try{await Z({method:e.r.set_custom_config,params:[this.config]},!1,this.walletMessageManager,this.internalEventEmitter)}catch(e){console.error(`Error setting custom config in Silk iframe:`,e)}}async safe(){await this.ensureInitialized(),await Z({method:e.r.safe},!0,this.walletMessageManager,this.internalEventEmitter)}async orcid(){await this.ensureInitialized(),await Z({method:e.r.orcid},!0,this.walletMessageManager,this.internalEventEmitter)}async portal(t,n,r){await this.ensureInitialized();let i;switch(n){case`get`:i=t===`gastank`?e.r.gastank_get_settings:e.r.customization_get;break;case`update`:i=t===`gastank`?e.r.gastank_update_settings:e.r.customization_update;break;case`topup`:i=e.r.gastank_topup;break;case`init`:i=e.r.project_init;break}let a=n!==`get`&&t!==`customization`;return Z({method:i,params:[r,window.location.origin]},a,this.walletMessageManager,this.internalEventEmitter)}async requestEmail(){return await this.ensureInitialized(),Z({method:e.r.silk_requestEmail},!0,this.walletMessageManager,this.internalEventEmitter)}async requestPermissionToken(t){await this.ensureInitialized();let n={...t,walletMode:this.accountMode};return Z({method:e.r.waap_requestPermissionToken,params:[n]},!0,this.walletMessageManager,this.internalEventEmitter)}async getPermissionTokenStatus(t){return await this.ensureInitialized(),await Z({method:e.r.waap_getPermissionTokenStatus,params:[t]},!1,this.walletMessageManager,this.internalEventEmitter)}async clearPermissionToken(t){return await this.ensureInitialized(),await Z({method:e.r.waap_clearPermissionToken,params:[t]},!1,this.walletMessageManager,this.internalEventEmitter)}async requestSBT(t){return await this.ensureInitialized(),Z({method:e.r.silk_requestSbt,params:[t]},!0,this.walletMessageManager,this.internalEventEmitter)}async getLinkedAddresses(){return await this.walletMessageManager.pingIframe(),(await Z({method:e.r.waap_getLinkedAddresses,params:[]},!1,this.walletMessageManager,this.internalEventEmitter)).addresses}async linkAddress(n){if(typeof window>`u`)throw Error(`linkAddress requires a browser environment`);this.walletConnectProvider||await this.initializeWalletConnect(),t.t.isConnected()||(await this.walletConnectProvider.open({view:`Connect`}),await t.t.listenToAccountChangeEvent());let r=t.t.getWalletProvider();if(!r)throw Error(`No wallet provider available after connection`);let i=(await r.request({method:`eth_accounts`}))[0];if(!i||i.toLowerCase()!==n.toLowerCase())throw Error(`Connected wallet account ${i??`(none)`} does not match requested address ${n}`);await this.walletMessageManager.pingIframe();let a=await Z({method:e.r.waap_getLinkAddressNonce,params:[]},!1,this.walletMessageManager,this.internalEventEmitter),o=qe({domain:window.location.host,address:n,uri:window.location.origin,nonce:a.nonce,issuedAt:new Date().toISOString()}),s=await r.request({method:`personal_sign`,params:[o,n]});return(await Z({method:e.r.waap_linkAddress,params:[{message:o,signature:s}]},!1,this.walletMessageManager,this.internalEventEmitter)).addresses}async unlinkAddress(t){return await this.walletMessageManager.pingIframe(),(await Z({method:e.r.waap_unlinkAddress,params:[{address:t}]},!1,this.walletMessageManager,this.internalEventEmitter)).addresses}};function qe(e){let t=(0,r.getAddress)(e.address);return`${`${e.domain} wants you to sign in with your Ethereum account:\n${t}`}\n\nLink this wallet to your Human Wallet account.\n\n${[`URI: ${e.uri}`,`Version: 1`,`Chain ID: 1`,`Nonce: ${e.nonce}`,`Issued At: ${e.issuedAt}`].join(`
|
|
2
|
+
`)}`}const $=(e,n,r=!0,i=[`evm`],a=!0)=>{let{referralCode:o,config:s,project:c,asyncTxs:l,asyncSigning:u,deferIframe:d}=e,f=g(e),p=!!u&&!l;e.walletConnectProjectId&&t.t.setProjectId(e.walletConnectProjectId),u&&!l&&console.warn("[WaaP SDK] `asyncSigning` is deprecated. Use `asyncTxs` instead.");let m=typeof window>`u`||typeof document>`u`,h=()=>typeof window>`u`||typeof document>`u`?null:(j(e),se(n).contentWindow),_=d===!1&&!m,v=d===void 0&&!m,y=_?h():null;if(_&&!y)throw Error(`WaaP iframe does not exist on page`);let b=new Ke(y,o,s||{},c||{},f,l||u||!1,p,_?void 0:h,i);if(b.setAccountMode(n),!m&&r&&_&&b.initializeIframeContext().catch(()=>void 0),b.uiMessageManager.on(`show_modal`,()=>{Y()}),b.uiMessageManager.on(`hide_modal`,()=>{X()}),!m&&a&&(window.silk=b,window.waap=b),r&&v){let e=Re(b),t=b.destroy.bind(b);b.destroy=()=>{e(),t()}}return b},Je=(e={})=>$(e,`tap`);Object.defineProperty(exports,"C",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"S",{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,"T",{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,"_",{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return Be}}),Object.defineProperty(exports,"b",{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return Z}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return Ne}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return X}}),Object.defineProperty(exports,"g",{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return Oe}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return Ue}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return Fe}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return ke}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return $}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return ze}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return Y}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return Ke}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return Re}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return Je}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return Ie}}),Object.defineProperty(exports,"v",{enumerable:!0,get:function(){return se}}),Object.defineProperty(exports,"w",{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,"x",{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,"y",{enumerable:!0,get:function(){return j}});
|
package/dist/evm.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { P as WaaPSessionProtection, _ as validateWalletOrigin, a as PermissionTokenQuery, c as SilkEthereumProviderInterface, d as WaaPAccountStatus, f as WaaPLoginOptions, g as resolveWalletOrigin, h as WaaPWalletTargetOptions, i as PermissionTokenClearResult, l as SilkProvider, m as WaaPEnvironment, n as InitSilkOptions, o as PermissionTokenStatus, u as WaaPAccountMode } from "./types-BmCqyQtu.mjs";
|
|
2
|
-
import { a as CancelWaaPPreload, c as preloadWaaPOnIdle, d as WaaPIframeLifecyclePhase, f as getWaaPIframeDiagnostics, i as normalizeWaaPError, l as WaaPIframeDiagnostics, n as WaaPErrorCode, o as WaaPIdlePreloadOptions, p as subscribeWaaPIframeLifecycle, r as WaaPOperationMetadata, s as WaaPPreloadTarget, t as WaaPError, u as WaaPIframeLifecycleEvent } from "./WaaPError-
|
|
2
|
+
import { a as CancelWaaPPreload, c as preloadWaaPOnIdle, d as WaaPIframeLifecyclePhase, f as getWaaPIframeDiagnostics, i as normalizeWaaPError, l as WaaPIframeDiagnostics, n as WaaPErrorCode, o as WaaPIdlePreloadOptions, p as subscribeWaaPIframeLifecycle, r as WaaPOperationMetadata, s as WaaPPreloadTarget, t as WaaPError, u as WaaPIframeLifecycleEvent } from "./WaaPError-BjukImOz.mjs";
|
|
3
3
|
//#region src/ui/evm.d.ts
|
|
4
4
|
/** Initialize the TAP t1 EVM EIP-1193 provider. */
|
|
5
5
|
declare const initWaaP: (params?: InitSilkOptions) => SilkEthereumProviderInterface;
|
package/dist/evm.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { P as WaaPSessionProtection, _ as validateWalletOrigin, a as PermissionTokenQuery, c as SilkEthereumProviderInterface, d as WaaPAccountStatus, f as WaaPLoginOptions, g as resolveWalletOrigin, h as WaaPWalletTargetOptions, i as PermissionTokenClearResult, l as SilkProvider, m as WaaPEnvironment, n as InitSilkOptions, o as PermissionTokenStatus, u as WaaPAccountMode } from "./types-BmCqyQtu.js";
|
|
2
|
-
import { a as CancelWaaPPreload, c as preloadWaaPOnIdle, d as WaaPIframeLifecyclePhase, f as getWaaPIframeDiagnostics, i as normalizeWaaPError, l as WaaPIframeDiagnostics, n as WaaPErrorCode, o as WaaPIdlePreloadOptions, p as subscribeWaaPIframeLifecycle, r as WaaPOperationMetadata, s as WaaPPreloadTarget, t as WaaPError, u as WaaPIframeLifecycleEvent } from "./WaaPError-
|
|
2
|
+
import { a as CancelWaaPPreload, c as preloadWaaPOnIdle, d as WaaPIframeLifecyclePhase, f as getWaaPIframeDiagnostics, i as normalizeWaaPError, l as WaaPIframeDiagnostics, n as WaaPErrorCode, o as WaaPIdlePreloadOptions, p as subscribeWaaPIframeLifecycle, r as WaaPOperationMetadata, s as WaaPPreloadTarget, t as WaaPError, u as WaaPIframeLifecycleEvent } from "./WaaPError-CMOAWUlN.js";
|
|
3
3
|
//#region src/ui/evm.d.ts
|
|
4
4
|
/** Initialize the TAP t1 EVM EIP-1193 provider. */
|
|
5
5
|
declare const initWaaP: (params?: InitSilkOptions) => SilkEthereumProviderInterface;
|
package/dist/evm.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./evm-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./evm-D_LHHo3z.js");exports.WaaPError=e.w,exports.getWaaPIframeDiagnostics=e.d,exports.initWaaP=e.t,exports.normalizeWaaPError=e.T,exports.preloadWaaPOnIdle=e.s,exports.resolveWalletOrigin=e.x,exports.subscribeWaaPIframeLifecycle=e.m,exports.validateWalletOrigin=e.S;
|
package/dist/evm.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{S as e,T as t,d as n,m as r,s as i,t as a,w as o,x as s}from"./evm-
|
|
1
|
+
import{S as e,T as t,d as n,m as r,s as i,t as a,w as o,x as s}from"./evm-9r6LecIW.mjs";export{o as WaaPError,n as getWaaPIframeDiagnostics,a as initWaaP,t as normalizeWaaPError,i as preloadWaaPOnIdle,s as resolveWalletOrigin,r as subscribeWaaPIframeLifecycle,e as validateWalletOrigin};
|
package/dist/index.d.mts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { A as StylesConfig, C as ProjectConfig, M as SILK_METHOD, P as WaaPSessionProtection, S as LinkedAddressesResult, T as RequestPermissionTokenResult, _ as validateWalletOrigin, a as PermissionTokenQuery, b as CustomConfig, c as SilkEthereumProviderInterface, d as WaaPAccountStatus, f as WaaPLoginOptions, g as resolveWalletOrigin, h as WaaPWalletTargetOptions, i as PermissionTokenClearResult, j as JSON_RPC_METHOD, k as SocialProvider, l as SilkProvider, m as WaaPEnvironment, n as InitSilkOptions, o as PermissionTokenStatus, p as WaaPSessionExtension, r as LoginResponse, s as RequestArguments, t as EthereumProviderInterface, u as WaaPAccountMode, v as AuthenticationMethod, w as RequestPermissionTokenParams, x as LinkAddressNonceResult, y as CredentialType } from "./types-BmCqyQtu.mjs";
|
|
2
2
|
import { _ as WAAP_EVENTS, a as useWaapTransaction, c as AsyncEventType, d as AsyncSignPendingEvent, f as AsyncTxConfirmedEvent, g as SilkOptions, h as AsyncTxResponse, i as UseWaapTransactionReturn, l as AsyncSignCompleteEvent, m as AsyncTxPendingEvent, n as TxState, o as Async2faRequiredEvent, p as AsyncTxFailedEvent, r as UseWaapTransactionOptions, s as AsyncEvent, t as useWaapAuth, u as AsyncSignFailedEvent } from "./useWaapAuth-vJAk2n_I.mjs";
|
|
3
|
-
import { a as CancelWaaPPreload, c as preloadWaaPOnIdle, d as WaaPIframeLifecyclePhase, f as getWaaPIframeDiagnostics, h as WalletMessageManager, i as normalizeWaaPError, l as WaaPIframeDiagnostics, m as PostSilkRequestArgs, n as WaaPErrorCode, o as WaaPIdlePreloadOptions, p as subscribeWaaPIframeLifecycle, r as WaaPOperationMetadata, s as WaaPPreloadTarget, t as WaaPError, u as WaaPIframeLifecycleEvent } from "./WaaPError-
|
|
3
|
+
import { a as CancelWaaPPreload, c as preloadWaaPOnIdle, d as WaaPIframeLifecyclePhase, f as getWaaPIframeDiagnostics, h as WalletMessageManager, i as normalizeWaaPError, l as WaaPIframeDiagnostics, m as PostSilkRequestArgs, n as WaaPErrorCode, o as WaaPIdlePreloadOptions, p as subscribeWaaPIframeLifecycle, r as WaaPOperationMetadata, s as WaaPPreloadTarget, t as WaaPError, u as WaaPIframeLifecycleEvent } from "./WaaPError-BjukImOz.mjs";
|
|
4
4
|
import { $ as SuiSignTransactionInput, A as SolanaSignTransactionOutput, B as InitWaaPSuiOptions, C as SolanaConnectInput, D as SolanaSignMessageInput, E as SolanaSignAndSendTransactionOutput, F as SolanaStandardSignTransactionInput, H as SuiChain, I as SolanaStandardSignTransactionOutput, J as SuiSignAndExecuteTransactionOutput, M as SolanaStandardSignAndSendTransactionOutput, N as SolanaStandardSignMessageInput, O as SolanaSignMessageOutput, P as SolanaStandardSignMessageOutput, R as WaaPSolanaProviderInterface, S as SolanaChain, T as SolanaSignAndSendTransactionInput, U as SuiConnectInput, V as SuiAccount, W as SuiConnectOutput, X as SuiSignPersonalMessageOutput, Y as SuiSignPersonalMessageInput, _ as initWaaPSquid, a as WaaPChain, b as InitWaaPSolanaOptions, c as WaaPSquidLifecycle, d as WaaPSquidStatusState, et as SuiSignTransactionOutput, f as WaaPTap, g as initWaaPSolana, h as initWaaPMulti, i as InitWaaPTapOptions, it as WaaPSuiWalletInterface, j as SolanaStandardSignAndSendTransactionInput, k as SolanaSignTransactionInput, l as WaaPSquidSession, m as initWaaP, n as InitWaaPOptions, o as WaaPSquid, p as WaaPTapSession, q as SuiSignAndExecuteTransactionInput, r as InitWaaPSquidOptions, rt as WaaPSuiWalletFeatures, s as WaaPSquidChain, t as InitWaaPMultiOptions, tt as SuiTransactionInput, u as WaaPSquidStatus, v as initWaaPSui, w as SolanaConnectOutput, x as SolanaAccount, y as initWaaPTap, z as WaaPSolanaWalletFeatures } from "./index-C0mLQs_a.mjs";
|
|
5
5
|
import { t as SilkWalletConnect } from "./WalletConnect-BTT6LtUu.mjs";
|
|
6
6
|
import { n as UIMessageManager, r as UI_EVENT_NAMES } from "./initializerContext-_YjbVTiL.mjs";
|
|
@@ -266,10 +266,6 @@ interface WaaPRequestOptions {
|
|
|
266
266
|
}
|
|
267
267
|
/** Whether a standard EIP-1193 request must show wallet UI. */
|
|
268
268
|
declare const rpcMethodRequiresUI: (method: JSON_RPC_METHOD) => boolean;
|
|
269
|
-
/**
|
|
270
|
-
* Send request to wallet in iframe, and upon receiving the wallet's response
|
|
271
|
-
* or error, hide modal and return wallet's response or throw wallet's error.
|
|
272
|
-
*/
|
|
273
269
|
declare function handleWalletRequestAndResponse(args: RequestArguments, interactionRequired: boolean, walletMessageManager: WalletMessageManager, internalProviderEventEmitter: EventEmitter, silkOptions?: WaaPRequestOptions): Promise<any>;
|
|
274
270
|
//#endregion
|
|
275
271
|
//#region ../waap-core/dist/index-DrVqylZO.d.ts
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { A as StylesConfig, C as ProjectConfig, M as SILK_METHOD, P as WaaPSessionProtection, S as LinkedAddressesResult, T as RequestPermissionTokenResult, _ as validateWalletOrigin, a as PermissionTokenQuery, b as CustomConfig, c as SilkEthereumProviderInterface, d as WaaPAccountStatus, f as WaaPLoginOptions, g as resolveWalletOrigin, h as WaaPWalletTargetOptions, i as PermissionTokenClearResult, j as JSON_RPC_METHOD, k as SocialProvider, l as SilkProvider, m as WaaPEnvironment, n as InitSilkOptions, o as PermissionTokenStatus, p as WaaPSessionExtension, r as LoginResponse, s as RequestArguments, t as EthereumProviderInterface, u as WaaPAccountMode, v as AuthenticationMethod, w as RequestPermissionTokenParams, x as LinkAddressNonceResult, y as CredentialType } from "./types-BmCqyQtu.js";
|
|
2
2
|
import { _ as WAAP_EVENTS, a as useWaapTransaction, c as AsyncEventType, d as AsyncSignPendingEvent, f as AsyncTxConfirmedEvent, g as SilkOptions, h as AsyncTxResponse, i as UseWaapTransactionReturn, l as AsyncSignCompleteEvent, m as AsyncTxPendingEvent, n as TxState, o as Async2faRequiredEvent, p as AsyncTxFailedEvent, r as UseWaapTransactionOptions, s as AsyncEvent, t as useWaapAuth, u as AsyncSignFailedEvent } from "./useWaapAuth-DgYO5KxO.js";
|
|
3
|
-
import { a as CancelWaaPPreload, c as preloadWaaPOnIdle, d as WaaPIframeLifecyclePhase, f as getWaaPIframeDiagnostics, h as WalletMessageManager, i as normalizeWaaPError, l as WaaPIframeDiagnostics, m as PostSilkRequestArgs, n as WaaPErrorCode, o as WaaPIdlePreloadOptions, p as subscribeWaaPIframeLifecycle, r as WaaPOperationMetadata, s as WaaPPreloadTarget, t as WaaPError, u as WaaPIframeLifecycleEvent } from "./WaaPError-
|
|
3
|
+
import { a as CancelWaaPPreload, c as preloadWaaPOnIdle, d as WaaPIframeLifecyclePhase, f as getWaaPIframeDiagnostics, h as WalletMessageManager, i as normalizeWaaPError, l as WaaPIframeDiagnostics, m as PostSilkRequestArgs, n as WaaPErrorCode, o as WaaPIdlePreloadOptions, p as subscribeWaaPIframeLifecycle, r as WaaPOperationMetadata, s as WaaPPreloadTarget, t as WaaPError, u as WaaPIframeLifecycleEvent } from "./WaaPError-CMOAWUlN.js";
|
|
4
4
|
import { $ as SuiSignTransactionInput, A as SolanaSignTransactionOutput, B as InitWaaPSuiOptions, C as SolanaConnectInput, D as SolanaSignMessageInput, E as SolanaSignAndSendTransactionOutput, F as SolanaStandardSignTransactionInput, H as SuiChain, I as SolanaStandardSignTransactionOutput, J as SuiSignAndExecuteTransactionOutput, M as SolanaStandardSignAndSendTransactionOutput, N as SolanaStandardSignMessageInput, O as SolanaSignMessageOutput, P as SolanaStandardSignMessageOutput, R as WaaPSolanaProviderInterface, S as SolanaChain, T as SolanaSignAndSendTransactionInput, U as SuiConnectInput, V as SuiAccount, W as SuiConnectOutput, X as SuiSignPersonalMessageOutput, Y as SuiSignPersonalMessageInput, _ as initWaaPSquid, a as WaaPChain, b as InitWaaPSolanaOptions, c as WaaPSquidLifecycle, d as WaaPSquidStatusState, et as SuiSignTransactionOutput, f as WaaPTap, g as initWaaPSolana, h as initWaaPMulti, i as InitWaaPTapOptions, it as WaaPSuiWalletInterface, j as SolanaStandardSignAndSendTransactionInput, k as SolanaSignTransactionInput, l as WaaPSquidSession, m as initWaaP, n as InitWaaPOptions, o as WaaPSquid, p as WaaPTapSession, q as SuiSignAndExecuteTransactionInput, r as InitWaaPSquidOptions, rt as WaaPSuiWalletFeatures, s as WaaPSquidChain, t as InitWaaPMultiOptions, tt as SuiTransactionInput, u as WaaPSquidStatus, v as initWaaPSui, w as SolanaConnectOutput, x as SolanaAccount, y as initWaaPTap, z as WaaPSolanaWalletFeatures } from "./index-DOIss_GK.js";
|
|
5
5
|
import { t as SilkWalletConnect } from "./WalletConnect-BTT6LtUu.js";
|
|
6
6
|
import { n as UIMessageManager, r as UI_EVENT_NAMES } from "./initializerContext-DIrqEE6B.js";
|
|
@@ -266,10 +266,6 @@ interface WaaPRequestOptions {
|
|
|
266
266
|
}
|
|
267
267
|
/** Whether a standard EIP-1193 request must show wallet UI. */
|
|
268
268
|
declare const rpcMethodRequiresUI: (method: JSON_RPC_METHOD) => boolean;
|
|
269
|
-
/**
|
|
270
|
-
* Send request to wallet in iframe, and upon receiving the wallet's response
|
|
271
|
-
* or error, hide modal and return wallet's response or throw wallet's error.
|
|
272
|
-
*/
|
|
273
269
|
declare function handleWalletRequestAndResponse(args: RequestArguments, interactionRequired: boolean, walletMessageManager: WalletMessageManager, internalProviderEventEmitter: EventEmitter, silkOptions?: WaaPRequestOptions): Promise<any>;
|
|
274
270
|
//#endregion
|
|
275
271
|
//#region ../waap-core/dist/index-DrVqylZO.d.ts
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./esm-DFwVZkjo.js"),t=require("./asyncSigning-B0KrmKk7.js"),n=require("./evm-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./esm-DFwVZkjo.js"),t=require("./asyncSigning-B0KrmKk7.js"),n=require("./evm-D_LHHo3z.js"),r=require("./ui-BjcwM6px.js"),i=require("./WalletConnect-Dn40Omgo.js"),a=require("./register-DgN7qh23.js"),o=require("./register-CodxV1XG.js"),s=require("./useWaapAuth-BPvve-_3.js");let c=require("events");var l=class extends c.EventEmitter{constructor(e){super(),this.isSilk=!0,this.connected=!1,this.config={...n.i,...e||{}}}sendToExtension(e){return new Promise((t,n)=>{window.postMessage({type:`FROM_PAGE`,request:e},`*`),window.addEventListener(`message`,e=>{e.data.type===`FROM_EXTENSION`&&(e.data.error?n(e.data.error):t(e.data.result))})})}async request(t){if(!Object.keys(e.t).includes(t.method))return Promise.reject({error:`Not implemented (${t.method})`});let n=await this.sendToExtension(t);return(t.method===e.t.wallet_switchEthereumChain||t.method===e.t.wallet_addEthereumChain)&&n===null&&this.emit(`chainChanged`,t.params?.[0]?.chainId),n}async enable(){return this.request({method:`eth_requestAccounts`})}isConnected(){return this.connected}async login(){return this.sendToExtension({method:e.r.login})}async requestSBT(t){return this.sendToExtension({method:e.r.silk_requestSbt,params:[t]})}async toggleDarkMode(){this.config.styles.darkMode=!this.config.styles.darkMode,await this.sendToExtension({method:e.r.set_custom_config,params:[this.config]})}async safe(){return this.sendToExtension({method:e.r.safe})}};
|
|
2
2
|
/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */
|
|
3
3
|
function u(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function d(e){if(!Number.isSafeInteger(e)||e<0)throw Error(`positive integer expected, got `+e)}function f(e,...t){if(!u(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 p(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 m(e,t){f(e);let n=t.outputLen;if(e.length<n)throw Error(`digestInto() expects output buffer of length at least `+n)}function ee(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function h(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function g(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function _(e,t){return e<<32-t|e>>>t}const te=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function ne(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function re(e){for(let t=0;t<e.length;t++)e[t]=ne(e[t]);return e}const v=te?e=>e:re,ie=typeof Uint8Array.from([]).toHex==`function`&&typeof Uint8Array.fromHex==`function`,ae=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`));function oe(e){if(f(e),ie)return e.toHex();let t=``;for(let n=0;n<e.length;n++)t+=ae[e[n]];return t}function y(e){if(typeof e!=`string`)throw Error(`string expected`);return new Uint8Array(new TextEncoder().encode(e))}function b(e){return typeof e==`string`&&(e=y(e)),f(e),e}var x=class{};function S(e){let t=t=>e().update(b(t)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function se(e){if(e.length>=255)throw TypeError(`Alphabet too long`);let t=new Uint8Array(256);for(let e=0;e<t.length;e++)t[e]=255;for(let n=0;n<e.length;n++){let r=e.charAt(n),i=r.charCodeAt(0);if(t[i]!==255)throw TypeError(r+` is ambiguous`);t[i]=n}let n=e.length,r=e.charAt(0),i=Math.log(n)/Math.log(256),a=Math.log(256)/Math.log(n);function o(t){if(t instanceof Uint8Array||(ArrayBuffer.isView(t)?t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength):Array.isArray(t)&&(t=Uint8Array.from(t))),!(t instanceof Uint8Array))throw TypeError(`Expected Uint8Array`);if(t.length===0)return``;let i=0,o=0,s=0,c=t.length;for(;s!==c&&t[s]===0;)s++,i++;let l=(c-s)*a+1>>>0,u=new Uint8Array(l);for(;s!==c;){let e=t[s],r=0;for(let t=l-1;(e!==0||r<o)&&t!==-1;t--,r++)e+=256*u[t]>>>0,u[t]=e%n>>>0,e=e/n>>>0;if(e!==0)throw Error(`Non-zero carry`);o=r,s++}let d=l-o;for(;d!==l&&u[d]===0;)d++;let f=r.repeat(i);for(;d<l;++d)f+=e.charAt(u[d]);return f}function s(e){if(typeof e!=`string`)throw TypeError(`Expected String`);if(e.length===0)return new Uint8Array;let a=0,o=0,s=0;for(;e[a]===r;)o++,a++;let c=(e.length-a)*i+1>>>0,l=new Uint8Array(c);for(;a<e.length;){let r=e.charCodeAt(a);if(r>255)return;let i=t[r];if(i===255)return;let o=0;for(let e=c-1;(i!==0||o<s)&&e!==-1;e--,o++)i+=n*l[e]>>>0,l[e]=i%256>>>0,i=i/256>>>0;if(i!==0)throw Error(`Non-zero carry`);s=o,a++}let u=c-s;for(;u!==c&&l[u]===0;)u++;let d=new Uint8Array(o+(c-u)),f=o;for(;u!==c;)d[f++]=l[u++];return d}function c(e){let t=s(e);if(t)return t;throw Error(`Non-base`+n+` character`)}return{encode:o,decodeUnsafe:s,decode:c}}var C=se(`123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz`);function ce(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 le(e,t,n){return e&t^~e&n}function ue(e,t,n){return e&t^e&n^t&n}var de=class extends x{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=g(this.buffer)}update(e){p(this),e=b(e),f(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=g(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){p(this),m(e,this),this.finished=!0;let{buffer:t,view:n,blockLen:r,isLE:i}=this,{pos:a}=this;t[a++]=128,h(this.buffer.subarray(a)),this.padOffset>r-a&&(this.process(n,0),a=0);for(let e=a;e<r;e++)t[e]=0;ce(n,r-8,BigInt(this.length*8),i),this.process(n,0);let o=g(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()}};const w=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),T=BigInt(2**32-1),E=BigInt(32);function fe(e,t=!1){return t?{h:Number(e&T),l:Number(e>>E&T)}:{h:Number(e>>E&T)|0,l:Number(e&T)|0}}function pe(e,t=!1){let n=e.length,r=new Uint32Array(n),i=new Uint32Array(n);for(let a=0;a<n;a++){let{h:n,l:o}=fe(e[a],t);[r[a],i[a]]=[n,o]}return[r,i]}const me=(e,t,n)=>e<<n|t>>>32-n,he=(e,t,n)=>t<<n|e>>>32-n,ge=(e,t,n)=>t<<n-32|e>>>64-n,_e=(e,t,n)=>e<<n-32|t>>>64-n,ve=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]),D=new Uint32Array(64);var ye=class extends de{constructor(e=32){super(64,e,8,!1),this.A=w[0]|0,this.B=w[1]|0,this.C=w[2]|0,this.D=w[3]|0,this.E=w[4]|0,this.F=w[5]|0,this.G=w[6]|0,this.H=w[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)D[n]=e.getUint32(t,!1);for(let e=16;e<64;e++){let t=D[e-15],n=D[e-2],r=_(t,7)^_(t,18)^t>>>3,i=_(n,17)^_(n,19)^n>>>10;D[e]=i+D[e-7]+r+D[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=_(o,6)^_(o,11)^_(o,25),u=l+t+le(o,s,c)+ve[e]+D[e]|0,d=(_(n,2)^_(n,13)^_(n,22))+ue(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(){h(D)}destroy(){this.set(0,0,0,0,0,0,0,0),h(this.buffer)}};const O=S(()=>new ye);function be(e,t){return e.exec(t)?.groups}const k=/^tuple(?<array>(\[(\d*)\])*)$/;function A(e){let t=e.type;if(k.test(e.type)&&`components`in e){t=`(`;let n=e.components.length;for(let r=0;r<n;r++){let i=e.components[r];t+=A(i),r<n-1&&(t+=`, `)}let r=be(k,e.type);return t+=`)${r?.array||``}`,A({...e,type:t})}return`indexed`in e&&e.indexed&&(t=`${t} indexed`),e.name?`${t} ${e.name}`:t}function j(e){let t=``,n=e.length;for(let r=0;r<n;r++){let i=e[r];t+=A(i),r!==n-1&&(t+=`, `)}return t}function xe(e){return e.type===`function`?`function ${e.name}(${j(e.inputs)})${e.stateMutability&&e.stateMutability!==`nonpayable`?` ${e.stateMutability}`:``}${e.outputs?.length?` returns (${j(e.outputs)})`:``}`:e.type===`event`?`event ${e.name}(${j(e.inputs)})`:e.type===`error`?`error ${e.name}(${j(e.inputs)})`:e.type===`constructor`?`constructor(${j(e.inputs)})${e.stateMutability===`payable`?` payable`:``}`:e.type===`fallback`?`fallback() external${e.stateMutability===`payable`?` payable`:``}`:`receive() external payable`}function M(e,{strict:t=!0}={}){return!e||typeof e!=`string`?!1:t?/^0x[0-9a-fA-F]*$/.test(e):e.startsWith(`0x`)}function N(e){return M(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}const P=`2.55.2`;let F={getDocsUrl:({docsBaseUrl:e,docsPath:t=``,docsSlug:n})=>t?`${e??`https://viem.sh`}${t}${n?`#${n}`:``}`:void 0,version:`viem@${P}`};var I=class e extends Error{constructor(t,n={}){let r=n.cause instanceof e?n.cause.details:n.cause?.message?n.cause.message:n.details,i=n.cause instanceof e&&n.cause.docsPath||n.docsPath,a=F.getDocsUrl?.({...n,docsPath:i}),o=[t||`An error occurred.`,``,...n.metaMessages?[...n.metaMessages,``]:[],...a?[`Docs: ${a}`]:[],...r?[`Details: ${r}`]:[],...F.version?[`Version: ${F.version}`]:[]].join(`
|
|
4
4
|
`);super(o,n.cause?{cause:n.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`BaseError`}),this.details=r,this.docsPath=i,this.metaMessages=n.metaMessages,this.name=n.name??this.name,this.shortMessage=t,this.version=P}walk(e){return L(this,e)}};function L(e,t){return t?.(e)?e:e&&typeof e==`object`&&`cause`in e&&e.cause!==void 0?L(e.cause,t):t?null:e}var R=class extends I{constructor({offset:e,position:t,size:n}){super(`Slice ${t===`start`?`starting`:`ending`} at offset "${e}" is out-of-bounds (size: ${n}).`,{name:`SliceOffsetOutOfBoundsError`})}},z=class extends I{constructor({size:e,targetSize:t,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (${e}) exceeds padding size (${t}).`,{name:`SizeExceedsPaddingSizeError`})}};function B(e,{dir:t,size:n=32}={}){return typeof e==`string`?Se(e,{dir:t,size:n}):Ce(e,{dir:t,size:n})}function Se(e,{dir:t,size:n=32}={}){if(n===null)return e;let r=e.replace(`0x`,``);if(r.length>n*2)throw new z({size:Math.ceil(r.length/2),targetSize:n,type:`hex`});return`0x${r[t===`right`?`padEnd`:`padStart`](n*2,`0`)}`}function Ce(e,{dir:t,size:n=32}={}){if(n===null)return e;if(e.length>n)throw new z({size:e.length,targetSize:n,type:`bytes`});let r=new Uint8Array(n);for(let i=0;i<n;i++){let a=t===`right`;r[a?i:n-i-1]=e[a?i:e.length-i-1]}return r}var we=class extends I{constructor({max:e,min:t,signed:n,size:r,value:i}){super(`Number "${i}" is not in safe ${r?`${r*8}-bit ${n?`signed`:`unsigned`} `:``}integer range ${e?`(${t} to ${e})`:`(above ${t})`}`,{name:`IntegerOutOfRangeError`})}},Te=class extends I{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed ${t} bytes. Given size: ${e} bytes.`,{name:`SizeOverflowError`})}};function V(e,{size:t}){if(N(e)>t)throw new Te({givenSize:N(e),maxSize:t})}const Ee=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`));function De(e,t={}){return typeof e==`number`||typeof e==`bigint`?U(e,t):typeof e==`string`?Ae(e,t):typeof e==`boolean`?Oe(e,t):H(e,t)}function Oe(e,t={}){let n=`0x${Number(e)}`;return typeof t.size==`number`?(V(n,{size:t.size}),B(n,{size:t.size})):n}function H(e,t={}){let n=``;for(let t=0;t<e.length;t++)n+=Ee[e[t]];let r=`0x${n}`;return typeof t.size==`number`?(V(r,{size:t.size}),B(r,{dir:`right`,size:t.size})):r}function U(e,t={}){let{signed:n,size:r}=t,i=BigInt(e),a;r?a=n?(1n<<BigInt(r)*8n-1n)-1n:2n**(BigInt(r)*8n)-1n:typeof e==`number`&&(a=BigInt(2**53-1));let o=typeof a==`bigint`&&n?-a-1n:0;if(a&&i>a||i<o){let t=typeof e==`bigint`?`n`:``;throw new we({max:a?`${a}${t}`:void 0,min:`${o}${t}`,signed:n,size:r,value:`${e}${t}`})}let s=`0x${(n&&i<0?(1n<<BigInt(r*8))+BigInt(i):i).toString(16)}`;return r?B(s,{size:r}):s}const ke=new TextEncoder;function Ae(e,t={}){return H(ke.encode(e),t)}const je=new TextEncoder;function W(e,t={}){return typeof e==`number`||typeof e==`bigint`?Ne(e,t):typeof e==`boolean`?Me(e,t):M(e)?q(e,t):J(e,t)}function Me(e,t={}){let n=new Uint8Array(1);return n[0]=Number(e),typeof t.size==`number`?(V(n,{size:t.size}),B(n,{size:t.size})):n}const G={zero:48,nine:57,A:65,F:70,a:97,f:102};function K(e){if(e>=G.zero&&e<=G.nine)return e-G.zero;if(e>=G.A&&e<=G.F)return e-(G.A-10);if(e>=G.a&&e<=G.f)return e-(G.a-10)}function q(e,t={}){let n=e;t.size&&(V(n,{size:t.size}),n=B(n,{dir:`right`,size:t.size}));let r=n.slice(2);r.length%2&&(r=`0${r}`);let i=r.length/2,a=new Uint8Array(i);for(let e=0,t=0;e<i;e++){let n=K(r.charCodeAt(t++)),i=K(r.charCodeAt(t++));if(n===void 0||i===void 0)throw new I(`Invalid byte sequence ("${r[t-2]}${r[t-1]}" in "${r}").`);a[e]=n*16+i}return a}function Ne(e,t){return q(U(e,t))}function J(e,t={}){let n=je.encode(e);return typeof t.size==`number`?(V(n,{size:t.size}),B(n,{dir:`right`,size:t.size})):n}const Pe=BigInt(0),Y=BigInt(1),Fe=BigInt(2),Ie=BigInt(7),Le=BigInt(256),Re=BigInt(113),X=[],ze=[],Be=[];for(let e=0,t=Y,n=1,r=0;e<24;e++){[n,r]=[r,(2*n+3*r)%5],X.push(2*(5*r+n)),ze.push((e+1)*(e+2)/2%64);let i=Pe;for(let e=0;e<7;e++)t=(t<<Y^(t>>Ie)*Re)%Le,t&Fe&&(i^=Y<<(Y<<BigInt(e))-Y);Be.push(i)}const Ve=pe(Be,!0),He=Ve[0],Ue=Ve[1],We=(e,t,n)=>n>32?ge(e,t,n):me(e,t,n),Ge=(e,t,n)=>n>32?_e(e,t,n):he(e,t,n);function Ke(e,t=24){let n=new Uint32Array(10);for(let r=24-t;r<24;r++){for(let t=0;t<10;t++)n[t]=e[t]^e[t+10]^e[t+20]^e[t+30]^e[t+40];for(let t=0;t<10;t+=2){let r=(t+8)%10,i=(t+2)%10,a=n[i],o=n[i+1],s=We(a,o,1)^n[r],c=Ge(a,o,1)^n[r+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=ze[n],a=We(t,i,r),o=Ge(t,i,r),s=X[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 r=0;r<10;r++)n[r]=e[t+r];for(let r=0;r<10;r++)e[t+r]^=~n[(r+2)%10]&n[(r+4)%10]}e[0]^=He[r],e[1]^=Ue[r]}h(n)}var qe=class e extends x{constructor(e,t,n,r=!1,i=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=n,this.enableXOF=r,this.rounds=i,d(n),!(0<e&&e<200))throw Error(`only keccak-f1600 function is supported`);this.state=new Uint8Array(200),this.state32=ee(this.state)}clone(){return this._cloneInto()}keccak(){v(this.state32),Ke(this.state32,this.rounds),v(this.state32),this.posOut=0,this.pos=0}update(e){p(this),e=b(e),f(e);let{blockLen:t,state:n}=this,r=e.length;for(let i=0;i<r;){let a=Math.min(t-this.pos,r-i);for(let t=0;t<a;t++)n[this.pos++]^=e[i++];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){p(this,!1),f(e),this.finish();let t=this.state,{blockLen:n}=this;for(let r=0,i=e.length;r<i;){this.posOut>=n&&this.keccak();let a=Math.min(n-this.posOut,i-r);e.set(t.subarray(this.posOut,this.posOut+a),r),this.posOut+=a,r+=a}return e}xofInto(e){if(!this.enableXOF)throw Error(`XOF is not possible for this instance`);return this.writeInto(e)}xof(e){return d(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(m(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,h(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}};const Je=((e,t,n)=>S(()=>new qe(t,e,n)))(1,136,256/8);function Ye(e,t){let n=t||`hex`,r=Je(M(e,{strict:!1})?W(e):e);return n===`bytes`?r:De(r)}const Xe=e=>Ye(W(e));function Ze(e){return Xe(e)}function Qe(e){let t=!0,n=``,r=0,i=``,a=!1;for(let o=0;o<e.length;o++){let s=e[o];if([`(`,`)`,`,`].includes(s)&&(t=!0),s===`(`&&r++,s===`)`&&r--,t){if(r===0){if(s===` `&&[`event`,`function`,``].includes(i))i=``;else if(i+=s,s===`)`){a=!0;break}continue}if(s===` `){e[o-1]!==`,`&&n!==`,`&&n!==`,(`&&(n=``,t=!1);continue}i+=s,n+=s}}if(!a)throw new I(`Unable to normalize signature.`);return i}const $e=e=>Qe(typeof e==`string`?e:xe(e));function et(e){return Ze($e(e))}var tt=class extends Map{constructor(e){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e}get(e){let t=super.get(e);return super.has(e)&&(super.delete(e),super.set(e,t)),t}set(e,t){if(super.has(e)&&super.delete(e),super.set(e,t),this.maxSize&&this.size>this.maxSize){let e=super.keys().next().value;e!==void 0&&super.delete(e)}return this}};const Z=new tt(8192);function nt(e,t){if(Z.has(`${e}.${t}`))return Z.get(`${e}.${t}`);let n=t?`${t}${e.toLowerCase()}`:e.substring(2).toLowerCase(),r=Ye(J(n),`bytes`),i=(t?n.substring(`${t}0x`.length):n).split(``);for(let e=0;e<40;e+=2)r[e>>1]>>4>=8&&i[e]&&(i[e]=i[e].toUpperCase()),(r[e>>1]&15)>=8&&i[e+1]&&(i[e+1]=i[e+1].toUpperCase());let a=`0x${i.join(``)}`;return Z.set(`${e}.${t}`,a),a}const rt=/^0x[a-fA-F0-9]{40}$/,Q=new tt(8192);function it(e,t){let{strict:n=!0}=t??{},r=`${e}.${n}`;if(Q.has(r))return Q.get(r);let i=rt.test(e)?e.toLowerCase()===e||!n||nt(e)===e:!1;return Q.set(r,i),i}function at(e,t,n,{strict:r}={}){return M(e,{strict:!1})?lt(e,t,n,{strict:r}):ct(e,t,n,{strict:r})}function ot(e,t){if(typeof t==`number`&&t>0&&t>N(e)-1)throw new R({offset:t,position:`start`,size:N(e)})}function st(e,t,n){if(typeof t==`number`&&typeof n==`number`&&N(e)!==n-t)throw new R({offset:n,position:`end`,size:N(e)})}function ct(e,t,n,{strict:r}={}){ot(e,t);let i=e.slice(t,n);return r&&st(i,t,n),i}function lt(e,t,n,{strict:r}={}){ot(e,t);let i=`0x${e.replace(`0x`,``).slice((t??0)*2,(n??e.length)*2)}`;return r&&st(i,t,n),i}const ut=e=>at(et(e),0,4),dt=/^0x[0-9a-fA-F]{1,64}$/,ft=/^[A-Za-z_][A-Za-z0-9_]*$/;function pt(e){return`0x${e.slice(2).toLowerCase().padStart(64,`0`)}`}function mt(e){return e.indexOf(`:`)}function ht(e){try{let t=C.decode(e);return t.length===32?C.encode(t):null}catch{return null}}function gt(e,t){if(t.length===0||new TextEncoder().encode(t).length>512||t.trim()!==t)return null;let n=mt(t),r=n===-1?t:t.slice(0,n),i=n===-1?null:t.slice(n+1);if(i===``)return null;if(e.startsWith(`evm:`)){if(!it(r))return null;let e=r.toLowerCase();if(i===null)return{kind:`recipient`,address:e,canonical:e};if(i===`*`)return{kind:`application`,target:e,action:{kind:`all`},canonical:`${e}:*`};if(!/^0x[0-9a-fA-F]{8}$/.test(i))return null;let t=i.toLowerCase();return{kind:`application`,target:e,action:{kind:`evm-selector`,selector:t},canonical:`${e}:${t}`}}if(e.startsWith(`sui:`)){if(!dt.test(r))return null;let e=pt(r);if(i===null)return{kind:`recipient`,address:e,canonical:e};if(i===`*`)return{kind:`application`,target:e,action:{kind:`all`},canonical:`${e}:*`};let t=i.split(`::`);return t.length!==2||!ft.test(t[0])||t[1]!==`*`&&!ft.test(t[1])?null:{kind:`application`,target:e,action:{kind:`sui-function`,module:t[0],function:t[1]},canonical:`${e}:${t[0]}::${t[1]}`}}let a=ht(r);if(!a)return null;if(i===null)return{kind:`recipient`,address:a,canonical:a};if(i===`*`)return{kind:`application`,target:a,action:{kind:`all`},canonical:`${a}:*`};let o=i.match(/^disc:(0x[0-9a-fA-F]{2,64})$/)?.[1];if(o&&o.length%2==0){let e=o.toLowerCase();return{kind:`application`,target:a,action:{kind:`solana-discriminator`,discriminator:e},canonical:`${a}:disc:${e}`}}let s=i.match(/^data-sha256:(0x[0-9a-fA-F]{64})$/)?.[1];if(s){let e=s.toLowerCase();return{kind:`application`,target:a,action:{kind:`solana-data-hash`,hash:e},canonical:`${a}:data-sha256:${e}`}}return null}function $(e,t){let n=gt(e,t);if(!n)throw Error(`Invalid permission-token scope: ${t}`);return n.canonical}function _t(e){return`0x${oe(e)}`}function vt(e,t){let n=gt(e,t);if(!n||n.kind!==`recipient`)throw Error(`Invalid ${e} permission-token recipient: ${t}`);return n.canonical}function yt(e){return $(`evm:1`,`${e}:*`)}function bt(e,t){return $(`evm:1`,`${e}:${/^0x[0-9a-fA-F]{8}$/.test(t)?t:ut(t)}`)}function xt(e){return $(`sui:mainnet`,`${e}:*`)}function St(e,t,n=`*`){return $(`sui:mainnet`,`${e}:${t}::${n}`)}function Ct(e){return $(`solana:mainnet`,`${e}:*`)}function wt(e,t){return $(`solana:mainnet`,`${e}:disc:${typeof t==`string`?t:_t(t)}`)}function Tt(e,t){return $(`solana:mainnet`,`${e}:data-sha256:${_t(O(t))}`)}function Et(e){return e.replace(/([a-z0-9])([A-Z])/g,`$1_$2`).replace(/[-\s]+/g,`_`).toLowerCase()}function Dt(e,t){return wt(e,t.discriminator?Uint8Array.from(t.discriminator):O(y(`global:${Et(t.name)}`)).slice(0,8))}exports.EthereumProvider=n.r,exports.EthereumProviderExtension=l,Object.defineProperty(exports,"SILK_METHOD",{enumerable:!0,get:function(){return e.r}}),Object.defineProperty(exports,"WAAP_METHOD",{enumerable:!0,get:function(){return e.r}}),exports.SilkWalletConnect=i.t,exports.WaaPWalletConnect=i.t,exports.UIMessageManager=n.a,exports.UI_EVENT_NAMES=n.o,exports.WAAP_EVENTS=t.t,Object.defineProperty(exports,"WaaP",{enumerable:!0,get:function(){return n.C}}),exports.WaaPError=n.w,exports.WaaPSolanaProvider=r.s,exports.WaaPSuiWallet=r.c,exports.WalletMessageManager=n.h,exports.getWaaPIframeDiagnostics=n.d,exports.handleWalletRequestAndResponse=n.c,exports.initWaaP=r.t,exports.initWaaPMulti=r.n,exports.initWaaPSolana=r.r,exports.initWaaPSquid=r.i,exports.initWaaPSui=r.a,exports.initWaaPTap=r.o,exports.normalizeWaaPError=n.T,exports.permissionTokenEvmContract=yt,exports.permissionTokenEvmFunction=bt,exports.permissionTokenRecipient=vt,exports.permissionTokenSolanaAnchorInstruction=Dt,exports.permissionTokenSolanaDiscriminator=wt,exports.permissionTokenSolanaInstruction=Tt,exports.permissionTokenSolanaProgram=Ct,exports.permissionTokenSuiFunction=St,exports.permissionTokenSuiPackage=xt,exports.preloadWaaPOnIdle=n.s,exports.registerWaaPSolanaWallet=o.t,exports.registerWaaPSuiWallet=a.t,exports.resolveWalletOrigin=n.x,exports.rpcMethodRequiresUI=n.l,exports.subscribeWaaPIframeLifecycle=n.m,exports.useWaapAuth=s.t,exports.useWaapTransaction=s.n,exports.validateWalletOrigin=n.S;
|
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as e,t}from"./esm-BUfmyWbN.mjs";import{t as n}from"./asyncSigning-CzqBbYDP.mjs";import{C as r,S as i,T as a,a as o,c as s,d as c,h as l,i as u,l as d,m as f,o as ee,r as te,s as ne,w as re,x as ie}from"./evm-
|
|
1
|
+
import{r as e,t}from"./esm-BUfmyWbN.mjs";import{t as n}from"./asyncSigning-CzqBbYDP.mjs";import{C as r,S as i,T as a,a as o,c as s,d as c,h as l,i as u,l as d,m as f,o as ee,r as te,s as ne,w as re,x as ie}from"./evm-9r6LecIW.mjs";import{a as ae,c as oe,i as se,n as ce,o as le,r as ue,s as de,t as fe}from"./ui-CrnBoTQL.mjs";import{t as pe}from"./WalletConnect-UfxGn2M_.mjs";import{t as me}from"./register-CEeLG7qz.mjs";import{t as he}from"./register-I8d7v41B.mjs";import{n as ge,t as _e}from"./useWaapAuth-BcmVGb-D.mjs";import{EventEmitter as ve}from"events";var ye=class extends ve{constructor(e){super(),this.isSilk=!0,this.connected=!1,this.config={...u,...e||{}}}sendToExtension(e){return new Promise((t,n)=>{window.postMessage({type:`FROM_PAGE`,request:e},`*`),window.addEventListener(`message`,e=>{e.data.type===`FROM_EXTENSION`&&(e.data.error?n(e.data.error):t(e.data.result))})})}async request(e){if(!Object.keys(t).includes(e.method))return Promise.reject({error:`Not implemented (${e.method})`});let n=await this.sendToExtension(e);return(e.method===t.wallet_switchEthereumChain||e.method===t.wallet_addEthereumChain)&&n===null&&this.emit(`chainChanged`,e.params?.[0]?.chainId),n}async enable(){return this.request({method:`eth_requestAccounts`})}isConnected(){return this.connected}async login(){return this.sendToExtension({method:e.login})}async requestSBT(t){return this.sendToExtension({method:e.silk_requestSbt,params:[t]})}async toggleDarkMode(){this.config.styles.darkMode=!this.config.styles.darkMode,await this.sendToExtension({method:e.set_custom_config,params:[this.config]})}async safe(){return this.sendToExtension({method:e.safe})}};
|
|
2
2
|
/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */
|
|
3
3
|
function be(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function p(e){if(!Number.isSafeInteger(e)||e<0)throw Error(`positive integer expected, got `+e)}function m(e,...t){if(!be(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 h(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 xe(e,t){m(e);let n=t.outputLen;if(e.length<n)throw Error(`digestInto() expects output buffer of length at least `+n)}function Se(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function g(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function _(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function v(e,t){return e<<32-t|e>>>t}const Ce=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function we(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function Te(e){for(let t=0;t<e.length;t++)e[t]=we(e[t]);return e}const y=Ce?e=>e:Te,Ee=typeof Uint8Array.from([]).toHex==`function`&&typeof Uint8Array.fromHex==`function`,De=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`));function Oe(e){if(m(e),Ee)return e.toHex();let t=``;for(let n=0;n<e.length;n++)t+=De[e[n]];return t}function b(e){if(typeof e!=`string`)throw Error(`string expected`);return new Uint8Array(new TextEncoder().encode(e))}function x(e){return typeof e==`string`&&(e=b(e)),m(e),e}var S=class{};function C(e){let t=t=>e().update(x(t)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function ke(e){if(e.length>=255)throw TypeError(`Alphabet too long`);let t=new Uint8Array(256);for(let e=0;e<t.length;e++)t[e]=255;for(let n=0;n<e.length;n++){let r=e.charAt(n),i=r.charCodeAt(0);if(t[i]!==255)throw TypeError(r+` is ambiguous`);t[i]=n}let n=e.length,r=e.charAt(0),i=Math.log(n)/Math.log(256),a=Math.log(256)/Math.log(n);function o(t){if(t instanceof Uint8Array||(ArrayBuffer.isView(t)?t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength):Array.isArray(t)&&(t=Uint8Array.from(t))),!(t instanceof Uint8Array))throw TypeError(`Expected Uint8Array`);if(t.length===0)return``;let i=0,o=0,s=0,c=t.length;for(;s!==c&&t[s]===0;)s++,i++;let l=(c-s)*a+1>>>0,u=new Uint8Array(l);for(;s!==c;){let e=t[s],r=0;for(let t=l-1;(e!==0||r<o)&&t!==-1;t--,r++)e+=256*u[t]>>>0,u[t]=e%n>>>0,e=e/n>>>0;if(e!==0)throw Error(`Non-zero carry`);o=r,s++}let d=l-o;for(;d!==l&&u[d]===0;)d++;let f=r.repeat(i);for(;d<l;++d)f+=e.charAt(u[d]);return f}function s(e){if(typeof e!=`string`)throw TypeError(`Expected String`);if(e.length===0)return new Uint8Array;let a=0,o=0,s=0;for(;e[a]===r;)o++,a++;let c=(e.length-a)*i+1>>>0,l=new Uint8Array(c);for(;a<e.length;){let r=e.charCodeAt(a);if(r>255)return;let i=t[r];if(i===255)return;let o=0;for(let e=c-1;(i!==0||o<s)&&e!==-1;e--,o++)i+=n*l[e]>>>0,l[e]=i%256>>>0,i=i/256>>>0;if(i!==0)throw Error(`Non-zero carry`);s=o,a++}let u=c-s;for(;u!==c&&l[u]===0;)u++;let d=new Uint8Array(o+(c-u)),f=o;for(;u!==c;)d[f++]=l[u++];return d}function c(e){let t=s(e);if(t)return t;throw Error(`Non-base`+n+` character`)}return{encode:o,decodeUnsafe:s,decode:c}}var w=ke(`123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz`);function Ae(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 je(e,t,n){return e&t^~e&n}function Me(e,t,n){return e&t^e&n^t&n}var Ne=class extends S{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=_(this.buffer)}update(e){h(this),e=x(e),m(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=_(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){h(this),xe(e,this),this.finished=!0;let{buffer:t,view:n,blockLen:r,isLE:i}=this,{pos:a}=this;t[a++]=128,g(this.buffer.subarray(a)),this.padOffset>r-a&&(this.process(n,0),a=0);for(let e=a;e<r;e++)t[e]=0;Ae(n,r-8,BigInt(this.length*8),i),this.process(n,0);let o=_(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()}};const T=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),E=BigInt(2**32-1),D=BigInt(32);function Pe(e,t=!1){return t?{h:Number(e&E),l:Number(e>>D&E)}:{h:Number(e>>D&E)|0,l:Number(e&E)|0}}function Fe(e,t=!1){let n=e.length,r=new Uint32Array(n),i=new Uint32Array(n);for(let a=0;a<n;a++){let{h:n,l:o}=Pe(e[a],t);[r[a],i[a]]=[n,o]}return[r,i]}const Ie=(e,t,n)=>e<<n|t>>>32-n,Le=(e,t,n)=>t<<n|e>>>32-n,Re=(e,t,n)=>t<<n-32|e>>>64-n,ze=(e,t,n)=>e<<n-32|t>>>64-n,Be=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]),O=new Uint32Array(64);var Ve=class extends Ne{constructor(e=32){super(64,e,8,!1),this.A=T[0]|0,this.B=T[1]|0,this.C=T[2]|0,this.D=T[3]|0,this.E=T[4]|0,this.F=T[5]|0,this.G=T[6]|0,this.H=T[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)O[n]=e.getUint32(t,!1);for(let e=16;e<64;e++){let t=O[e-15],n=O[e-2],r=v(t,7)^v(t,18)^t>>>3,i=v(n,17)^v(n,19)^n>>>10;O[e]=i+O[e-7]+r+O[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=v(o,6)^v(o,11)^v(o,25),u=l+t+je(o,s,c)+Be[e]+O[e]|0,d=(v(n,2)^v(n,13)^v(n,22))+Me(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(){g(O)}destroy(){this.set(0,0,0,0,0,0,0,0),g(this.buffer)}};const k=C(()=>new Ve);function He(e,t){return e.exec(t)?.groups}const A=/^tuple(?<array>(\[(\d*)\])*)$/;function j(e){let t=e.type;if(A.test(e.type)&&`components`in e){t=`(`;let n=e.components.length;for(let r=0;r<n;r++){let i=e.components[r];t+=j(i),r<n-1&&(t+=`, `)}let r=He(A,e.type);return t+=`)${r?.array||``}`,j({...e,type:t})}return`indexed`in e&&e.indexed&&(t=`${t} indexed`),e.name?`${t} ${e.name}`:t}function M(e){let t=``,n=e.length;for(let r=0;r<n;r++){let i=e[r];t+=j(i),r!==n-1&&(t+=`, `)}return t}function Ue(e){return e.type===`function`?`function ${e.name}(${M(e.inputs)})${e.stateMutability&&e.stateMutability!==`nonpayable`?` ${e.stateMutability}`:``}${e.outputs?.length?` returns (${M(e.outputs)})`:``}`:e.type===`event`?`event ${e.name}(${M(e.inputs)})`:e.type===`error`?`error ${e.name}(${M(e.inputs)})`:e.type===`constructor`?`constructor(${M(e.inputs)})${e.stateMutability===`payable`?` payable`:``}`:e.type===`fallback`?`fallback() external${e.stateMutability===`payable`?` payable`:``}`:`receive() external payable`}function N(e,{strict:t=!0}={}){return!e||typeof e!=`string`?!1:t?/^0x[0-9a-fA-F]*$/.test(e):e.startsWith(`0x`)}function P(e){return N(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}const F=`2.55.2`;let I={getDocsUrl:({docsBaseUrl:e,docsPath:t=``,docsSlug:n})=>t?`${e??`https://viem.sh`}${t}${n?`#${n}`:``}`:void 0,version:`viem@${F}`};var L=class e extends Error{constructor(t,n={}){let r=n.cause instanceof e?n.cause.details:n.cause?.message?n.cause.message:n.details,i=n.cause instanceof e&&n.cause.docsPath||n.docsPath,a=I.getDocsUrl?.({...n,docsPath:i}),o=[t||`An error occurred.`,``,...n.metaMessages?[...n.metaMessages,``]:[],...a?[`Docs: ${a}`]:[],...r?[`Details: ${r}`]:[],...I.version?[`Version: ${I.version}`]:[]].join(`
|
|
4
4
|
`);super(o,n.cause?{cause:n.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`BaseError`}),this.details=r,this.docsPath=i,this.metaMessages=n.metaMessages,this.name=n.name??this.name,this.shortMessage=t,this.version=F}walk(e){return R(this,e)}};function R(e,t){return t?.(e)?e:e&&typeof e==`object`&&`cause`in e&&e.cause!==void 0?R(e.cause,t):t?null:e}var z=class extends L{constructor({offset:e,position:t,size:n}){super(`Slice ${t===`start`?`starting`:`ending`} at offset "${e}" is out-of-bounds (size: ${n}).`,{name:`SliceOffsetOutOfBoundsError`})}},B=class extends L{constructor({size:e,targetSize:t,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (${e}) exceeds padding size (${t}).`,{name:`SizeExceedsPaddingSizeError`})}};function V(e,{dir:t,size:n=32}={}){return typeof e==`string`?We(e,{dir:t,size:n}):Ge(e,{dir:t,size:n})}function We(e,{dir:t,size:n=32}={}){if(n===null)return e;let r=e.replace(`0x`,``);if(r.length>n*2)throw new B({size:Math.ceil(r.length/2),targetSize:n,type:`hex`});return`0x${r[t===`right`?`padEnd`:`padStart`](n*2,`0`)}`}function Ge(e,{dir:t,size:n=32}={}){if(n===null)return e;if(e.length>n)throw new B({size:e.length,targetSize:n,type:`bytes`});let r=new Uint8Array(n);for(let i=0;i<n;i++){let a=t===`right`;r[a?i:n-i-1]=e[a?i:e.length-i-1]}return r}var Ke=class extends L{constructor({max:e,min:t,signed:n,size:r,value:i}){super(`Number "${i}" is not in safe ${r?`${r*8}-bit ${n?`signed`:`unsigned`} `:``}integer range ${e?`(${t} to ${e})`:`(above ${t})`}`,{name:`IntegerOutOfRangeError`})}},qe=class extends L{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed ${t} bytes. Given size: ${e} bytes.`,{name:`SizeOverflowError`})}};function H(e,{size:t}){if(P(e)>t)throw new qe({givenSize:P(e),maxSize:t})}const Je=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`));function Ye(e,t={}){return typeof e==`number`||typeof e==`bigint`?W(e,t):typeof e==`string`?Qe(e,t):typeof e==`boolean`?Xe(e,t):U(e,t)}function Xe(e,t={}){let n=`0x${Number(e)}`;return typeof t.size==`number`?(H(n,{size:t.size}),V(n,{size:t.size})):n}function U(e,t={}){let n=``;for(let t=0;t<e.length;t++)n+=Je[e[t]];let r=`0x${n}`;return typeof t.size==`number`?(H(r,{size:t.size}),V(r,{dir:`right`,size:t.size})):r}function W(e,t={}){let{signed:n,size:r}=t,i=BigInt(e),a;r?a=n?(1n<<BigInt(r)*8n-1n)-1n:2n**(BigInt(r)*8n)-1n:typeof e==`number`&&(a=BigInt(2**53-1));let o=typeof a==`bigint`&&n?-a-1n:0;if(a&&i>a||i<o){let t=typeof e==`bigint`?`n`:``;throw new Ke({max:a?`${a}${t}`:void 0,min:`${o}${t}`,signed:n,size:r,value:`${e}${t}`})}let s=`0x${(n&&i<0?(1n<<BigInt(r*8))+BigInt(i):i).toString(16)}`;return r?V(s,{size:r}):s}const Ze=new TextEncoder;function Qe(e,t={}){return U(Ze.encode(e),t)}const $e=new TextEncoder;function G(e,t={}){return typeof e==`number`||typeof e==`bigint`?tt(e,t):typeof e==`boolean`?et(e,t):N(e)?J(e,t):nt(e,t)}function et(e,t={}){let n=new Uint8Array(1);return n[0]=Number(e),typeof t.size==`number`?(H(n,{size:t.size}),V(n,{size:t.size})):n}const K={zero:48,nine:57,A:65,F:70,a:97,f:102};function q(e){if(e>=K.zero&&e<=K.nine)return e-K.zero;if(e>=K.A&&e<=K.F)return e-(K.A-10);if(e>=K.a&&e<=K.f)return e-(K.a-10)}function J(e,t={}){let n=e;t.size&&(H(n,{size:t.size}),n=V(n,{dir:`right`,size:t.size}));let r=n.slice(2);r.length%2&&(r=`0${r}`);let i=r.length/2,a=new Uint8Array(i);for(let e=0,t=0;e<i;e++){let n=q(r.charCodeAt(t++)),i=q(r.charCodeAt(t++));if(n===void 0||i===void 0)throw new L(`Invalid byte sequence ("${r[t-2]}${r[t-1]}" in "${r}").`);a[e]=n*16+i}return a}function tt(e,t){return J(W(e,t))}function nt(e,t={}){let n=$e.encode(e);return typeof t.size==`number`?(H(n,{size:t.size}),V(n,{dir:`right`,size:t.size})):n}const rt=BigInt(0),Y=BigInt(1),it=BigInt(2),at=BigInt(7),ot=BigInt(256),st=BigInt(113),ct=[],lt=[],ut=[];for(let e=0,t=Y,n=1,r=0;e<24;e++){[n,r]=[r,(2*n+3*r)%5],ct.push(2*(5*r+n)),lt.push((e+1)*(e+2)/2%64);let i=rt;for(let e=0;e<7;e++)t=(t<<Y^(t>>at)*st)%ot,t&it&&(i^=Y<<(Y<<BigInt(e))-Y);ut.push(i)}const dt=Fe(ut,!0),ft=dt[0],pt=dt[1],mt=(e,t,n)=>n>32?Re(e,t,n):Ie(e,t,n),ht=(e,t,n)=>n>32?ze(e,t,n):Le(e,t,n);function gt(e,t=24){let n=new Uint32Array(10);for(let r=24-t;r<24;r++){for(let t=0;t<10;t++)n[t]=e[t]^e[t+10]^e[t+20]^e[t+30]^e[t+40];for(let t=0;t<10;t+=2){let r=(t+8)%10,i=(t+2)%10,a=n[i],o=n[i+1],s=mt(a,o,1)^n[r],c=ht(a,o,1)^n[r+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=lt[n],a=mt(t,i,r),o=ht(t,i,r),s=ct[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 r=0;r<10;r++)n[r]=e[t+r];for(let r=0;r<10;r++)e[t+r]^=~n[(r+2)%10]&n[(r+4)%10]}e[0]^=ft[r],e[1]^=pt[r]}g(n)}var _t=class e extends S{constructor(e,t,n,r=!1,i=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=n,this.enableXOF=r,this.rounds=i,p(n),!(0<e&&e<200))throw Error(`only keccak-f1600 function is supported`);this.state=new Uint8Array(200),this.state32=Se(this.state)}clone(){return this._cloneInto()}keccak(){y(this.state32),gt(this.state32,this.rounds),y(this.state32),this.posOut=0,this.pos=0}update(e){h(this),e=x(e),m(e);let{blockLen:t,state:n}=this,r=e.length;for(let i=0;i<r;){let a=Math.min(t-this.pos,r-i);for(let t=0;t<a;t++)n[this.pos++]^=e[i++];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){h(this,!1),m(e),this.finish();let t=this.state,{blockLen:n}=this;for(let r=0,i=e.length;r<i;){this.posOut>=n&&this.keccak();let a=Math.min(n-this.posOut,i-r);e.set(t.subarray(this.posOut,this.posOut+a),r),this.posOut+=a,r+=a}return e}xofInto(e){if(!this.enableXOF)throw Error(`XOF is not possible for this instance`);return this.writeInto(e)}xof(e){return p(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(xe(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,g(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}};const vt=((e,t,n)=>C(()=>new _t(t,e,n)))(1,136,256/8);function yt(e,t){let n=t||`hex`,r=vt(N(e,{strict:!1})?G(e):e);return n===`bytes`?r:Ye(r)}const bt=e=>yt(G(e));function xt(e){return bt(e)}function St(e){let t=!0,n=``,r=0,i=``,a=!1;for(let o=0;o<e.length;o++){let s=e[o];if([`(`,`)`,`,`].includes(s)&&(t=!0),s===`(`&&r++,s===`)`&&r--,t){if(r===0){if(s===` `&&[`event`,`function`,``].includes(i))i=``;else if(i+=s,s===`)`){a=!0;break}continue}if(s===` `){e[o-1]!==`,`&&n!==`,`&&n!==`,(`&&(n=``,t=!1);continue}i+=s,n+=s}}if(!a)throw new L(`Unable to normalize signature.`);return i}const Ct=e=>St(typeof e==`string`?e:Ue(e));function wt(e){return xt(Ct(e))}var Tt=class extends Map{constructor(e){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e}get(e){let t=super.get(e);return super.has(e)&&(super.delete(e),super.set(e,t)),t}set(e,t){if(super.has(e)&&super.delete(e),super.set(e,t),this.maxSize&&this.size>this.maxSize){let e=super.keys().next().value;e!==void 0&&super.delete(e)}return this}};const X=new Tt(8192);function Et(e,t){if(X.has(`${e}.${t}`))return X.get(`${e}.${t}`);let n=t?`${t}${e.toLowerCase()}`:e.substring(2).toLowerCase(),r=yt(nt(n),`bytes`),i=(t?n.substring(`${t}0x`.length):n).split(``);for(let e=0;e<40;e+=2)r[e>>1]>>4>=8&&i[e]&&(i[e]=i[e].toUpperCase()),(r[e>>1]&15)>=8&&i[e+1]&&(i[e+1]=i[e+1].toUpperCase());let a=`0x${i.join(``)}`;return X.set(`${e}.${t}`,a),a}const Dt=/^0x[a-fA-F0-9]{40}$/,Z=new Tt(8192);function Ot(e,t){let{strict:n=!0}=t??{},r=`${e}.${n}`;if(Z.has(r))return Z.get(r);let i=Dt.test(e)?e.toLowerCase()===e||!n||Et(e)===e:!1;return Z.set(r,i),i}function kt(e,t,n,{strict:r}={}){return N(e,{strict:!1})?Nt(e,t,n,{strict:r}):Mt(e,t,n,{strict:r})}function At(e,t){if(typeof t==`number`&&t>0&&t>P(e)-1)throw new z({offset:t,position:`start`,size:P(e)})}function jt(e,t,n){if(typeof t==`number`&&typeof n==`number`&&P(e)!==n-t)throw new z({offset:n,position:`end`,size:P(e)})}function Mt(e,t,n,{strict:r}={}){At(e,t);let i=e.slice(t,n);return r&&jt(i,t,n),i}function Nt(e,t,n,{strict:r}={}){At(e,t);let i=`0x${e.replace(`0x`,``).slice((t??0)*2,(n??e.length)*2)}`;return r&&jt(i,t,n),i}const Pt=e=>kt(wt(e),0,4),Ft=/^0x[0-9a-fA-F]{1,64}$/,It=/^[A-Za-z_][A-Za-z0-9_]*$/;function Lt(e){return`0x${e.slice(2).toLowerCase().padStart(64,`0`)}`}function Rt(e){return e.indexOf(`:`)}function zt(e){try{let t=w.decode(e);return t.length===32?w.encode(t):null}catch{return null}}function Bt(e,t){if(t.length===0||new TextEncoder().encode(t).length>512||t.trim()!==t)return null;let n=Rt(t),r=n===-1?t:t.slice(0,n),i=n===-1?null:t.slice(n+1);if(i===``)return null;if(e.startsWith(`evm:`)){if(!Ot(r))return null;let e=r.toLowerCase();if(i===null)return{kind:`recipient`,address:e,canonical:e};if(i===`*`)return{kind:`application`,target:e,action:{kind:`all`},canonical:`${e}:*`};if(!/^0x[0-9a-fA-F]{8}$/.test(i))return null;let t=i.toLowerCase();return{kind:`application`,target:e,action:{kind:`evm-selector`,selector:t},canonical:`${e}:${t}`}}if(e.startsWith(`sui:`)){if(!Ft.test(r))return null;let e=Lt(r);if(i===null)return{kind:`recipient`,address:e,canonical:e};if(i===`*`)return{kind:`application`,target:e,action:{kind:`all`},canonical:`${e}:*`};let t=i.split(`::`);return t.length!==2||!It.test(t[0])||t[1]!==`*`&&!It.test(t[1])?null:{kind:`application`,target:e,action:{kind:`sui-function`,module:t[0],function:t[1]},canonical:`${e}:${t[0]}::${t[1]}`}}let a=zt(r);if(!a)return null;if(i===null)return{kind:`recipient`,address:a,canonical:a};if(i===`*`)return{kind:`application`,target:a,action:{kind:`all`},canonical:`${a}:*`};let o=i.match(/^disc:(0x[0-9a-fA-F]{2,64})$/)?.[1];if(o&&o.length%2==0){let e=o.toLowerCase();return{kind:`application`,target:a,action:{kind:`solana-discriminator`,discriminator:e},canonical:`${a}:disc:${e}`}}let s=i.match(/^data-sha256:(0x[0-9a-fA-F]{64})$/)?.[1];if(s){let e=s.toLowerCase();return{kind:`application`,target:a,action:{kind:`solana-data-hash`,hash:e},canonical:`${a}:data-sha256:${e}`}}return null}function Q(e,t){let n=Bt(e,t);if(!n)throw Error(`Invalid permission-token scope: ${t}`);return n.canonical}function Vt(e){return`0x${Oe(e)}`}function Ht(e,t){let n=Bt(e,t);if(!n||n.kind!==`recipient`)throw Error(`Invalid ${e} permission-token recipient: ${t}`);return n.canonical}function Ut(e){return Q(`evm:1`,`${e}:*`)}function Wt(e,t){return Q(`evm:1`,`${e}:${/^0x[0-9a-fA-F]{8}$/.test(t)?t:Pt(t)}`)}function Gt(e){return Q(`sui:mainnet`,`${e}:*`)}function Kt(e,t,n=`*`){return Q(`sui:mainnet`,`${e}:${t}::${n}`)}function qt(e){return Q(`solana:mainnet`,`${e}:*`)}function $(e,t){return Q(`solana:mainnet`,`${e}:disc:${typeof t==`string`?t:Vt(t)}`)}function Jt(e,t){return Q(`solana:mainnet`,`${e}:data-sha256:${Vt(k(t))}`)}function Yt(e){return e.replace(/([a-z0-9])([A-Z])/g,`$1_$2`).replace(/[-\s]+/g,`_`).toLowerCase()}function Xt(e,t){return $(e,t.discriminator?Uint8Array.from(t.discriminator):k(b(`global:${Yt(t.name)}`)).slice(0,8))}export{te as EthereumProvider,ye as EthereumProviderExtension,e as SILK_METHOD,e as WAAP_METHOD,pe as SilkWalletConnect,pe as WaaPWalletConnect,o as UIMessageManager,ee as UI_EVENT_NAMES,n as WAAP_EVENTS,r as WaaP,re as WaaPError,de as WaaPSolanaProvider,oe as WaaPSuiWallet,l as WalletMessageManager,c as getWaaPIframeDiagnostics,s as handleWalletRequestAndResponse,fe as initWaaP,ce as initWaaPMulti,ue as initWaaPSolana,se as initWaaPSquid,ae as initWaaPSui,le as initWaaPTap,a as normalizeWaaPError,Ut as permissionTokenEvmContract,Wt as permissionTokenEvmFunction,Ht as permissionTokenRecipient,Xt as permissionTokenSolanaAnchorInstruction,$ as permissionTokenSolanaDiscriminator,Jt as permissionTokenSolanaInstruction,qt as permissionTokenSolanaProgram,Kt as permissionTokenSuiFunction,Gt as permissionTokenSuiPackage,ne as preloadWaaPOnIdle,he as registerWaaPSolanaWallet,me as registerWaaPSuiWallet,ie as resolveWalletOrigin,d as rpcMethodRequiresUI,f as subscribeWaaPIframeLifecycle,_e as useWaapAuth,ge as useWaapTransaction,i as validateWalletOrigin};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as e}from"./ui-CrnBoTQL.mjs";import{registerWallet as t}from"@mysten/wallet-standard";function n(n,r={}){let i=new e(n,r);return t(i),i}export{n as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require("./ui-
|
|
1
|
+
const e=require("./ui-BjcwM6px.js");let t=require("@wallet-standard/wallet");function n(n,r={}){let i=new e.s(n,r);return i.setAccountMode(`tap`),i.selectAccountMode(`tap`).catch(()=>void 0),(0,t.registerWallet)(i),i}Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return n}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require("./ui-
|
|
1
|
+
const e=require("./ui-BjcwM6px.js");let t=require("@mysten/wallet-standard");function n(n,r={}){let i=new e.c(n,r);return(0,t.registerWallet)(i),i}Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return n}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as e}from"./ui-
|
|
1
|
+
import{s as e}from"./ui-CrnBoTQL.mjs";import{registerWallet as t}from"@wallet-standard/wallet";function n(n,r={}){let i=new e(n,r);return i.setAccountMode(`tap`),i.selectAccountMode(`tap`).catch(()=>void 0),t(i),i}export{n as t};
|
package/dist/solana.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { _ as validateWalletOrigin, g as resolveWalletOrigin, h as WaaPWalletTargetOptions, m as WaaPEnvironment } from "./types-BmCqyQtu.mjs";
|
|
2
|
-
import { a as CancelWaaPPreload, c as preloadWaaPOnIdle, d as WaaPIframeLifecyclePhase, f as getWaaPIframeDiagnostics, i as normalizeWaaPError, l as WaaPIframeDiagnostics, n as WaaPErrorCode, o as WaaPIdlePreloadOptions, p as subscribeWaaPIframeLifecycle, r as WaaPOperationMetadata, s as WaaPPreloadTarget, t as WaaPError, u as WaaPIframeLifecycleEvent } from "./WaaPError-
|
|
2
|
+
import { a as CancelWaaPPreload, c as preloadWaaPOnIdle, d as WaaPIframeLifecyclePhase, f as getWaaPIframeDiagnostics, i as normalizeWaaPError, l as WaaPIframeDiagnostics, n as WaaPErrorCode, o as WaaPIdlePreloadOptions, p as subscribeWaaPIframeLifecycle, r as WaaPOperationMetadata, s as WaaPPreloadTarget, t as WaaPError, u as WaaPIframeLifecycleEvent } from "./WaaPError-BjukImOz.mjs";
|
|
3
3
|
import { A as SolanaSignTransactionOutput, C as SolanaConnectInput, D as SolanaSignMessageInput, E as SolanaSignAndSendTransactionOutput, F as SolanaStandardSignTransactionInput, I as SolanaStandardSignTransactionOutput, M as SolanaStandardSignAndSendTransactionOutput, N as SolanaStandardSignMessageInput, O as SolanaSignMessageOutput, P as SolanaStandardSignMessageOutput, R as WaaPSolanaProviderInterface, S as SolanaChain, T as SolanaSignAndSendTransactionInput, b as InitWaaPSolanaOptions, g as initWaaPSolana, j as SolanaStandardSignAndSendTransactionInput, k as SolanaSignTransactionInput, w as SolanaConnectOutput, x as SolanaAccount, z as WaaPSolanaWalletFeatures } from "./index-C0mLQs_a.mjs";
|
|
4
4
|
import { n as WaaPSolanaProvider, t as registerWaaPSolanaWallet } from "./register-9bEe9ATz.mjs";
|
|
5
5
|
export { type CancelWaaPPreload, type InitWaaPSolanaOptions, type SolanaAccount, type SolanaChain, type SolanaConnectInput, type SolanaConnectOutput, type SolanaSignAndSendTransactionInput, type SolanaSignAndSendTransactionOutput, type SolanaSignMessageInput, type SolanaSignMessageOutput, type SolanaSignTransactionInput, type SolanaSignTransactionOutput, type SolanaStandardSignAndSendTransactionInput, type SolanaStandardSignAndSendTransactionOutput, type SolanaStandardSignMessageInput, type SolanaStandardSignMessageOutput, type SolanaStandardSignTransactionInput, type SolanaStandardSignTransactionOutput, type WaaPEnvironment, WaaPError, type WaaPErrorCode, type WaaPIdlePreloadOptions, type WaaPIframeDiagnostics, type WaaPIframeLifecycleEvent, type WaaPIframeLifecyclePhase, type WaaPOperationMetadata, type WaaPPreloadTarget, WaaPSolanaProvider, type WaaPSolanaProviderInterface, type WaaPSolanaWalletFeatures, type WaaPWalletTargetOptions, getWaaPIframeDiagnostics, initWaaPSolana as initWaaP, initWaaPSolana, normalizeWaaPError, preloadWaaPOnIdle, registerWaaPSolanaWallet, resolveWalletOrigin, subscribeWaaPIframeLifecycle, validateWalletOrigin };
|
package/dist/solana.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { _ as validateWalletOrigin, g as resolveWalletOrigin, h as WaaPWalletTargetOptions, m as WaaPEnvironment } from "./types-BmCqyQtu.js";
|
|
2
|
-
import { a as CancelWaaPPreload, c as preloadWaaPOnIdle, d as WaaPIframeLifecyclePhase, f as getWaaPIframeDiagnostics, i as normalizeWaaPError, l as WaaPIframeDiagnostics, n as WaaPErrorCode, o as WaaPIdlePreloadOptions, p as subscribeWaaPIframeLifecycle, r as WaaPOperationMetadata, s as WaaPPreloadTarget, t as WaaPError, u as WaaPIframeLifecycleEvent } from "./WaaPError-
|
|
2
|
+
import { a as CancelWaaPPreload, c as preloadWaaPOnIdle, d as WaaPIframeLifecyclePhase, f as getWaaPIframeDiagnostics, i as normalizeWaaPError, l as WaaPIframeDiagnostics, n as WaaPErrorCode, o as WaaPIdlePreloadOptions, p as subscribeWaaPIframeLifecycle, r as WaaPOperationMetadata, s as WaaPPreloadTarget, t as WaaPError, u as WaaPIframeLifecycleEvent } from "./WaaPError-CMOAWUlN.js";
|
|
3
3
|
import { A as SolanaSignTransactionOutput, C as SolanaConnectInput, D as SolanaSignMessageInput, E as SolanaSignAndSendTransactionOutput, F as SolanaStandardSignTransactionInput, I as SolanaStandardSignTransactionOutput, M as SolanaStandardSignAndSendTransactionOutput, N as SolanaStandardSignMessageInput, O as SolanaSignMessageOutput, P as SolanaStandardSignMessageOutput, R as WaaPSolanaProviderInterface, S as SolanaChain, T as SolanaSignAndSendTransactionInput, b as InitWaaPSolanaOptions, g as initWaaPSolana, j as SolanaStandardSignAndSendTransactionInput, k as SolanaSignTransactionInput, w as SolanaConnectOutput, x as SolanaAccount, z as WaaPSolanaWalletFeatures } from "./index-DOIss_GK.js";
|
|
4
4
|
import { n as WaaPSolanaProvider, t as registerWaaPSolanaWallet } from "./register-PWKDsSRv.js";
|
|
5
5
|
export { type CancelWaaPPreload, type InitWaaPSolanaOptions, type SolanaAccount, type SolanaChain, type SolanaConnectInput, type SolanaConnectOutput, type SolanaSignAndSendTransactionInput, type SolanaSignAndSendTransactionOutput, type SolanaSignMessageInput, type SolanaSignMessageOutput, type SolanaSignTransactionInput, type SolanaSignTransactionOutput, type SolanaStandardSignAndSendTransactionInput, type SolanaStandardSignAndSendTransactionOutput, type SolanaStandardSignMessageInput, type SolanaStandardSignMessageOutput, type SolanaStandardSignTransactionInput, type SolanaStandardSignTransactionOutput, type WaaPEnvironment, WaaPError, type WaaPErrorCode, type WaaPIdlePreloadOptions, type WaaPIframeDiagnostics, type WaaPIframeLifecycleEvent, type WaaPIframeLifecyclePhase, type WaaPOperationMetadata, type WaaPPreloadTarget, WaaPSolanaProvider, type WaaPSolanaProviderInterface, type WaaPSolanaWalletFeatures, type WaaPWalletTargetOptions, getWaaPIframeDiagnostics, initWaaPSolana as initWaaP, initWaaPSolana, normalizeWaaPError, preloadWaaPOnIdle, registerWaaPSolanaWallet, resolveWalletOrigin, subscribeWaaPIframeLifecycle, validateWalletOrigin };
|
package/dist/solana.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./evm-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./evm-D_LHHo3z.js"),t=require("./ui-BjcwM6px.js"),n=require("./register-CodxV1XG.js");exports.WaaPError=e.w,exports.WaaPSolanaProvider=t.s,exports.getWaaPIframeDiagnostics=e.d,exports.initWaaP=t.r,exports.initWaaPSolana=t.r,exports.normalizeWaaPError=e.T,exports.preloadWaaPOnIdle=e.s,exports.registerWaaPSolanaWallet=n.t,exports.resolveWalletOrigin=e.x,exports.subscribeWaaPIframeLifecycle=e.m,exports.validateWalletOrigin=e.S;
|
package/dist/solana.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{S as e,T as t,d as n,m as r,s as i,w as a,x as o}from"./evm-
|
|
1
|
+
import{S as e,T as t,d as n,m as r,s as i,w as a,x as o}from"./evm-9r6LecIW.mjs";import{r as s,s as c}from"./ui-CrnBoTQL.mjs";import{t as l}from"./register-I8d7v41B.mjs";export{a as WaaPError,c as WaaPSolanaProvider,n as getWaaPIframeDiagnostics,s as initWaaP,s as initWaaPSolana,t as normalizeWaaPError,i as preloadWaaPOnIdle,l as registerWaaPSolanaWallet,o as resolveWalletOrigin,r as subscribeWaaPIframeLifecycle,e as validateWalletOrigin};
|
package/dist/sui.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { T as RequestPermissionTokenResult, _ as validateWalletOrigin, g as resolveWalletOrigin, h as WaaPWalletTargetOptions, m as WaaPEnvironment, w as RequestPermissionTokenParams } from "./types-BmCqyQtu.mjs";
|
|
2
|
-
import { a as CancelWaaPPreload, c as preloadWaaPOnIdle, d as WaaPIframeLifecyclePhase, f as getWaaPIframeDiagnostics, i as normalizeWaaPError, l as WaaPIframeDiagnostics, n as WaaPErrorCode, o as WaaPIdlePreloadOptions, p as subscribeWaaPIframeLifecycle, r as WaaPOperationMetadata, s as WaaPPreloadTarget, t as WaaPError, u as WaaPIframeLifecycleEvent } from "./WaaPError-
|
|
2
|
+
import { a as CancelWaaPPreload, c as preloadWaaPOnIdle, d as WaaPIframeLifecyclePhase, f as getWaaPIframeDiagnostics, i as normalizeWaaPError, l as WaaPIframeDiagnostics, n as WaaPErrorCode, o as WaaPIdlePreloadOptions, p as subscribeWaaPIframeLifecycle, r as WaaPOperationMetadata, s as WaaPPreloadTarget, t as WaaPError, u as WaaPIframeLifecycleEvent } from "./WaaPError-BjukImOz.mjs";
|
|
3
3
|
import { $ as SuiSignTransactionInput, B as InitWaaPSuiOptions, H as SuiChain, J as SuiSignAndExecuteTransactionOutput, U as SuiConnectInput, V as SuiAccount, W as SuiConnectOutput, X as SuiSignPersonalMessageOutput, Y as SuiSignPersonalMessageInput, et as SuiSignTransactionOutput, it as WaaPSuiWalletInterface, q as SuiSignAndExecuteTransactionInput, rt as WaaPSuiWalletFeatures, tt as SuiTransactionInput, v as initWaaPSui } from "./index-C0mLQs_a.mjs";
|
|
4
4
|
import { n as WaaPSuiWallet, t as registerWaaPSuiWallet } from "./register-XzDVa7r8.mjs";
|
|
5
5
|
export { type CancelWaaPPreload, type InitWaaPSuiOptions, type RequestPermissionTokenParams, type RequestPermissionTokenResult, type SuiAccount, type SuiChain, type SuiConnectInput, type SuiConnectOutput, type SuiSignAndExecuteTransactionInput, type SuiSignAndExecuteTransactionOutput, type SuiSignPersonalMessageInput, type SuiSignPersonalMessageOutput, type SuiSignTransactionInput, type SuiSignTransactionOutput, type SuiTransactionInput, type WaaPEnvironment, WaaPError, type WaaPErrorCode, type WaaPIdlePreloadOptions, type WaaPIframeDiagnostics, type WaaPIframeLifecycleEvent, type WaaPIframeLifecyclePhase, type WaaPOperationMetadata, type WaaPPreloadTarget, WaaPSuiWallet, type WaaPSuiWalletFeatures, type WaaPSuiWalletInterface, type WaaPWalletTargetOptions, getWaaPIframeDiagnostics, initWaaPSui as initWaaP, initWaaPSui, normalizeWaaPError, preloadWaaPOnIdle, registerWaaPSuiWallet, resolveWalletOrigin, subscribeWaaPIframeLifecycle, validateWalletOrigin };
|
package/dist/sui.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { T as RequestPermissionTokenResult, _ as validateWalletOrigin, g as resolveWalletOrigin, h as WaaPWalletTargetOptions, m as WaaPEnvironment, w as RequestPermissionTokenParams } from "./types-BmCqyQtu.js";
|
|
2
|
-
import { a as CancelWaaPPreload, c as preloadWaaPOnIdle, d as WaaPIframeLifecyclePhase, f as getWaaPIframeDiagnostics, i as normalizeWaaPError, l as WaaPIframeDiagnostics, n as WaaPErrorCode, o as WaaPIdlePreloadOptions, p as subscribeWaaPIframeLifecycle, r as WaaPOperationMetadata, s as WaaPPreloadTarget, t as WaaPError, u as WaaPIframeLifecycleEvent } from "./WaaPError-
|
|
2
|
+
import { a as CancelWaaPPreload, c as preloadWaaPOnIdle, d as WaaPIframeLifecyclePhase, f as getWaaPIframeDiagnostics, i as normalizeWaaPError, l as WaaPIframeDiagnostics, n as WaaPErrorCode, o as WaaPIdlePreloadOptions, p as subscribeWaaPIframeLifecycle, r as WaaPOperationMetadata, s as WaaPPreloadTarget, t as WaaPError, u as WaaPIframeLifecycleEvent } from "./WaaPError-CMOAWUlN.js";
|
|
3
3
|
import { $ as SuiSignTransactionInput, B as InitWaaPSuiOptions, H as SuiChain, J as SuiSignAndExecuteTransactionOutput, U as SuiConnectInput, V as SuiAccount, W as SuiConnectOutput, X as SuiSignPersonalMessageOutput, Y as SuiSignPersonalMessageInput, et as SuiSignTransactionOutput, it as WaaPSuiWalletInterface, q as SuiSignAndExecuteTransactionInput, rt as WaaPSuiWalletFeatures, tt as SuiTransactionInput, v as initWaaPSui } from "./index-DOIss_GK.js";
|
|
4
4
|
import { n as WaaPSuiWallet, t as registerWaaPSuiWallet } from "./register-Mb1D_xW4.js";
|
|
5
5
|
export { type CancelWaaPPreload, type InitWaaPSuiOptions, type RequestPermissionTokenParams, type RequestPermissionTokenResult, type SuiAccount, type SuiChain, type SuiConnectInput, type SuiConnectOutput, type SuiSignAndExecuteTransactionInput, type SuiSignAndExecuteTransactionOutput, type SuiSignPersonalMessageInput, type SuiSignPersonalMessageOutput, type SuiSignTransactionInput, type SuiSignTransactionOutput, type SuiTransactionInput, type WaaPEnvironment, WaaPError, type WaaPErrorCode, type WaaPIdlePreloadOptions, type WaaPIframeDiagnostics, type WaaPIframeLifecycleEvent, type WaaPIframeLifecyclePhase, type WaaPOperationMetadata, type WaaPPreloadTarget, WaaPSuiWallet, type WaaPSuiWalletFeatures, type WaaPSuiWalletInterface, type WaaPWalletTargetOptions, getWaaPIframeDiagnostics, initWaaPSui as initWaaP, initWaaPSui, normalizeWaaPError, preloadWaaPOnIdle, registerWaaPSuiWallet, resolveWalletOrigin, subscribeWaaPIframeLifecycle, validateWalletOrigin };
|