superstack-wallet-sdk 0.5.7 → 0.5.9

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 t from"axios";import{Network as e,WalletType as a,isVersionedTransaction as r}from"./types.js";import{Storage as i}from"./storage.js";import{Connection as s,PublicKey as n,LAMPORTS_PER_SOL as o}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 u}from"../_virtual/_polyfill-node.buffer.js";import"./polyfills.js";import{createPublicClient 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/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 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";class g{constructor(a){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=e.Solana,this.api=t.create({baseURL:a.baseURL,headers:{"Content-Type":"application/json"}}),this.middleAccountApi=t.create({baseURL:a.middleAccountBaseURL||"https://yeezy-payment-service-sit-a0dchfccbufeh5bx.z03.azurefd.net",headers:{"Content-Type":"application/json"}}),this.solanaCluster=a.solanaCluster,this.solanaConnection=new s(a.solanaCluster.rpcUrl),a.ethereumNetwork&&(this.ethereumNetwork={...a.ethereumNetwork,chainId:Number(a.ethereumNetwork.chainId)},this.ethereumProvider=w({transport:p(a.ethereumNetwork.rpcUrl)})),this.defaultNetwork=a.defaultNetwork||e.Solana}setWallet(t){this.walletInfo=t}setWalletType(t){this.walletType=t,i.saveWalletType(t)}setBackupWalletType(t){this.backupWalletType=t,i.saveBackupWalletType(t),console.log(33)}getWallet(){return this.walletInfo}getPhantomAdapter(){return this.phantomAdapter}getWalletType(){return this.walletType}getBackupWalletType(){return this.backupWalletType}get wallet(){var t;return(null===(t=this.walletInfo)||void 0===t?void 0:t.wallets.find(t=>t.network===this.defaultNetwork))||null}get address(){var t;return(null===(t=this.wallet)||void 0===t?void 0:t.address)||null}get network(){var t;return(null===(t=this.wallet)||void 0===t?void 0:t.network)||null}get ethereumWallet(){var t,a;return(null===(t=this.walletInfo)||void 0===t?void 0:t.wallets.find(t=>t.address===i.getSwitchedAccountAddress()))||(null===(a=this.walletInfo)||void 0===a?void 0:a.wallets.find(t=>t.network===e.Ethereum&&"Main"===t.wallet_set))||null}get ethereumAddress(){var t;return(null===(t=this.ethereumWallet)||void 0===t?void 0:t.address)||null}get solanaWallet(){var t,a,r,s;const n=null===(a=null===(t=this.walletInfo)||void 0===t?void 0:t.wallets.find(t=>t.address===i.getSwitchedAccountAddress()))||void 0===a?void 0:a.wallet_set;return n?(null===(r=this.walletInfo)||void 0===r?void 0:r.wallets.find(t=>t.network===e.Solana&&t.wallet_set===n))||null:(null===(s=this.walletInfo)||void 0===s?void 0:s.wallets.find(t=>t.network===e.Solana&&"Main"===t.wallet_set))||null}get forwardSolanaWallet(){var t;return(null===(t=this.walletInfo)||void 0===t?void 0:t.wallets.find(t=>t.network===e.Solana&&"Forward-0"===t.wallet_set))||null}get forwardSolanaAddress(){var t;return(null===(t=this.forwardSolanaWallet)||void 0===t?void 0:t.address)||null}get forwardEthereumWallet(){var t;return(null===(t=this.walletInfo)||void 0===t?void 0:t.wallets.find(t=>t.network===e.Ethereum&&"Forward-0"===t.wallet_set))||null}get forwardEthereumAddress(){var t;return(null===(t=this.forwardEthereumWallet)||void 0===t?void 0:t.address)||null}get solanaAddress(){var t;return(null===(t=this.solanaWallet)||void 0===t?void 0:t.address)||null}get id(){var t;return(null===(t=this.walletInfo)||void 0===t?void 0:t.id)||null}get social_links(){var t;return(null===(t=this.walletInfo)||void 0===t?void 0:t.social_links)||null}async reconnect(t){try{if(i.getWalletType()==="phantom"+(t?"_backup":"")){return await this.connectPhantom()}if(!t){const t=await this.getSession();return this.setWallet(t),t}const e=i.getBackupWalletInfo();return this.setWallet(e),e}catch(t){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 t=this.phantomAdapter.publicKey.toString(),r={id:h(),is_exported:!1,address:t,network:e.Solana,type:a.Phantom,wallets:[{id:t,address:t,network:e.Solana,wallet_type:a.Phantom,wallet_set:"Main"}],social_links:[],social_infos:[],account_info:{name:null}};return this.setWallet(r),this.setWalletType("phantom"),r}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){if(!this.walletInfo)throw new Error("No wallet info");const e=await this.api.post("/account/update",{name:t},{withCredentials:!0});return this.walletInfo.account_info.name=t,e.data}async signSolanaTransaction(t){try{if(!this.walletInfo)throw new Error("No wallet info");if(!this.solanaConnection)throw new Error("No rpc connection");const{blockhash:a}=await this.solanaConnection.getLatestBlockhash();if(r(t)?t.message.recentBlockhash=a:t.recentBlockhash=a,this.phantomAdapter&&this.phantomAdapter.publicKey)return await this.phantomAdapter.signTransaction(t);const i=this.solanaWallet;if(!i)throw new Error("No solana wallet available");const s={user_id:this.walletInfo.id,address:i.address,network:e.Solana,tx:{Solana:l.encode(r(t)?t.message.serialize():t.serializeMessage())}},o=await this.api.post("/sign2",s,{withCredentials:!0}),{signature:d}=o.data;return t.addSignature(new n(i.address),u.from(l.decode(d))),t}catch(t){throw new Error(t instanceof Error?t.message:"Failed to sign transaction")}}async signEthereumEip712(t){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 a={user_id:this.walletInfo.id,address:this.ethereumAddress,network:e.Ethereum,tx:{EthereumEip712:t}},r=await this.api.post("/sign2",a,{withCredentials:!0}),{signature:i}=r.data;return i}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 a={type:"Email",data:{network:this.defaultNetwork,email:t,code:e}},r=(await this.api.post("/login",a,{withCredentials:!0})).data;return this.setWallet(r),this.setWalletType("embedded"),r}async verifyPhoneVerificationCode({phone:t,code:e}){const a={type:"Phone",data:{network:this.defaultNetwork,phone:t,code:e}},r=(await this.api.post("/login",a,{withCredentials:!0})).data;return this.setWallet(r),this.setWalletType("embedded"),r}async twitterLogin(t){const e={type:"TwitterOAuth",data:{network:this.defaultNetwork,...t}},a=(await this.api.post("/login",e,{withCredentials:!0})).data;return this.setWallet(a),this.setWalletType("embedded"),a}async googleLogin(t){const e={type:"GoogleOAuth",data:{network:this.defaultNetwork,...t}},a=(await this.api.post("/login",e,{withCredentials:!0})).data;return this.setWallet(a),this.setWalletType("embedded"),a}async oauthLogin(t,e){const a={type:t,data:{network:e.network||this.defaultNetwork,...e}},r=(await this.api.post("/login",a,{withCredentials:!0})).data;return this.setWallet(r),e.isBackup?this.setBackupWalletType("embedded_backup"):this.setWalletType("embedded"),r}async loginWithChallenge(t,e){const a={type:t,data:{network:e.network||this.defaultNetwork,...e}},r=(await this.api.post("/login",a,{withCredentials:!0})).data;return this.setWallet(r),console.log(11),e.isBackup?(console.log(22),this.setBackupWalletType("embedded_backup")):this.setWalletType("embedded"),r}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 getSession(){const t=(await this.api.get("/session",{withCredentials:!0})).data,{access_token:e,...a}=t;return e&&i.saveAccessToken(e),t}async logout(t){this.phantomAdapter?(this.phantomAdapter.disconnect(),this.phantomAdapter=null):await this.api.post("/logout",{},{withCredentials:!0}),this.setWallet(null),t?i.clearBackup():i.clear()}async getOAuth2ClientId(t){return(await this.api.get(`/oauth_id/${t}`)).data.client_id}setSelectedWallet(t){this.selectedWalletId=t}getSelectedWallet(){return this.selectedWalletId}async getSolanaBalance(){if(!this.solanaConnection||!this.solanaAddress)throw new Error("Solana connection not available");return(await this.solanaConnection.getBalance(new n(this.solanaAddress))/o).toString()}async getEthereumBalance(){if(!this.ethereumProvider||!this.ethereumAddress)throw new Error("Ethereum provider not available");const t=await this.ethereumProvider.getBalance({address:this.ethereumAddress});return f(t)}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(){return{signTypedData:async t=>{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 a={user_id:this.walletInfo.id,address:this.ethereumAddress,network:e.Ethereum,tx:{EthereumEip712:t}},r=await this.api.post("/sign2",a,{withCredentials:!0}),{signature:i}=r.data,s=l.decode(i),n=s[64];return m({r:`0x${u.from(s.slice(0,32)).toString("hex")}`,s:`0x${u.from(s.slice(32,64)).toString("hex")}`,v:BigInt(n+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 a={sessionToken:await this.fetchCoinbaseToken(t.middleAccountAddress,t.network===e.Solana?"solana":"ethereum"),presetCryptoAmount:Number(t.amount),redirectUrl:t.redirectUrl||window.location.href};return c(a)}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,a;if(!this.walletInfo)throw new Error("No wallet info available");const r={user_id:this.walletInfo.id,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("/transfer",r,{withCredentials:!0})).data}catch(t){if(null===(a=null===(e=t.response)||void 0===e?void 0:e.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,a;try{return(await this.api.post("/build_transaction",t,{withCredentials:!0})).data}catch(t){if(null===(a=null===(e=t.response)||void 0===e?void 0:e.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 transaction")}}async getCrossMarginGeneralInfo(){return(await this.api.get("/crossmargin/general_info")).data}async getCrossMarginBorrowQuote(t){return(await this.api.post("/crossmargin/borrow/quote",t,{withCredentials:!0})).data}async borrowCrossMargin(t){return(await this.api.post("/crossmargin/borrow",t,{withCredentials:!0})).data}async getCrossMarginRepayQuote(t){return(await this.api.post("/crossmargin/repay/quote",t,{withCredentials:!0})).data}async repayCrossMargin(t){return(await this.api.post("/crossmargin/repay",t,{withCredentials:!0})).data}async adjustCrossMarginMargin(t){return(await this.api.post("/crossmargin/margin",t,{withCredentials:!0})).data}async getCrossMarginOpenPositions(){return(await this.api.get("/crossmargin/positions",{withCredentials:!0})).data}async getCrossMarginHistory(){return(await this.api.get("/crossmargin/history",{withCredentials:!0})).data}}export{g as WalletClient};
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("/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/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};
2
2
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sources":["../../../../src/client.ts"],"sourcesContent":[null],"names":["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","toString","uuidv4","is_exported","WalletType","Phantom","wallet_type","social_infos","account_info","name","message","updateAccountName","response","post","withCredentials","data","signSolanaTransaction","transaction","blockhash","getLatestBlockhash","isVersionedTransaction","recentBlockhash","signTransaction","signRequest","user_id","tx","bs58","encode","serialize","serializeMessage","signature","addSignature","PublicKey","Buffer","from","decode","signEthereumEip712","params","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","request","getCoinbaseOnrampUrlForMiddleAccount","sessionToken","middleAccountAddress","presetCryptoAmount","amount","redirectUrl","window","location","href","getOnrampBuyUrl","getOrderState","orderId","transfer","transferRequest","to","decimals","chain_id","buildTransaction","getCrossMarginGeneralInfo","getCrossMarginBorrowQuote","payload","borrowCrossMargin","getCrossMarginRepayQuote","repayCrossMargin","adjustCrossMarginMargin","getCrossMarginOpenPositions","getCrossMarginHistory"],"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","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,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{BorrowedAsset,CollateralAsset,CrossMarginOperationType,CrossMarginPositionStatus,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{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()});
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":"ytBAasB,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":"muBAasB,oBAAXA,QACPC,OAAO,qBAAYC,KAAK,EAAGC,mBACvBA"}
@@ -1,2 +1,2 @@
1
- function e(e){return"version"in e}var t,a,n,r,o,i,p,d;!function(e){e.Solana="Solana",e.Ethereum="Ethereum"}(t||(t={})),function(e){e.Phantom="Phantom",e.Embedded="Embedded"}(a||(a={})),function(e){e.Email="Email",e.Google="Google",e.Twitter="Twitter",e.Phantom="Phantom",e.Phone="Phone",e.Okx="Okx"}(n||(n={})),function(e){e.HyperbeatUltraHype="HyperbeatUltraHype",e.HyperbeatUltraUbtc="HyperbeatUltraUbtc",e.HyperbeatUsdt="HyperbeatUsdt",e.HyperbeatUsdc="HyperbeatUsdc",e.HyperbeatXaut="HyperbeatXaut",e.VentualsVlp="VentualsVlp",e.DnHype="DnHype",e.DnPump="DnPump"}(r||(r={})),function(e){e.HypercorePerpsUSDC="HypercorePerpsUSDC"}(o||(o={})),function(e){e.HypercoreSpotBTC="HypercoreSpotBTC"}(i||(i={})),function(e){e.Open="Open",e.Closed="Closed",e.PartiallyLiquidated="PartiallyLiquidated",e.AllLiquidated="AllLiquidated"}(p||(p={})),function(e){e.Borrow="Borrow",e.Repay="Repay",e.AddMargin="AddMargin",e.RemoveMargin="RemoveMargin",e.Liquidation="Liquidation"}(d||(d={}));export{o as BorrowedAsset,i as CollateralAsset,d as CrossMarginOperationType,p as CrossMarginPositionStatus,t as Network,n as SocialType,r as VaultId,a as WalletType,e as isVersionedTransaction};
1
+ function e(e){return"version"in e}var t,o,a,n,r,i,l,s,p;!function(e){e.Solana="Solana",e.Ethereum="Ethereum"}(t||(t={})),function(e){e.Phantom="Phantom",e.Embedded="Embedded"}(o||(o={})),function(e){e.Google="Google",e.Twitter="Twitter",e.Telegram="Telegram",e.Apple="Apple"}(a||(a={})),function(e){e.HyperbeatUltraHype="HyperbeatUltraHype",e.HyperbeatUltraUbtc="HyperbeatUltraUbtc",e.HyperbeatUsdt="HyperbeatUsdt",e.HyperbeatUsdc="HyperbeatUsdc",e.HyperbeatXaut="HyperbeatXaut",e.VentualsVlp="VentualsVlp",e.DnHype="DnHype",e.DnPump="DnPump"}(n||(n={})),function(e){e.Buy="buy",e.Sell="sell"}(r||(r={})),function(e){e.Limit="limit",e.Market="market",e.StopLoss="stop_loss",e.StopLossLimit="stop_loss_limit",e.TakeProfit="take_profit",e.TakeProfitLimit="take_profit_limit",e.Twap="twap",e.TwapSub="twap_sub"}(i||(i={})),function(e){e.ImmediateOrCancel="immediate_or_cancel",e.GoodTillTime="good_till_time",e.PostOnly="post_only"}(l||(l={})),function(e){e.Cross="cross",e.Isolated="isolated"}(s||(s={})),function(e){e.Default="default",e.OneTriggersTheOther="one_triggers_the_other",e.OneCancelsTheOther="one_cancels_the_other",e.OneTriggersAOneCancelsTheOther="one_triggers_a_one_cancels_the_other"}(p||(p={}));export{p as LighterGroupingType,s as LighterMarginMode,r as LighterOrderSide,i as LighterOrderType,l as LighterTimeInForce,t as Network,a as SocialType,n as VaultId,o as WalletType,e as isVersionedTransaction};
2
2
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sources":["../../../../src/types.ts"],"sourcesContent":[null],"names":["isVersionedTransaction","transaction","Network","WalletType","SocialType","VaultId","BorrowedAsset","CollateralAsset","CrossMarginPositionStatus","CrossMarginOperationType"],"mappings":"AAkBM,SAAUA,EACdC,GAEA,MAAO,YAAaA,CACtB,KAgBYC,EAKAC,EAKAC,EAqKAC,EA4GAC,EAIAC,EAIAC,EAOAC,GA1SZ,SAAYP,GACVA,EAAA,OAAA,SACAA,EAAA,SAAA,UACD,CAHD,CAAYA,IAAAA,EAAO,CAAA,IAKnB,SAAYC,GACVA,EAAA,QAAA,UACAA,EAAA,SAAA,UACD,CAHD,CAAYA,IAAAA,EAAU,CAAA,IAKtB,SAAYC,GACVA,EAAA,MAAA,QACAA,EAAA,OAAA,SACAA,EAAA,QAAA,UACAA,EAAA,QAAA,UACAA,EAAA,MAAA,QACAA,EAAA,IAAA,KACD,CAPD,CAAYA,IAAAA,EAAU,CAAA,IAqKtB,SAAYC,GACVA,EAAA,mBAAA,qBACAA,EAAA,mBAAA,qBACAA,EAAA,cAAA,gBACAA,EAAA,cAAA,gBACAA,EAAA,cAAA,gBACAA,EAAA,YAAA,cACAA,EAAA,OAAA,SACAA,EAAA,OAAA,QACD,CATD,CAAYA,IAAAA,EAAO,CAAA,IA4GnB,SAAYC,GACVA,EAAA,mBAAA,oBACD,CAFD,CAAYA,IAAAA,EAAa,CAAA,IAIzB,SAAYC,GACVA,EAAA,iBAAA,kBACD,CAFD,CAAYA,IAAAA,EAAe,CAAA,IAI3B,SAAYC,GACVA,EAAA,KAAA,OACAA,EAAA,OAAA,SACAA,EAAA,oBAAA,sBACAA,EAAA,cAAA,eACD,CALD,CAAYA,IAAAA,EAAyB,CAAA,IAOrC,SAAYC,GACVA,EAAA,OAAA,SACAA,EAAA,MAAA,QACAA,EAAA,UAAA,YACAA,EAAA,aAAA,eACAA,EAAA,YAAA,aACD,CAND,CAAYA,IAAAA,EAAwB,CAAA"}
1
+ {"version":3,"file":"types.js","sources":["../../../../src/types.ts"],"sourcesContent":[null],"names":["isVersionedTransaction","transaction","Network","WalletType","SocialType","VaultId","LighterOrderSide","LighterOrderType","LighterTimeInForce","LighterMarginMode","LighterGroupingType"],"mappings":"AAkBM,SAAUA,EACdC,GAEA,MAAO,YAAaA,CACtB,KAiBYC,EAKAC,EAKAC,EAiMAC,EA4GAC,EAKAC,EAWAC,EAMAC,EAKAC,GAlVZ,SAAYR,GACVA,EAAA,OAAA,SACAA,EAAA,SAAA,UACD,CAHD,CAAYA,IAAAA,EAAO,CAAA,IAKnB,SAAYC,GACVA,EAAA,QAAA,UACAA,EAAA,SAAA,UACD,CAHD,CAAYA,IAAAA,EAAU,CAAA,IAKtB,SAAYC,GACVA,EAAA,OAAA,SACAA,EAAA,QAAA,UACAA,EAAA,SAAA,WACAA,EAAA,MAAA,OACD,CALD,CAAYA,IAAAA,EAAU,CAAA,IAiMtB,SAAYC,GACVA,EAAA,mBAAA,qBACAA,EAAA,mBAAA,qBACAA,EAAA,cAAA,gBACAA,EAAA,cAAA,gBACAA,EAAA,cAAA,gBACAA,EAAA,YAAA,cACAA,EAAA,OAAA,SACAA,EAAA,OAAA,QACD,CATD,CAAYA,IAAAA,EAAO,CAAA,IA4GnB,SAAYC,GACVA,EAAA,IAAA,MACAA,EAAA,KAAA,MACD,CAHD,CAAYA,IAAAA,EAAgB,CAAA,IAK5B,SAAYC,GACVA,EAAA,MAAA,QACAA,EAAA,OAAA,SACAA,EAAA,SAAA,YACAA,EAAA,cAAA,kBACAA,EAAA,WAAA,cACAA,EAAA,gBAAA,oBACAA,EAAA,KAAA,OACAA,EAAA,QAAA,UACD,CATD,CAAYA,IAAAA,EAAgB,CAAA,IAW5B,SAAYC,GACVA,EAAA,kBAAA,sBACAA,EAAA,aAAA,iBACAA,EAAA,SAAA,WACD,CAJD,CAAYA,IAAAA,EAAkB,CAAA,IAM9B,SAAYC,GACVA,EAAA,MAAA,QACAA,EAAA,SAAA,UACD,CAHD,CAAYA,IAAAA,EAAiB,CAAA,IAK7B,SAAYC,GACVA,EAAA,QAAA,UACAA,EAAA,oBAAA,yBACAA,EAAA,mBAAA,wBACAA,EAAA,+BAAA,sCACD,CALD,CAAYA,IAAAA,EAAmB,CAAA"}
@@ -1,4 +1,4 @@
1
- import { Wallet, Social, WalletInfo, Network, IModalManager, MiddleAccountRequest, MiddleAccount, CoinbaseOnrampRequest, OrderState, LoginType, BuildTransactionRequest, BuildTransactionResponse, CrossMarginAdjustMarginRequest, CrossMarginAdjustMarginResponse, CrossMarginBorrowQuoteRequest, CrossMarginBorrowQuoteResponse, CrossMarginBorrowRequest, CrossMarginBorrowResponse, CrossMarginGeneralInfoResponse, CrossMarginRepayQuoteRequest, CrossMarginRepayQuoteResponse, CrossMarginRepayRequest, CrossMarginRepayResponse, UserHistoryResponse, UserOpenPositionsResponse } from "./types";
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";
2
2
  import { Transaction, VersionedTransaction } from "@solana/web3.js";
3
3
  import { PhantomWalletAdapter } from "./adapters/phantom";
4
4
  import * as viem from "viem";
@@ -60,8 +60,44 @@ export declare class WalletClient {
60
60
  get social_links(): Social[] | null;
61
61
  reconnect(isBackup?: boolean): Promise<WalletInfo | null>;
62
62
  connectPhantom(): Promise<WalletInfo | null>;
63
- updateAccountName(name: string): Promise<any>;
63
+ updateAccountName(name: string, accountIndex?: number): Promise<WalletInfo>;
64
+ /**
65
+ * Create, enable, or disable a sub-account
66
+ * @param request Multi-account request with type and data
67
+ * @returns Updated wallet info
68
+ */
69
+ manageMultiAccount(request: MultiAccountRequest): Promise<WalletInfo>;
70
+ /**
71
+ * Create a new sub-account
72
+ * @param name Optional name for the sub-account
73
+ * @returns Updated wallet info
74
+ */
75
+ createSubAccount(name?: string | null): Promise<WalletInfo>;
76
+ /**
77
+ * Enable a sub-account by index
78
+ * @param index Account index to enable
79
+ * @returns Updated wallet info
80
+ */
81
+ enableSubAccount(index: number): Promise<WalletInfo>;
82
+ /**
83
+ * Disable a sub-account by index
84
+ * @param index Account index to disable
85
+ * @returns Updated wallet info
86
+ */
87
+ disableSubAccount(index: number): Promise<WalletInfo>;
88
+ /**
89
+ * This method is used to sign a solana transaction with v3 sign api,
90
+ * which is enabled in default.
91
+ * @param transaction Solana transaction to sign
92
+ * @returns signed transaction
93
+ */
64
94
  signSolanaTransaction(transaction: Transaction | VersionedTransaction): Promise<Transaction | VersionedTransaction>;
95
+ /**
96
+ * This method is used to sign a ethereum eip712 transaction with v2 sign api,
97
+ * which is disabled in default.
98
+ * @param params Ethereum eip712 transaction parameters
99
+ * @returns signature
100
+ */
65
101
  signEthereumEip712(params: {
66
102
  domain: {
67
103
  name: string;
@@ -136,6 +172,11 @@ export declare class WalletClient {
136
172
  getSolanaBalance(): Promise<string>;
137
173
  getEthereumBalance(): Promise<string>;
138
174
  fetchCoinbaseToken(address: string, blockchain?: "solana" | "ethereum"): Promise<string>;
175
+ /**
176
+ * This method is used to sign a ethereum eip712 transaction with v2 sign api,
177
+ * which is disabled in default.
178
+ * @returns viem signer adapter
179
+ */
139
180
  viemSignerAdapter(): {
140
181
  signTypedData: (params: {
141
182
  domain: {
@@ -186,18 +227,116 @@ export declare class WalletClient {
186
227
  }): Promise<BuildTransactionResponse>;
187
228
  /**
188
229
  * Build a transaction using the server-side build transaction API
189
- * @param request Build transaction request
230
+ * @param request Build transaction request (with optional wallet_address field)
231
+ * @param walletAddress Optional wallet address (will be added to request if provided)
190
232
  * @returns Build transaction response with raw transaction
191
233
  */
192
- buildTransaction(request: BuildTransactionRequest): Promise<BuildTransactionResponse>;
193
- getCrossMarginGeneralInfo(): Promise<CrossMarginGeneralInfoResponse>;
194
- getCrossMarginBorrowQuote(payload: CrossMarginBorrowQuoteRequest): Promise<CrossMarginBorrowQuoteResponse>;
195
- borrowCrossMargin(payload: CrossMarginBorrowRequest): Promise<CrossMarginBorrowResponse>;
196
- getCrossMarginRepayQuote(payload: CrossMarginRepayQuoteRequest): Promise<CrossMarginRepayQuoteResponse>;
197
- repayCrossMargin(payload: CrossMarginRepayRequest): Promise<CrossMarginRepayResponse>;
198
- adjustCrossMarginMargin(payload: CrossMarginAdjustMarginRequest): Promise<CrossMarginAdjustMarginResponse>;
199
- getCrossMarginOpenPositions(): Promise<UserOpenPositionsResponse>;
200
- getCrossMarginHistory(): Promise<UserHistoryResponse>;
234
+ buildTransaction(request: BuildTransactionRequest, walletAddress?: string): Promise<BuildTransactionResponse>;
235
+ /**
236
+ * Initialize the export process by generating a server nonce
237
+ * @param accountIndex Optional account index to export (defaults to 0)
238
+ * @returns Server nonce for verification
239
+ */
240
+ exportInit(accountIndex?: number): Promise<ExportInitResponse>;
241
+ /**
242
+ * Finalize the export process and retrieve wallet private keys
243
+ * @param params Export parameters including nonces and account index
244
+ * @returns Exported wallet information with private keys
245
+ */
246
+ exportFinal(params: {
247
+ userNonce: string;
248
+ serverNonce: string;
249
+ accountIndex?: number;
250
+ isExport?: boolean;
251
+ }): Promise<ExportWalletResponse>;
252
+ /**
253
+ * Retrieve previously exported wallet information
254
+ * @param accountIndex Optional account index (defaults to 0)
255
+ * @returns Previously exported wallet information
256
+ */
257
+ getExportedWallets(accountIndex?: number): Promise<ExportWalletResponse>;
258
+ /**
259
+ * Initialize the account closure process
260
+ * @returns Server nonce for verification
261
+ */
262
+ closeInit(): Promise<CloseInitResponse>;
263
+ /**
264
+ * Finalize the account closure process and permanently delete the account
265
+ * @param params Close parameters including nonces
266
+ * @returns Confirmation that the account was closed
267
+ */
268
+ closeFinal(params: {
269
+ userNonce: string;
270
+ serverNonce: string;
271
+ }): Promise<CloseFinishResponse>;
272
+ /**
273
+ * Raw v1 sign API - Sign a message with user's wallet
274
+ * @param params Sign parameters including network, address, and message
275
+ * @returns Signature string
276
+ */
277
+ signV1(params: {
278
+ network: Network;
279
+ address: string;
280
+ message: string;
281
+ }): Promise<string>;
282
+ /**
283
+ * Raw v2 sign API - Sign a transaction (Solana or Ethereum EIP712) with user's wallet
284
+ * @param params Sign parameters including network, address, and transaction
285
+ * @returns Signature string
286
+ */
287
+ signV2(params: {
288
+ network: Network;
289
+ address: string;
290
+ tx: {
291
+ Solana?: string;
292
+ EthereumEip712?: Record<string, unknown>;
293
+ };
294
+ }): Promise<string>;
295
+ /**
296
+ * Raw v3 sign API - Sign a Solana transaction with user's wallet
297
+ * Note: v3 sign API only supports Solana transactions
298
+ * @param params Sign parameters including network, address, and Solana transaction
299
+ * @returns Signature string
300
+ */
301
+ signV3(params: {
302
+ network: Network;
303
+ address: string;
304
+ tx: {
305
+ Solana: string;
306
+ };
307
+ }): Promise<string>;
308
+ /**
309
+ * Build a Lighter transaction using the server-side build transaction API
310
+ * @param request Lighter build transaction request (with optional wallet_address field)
311
+ * @param walletAddress Optional wallet address (will be added to request if provided)
312
+ * @returns Lighter build transaction response with transaction details
313
+ */
314
+ lighterBuildTransaction(request: LighterBuildTransactionRequest, walletAddress?: string): Promise<LighterBuildTransactionResponse>;
315
+ /**
316
+ * Generate a Lighter authentication token
317
+ * @param params Auth parameters including account_index and optional wallet_address and expires_in_ms
318
+ * @returns Lighter auth response with token and expiration
319
+ */
320
+ lighterAuth(params: {
321
+ lighter_account_index: number;
322
+ wallet_address?: string | null;
323
+ expires_in_ms?: number | null;
324
+ }): Promise<LighterAuthResponse>;
325
+ /**
326
+ * Rotate/change the Lighter L2 key for an account
327
+ * @param params Change key parameters including account_index and optional wallet_address
328
+ * @returns Lighter change key response with new public key
329
+ */
330
+ lighterChangeKey(params: {
331
+ lighter_account_index: number;
332
+ wallet_address?: string | null;
333
+ }): Promise<LighterChangeKeyResponse>;
334
+ /**
335
+ * Sign and build a Hyperliquid exchange transaction
336
+ * @param request Exchange request with action and optional parameters
337
+ * @returns Exchange response with signed payload
338
+ */
339
+ exchange(request: ExchangeRequest): Promise<ExchangeResponse>;
201
340
  }
202
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>>;
203
342
  export {};