superstack-wallet-sdk 0.5.10 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- import e from"axios";import{Network as t,WalletType as r,isVersionedTransaction as a}from"./types.js";import{Storage as o}from"./storage.js";import{Connection as n,PublicKey as i,LAMPORTS_PER_SOL as s}from"@solana/web3.js";import l from"bs58";import{PhantomWalletAdapter as d}from"./adapters/phantom.js";import{v4 as h}from"uuid";import{getOnrampBuyUrl as c}from"./utils/coinbaseUtils.js";import{Buffer as w}from"../_virtual/_polyfill-node.buffer.js";import"./polyfills.js";import{createPublicClient as u}from"../node_modules/.pnpm/viem@2.37.8_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10/node_modules/viem/_esm/clients/createPublicClient.js";import{http as p}from"../node_modules/.pnpm/viem@2.37.8_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10/node_modules/viem/_esm/clients/transports/http.js";import{serializeSignature as f}from"../node_modules/.pnpm/viem@2.37.8_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10/node_modules/viem/_esm/utils/signature/serializeSignature.js";import{formatEther as m}from"../node_modules/.pnpm/ethers@6.15.0_bufferutil@4.0.9_utf-8-validate@5.0.10/node_modules/ethers/lib.esm/utils/units.js";function v(){const e=new Uint8Array(16);return crypto.getRandomValues(e),Array.from(e,e=>e.toString(16).padStart(2,"0")).join("")}class g{constructor(r){this.selectedWalletId=null,this.solanaConnection=null,this.ethereumProvider=null,this.walletInfo=null,this.phantomAdapter=null,this.walletType="embedded",this.backupWalletType="embedded_backup",this.ethereumNetwork=null,this.defaultNetwork=t.Solana,this.api=e.create({baseURL:r.baseURL,headers:{"Content-Type":"application/json"}}),this.middleAccountApi=e.create({baseURL:r.middleAccountBaseURL||"https://yeezy-payment-service-sit-a0dchfccbufeh5bx.z03.azurefd.net",headers:{"Content-Type":"application/json"}}),this.solanaCluster=r.solanaCluster,this.solanaConnection=new n(r.solanaCluster.rpcUrl),r.ethereumNetwork&&(this.ethereumNetwork={...r.ethereumNetwork,chainId:Number(r.ethereumNetwork.chainId)},this.ethereumProvider=u({transport:p(r.ethereumNetwork.rpcUrl)})),this.defaultNetwork=r.defaultNetwork||t.Solana}setWallet(e){this.walletInfo=e}setWalletType(e){this.walletType=e,o.saveWalletType(e)}setBackupWalletType(e){this.backupWalletType=e,o.saveBackupWalletType(e),console.log(33)}getWallet(){return this.walletInfo}getPhantomAdapter(){return this.phantomAdapter}getWalletType(){return this.walletType}getBackupWalletType(){return this.backupWalletType}get wallet(){var e;return(null===(e=this.walletInfo)||void 0===e?void 0:e.wallets.find(e=>e.network===this.defaultNetwork))||null}get address(){var e;return(null===(e=this.wallet)||void 0===e?void 0:e.address)||null}get network(){var e;return(null===(e=this.wallet)||void 0===e?void 0:e.network)||null}get ethereumWallet(){var e,r;return(null===(e=this.walletInfo)||void 0===e?void 0:e.wallets.find(e=>e.address===o.getSwitchedAccountAddress()))||(null===(r=this.walletInfo)||void 0===r?void 0:r.wallets.find(e=>e.network===t.Ethereum&&"Main"===e.wallet_set))||null}get ethereumAddress(){var e;return(null===(e=this.ethereumWallet)||void 0===e?void 0:e.address)||null}get solanaWallet(){var e,r,a,n;const i=null===(r=null===(e=this.walletInfo)||void 0===e?void 0:e.wallets.find(e=>e.address===o.getSwitchedAccountAddress()))||void 0===r?void 0:r.wallet_set;return i?(null===(a=this.walletInfo)||void 0===a?void 0:a.wallets.find(e=>e.network===t.Solana&&e.wallet_set===i))||null:(null===(n=this.walletInfo)||void 0===n?void 0:n.wallets.find(e=>e.network===t.Solana&&"Main"===e.wallet_set))||null}get forwardSolanaWallet(){var e;return(null===(e=this.walletInfo)||void 0===e?void 0:e.wallets.find(e=>e.network===t.Solana&&"Forward-0"===e.wallet_set))||null}get forwardSolanaAddress(){var e;return(null===(e=this.forwardSolanaWallet)||void 0===e?void 0:e.address)||null}get forwardEthereumWallet(){var e;return(null===(e=this.walletInfo)||void 0===e?void 0:e.wallets.find(e=>e.network===t.Ethereum&&"Forward-0"===e.wallet_set))||null}get forwardEthereumAddress(){var e;return(null===(e=this.forwardEthereumWallet)||void 0===e?void 0:e.address)||null}get solanaAddress(){var e;return(null===(e=this.solanaWallet)||void 0===e?void 0:e.address)||null}get id(){var e;return(null===(e=this.walletInfo)||void 0===e?void 0:e.id)||null}get social_links(){var e;return(null===(e=this.walletInfo)||void 0===e?void 0:e.social_links)||null}async reconnect(e){try{if(o.getWalletType()==="phantom"+(e?"_backup":"")){return await this.connectPhantom()}if(!e){const e=await this.getSession();return this.setWallet(e),e}const t=o.getBackupWalletInfo();return this.setWallet(t),t}catch(e){return null}}async connectPhantom(){try{if(this.phantomAdapter||(this.phantomAdapter=new d),await this.phantomAdapter.connect(),!this.phantomAdapter.publicKey)throw new Error("Failed to connect to Phantom wallet");const e=this.phantomAdapter.publicKey.toString(),a={id:h(),wallets:[{id:e,address:e,network:t.Solana,wallet_type:r.Phantom,wallet_set:"Main",account_index:0,is_enabled:!0}],social_links:[],social_infos:[],account_info:{name:null,sub_accounts:[]},created_at:Date.now(),is_exported:!1};return this.setWallet(a),this.setWalletType("phantom"),a}catch(e){throw console.error("Phantom connect error:",e),new Error(e instanceof Error?e.message:"Failed to connect to Phantom wallet")}}async updateAccountName(e,t){if(!this.walletInfo)throw new Error("No wallet info");const r={name:e};void 0!==t&&(r.account_index=t);const a=(await this.api.post("/account/update",r,{withCredentials:!0})).data;return this.setWallet(a),a}async manageMultiAccount(e){if(!this.walletInfo)throw new Error("No wallet info");const t=(await this.api.post("/account/multi",e,{withCredentials:!0})).data;return this.setWallet(t),t}async createSubAccount(e){return this.manageMultiAccount({type:"Create",data:{name:null!=e?e:null}})}async enableSubAccount(e){return this.manageMultiAccount({type:"Enable",data:{index:e}})}async disableSubAccount(e){return this.manageMultiAccount({type:"Disable",data:{index:e}})}async signSolanaTransaction(e){try{if(!this.walletInfo)throw new Error("No wallet info");if(!this.solanaConnection)throw new Error("No rpc connection");const{blockhash:r}=await this.solanaConnection.getLatestBlockhash();if(a(e)?e.message.recentBlockhash=r:e.recentBlockhash=r,this.phantomAdapter&&this.phantomAdapter.publicKey)return await this.phantomAdapter.signTransaction(e);const o=this.solanaWallet;if(!o)throw new Error("No solana wallet available");const n=await this.signV3({network:t.Solana,address:o.address,tx:{Solana:l.encode(a(e)?e.message.serialize():e.serializeMessage())}});return e.addSignature(new i(o.address),w.from(l.decode(n))),e}catch(e){throw new Error(e instanceof Error?e.message:"Failed to sign transaction")}}async signEthereumEip712(e){if(!this.ethereumNetwork)throw new Error("No Ethereum network");if(!this.ethereumProvider)throw new Error("No Ethereum provider");if(!this.walletInfo)throw new Error("No wallet info");if(!this.ethereumAddress)throw new Error("No Ethereum address");return await this.signV2({network:t.Ethereum,address:this.ethereumAddress,tx:{EthereumEip712:e}})}async sendSolanaTransaction(e){if(!this.solanaConnection)throw new Error("No rpc connection");try{return await this.solanaConnection.sendRawTransaction(e,{maxRetries:3,skipPreflight:!1})}catch(e){throw e}}async sendEthereumTransaction(e){if(!this.ethereumProvider)throw new Error("No Ethereum provider");try{return await this.ethereumProvider.sendRawTransaction({serializedTransaction:e})}catch(e){throw e}}async sendEmailVerificationCode(e){await this.api.post("/send_verification",{email:e})}async sendPhoneVerificationCode(e){e.startsWith("+")||(e=`+${e}`),await this.api.post("/send_verification",{phone:e,type:"phone"})}async verifyEmailVerificationCode({email:e,code:t}){const r={type:"Email",data:{network:this.defaultNetwork,email:e,code:t}},a=(await this.api.post("/login",r,{withCredentials:!0})).data;return this.setWallet(a),this.setWalletType("embedded"),a}async verifyPhoneVerificationCode({phone:e,code:t}){const r={type:"Phone",data:{network:this.defaultNetwork,phone:e,code:t}},a=(await this.api.post("/login",r,{withCredentials:!0})).data;return this.setWallet(a),this.setWalletType("embedded"),a}async twitterLogin(e){const t={type:"TwitterOAuth",data:{network:this.defaultNetwork,...e}},r=(await this.api.post("/login",t,{withCredentials:!0})).data;return this.setWallet(r),this.setWalletType("embedded"),r}async googleLogin(e){const t={type:"GoogleOAuth",data:{network:this.defaultNetwork,...e}},r=(await this.api.post("/login",t,{withCredentials:!0})).data;return this.setWallet(r),this.setWalletType("embedded"),r}async oauthLogin(e,t){const r={type:e,data:{network:t.network||this.defaultNetwork,...t}},a=(await this.api.post("/login",r,{withCredentials:!0})).data;return this.setWallet(a),t.isBackup?this.setBackupWalletType("embedded_backup"):this.setWalletType("embedded"),a}async loginWithChallenge(e,t){const r={type:e,data:{network:t.network||this.defaultNetwork,...t}},a=(await this.api.post("/login",r,{withCredentials:!0})).data;return this.setWallet(a),console.log(11),t.isBackup?(console.log(22),this.setBackupWalletType("embedded_backup")):this.setWalletType("embedded"),a}async oauthInit(e){return(await this.api.post("/oauth/init",e)).data}async getSignChallenge(e){return(await this.api.get(`/challenge?method=${e.method}&id=${e.id}`)).data}async getSession(){const e=(await this.api.get("/session",{withCredentials:!0})).data,{access_token:t,...r}=e;return t&&o.saveAccessToken(t),e}async logout(e){this.phantomAdapter?(this.phantomAdapter.disconnect(),this.phantomAdapter=null):await this.api.post("/logout",{},{withCredentials:!0}),this.setWallet(null),e?o.clearBackup():o.clear()}async getOAuth2ClientId(e){return(await this.api.get(`/oauth_id/${e}`)).data.client_id}setSelectedWallet(e){this.selectedWalletId=e}getSelectedWallet(){return this.selectedWalletId}async getSolanaBalance(){if(!this.solanaConnection||!this.solanaAddress)throw new Error("Solana connection not available");return(await this.solanaConnection.getBalance(new i(this.solanaAddress))/s).toString()}async getEthereumBalance(){if(!this.ethereumProvider||!this.ethereumAddress)throw new Error("Ethereum provider not available");const e=await this.ethereumProvider.getBalance({address:this.ethereumAddress});return m(e)}async fetchCoinbaseToken(e,t="solana"){return(await this.api.post("/ramp/coinbase",{addresses:[{address:e,blockchains:[t]}],assets:["solana"===t?"SOL":"ETH"]})).data.token}viemSignerAdapter(){return{signTypedData:async e=>{if(!this.ethereumNetwork)throw new Error("No Ethereum network");if(!this.ethereumProvider)throw new Error("No Ethereum provider");if(!this.walletInfo)throw new Error("No wallet info");if(!this.ethereumAddress)throw new Error("No Ethereum address");const r=await this.signV2({network:t.Ethereum,address:this.ethereumAddress,tx:{EthereumEip712:e}}),a=l.decode(r),o=a[64];return f({r:`0x${w.from(a.slice(0,32)).toString("hex")}`,s:`0x${w.from(a.slice(32,64)).toString("hex")}`,v:BigInt(o+27)})}}}async createMiddleAccount(e){try{return(await this.middleAccountApi.post("/create",e)).data}catch(e){throw new Error(e instanceof Error?e.message:"Failed to create middle account")}}async getCoinbaseOnrampUrlForMiddleAccount(e){try{const r={sessionToken:await this.fetchCoinbaseToken(e.middleAccountAddress,e.network===t.Solana?"solana":"ethereum"),presetCryptoAmount:Number(e.amount),redirectUrl:e.redirectUrl||window.location.href};return c(r)}catch(e){throw new Error(e instanceof Error?e.message:"Failed to get Coinbase onramp URL")}}async getOrderState(e){try{return(await this.middleAccountApi.get(`/order/${e}`)).data}catch(e){throw new Error(e instanceof Error?e.message:"Failed to get order status")}}async transfer(e){var t,r;if(!this.walletInfo)throw new Error("No wallet info available");const a={user_id:this.walletInfo.id,from:e.from,to:e.to,amount:e.amount,decimals:e.decimals,token:e.token,network:e.network,chain_id:e.chain_id};try{return(await this.api.post("/v3/sign/transfer",a,{withCredentials:!0})).data}catch(e){if(null===(r=null===(t=e.response)||void 0===t?void 0:t.data)||void 0===r?void 0:r.error)throw new Error(e.response.data.error);throw new Error(e instanceof Error?e.message:"Transfer failed")}}async buildTransaction(e,t){var r,a;if(!this.walletInfo)throw new Error("No wallet info available");try{const r={...e,wallet_address:t||e.wallet_address||null};return(await this.api.post("/v3/sign/build_transaction",r,{withCredentials:!0})).data}catch(e){if(null===(a=null===(r=e.response)||void 0===r?void 0:r.data)||void 0===a?void 0:a.error)throw new Error(e.response.data.error);throw new Error(e instanceof Error?e.message:"Failed to build transaction")}}async exportInit(e){var t,r;if(!this.walletInfo)throw new Error("No wallet info available");const a={user_nonce:v(),account_index:e};try{return(await this.api.post("/export/init",a,{withCredentials:!0})).data}catch(e){if(null===(r=null===(t=e.response)||void 0===t?void 0:t.data)||void 0===r?void 0:r.error)throw new Error(e.response.data.error);throw new Error(e instanceof Error?e.message:"Failed to initialize export")}}async exportFinal(e){var t,r,a;if(!this.walletInfo)throw new Error("No wallet info available");const o={user_nonce:e.userNonce,server_nonce:e.serverNonce,account_index:e.accountIndex,is_export:null===(t=e.isExport)||void 0===t||t};try{return(await this.api.post("/export/final",o,{withCredentials:!0})).data}catch(e){if(null===(a=null===(r=e.response)||void 0===r?void 0:r.data)||void 0===a?void 0:a.error)throw new Error(e.response.data.error);throw new Error(e instanceof Error?e.message:"Failed to finalize export")}}async getExportedWallets(e){var t,r;if(!this.walletInfo)throw new Error("No wallet info available");const a={account_index:e,is_export:!1};try{return(await this.api.post("/export/final",a,{withCredentials:!0})).data}catch(e){if(null===(r=null===(t=e.response)||void 0===t?void 0:t.data)||void 0===r?void 0:r.error)throw new Error(e.response.data.error);throw new Error(e instanceof Error?e.message:"Failed to retrieve exported wallets")}}async closeInit(){var e,t;if(!this.walletInfo)throw new Error("No wallet info available");const r={user_nonce:v()};try{return(await this.api.post("/close/init",r,{withCredentials:!0})).data}catch(r){if(null===(t=null===(e=r.response)||void 0===e?void 0:e.data)||void 0===t?void 0:t.error)throw new Error(r.response.data.error);throw new Error(r instanceof Error?r.message:"Failed to initialize account closure")}}async closeFinal(e){var t,r;if(!this.walletInfo)throw new Error("No wallet info available");const a={user_nonce:e.userNonce,server_nonce:e.serverNonce};try{const e=await this.api.post("/close/final",a,{withCredentials:!0});return this.setWallet(null),o.clear(),e.data}catch(e){if(null===(r=null===(t=e.response)||void 0===t?void 0:t.data)||void 0===r?void 0:r.error)throw new Error(e.response.data.error);throw new Error(e instanceof Error?e.message:"Failed to close account")}}async signV1(e){var t,r;if(!this.walletInfo)throw new Error("No wallet info available");const a={user_id:this.walletInfo.id,network:e.network,address:e.address,message:e.message};try{return(await this.api.post("/v1/sign",a,{withCredentials:!0})).data.signature}catch(e){if(null===(r=null===(t=e.response)||void 0===t?void 0:t.data)||void 0===r?void 0:r.error)throw new Error(e.response.data.error);throw new Error(e instanceof Error?e.message:"Failed to sign message")}}async signV2(e){var t,r;if(!this.walletInfo)throw new Error("No wallet info available");const a={user_id:this.walletInfo.id,network:e.network,address:e.address,tx:e.tx};try{return(await this.api.post("/v2/sign",a,{withCredentials:!0})).data.signature}catch(e){if(null===(r=null===(t=e.response)||void 0===t?void 0:t.data)||void 0===r?void 0:r.error)throw new Error(e.response.data.error);throw new Error(e instanceof Error?e.message:"Failed to sign transaction")}}async signV3(e){var r,a;if(!this.walletInfo)throw new Error("No wallet info available");if(e.network!==t.Solana)throw new Error("v3 sign API only supports Solana transactions");if(!e.tx.Solana)throw new Error("Solana transaction is required for v3 sign API");const o={user_id:this.walletInfo.id,network:e.network,address:e.address,tx:{Solana:e.tx.Solana}};try{return(await this.api.post("/v3/sign",o,{withCredentials:!0})).data.signature}catch(e){if(null===(a=null===(r=e.response)||void 0===r?void 0:r.data)||void 0===a?void 0:a.error)throw new Error(e.response.data.error);throw new Error(e instanceof Error?e.message:"Failed to sign transaction")}}async lighterBuildTransaction(e,t){var r,a;if(!this.walletInfo)throw new Error("No wallet info available");try{const r={...e,wallet_address:t||e.wallet_address||null};return(await this.api.post("/v3/lighter/build_transaction",r,{withCredentials:!0})).data}catch(e){if(null===(a=null===(r=e.response)||void 0===r?void 0:r.data)||void 0===a?void 0:a.error)throw new Error(e.response.data.error);throw new Error(e instanceof Error?e.message:"Failed to build Lighter transaction")}}async lighterAuth(e){var t,r;if(!this.walletInfo)throw new Error("No wallet info available");const a={account_index:e.lighter_account_index,wallet_address:e.wallet_address||null,expires_in_ms:e.expires_in_ms||null};try{return(await this.api.post("/v3/lighter/auth",a,{withCredentials:!0})).data}catch(e){if(null===(r=null===(t=e.response)||void 0===t?void 0:t.data)||void 0===r?void 0:r.error)throw new Error(e.response.data.error);throw new Error(e instanceof Error?e.message:"Failed to generate Lighter auth token")}}async lighterChangeKey(e){var t,r;if(!this.walletInfo)throw new Error("No wallet info available");if(e.lighter_account_index<0)throw new Error("accountIndex must be non-negative");const a={account_index:e.lighter_account_index,wallet_address:e.wallet_address||null};try{return(await this.api.post("/v3/lighter/change_key",a,{withCredentials:!0})).data}catch(e){if(null===(r=null===(t=e.response)||void 0===t?void 0:t.data)||void 0===r?void 0:r.error)throw new Error(e.response.data.error);throw new Error(e instanceof Error?e.message:"Failed to change Lighter key")}}async exchange(e){var t,r;if(!this.walletInfo)throw new Error("No wallet info available");try{return(await this.api.post("/v3/sign/exchange",e,{withCredentials:!0})).data}catch(e){if(null===(r=null===(t=e.response)||void 0===t?void 0:t.data)||void 0===r?void 0:r.error)throw new Error(e.response.data.error);throw new Error(e instanceof Error?e.message:"Failed to build exchange transaction")}}}export{g as WalletClient};
1
+ import t from"axios";import{Network as e,WalletType as r,isVersionedTransaction as a}from"./types.js";import{Storage as n}from"./storage.js";import{Connection as o,PublicKey as i,LAMPORTS_PER_SOL as s}from"@solana/web3.js";import l from"bs58";import{PhantomWalletAdapter as d}from"./adapters/phantom.js";import{v4 as c}from"uuid";import{getOnrampBuyUrl as h}from"./utils/coinbaseUtils.js";import{Buffer as u}from"../_virtual/_polyfill-node.buffer.js";import"./polyfills.js";import{createPublicClient as p}from"../node_modules/.pnpm/viem@2.37.8_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10/node_modules/viem/_esm/clients/createPublicClient.js";import{http as w}from"../node_modules/.pnpm/viem@2.37.8_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10/node_modules/viem/_esm/clients/transports/http.js";import{serializeSignature as m}from"../node_modules/.pnpm/viem@2.37.8_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10/node_modules/viem/_esm/utils/signature/serializeSignature.js";import{formatEther as f}from"../node_modules/.pnpm/ethers@6.15.0_bufferutil@4.0.9_utf-8-validate@5.0.10/node_modules/ethers/lib.esm/utils/units.js";function v(){const t=new Uint8Array(16);return crypto.getRandomValues(t),Array.from(t,t=>t.toString(16).padStart(2,"0")).join("")}class g{constructor(r){this.walletInfo=null,this.userId=null,this.solanaConnection=null,this.ethereumProvider=null,this.phantomAdapter=null,this.walletType="embedded",this.ethereumNetwork=null,this.defaultNetwork=e.Solana,this.api=t.create({baseURL:r.baseURL,headers:{"Content-Type":"application/json"}}),this.middleAccountApi=t.create({baseURL:r.middleAccountBaseURL||"https://yeezy-payment-service-sit-a0dchfccbufeh5bx.z03.azurefd.net",headers:{"Content-Type":"application/json"}}),this.solanaCluster=r.solanaCluster,this.solanaConnection=new o(r.solanaCluster.rpcUrl),r.ethereumNetwork&&(this.ethereumNetwork={...r.ethereumNetwork,chainId:Number(r.ethereumNetwork.chainId)},this.ethereumProvider=p({transport:w(r.ethereumNetwork.rpcUrl)})),this.defaultNetwork=r.defaultNetwork||e.Solana,this.setWalletInfo=t=>{var e;r.setWalletInfo(t),this.userId=null!==(e=null==t?void 0:t.id)&&void 0!==e?e:null,this.walletInfo=t}}setWalletType(t){this.walletType=t,n.saveWalletType(t)}async reconnect(t){try{if(n.getWalletType()==="phantom"+(t?"_backup":"")){return await this.connectPhantom()}if(!t){const t=await this.getAndRefreshSession();return this.setWalletInfo(t),t}const e=n.getBackupWalletInfo();return this.setWalletInfo(e),e}catch(t){return null}}getPhantomAdapter(){return this.phantomAdapter}async connectPhantom(){try{if(this.phantomAdapter||(this.phantomAdapter=new d),await this.phantomAdapter.connect(),!this.phantomAdapter.publicKey)throw new Error("Failed to connect to Phantom wallet");const t=this.phantomAdapter.publicKey.toString(),a={id:c(),wallets:[{id:t,address:t,network:e.Solana,wallet_type:r.Phantom,wallet_set:"Main",account_index:0,is_enabled:!0}],social_links:[],social_infos:[],account_info:{name:null,sub_accounts:[]},created_at:Date.now(),is_exported:!1};return this.setWalletInfo(a),this.setWalletType("phantom"),a}catch(t){throw console.error("Phantom connect error:",t),new Error(t instanceof Error?t.message:"Failed to connect to Phantom wallet")}}async updateAccountName(t,e){const r={name:t,account_index:e},a=(await this.api.post("/account/update",r,{withCredentials:!0})).data;return this.setWalletInfo(a),a}async manageMultiAccount(t){const e=(await this.api.post("/account/multi",t,{withCredentials:!0})).data;return this.setWalletInfo(e),e}async createSubAccount(t){return this.manageMultiAccount({type:"Create",data:{name:null!=t?t:null}})}async enableSubAccount(t){return this.manageMultiAccount({type:"Enable",data:{index:t}})}async disableSubAccount(t){return this.manageMultiAccount({type:"Disable",data:{index:t}})}async signSolanaTransaction(t,r){try{if(!this.solanaConnection)throw new Error("No rpc connection");const{blockhash:n}=await this.solanaConnection.getLatestBlockhash();if(a(t)?t.message.recentBlockhash=n:t.recentBlockhash=n,this.phantomAdapter&&this.phantomAdapter.publicKey)return await this.phantomAdapter.signTransaction(t);const o=await this.signV3({network:e.Solana,address:r,tx:{Solana:l.encode(a(t)?t.message.serialize():t.serializeMessage())}});return t.addSignature(new i(r),u.from(l.decode(o))),t}catch(t){throw new Error(t instanceof Error?t.message:"Failed to sign transaction")}}async signEthereumEip712(t,r){if(!this.ethereumNetwork)throw new Error("No Ethereum network");if(!this.ethereumProvider)throw new Error("No Ethereum provider");return await this.signV2({network:e.Ethereum,address:r,tx:{EthereumEip712:t}})}async sendSolanaTransaction(t){if(!this.solanaConnection)throw new Error("No rpc connection");try{return await this.solanaConnection.sendRawTransaction(t,{maxRetries:3,skipPreflight:!1})}catch(t){throw t}}async sendEthereumTransaction(t){if(!this.ethereumProvider)throw new Error("No Ethereum provider");try{return await this.ethereumProvider.sendRawTransaction({serializedTransaction:t})}catch(t){throw t}}async sendEmailVerificationCode(t){await this.api.post("/send_verification",{email:t})}async sendPhoneVerificationCode(t){t.startsWith("+")||(t=`+${t}`),await this.api.post("/send_verification",{phone:t,type:"phone"})}async verifyEmailVerificationCode({email:t,code:e}){const r={type:"Email",data:{network:this.defaultNetwork,email:t,code:e}},a=(await this.api.post("/login",r,{withCredentials:!0})).data;return this.setWalletInfo(a),this.setWalletType("embedded"),a}async verifyPhoneVerificationCode({phone:t,code:e}){const r={type:"Phone",data:{network:this.defaultNetwork,phone:t,code:e}},a=(await this.api.post("/login",r,{withCredentials:!0})).data;return this.setWalletInfo(a),this.setWalletType("embedded"),a}async twitterLogin(t){const e={type:"TwitterOAuth",data:{network:this.defaultNetwork,...t}},r=(await this.api.post("/login",e,{withCredentials:!0})).data;return this.setWalletInfo(r),this.setWalletType("embedded"),r}async googleLogin(t){const e={type:"GoogleOAuth",data:{network:this.defaultNetwork,...t}},r=(await this.api.post("/login",e,{withCredentials:!0})).data;return this.setWalletInfo(r),this.setWalletType("embedded"),r}async oauthLogin(t,e){const r={type:t,data:{network:e.network||this.defaultNetwork,...e}},a=(await this.api.post("/login",r,{withCredentials:!0})).data;return this.setWalletInfo(a),this.setWalletType("embedded"),a}async loginWithChallenge(t,e){const r={type:t,data:{network:e.network||this.defaultNetwork,...e}},a=(await this.api.post("/login",r,{withCredentials:!0})).data;return this.setWalletInfo(a),this.setWalletType("embedded"),a}async oauthInit(t){return(await this.api.post("/oauth/init",t)).data}async getSignChallenge(t){return(await this.api.get(`/challenge?method=${t.method}&id=${t.id}`)).data}async getAndRefreshSession(){const t=(await this.api.get("/session",{withCredentials:!0})).data,{access_token:e}=t;return e&&n.saveAccessToken(e),this.setWalletInfo(t),t}async logout(t){this.phantomAdapter?(this.phantomAdapter.disconnect(),this.phantomAdapter=null):await this.api.post("/logout",{},{withCredentials:!0}),this.setWalletInfo(null),t?n.clearBackup():n.clear()}async getOAuth2ClientId(t){return(await this.api.get(`/oauth_id/${t}`)).data.client_id}async getSolanaBalance(t){if(!this.solanaConnection)throw new Error("Solana connection not available");return(await this.solanaConnection.getBalance(new i(t))/s).toString()}async getEthereumBalance(t){if(!this.ethereumProvider)throw new Error("Ethereum provider not available");const e=await this.ethereumProvider.getBalance({address:t});return f(e)}async fetchCoinbaseToken(t,e="solana"){return(await this.api.post("/ramp/coinbase",{addresses:[{address:t,blockchains:[e]}],assets:["solana"===e?"SOL":"ETH"]})).data.token}viemSignerAdapter(t){return{signTypedData:async r=>{if(!this.ethereumNetwork)throw new Error("No Ethereum network");if(!this.ethereumProvider)throw new Error("No Ethereum provider");const a=await this.signV2({network:e.Ethereum,address:t,tx:{EthereumEip712:r}}),n=l.decode(a),o=n[64];return m({r:`0x${u.from(n.slice(0,32)).toString("hex")}`,s:`0x${u.from(n.slice(32,64)).toString("hex")}`,v:BigInt(o+27)})}}}async createMiddleAccount(t){try{return(await this.middleAccountApi.post("/create",t)).data}catch(t){throw new Error(t instanceof Error?t.message:"Failed to create middle account")}}async getCoinbaseOnrampUrlForMiddleAccount(t){try{const r={sessionToken:await this.fetchCoinbaseToken(t.middleAccountAddress,t.network===e.Solana?"solana":"ethereum"),presetCryptoAmount:Number(t.amount),redirectUrl:t.redirectUrl||window.location.href};return h(r)}catch(t){throw new Error(t instanceof Error?t.message:"Failed to get Coinbase onramp URL")}}async getOrderState(t){try{return(await this.middleAccountApi.get(`/order/${t}`)).data}catch(t){throw new Error(t instanceof Error?t.message:"Failed to get order status")}}async transfer(t){var e,r,a;const n={user_id:null!==(e=this.userId)&&void 0!==e?e:"",from:t.from,to:t.to,amount:t.amount,decimals:t.decimals,token:t.token,network:t.network,chain_id:t.chain_id};try{return(await this.api.post("/v3/sign/transfer",n,{withCredentials:!0})).data}catch(t){if(null===(a=null===(r=t.response)||void 0===r?void 0:r.data)||void 0===a?void 0:a.error)throw new Error(t.response.data.error);throw new Error(t instanceof Error?t.message:"Transfer failed")}}async buildTransaction(t){var e,r;try{return(await this.api.post("/v3/sign/build_transaction",t,{withCredentials:!0})).data}catch(t){if(null===(r=null===(e=t.response)||void 0===e?void 0:e.data)||void 0===r?void 0:r.error)throw new Error(t.response.data.error);throw new Error(t instanceof Error?t.message:"Failed to build transaction")}}async exportInit(t){var e,r;const a={user_nonce:v(),account_index:t};try{return(await this.api.post("/export/init",a,{withCredentials:!0})).data}catch(t){if(null===(r=null===(e=t.response)||void 0===e?void 0:e.data)||void 0===r?void 0:r.error)throw new Error(t.response.data.error);throw new Error(t instanceof Error?t.message:"Failed to initialize export")}}async exportFinal(t){var e,r,a;const n={user_nonce:t.userNonce,server_nonce:t.serverNonce,account_index:t.accountIndex,is_export:null===(e=t.isExport)||void 0===e||e};try{return(await this.api.post("/export/final",n,{withCredentials:!0})).data}catch(t){if(null===(a=null===(r=t.response)||void 0===r?void 0:r.data)||void 0===a?void 0:a.error)throw new Error(t.response.data.error);throw new Error(t instanceof Error?t.message:"Failed to finalize export")}}async getExportedWallets(t){var e,r;const a={account_index:t,is_export:!1};try{return(await this.api.post("/export/final",a,{withCredentials:!0})).data}catch(t){if(null===(r=null===(e=t.response)||void 0===e?void 0:e.data)||void 0===r?void 0:r.error)throw new Error(t.response.data.error);throw new Error(t instanceof Error?t.message:"Failed to retrieve exported wallets")}}async closeInit(){var t,e;const r={user_nonce:v()};try{return(await this.api.post("/close/init",r,{withCredentials:!0})).data}catch(r){if(null===(e=null===(t=r.response)||void 0===t?void 0:t.data)||void 0===e?void 0:e.error)throw new Error(r.response.data.error);throw new Error(r instanceof Error?r.message:"Failed to initialize account closure")}}async closeFinal(t){var e,r;const a={user_nonce:t.userNonce,server_nonce:t.serverNonce};try{const t=await this.api.post("/close/final",a,{withCredentials:!0});return this.setWalletInfo(null),n.clear(),t.data}catch(t){if(null===(r=null===(e=t.response)||void 0===e?void 0:e.data)||void 0===r?void 0:r.error)throw new Error(t.response.data.error);throw new Error(t instanceof Error?t.message:"Failed to close account")}}async signV1(t){var e,r,a;const n={user_id:null!==(e=this.userId)&&void 0!==e?e:"",network:t.network,address:t.address,message:t.message};try{return(await this.api.post("/v1/sign",n,{withCredentials:!0})).data.signature}catch(t){if(null===(a=null===(r=t.response)||void 0===r?void 0:r.data)||void 0===a?void 0:a.error)throw new Error(t.response.data.error);throw new Error(t instanceof Error?t.message:"Failed to sign message")}}async signV2(t){var e,r,a;const n={user_id:null!==(e=this.userId)&&void 0!==e?e:"",network:t.network,address:t.address,tx:t.tx};try{return(await this.api.post("/v2/sign",n,{withCredentials:!0})).data.signature}catch(t){if(null===(a=null===(r=t.response)||void 0===r?void 0:r.data)||void 0===a?void 0:a.error)throw new Error(t.response.data.error);throw new Error(t instanceof Error?t.message:"Failed to sign transaction")}}async signV3(t){var r,a,n;if(t.network!==e.Solana)throw new Error("v3 sign API only supports Solana transactions");if(!t.tx.Solana)throw new Error("Solana transaction is required for v3 sign API");const o={user_id:null!==(r=this.userId)&&void 0!==r?r:"",network:t.network,address:t.address,tx:{Solana:t.tx.Solana}};try{return(await this.api.post("/v3/sign",o,{withCredentials:!0})).data.signature}catch(t){if(null===(n=null===(a=t.response)||void 0===a?void 0:a.data)||void 0===n?void 0:n.error)throw new Error(t.response.data.error);throw new Error(t instanceof Error?t.message:"Failed to sign transaction")}}async lighterBuildTransaction(t,e){var r,a;try{const r={...t,wallet_address:e||t.wallet_address||null};return(await this.api.post("/v3/lighter/build_transaction",r,{withCredentials:!0})).data}catch(t){if(null===(a=null===(r=t.response)||void 0===r?void 0:r.data)||void 0===a?void 0:a.error)throw new Error(t.response.data.error);throw new Error(t instanceof Error?t.message:"Failed to build Lighter transaction")}}async lighterAuth(t){var e,r;const a={account_index:t.lighter_account_index,wallet_address:t.wallet_address||null,expires_in_ms:t.expires_in_ms||null};try{return(await this.api.post("/v3/lighter/auth",a,{withCredentials:!0})).data}catch(t){if(null===(r=null===(e=t.response)||void 0===e?void 0:e.data)||void 0===r?void 0:r.error)throw new Error(t.response.data.error);throw new Error(t instanceof Error?t.message:"Failed to generate Lighter auth token")}}async lighterChangeKey(t){var e,r;if(t.lighter_account_index<0)throw new Error("accountIndex must be non-negative");const a={account_index:t.lighter_account_index,wallet_address:t.wallet_address||null};try{return(await this.api.post("/v3/lighter/change_key",a,{withCredentials:!0})).data}catch(t){if(null===(r=null===(e=t.response)||void 0===e?void 0:e.data)||void 0===r?void 0:r.error)throw new Error(t.response.data.error);throw new Error(t instanceof Error?t.message:"Failed to change Lighter key")}}async exchange(t){var e,r;try{return(await this.api.post("/v3/sign/exchange",t,{withCredentials:!0})).data}catch(t){if(null===(r=null===(e=t.response)||void 0===e?void 0:e.data)||void 0===r?void 0:r.error)throw new Error(t.response.data.error);throw new Error(t instanceof Error?t.message:"Failed to build exchange transaction")}}}export{g as WalletClient};
2
2
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sources":["../../../../src/client.ts"],"sourcesContent":[null],"names":["generateNonce","array","Uint8Array","crypto","getRandomValues","Array","from","byte","toString","padStart","join","WalletClient","constructor","config","this","selectedWalletId","solanaConnection","ethereumProvider","walletInfo","phantomAdapter","walletType","backupWalletType","ethereumNetwork","defaultNetwork","Network","Solana","api","axios","create","baseURL","headers","middleAccountApi","middleAccountBaseURL","solanaCluster","Connection","rpcUrl","chainId","Number","createPublicClient","transport","http","setWallet","wallet","setWalletType","type","Storage","saveWalletType","setBackupWalletType","saveBackupWalletType","console","log","getWallet","getPhantomAdapter","getWalletType","getBackupWalletType","_a","wallets","find","network","address","ethereumWallet","getSwitchedAccountAddress","_b","Ethereum","wallet_set","ethereumAddress","solanaWallet","_c","_d","forwardSolanaWallet","forwardSolanaAddress","forwardEthereumWallet","forwardEthereumAddress","solanaAddress","id","social_links","reconnect","isBackup","connectPhantom","getSession","getBackupWalletInfo","error","PhantomWalletAdapter","connect","publicKey","Error","uuidv4","wallet_type","WalletType","Phantom","account_index","is_enabled","social_infos","account_info","name","sub_accounts","created_at","Date","now","is_exported","message","updateAccountName","accountIndex","payload","undefined","post","withCredentials","data","manageMultiAccount","request","createSubAccount","enableSubAccount","index","disableSubAccount","signSolanaTransaction","transaction","blockhash","getLatestBlockhash","isVersionedTransaction","recentBlockhash","signTransaction","signature","signV3","tx","bs58","encode","serialize","serializeMessage","addSignature","PublicKey","Buffer","decode","signEthereumEip712","params","signV2","EthereumEip712","sendSolanaTransaction","sendRawTransaction","maxRetries","skipPreflight","sendEthereumTransaction","signedTransaction","serializedTransaction","sendEmailVerificationCode","email","sendPhoneVerificationCode","phone","startsWith","verifyEmailVerificationCode","code","verifyPhoneVerificationCode","twitterLogin","googleLogin","oauthLogin","loginWithChallenge","oauthInit","getSignChallenge","get","method","access_token","rest","saveAccessToken","logout","disconnect","clearBackup","clear","getOAuth2ClientId","provider","client_id","setSelectedWallet","walletId","getSelectedWallet","getSolanaBalance","getBalance","LAMPORTS_PER_SOL","getEthereumBalance","balance","ethers.formatEther","fetchCoinbaseToken","blockchain","addresses","blockchains","assets","token","viemSignerAdapter","signTypedData","async","signatureBytes","recId","signatureToHex","r","slice","s","v","BigInt","createMiddleAccount","getCoinbaseOnrampUrlForMiddleAccount","sessionToken","middleAccountAddress","presetCryptoAmount","amount","redirectUrl","window","location","href","getOnrampBuyUrl","getOrderState","orderId","transfer","transferRequest","user_id","to","decimals","chain_id","response","buildTransaction","walletAddress","buildRequest","wallet_address","exportInit","user_nonce","exportFinal","userNonce","server_nonce","serverNonce","is_export","isExport","getExportedWallets","closeInit","closeFinal","signV1","signRequest","lighterBuildTransaction","lighterAuth","lighter_account_index","expires_in_ms","lighterChangeKey","exchange"],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sources":["../../../../src/client.ts"],"sourcesContent":[null],"names":["generateNonce","array","Uint8Array","crypto","getRandomValues","Array","from","byte","toString","padStart","join","WalletClient","constructor","config","this","walletInfo","userId","solanaConnection","ethereumProvider","phantomAdapter","walletType","ethereumNetwork","defaultNetwork","Network","Solana","api","axios","create","baseURL","headers","middleAccountApi","middleAccountBaseURL","solanaCluster","Connection","rpcUrl","chainId","Number","createPublicClient","transport","http","setWalletInfo","_a","id","setWalletType","type","Storage","saveWalletType","reconnect","isBackup","getWalletType","connectPhantom","wallet","getAndRefreshSession","getBackupWalletInfo","error","getPhantomAdapter","PhantomWalletAdapter","connect","publicKey","Error","uuidv4","wallets","address","network","wallet_type","WalletType","Phantom","wallet_set","account_index","is_enabled","social_links","social_infos","account_info","name","sub_accounts","created_at","Date","now","is_exported","console","message","updateAccountName","accountIndex","payload","post","withCredentials","data","manageMultiAccount","request","createSubAccount","enableSubAccount","index","disableSubAccount","signSolanaTransaction","transaction","solanaAddress","blockhash","getLatestBlockhash","isVersionedTransaction","recentBlockhash","signTransaction","signature","signV3","tx","bs58","encode","serialize","serializeMessage","addSignature","PublicKey","Buffer","decode","signEthereumEip712","params","ethereumAddress","signV2","Ethereum","EthereumEip712","sendSolanaTransaction","sendRawTransaction","maxRetries","skipPreflight","sendEthereumTransaction","signedTransaction","serializedTransaction","sendEmailVerificationCode","email","sendPhoneVerificationCode","phone","startsWith","verifyEmailVerificationCode","code","verifyPhoneVerificationCode","twitterLogin","googleLogin","oauthLogin","loginWithChallenge","oauthInit","getSignChallenge","get","method","access_token","saveAccessToken","logout","disconnect","clearBackup","clear","getOAuth2ClientId","provider","client_id","getSolanaBalance","getBalance","LAMPORTS_PER_SOL","getEthereumBalance","balance","ethers.formatEther","fetchCoinbaseToken","blockchain","addresses","blockchains","assets","token","viemSignerAdapter","signTypedData","async","signatureBytes","recId","signatureToHex","r","slice","s","v","BigInt","createMiddleAccount","getCoinbaseOnrampUrlForMiddleAccount","sessionToken","middleAccountAddress","presetCryptoAmount","amount","redirectUrl","window","location","href","getOnrampBuyUrl","getOrderState","orderId","transfer","transferRequest","user_id","to","decimals","chain_id","_c","_b","response","buildTransaction","exportInit","user_nonce","exportFinal","userNonce","server_nonce","serverNonce","is_export","isExport","getExportedWallets","closeInit","closeFinal","signV1","signRequest","lighterBuildTransaction","walletAddress","buildRequest","wallet_address","lighterAuth","lighter_account_index","expires_in_ms","lighterChangeKey","exchange"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{getOnrampBuyUrl as o}from"./utils/coinbaseUtils.js";import{useWallet as n}from"./context.js";function e(){const{wallet:e}=n(),r=null==e?void 0:e.solanaAddress,t=null==e?void 0:e.ethereumAddress;return{getCoinbaseOnrampUrl:async(n,s="solana",l)=>{if(!e||!r||!t)throw new Error("Wallet not found");const i="solana"===s?r:t,a={sessionToken:await(null==e?void 0:e.fetchCoinbaseToken(i,s)),presetCryptoAmount:Number(n),redirectUrl:l||window.location.href};return o(a)}}}export{e as useCoinbaseOnramp};
1
+ import{getOnrampBuyUrl as o}from"./utils/coinbaseUtils.js";import{useWallet as n}from"./context.js";function t(t,r){const{wallet:e}=n();return{getCoinbaseOnrampUrl:async(n,s="solana",i)=>{if(!e||!t||!r)throw new Error("Wallet not found");const a="solana"===s?t:r,l={sessionToken:await(null==e?void 0:e.fetchCoinbaseToken(a,s)),presetCryptoAmount:Number(n),redirectUrl:i||window.location.href};return o(l)}}}export{t as useCoinbaseOnramp};
2
2
  //# sourceMappingURL=coinbase.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"coinbase.js","sources":["../../../../src/coinbase.ts"],"sourcesContent":[null],"names":["useCoinbaseOnramp","wallet","useWallet","solanaAddress","ethereumAddress","getCoinbaseOnrampUrl","async","amount","blockchain","redirectUrl","Error","address","params","sessionToken","fetchCoinbaseToken","presetCryptoAmount","Number","window","location","href","getOnrampBuyUrl"],"mappings":"6GAGgBA,IACd,MAAMC,OAAEA,GAAWC,IACbC,EAAgBF,aAAM,EAANA,EAAQE,cACxBC,EAAkBH,aAAM,EAANA,EAAQG,gBA6BhC,MAAO,CACLC,qBApB2BC,MAC3BC,EACAC,EAAoC,SACpCC,KAEA,IAAKR,IAAWE,IAAkBC,EAChC,MAAM,IAAIM,MAAM,oBAElB,MAAMC,EAAyB,WAAfH,EAA0BL,EAAgBC,EAEpDQ,EAAS,CACbC,mBAFkBZ,aAAM,EAANA,EAAQa,mBAAmBH,EAASH,IAGtDO,mBAAoBC,OAAOT,GAC3BE,YAAaA,GAAeQ,OAAOC,SAASC,MAG9C,OADqBC,EAAgBR,IAOzC"}
1
+ {"version":3,"file":"coinbase.js","sources":["../../../../src/coinbase.ts"],"sourcesContent":[null],"names":["useCoinbaseOnramp","solanaAddress","ethereumAddress","wallet","useWallet","getCoinbaseOnrampUrl","async","amount","blockchain","redirectUrl","Error","address","params","sessionToken","fetchCoinbaseToken","presetCryptoAmount","Number","window","location","href","getOnrampBuyUrl"],"mappings":"oGAGM,SAAUA,EAAkBC,EAAuBC,GACvD,MAAMC,OAAEA,GAAWC,IA6BnB,MAAO,CACLC,qBApB2BC,MAC3BC,EACAC,EAAoC,SACpCC,KAEA,IAAKN,IAAWF,IAAkBC,EAChC,MAAM,IAAIQ,MAAM,oBAElB,MAAMC,EAAyB,WAAfH,EAA0BP,EAAgBC,EAEpDU,EAAS,CACbC,mBAFkBV,aAAM,EAANA,EAAQW,mBAAmBH,EAASH,IAGtDO,mBAAoBC,OAAOT,GAC3BE,YAAaA,GAAeQ,OAAOC,SAASC,MAG9C,OADqBC,EAAgBR,IAOzC"}
@@ -1,2 +1,2 @@
1
- import e,{createContext as a,useRef as t,useReducer as n,useCallback as o,useEffect as l,useContext as r}from"react";import{WalletClient as i}from"./client.js";import{ModalManager as c}from"./modal.js";import{Storage as d}from"./storage.js";import{retrieveAndClearCodeVerifierAndChallenge as s}from"./utils/oauth.js";const u={isAuthenticated:!1,isConnecting:!1,isInitialized:!1,walletInfo:null,wallet:null,session:null,error:null,enableEmail:!0,enablePhone:!1,enableGoogle:!0,enableTwitter:!1,enablePhantom:!0},E=a({});function p(e,a){switch(a.type){case"SET_CONNECTING":return{...e,isConnecting:a.payload};case"SET_INITIALIZED":return{...e,isInitialized:a.payload};case"SET_SESSION":return{...e,isAuthenticated:!0,session:a.payload,error:null};case"SET_WALLET_INFO":return{...e,walletInfo:a.payload};case"SET_WALLET":return{...e,wallet:a.payload};case"SET_ERROR":return{...e,error:a.payload};case"RESET":return{...u,isInitialized:!0};default:return e}}function h({children:a,config:r}){var h,w,y,T,m,_;const b=t(null);b.current||(b.current=new i(r));const g=b.current,f=t(null!==(h=r.modalManager)&&void 0!==h?h:null),[N,S]=n(p,{...u,enableEmail:null===(w=r.enableEmail)||void 0===w||w,enablePhone:null!==(y=r.enablePhone)&&void 0!==y&&y,enableGoogle:null===(T=r.enableGoogle)||void 0===T||T,enableTwitter:null!==(m=r.enableTwitter)&&void 0!==m&&m,enablePhantom:null===(_=r.enablePhantom)||void 0===_||_}),{walletInfo:I}=N,L=t(!1),P=o(()=>(f.current||"undefined"==typeof window||(f.current=new c),f.current),[]);l(()=>{r.modalManager&&(f.current=r.modalManager)},[r.modalManager]),l(()=>{!async function(){if(!(I||L.current||N.isInitialized)){L.current=!0;try{const e=await g.reconnect();e&&(S({type:"SET_WALLET_INFO",payload:e}),S({type:"SET_WALLET",payload:g}))}catch(e){console.error("Auto reconnect failed:",e)}finally{S({type:"SET_INITIALIZED",payload:!0})}}}()},[g]),l(()=>{const e=async()=>{try{if(A.isConnecting)return;S({type:"SET_CONNECTING",payload:!0});const e=new URLSearchParams(window.location.search),a=e.get("wallet_oauth_provider"),t=e.get("wallet_oauth_state"),n=e.get("wallet_oauth_code");if(a&&t&&n){const e=s(a);if(!e)throw new Error("No code verifier found");const{codeVerifier:o,codeChallenge:l}=e;let r;if("twitter"===a)r="TwitterOAuth";else{if("google"!==a)throw new Error("Unsupported provider");r="GoogleOAuth"}P().showLoginModal({client:g,isLoading:!0,enableEmail:N.enableEmail,enablePhone:N.enablePhone,enableGoogle:N.enableGoogle,enableTwitter:N.enableTwitter,enablePhantom:N.enablePhantom});const i=await g.oauthLogin(r,{state:t,code:n,code_verifier:o});if(i){S({type:"SET_WALLET_INFO",payload:i}),S({type:"SET_WALLET",payload:g});const e=new URL(window.location.href);e.searchParams.delete("wallet_oauth_provider"),e.searchParams.delete("wallet_oauth_state"),e.searchParams.delete("wallet_oauth_code"),history.replaceState(null,"",e.toString())}}}catch(e){console.log("oauth login error: ",e)}finally{S({type:"SET_CONNECTING",payload:!1}),await P().hideModal()}};return e(),window.addEventListener("popstate",e),()=>{window.removeEventListener("popstate",e)}},[]);const v=o(async()=>{try{S({type:"SET_CONNECTING",payload:!0});P().showLoginModal({client:g,enableEmail:N.enableEmail,enablePhone:N.enablePhone,enableGoogle:N.enableGoogle,enableTwitter:N.enableTwitter,enablePhantom:N.enablePhantom,onClose:()=>{S({type:"SET_CONNECTING",payload:!1})},onLogin:e=>{S({type:"SET_CONNECTING",payload:!1}),S({type:"SET_WALLET_INFO",payload:e}),S({type:"SET_WALLET",payload:g})}})}catch(e){S({type:"SET_ERROR",payload:e instanceof Error?e.message:"Failed to connect"}),S({type:"SET_CONNECTING",payload:!1})}},[g]),C=o(async()=>{await g.logout(),S({type:"RESET"})},[g]);l(()=>{var e;"phantom"===d.getWalletType()&&g.getPhantomAdapter()&&(null===(e=g.getPhantomAdapter())||void 0===e||e.on("disconnect",()=>{C()}))},[g]);const A={...N,connect:v,disconnect:C};return e.createElement(E.Provider,{value:A},a)}function w(){const e=r(E);if(!e)throw new Error("useWallet must be used within a WalletProvider");return e}export{h as WalletProvider,w as useWallet};
1
+ import e,{createContext as a,useRef as t,useReducer as n,useCallback as o,useEffect as l,useContext as r}from"react";import{WalletClient as i}from"./client.js";import{ModalManager as c}from"./modal.js";import{Storage as d}from"./storage.js";import{retrieveAndClearCodeVerifierAndChallenge as s}from"./utils/oauth.js";const u={isAuthenticated:!1,isConnecting:!1,isInitialized:!1,walletInfo:null,wallet:null,session:null,error:null,enableEmail:!0,enablePhone:!1,enableGoogle:!0,enableTwitter:!1,enablePhantom:!0},E=a({});function p(e,a){switch(a.type){case"SET_CONNECTING":return{...e,isConnecting:a.payload};case"SET_INITIALIZED":return{...e,isInitialized:a.payload};case"SET_SESSION":return{...e,isAuthenticated:!0,session:a.payload,error:null};case"SET_WALLET_INFO":return{...e,walletInfo:a.payload};case"SET_WALLET":return{...e,wallet:a.payload};case"SET_ERROR":return{...e,error:a.payload};case"RESET":return{...u,isInitialized:!0};default:return e}}function h({children:a,config:r}){var h,y,T,w,m,_;const b=t(null!==(h=r.modalManager)&&void 0!==h?h:null),[g,f]=n(p,{...u,enableEmail:null===(y=r.enableEmail)||void 0===y||y,enablePhone:null!==(T=r.enablePhone)&&void 0!==T&&T,enableGoogle:null===(w=r.enableGoogle)||void 0===w||w,enableTwitter:null!==(m=r.enableTwitter)&&void 0!==m&&m,enablePhantom:null===(_=r.enablePhantom)||void 0===_||_}),N=t(null);N.current||(N.current=new i({...r,setWalletInfo:e=>{f({type:"SET_WALLET_INFO",payload:e})}}));const I=N.current,{walletInfo:L}=g,S=t(!1),P=o(()=>(b.current||"undefined"==typeof window||(b.current=new c),b.current),[]);l(()=>{r.modalManager&&(b.current=r.modalManager)},[r.modalManager]),l(()=>{!async function(){if(!(L||S.current||g.isInitialized)){S.current=!0;try{const e=await I.reconnect();e&&(f({type:"SET_WALLET_INFO",payload:e}),f({type:"SET_WALLET",payload:I}))}catch(e){console.error("Auto reconnect failed:",e)}finally{f({type:"SET_INITIALIZED",payload:!0})}}}()},[I]),l(()=>{const e=async()=>{try{if(A.isConnecting)return;f({type:"SET_CONNECTING",payload:!0});const e=new URLSearchParams(window.location.search),a=e.get("wallet_oauth_provider"),t=e.get("wallet_oauth_state"),n=e.get("wallet_oauth_code");if(a&&t&&n){const e=s(a);if(!e)throw new Error("No code verifier found");const{codeVerifier:o,codeChallenge:l}=e;let r;if("twitter"===a)r="TwitterOAuth";else{if("google"!==a)throw new Error("Unsupported provider");r="GoogleOAuth"}P().showLoginModal({client:I,isLoading:!0,enableEmail:g.enableEmail,enablePhone:g.enablePhone,enableGoogle:g.enableGoogle,enableTwitter:g.enableTwitter,enablePhantom:g.enablePhantom});const i=await I.oauthLogin(r,{state:t,code:n,code_verifier:o});if(i){f({type:"SET_WALLET_INFO",payload:i}),f({type:"SET_WALLET",payload:I});const e=new URL(window.location.href);e.searchParams.delete("wallet_oauth_provider"),e.searchParams.delete("wallet_oauth_state"),e.searchParams.delete("wallet_oauth_code"),history.replaceState(null,"",e.toString())}}}catch(e){console.log("oauth login error: ",e)}finally{f({type:"SET_CONNECTING",payload:!1}),await P().hideModal()}};return e(),window.addEventListener("popstate",e),()=>{window.removeEventListener("popstate",e)}},[]);const v=o(async()=>{try{f({type:"SET_CONNECTING",payload:!0});P().showLoginModal({client:I,enableEmail:g.enableEmail,enablePhone:g.enablePhone,enableGoogle:g.enableGoogle,enableTwitter:g.enableTwitter,enablePhantom:g.enablePhantom,onClose:()=>{f({type:"SET_CONNECTING",payload:!1})},onLogin:e=>{f({type:"SET_CONNECTING",payload:!1}),f({type:"SET_WALLET_INFO",payload:e}),f({type:"SET_WALLET",payload:I})}})}catch(e){f({type:"SET_ERROR",payload:e instanceof Error?e.message:"Failed to connect"}),f({type:"SET_CONNECTING",payload:!1})}},[I]),C=o(async()=>{await I.logout(),f({type:"RESET"})},[I]);l(()=>{var e;"phantom"===d.getWalletType()&&I.getPhantomAdapter()&&(null===(e=I.getPhantomAdapter())||void 0===e||e.on("disconnect",()=>{C()}))},[I]);const A={...g,connect:v,disconnect:C};return e.createElement(E.Provider,{value:A},a)}function y(){const e=r(E);if(!e)throw new Error("useWallet must be used within a WalletProvider");return e}export{h as WalletProvider,y as useWallet};
2
2
  //# sourceMappingURL=context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sources":["../../../../src/context.tsx"],"sourcesContent":[null],"names":["initialState","isAuthenticated","isConnecting","isInitialized","walletInfo","wallet","session","error","enableEmail","enablePhone","enableGoogle","enableTwitter","enablePhantom","WalletContext","createContext","walletReducer","state","action","type","payload","WalletProvider","children","config","clientRef","useRef","current","WalletClient","client","modalManagerRef","_a","modalManager","dispatch","useReducer","_b","_c","_d","_e","_f","hasAttemptedReconnect","getModalManager","useCallback","window","ModalManager","useEffect","async","reconnect","console","autoReconnect","checkCallback","value","urlParams","URLSearchParams","location","search","walletOauthProvider","get","walletOauthState","walletOauthCode","result","retrieveAndClearCodeVerifierAndChallenge","Error","codeVerifier","codeChallenge","showLoginModal","isLoading","oauthLogin","code","code_verifier","newUrl","URL","href","searchParams","delete","history","replaceState","toString","e","log","hideModal","addEventListener","removeEventListener","connect","onClose","onLogin","message","disconnect","logout","Storage","getWalletType","getPhantomAdapter","on","React","createElement","Provider","useWallet","context","useContext"],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sources":["../../../../src/context.tsx"],"sourcesContent":[null],"names":["initialState","isAuthenticated","isConnecting","isInitialized","walletInfo","wallet","session","error","enableEmail","enablePhone","enableGoogle","enableTwitter","enablePhantom","WalletContext","createContext","walletReducer","state","action","type","payload","WalletProvider","children","config","modalManagerRef","useRef","_a","modalManager","dispatch","useReducer","_b","_c","_d","_e","_f","clientRef","current","WalletClient","setWalletInfo","client","hasAttemptedReconnect","getModalManager","useCallback","window","ModalManager","useEffect","async","reconnect","console","autoReconnect","checkCallback","value","urlParams","URLSearchParams","location","search","walletOauthProvider","get","walletOauthState","walletOauthCode","result","retrieveAndClearCodeVerifierAndChallenge","Error","codeVerifier","codeChallenge","showLoginModal","isLoading","oauthLogin","code","code_verifier","newUrl","URL","href","searchParams","delete","history","replaceState","toString","e","log","hideModal","addEventListener","removeEventListener","connect","onClose","onLogin","message","disconnect","logout","Storage","getWalletType","getPhantomAdapter","on","React","createElement","Provider","useWallet","context","useContext"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{useState as e,useMemo as n,createRef as t,useEffect as i}from"react";import{useWallet as o}from"./context.js";import{buildOAuthState as a,buildCodeVerifierAndChallenge as l,getGoogleOAuth2Link as r,getTwitterOAuth2Link as c}from"./utils/oauth.js";import{theme as s}from"./styles/theme.js";import{useWalletBackup as d}from"./context_backup.js";function h(){const{connect:e,disconnect:n,isConnecting:t}=o();return{connect:e,disconnect:n,isConnecting:t}}function f(){const{error:e,session:n,isInitialized:t,wallet:i}=o();return{isAuthenticated:null!==i,authenticated:null!==i,error:e,session:n,isInitialized:t,ready:t}}function u(){const{error:e,session:n,isInitialized:t,wallet:i}=d();return{isAuthenticated:null!==i,authenticated:null!==i,error:e,session:n,isInitialized:t,ready:t}}function g(){const{wallet:e}=o();return{wallet:e}}function y({client:o,isOpen:d,onClose:h,onLogin:f,isLoading:u=!1}){const[g,y]=e(""),[m,v]=e(""),[p,w]=e(!1),[C,P]=e(!1),[S,F]=e(["","","","","",""]),[E,x]=e(!1),[L,V]=e(!1),[I,_]=e(!1),j=n(()=>Array(6).fill(null).map(()=>t()),[]),z=e=>/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e),A=e=>/^\+[1-9]\d{1,3}\d{6,14}$/.test(e);return i(()=>{S.forEach((e,n)=>{if(j[n]&&j[n].current){const t=j[n].current;t&&e&&(t.style.fontSize=s.typography.fontSizes.xl)}})},[S,j]),{email:g,setEmail:y,emailSent:C,setEmailSent:P,sendingCode:E,setVerificationCode:F,verificationCode:S,verifyingCode:L,connectingPhantom:I,inputRefs:j,handleCodeChange:(e,n)=>{var t,i,o;if(n.length<=1){const i=[...S];i[e]=n,F(i),n&&e<5&&(null===(t=j[e+1].current)||void 0===t||t.focus())}else if(n.length>1){const e=n.replace(/\D/g,"").slice(0,6).split(""),t=[...Array(6).fill("")];e.forEach((e,n)=>{n<6&&(t[n]=e)}),F(t);const a=t.findIndex(e=>""===e);-1!==a?null===(i=j[a].current)||void 0===i||i.focus():t[5]&&(null===(o=j[5].current)||void 0===o||o.focus())}},handleKeyDown:(e,n)=>{var t;"Backspace"===n.key&&!S[e]&&e>0&&(null===(t=j[e-1].current)||void 0===t||t.focus())},handleContainerPaste:e=>{var n,t;e.preventDefault();const i=e.clipboardData.getData("text").replace(/\D/g,"").slice(0,6).split(""),o=[...Array(6).fill("")];i.forEach((e,n)=>{n<6&&(o[n]=e)}),F(o);const a=o.findIndex(e=>""===e);-1!==a?null===(n=j[a].current)||void 0===n||n.focus():o[5]&&(null===(t=j[5].current)||void 0===t||t.focus())},handleSendVerificationCode:async(e=g)=>{try{if(!z(e))return void alert("Please enter a valid email address");x(!0),await o.sendEmailVerificationCode(e),P(!0)}catch(e){alert("Failed to send verification code"),console.error("Failed to send verification code",e)}finally{x(!1)}},handleCodeSubmit:async(e=S.join(""),n=g)=>{try{if(6!==e.length)return void alert("Please enter a valid verification code");V(!0);const t=await o.verifyEmailVerificationCode({email:n,code:e});t&&(null==f||f(t),null==h||h())}catch(e){alert("Failed to verify code"),console.error("Failed to verify code",e)}finally{V(!1)}},handlePhoneCodeSubmit:async(e=S.join(""),n=m)=>{try{if(6!==e.length)return void alert("Please enter a valid verification code");V(!0);const t=await o.verifyPhoneVerificationCode({phone:n,code:e});t&&(null==f||f(t),null==h||h())}catch(e){alert("Failed to verify code"),console.error("Failed to verify code",e)}finally{V(!1)}},handleSendPhoneVerificationCode:async(e=m)=>{try{if(!A(e))return void alert("Please enter a valid phone number");await o.sendPhoneVerificationCode(e),w(!0)}catch(e){alert("Failed to send verification code"),console.error("Failed to send verification code",e)}finally{x(!1)}},handleGetChallenge:async(e,n)=>await o.getSignChallenge({method:null!=n?n:"phantom",id:e}),handleLoginWithChallenge:async(e,n)=>{try{const t=await o.loginWithChallenge(e,n);t&&(null==f||f(t),null==h||h())}catch(e){alert("Failed to login with challenge"),console.error("Failed to login with challenge",e)}finally{V(!1)}},phone:m,setPhone:v,phoneSent:p,setPhoneSent:w,onOauthLogin:async e=>{const n=a(e),{codeVerifier:t,codeChallenge:i}=await l(e),s=new URL(window.location.href);s.searchParams.forEach((e,n)=>{s.searchParams.delete(n)});const d=s.toString(),h=await o.oauthInit({provider:e,redirect_uri:d,state:n,code_challenge:i}),{url:f,client_id:u}=h;if(!f&&!u)throw console.error("OAuth init failed."),new Error("init failed");const g={client_id:u,redirect_uri:f,state:n,code_challenge:i},y="google"===e?await r(g):await c(g);window.location.href=y},handlePhantomLogin:async()=>{try{_(!0);const e=await o.connectPhantom();e&&(null==f||f(e),null==h||h())}catch(e){console.error("Phantom login error:",e),alert("Failed to connect to Phantom wallet. Please make sure you have the Phantom extension installed.")}finally{_(!1)}},isOpen:d,onClose:h,onLogin:f,isLoading:u}}export{g as useActiveWallet,h as useConnect,y as useLoginModal,u as useWalletBackupStatus,f as useWalletStatus};
1
+ import{useState as e,useMemo as n,createRef as i,useEffect as t}from"react";import{useWallet as o}from"./context.js";import{buildOAuthState as a,buildCodeVerifierAndChallenge as l,getGoogleOAuth2Link as r,getTwitterOAuth2Link as c}from"./utils/oauth.js";import{theme as s}from"./styles/theme.js";function d(){const{connect:e,disconnect:n,isConnecting:i}=o();return{connect:e,disconnect:n,isConnecting:i}}function h(){const{error:e,session:n,isInitialized:i,wallet:t}=o();return{isAuthenticated:null!==t,authenticated:null!==t,error:e,session:n,isInitialized:i,ready:i}}function f({client:o,isOpen:d,onClose:h,onLogin:f,isLoading:u=!1}){const[g,y]=e(""),[v,m]=e(""),[p,C]=e(!1),[w,P]=e(!1),[S,F]=e(["","","","","",""]),[E,L]=e(!1),[V,x]=e(!1),[D,_]=e(!1),j=n(()=>Array(6).fill(null).map(()=>i()),[]),A=e=>/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e),I=e=>/^\+[1-9]\d{1,3}\d{6,14}$/.test(e);return t(()=>{S.forEach((e,n)=>{if(j[n]&&j[n].current){const i=j[n].current;i&&e&&(i.style.fontSize=s.typography.fontSizes.xl)}})},[S,j]),{email:g,setEmail:y,emailSent:w,setEmailSent:P,sendingCode:E,setVerificationCode:F,verificationCode:S,verifyingCode:V,connectingPhantom:D,inputRefs:j,handleCodeChange:(e,n)=>{var i,t,o;if(n.length<=1){const t=[...S];t[e]=n,F(t),n&&e<5&&(null===(i=j[e+1].current)||void 0===i||i.focus())}else if(n.length>1){const e=n.replace(/\D/g,"").slice(0,6).split(""),i=[...Array(6).fill("")];e.forEach((e,n)=>{n<6&&(i[n]=e)}),F(i);const a=i.findIndex(e=>""===e);-1!==a?null===(t=j[a].current)||void 0===t||t.focus():i[5]&&(null===(o=j[5].current)||void 0===o||o.focus())}},handleKeyDown:(e,n)=>{var i;"Backspace"===n.key&&!S[e]&&e>0&&(null===(i=j[e-1].current)||void 0===i||i.focus())},handleContainerPaste:e=>{var n,i;e.preventDefault();const t=e.clipboardData.getData("text").replace(/\D/g,"").slice(0,6).split(""),o=[...Array(6).fill("")];t.forEach((e,n)=>{n<6&&(o[n]=e)}),F(o);const a=o.findIndex(e=>""===e);-1!==a?null===(n=j[a].current)||void 0===n||n.focus():o[5]&&(null===(i=j[5].current)||void 0===i||i.focus())},handleSendVerificationCode:async(e=g)=>{try{if(!A(e))return void alert("Please enter a valid email address");L(!0),await o.sendEmailVerificationCode(e),P(!0)}catch(e){alert("Failed to send verification code"),console.error("Failed to send verification code",e)}finally{L(!1)}},handleCodeSubmit:async(e=S.join(""),n=g)=>{try{if(6!==e.length)return void alert("Please enter a valid verification code");x(!0);const i=await o.verifyEmailVerificationCode({email:n,code:e});i&&(null==f||f(i),null==h||h())}catch(e){alert("Failed to verify code"),console.error("Failed to verify code",e)}finally{x(!1)}},handlePhoneCodeSubmit:async(e=S.join(""),n=v)=>{try{if(6!==e.length)return void alert("Please enter a valid verification code");x(!0);const i=await o.verifyPhoneVerificationCode({phone:n,code:e});i&&(null==f||f(i),null==h||h())}catch(e){alert("Failed to verify code"),console.error("Failed to verify code",e)}finally{x(!1)}},handleSendPhoneVerificationCode:async(e=v)=>{try{if(!I(e))return void alert("Please enter a valid phone number");await o.sendPhoneVerificationCode(e),C(!0)}catch(e){alert("Failed to send verification code"),console.error("Failed to send verification code",e)}finally{L(!1)}},handleGetChallenge:async(e,n)=>await o.getSignChallenge({method:null!=n?n:"phantom",id:e}),handleLoginWithChallenge:async(e,n)=>{try{const i=await o.loginWithChallenge(e,n);i&&(null==f||f(i),null==h||h())}catch(e){alert("Failed to login with challenge"),console.error("Failed to login with challenge",e)}finally{x(!1)}},phone:v,setPhone:m,phoneSent:p,setPhoneSent:C,onOauthLogin:async e=>{const n=a(e),{codeVerifier:i,codeChallenge:t}=await l(e),s=new URL(window.location.href);s.searchParams.forEach((e,n)=>{s.searchParams.delete(n)});const d=s.toString(),h=await o.oauthInit({provider:e,redirect_uri:d,state:n,code_challenge:t}),{url:f,client_id:u}=h;if(!f&&!u)throw console.error("OAuth init failed."),new Error("init failed");const g={client_id:u,redirect_uri:f,state:n,code_challenge:t},y="google"===e?await r(g):await c(g);window.location.href=y},handlePhantomLogin:async()=>{try{_(!0);const e=await o.connectPhantom();e&&(null==f||f(e),null==h||h())}catch(e){console.error("Phantom login error:",e),alert("Failed to connect to Phantom wallet. Please make sure you have the Phantom extension installed.")}finally{_(!1)}},isOpen:d,onClose:h,onLogin:f,isLoading:u}}export{d as useConnect,f as useLoginModal,h as useWalletStatus};
2
2
  //# sourceMappingURL=hooks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sources":["../../../../src/hooks.ts"],"sourcesContent":[null],"names":["useConnect","connect","disconnect","isConnecting","useWallet","useWalletStatus","error","session","isInitialized","wallet","isAuthenticated","authenticated","ready","useWalletBackupStatus","useWalletBackup","useActiveWallet","useLoginModal","client","isOpen","onClose","onLogin","isLoading","email","setEmail","useState","phone","setPhone","phoneSent","setPhoneSent","emailSent","setEmailSent","verificationCode","setVerificationCode","sendingCode","setSendingCode","verifyingCode","setVerifyingCode","connectingPhantom","setConnectingPhantom","inputRefs","useMemo","Array","fill","map","createRef","validateEmail","test","validatePhone","useEffect","forEach","value","index","current","input","style","fontSize","theme","typography","fontSizes","xl","handleCodeChange","length","newCode","_a","focus","digits","replace","slice","split","digit","i","nextEmptyIndex","findIndex","d","_b","_c","handleKeyDown","e","key","handleContainerPaste","preventDefault","clipboardData","getData","handleSendVerificationCode","async","emailInput","alert","sendEmailVerificationCode","console","handleCodeSubmit","code","join","verifyEmailVerificationCode","handlePhoneCodeSubmit","phoneInput","verifyPhoneVerificationCode","handleSendPhoneVerificationCode","sendPhoneVerificationCode","handleGetChallenge","address","method","getSignChallenge","id","handleLoginWithChallenge","type","params","loginWithChallenge","onOauthLogin","state","buildOAuthState","codeVerifier","codeChallenge","buildCodeVerifierAndChallenge","currentUrl","URL","window","location","href","searchParams","delete","redirect_uri","toString","response","oauthInit","provider","code_challenge","url","client_id","Error","oauth2Link","getGoogleOAuth2Link","getTwitterOAuth2Link","handlePhantomLogin","connectPhantom"],"mappings":"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"}
1
+ {"version":3,"file":"hooks.js","sources":["../../../../src/hooks.ts"],"sourcesContent":[null],"names":["useConnect","connect","disconnect","isConnecting","useWallet","useWalletStatus","error","session","isInitialized","wallet","isAuthenticated","authenticated","ready","useLoginModal","client","isOpen","onClose","onLogin","isLoading","email","setEmail","useState","phone","setPhone","phoneSent","setPhoneSent","emailSent","setEmailSent","verificationCode","setVerificationCode","sendingCode","setSendingCode","verifyingCode","setVerifyingCode","connectingPhantom","setConnectingPhantom","inputRefs","useMemo","Array","fill","map","createRef","validateEmail","test","validatePhone","useEffect","forEach","value","index","current","input","style","fontSize","theme","typography","fontSizes","xl","handleCodeChange","length","newCode","_a","focus","digits","replace","slice","split","digit","i","nextEmptyIndex","findIndex","d","_b","_c","handleKeyDown","e","key","handleContainerPaste","preventDefault","clipboardData","getData","handleSendVerificationCode","async","emailInput","alert","sendEmailVerificationCode","console","handleCodeSubmit","code","join","verifyEmailVerificationCode","handlePhoneCodeSubmit","phoneInput","verifyPhoneVerificationCode","handleSendPhoneVerificationCode","sendPhoneVerificationCode","handleGetChallenge","address","method","getSignChallenge","id","handleLoginWithChallenge","type","params","loginWithChallenge","onOauthLogin","state","buildOAuthState","codeVerifier","codeChallenge","buildCodeVerifierAndChallenge","currentUrl","URL","window","location","href","searchParams","delete","redirect_uri","toString","response","oauthInit","provider","code_challenge","url","client_id","Error","oauth2Link","getGoogleOAuth2Link","getTwitterOAuth2Link","handlePhantomLogin","connectPhantom"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import"./polyfills.js";export{WalletClient}from"./client.js";export{WalletProvider,useWallet}from"./context.js";export{WalletProviderBackup,useWalletBackup}from"./context_backup.js";export{useActiveWallet,useConnect,useLoginModal,useWalletBackupStatus,useWalletStatus}from"./hooks.js";export{ACCESS_TOKEN_KEY,BACKUP_WALLET_INFO,BACKUP_WALLET_TYPE_KEY,STORAGE_STATE_KEY,SWITCHED_ACCOUNT_ADDRESS,Storage,WALLET_TYPE_KEY}from"./storage.js";export{LighterGroupingType,LighterMarginMode,LighterOrderSide,LighterOrderType,LighterTimeInForce,Network,SocialType,VaultId,WalletType,isVersionedTransaction}from"./types.js";export{injectStyles}from"./styles/index.js";export{useCoinbaseOnramp}from"./coinbase.js";export{theme}from"./styles/theme.js";"undefined"!=typeof window&&import("./styles/index.js").then(({injectStyles:e})=>{e()});
1
+ import"./polyfills.js";export{WalletClient}from"./client.js";export{WalletProvider,useWallet}from"./context.js";export{useConnect,useLoginModal,useWalletStatus}from"./hooks.js";export{ACCESS_TOKEN_KEY,BACKUP_WALLET_INFO,BACKUP_WALLET_TYPE_KEY,STORAGE_STATE_KEY,Storage,WALLET_TYPE_KEY}from"./storage.js";export{LighterGroupingType,LighterMarginMode,LighterOrderSide,LighterOrderType,LighterTimeInForce,Network,SocialType,VaultId,WalletType,isVersionedTransaction}from"./types.js";export{injectStyles}from"./styles/index.js";export{useCoinbaseOnramp}from"./coinbase.js";export{theme}from"./styles/theme.js";"undefined"!=typeof window&&import("./styles/index.js").then(({injectStyles:e})=>{e()});
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/index.ts"],"sourcesContent":[null],"names":["window","import","then","injectStyles"],"mappings":"muBAasB,oBAAXA,QACPC,OAAO,qBAAYC,KAAK,EAAGC,mBACvBA"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/index.ts"],"sourcesContent":[null],"names":["window","import","then","injectStyles"],"mappings":"8lBAYsB,oBAAXA,QACPC,OAAO,qBAAYC,KAAK,EAAGC,mBACvBA"}
@@ -1,2 +1,2 @@
1
- const t="embedded_wallet_state",e="superstack_wallet_type",a="superstack_backup_wallet_type",l="embedded_wallet_access_token",c="switched_account_address",o="backup_wallet_info";class r{static saveState(e,a){const l={accessToken:e,socials:a,lastConnected:Date.now()};localStorage.setItem(t,JSON.stringify(l))}static saveAccessToken(t){localStorage.setItem(l,t)}static saveWalletType(t){localStorage.setItem(e,t)}static saveBackupWalletType(t){localStorage.setItem(a,t)}static saveSwitchedAccountAddress(t){localStorage.setItem(c,t)}static saveBackupWalletInfo(t){localStorage.setItem(o,JSON.stringify(t))}static getWalletType(){return localStorage.getItem(e)}static getBackupWalletType(){return localStorage.getItem(a)}static getState(){try{const e=localStorage.getItem(t);if(!e)return null;const a=JSON.parse(e);return Date.now()-a.lastConnected<6048e5?a:(this.clear(),null)}catch(t){return null}}static getSocials(){try{const e=localStorage.getItem(t);if(!e)return null;return JSON.parse(e).socials}catch(t){return null}}static getAccessToken(){return localStorage.getItem(l)}static getSwitchedAccountAddress(){return localStorage.getItem(c)}static getBackupWalletInfo(){try{const t=localStorage.getItem(o);return t?JSON.parse(t):null}catch(t){return null}}static clear(){localStorage.removeItem(t),localStorage.removeItem(e),localStorage.removeItem(l),localStorage.removeItem(c),localStorage.removeItem(a)}static clearBackup(){localStorage.removeItem(a),localStorage.removeItem(o)}}export{l as ACCESS_TOKEN_KEY,o as BACKUP_WALLET_INFO,a as BACKUP_WALLET_TYPE_KEY,t as STORAGE_STATE_KEY,c as SWITCHED_ACCOUNT_ADDRESS,r as Storage,e as WALLET_TYPE_KEY};
1
+ const t="embedded_wallet_state",e="superstack_wallet_type",a="superstack_backup_wallet_type",l="embedded_wallet_access_token",c="backup_wallet_info";class o{static saveState(e,a){const l={accessToken:e,socials:a,lastConnected:Date.now()};localStorage.setItem(t,JSON.stringify(l))}static saveAccessToken(t){localStorage.setItem(l,t)}static saveWalletType(t){localStorage.setItem(e,t)}static saveBackupWalletType(t){localStorage.setItem(a,t)}static saveBackupWalletInfo(t){localStorage.setItem(c,JSON.stringify(t))}static getWalletType(){return localStorage.getItem(e)}static getBackupWalletType(){return localStorage.getItem(a)}static getState(){try{const e=localStorage.getItem(t);if(!e)return null;const a=JSON.parse(e);return Date.now()-a.lastConnected<6048e5?a:(this.clear(),null)}catch(t){return null}}static getSocials(){try{const e=localStorage.getItem(t);if(!e)return null;return JSON.parse(e).socials}catch(t){return null}}static getAccessToken(){return localStorage.getItem(l)}static getBackupWalletInfo(){try{const t=localStorage.getItem(c);return t?JSON.parse(t):null}catch(t){return null}}static clear(){localStorage.removeItem(t),localStorage.removeItem(e),localStorage.removeItem(l),localStorage.removeItem(a)}static clearBackup(){localStorage.removeItem(a),localStorage.removeItem(c)}}export{l as ACCESS_TOKEN_KEY,c as BACKUP_WALLET_INFO,a as BACKUP_WALLET_TYPE_KEY,t as STORAGE_STATE_KEY,o as Storage,e as WALLET_TYPE_KEY};
2
2
  //# sourceMappingURL=storage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sources":["../../../../src/storage.ts"],"sourcesContent":[null],"names":["STORAGE_STATE_KEY","WALLET_TYPE_KEY","BACKUP_WALLET_TYPE_KEY","ACCESS_TOKEN_KEY","SWITCHED_ACCOUNT_ADDRESS","BACKUP_WALLET_INFO","Storage","saveState","token","socials","state","accessToken","lastConnected","Date","now","localStorage","setItem","JSON","stringify","saveAccessToken","saveWalletType","type","saveBackupWalletType","saveSwitchedAccountAddress","address","saveBackupWalletInfo","wallet","getWalletType","getItem","getBackupWalletType","getState","stateStr","parse","this","clear","_a","getSocials","getAccessToken","getSwitchedAccountAddress","getBackupWalletInfo","walletStr","removeItem","clearBackup"],"mappings":"AAEO,MAAMA,EAAoB,wBACpBC,EAAkB,yBAClBC,EAAyB,gCACzBC,EAAmB,+BACnBC,EAA2B,2BAC3BC,EAAqB,2BAQrBC,EACT,gBAAOC,CAAUC,EAAeC,GAC5B,MAAMC,EAAsB,CACxBC,YAAaH,EACbC,QAASA,EACTG,cAAeC,KAAKC,OAExBC,aAAaC,QAAQhB,EAAmBiB,KAAKC,UAAUR,GAC3D,CAEA,sBAAOS,CAAgBX,GACnBO,aAAaC,QAAQb,EAAkBK,EAC3C,CAEA,qBAAOY,CAAeC,GAClBN,aAAaC,QAAQf,EAAiBoB,EAC1C,CAEA,2BAAOC,CAAqBD,GACxBN,aAAaC,QAAQd,EAAwBmB,EACjD,CAEA,iCAAOE,CAA2BC,GAC9BT,aAAaC,QAAQZ,EAA0BoB,EACnD,CAEA,2BAAOC,CAAqBC,GACxBX,aAAaC,QAAQX,EAAoBY,KAAKC,UAAUQ,GAC5D,CAEA,oBAAOC,GACH,OAAOZ,aAAaa,QAAQ3B,EAChC,CAEA,0BAAO4B,GACH,OAAOd,aAAaa,QAAQ1B,EAChC,CAEA,eAAO4B,GACH,IACI,MAAMC,EAAWhB,aAAaa,QAAQ5B,GACtC,IAAK+B,EAAU,OAAO,KAEtB,MAAMrB,EAAsBO,KAAKe,MAAMD,GAIvC,OAFgBlB,KAAKC,MAAQJ,EAAME,cAAgB,OAO5CF,GAJHuB,KAAKC,QACE,KAIf,CAAE,MAAAC,GACE,OAAO,IACX,CACJ,CAEA,iBAAOC,GACH,IACI,MAAML,EAAWhB,aAAaa,QAAQ5B,GACtC,IAAK+B,EAAU,OAAO,KAGtB,OAD4Bd,KAAKe,MAAMD,GAC1BtB,OACjB,CAAE,MAAA0B,GACE,OAAO,IACX,CACJ,CAEA,qBAAOE,GACH,OAAOtB,aAAaa,QAAQzB,EAChC,CAEA,gCAAOmC,GACH,OAAOvB,aAAaa,QAAQxB,EAChC,CAEA,0BAAOmC,GACH,IACI,MAAMC,EAAYzB,aAAaa,QAAQvB,GACvC,OAAKmC,EACEvB,KAAKe,MAAMQ,GADK,IAE3B,CAAE,MAAAL,GACE,OAAO,IACX,CACJ,CAEA,YAAOD,GACHnB,aAAa0B,WAAWzC,GACxBe,aAAa0B,WAAWxC,GACxBc,aAAa0B,WAAWtC,GACxBY,aAAa0B,WAAWrC,GACxBW,aAAa0B,WAAWvC,EAC5B,CAEA,kBAAOwC,GACH3B,aAAa0B,WAAWvC,GACxBa,aAAa0B,WAAWpC,EAC5B"}
1
+ {"version":3,"file":"storage.js","sources":["../../../../src/storage.ts"],"sourcesContent":[null],"names":["STORAGE_STATE_KEY","WALLET_TYPE_KEY","BACKUP_WALLET_TYPE_KEY","ACCESS_TOKEN_KEY","BACKUP_WALLET_INFO","Storage","saveState","token","socials","state","accessToken","lastConnected","Date","now","localStorage","setItem","JSON","stringify","saveAccessToken","saveWalletType","type","saveBackupWalletType","saveBackupWalletInfo","wallet","getWalletType","getItem","getBackupWalletType","getState","stateStr","parse","this","clear","_a","getSocials","getAccessToken","getBackupWalletInfo","walletStr","removeItem","clearBackup"],"mappings":"AAEO,MAAMA,EAAoB,wBACpBC,EAAkB,yBAClBC,EAAyB,gCACzBC,EAAmB,+BACnBC,EAAqB,2BAQrBC,EACT,gBAAOC,CAAUC,EAAeC,GAC5B,MAAMC,EAAsB,CACxBC,YAAaH,EACbC,QAASA,EACTG,cAAeC,KAAKC,OAExBC,aAAaC,QAAQf,EAAmBgB,KAAKC,UAAUR,GAC3D,CAEA,sBAAOS,CAAgBX,GACnBO,aAAaC,QAAQZ,EAAkBI,EAC3C,CAEA,qBAAOY,CAAeC,GAClBN,aAAaC,QAAQd,EAAiBmB,EAC1C,CAEA,2BAAOC,CAAqBD,GACxBN,aAAaC,QAAQb,EAAwBkB,EACjD,CAEA,2BAAOE,CAAqBC,GACxBT,aAAaC,QAAQX,EAAoBY,KAAKC,UAAUM,GAC5D,CAEA,oBAAOC,GACH,OAAOV,aAAaW,QAAQxB,EAChC,CAEA,0BAAOyB,GACH,OAAOZ,aAAaW,QAAQvB,EAChC,CAEA,eAAOyB,GACH,IACI,MAAMC,EAAWd,aAAaW,QAAQzB,GACtC,IAAK4B,EAAU,OAAO,KAEtB,MAAMnB,EAAsBO,KAAKa,MAAMD,GAIvC,OAFgBhB,KAAKC,MAAQJ,EAAME,cAAgB,OAO5CF,GAJHqB,KAAKC,QACE,KAIf,CAAE,MAAAC,GACE,OAAO,IACX,CACJ,CAEA,iBAAOC,GACH,IACI,MAAML,EAAWd,aAAaW,QAAQzB,GACtC,IAAK4B,EAAU,OAAO,KAGtB,OAD4BZ,KAAKa,MAAMD,GAC1BpB,OACjB,CAAE,MAAAwB,GACE,OAAO,IACX,CACJ,CAEA,qBAAOE,GACH,OAAOpB,aAAaW,QAAQtB,EAChC,CAEA,0BAAOgC,GACH,IACI,MAAMC,EAAYtB,aAAaW,QAAQrB,GACvC,OAAKgC,EACEpB,KAAKa,MAAMO,GADK,IAE3B,CAAE,MAAAJ,GACE,OAAO,IACX,CACJ,CAEA,YAAOD,GACHjB,aAAauB,WAAWrC,GACxBc,aAAauB,WAAWpC,GACxBa,aAAauB,WAAWlC,GACxBW,aAAauB,WAAWnC,EAC5B,CAEA,kBAAOoC,GACHxB,aAAauB,WAAWnC,GACxBY,aAAauB,WAAWjC,EAC5B"}
@@ -1,7 +1,6 @@
1
- import { Wallet, Social, WalletInfo, Network, IModalManager, MiddleAccountRequest, MiddleAccount, CoinbaseOnrampRequest, OrderState, LoginType, BuildTransactionRequest, BuildTransactionResponse, MultiAccountRequest, ExportInitResponse, ExportWalletResponse, CloseInitResponse, CloseFinishResponse, LighterBuildTransactionRequest, LighterBuildTransactionResponse, LighterAuthResponse, LighterChangeKeyResponse, ExchangeRequest, ExchangeResponse } from "./types";
1
+ import { WalletInfo, Network, IModalManager, MiddleAccountRequest, MiddleAccount, CoinbaseOnrampRequest, OrderState, LoginType, BuildTransactionRequest, BuildTransactionResponse, MultiAccountRequest, ExportInitResponse, ExportWalletResponse, CloseInitResponse, CloseFinishResponse, LighterBuildTransactionRequest, LighterBuildTransactionResponse, LighterAuthResponse, LighterChangeKeyResponse, ExchangeRequest, ExchangeResponse } from "./types";
2
2
  import { Transaction, VersionedTransaction } from "@solana/web3.js";
3
3
  import { PhantomWalletAdapter } from "./adapters/phantom";
4
- import * as viem from "viem";
5
4
  interface SolanaCluster {
6
5
  name?: "mainnet-beta" | "devnet" | "testnet";
7
6
  rpcUrl: string;
@@ -25,42 +24,26 @@ export interface WalletProviderConfig {
25
24
  enablePhantom?: boolean;
26
25
  }
27
26
  export declare class WalletClient {
27
+ walletInfo: WalletInfo | null;
28
+ private userId;
28
29
  private api;
29
30
  private middleAccountApi;
30
- private selectedWalletId;
31
31
  private solanaConnection;
32
32
  private ethereumProvider;
33
- private walletInfo;
34
33
  private phantomAdapter;
35
34
  private walletType;
36
- private backupWalletType;
37
35
  private solanaCluster;
38
36
  private ethereumNetwork;
39
37
  private defaultNetwork;
40
- constructor(config: WalletProviderConfig);
41
- private setWallet;
38
+ constructor(config: WalletProviderConfig & {
39
+ setWalletInfo: (walletInfo: WalletInfo | null) => void;
40
+ });
41
+ private setWalletInfo;
42
42
  private setWalletType;
43
- private setBackupWalletType;
44
- getWallet(): WalletInfo | null;
45
- getPhantomAdapter(): PhantomWalletAdapter | null;
46
- getWalletType(): "phantom" | "embedded";
47
- getBackupWalletType(): "phantom_backup" | "embedded_backup";
48
- get wallet(): Wallet | null;
49
- get address(): string | null;
50
- get network(): Network | null;
51
- get ethereumWallet(): Wallet | null;
52
- get ethereumAddress(): string | null;
53
- get solanaWallet(): Wallet | null;
54
- get forwardSolanaWallet(): Wallet | null;
55
- get forwardSolanaAddress(): string | null;
56
- get forwardEthereumWallet(): Wallet | null;
57
- get forwardEthereumAddress(): string | null;
58
- get solanaAddress(): string | null;
59
- get id(): string | null;
60
- get social_links(): Social[] | null;
61
43
  reconnect(isBackup?: boolean): Promise<WalletInfo | null>;
44
+ getPhantomAdapter(): PhantomWalletAdapter | null;
62
45
  connectPhantom(): Promise<WalletInfo | null>;
63
- updateAccountName(name: string, accountIndex?: number): Promise<WalletInfo>;
46
+ updateAccountName(name: string, accountIndex: number): Promise<WalletInfo>;
64
47
  /**
65
48
  * Create, enable, or disable a sub-account
66
49
  * @param request Multi-account request with type and data
@@ -91,7 +74,7 @@ export declare class WalletClient {
91
74
  * @param transaction Solana transaction to sign
92
75
  * @returns signed transaction
93
76
  */
94
- signSolanaTransaction(transaction: Transaction | VersionedTransaction): Promise<Transaction | VersionedTransaction>;
77
+ signSolanaTransaction(transaction: Transaction | VersionedTransaction, solanaAddress: string): Promise<Transaction | VersionedTransaction>;
95
78
  /**
96
79
  * This method is used to sign a ethereum eip712 transaction with v2 sign api,
97
80
  * which is disabled in default.
@@ -111,7 +94,7 @@ export declare class WalletClient {
111
94
  }>>;
112
95
  primaryType: string;
113
96
  message: Record<string, unknown>;
114
- }): Promise<string>;
97
+ }, ethereumAddress: string): Promise<string>;
115
98
  sendSolanaTransaction(transaction: Uint8Array): Promise<string>;
116
99
  sendEthereumTransaction(signedTransaction: string): Promise<string>;
117
100
  sendEmailVerificationCode(email: string): Promise<void>;
@@ -164,20 +147,18 @@ export declare class WalletClient {
164
147
  nonce: string;
165
148
  expires_at: number;
166
149
  }>;
167
- getSession(): Promise<WalletInfo>;
150
+ getAndRefreshSession(): Promise<WalletInfo>;
168
151
  logout(isBackup?: boolean): Promise<void>;
169
152
  getOAuth2ClientId(provider: string): Promise<string>;
170
- setSelectedWallet(walletId: string): void;
171
- getSelectedWallet(): string | null;
172
- getSolanaBalance(): Promise<string>;
173
- getEthereumBalance(): Promise<string>;
153
+ getSolanaBalance(solanaAddress: string): Promise<string>;
154
+ getEthereumBalance(ethereumAddress: string): Promise<string>;
174
155
  fetchCoinbaseToken(address: string, blockchain?: "solana" | "ethereum"): Promise<string>;
175
156
  /**
176
157
  * This method is used to sign a ethereum eip712 transaction with v2 sign api,
177
158
  * which is disabled in default.
178
159
  * @returns viem signer adapter
179
160
  */
180
- viemSignerAdapter(): {
161
+ viemSignerAdapter(ethereumAddress: string): {
181
162
  signTypedData: (params: {
182
163
  domain: {
183
164
  name: string;
@@ -231,13 +212,13 @@ export declare class WalletClient {
231
212
  * @param walletAddress Optional wallet address (will be added to request if provided)
232
213
  * @returns Build transaction response with raw transaction
233
214
  */
234
- buildTransaction(request: BuildTransactionRequest, walletAddress?: string): Promise<BuildTransactionResponse>;
215
+ buildTransaction(request: BuildTransactionRequest): Promise<BuildTransactionResponse>;
235
216
  /**
236
217
  * Initialize the export process by generating a server nonce
237
218
  * @param accountIndex Optional account index to export (defaults to 0)
238
219
  * @returns Server nonce for verification
239
220
  */
240
- exportInit(accountIndex?: number): Promise<ExportInitResponse>;
221
+ exportInit(accountIndex: number): Promise<ExportInitResponse>;
241
222
  /**
242
223
  * Finalize the export process and retrieve wallet private keys
243
224
  * @param params Export parameters including nonces and account index
@@ -246,7 +227,7 @@ export declare class WalletClient {
246
227
  exportFinal(params: {
247
228
  userNonce: string;
248
229
  serverNonce: string;
249
- accountIndex?: number;
230
+ accountIndex: number;
250
231
  isExport?: boolean;
251
232
  }): Promise<ExportWalletResponse>;
252
233
  /**
@@ -254,7 +235,7 @@ export declare class WalletClient {
254
235
  * @param accountIndex Optional account index (defaults to 0)
255
236
  * @returns Previously exported wallet information
256
237
  */
257
- getExportedWallets(accountIndex?: number): Promise<ExportWalletResponse>;
238
+ getExportedWallets(accountIndex: number): Promise<ExportWalletResponse>;
258
239
  /**
259
240
  * Initialize the account closure process
260
241
  * @returns Server nonce for verification
@@ -338,5 +319,4 @@ export declare class WalletClient {
338
319
  */
339
320
  exchange(request: ExchangeRequest): Promise<ExchangeResponse>;
340
321
  }
341
- export type SignTransactionReturnType<serializer extends viem.SerializeTransactionFn<viem.TransactionSerializable> = viem.SerializeTransactionFn<viem.TransactionSerializable>, transaction extends Parameters<serializer>[0] = Parameters<serializer>[0]> = viem.TransactionSerialized<viem.GetTransactionType<transaction>>;
342
322
  export {};
@@ -1,3 +1,3 @@
1
- export declare function useCoinbaseOnramp(): {
1
+ export declare function useCoinbaseOnramp(solanaAddress: string, ethereumAddress: string): {
2
2
  getCoinbaseOnrampUrl: (amount: number, blockchain?: "solana" | "ethereum", redirectUrl?: string) => Promise<string>;
3
3
  };
@@ -12,17 +12,6 @@ export declare function useWalletStatus(): {
12
12
  isInitialized: boolean;
13
13
  ready: boolean;
14
14
  };
15
- export declare function useWalletBackupStatus(): {
16
- isAuthenticated: boolean;
17
- authenticated: boolean;
18
- error: string | null;
19
- session: import("./types").UserSession | null;
20
- isInitialized: boolean;
21
- ready: boolean;
22
- };
23
- export declare function useActiveWallet(): {
24
- wallet: import("./client").WalletClient | null;
25
- };
26
15
  export declare function useLoginModal({ client, isOpen, onClose, onLogin, isLoading }: LoginModalProps): {
27
16
  email: string;
28
17
  setEmail: import("react").Dispatch<import("react").SetStateAction<string>>;
@@ -1,7 +1,6 @@
1
1
  import "./polyfills";
2
2
  export * from "./client";
3
3
  export * from "./context";
4
- export * from "./context_backup";
5
4
  export * from "./hooks";
6
5
  export * from "./storage";
7
6
  export * from "./types";
@@ -3,7 +3,6 @@ export declare const STORAGE_STATE_KEY = "embedded_wallet_state";
3
3
  export declare const WALLET_TYPE_KEY = "superstack_wallet_type";
4
4
  export declare const BACKUP_WALLET_TYPE_KEY = "superstack_backup_wallet_type";
5
5
  export declare const ACCESS_TOKEN_KEY = "embedded_wallet_access_token";
6
- export declare const SWITCHED_ACCOUNT_ADDRESS = "switched_account_address";
7
6
  export declare const BACKUP_WALLET_INFO = "backup_wallet_info";
8
7
  interface StorageState {
9
8
  accessToken: string;
@@ -15,14 +14,12 @@ export declare class Storage {
15
14
  static saveAccessToken(token: string): void;
16
15
  static saveWalletType(type: "phantom" | "embedded"): void;
17
16
  static saveBackupWalletType(type: "phantom_backup" | "embedded_backup"): void;
18
- static saveSwitchedAccountAddress(address: string): void;
19
17
  static saveBackupWalletInfo(wallet: WalletInfo): void;
20
18
  static getWalletType(): "phantom" | "embedded" | null;
21
19
  static getBackupWalletType(): "phantom_backup" | "embedded_backup" | null;
22
20
  static getState(): StorageState | null;
23
21
  static getSocials(): Social[] | null;
24
22
  static getAccessToken(): string | null;
25
- static getSwitchedAccountAddress(): string | null;
26
23
  static getBackupWalletInfo(): WalletInfo | null;
27
24
  static clear(): void;
28
25
  static clearBackup(): void;