@human.tech/waap-sdk 2.4.0 → 2.4.2-staging-416db8
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/.agent/SKILL.md +28 -13
- package/CHANGELOG.md +84 -0
- package/README.md +16 -2
- package/dist/SolanaProvider-BKWKXTWh.mjs +1 -0
- package/dist/SolanaProvider-Uv3q1b0H.js +1 -0
- package/dist/UIMessageManager-4xqSTTBS.d.mts +11 -0
- package/dist/UIMessageManager-4xqSTTBS.d.ts +11 -0
- package/dist/UIMessageManager-CPw6PggC.js +1 -0
- package/dist/UIMessageManager-D3VN9vM8.mjs +1 -0
- package/dist/{WaaPError-BuwfZjBk.d.mts → WaaPError-C2TOEGPx.d.mts} +1 -1
- package/dist/{WaaPError-BuwfZjBk.d.ts → WaaPError-C2TOEGPx.d.ts} +1 -1
- package/dist/{WalletConnect-Dn40Omgo.js → WalletConnect-B21f4Vvh.js} +1 -1
- package/dist/{WalletConnect-UfxGn2M_.mjs → WalletConnect-DXiTxC-F.mjs} +1 -1
- package/dist/{WalletModalController-Qh9LNwW5.d.ts → WalletModalController-16mHsFv2.d.ts} +1 -1
- package/dist/{WalletModalController-wIHBGOVd.d.mts → WalletModalController-DxiBiqDf.d.mts} +1 -1
- package/dist/bridge.d.mts +3 -3
- package/dist/bridge.d.ts +3 -3
- package/dist/bridge.js +1 -1
- package/dist/bridge.mjs +1 -1
- package/dist/evm-BbSgL_Hv.mjs +2 -0
- package/dist/evm-_ReyhrCP.js +2 -0
- package/dist/evm.d.mts +3 -3
- package/dist/evm.d.ts +3 -3
- package/dist/evm.js +1 -1
- package/dist/evm.mjs +1 -1
- package/dist/{index-XdQjHMzI.d.mts → index-BOExImk3.d.mts} +29 -11
- package/dist/{index-DNyKwJcJ.d.ts → index-BkKBZpqc.d.ts} +29 -11
- package/dist/index.d.mts +12 -10
- package/dist/index.d.ts +12 -10
- package/dist/index.js +3 -3
- package/dist/index.mjs +3 -3
- package/dist/init-BljRyI7Q.mjs +1 -0
- package/dist/init-C-52fEJS.d.ts +84 -0
- package/dist/init-C3zCj5Lc.d.mts +84 -0
- package/dist/init-IB0dPXBp.js +1 -0
- package/dist/react.d.mts +1 -1
- package/dist/react.d.ts +1 -1
- package/dist/{register-CMv6n7ak.d.ts → register-BKCJXsHB.d.mts} +9 -6
- package/dist/{register-DfUAOQke.d.mts → register-C1hFwh4A.d.ts} +4 -3
- package/dist/register-CLsRV5W0.mjs +1 -0
- package/dist/register-CpvrhMCx.js +1 -0
- package/dist/register-DN1lfMSy.mjs +1 -0
- package/dist/register-DpEJlZIw.js +1 -0
- package/dist/{register-BhybMFR2.d.mts → register-GiWQpcBY.d.ts} +9 -6
- package/dist/{register-MK9ivXiJ.d.ts → register-mq9fTaSt.d.mts} +4 -3
- package/dist/solana.d.mts +6 -6
- package/dist/solana.d.ts +6 -6
- package/dist/solana.js +1 -1
- package/dist/solana.mjs +1 -1
- package/dist/stellar.d.mts +6 -0
- package/dist/stellar.d.ts +6 -0
- package/dist/stellar.js +1 -0
- package/dist/stellar.mjs +1 -0
- package/dist/sui.d.mts +5 -5
- package/dist/sui.d.ts +5 -5
- package/dist/sui.js +1 -1
- package/dist/sui.mjs +1 -1
- package/dist/types-Bai14yLc.d.mts +95 -0
- package/dist/{types-8CCmbLuY.d.ts → types-Bj5dDE-C.d.ts} +10 -3
- package/dist/{types-Bfz205sD.d.mts → types-C7JDjWnt.d.mts} +10 -3
- package/dist/{types-x7TOncUp.d.mts → types-Cc6tc4ut.d.mts} +5 -0
- package/dist/{types-x7TOncUp.d.ts → types-Cc6tc4ut.d.ts} +5 -0
- package/dist/types-DqdVfkaW.d.ts +95 -0
- package/dist/ui-D4wp1W_E.js +1 -0
- package/dist/ui-DSsOjby7.mjs +1 -0
- package/dist/{useWaapAuth-CMhYoBKA.d.mts → useWaapAuth-Be1YJk-7.d.mts} +2 -2
- package/dist/{useWaapAuth-CeJuu2wk.d.ts → useWaapAuth-DSFDwJtt.d.ts} +2 -2
- package/dist/walletconnect.js +1 -1
- package/dist/walletconnect.mjs +1 -1
- package/docs/solana-wallet-adapter.md +157 -0
- package/package.json +9 -2
- package/dist/SolanaProvider-CxJX9Dzo.js +0 -1
- package/dist/SolanaProvider-CygEwKg1.mjs +0 -1
- package/dist/evm-64xq-c4L.js +0 -2
- package/dist/evm-ChOfSh-X.mjs +0 -2
- package/dist/initializerContext-DB5E2A6s.d.mts +0 -20
- package/dist/initializerContext-Z7JeZRsm.d.ts +0 -20
- package/dist/register-BAygaKgr.mjs +0 -1
- package/dist/register-CdSpQr2m.js +0 -1
- package/dist/register-CoFt8w20.mjs +0 -1
- package/dist/register-DEFLr1aE.js +0 -1
- package/dist/ui-Bd49qoIs.js +0 -1
- package/dist/ui-CI7vln8d.mjs +0 -1
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { E as RequestPermissionTokenResult, T as RequestPermissionTokenParams, a as PermissionTokenClearResult, d as WaaPAccountMode, f as WaaPAccountStatus, m as WaaPSessionExtension, o as PermissionTokenQuery, r as LoginResponse, s as PermissionTokenStatus } from "./types-
|
|
2
|
-
import { A as
|
|
3
|
-
import {
|
|
1
|
+
import { E as RequestPermissionTokenResult, T as RequestPermissionTokenParams, a as PermissionTokenClearResult, d as WaaPAccountMode, f as WaaPAccountStatus, m as WaaPSessionExtension, o as PermissionTokenQuery, r as LoginResponse, s as PermissionTokenStatus } from "./types-Cc6tc4ut.mjs";
|
|
2
|
+
import { A as SuiSignPersonalMessageInput, B as WalletIcon, C as SuiChain, D as SuiSignAndExecuteTransactionBlockOutput, E as SuiSignAndExecuteTransactionBlockInput, L as SuiWalletEventListener, M as SuiSignTransactionBlockInput, N as SuiSignTransactionBlockOutput, O as SuiSignAndExecuteTransactionInput, P as SuiSignTransactionInput, S as SuiAccount, T as SuiConnectOutput, j as SuiSignPersonalMessageOutput, k as SuiSignAndExecuteTransactionOutput, w as SuiConnectInput, x as InitWaaPSuiOptions, z as WaaPSuiWalletInterface } from "./index-BOExImk3.mjs";
|
|
3
|
+
import { c as WaaPInitializerOptions } from "./types-Bai14yLc.mjs";
|
|
4
|
+
import { t as UIMessageManager } from "./UIMessageManager-4xqSTTBS.mjs";
|
|
4
5
|
//#region src/lib/sui/SuiWallet.d.ts
|
|
5
6
|
/**
|
|
6
7
|
* WaaP Sui Wallet implementation.
|
package/dist/solana.d.mts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { _ as resolveWalletOrigin, g as WaaPWalletTargetOptions, h as WaaPEnvironment, v as validateWalletOrigin } from "./types-
|
|
2
|
-
import { a as subscribeWaaPIframeLifecycle, i as getWaaPIframeDiagnostics, n as WaaPIframeLifecycleEvent, r as WaaPIframeLifecyclePhase, t as WaaPIframeDiagnostics } from "./WalletModalController-
|
|
3
|
-
import { _ as SolanaStandardSignTransactionOutput, a as SolanaConnectOutput, b as WaaPSolanaWalletFeatures, c as SolanaSignMessageInput, d as SolanaSignTransactionOutput, f as SolanaStandardSignAndSendTransactionInput, g as SolanaStandardSignTransactionInput, h as SolanaStandardSignMessageOutput, i as SolanaConnectInput, l as SolanaSignMessageOutput, m as SolanaStandardSignMessageInput, n as SolanaAccount, o as SolanaSignAndSendTransactionInput, p as SolanaStandardSignAndSendTransactionOutput, r as SolanaChain, s as SolanaSignAndSendTransactionOutput, t as InitWaaPSolanaOptions, u as SolanaSignTransactionInput, y as WaaPSolanaProviderInterface } from "./types-
|
|
4
|
-
import { a as CancelWaaPPreload, c as preloadWaaPOnIdle, i as normalizeWaaPError, n as WaaPErrorCode, o as WaaPIdlePreloadOptions, r as WaaPOperationMetadata, s as WaaPPreloadTarget, t as WaaPError } from "./WaaPError-
|
|
5
|
-
import {
|
|
6
|
-
import { n as WaaPSolanaProvider, t as registerWaaPSolanaWallet } from "./register-
|
|
1
|
+
import { _ as resolveWalletOrigin, g as WaaPWalletTargetOptions, h as WaaPEnvironment, v as validateWalletOrigin } from "./types-Cc6tc4ut.mjs";
|
|
2
|
+
import { a as subscribeWaaPIframeLifecycle, i as getWaaPIframeDiagnostics, n as WaaPIframeLifecycleEvent, r as WaaPIframeLifecyclePhase, t as WaaPIframeDiagnostics } from "./WalletModalController-DxiBiqDf.mjs";
|
|
3
|
+
import { _ as SolanaStandardSignTransactionOutput, a as SolanaConnectOutput, b as WaaPSolanaWalletFeatures, c as SolanaSignMessageInput, d as SolanaSignTransactionOutput, f as SolanaStandardSignAndSendTransactionInput, g as SolanaStandardSignTransactionInput, h as SolanaStandardSignMessageOutput, i as SolanaConnectInput, l as SolanaSignMessageOutput, m as SolanaStandardSignMessageInput, n as SolanaAccount, o as SolanaSignAndSendTransactionInput, p as SolanaStandardSignAndSendTransactionOutput, r as SolanaChain, s as SolanaSignAndSendTransactionOutput, t as InitWaaPSolanaOptions, u as SolanaSignTransactionInput, y as WaaPSolanaProviderInterface } from "./types-C7JDjWnt.mjs";
|
|
4
|
+
import { a as CancelWaaPPreload, c as preloadWaaPOnIdle, i as normalizeWaaPError, n as WaaPErrorCode, o as WaaPIdlePreloadOptions, r as WaaPOperationMetadata, s as WaaPPreloadTarget, t as WaaPError } from "./WaaPError-C2TOEGPx.mjs";
|
|
5
|
+
import { _ as initWaaPSolana } from "./index-BOExImk3.mjs";
|
|
6
|
+
import { n as WaaPSolanaProvider, t as registerWaaPSolanaWallet } from "./register-BKCJXsHB.mjs";
|
|
7
7
|
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,7 +1,7 @@
|
|
|
1
|
-
import { _ as resolveWalletOrigin, g as WaaPWalletTargetOptions, h as WaaPEnvironment, v as validateWalletOrigin } from "./types-
|
|
2
|
-
import { a as subscribeWaaPIframeLifecycle, i as getWaaPIframeDiagnostics, n as WaaPIframeLifecycleEvent, r as WaaPIframeLifecyclePhase, t as WaaPIframeDiagnostics } from "./WalletModalController-
|
|
3
|
-
import { _ as SolanaStandardSignTransactionOutput, a as SolanaConnectOutput, b as WaaPSolanaWalletFeatures, c as SolanaSignMessageInput, d as SolanaSignTransactionOutput, f as SolanaStandardSignAndSendTransactionInput, g as SolanaStandardSignTransactionInput, h as SolanaStandardSignMessageOutput, i as SolanaConnectInput, l as SolanaSignMessageOutput, m as SolanaStandardSignMessageInput, n as SolanaAccount, o as SolanaSignAndSendTransactionInput, p as SolanaStandardSignAndSendTransactionOutput, r as SolanaChain, s as SolanaSignAndSendTransactionOutput, t as InitWaaPSolanaOptions, u as SolanaSignTransactionInput, y as WaaPSolanaProviderInterface } from "./types-
|
|
4
|
-
import { a as CancelWaaPPreload, c as preloadWaaPOnIdle, i as normalizeWaaPError, n as WaaPErrorCode, o as WaaPIdlePreloadOptions, r as WaaPOperationMetadata, s as WaaPPreloadTarget, t as WaaPError } from "./WaaPError-
|
|
5
|
-
import {
|
|
6
|
-
import { n as WaaPSolanaProvider, t as registerWaaPSolanaWallet } from "./register-
|
|
1
|
+
import { _ as resolveWalletOrigin, g as WaaPWalletTargetOptions, h as WaaPEnvironment, v as validateWalletOrigin } from "./types-Cc6tc4ut.js";
|
|
2
|
+
import { a as subscribeWaaPIframeLifecycle, i as getWaaPIframeDiagnostics, n as WaaPIframeLifecycleEvent, r as WaaPIframeLifecyclePhase, t as WaaPIframeDiagnostics } from "./WalletModalController-16mHsFv2.js";
|
|
3
|
+
import { _ as SolanaStandardSignTransactionOutput, a as SolanaConnectOutput, b as WaaPSolanaWalletFeatures, c as SolanaSignMessageInput, d as SolanaSignTransactionOutput, f as SolanaStandardSignAndSendTransactionInput, g as SolanaStandardSignTransactionInput, h as SolanaStandardSignMessageOutput, i as SolanaConnectInput, l as SolanaSignMessageOutput, m as SolanaStandardSignMessageInput, n as SolanaAccount, o as SolanaSignAndSendTransactionInput, p as SolanaStandardSignAndSendTransactionOutput, r as SolanaChain, s as SolanaSignAndSendTransactionOutput, t as InitWaaPSolanaOptions, u as SolanaSignTransactionInput, y as WaaPSolanaProviderInterface } from "./types-Bj5dDE-C.js";
|
|
4
|
+
import { a as CancelWaaPPreload, c as preloadWaaPOnIdle, i as normalizeWaaPError, n as WaaPErrorCode, o as WaaPIdlePreloadOptions, r as WaaPOperationMetadata, s as WaaPPreloadTarget, t as WaaPError } from "./WaaPError-C2TOEGPx.js";
|
|
5
|
+
import { _ as initWaaPSolana } from "./index-BkKBZpqc.js";
|
|
6
|
+
import { n as WaaPSolanaProvider, t as registerWaaPSolanaWallet } from "./register-GiWQpcBY.js";
|
|
7
7
|
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("./
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./UIMessageManager-CPw6PggC.js"),t=require("./ui-D4wp1W_E.js"),n=require("./SolanaProvider-Uv3q1b0H.js"),r=require("./register-DpEJlZIw.js");exports.WaaPError=e.x,exports.WaaPSolanaProvider=n.t,exports.getWaaPIframeDiagnostics=e.s,exports.initWaaP=t.r,exports.initWaaPSolana=t.r,exports.normalizeWaaPError=e.S,exports.preloadWaaPOnIdle=e.r,exports.registerWaaPSolanaWallet=r.t,exports.resolveWalletOrigin=e.v,exports.subscribeWaaPIframeLifecycle=e.u,exports.validateWalletOrigin=e.y;
|
package/dist/solana.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{S as e,r as t,s as n,u as r,v as i,x as a,y as o}from"./UIMessageManager-D3VN9vM8.mjs";import{r as s}from"./ui-DSsOjby7.mjs";import{t as c}from"./SolanaProvider-BKWKXTWh.mjs";import{t as l}from"./register-CLsRV5W0.mjs";export{a as WaaPError,c as WaaPSolanaProvider,n as getWaaPIframeDiagnostics,s as initWaaP,s as initWaaPSolana,e as normalizeWaaPError,t as preloadWaaPOnIdle,l as registerWaaPSolanaWallet,i as resolveWalletOrigin,r as subscribeWaaPIframeLifecycle,o as validateWalletOrigin};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { _ as resolveWalletOrigin, g as WaaPWalletTargetOptions, h as WaaPEnvironment, v as validateWalletOrigin } from "./types-Cc6tc4ut.mjs";
|
|
2
|
+
import { a as subscribeWaaPIframeLifecycle, i as getWaaPIframeDiagnostics, n as WaaPIframeLifecycleEvent, r as WaaPIframeLifecyclePhase, t as WaaPIframeDiagnostics } from "./WalletModalController-DxiBiqDf.mjs";
|
|
3
|
+
import { a as CancelWaaPPreload, c as preloadWaaPOnIdle, n as WaaPErrorCode, o as WaaPIdlePreloadOptions, s as WaaPPreloadTarget, t as WaaPError } from "./WaaPError-C2TOEGPx.mjs";
|
|
4
|
+
import { a as StellarSignBlobOptions, i as StellarNetwork, n as Sep43Error, o as StellarSignTransactionOptions, r as Sep43Result, s as WaaPStellarProviderInterface, t as InitWaaPStellarOptions } from "./types-Bai14yLc.mjs";
|
|
5
|
+
import { n as WaaPStellarProvider, t as initWaaPStellar } from "./init-C3zCj5Lc.mjs";
|
|
6
|
+
export { type CancelWaaPPreload, type InitWaaPStellarOptions, type Sep43Error, type Sep43Result, type StellarNetwork, type StellarSignBlobOptions, type StellarSignTransactionOptions, type WaaPEnvironment, WaaPError, type WaaPErrorCode, type WaaPIdlePreloadOptions, type WaaPIframeDiagnostics, type WaaPIframeLifecycleEvent, type WaaPIframeLifecyclePhase, type WaaPPreloadTarget, WaaPStellarProvider, type WaaPStellarProviderInterface, type WaaPWalletTargetOptions, getWaaPIframeDiagnostics, initWaaPStellar as initWaaP, initWaaPStellar, preloadWaaPOnIdle, resolveWalletOrigin, subscribeWaaPIframeLifecycle, validateWalletOrigin };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { _ as resolveWalletOrigin, g as WaaPWalletTargetOptions, h as WaaPEnvironment, v as validateWalletOrigin } from "./types-Cc6tc4ut.js";
|
|
2
|
+
import { a as subscribeWaaPIframeLifecycle, i as getWaaPIframeDiagnostics, n as WaaPIframeLifecycleEvent, r as WaaPIframeLifecyclePhase, t as WaaPIframeDiagnostics } from "./WalletModalController-16mHsFv2.js";
|
|
3
|
+
import { a as CancelWaaPPreload, c as preloadWaaPOnIdle, n as WaaPErrorCode, o as WaaPIdlePreloadOptions, s as WaaPPreloadTarget, t as WaaPError } from "./WaaPError-C2TOEGPx.js";
|
|
4
|
+
import { a as StellarSignBlobOptions, i as StellarNetwork, n as Sep43Error, o as StellarSignTransactionOptions, r as Sep43Result, s as WaaPStellarProviderInterface, t as InitWaaPStellarOptions } from "./types-DqdVfkaW.js";
|
|
5
|
+
import { n as WaaPStellarProvider, t as initWaaPStellar } from "./init-C-52fEJS.js";
|
|
6
|
+
export { type CancelWaaPPreload, type InitWaaPStellarOptions, type Sep43Error, type Sep43Result, type StellarNetwork, type StellarSignBlobOptions, type StellarSignTransactionOptions, type WaaPEnvironment, WaaPError, type WaaPErrorCode, type WaaPIdlePreloadOptions, type WaaPIframeDiagnostics, type WaaPIframeLifecycleEvent, type WaaPIframeLifecyclePhase, type WaaPPreloadTarget, WaaPStellarProvider, type WaaPStellarProviderInterface, type WaaPWalletTargetOptions, getWaaPIframeDiagnostics, initWaaPStellar as initWaaP, initWaaPStellar, preloadWaaPOnIdle, resolveWalletOrigin, subscribeWaaPIframeLifecycle, validateWalletOrigin };
|
package/dist/stellar.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./UIMessageManager-CPw6PggC.js"),t=require("./init-IB0dPXBp.js");exports.WaaPError=e.x,exports.WaaPStellarProvider=t.n,exports.getWaaPIframeDiagnostics=e.s,exports.initWaaP=t.t,exports.initWaaPStellar=t.t,exports.preloadWaaPOnIdle=e.r,exports.resolveWalletOrigin=e.v,exports.subscribeWaaPIframeLifecycle=e.u,exports.validateWalletOrigin=e.y;
|
package/dist/stellar.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e,s as t,u as n,v as r,x as i,y as a}from"./UIMessageManager-D3VN9vM8.mjs";import{n as o,t as s}from"./init-BljRyI7Q.mjs";export{i as WaaPError,o as WaaPStellarProvider,t as getWaaPIframeDiagnostics,s as initWaaP,s as initWaaPStellar,e as preloadWaaPOnIdle,r as resolveWalletOrigin,n as subscribeWaaPIframeLifecycle,a as validateWalletOrigin};
|
package/dist/sui.d.mts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { E as RequestPermissionTokenResult, T as RequestPermissionTokenParams, _ as resolveWalletOrigin, g as WaaPWalletTargetOptions, h as WaaPEnvironment, v as validateWalletOrigin } from "./types-
|
|
2
|
-
import { a as subscribeWaaPIframeLifecycle, i as getWaaPIframeDiagnostics, n as WaaPIframeLifecycleEvent, r as WaaPIframeLifecyclePhase, t as WaaPIframeDiagnostics } from "./WalletModalController-
|
|
3
|
-
import { a as CancelWaaPPreload, c as preloadWaaPOnIdle, i as normalizeWaaPError, n as WaaPErrorCode, o as WaaPIdlePreloadOptions, r as WaaPOperationMetadata, s as WaaPPreloadTarget, t as WaaPError } from "./WaaPError-
|
|
4
|
-
import { A as
|
|
5
|
-
import { n as WaaPSuiWallet, t as registerWaaPSuiWallet } from "./register-
|
|
1
|
+
import { E as RequestPermissionTokenResult, T as RequestPermissionTokenParams, _ as resolveWalletOrigin, g as WaaPWalletTargetOptions, h as WaaPEnvironment, v as validateWalletOrigin } from "./types-Cc6tc4ut.mjs";
|
|
2
|
+
import { a as subscribeWaaPIframeLifecycle, i as getWaaPIframeDiagnostics, n as WaaPIframeLifecycleEvent, r as WaaPIframeLifecyclePhase, t as WaaPIframeDiagnostics } from "./WalletModalController-DxiBiqDf.mjs";
|
|
3
|
+
import { a as CancelWaaPPreload, c as preloadWaaPOnIdle, i as normalizeWaaPError, n as WaaPErrorCode, o as WaaPIdlePreloadOptions, r as WaaPOperationMetadata, s as WaaPPreloadTarget, t as WaaPError } from "./WaaPError-C2TOEGPx.mjs";
|
|
4
|
+
import { A as SuiSignPersonalMessageInput, C as SuiChain, F as SuiSignTransactionOutput, I as SuiTransactionInput, O as SuiSignAndExecuteTransactionInput, P as SuiSignTransactionInput, R as WaaPSuiWalletFeatures, S as SuiAccount, T as SuiConnectOutput, j as SuiSignPersonalMessageOutput, k as SuiSignAndExecuteTransactionOutput, w as SuiConnectInput, x as InitWaaPSuiOptions, y as initWaaPSui, z as WaaPSuiWalletInterface } from "./index-BOExImk3.mjs";
|
|
5
|
+
import { n as WaaPSuiWallet, t as registerWaaPSuiWallet } from "./register-mq9fTaSt.mjs";
|
|
6
6
|
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,6 +1,6 @@
|
|
|
1
|
-
import { E as RequestPermissionTokenResult, T as RequestPermissionTokenParams, _ as resolveWalletOrigin, g as WaaPWalletTargetOptions, h as WaaPEnvironment, v as validateWalletOrigin } from "./types-
|
|
2
|
-
import { a as subscribeWaaPIframeLifecycle, i as getWaaPIframeDiagnostics, n as WaaPIframeLifecycleEvent, r as WaaPIframeLifecyclePhase, t as WaaPIframeDiagnostics } from "./WalletModalController-
|
|
3
|
-
import { a as CancelWaaPPreload, c as preloadWaaPOnIdle, i as normalizeWaaPError, n as WaaPErrorCode, o as WaaPIdlePreloadOptions, r as WaaPOperationMetadata, s as WaaPPreloadTarget, t as WaaPError } from "./WaaPError-
|
|
4
|
-
import { A as
|
|
5
|
-
import { n as WaaPSuiWallet, t as registerWaaPSuiWallet } from "./register-
|
|
1
|
+
import { E as RequestPermissionTokenResult, T as RequestPermissionTokenParams, _ as resolveWalletOrigin, g as WaaPWalletTargetOptions, h as WaaPEnvironment, v as validateWalletOrigin } from "./types-Cc6tc4ut.js";
|
|
2
|
+
import { a as subscribeWaaPIframeLifecycle, i as getWaaPIframeDiagnostics, n as WaaPIframeLifecycleEvent, r as WaaPIframeLifecyclePhase, t as WaaPIframeDiagnostics } from "./WalletModalController-16mHsFv2.js";
|
|
3
|
+
import { a as CancelWaaPPreload, c as preloadWaaPOnIdle, i as normalizeWaaPError, n as WaaPErrorCode, o as WaaPIdlePreloadOptions, r as WaaPOperationMetadata, s as WaaPPreloadTarget, t as WaaPError } from "./WaaPError-C2TOEGPx.js";
|
|
4
|
+
import { A as SuiSignPersonalMessageInput, C as SuiChain, F as SuiSignTransactionOutput, I as SuiTransactionInput, O as SuiSignAndExecuteTransactionInput, P as SuiSignTransactionInput, R as WaaPSuiWalletFeatures, S as SuiAccount, T as SuiConnectOutput, j as SuiSignPersonalMessageOutput, k as SuiSignAndExecuteTransactionOutput, w as SuiConnectInput, x as InitWaaPSuiOptions, y as initWaaPSui, z as WaaPSuiWalletInterface } from "./index-BkKBZpqc.js";
|
|
5
|
+
import { n as WaaPSuiWallet, t as registerWaaPSuiWallet } from "./register-C1hFwh4A.js";
|
|
6
6
|
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.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./UIMessageManager-CPw6PggC.js"),t=require("./ui-D4wp1W_E.js"),n=require("./register-CpvrhMCx.js");exports.WaaPError=e.x,exports.WaaPSuiWallet=t.c,exports.getWaaPIframeDiagnostics=e.s,exports.initWaaP=t.a,exports.initWaaPSui=t.a,exports.normalizeWaaPError=e.S,exports.preloadWaaPOnIdle=e.r,exports.registerWaaPSuiWallet=n.t,exports.resolveWalletOrigin=e.v,exports.subscribeWaaPIframeLifecycle=e.u,exports.validateWalletOrigin=e.y;
|
package/dist/sui.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{S as e,r as t,s as n,u as r,v as i,x as a,y as o}from"./UIMessageManager-D3VN9vM8.mjs";import{a as s,c}from"./ui-DSsOjby7.mjs";import{t as l}from"./register-DN1lfMSy.mjs";export{a as WaaPError,c as WaaPSuiWallet,n as getWaaPIframeDiagnostics,s as initWaaP,s as initWaaPSui,e as normalizeWaaPError,t as preloadWaaPOnIdle,l as registerWaaPSuiWallet,i as resolveWalletOrigin,r as subscribeWaaPIframeLifecycle,o as validateWalletOrigin};
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { d as WaaPAccountMode, f as WaaPAccountStatus, r as LoginResponse, w as ProjectConfig, x as CustomConfig } from "./types-Cc6tc4ut.mjs";
|
|
2
|
+
//#region src/lib/initializerContext.d.ts
|
|
3
|
+
type WaaPInitializerOptions = {
|
|
4
|
+
referralCode?: string;
|
|
5
|
+
project?: ProjectConfig;
|
|
6
|
+
config?: CustomConfig;
|
|
7
|
+
chains?: readonly ('evm' | 'sui' | 'solana' | 'stellar')[];
|
|
8
|
+
};
|
|
9
|
+
//#endregion
|
|
10
|
+
//#region src/lib/stellar/types.d.ts
|
|
11
|
+
/**
|
|
12
|
+
* SEP-43 — the Stellar ecosystem's standard web wallet interface.
|
|
13
|
+
*
|
|
14
|
+
* Deliberately not Wallet Standard. SEP-43 is a plain module interface, so
|
|
15
|
+
* there is no registry to publish to and no `features` map; a dapp either
|
|
16
|
+
* holds this object or it does not.
|
|
17
|
+
*
|
|
18
|
+
* The error convention is the standard's own and differs from every other
|
|
19
|
+
* facade here: a method RESOLVES with an `error` field rather than throwing.
|
|
20
|
+
* Dapps written against SEP-43 check `if (result.error)`, and a thrown
|
|
21
|
+
* exception would slip straight past that check.
|
|
22
|
+
*/
|
|
23
|
+
interface Sep43Error {
|
|
24
|
+
/** Human-readable and intended to be shown to the user as-is. */
|
|
25
|
+
message: string;
|
|
26
|
+
/**
|
|
27
|
+
* -1 internal wallet error, -2 external service, -3 invalid client request,
|
|
28
|
+
* -4 user rejected. The standard defines no "unsupported" code, so an
|
|
29
|
+
* unsupported method answers -1 and says so in `message`.
|
|
30
|
+
*/
|
|
31
|
+
code: -1 | -2 | -3 | -4;
|
|
32
|
+
/** Optional detail lines, e.g. a Horizon result code. */
|
|
33
|
+
ext?: string[];
|
|
34
|
+
}
|
|
35
|
+
type Sep43Result<T> = (T | Partial<Record<keyof T, never>>) & {
|
|
36
|
+
error?: Sep43Error;
|
|
37
|
+
};
|
|
38
|
+
type StellarNetwork = 'PUBLIC' | 'TESTNET';
|
|
39
|
+
interface StellarSignTransactionOptions {
|
|
40
|
+
networkPassphrase?: string;
|
|
41
|
+
address?: string;
|
|
42
|
+
/** Sign and submit in one call. The wallet submits through its own Horizon. */
|
|
43
|
+
submit?: boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Accepted only when it names the network the wallet is already configured
|
|
46
|
+
* for. See `StellarProvider.signTransaction` for why an arbitrary URL is
|
|
47
|
+
* refused rather than honoured.
|
|
48
|
+
*/
|
|
49
|
+
submitUrl?: string;
|
|
50
|
+
}
|
|
51
|
+
interface StellarSignBlobOptions {
|
|
52
|
+
networkPassphrase?: string;
|
|
53
|
+
address?: string;
|
|
54
|
+
}
|
|
55
|
+
interface WaaPStellarProviderInterface {
|
|
56
|
+
getAddress(): Promise<Sep43Result<{
|
|
57
|
+
address: string;
|
|
58
|
+
}>>;
|
|
59
|
+
signTransaction(xdr: string, opts?: StellarSignTransactionOptions): Promise<Sep43Result<{
|
|
60
|
+
signedTxXdr: string;
|
|
61
|
+
signerAddress: string;
|
|
62
|
+
}>>;
|
|
63
|
+
signAuthEntry(authEntry: string, opts?: StellarSignBlobOptions): Promise<Sep43Result<{
|
|
64
|
+
signedAuthEntry: string;
|
|
65
|
+
signerAddress: string;
|
|
66
|
+
}>>;
|
|
67
|
+
signMessage(message: string, opts?: StellarSignBlobOptions): Promise<Sep43Result<{
|
|
68
|
+
signedMessage: string;
|
|
69
|
+
signerAddress: string;
|
|
70
|
+
}>>;
|
|
71
|
+
getNetwork(): Promise<Sep43Result<{
|
|
72
|
+
network: StellarNetwork;
|
|
73
|
+
networkPassphrase: string;
|
|
74
|
+
}>>;
|
|
75
|
+
/** WaaP lifecycle, outside SEP-43 but needed to reach an account at all. */
|
|
76
|
+
login(): Promise<LoginResponse>;
|
|
77
|
+
logout(): Promise<void>;
|
|
78
|
+
disconnect(): Promise<void>;
|
|
79
|
+
getAccountStatus(): Promise<WaaPAccountStatus>;
|
|
80
|
+
preload(): Promise<void>;
|
|
81
|
+
destroy(): void;
|
|
82
|
+
setAccountMode(mode: WaaPAccountMode): void;
|
|
83
|
+
selectAccountMode(mode: WaaPAccountMode, options?: WaaPInitializerOptions): Promise<void>;
|
|
84
|
+
setLoginMethod(loginMethod: LoginResponse): void;
|
|
85
|
+
getLoginMethod(): LoginResponse;
|
|
86
|
+
}
|
|
87
|
+
interface InitWaaPStellarOptions extends WaaPInitializerOptions {
|
|
88
|
+
/** Defaults to pubnet. Testnet is opt-in so a mainnet dapp cannot land on it. */
|
|
89
|
+
network?: StellarNetwork;
|
|
90
|
+
walletOrigin?: string;
|
|
91
|
+
useStaging?: boolean;
|
|
92
|
+
iframeMode?: 'eager' | 'warmOnIdle' | 'lazy';
|
|
93
|
+
}
|
|
94
|
+
//#endregion
|
|
95
|
+
export { StellarSignBlobOptions as a, WaaPInitializerOptions as c, StellarNetwork as i, Sep43Error as n, StellarSignTransactionOptions as o, Sep43Result as r, WaaPStellarProviderInterface as s, InitWaaPStellarOptions as t };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { E as RequestPermissionTokenResult, T as RequestPermissionTokenParams, a as PermissionTokenClearResult, f as WaaPAccountStatus, g as WaaPWalletTargetOptions, m as WaaPSessionExtension, o as PermissionTokenQuery, r as LoginResponse, s as PermissionTokenStatus, w as ProjectConfig, x as CustomConfig } from "./types-
|
|
1
|
+
import { E as RequestPermissionTokenResult, T as RequestPermissionTokenParams, a as PermissionTokenClearResult, f as WaaPAccountStatus, g as WaaPWalletTargetOptions, m as WaaPSessionExtension, o as PermissionTokenQuery, r as LoginResponse, s as PermissionTokenStatus, w as ProjectConfig, x as CustomConfig } from "./types-Cc6tc4ut.js";
|
|
2
2
|
//#region src/lib/solana/types.d.ts
|
|
3
3
|
/** A Solana cluster identifier (CAIP-2-ish, matching wallet-adapter usage). */
|
|
4
4
|
type SolanaChain = 'solana:mainnet' | 'solana:devnet' | 'solana:testnet' | 'solana:localnet';
|
|
@@ -117,6 +117,8 @@ interface SolanaSignTransactionOutput {
|
|
|
117
117
|
}
|
|
118
118
|
interface SolanaSignAndSendTransactionInput extends SolanaSignTransactionInput {
|
|
119
119
|
options?: {
|
|
120
|
+
preflightCommitment?: 'processed' | 'confirmed' | 'finalized';
|
|
121
|
+
minContextSlot?: number;
|
|
120
122
|
skipPreflight?: boolean;
|
|
121
123
|
maxRetries?: number;
|
|
122
124
|
};
|
|
@@ -131,6 +133,11 @@ type SolanaWalletEventListener = (properties: {
|
|
|
131
133
|
accounts?: readonly SolanaAccount[];
|
|
132
134
|
}) => void;
|
|
133
135
|
interface InitWaaPSolanaOptions extends WaaPWalletTargetOptions {
|
|
136
|
+
/**
|
|
137
|
+
* Cluster used when a sign-only request omits its chain (as wallet-adapter
|
|
138
|
+
* does). Match the dapp's ConnectionProvider endpoint. Defaults to mainnet.
|
|
139
|
+
*/
|
|
140
|
+
defaultChain?: Exclude<SolanaChain, 'solana:localnet'>;
|
|
134
141
|
referralCode?: string;
|
|
135
142
|
project?: ProjectConfig;
|
|
136
143
|
config?: CustomConfig;
|
|
@@ -142,7 +149,7 @@ interface InitWaaPSolanaOptions extends WaaPWalletTargetOptions {
|
|
|
142
149
|
}
|
|
143
150
|
interface WaaPSolanaProviderInterface {
|
|
144
151
|
readonly name: string;
|
|
145
|
-
readonly version:
|
|
152
|
+
readonly version: '1.0.0';
|
|
146
153
|
/** Wallet Standard icon data URI. */
|
|
147
154
|
readonly icon: `data:image/${'svg+xml' | 'webp' | 'png' | 'gif'};base64,${string}`;
|
|
148
155
|
readonly chains: readonly SolanaChain[];
|
|
@@ -166,7 +173,7 @@ interface WaaPSolanaProviderInterface {
|
|
|
166
173
|
setLoginMethod(loginMethod: LoginResponse): void;
|
|
167
174
|
connect(input?: SolanaConnectInput): Promise<SolanaConnectOutput>;
|
|
168
175
|
disconnect(): Promise<void>;
|
|
169
|
-
/** Release SDK
|
|
176
|
+
/** Release SDK listeners and remove an initializer-owned registry entry. */
|
|
170
177
|
destroy(): void;
|
|
171
178
|
/** Mount (if deferred) and complete the wallet handshake ahead of use. */
|
|
172
179
|
preload(): Promise<void>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { E as RequestPermissionTokenResult, T as RequestPermissionTokenParams, a as PermissionTokenClearResult, f as WaaPAccountStatus, g as WaaPWalletTargetOptions, m as WaaPSessionExtension, o as PermissionTokenQuery, r as LoginResponse, s as PermissionTokenStatus, w as ProjectConfig, x as CustomConfig } from "./types-
|
|
1
|
+
import { E as RequestPermissionTokenResult, T as RequestPermissionTokenParams, a as PermissionTokenClearResult, f as WaaPAccountStatus, g as WaaPWalletTargetOptions, m as WaaPSessionExtension, o as PermissionTokenQuery, r as LoginResponse, s as PermissionTokenStatus, w as ProjectConfig, x as CustomConfig } from "./types-Cc6tc4ut.mjs";
|
|
2
2
|
//#region src/lib/solana/types.d.ts
|
|
3
3
|
/** A Solana cluster identifier (CAIP-2-ish, matching wallet-adapter usage). */
|
|
4
4
|
type SolanaChain = 'solana:mainnet' | 'solana:devnet' | 'solana:testnet' | 'solana:localnet';
|
|
@@ -117,6 +117,8 @@ interface SolanaSignTransactionOutput {
|
|
|
117
117
|
}
|
|
118
118
|
interface SolanaSignAndSendTransactionInput extends SolanaSignTransactionInput {
|
|
119
119
|
options?: {
|
|
120
|
+
preflightCommitment?: 'processed' | 'confirmed' | 'finalized';
|
|
121
|
+
minContextSlot?: number;
|
|
120
122
|
skipPreflight?: boolean;
|
|
121
123
|
maxRetries?: number;
|
|
122
124
|
};
|
|
@@ -131,6 +133,11 @@ type SolanaWalletEventListener = (properties: {
|
|
|
131
133
|
accounts?: readonly SolanaAccount[];
|
|
132
134
|
}) => void;
|
|
133
135
|
interface InitWaaPSolanaOptions extends WaaPWalletTargetOptions {
|
|
136
|
+
/**
|
|
137
|
+
* Cluster used when a sign-only request omits its chain (as wallet-adapter
|
|
138
|
+
* does). Match the dapp's ConnectionProvider endpoint. Defaults to mainnet.
|
|
139
|
+
*/
|
|
140
|
+
defaultChain?: Exclude<SolanaChain, 'solana:localnet'>;
|
|
134
141
|
referralCode?: string;
|
|
135
142
|
project?: ProjectConfig;
|
|
136
143
|
config?: CustomConfig;
|
|
@@ -142,7 +149,7 @@ interface InitWaaPSolanaOptions extends WaaPWalletTargetOptions {
|
|
|
142
149
|
}
|
|
143
150
|
interface WaaPSolanaProviderInterface {
|
|
144
151
|
readonly name: string;
|
|
145
|
-
readonly version:
|
|
152
|
+
readonly version: '1.0.0';
|
|
146
153
|
/** Wallet Standard icon data URI. */
|
|
147
154
|
readonly icon: `data:image/${'svg+xml' | 'webp' | 'png' | 'gif'};base64,${string}`;
|
|
148
155
|
readonly chains: readonly SolanaChain[];
|
|
@@ -166,7 +173,7 @@ interface WaaPSolanaProviderInterface {
|
|
|
166
173
|
setLoginMethod(loginMethod: LoginResponse): void;
|
|
167
174
|
connect(input?: SolanaConnectInput): Promise<SolanaConnectOutput>;
|
|
168
175
|
disconnect(): Promise<void>;
|
|
169
|
-
/** Release SDK
|
|
176
|
+
/** Release SDK listeners and remove an initializer-owned registry entry. */
|
|
170
177
|
destroy(): void;
|
|
171
178
|
/** Mount (if deferred) and complete the wallet handshake ahead of use. */
|
|
172
179
|
preload(): Promise<void>;
|
|
@@ -62,6 +62,11 @@ declare enum SILK_METHOD {
|
|
|
62
62
|
solana_signTransaction = "solana_signTransaction",
|
|
63
63
|
solana_signAllTransactions = "solana_signAllTransactions",
|
|
64
64
|
solana_signAndSendTransaction = "solana_signAndSendTransaction",
|
|
65
|
+
stellar_connect = "stellar_connect",
|
|
66
|
+
stellar_disconnect = "stellar_disconnect",
|
|
67
|
+
stellar_signMessage = "stellar_signMessage",
|
|
68
|
+
stellar_signTransaction = "stellar_signTransaction",
|
|
69
|
+
stellar_signAndSendTransaction = "stellar_signAndSendTransaction",
|
|
65
70
|
set_signing_mode = "set_signing_mode",
|
|
66
71
|
enter_lite_mode = "enter_lite_mode"
|
|
67
72
|
}
|
|
@@ -62,6 +62,11 @@ declare enum SILK_METHOD {
|
|
|
62
62
|
solana_signTransaction = "solana_signTransaction",
|
|
63
63
|
solana_signAllTransactions = "solana_signAllTransactions",
|
|
64
64
|
solana_signAndSendTransaction = "solana_signAndSendTransaction",
|
|
65
|
+
stellar_connect = "stellar_connect",
|
|
66
|
+
stellar_disconnect = "stellar_disconnect",
|
|
67
|
+
stellar_signMessage = "stellar_signMessage",
|
|
68
|
+
stellar_signTransaction = "stellar_signTransaction",
|
|
69
|
+
stellar_signAndSendTransaction = "stellar_signAndSendTransaction",
|
|
65
70
|
set_signing_mode = "set_signing_mode",
|
|
66
71
|
enter_lite_mode = "enter_lite_mode"
|
|
67
72
|
}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { d as WaaPAccountMode, f as WaaPAccountStatus, r as LoginResponse, w as ProjectConfig, x as CustomConfig } from "./types-Cc6tc4ut.js";
|
|
2
|
+
//#region src/lib/initializerContext.d.ts
|
|
3
|
+
type WaaPInitializerOptions = {
|
|
4
|
+
referralCode?: string;
|
|
5
|
+
project?: ProjectConfig;
|
|
6
|
+
config?: CustomConfig;
|
|
7
|
+
chains?: readonly ('evm' | 'sui' | 'solana' | 'stellar')[];
|
|
8
|
+
};
|
|
9
|
+
//#endregion
|
|
10
|
+
//#region src/lib/stellar/types.d.ts
|
|
11
|
+
/**
|
|
12
|
+
* SEP-43 — the Stellar ecosystem's standard web wallet interface.
|
|
13
|
+
*
|
|
14
|
+
* Deliberately not Wallet Standard. SEP-43 is a plain module interface, so
|
|
15
|
+
* there is no registry to publish to and no `features` map; a dapp either
|
|
16
|
+
* holds this object or it does not.
|
|
17
|
+
*
|
|
18
|
+
* The error convention is the standard's own and differs from every other
|
|
19
|
+
* facade here: a method RESOLVES with an `error` field rather than throwing.
|
|
20
|
+
* Dapps written against SEP-43 check `if (result.error)`, and a thrown
|
|
21
|
+
* exception would slip straight past that check.
|
|
22
|
+
*/
|
|
23
|
+
interface Sep43Error {
|
|
24
|
+
/** Human-readable and intended to be shown to the user as-is. */
|
|
25
|
+
message: string;
|
|
26
|
+
/**
|
|
27
|
+
* -1 internal wallet error, -2 external service, -3 invalid client request,
|
|
28
|
+
* -4 user rejected. The standard defines no "unsupported" code, so an
|
|
29
|
+
* unsupported method answers -1 and says so in `message`.
|
|
30
|
+
*/
|
|
31
|
+
code: -1 | -2 | -3 | -4;
|
|
32
|
+
/** Optional detail lines, e.g. a Horizon result code. */
|
|
33
|
+
ext?: string[];
|
|
34
|
+
}
|
|
35
|
+
type Sep43Result<T> = (T | Partial<Record<keyof T, never>>) & {
|
|
36
|
+
error?: Sep43Error;
|
|
37
|
+
};
|
|
38
|
+
type StellarNetwork = 'PUBLIC' | 'TESTNET';
|
|
39
|
+
interface StellarSignTransactionOptions {
|
|
40
|
+
networkPassphrase?: string;
|
|
41
|
+
address?: string;
|
|
42
|
+
/** Sign and submit in one call. The wallet submits through its own Horizon. */
|
|
43
|
+
submit?: boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Accepted only when it names the network the wallet is already configured
|
|
46
|
+
* for. See `StellarProvider.signTransaction` for why an arbitrary URL is
|
|
47
|
+
* refused rather than honoured.
|
|
48
|
+
*/
|
|
49
|
+
submitUrl?: string;
|
|
50
|
+
}
|
|
51
|
+
interface StellarSignBlobOptions {
|
|
52
|
+
networkPassphrase?: string;
|
|
53
|
+
address?: string;
|
|
54
|
+
}
|
|
55
|
+
interface WaaPStellarProviderInterface {
|
|
56
|
+
getAddress(): Promise<Sep43Result<{
|
|
57
|
+
address: string;
|
|
58
|
+
}>>;
|
|
59
|
+
signTransaction(xdr: string, opts?: StellarSignTransactionOptions): Promise<Sep43Result<{
|
|
60
|
+
signedTxXdr: string;
|
|
61
|
+
signerAddress: string;
|
|
62
|
+
}>>;
|
|
63
|
+
signAuthEntry(authEntry: string, opts?: StellarSignBlobOptions): Promise<Sep43Result<{
|
|
64
|
+
signedAuthEntry: string;
|
|
65
|
+
signerAddress: string;
|
|
66
|
+
}>>;
|
|
67
|
+
signMessage(message: string, opts?: StellarSignBlobOptions): Promise<Sep43Result<{
|
|
68
|
+
signedMessage: string;
|
|
69
|
+
signerAddress: string;
|
|
70
|
+
}>>;
|
|
71
|
+
getNetwork(): Promise<Sep43Result<{
|
|
72
|
+
network: StellarNetwork;
|
|
73
|
+
networkPassphrase: string;
|
|
74
|
+
}>>;
|
|
75
|
+
/** WaaP lifecycle, outside SEP-43 but needed to reach an account at all. */
|
|
76
|
+
login(): Promise<LoginResponse>;
|
|
77
|
+
logout(): Promise<void>;
|
|
78
|
+
disconnect(): Promise<void>;
|
|
79
|
+
getAccountStatus(): Promise<WaaPAccountStatus>;
|
|
80
|
+
preload(): Promise<void>;
|
|
81
|
+
destroy(): void;
|
|
82
|
+
setAccountMode(mode: WaaPAccountMode): void;
|
|
83
|
+
selectAccountMode(mode: WaaPAccountMode, options?: WaaPInitializerOptions): Promise<void>;
|
|
84
|
+
setLoginMethod(loginMethod: LoginResponse): void;
|
|
85
|
+
getLoginMethod(): LoginResponse;
|
|
86
|
+
}
|
|
87
|
+
interface InitWaaPStellarOptions extends WaaPInitializerOptions {
|
|
88
|
+
/** Defaults to pubnet. Testnet is opt-in so a mainnet dapp cannot land on it. */
|
|
89
|
+
network?: StellarNetwork;
|
|
90
|
+
walletOrigin?: string;
|
|
91
|
+
useStaging?: boolean;
|
|
92
|
+
iframeMode?: 'eager' | 'warmOnIdle' | 'lazy';
|
|
93
|
+
}
|
|
94
|
+
//#endregion
|
|
95
|
+
export { StellarSignBlobOptions as a, WaaPInitializerOptions as c, StellarNetwork as i, Sep43Error as n, StellarSignTransactionOptions as o, Sep43Result as r, WaaPStellarProviderInterface as s, InitWaaPStellarOptions as t };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("./UIMessageManager-CPw6PggC.js"),t=require("./asyncSigning-B0KrmKk7.js"),n=require("./SolanaProvider-Uv3q1b0H.js"),r=require("./init-IB0dPXBp.js"),i=require("./evm-_ReyhrCP.js");let a=require("events"),o=require("@wallet-standard/app");function s(){try{if(typeof process<`u`&&process.env)return(process.env.NEXT_PUBLIC_WAAP_MAINTENANCE||process.env.VITE_WAAP_MAINTENANCE||process.env.REACT_APP_WAAP_MAINTENANCE||process.env.WAAP_MAINTENANCE)===`true`}catch{return!1}return!1}function c(){try{return typeof localStorage<`u`&&localStorage.getItem(`waap_maintenance_override`)===`1`}catch{return!1}}function l(){if(s()&&!c())throw new e.x(`maintenance`,`WaaP is temporarily unavailable for maintenance.`)}const u={"sui:mainnet":`https://sui-rpc.publicnode.com`,"sui:testnet":`https://sui-testnet-rpc.publicnode.com`,"sui:devnet":`https://fullnode.devnet.sui.io`,"sui:localnet":`http://127.0.0.1:9000`},d=e=>u[e],f=e=>e.slice(4);var p=class{constructor(t,n={},r,i=n){this.lastKnownConversion=`pending`,this.name=`WaaP`,this.version=`1.0.0`,this.icon=`data:image/webp;base64,UklGRpoDAABXRUJQVlA4WAoAAAAQAAAAYwAAYwAAQUxQSDMDAAABJyAQSOFmFxERA8TatqpGoimANbEAxlBAPhSgQP9FyXv3vkcFEf134EZS5DREhGvTM8z0ki8stMRvK4cm8bk5rIu3xNbvkgPk4K6ti5IHquRQnLi6KrdBb81hdyF1jTLM1CW425943iba38/djOcG+dg85p/KXGd/g7+xAzJ2VPWTS8R+q65uA1ZcwG3iZ4urjw9Lh4xn83n3gZmQQ3VMVGEO6D403jdr81Ml1OISAAf7RGImBHISwQ5zCJonTuEyOyP7Sga4cDcjMPgXuiK9cUpaGrIDJtH4iAB25utB8O0DDztOKTr8u9hpX0jrx6k8UM5eAlqsynNxlX9tPRLQEtySKwcDOIDnMqEcek1UnylVNac4r0mlypNvhmCNODlhUXuT4fxTQyrDKY0uyV+gi0iiLLpY76A08C/IX8GQoYb8PcVxK7HkZkT5IjAF4gZicOfJW1ovJjyAlYVPlM6BkkHGI0fniAIZIXC0CbAM92BB8SBznU0ITYLr9XkfnKlDgV8170HGMWwitY51+zxcgkftLD4RLh4HSTIa3QzRWKxlaHZTz21s6GLxnBmjogkVilW4kuaMMMGUfgkZ1JhrBSEANrEDMwucAXgbTqIExY3FYRMdtkQRDFjD6BKtJ2GWTopGRY4P9DBkdE4rp9LJHuYhju45oeVZVv3zNmVdZiIOffHDppOz0Q34p0e/+nXy7JmF1846lmF2ZombLt8pgZpbPNeqpJSVJ0bGd4cH8dUNflNPfdQVXUkC95UQS0ZGfDmOJgjs3IyVOExZBEsxONd080gYK/ftQ2nbYaqGW89Hu7M6avmzXEjhO4G8O8ae8gwWtwZsyp8v8j/ys5H7bM+unOfurO4bbbL4v865Nb8s98Ld2X9yg6tLBQanMP8fhplOMMN8fiNDzTvNOMXGuYzejo12vY7s3clhXwgDPuBIcxi9QZftbKVxAjLCcVQdRxGR1QknhCs3GuieMLzfrrC9RhfJgVpcXRn71nZfEjsiYy/Ca1J7ch0clK64ReH3G/s2cekpP+BIx2YteMvSoLy6G9FCgd1nvF/VoVRtJoNJNLQ0RM3BXY9WgPbcHF78swAAVlA4IEAAAACwBQCdASpkAGQAPpFIoUylpCMiIKgAsBIJaW7hc+AAY2upvcReWAa6m9xF5YBrqb3EXlgGngAA/v81aVcAAAAA`,this._accounts=[],this.accountMode=`tap`,this.loginMethod=null,this._chains=[`sui:mainnet`,`sui:testnet`,`sui:devnet`],this.internalEventEmitter=new a.EventEmitter,this.changeListeners=new Set,this.initializerPromise=null,this.initializedIframeWindow=null,this.walletMessageManager=new e.d(t,e.v(n)),this.ensureIframe=r,this.iframeMounted=!r,this.initializerOptions=i,this.uiMessageManager=new e.t,this.walletMessageManager.addListener({handleResponse:e=>{this.internalEventEmitter.emit(e.id,e)},handleRequest:t=>{t.method===e.w.show_modal?this.uiMessageManager.emit(`show_modal`):t.method===e.w.hide_modal&&this.uiMessageManager.emit(`hide_modal`)},onAccountChanged:async e=>{try{let e=await this.refreshAccounts();this.notifyChange({accounts:e.accounts})}catch(e){console.error(`Failed to refresh Sui accounts:`,e),this._accounts=[],this.notifyChange({accounts:[]})}}})}destroy(){this.walletMessageManager.dispose(),this.internalEventEmitter.removeAllListeners(),this.uiMessageManager.removeAllListeners(),this.changeListeners.clear(),this._accounts=[]}ensureIframeMounted(){if(this.iframeMounted||!this.ensureIframe)return;let e=this.ensureIframe();if(!e)throw Error(`Failed to create WaaP iframe`);this.iframeMounted=!0,this.walletMessageManager.setIframeWindow(e)}async preload(){if(!this.ensureIframe)return;this.ensureIframeMounted();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=e.m(t,()=>this.selectAccountMode(this.accountMode,this.initializerOptions));try{await this.initializerPromise}catch(e){throw this.initializerPromise=null,this.initializedIframeWindow=null,e}}async ensureInitialized(){await this.preload()}async refreshAccounts(){try{await this.ensureInitialized();let e=await this.postRequestAndWait({method:`sui_connect`,params:[{silent:!0}],interactionRequired:!1});if(e.error)return this._accounts=[],{accounts:[]};let t=e.data?.accounts||[];return this._accounts=t,{accounts:this._accounts}}catch{return this._accounts=[],{accounts:[]}}}get chains(){return this._chains}get accounts(){return this._accounts}get ui(){return this.uiMessageManager}getAccountStatus(){return{authenticated:this.loginMethod!==null,loginMethod:this.loginMethod,activeMode:this.loginMethod?this.accountMode:null,mode:this.accountMode,conversion:this.loginMethod?this.lastKnownConversion:`not_required`,tap:null,squid:null,accounts:this._accounts[0]?{sui:this._accounts[0].address}:{}}}get session(){return{login:()=>this.login(),logout:()=>this.logout(),getLoginMethod:()=>this.getLoginMethod(),getAccountStatus:()=>this.getCanonicalAccountStatus()}}async getCanonicalAccountStatus(){await this.ensureInitialized();let t=await this.postRequestAndWait({method:e.w.waap_getAccountStatus,params:[],interactionRequired:!1});if(t.error)throw Error(t.error.message||`Failed to read WaaP status`);let n=t.data;return this.syncLoginMethodFromCanonicalStatus(n),n?.conversion&&(this.lastKnownConversion=n.conversion),n}setAccountMode(e){this.accountMode=e,this.initializerPromise=null,this.initializedIframeWindow=null}async selectAccountMode(t,n={}){await this.walletMessageManager.pingIframe(),await this.postRequestAndWait({method:e.w.set_signing_mode,params:[e.f(t,n)],interactionRequired:!1})}setLoginMethod(e){this.loginMethod=e,e===null&&(this._accounts=[],this.notifyChange({accounts:[]}))}getLoginMethod(){return this.loginMethod}async login(){await this.ensureInitialized();let t=await this.restoreSession();if(t)return t;let n=(await this.postRequestAndWait({method:e.w.login,params:[],interactionRequired:!0})).data;return n!==`waap`&&n!==`human`&&n!==`injected`&&n!==`walletconnect`?(this.loginMethod=null,null):(this.loginMethod=n,n)}async logout(){this.lastKnownConversion=`pending`,await this.ensureInitialized(),await this.postRequestAndWait({method:e.w.logout,params:[],interactionRequired:!1}),this.loginMethod=null,this._accounts=[],this.notifyChange({accounts:[]})}async connect(t){if(!this.loginMethod){if(t?.silent)throw new e.x(`not_authenticated`,`Not authenticated: a silent connect cannot open login.`,{operation:{chain:`sui`,method:`sui_connect`}});if(!await this.login())throw new e.x(`user_rejected`,`User rejected WaaP login during connect().`,{operation:{chain:`sui`,method:`sui_connect`}})}await this.ensureInitialized();let n=await this.postRequestAndWait({method:`sui_connect`,params:[t||{}],interactionRequired:!t?.silent,signal:t?.signal,timeoutMs:t?.timeoutMs});if(n.error)throw Error(n.error.message||`Failed to connect`);let r=n.data?.accounts||[];return this._accounts=r,this.notifyChange({accounts:this._accounts}),t?.silent||this.internalEventEmitter.emit(`connect`),this.internalEventEmitter.emit(`accountsChanged`,this._accounts.map(e=>e.address)),{accounts:this._accounts}}async restoreSession(){try{let e=await this.getCanonicalAccountStatus();if(e.authenticated&&(e.loginMethod===`waap`||e.loginMethod===`human`||e.loginMethod===`injected`||e.loginMethod===`walletconnect`))return this.loginMethod=e.loginMethod,e.loginMethod}catch{}return null}syncLoginMethodFromCanonicalStatus(e){let t=e.authenticated&&(e.loginMethod===`waap`||e.loginMethod===`human`||e.loginMethod===`injected`||e.loginMethod===`walletconnect`)?e.loginMethod:null;t!==this.loginMethod&&this.setLoginMethod(t)}async disconnect(){await this.ensureInitialized(),await this.postRequestAndWait({method:`sui_disconnect`,params:[],interactionRequired:!1}),this._accounts=[],this.notifyChange({accounts:[]})}async signPersonalMessage(e){await this.ensureInitialized();let t=e.account.address;if(!this._accounts.some(e=>e.address===t))throw Error(`Account ${t} is not connected`);let n=await this.postRequestAndWait({method:`sui_signPersonalMessage`,params:[{message:Array.from(e.message),account:t,chain:e.chain}],interactionRequired:!0,signal:e.signal,timeoutMs:e.timeoutMs});if(n.error)throw Error(n.error.message||`Failed to sign message`);return{bytes:n.data.bytes,signature:n.data.signature}}async extractTransferAddresses(e,t=!1){try{let{Transaction:n}=await import(`@mysten/sui/transactions`),r=(t?n.fromKind(e):n.from(e)).getData(),i=[];for(let e of r.commands){if(e.$kind!==`TransferObjects`)continue;let t=e.TransferObjects.address;if(t.$kind!==`Input`)continue;let n=t.Input,a=r.inputs[n];if(!a||a.$kind!==`Pure`)continue;let o=Uint8Array.from(atob(a.Pure.bytes),e=>e.charCodeAt(0));if(o.length!==32)continue;let s=`0x`+Array.from(o).map(e=>e.toString(16).padStart(2,`0`)).join(``);i.push(s)}return i}catch{return[]}}async resolveTransactionBytes(e,t=`sui:mainnet`){if(e instanceof Uint8Array)return{bytes:e,kind:`transaction-data`};if(Array.isArray(e))return{bytes:new Uint8Array(e),kind:`transaction-data`};if(typeof e==`string`)try{return{bytes:Uint8Array.from(atob(e),e=>e.charCodeAt(0)),kind:`transaction-data`}}catch{throw Error(`Transaction string must be base64 encoded bytes. If you have a serialized transaction JSON, please build it to bytes first.`)}else if(e&&typeof e==`object`){if(typeof e.build==`function`)try{let{SuiJsonRpcClient:n}=await import(`@mysten/sui/jsonRpc`),r=f(t),i=new n({url:d(t),network:r});return{bytes:await e.build({client:i,onlyTransactionKind:!0}),kind:`transaction-kind`}}catch(e){throw console.warn(`[SuiWallet] Failed to build transaction object:`,e),Error(`Failed to build transaction: ${e instanceof Error?e.message:String(e)}`)}if(typeof e.serialize==`function`)try{let t=await e.serialize();if(typeof t==`string`)return{bytes:Uint8Array.from(atob(t),e=>e.charCodeAt(0)),kind:`transaction-data`};if(t instanceof Uint8Array)return{bytes:t,kind:`transaction-data`}}catch(e){console.warn(`[SuiWallet] serialize() failed:`,e)}if(typeof e.toJSON==`function`)try{let t=await e.toJSON();if(typeof t==`string`)try{return{bytes:Uint8Array.from(atob(t),e=>e.charCodeAt(0)),kind:`transaction-data`}}catch{try{let e=JSON.parse(t);if(e.bytes&&typeof e.bytes==`string`)return{bytes:Uint8Array.from(atob(e.bytes),e=>e.charCodeAt(0)),kind:`transaction-data`}}catch{}}}catch(e){console.warn(`[SuiWallet] toJSON() failed:`,e)}if(typeof e.getData==`function`)try{let t=e.getData();if(t instanceof Uint8Array)return{bytes:t,kind:`transaction-data`}}catch(e){console.warn(`[SuiWallet] getData() failed:`,e)}throw Error(`Unsupported transaction format. Keys: ${Object.keys(e).join(`, `)}`)}else throw Error(`Unsupported transaction format: ${typeof e}. Please pass Uint8Array bytes or a Transaction object.`)}async signTransaction(e){await this.ensureInitialized();let t=e.account.address;if(!this._accounts.some(e=>e.address===t))throw Error(`Account ${t} is not connected`);let n=await this.resolveTransactionBytes(e.transaction,e.chain),r=await this.postRequestAndWait({method:`sui_signTransaction`,params:[{...n.kind===`transaction-kind`?{transactionKind:Array.from(n.bytes)}:{transaction:Array.from(n.bytes)},account:t,chain:e.chain,withPT:e.withPT}],interactionRequired:!0,signal:e.signal,timeoutMs:e.timeoutMs});if(r.error)throw Error(r.error.message||`Failed to sign transaction`);return{bytes:r.data.bytes,signature:r.data.signature}}async signAndExecuteTransaction(e){await this.ensureInitialized();let t=e.account.address;if(!this._accounts.some(e=>e.address===t))throw Error(`Account ${t} is not connected`);let n=await this.resolveTransactionBytes(e.transaction,e.chain),r=await this.extractTransferAddresses(n.bytes,n.kind===`transaction-kind`),i=await this.postRequestAndWait({method:`sui_signAndExecuteTransaction`,params:[{...n.kind===`transaction-kind`?{transactionKind:Array.from(n.bytes)}:{transaction:Array.from(n.bytes)},account:t,chain:e.chain,options:e.options,requestType:e.requestType,withPT:e.withPT,toAddresses:r.length>0?r:void 0}],interactionRequired:!0,signal:e.signal,timeoutMs:e.timeoutMs});if(i.error)throw Error(i.error.message||`Failed to sign and execute transaction`);return i.data}async switchChain(e){if(await this.ensureInitialized(),!this._chains.includes(e.chain))throw Error(`Chain ${e.chain} is not supported`);let t=await this.postRequestAndWait({method:`sui_switchChain`,params:[e],interactionRequired:!1});if(t.error)throw Error(t.error.message||`Failed to switch chain`);this.notifyChange({chains:this._chains,accounts:this._accounts})}on(e,t){return e===`change`?(this.changeListeners.add(t),()=>{this.changeListeners.delete(t)}):(this.internalEventEmitter.on(e,t),()=>{this.internalEventEmitter.removeListener(e,t)})}removeListener(e,t){if(e===`change`){this.changeListeners.delete(t);return}this.internalEventEmitter.removeListener(e,t)}get features(){return{"standard:connect":{version:`1.0.0`,connect:this.connect.bind(this)},"standard:disconnect":{version:`1.0.0`,disconnect:this.disconnect.bind(this)},"standard:events":{version:`1.0.0`,on:this.on.bind(this)},"sui:signPersonalMessage":{version:`1.1.0`,signPersonalMessage:this.signPersonalMessage.bind(this)},"sui:signTransaction":{version:`2.0.0`,signTransaction:this.signTransaction.bind(this)},"sui:signAndExecuteTransaction":{version:`1.0.0`,signAndExecuteTransaction:this.signAndExecuteTransaction.bind(this)},"sui:signTransactionBlock":{version:`2.0.0`,signTransactionBlock:this.signTransactionBlock.bind(this)},"sui:signAndExecuteTransactionBlock":{version:`1.0.0`,signAndExecuteTransactionBlock:this.signAndExecuteTransactionBlock.bind(this)},"sui:switchChain":{version:`1.0.0`,switchChain:this.switchChain.bind(this)}}}async signTransactionBlock(e){return this.signTransaction({transaction:e.transactionBlock,account:e.account,chain:e.chain,signal:e.signal,timeoutMs:e.timeoutMs,withPT:e.withPT})}async signAndExecuteTransactionBlock(e){return this.signAndExecuteTransaction({transaction:e.transactionBlock,account:e.account,chain:e.chain,options:e.options,requestType:e.requestType,signal:e.signal,timeoutMs:e.timeoutMs,withPT:e.withPT})}async requestPermissionToken(t){await this.ensureInitialized();let n={...t,walletMode:this.accountMode},r=await this.postRequestAndWait({method:e.w.waap_requestPermissionToken,params:[n],interactionRequired:!0});if(r.error)throw Error(r.error.message||`Failed to request permission token`);return r.data}async getPermissionTokenStatus(t){return await this.ensureInitialized(),(await this.postRequestAndWait({method:e.w.waap_getPermissionTokenStatus,params:[t],interactionRequired:!1})).data}async clearPermissionToken(t){return await this.ensureInitialized(),(await this.postRequestAndWait({method:e.w.waap_clearPermissionToken,params:[t],interactionRequired:!1})).data}async requestEmail(){await this.ensureInitialized();let t=await this.postRequestAndWait({method:e.w.silk_requestEmail,params:[],interactionRequired:!0});if(t.error)throw Error(t.error.message||`Failed to request email`);return t.data}async postRequestAndWait(t){let n;try{t.interactionRequired&&e.l({layout:t.method===e.w.login?`auth`:`signing`}),n=await this.walletMessageManager.postSilkRequest({method:t.method,params:t.params,interactionRequired:t.interactionRequired});let r=await e.o({eventEmitter:this.internalEventEmitter,id:n,method:t.method,interactionRequired:t.interactionRequired,signal:t.signal,timeoutMs:t.timeoutMs,onCancel:()=>{this.walletMessageManager.cancelSilkRequest(n,t.method),t.interactionRequired&&e.c()}});if(r.error)throw Error(r.error.message);return r}catch(r){throw t.interactionRequired&&n===void 0&&e.c(),e.S(r,{chain:`sui`,method:String(t.method),requestId:n})}}notifyChange(e){Array.from(this.changeListeners).forEach(t=>{t(e)})}};function m(t,n,r=!0){let i=()=>(e.g(t),e.h(n).contentWindow),a=t.deferIframe===!1,o=t.deferIframe===void 0,s=a?i():null;if(a&&!s)throw Error(`Failed to create WaaP iframe`);let c=new p(s,t,i,{...t,chains:[`sui`]});c.setAccountMode(n),r&&a&&c.preload().catch(()=>void 0);let l=c.destroy.bind(c);if(c.destroy=()=>{l(),e._()},r&&o){let t=e.r(c),n=c.destroy.bind(c);c.destroy=()=>{t(),n()}}return c.ui.on(`show_modal`,()=>{e.l(),document.querySelectorAll(`[data-dapp-kit][class*="overlay"]`).forEach(e=>{e.style.display=`none`})}),c.ui.on(`hide_modal`,()=>{e.c(),document.querySelectorAll(`[data-dapp-kit][class*="overlay"]`).forEach(e=>{e.style.display=``})}),c}function h(e){if(typeof window>`u`)return;let t=e.destroy.bind(e),n=new Set,r=new Set,i=!1,a=t=>{if(i||n.has(t.register))return;n.add(t.register);let a=t.register(e);i?a():r.add(a)},s=e=>{a(e.detail)};e.destroy=()=>{if(!i){i=!0,window.removeEventListener(`wallet-standard:app-ready`,s);for(let e of r)try{e()}catch(e){console.error(`Failed to unregister WaaP from a wallet registry`,e)}r.clear(),n.clear(),t()}},window.addEventListener(`wallet-standard:app-ready`,s),a((0,o.getWallets)()),!i&&window.dispatchEvent(new CustomEvent(`wallet-standard:register-wallet`,{detail:a}))}function g(t={}){let r=()=>(e.g(t),e.h(`tap`).contentWindow),i=t.deferIframe===!1,a=t.deferIframe===void 0,o=i?r():null;if(i&&!o)throw Error(`Failed to create WaaP iframe`);let s=new n.t(o,t,r,{...t,chains:[`solana`]});i&&s.preload().catch(()=>void 0);let c=s.destroy.bind(s);if(s.destroy=()=>{c(),e._()},a){let t=e.r(s),n=s.destroy.bind(s);s.destroy=()=>{t(),n()}}return s.ui.on(`show_modal`,()=>{e.l()}),s.ui.on(`hide_modal`,()=>{e.c()}),h(s),s}function _(e={}){if(l(),`chains`in e)throw Error("initWaaP accepts one `chain`; use initWaaPMulti({ chains }) for TAP.");switch(e.chain){case`sui`:return m(e,`tap`);case`solana`:return g(e);case`stellar`:return r.t(e);case void 0:case`evm`:return i.t(e);default:throw Error(`initWaaP received an unsupported chain: ${String(e.chain)}`)}}const v=[`evm`,`sui`,`solana`],y=[`evm`,`sui`,`solana`];function b(r){l();let a=Array.from(new Set(r.chains??[]));if(a.length===0)throw Error(`initWaaPSquid requires at least one chain facade`);if(a.some(e=>!v.includes(e)))throw Error(`initWaaPSquid received an unsupported chain facade`);let o=a.includes(`evm`),s=a.includes(`sui`),c=a.includes(`solana`),u=i.n({referralCode:r.referralCode,config:r.config,project:r.project,environment:r.environment,walletOrigin:r.walletOrigin,useStaging:r.useStaging,walletConnectProjectId:r.walletConnectProjectId,asyncTxs:r.asyncTxs,deferIframe:r.deferIframe},`squid`,!1,a,o),d=s?m(r,`squid`,!1):void 0,f=()=>(e.g(r),e.h(`squid`).contentWindow),p=c?new n.t(r.deferIframe===!1?f():null,{useStaging:r.useStaging,environment:r.environment,walletOrigin:r.walletOrigin,referralCode:r.referralCode,project:r.project,config:r.config,deferIframe:r.deferIframe},f,{...r,chains:[`solana`]},!1):void 0;p?.setAccountMode(`squid`);let h;r.deferIframe===!1?u.preload().catch(()=>void 0):r.deferIframe===void 0&&(h=e.r(u));let g={state:`absent`},_=null,y=0,b=null,x=()=>{b!==null&&(clearTimeout(b),b=null)},S=()=>{x(),b=setTimeout(()=>{b=null,_&&u.emit(t.t.squidFailed,{lifecycleId:_,error:`Squid provisioning stalled; call onboard() to try again.`})},18e4),b.unref?.()},C=()=>{x(),_=null,g={state:`absent`}},w=e=>!e.lifecycleId||e.lifecycleId===_,T=()=>g.state===`active`;u.on(t.t.squidPending,e=>{if(!w(e))return;S();let t=e?.transactionDigest;g={state:t?`awaiting-network`:`provisioning`,...t?{operationId:t,transactionDigest:t}:{},...e?.message?{message:e.message}:{}}}),u.on(t.t.squidReady,e=>{w(e)&&(x(),g={state:`active`})}),u.on(t.t.squidFailed,e=>{w(e)&&(x(),g={state:`failed`,...e?.error?{message:e.error}:{}},_=null)});let E=t=>{if(u.getLoginMethod()===null)throw new e.x(`not_authenticated`,`Not authenticated: call login() before connecting or signing.`,{operation:{chain:t,method:`connect`}});if(!T())throw new e.x(`not_connected`,`Squid is not ready: call onboard() after login before connecting or signing.`)},D=u.request.bind(u);if(u.request=async e=>([`eth_requestAccounts`,`eth_accounts`,`eth_sendTransaction`,`eth_signTransaction`,`personal_sign`,`eth_signTypedData_v4`].includes(e.method)&&E(`evm`),D(e)),d){let e=d.connect.bind(d);d.connect=async t=>(E(`sui`),e(t))}if(p){let e=p.connect.bind(p);p.connect=async t=>(E(`solana`),e(t))}let O=async()=>{if(u.getLoginMethod()===null)throw new e.x(`not_authenticated`,`Not authenticated: call login() before onboarding Squid.`);if(T()||_)return;let t=`squid-${++y}`;_=t,g={state:`provisioning`},S();try{await u.walletMessageManager.pingIframe(),await e.i({method:e.w.enter_lite_mode,params:[window.location.origin,t]},!1,u.walletMessageManager,u.internalEventEmitter)}catch(e){throw _===t&&(x(),_=null,g={state:`failed`,message:e instanceof Error?e.message:String(e)}),e}},k=()=>({...g}),A=e=>{if(g.state===`active`||!e.authenticated||e.activeMode!==`squid`||!e.squid)return;let n={..._?{lifecycleId:_}:{},evm:e.squid.sqd1.evm,sui:e.squid.sqd2.sui,solana:e.squid.sqd2.solana};x(),g={state:`active`},_=null,u.emit(t.t.squidReady,n)},j=async()=>(await O(),k()),M=u.login.bind(u),N=async e=>{let t=await M(e);return d?.setLoginMethod(t),p?.setLoginMethod(t),(t?await u.session.getAccountStatus().catch(()=>null):null)?.squid&&(await u.reassertIframeAccountMode().catch(()=>void 0),await O()),t&&u.emit(`connect`),t},P=u.logout.bind(u),F=async()=>{await P(),d?.setLoginMethod(null),p?.setLoginMethod(null),C()},I;I={login:N,logout:F,getLoginMethod:()=>u.getLoginMethod(),getAccountStatus:async()=>{let e=await u.session.getAccountStatus();return A(e),e},getSquidStatus:k,on:(e,t)=>(u.on(e,t),I),removeListener:(e,t)=>(u.removeListener(e,t),I)},u.login=I.login,u.logout=I.logout,d&&(d.login=()=>I.login(),d.logout=()=>I.logout()),p&&(p.login=()=>I.login(),p.logout=()=>I.logout());let L={onboard:O,squid:{onboard:O,getStatus:k,onboardWithStatus:j},getSquidStatus:k,session:I,getAccountStatus:()=>{let e=u.getAccountStatus(),t=d?.getAccountStatus(),n=p?.getAccountStatus();return{authenticated:e.authenticated||!!t?.authenticated||!!n?.authenticated,loginMethod:e.loginMethod??t?.loginMethod??n?.loginMethod??null,activeMode:e.authenticated||t?.authenticated||n?.authenticated?`squid`:null,mode:`squid`,conversion:e.conversion,tap:e.tap,squid:e.squid,accounts:{...e.accounts,...t?.accounts,...n?.accounts}}},preload:()=>u.preload(),destroy:()=>{h?.(),C(),u.destroy(),d?.destroy(),p?.destroy(),e._()}};return o&&Object.assign(L,{evm:u,ethereum:u}),d&&Object.assign(L,{sui:d}),p&&Object.assign(L,{solana:p}),v.every(e=>a.includes(e))&&Object.assign(L,{auth:u}),L}function x(t){l();let r=Array.from(new Set(t.chains));if(r.length===0)throw Error(`initWaaPMulti requires at least one chain facade`);if(r.some(e=>!y.includes(e)))throw Error(`initWaaPMulti received an unsupported chain facade`);let a=r.includes(`evm`),o=r.includes(`sui`),s=r.includes(`solana`),c=i.n({referralCode:t.referralCode,config:t.config,project:t.project,environment:t.environment,walletOrigin:t.walletOrigin,useStaging:t.useStaging,walletConnectProjectId:t.walletConnectProjectId,asyncTxs:t.asyncTxs,deferIframe:t.deferIframe},`tap`,!1,r,a),u=o?m({...t,config:t.config},`tap`,!1):void 0,d=()=>(e.g(t),e.h(`tap`).contentWindow),f=s?new n.t(t.deferIframe===!1?d():null,{useStaging:t.useStaging,environment:t.environment,walletOrigin:t.walletOrigin,referralCode:t.referralCode,project:t.project,config:t.config,deferIframe:t.deferIframe},d,{...t,chains:[`solana`]},!1):void 0;f?.setAccountMode(`tap`);let p;t.deferIframe===!1?c.preload().catch(()=>void 0):t.deferIframe===void 0&&(p=e.r(c));let h=c.login.bind(c),g=async e=>{let t=await h(e);return u?.setLoginMethod(t),f?.setLoginMethod(t),t&&c.emit(`connect`),t},_=c.logout.bind(c),v=async()=>{await _(),u?.setLoginMethod(null),f?.setLoginMethod(null)},b;b={login:g,logout:v,getLoginMethod:()=>c.getLoginMethod(),getAccountStatus:()=>c.session.getAccountStatus(),on:(e,t)=>(c.on(e,t),b),removeListener:(e,t)=>(c.removeListener(e,t),b)},c.login=b.login,c.logout=b.logout,u&&(u.login=()=>b.login(),u.logout=()=>b.logout()),f&&(f.login=()=>b.login(),f.logout=()=>b.logout());let x=()=>{let e=c.getAccountStatus(),t=u?.getAccountStatus(),n=f?.getAccountStatus();return{authenticated:e.authenticated||!!t?.authenticated||!!n?.authenticated,loginMethod:e.loginMethod??t?.loginMethod??n?.loginMethod??null,activeMode:e.authenticated||t?.authenticated||n?.authenticated?`tap`:null,mode:`tap`,conversion:e.conversion,tap:e.tap,squid:e.squid,accounts:{...e.accounts,...t?.accounts,...n?.accounts}}},S=c.destroy.bind(c),C=u?.destroy.bind(u),w=f?.destroy.bind(f),T=()=>{p?.(),S(),C?.(),w?.(),e._()},E={session:b,getAccountStatus:x,preload:()=>c.preload(),destroy:T};return a&&(c.destroy=T,Object.assign(E,{evm:c,ethereum:c})),u&&(u.destroy=T,Object.assign(E,{sui:u})),f&&(f.destroy=T,Object.assign(E,{solana:f})),E}function S(e={}){return console.warn("[WaaP SDK] `initWaaPSui()` is deprecated. Use `initWaaP({ chain: 'sui' })` instead."),_({...e,chain:`sui`})}function C(e={}){return _({...e,chain:`solana`})}function w(e={}){return x({...e,chains:e.chains??y})}Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return _}});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{S as e,_ as t,c as n,d as r,f as i,g as a,h as o,i as s,l as c,m as l,o as u,r as d,t as f,v as p,w as m,x as h}from"./UIMessageManager-D3VN9vM8.mjs";import{t as g}from"./asyncSigning-CzqBbYDP.mjs";import{t as _}from"./SolanaProvider-BKWKXTWh.mjs";import{t as v}from"./init-BljRyI7Q.mjs";import{n as y,t as b}from"./evm-BbSgL_Hv.mjs";import{EventEmitter as x}from"events";import{getWallets as S}from"@wallet-standard/app";function C(){try{if(typeof process<`u`&&process.env)return(process.env.NEXT_PUBLIC_WAAP_MAINTENANCE||process.env.VITE_WAAP_MAINTENANCE||process.env.REACT_APP_WAAP_MAINTENANCE||process.env.WAAP_MAINTENANCE)===`true`}catch{return!1}return!1}function w(){try{return typeof localStorage<`u`&&localStorage.getItem(`waap_maintenance_override`)===`1`}catch{return!1}}function T(){if(C()&&!w())throw new h(`maintenance`,`WaaP is temporarily unavailable for maintenance.`)}const E={"sui:mainnet":`https://sui-rpc.publicnode.com`,"sui:testnet":`https://sui-testnet-rpc.publicnode.com`,"sui:devnet":`https://fullnode.devnet.sui.io`,"sui:localnet":`http://127.0.0.1:9000`},D=e=>E[e],O=e=>e.slice(4);var k=class{constructor(e,t={},n,i=t){this.lastKnownConversion=`pending`,this.name=`WaaP`,this.version=`1.0.0`,this.icon=`data:image/webp;base64,UklGRpoDAABXRUJQVlA4WAoAAAAQAAAAYwAAYwAAQUxQSDMDAAABJyAQSOFmFxERA8TatqpGoimANbEAxlBAPhSgQP9FyXv3vkcFEf134EZS5DREhGvTM8z0ki8stMRvK4cm8bk5rIu3xNbvkgPk4K6ti5IHquRQnLi6KrdBb81hdyF1jTLM1CW425943iba38/djOcG+dg85p/KXGd/g7+xAzJ2VPWTS8R+q65uA1ZcwG3iZ4urjw9Lh4xn83n3gZmQQ3VMVGEO6D403jdr81Ml1OISAAf7RGImBHISwQ5zCJonTuEyOyP7Sga4cDcjMPgXuiK9cUpaGrIDJtH4iAB25utB8O0DDztOKTr8u9hpX0jrx6k8UM5eAlqsynNxlX9tPRLQEtySKwcDOIDnMqEcek1UnylVNac4r0mlypNvhmCNODlhUXuT4fxTQyrDKY0uyV+gi0iiLLpY76A08C/IX8GQoYb8PcVxK7HkZkT5IjAF4gZicOfJW1ovJjyAlYVPlM6BkkHGI0fniAIZIXC0CbAM92BB8SBznU0ITYLr9XkfnKlDgV8170HGMWwitY51+zxcgkftLD4RLh4HSTIa3QzRWKxlaHZTz21s6GLxnBmjogkVilW4kuaMMMGUfgkZ1JhrBSEANrEDMwucAXgbTqIExY3FYRMdtkQRDFjD6BKtJ2GWTopGRY4P9DBkdE4rp9LJHuYhju45oeVZVv3zNmVdZiIOffHDppOz0Q34p0e/+nXy7JmF1846lmF2ZombLt8pgZpbPNeqpJSVJ0bGd4cH8dUNflNPfdQVXUkC95UQS0ZGfDmOJgjs3IyVOExZBEsxONd080gYK/ftQ2nbYaqGW89Hu7M6avmzXEjhO4G8O8ae8gwWtwZsyp8v8j/ys5H7bM+unOfurO4bbbL4v865Nb8s98Ld2X9yg6tLBQanMP8fhplOMMN8fiNDzTvNOMXGuYzejo12vY7s3clhXwgDPuBIcxi9QZftbKVxAjLCcVQdRxGR1QknhCs3GuieMLzfrrC9RhfJgVpcXRn71nZfEjsiYy/Ca1J7ch0clK64ReH3G/s2cekpP+BIx2YteMvSoLy6G9FCgd1nvF/VoVRtJoNJNLQ0RM3BXY9WgPbcHF78swAAVlA4IEAAAACwBQCdASpkAGQAPpFIoUylpCMiIKgAsBIJaW7hc+AAY2upvcReWAa6m9xF5YBrqb3EXlgGngAA/v81aVcAAAAA`,this._accounts=[],this.accountMode=`tap`,this.loginMethod=null,this._chains=[`sui:mainnet`,`sui:testnet`,`sui:devnet`],this.internalEventEmitter=new x,this.changeListeners=new Set,this.initializerPromise=null,this.initializedIframeWindow=null,this.walletMessageManager=new r(e,p(t)),this.ensureIframe=n,this.iframeMounted=!n,this.initializerOptions=i,this.uiMessageManager=new f,this.walletMessageManager.addListener({handleResponse:e=>{this.internalEventEmitter.emit(e.id,e)},handleRequest:e=>{e.method===m.show_modal?this.uiMessageManager.emit(`show_modal`):e.method===m.hide_modal&&this.uiMessageManager.emit(`hide_modal`)},onAccountChanged:async e=>{try{let e=await this.refreshAccounts();this.notifyChange({accounts:e.accounts})}catch(e){console.error(`Failed to refresh Sui accounts:`,e),this._accounts=[],this.notifyChange({accounts:[]})}}})}destroy(){this.walletMessageManager.dispose(),this.internalEventEmitter.removeAllListeners(),this.uiMessageManager.removeAllListeners(),this.changeListeners.clear(),this._accounts=[]}ensureIframeMounted(){if(this.iframeMounted||!this.ensureIframe)return;let e=this.ensureIframe();if(!e)throw Error(`Failed to create WaaP iframe`);this.iframeMounted=!0,this.walletMessageManager.setIframeWindow(e)}async preload(){if(!this.ensureIframe)return;this.ensureIframeMounted();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=l(e,()=>this.selectAccountMode(this.accountMode,this.initializerOptions));try{await this.initializerPromise}catch(e){throw this.initializerPromise=null,this.initializedIframeWindow=null,e}}async ensureInitialized(){await this.preload()}async refreshAccounts(){try{await this.ensureInitialized();let e=await this.postRequestAndWait({method:`sui_connect`,params:[{silent:!0}],interactionRequired:!1});if(e.error)return this._accounts=[],{accounts:[]};let t=e.data?.accounts||[];return this._accounts=t,{accounts:this._accounts}}catch{return this._accounts=[],{accounts:[]}}}get chains(){return this._chains}get accounts(){return this._accounts}get ui(){return this.uiMessageManager}getAccountStatus(){return{authenticated:this.loginMethod!==null,loginMethod:this.loginMethod,activeMode:this.loginMethod?this.accountMode:null,mode:this.accountMode,conversion:this.loginMethod?this.lastKnownConversion:`not_required`,tap:null,squid:null,accounts:this._accounts[0]?{sui:this._accounts[0].address}:{}}}get session(){return{login:()=>this.login(),logout:()=>this.logout(),getLoginMethod:()=>this.getLoginMethod(),getAccountStatus:()=>this.getCanonicalAccountStatus()}}async getCanonicalAccountStatus(){await this.ensureInitialized();let e=await this.postRequestAndWait({method:m.waap_getAccountStatus,params:[],interactionRequired:!1});if(e.error)throw Error(e.error.message||`Failed to read WaaP status`);let t=e.data;return this.syncLoginMethodFromCanonicalStatus(t),t?.conversion&&(this.lastKnownConversion=t.conversion),t}setAccountMode(e){this.accountMode=e,this.initializerPromise=null,this.initializedIframeWindow=null}async selectAccountMode(e,t={}){await this.walletMessageManager.pingIframe(),await this.postRequestAndWait({method:m.set_signing_mode,params:[i(e,t)],interactionRequired:!1})}setLoginMethod(e){this.loginMethod=e,e===null&&(this._accounts=[],this.notifyChange({accounts:[]}))}getLoginMethod(){return this.loginMethod}async login(){await this.ensureInitialized();let e=await this.restoreSession();if(e)return e;let t=(await this.postRequestAndWait({method:m.login,params:[],interactionRequired:!0})).data;return t!==`waap`&&t!==`human`&&t!==`injected`&&t!==`walletconnect`?(this.loginMethod=null,null):(this.loginMethod=t,t)}async logout(){this.lastKnownConversion=`pending`,await this.ensureInitialized(),await this.postRequestAndWait({method:m.logout,params:[],interactionRequired:!1}),this.loginMethod=null,this._accounts=[],this.notifyChange({accounts:[]})}async connect(e){if(!this.loginMethod){if(e?.silent)throw new h(`not_authenticated`,`Not authenticated: a silent connect cannot open login.`,{operation:{chain:`sui`,method:`sui_connect`}});if(!await this.login())throw new h(`user_rejected`,`User rejected WaaP login during connect().`,{operation:{chain:`sui`,method:`sui_connect`}})}await this.ensureInitialized();let t=await this.postRequestAndWait({method:`sui_connect`,params:[e||{}],interactionRequired:!e?.silent,signal:e?.signal,timeoutMs:e?.timeoutMs});if(t.error)throw Error(t.error.message||`Failed to connect`);let n=t.data?.accounts||[];return this._accounts=n,this.notifyChange({accounts:this._accounts}),e?.silent||this.internalEventEmitter.emit(`connect`),this.internalEventEmitter.emit(`accountsChanged`,this._accounts.map(e=>e.address)),{accounts:this._accounts}}async restoreSession(){try{let e=await this.getCanonicalAccountStatus();if(e.authenticated&&(e.loginMethod===`waap`||e.loginMethod===`human`||e.loginMethod===`injected`||e.loginMethod===`walletconnect`))return this.loginMethod=e.loginMethod,e.loginMethod}catch{}return null}syncLoginMethodFromCanonicalStatus(e){let t=e.authenticated&&(e.loginMethod===`waap`||e.loginMethod===`human`||e.loginMethod===`injected`||e.loginMethod===`walletconnect`)?e.loginMethod:null;t!==this.loginMethod&&this.setLoginMethod(t)}async disconnect(){await this.ensureInitialized(),await this.postRequestAndWait({method:`sui_disconnect`,params:[],interactionRequired:!1}),this._accounts=[],this.notifyChange({accounts:[]})}async signPersonalMessage(e){await this.ensureInitialized();let t=e.account.address;if(!this._accounts.some(e=>e.address===t))throw Error(`Account ${t} is not connected`);let n=await this.postRequestAndWait({method:`sui_signPersonalMessage`,params:[{message:Array.from(e.message),account:t,chain:e.chain}],interactionRequired:!0,signal:e.signal,timeoutMs:e.timeoutMs});if(n.error)throw Error(n.error.message||`Failed to sign message`);return{bytes:n.data.bytes,signature:n.data.signature}}async extractTransferAddresses(e,t=!1){try{let{Transaction:n}=await import(`@mysten/sui/transactions`),r=(t?n.fromKind(e):n.from(e)).getData(),i=[];for(let e of r.commands){if(e.$kind!==`TransferObjects`)continue;let t=e.TransferObjects.address;if(t.$kind!==`Input`)continue;let n=t.Input,a=r.inputs[n];if(!a||a.$kind!==`Pure`)continue;let o=Uint8Array.from(atob(a.Pure.bytes),e=>e.charCodeAt(0));if(o.length!==32)continue;let s=`0x`+Array.from(o).map(e=>e.toString(16).padStart(2,`0`)).join(``);i.push(s)}return i}catch{return[]}}async resolveTransactionBytes(e,t=`sui:mainnet`){if(e instanceof Uint8Array)return{bytes:e,kind:`transaction-data`};if(Array.isArray(e))return{bytes:new Uint8Array(e),kind:`transaction-data`};if(typeof e==`string`)try{return{bytes:Uint8Array.from(atob(e),e=>e.charCodeAt(0)),kind:`transaction-data`}}catch{throw Error(`Transaction string must be base64 encoded bytes. If you have a serialized transaction JSON, please build it to bytes first.`)}else if(e&&typeof e==`object`){if(typeof e.build==`function`)try{let{SuiJsonRpcClient:n}=await import(`@mysten/sui/jsonRpc`),r=O(t),i=new n({url:D(t),network:r});return{bytes:await e.build({client:i,onlyTransactionKind:!0}),kind:`transaction-kind`}}catch(e){throw console.warn(`[SuiWallet] Failed to build transaction object:`,e),Error(`Failed to build transaction: ${e instanceof Error?e.message:String(e)}`)}if(typeof e.serialize==`function`)try{let t=await e.serialize();if(typeof t==`string`)return{bytes:Uint8Array.from(atob(t),e=>e.charCodeAt(0)),kind:`transaction-data`};if(t instanceof Uint8Array)return{bytes:t,kind:`transaction-data`}}catch(e){console.warn(`[SuiWallet] serialize() failed:`,e)}if(typeof e.toJSON==`function`)try{let t=await e.toJSON();if(typeof t==`string`)try{return{bytes:Uint8Array.from(atob(t),e=>e.charCodeAt(0)),kind:`transaction-data`}}catch{try{let e=JSON.parse(t);if(e.bytes&&typeof e.bytes==`string`)return{bytes:Uint8Array.from(atob(e.bytes),e=>e.charCodeAt(0)),kind:`transaction-data`}}catch{}}}catch(e){console.warn(`[SuiWallet] toJSON() failed:`,e)}if(typeof e.getData==`function`)try{let t=e.getData();if(t instanceof Uint8Array)return{bytes:t,kind:`transaction-data`}}catch(e){console.warn(`[SuiWallet] getData() failed:`,e)}throw Error(`Unsupported transaction format. Keys: ${Object.keys(e).join(`, `)}`)}else throw Error(`Unsupported transaction format: ${typeof e}. Please pass Uint8Array bytes or a Transaction object.`)}async signTransaction(e){await this.ensureInitialized();let t=e.account.address;if(!this._accounts.some(e=>e.address===t))throw Error(`Account ${t} is not connected`);let n=await this.resolveTransactionBytes(e.transaction,e.chain),r=await this.postRequestAndWait({method:`sui_signTransaction`,params:[{...n.kind===`transaction-kind`?{transactionKind:Array.from(n.bytes)}:{transaction:Array.from(n.bytes)},account:t,chain:e.chain,withPT:e.withPT}],interactionRequired:!0,signal:e.signal,timeoutMs:e.timeoutMs});if(r.error)throw Error(r.error.message||`Failed to sign transaction`);return{bytes:r.data.bytes,signature:r.data.signature}}async signAndExecuteTransaction(e){await this.ensureInitialized();let t=e.account.address;if(!this._accounts.some(e=>e.address===t))throw Error(`Account ${t} is not connected`);let n=await this.resolveTransactionBytes(e.transaction,e.chain),r=await this.extractTransferAddresses(n.bytes,n.kind===`transaction-kind`),i=await this.postRequestAndWait({method:`sui_signAndExecuteTransaction`,params:[{...n.kind===`transaction-kind`?{transactionKind:Array.from(n.bytes)}:{transaction:Array.from(n.bytes)},account:t,chain:e.chain,options:e.options,requestType:e.requestType,withPT:e.withPT,toAddresses:r.length>0?r:void 0}],interactionRequired:!0,signal:e.signal,timeoutMs:e.timeoutMs});if(i.error)throw Error(i.error.message||`Failed to sign and execute transaction`);return i.data}async switchChain(e){if(await this.ensureInitialized(),!this._chains.includes(e.chain))throw Error(`Chain ${e.chain} is not supported`);let t=await this.postRequestAndWait({method:`sui_switchChain`,params:[e],interactionRequired:!1});if(t.error)throw Error(t.error.message||`Failed to switch chain`);this.notifyChange({chains:this._chains,accounts:this._accounts})}on(e,t){return e===`change`?(this.changeListeners.add(t),()=>{this.changeListeners.delete(t)}):(this.internalEventEmitter.on(e,t),()=>{this.internalEventEmitter.removeListener(e,t)})}removeListener(e,t){if(e===`change`){this.changeListeners.delete(t);return}this.internalEventEmitter.removeListener(e,t)}get features(){return{"standard:connect":{version:`1.0.0`,connect:this.connect.bind(this)},"standard:disconnect":{version:`1.0.0`,disconnect:this.disconnect.bind(this)},"standard:events":{version:`1.0.0`,on:this.on.bind(this)},"sui:signPersonalMessage":{version:`1.1.0`,signPersonalMessage:this.signPersonalMessage.bind(this)},"sui:signTransaction":{version:`2.0.0`,signTransaction:this.signTransaction.bind(this)},"sui:signAndExecuteTransaction":{version:`1.0.0`,signAndExecuteTransaction:this.signAndExecuteTransaction.bind(this)},"sui:signTransactionBlock":{version:`2.0.0`,signTransactionBlock:this.signTransactionBlock.bind(this)},"sui:signAndExecuteTransactionBlock":{version:`1.0.0`,signAndExecuteTransactionBlock:this.signAndExecuteTransactionBlock.bind(this)},"sui:switchChain":{version:`1.0.0`,switchChain:this.switchChain.bind(this)}}}async signTransactionBlock(e){return this.signTransaction({transaction:e.transactionBlock,account:e.account,chain:e.chain,signal:e.signal,timeoutMs:e.timeoutMs,withPT:e.withPT})}async signAndExecuteTransactionBlock(e){return this.signAndExecuteTransaction({transaction:e.transactionBlock,account:e.account,chain:e.chain,options:e.options,requestType:e.requestType,signal:e.signal,timeoutMs:e.timeoutMs,withPT:e.withPT})}async requestPermissionToken(e){await this.ensureInitialized();let t={...e,walletMode:this.accountMode},n=await this.postRequestAndWait({method:m.waap_requestPermissionToken,params:[t],interactionRequired:!0});if(n.error)throw Error(n.error.message||`Failed to request permission token`);return n.data}async getPermissionTokenStatus(e){return await this.ensureInitialized(),(await this.postRequestAndWait({method:m.waap_getPermissionTokenStatus,params:[e],interactionRequired:!1})).data}async clearPermissionToken(e){return await this.ensureInitialized(),(await this.postRequestAndWait({method:m.waap_clearPermissionToken,params:[e],interactionRequired:!1})).data}async requestEmail(){await this.ensureInitialized();let e=await this.postRequestAndWait({method:m.silk_requestEmail,params:[],interactionRequired:!0});if(e.error)throw Error(e.error.message||`Failed to request email`);return e.data}async postRequestAndWait(t){let r;try{t.interactionRequired&&c({layout:t.method===m.login?`auth`:`signing`}),r=await this.walletMessageManager.postSilkRequest({method:t.method,params:t.params,interactionRequired:t.interactionRequired});let e=await u({eventEmitter:this.internalEventEmitter,id:r,method:t.method,interactionRequired:t.interactionRequired,signal:t.signal,timeoutMs:t.timeoutMs,onCancel:()=>{this.walletMessageManager.cancelSilkRequest(r,t.method),t.interactionRequired&&n()}});if(e.error)throw Error(e.error.message);return e}catch(i){throw t.interactionRequired&&r===void 0&&n(),e(i,{chain:`sui`,method:String(t.method),requestId:r})}}notifyChange(e){Array.from(this.changeListeners).forEach(t=>{t(e)})}};function A(e,r,i=!0){let s=()=>(a(e),o(r).contentWindow),l=e.deferIframe===!1,u=e.deferIframe===void 0,f=l?s():null;if(l&&!f)throw Error(`Failed to create WaaP iframe`);let p=new k(f,e,s,{...e,chains:[`sui`]});p.setAccountMode(r),i&&l&&p.preload().catch(()=>void 0);let m=p.destroy.bind(p);if(p.destroy=()=>{m(),t()},i&&u){let e=d(p),t=p.destroy.bind(p);p.destroy=()=>{e(),t()}}return p.ui.on(`show_modal`,()=>{c(),document.querySelectorAll(`[data-dapp-kit][class*="overlay"]`).forEach(e=>{e.style.display=`none`})}),p.ui.on(`hide_modal`,()=>{n(),document.querySelectorAll(`[data-dapp-kit][class*="overlay"]`).forEach(e=>{e.style.display=``})}),p}function j(e){if(typeof window>`u`)return;let t=e.destroy.bind(e),n=new Set,r=new Set,i=!1,a=t=>{if(i||n.has(t.register))return;n.add(t.register);let a=t.register(e);i?a():r.add(a)},o=e=>{a(e.detail)};e.destroy=()=>{if(!i){i=!0,window.removeEventListener(`wallet-standard:app-ready`,o);for(let e of r)try{e()}catch(e){console.error(`Failed to unregister WaaP from a wallet registry`,e)}r.clear(),n.clear(),t()}},window.addEventListener(`wallet-standard:app-ready`,o),a(S()),!i&&window.dispatchEvent(new CustomEvent(`wallet-standard:register-wallet`,{detail:a}))}function M(e={}){let r=()=>(a(e),o(`tap`).contentWindow),i=e.deferIframe===!1,s=e.deferIframe===void 0,l=i?r():null;if(i&&!l)throw Error(`Failed to create WaaP iframe`);let u=new _(l,e,r,{...e,chains:[`solana`]});i&&u.preload().catch(()=>void 0);let f=u.destroy.bind(u);if(u.destroy=()=>{f(),t()},s){let e=d(u),t=u.destroy.bind(u);u.destroy=()=>{e(),t()}}return u.ui.on(`show_modal`,()=>{c()}),u.ui.on(`hide_modal`,()=>{n()}),j(u),u}function N(e={}){if(T(),`chains`in e)throw Error("initWaaP accepts one `chain`; use initWaaPMulti({ chains }) for TAP.");switch(e.chain){case`sui`:return A(e,`tap`);case`solana`:return M(e);case`stellar`:return v(e);case void 0:case`evm`:return b(e);default:throw Error(`initWaaP received an unsupported chain: ${String(e.chain)}`)}}const P=[`evm`,`sui`,`solana`],F=[`evm`,`sui`,`solana`];function I(e){T();let n=Array.from(new Set(e.chains??[]));if(n.length===0)throw Error(`initWaaPSquid requires at least one chain facade`);if(n.some(e=>!P.includes(e)))throw Error(`initWaaPSquid received an unsupported chain facade`);let r=n.includes(`evm`),i=n.includes(`sui`),c=n.includes(`solana`),l=y({referralCode:e.referralCode,config:e.config,project:e.project,environment:e.environment,walletOrigin:e.walletOrigin,useStaging:e.useStaging,walletConnectProjectId:e.walletConnectProjectId,asyncTxs:e.asyncTxs,deferIframe:e.deferIframe},`squid`,!1,n,r),u=i?A(e,`squid`,!1):void 0,f=()=>(a(e),o(`squid`).contentWindow),p=c?new _(e.deferIframe===!1?f():null,{useStaging:e.useStaging,environment:e.environment,walletOrigin:e.walletOrigin,referralCode:e.referralCode,project:e.project,config:e.config,deferIframe:e.deferIframe},f,{...e,chains:[`solana`]},!1):void 0;p?.setAccountMode(`squid`);let v;e.deferIframe===!1?l.preload().catch(()=>void 0):e.deferIframe===void 0&&(v=d(l));let b={state:`absent`},x=null,S=0,C=null,w=()=>{C!==null&&(clearTimeout(C),C=null)},E=()=>{w(),C=setTimeout(()=>{C=null,x&&l.emit(g.squidFailed,{lifecycleId:x,error:`Squid provisioning stalled; call onboard() to try again.`})},18e4),C.unref?.()},D=()=>{w(),x=null,b={state:`absent`}},O=e=>!e.lifecycleId||e.lifecycleId===x,k=()=>b.state===`active`;l.on(g.squidPending,e=>{if(!O(e))return;E();let t=e?.transactionDigest;b={state:t?`awaiting-network`:`provisioning`,...t?{operationId:t,transactionDigest:t}:{},...e?.message?{message:e.message}:{}}}),l.on(g.squidReady,e=>{O(e)&&(w(),b={state:`active`})}),l.on(g.squidFailed,e=>{O(e)&&(w(),b={state:`failed`,...e?.error?{message:e.error}:{}},x=null)});let j=e=>{if(l.getLoginMethod()===null)throw new h(`not_authenticated`,`Not authenticated: call login() before connecting or signing.`,{operation:{chain:e,method:`connect`}});if(!k())throw new h(`not_connected`,`Squid is not ready: call onboard() after login before connecting or signing.`)},M=l.request.bind(l);if(l.request=async e=>([`eth_requestAccounts`,`eth_accounts`,`eth_sendTransaction`,`eth_signTransaction`,`personal_sign`,`eth_signTypedData_v4`].includes(e.method)&&j(`evm`),M(e)),u){let e=u.connect.bind(u);u.connect=async t=>(j(`sui`),e(t))}if(p){let e=p.connect.bind(p);p.connect=async t=>(j(`solana`),e(t))}let N=async()=>{if(l.getLoginMethod()===null)throw new h(`not_authenticated`,`Not authenticated: call login() before onboarding Squid.`);if(k()||x)return;let e=`squid-${++S}`;x=e,b={state:`provisioning`},E();try{await l.walletMessageManager.pingIframe(),await s({method:m.enter_lite_mode,params:[window.location.origin,e]},!1,l.walletMessageManager,l.internalEventEmitter)}catch(t){throw x===e&&(w(),x=null,b={state:`failed`,message:t instanceof Error?t.message:String(t)}),t}},F=()=>({...b}),I=e=>{if(b.state===`active`||!e.authenticated||e.activeMode!==`squid`||!e.squid)return;let t={...x?{lifecycleId:x}:{},evm:e.squid.sqd1.evm,sui:e.squid.sqd2.sui,solana:e.squid.sqd2.solana};w(),b={state:`active`},x=null,l.emit(g.squidReady,t)},L=async()=>(await N(),F()),R=l.login.bind(l),z=async e=>{let t=await R(e);return u?.setLoginMethod(t),p?.setLoginMethod(t),(t?await l.session.getAccountStatus().catch(()=>null):null)?.squid&&(await l.reassertIframeAccountMode().catch(()=>void 0),await N()),t&&l.emit(`connect`),t},B=l.logout.bind(l),V=async()=>{await B(),u?.setLoginMethod(null),p?.setLoginMethod(null),D()},H;H={login:z,logout:V,getLoginMethod:()=>l.getLoginMethod(),getAccountStatus:async()=>{let e=await l.session.getAccountStatus();return I(e),e},getSquidStatus:F,on:(e,t)=>(l.on(e,t),H),removeListener:(e,t)=>(l.removeListener(e,t),H)},l.login=H.login,l.logout=H.logout,u&&(u.login=()=>H.login(),u.logout=()=>H.logout()),p&&(p.login=()=>H.login(),p.logout=()=>H.logout());let U={onboard:N,squid:{onboard:N,getStatus:F,onboardWithStatus:L},getSquidStatus:F,session:H,getAccountStatus:()=>{let e=l.getAccountStatus(),t=u?.getAccountStatus(),n=p?.getAccountStatus();return{authenticated:e.authenticated||!!t?.authenticated||!!n?.authenticated,loginMethod:e.loginMethod??t?.loginMethod??n?.loginMethod??null,activeMode:e.authenticated||t?.authenticated||n?.authenticated?`squid`:null,mode:`squid`,conversion:e.conversion,tap:e.tap,squid:e.squid,accounts:{...e.accounts,...t?.accounts,...n?.accounts}}},preload:()=>l.preload(),destroy:()=>{v?.(),D(),l.destroy(),u?.destroy(),p?.destroy(),t()}};return r&&Object.assign(U,{evm:l,ethereum:l}),u&&Object.assign(U,{sui:u}),p&&Object.assign(U,{solana:p}),P.every(e=>n.includes(e))&&Object.assign(U,{auth:l}),U}function L(e){T();let n=Array.from(new Set(e.chains));if(n.length===0)throw Error(`initWaaPMulti requires at least one chain facade`);if(n.some(e=>!F.includes(e)))throw Error(`initWaaPMulti received an unsupported chain facade`);let r=n.includes(`evm`),i=n.includes(`sui`),s=n.includes(`solana`),c=y({referralCode:e.referralCode,config:e.config,project:e.project,environment:e.environment,walletOrigin:e.walletOrigin,useStaging:e.useStaging,walletConnectProjectId:e.walletConnectProjectId,asyncTxs:e.asyncTxs,deferIframe:e.deferIframe},`tap`,!1,n,r),l=i?A({...e,config:e.config},`tap`,!1):void 0,u=()=>(a(e),o(`tap`).contentWindow),f=s?new _(e.deferIframe===!1?u():null,{useStaging:e.useStaging,environment:e.environment,walletOrigin:e.walletOrigin,referralCode:e.referralCode,project:e.project,config:e.config,deferIframe:e.deferIframe},u,{...e,chains:[`solana`]},!1):void 0;f?.setAccountMode(`tap`);let p;e.deferIframe===!1?c.preload().catch(()=>void 0):e.deferIframe===void 0&&(p=d(c));let m=c.login.bind(c),h=async e=>{let t=await m(e);return l?.setLoginMethod(t),f?.setLoginMethod(t),t&&c.emit(`connect`),t},g=c.logout.bind(c),v=async()=>{await g(),l?.setLoginMethod(null),f?.setLoginMethod(null)},b;b={login:h,logout:v,getLoginMethod:()=>c.getLoginMethod(),getAccountStatus:()=>c.session.getAccountStatus(),on:(e,t)=>(c.on(e,t),b),removeListener:(e,t)=>(c.removeListener(e,t),b)},c.login=b.login,c.logout=b.logout,l&&(l.login=()=>b.login(),l.logout=()=>b.logout()),f&&(f.login=()=>b.login(),f.logout=()=>b.logout());let x=()=>{let e=c.getAccountStatus(),t=l?.getAccountStatus(),n=f?.getAccountStatus();return{authenticated:e.authenticated||!!t?.authenticated||!!n?.authenticated,loginMethod:e.loginMethod??t?.loginMethod??n?.loginMethod??null,activeMode:e.authenticated||t?.authenticated||n?.authenticated?`tap`:null,mode:`tap`,conversion:e.conversion,tap:e.tap,squid:e.squid,accounts:{...e.accounts,...t?.accounts,...n?.accounts}}},S=c.destroy.bind(c),C=l?.destroy.bind(l),w=f?.destroy.bind(f),E=()=>{p?.(),S(),C?.(),w?.(),t()},D={session:b,getAccountStatus:x,preload:()=>c.preload(),destroy:E};return r&&(c.destroy=E,Object.assign(D,{evm:c,ethereum:c})),l&&(l.destroy=E,Object.assign(D,{sui:l})),f&&(f.destroy=E,Object.assign(D,{solana:f})),D}function R(e={}){return console.warn("[WaaP SDK] `initWaaPSui()` is deprecated. Use `initWaaP({ chain: 'sui' })` instead."),N({...e,chain:`sui`})}function z(e={}){return N({...e,chain:`solana`})}function B(e={}){return L({...e,chains:e.chains??F})}export{R as a,k as c,I as i,L as n,B as o,z as r,j as s,N as t};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { c as RequestArguments } from "./types-
|
|
2
|
-
import {
|
|
1
|
+
import { c as RequestArguments } from "./types-Cc6tc4ut.mjs";
|
|
2
|
+
import { d as WaaPSquidStatus } from "./index-BOExImk3.mjs";
|
|
3
3
|
//#region ../silk-interface-core/dist/esm/types/asyncSigning.d.ts
|
|
4
4
|
/**
|
|
5
5
|
* Types for async transaction feature.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { c as RequestArguments } from "./types-
|
|
2
|
-
import {
|
|
1
|
+
import { c as RequestArguments } from "./types-Cc6tc4ut.js";
|
|
2
|
+
import { d as WaaPSquidStatus } from "./index-BkKBZpqc.js";
|
|
3
3
|
//#region ../silk-interface-core/dist/esm/types/asyncSigning.d.ts
|
|
4
4
|
/**
|
|
5
5
|
* Types for async transaction feature.
|
package/dist/walletconnect.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./WalletConnect-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./WalletConnect-B21f4Vvh.js");exports.SilkWalletConnect=e.t,exports.WaaPWalletConnect=e.t;
|
package/dist/walletconnect.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./WalletConnect-
|
|
1
|
+
import{t as e}from"./WalletConnect-DXiTxC-F.mjs";export{e as SilkWalletConnect,e as WaaPWalletConnect};
|