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.
- package/dist/esm/src/client.js +1 -1
- package/dist/esm/src/client.js.map +1 -1
- package/dist/esm/src/index.js +1 -1
- package/dist/esm/src/index.js.map +1 -1
- package/dist/esm/src/types.js +1 -1
- package/dist/esm/src/types.js.map +1 -1
- package/dist/esm/types/client.d.ts +151 -12
- package/dist/esm/types/types.d.ts +283 -142
- package/dist/index.cjs +123 -123
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +434 -154
- package/package.json +1 -1
package/dist/esm/src/client.js
CHANGED
|
@@ -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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"}
|
package/dist/esm/src/index.js
CHANGED
|
@@ -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{
|
|
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":"
|
|
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"}
|
package/dist/esm/src/types.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
function e(e){return"version"in e}var t,a,n,r,
|
|
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","
|
|
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,
|
|
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<
|
|
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
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
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 {};
|