superstack-wallet-sdk 0.5.8 → 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 +108 -2
- package/dist/esm/types/types.d.ts +240 -1
- package/dist/index.cjs +123 -123
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +349 -4
- 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 n}from"./storage.js";import{Connection as o,PublicKey as i,LAMPORTS_PER_SOL as s}from"@solana/web3.js";import l from"bs58";import{PhantomWalletAdapter as d}from"./adapters/phantom.js";import{v4 as 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 v{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 o(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,n.saveWalletType(t)}setBackupWalletType(t){this.backupWalletType=t,n.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===n.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,o;const i=null===(a=null===(t=this.walletInfo)||void 0===t?void 0:t.wallets.find(t=>t.address===n.getSwitchedAccountAddress()))||void 0===a?void 0:a.wallet_set;return i?(null===(r=this.walletInfo)||void 0===r?void 0:r.wallets.find(t=>t.network===e.Solana&&t.wallet_set===i))||null:(null===(o=this.walletInfo)||void 0===o?void 0:o.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(n.getWalletType()==="phantom"+(t?"_backup":"")){return await this.connectPhantom()}if(!t){const t=await this.getSession();return this.setWallet(t),t}const e=n.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(),wallets:[{id:t,address:t,network:e.Solana,wallet_type:a.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(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,e){if(!this.walletInfo)throw new Error("No wallet info");const a={name:t};void 0!==e&&(a.account_index=e);const r=(await this.api.post("/account/update",a,{withCredentials:!0})).data;return this.setWallet(r),r}async manageMultiAccount(t){if(!this.walletInfo)throw new Error("No wallet info");const e=(await this.api.post("/account/multi",t,{withCredentials:!0})).data;return this.setWallet(e),e}async createSubAccount(t){return this.manageMultiAccount({type:"Create",data:{name:null!=t?t:null}})}async enableSubAccount(t){return this.manageMultiAccount({type:"Enable",data:{index:t}})}async disableSubAccount(t){return this.manageMultiAccount({type:"Disable",data:{index:t}})}async signSolanaTransaction(t){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 n=this.solanaWallet;if(!n)throw new Error("No solana wallet available");const o={user_id:this.walletInfo.id,address:n.address,network:e.Solana,tx:{Solana:l.encode(r(t)?t.message.serialize():t.serializeMessage())}},s=await this.api.post("/v3/sign",o,{withCredentials:!0}),{signature:d}=s.data;return t.addSignature(new i(n.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("/v2/sign",a,{withCredentials:!0}),{signature:n}=r.data;return n}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&&n.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?n.clearBackup():n.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 i(this.solanaAddress))/s).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("/v2/sign",a,{withCredentials:!0}),{signature:n}=r.data,o=l.decode(n),i=o[64];return m({r:`0x${u.from(o.slice(0,32)).toString("hex")}`,s:`0x${u.from(o.slice(32,64)).toString("hex")}`,v:BigInt(i+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,e){var a,r;if(!this.walletInfo)throw new Error("No wallet info available");try{const a={};e&&(a["Wallet-Address"]=e);return(await this.api.post("/v3/build_transaction",t,{withCredentials:!0,headers:a})).data}catch(t){if(null===(r=null===(a=t.response)||void 0===a?void 0:a.data)||void 0===r?void 0:r.error)throw new Error(t.response.data.error);throw new Error(t instanceof Error?t.message:"Failed to build transaction")}}}export{v 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","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","signRequest","user_id","tx","bs58","encode","serialize","serializeMessage","response","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","getCoinbaseOnrampUrlForMiddleAccount","sessionToken","middleAccountAddress","presetCryptoAmount","amount","redirectUrl","window","location","href","getOnrampBuyUrl","getOrderState","orderId","transfer","transferRequest","to","decimals","chain_id","buildTransaction","walletAddress"],"mappings":"uoCA+DaA,EAeT,WAAAC,CAAYC,GAZJC,KAAAC,iBAAkC,KAClCD,KAAAE,iBAAsC,KAEtCF,KAAAG,iBAAwC,KACxCH,KAAAI,WAAgC,KAChCJ,KAAAK,eAA8C,KAC9CL,KAAAM,WAAqC,WACrCN,KAAAO,iBAAyD,kBAEzDP,KAAAQ,gBAA0C,KAC1CR,KAAAS,eAA0BC,EAAQC,OAGtCX,KAAKY,IAAMC,EAAMC,OAAO,CACpBC,QAAShB,EAAOgB,QAChBC,QAAS,CACL,eAAgB,sBAIxBhB,KAAKiB,iBAAmBJ,EAAMC,OAAO,CACjCC,QAAShB,EAAOmB,sBAAwB,qEACxCF,QAAS,CACL,eAAgB,sBAexBhB,KAAKmB,cAAgBpB,EAAOoB,cAC5BnB,KAAKE,iBAAmB,IAAIkB,EAAWrB,EAAOoB,cAAcE,QAExDtB,EAAOS,kBAEPR,KAAKQ,gBAAkB,IAChBT,EAAOS,gBACVc,QAASC,OAAOxB,EAAOS,gBAAgBc,UAO3CtB,KAAKG,iBAAmBqB,EAAmB,CACvCC,UAAWC,EAAK3B,EAAOS,gBAAgBa,WAI/CrB,KAAKS,eAAiBV,EAAOU,gBAAkBC,EAAQC,MAC3D,CAEQ,SAAAgB,CAAUC,GACd5B,KAAKI,WAAawB,CACtB,CAEQ,aAAAC,CAAcC,GAClB9B,KAAKM,WAAawB,EAClBC,EAAQC,eAAeF,EAC3B,CAEQ,mBAAAG,CAAoBH,GACxB9B,KAAKO,iBAAmBuB,EACxBC,EAAQG,qBAAqBJ,GAC7BK,QAAQC,IAAI,GAChB,CAEA,SAAAC,GACI,OAAOrC,KAAKI,UAChB,CAEA,iBAAAkC,GACI,OAAOtC,KAAKK,cAChB,CAEA,aAAAkC,GACI,OAAOvC,KAAKM,UAChB,CAEA,mBAAAkC,GACI,OAAOxC,KAAKO,gBAChB,CAEA,UAAIqB,SACA,eAAOa,EAAAzC,KAAKI,iCAAYsC,QAAQC,KAAMf,GAAWA,EAAOgB,UAAY5C,KAAKS,kBAAmB,IAChG,CAEA,WAAIoC,SACA,OAAkB,UAAX7C,KAAK4B,cAAM,IAAAa,OAAA,EAAAA,EAAEI,UAAW,IACnC,CAEA,WAAID,SACA,OAAkB,UAAX5C,KAAK4B,cAAM,IAAAa,OAAA,EAAAA,EAAEG,UAAW,IACnC,CAEA,kBAAIE,WACA,OACmB,QAAfL,EAAAzC,KAAKI,kBAAU,IAAAqC,OAAA,EAAAA,EAAEC,QAAQC,KAAMf,GAAWA,EAAOiB,UAAYd,EAAQgB,gCACtD,QAAfC,EAAAhD,KAAKI,kBAAU,IAAA4C,OAAA,EAAAA,EAAEN,QAAQC,KAAMf,GAAWA,EAAOgB,UAAYlC,EAAQuC,UAAkC,SAAtBrB,EAAOsB,cACxF,IAER,CAEA,mBAAIC,SACA,OAA0B,UAAnBnD,KAAK8C,sBAAc,IAAAL,OAAA,EAAAA,EAAEI,UAAW,IAC3C,CAEA,gBAAIO,eACA,MAAMF,EAA8G,QAAjGF,EAAe,QAAfP,EAAAzC,KAAKI,kBAAU,IAAAqC,OAAA,EAAAA,EAAEC,QAAQC,KAAMf,GAAWA,EAAOiB,UAAYd,EAAQgB,oCAA4B,IAAAC,OAAA,EAAAA,EAAEE,WACtH,OAAIA,GACsB,QAAfG,EAAArD,KAAKI,kBAAU,IAAAiD,OAAA,EAAAA,EAAEX,QAAQC,KAAMf,GAAWA,EAAOgB,UAAYlC,EAAQC,QAAUiB,EAAOsB,aAAeA,KAAe,MAEzG,QAAfI,EAAAtD,KAAKI,kBAAU,IAAAkD,OAAA,EAAAA,EAAEZ,QAAQC,KAAMf,GAAWA,EAAOgB,UAAYlC,EAAQC,QAAgC,SAAtBiB,EAAOsB,cAA0B,IAC3H,CAEA,uBAAIK,SACA,OAAsB,QAAfd,EAAAzC,KAAKI,kBAAU,IAAAqC,OAAA,EAAAA,EAAEC,QAAQC,KAAMf,GAAWA,EAAOgB,UAAYlC,EAAQC,QAAgC,cAAtBiB,EAAOsB,cAA+B,IAChI,CAEA,wBAAIM,SACA,OAA+B,UAAxBxD,KAAKuD,2BAAmB,IAAAd,OAAA,EAAAA,EAAEI,UAAW,IAChD,CAEA,yBAAIY,SACA,OAAsB,QAAfhB,EAAAzC,KAAKI,kBAAU,IAAAqC,OAAA,EAAAA,EAAEC,QAAQC,KAAMf,GAAWA,EAAOgB,UAAYlC,EAAQuC,UAAkC,cAAtBrB,EAAOsB,cAA+B,IAClI,CAEA,0BAAIQ,SACA,OAAiC,UAA1B1D,KAAKyD,6BAAqB,IAAAhB,OAAA,EAAAA,EAAEI,UAAW,IAClD,CAEA,iBAAIc,SACA,OAAwB,UAAjB3D,KAAKoD,oBAAY,IAAAX,OAAA,EAAAA,EAAEI,UAAW,IACzC,CAEA,MAAIe,SACA,OAAsB,UAAf5D,KAAKI,kBAAU,IAAAqC,OAAA,EAAAA,EAAEmB,KAAM,IAClC,CAEA,gBAAIC,SACA,OAAsB,UAAf7D,KAAKI,kBAAU,IAAAqC,OAAA,EAAAA,EAAEoB,eAAgB,IAC5C,CAEA,eAAMC,CAAUC,GAEZ,IAEI,GADmBhC,EAAQQ,kBACR,WAAawB,EAAW,UAAY,IAAK,CAExD,aADqB/D,KAAKgE,gBAE9B,CAAO,IAAKD,EAAU,CAClB,MAAMnC,QAAe5B,KAAKiE,aAE1B,OADAjE,KAAK2B,UAAUC,GACRA,CACX,CACA,MAAMA,EAASG,EAAQmC,sBAEvB,OADAlE,KAAK2B,UAAUC,GACRA,CACX,CAAE,MAAOuC,GAEL,OAAO,IACX,CACJ,CAEA,oBAAMH,GACF,IAQI,GAPKhE,KAAKK,iBACNL,KAAKK,eAAiB,IAAI+D,SAIxBpE,KAAKK,eAAegE,WAErBrE,KAAKK,eAAeiE,UACrB,MAAM,IAAIC,MAAM,uCAIpB,MAAMD,EAAYtE,KAAKK,eAAeiE,UAAUE,WAG1C5C,EAAqB,CACvBgC,GAFOa,IAGP/B,QAAS,CACL,CACIkB,GAAIU,EACJzB,QAASyB,EACT1B,QAASlC,EAAQC,OACjB+D,YAAaC,EAAWC,QACxB1B,WAAY,OACZ2B,cAAe,EACfC,YAAY,IAGpBjB,aAAc,GACdkB,aAAc,GACdC,aAAc,CACVC,KAAM,KACNC,aAAc,IAElBC,WAAYC,KAAKC,MACjBC,aAAa,GAKjB,OAHAtF,KAAK2B,UAAUC,GACf5B,KAAK6B,cAAc,WAEZD,CACX,CAAE,MAAOuC,GAEL,MADAhC,QAAQgC,MAAM,yBAA0BA,GAClC,IAAII,MAAMJ,aAAiBI,MAAQJ,EAAMoB,QAAU,sCAC7D,CACJ,CAEA,uBAAMC,CAAkBP,EAAcQ,GAClC,IAAKzF,KAAKI,WACN,MAAM,IAAImE,MAAM,kBAEpB,MAAMmB,EAAoD,CAAET,aACvCU,IAAjBF,IACAC,EAAQb,cAAgBY,GAE5B,MAOMrF,SAPiBJ,KAAKY,IAAIgF,KAC5B,kBACAF,EACA,CACIG,iBAAiB,KAGGC,KAE5B,OADA9F,KAAK2B,UAAUvB,GACRA,CACX,CAOA,wBAAM2F,CAAmBC,GACrB,IAAKhG,KAAKI,WACN,MAAM,IAAImE,MAAM,kBAEpB,MAOMnE,SAPiBJ,KAAKY,IAAIgF,KAC5B,iBACAI,EACA,CACIH,iBAAiB,KAGGC,KAE5B,OADA9F,KAAK2B,UAAUvB,GACRA,CACX,CAOA,sBAAM6F,CAAiBhB,GACnB,OAAOjF,KAAK+F,mBAAmB,CAC3BjE,KAAM,SACNgE,KAAM,CAAEb,KAAMA,QAAAA,EAAQ,OAE9B,CAOA,sBAAMiB,CAAiBC,GACnB,OAAOnG,KAAK+F,mBAAmB,CAC3BjE,KAAM,SACNgE,KAAM,CAAEK,UAEhB,CAOA,uBAAMC,CAAkBD,GACpB,OAAOnG,KAAK+F,mBAAmB,CAC3BjE,KAAM,UACNgE,KAAM,CAAEK,UAEhB,CAQA,2BAAME,CAAsBC,GACxB,IACI,IAAKtG,KAAKI,WACN,MAAM,IAAImE,MAAM,kBAEpB,IAAKvE,KAAKE,iBACN,MAAM,IAAIqE,MAAM,qBAIpB,MAAMgC,UAAEA,SAAoBvG,KAAKE,iBAAiBsG,qBAQlD,GAPIC,EAAuBH,GACvBA,EAAYf,QAAQmB,gBAAkBH,EAEtCD,EAAYI,gBAAkBH,EAI9BvG,KAAKK,gBAAkBL,KAAKK,eAAeiE,UAC3C,aAAatE,KAAKK,eAAesG,gBAAgBL,GAGrD,MAAMlD,EAAepD,KAAKoD,aAC1B,IAAKA,EACD,MAAM,IAAImB,MAAM,8BAGpB,MAAMqC,EAA6B,CAC/BC,QAAS7G,KAAKI,WAAWwD,GACzBf,QAASO,EAAaP,QACtBD,QAASlC,EAAQC,OACjBmG,GAAI,CACAnG,OAAQoG,EAAKC,OAAOP,EAAuBH,GAAeA,EAAYf,QAAQ0B,YAAcX,EAAYY,sBAG1GC,QAAiBnH,KAAKY,IAAIgF,KAA4B,WAAYgB,EAAa,CACjFf,iBAAiB,KAEfuB,UAAEA,GAAcD,EAASrB,KAM/B,OAHAQ,EAAYe,aAAa,IAAIC,EAAUlE,EAAaP,SAAU0E,EAAOC,KAAKT,EAAKU,OAAOL,KAG/Ed,CACX,CAAE,MAAOnC,GACL,MAAM,IAAII,MAAMJ,aAAiBI,MAAQJ,EAAMoB,QAAU,6BAC7D,CACJ,CAQA,wBAAMmC,CAAmBC,GAWrB,IAAK3H,KAAKQ,gBACN,MAAM,IAAI+D,MAAM,uBAEpB,IAAKvE,KAAKG,iBACN,MAAM,IAAIoE,MAAM,wBAEpB,IAAKvE,KAAKI,WACN,MAAM,IAAImE,MAAM,kBAEpB,IAAKvE,KAAKmD,gBACN,MAAM,IAAIoB,MAAM,uBAGpB,MAAMqC,EAA6B,CAC/BC,QAAS7G,KAAKI,WAAWwD,GACzBf,QAAS7C,KAAKmD,gBACdP,QAASlC,EAAQuC,SACjB6D,GAAI,CACAc,eAAgBD,IAIlBR,QAAiBnH,KAAKY,IAAIgF,KAA4B,WAAYgB,EAAa,CACjFf,iBAAiB,KAGfuB,UAAEA,GAAcD,EAASrB,KAC/B,OAAOsB,CACX,CAEA,2BAAMS,CAAsBvB,GACxB,IAAKtG,KAAKE,iBACN,MAAM,IAAIqE,MAAM,qBAGpB,IAKI,aAJwBvE,KAAKE,iBAAiB4H,mBAAmBxB,EAAa,CAC1EyB,WAAY,EACZC,eAAe,GAGvB,CAAE,MAAO7D,GACL,MAAMA,CACV,CACJ,CAeA,6BAAM8D,CAAwBC,GAC1B,IAAKlI,KAAKG,iBACN,MAAM,IAAIoE,MAAM,wBAGpB,IAII,aAHsBvE,KAAKG,iBAAiB2H,mBAAmB,CAC3DK,sBAAuBD,GAG/B,CAAE,MAAO/D,GACL,MAAMA,CACV,CACJ,CAEA,+BAAMiE,CAA0BC,SACtBrI,KAAKY,IAAIgF,KAAK,qBAAsB,CACtCyC,SAER,CAEA,+BAAMC,CAA0BC,GACvBA,EAAMC,WAAW,OAClBD,EAAQ,IAAIA,WAEVvI,KAAKY,IAAIgF,KAAK,qBAAsB,CACtC2C,QACAzG,KAAM,SAEd,CAEA,iCAAM2G,EAA4BJ,MAAEA,EAAKK,KAAEA,IACvC,MAAM5C,EAAO,CACThE,KAAM,QACNgE,KAAM,CACFlD,QAAS5C,KAAKS,eACd4H,QACAK,SAMF9G,SAHiB5B,KAAKY,IAAIgF,KAAK,SAAUE,EAAM,CACjDD,iBAAiB,KAEGC,KAGxB,OAFA9F,KAAK2B,UAAUC,GACf5B,KAAK6B,cAAc,YACZD,CACX,CAEA,iCAAM+G,EAA4BJ,MAAEA,EAAKG,KAAEA,IACvC,MAAM5C,EAAO,CACThE,KAAM,QACNgE,KAAM,CACFlD,QAAS5C,KAAKS,eACd8H,QACAG,SAMF9G,SAHiB5B,KAAKY,IAAIgF,KAAK,SAAUE,EAAM,CACjDD,iBAAiB,KAEGC,KAGxB,OAFA9F,KAAK2B,UAAUC,GACf5B,KAAK6B,cAAc,YACZD,CACX,CAEA,kBAAMgH,CAAajB,GACf,MAAM7B,EAAO,CACThE,KAAM,eACNgE,KAAM,CACFlD,QAAS5C,KAAKS,kBACXkH,IAOL/F,SAJiB5B,KAAKY,IAAIgF,KAAK,SAAUE,EAAM,CACjDD,iBAAiB,KAGGC,KAGxB,OAFA9F,KAAK2B,UAAUC,GACf5B,KAAK6B,cAAc,YACZD,CACX,CAEA,iBAAMiH,CAAYlB,GACd,MAAM7B,EAAO,CACThE,KAAM,cACNgE,KAAM,CACFlD,QAAS5C,KAAKS,kBACXkH,IAOL/F,SAJiB5B,KAAKY,IAAIgF,KAAK,SAAUE,EAAM,CACjDD,iBAAiB,KAGGC,KAGxB,OAFA9F,KAAK2B,UAAUC,GACf5B,KAAK6B,cAAc,YACZD,CACX,CAEA,gBAAMkH,CACFhH,EACA6F,GAQA,MAAM7B,EAAO,CACThE,OACAgE,KAAM,CACFlD,QAAS+E,EAAO/E,SAAW5C,KAAKS,kBAC7BkH,IAOL/F,SAJiB5B,KAAKY,IAAIgF,KAAK,SAAUE,EAAM,CACjDD,iBAAiB,KAGGC,KAOxB,OANA9F,KAAK2B,UAAUC,GACX+F,EAAO5D,SACP/D,KAAKiC,oBAAoB,mBAEzBjC,KAAK6B,cAAc,YAEhBD,CACX,CAEA,wBAAMmH,CACFjH,EACA6F,GAQA,MAAM7B,EAAO,CACThE,OACAgE,KAAM,CACFlD,QAAS+E,EAAO/E,SAAW5C,KAAKS,kBAC7BkH,IAOL/F,SAJiB5B,KAAKY,IAAIgF,KAAK,SAAUE,EAAM,CACjDD,iBAAiB,KAGGC,KASxB,OARA9F,KAAK2B,UAAUC,GACfO,QAAQC,IAAI,IACRuF,EAAO5D,UACP5B,QAAQC,IAAI,IACZpC,KAAKiC,oBAAoB,oBAEzBjC,KAAK6B,cAAc,YAEhBD,CACX,CAEA,eAAMoH,CAAUrB,GAEZ,aADuB3H,KAAKY,IAAIgF,KAAK,cAAe+B,IACpC7B,IACpB,CAEA,sBAAMmD,CAAiBtB,GAEnB,aADuB3H,KAAKY,IAAIsI,IAAI,qBAAqBvB,EAAOwB,aAAaxB,EAAO/D,OACpEkC,IACpB,CAEA,gBAAM7B,GACF,MAGM7D,SAHiBJ,KAAKY,IAAIsI,IAAI,WAAY,CAC5CrD,iBAAiB,KAEOC,MACtBsD,aAAEA,KAAiBC,GAASjJ,EAIlC,OAHIgJ,GACArH,EAAQuH,gBAAgBF,GAErBhJ,CACX,CAEA,YAAMmJ,CAAOxF,GACL/D,KAAKK,gBACLL,KAAKK,eAAemJ,aACpBxJ,KAAKK,eAAiB,YAEhBL,KAAKY,IAAIgF,KAAK,UAAW,CAAA,EAAI,CAAEC,iBAAiB,IAE1D7F,KAAK2B,UAAU,MACXoC,EACAhC,EAAQ0H,cAER1H,EAAQ2H,OAEhB,CAEA,uBAAMC,CAAkBC,GAEpB,aADuB5J,KAAKY,IAAIsI,IAAI,aAAaU,MACjC9D,KAAK+D,SACzB,CAEA,iBAAAC,CAAkBC,GACd/J,KAAKC,iBAAmB8J,CAC5B,CAEA,iBAAAC,GACI,OAAOhK,KAAKC,gBAChB,CAEA,sBAAMgK,GACF,IAAKjK,KAAKE,mBAAqBF,KAAK2D,cAChC,MAAM,IAAIY,MAAM,mCAGpB,aADsBvE,KAAKE,iBAAiBgK,WAAW,IAAI5C,EAAUtH,KAAK2D,gBACxDwG,GAAkB3F,UACxC,CAEA,wBAAM4F,GACF,IAAKpK,KAAKG,mBAAqBH,KAAKmD,gBAChC,MAAM,IAAIoB,MAAM,mCAEpB,MAAM8F,QAAgBrK,KAAKG,iBAAiB+J,WAAW,CACnDrH,QAAS7C,KAAKmD,kBAElB,OAAOmH,EAAmBD,EAC9B,CAEA,wBAAME,CAAmB1H,EAAiB2H,EAAoC,UAU1E,aATuBxK,KAAKY,IAAIgF,KAAK,iBAAkB,CACnD6E,UAAW,CACP,CACI5H,UACA6H,YAAa,CAACF,KAGtBG,OAAQ,CAAgB,WAAfH,EAA0B,MAAQ,UAE/B1E,KAAK8E,KACzB,CAOA,iBAAAC,GACI,MAAO,CACHC,cAAeC,MAAOpD,IAWlB,IAAK3H,KAAKQ,gBACN,MAAM,IAAI+D,MAAM,uBAEpB,IAAKvE,KAAKG,iBACN,MAAM,IAAIoE,MAAM,wBAEpB,IAAKvE,KAAKI,WACN,MAAM,IAAImE,MAAM,kBAEpB,IAAKvE,KAAKmD,gBACN,MAAM,IAAIoB,MAAM,uBAGpB,MAAMqC,EAA6B,CAC/BC,QAAS7G,KAAKI,WAAWwD,GACzBf,QAAS7C,KAAKmD,gBACdP,QAASlC,EAAQuC,SACjB6D,GAAI,CACAc,eAAgBD,IAIlBR,QAAiBnH,KAAKY,IAAIgF,KAA4B,WAAYgB,EAAa,CACjFf,iBAAiB,KAGfuB,UAAEA,GAAcD,EAASrB,KAGzBkF,EAAiBjE,EAAKU,OAAOL,GAE7B6D,EAAQD,EAAe,IAQ7B,OAPqBE,EAAe,CAChCC,EAAG,KAAK5D,EAAOC,KAAKwD,EAAeI,MAAM,EAAG,KAAK5G,SAAS,SAC1D6G,EAAG,KAAK9D,EAAOC,KAAKwD,EAAeI,MAAM,GAAI,KAAK5G,SAAS,SAE3D8G,EAAGC,OAAON,EAAQ,OAMlC,CAOA,yBAAMO,CAAoBxF,GACtB,IAEI,aADuBhG,KAAKiB,iBAAiB2E,KAAoB,UAAWI,IAC5DF,IACpB,CAAE,MAAO3B,GACL,MAAM,IAAII,MAAMJ,aAAiBI,MAAQJ,EAAMoB,QAAU,kCAC7D,CACJ,CAOA,0CAAMkG,CAAqCzF,GACvC,IACI,MACM2B,EAAS,CACX+D,mBAFgB1L,KAAKuK,mBAAmBvE,EAAQ2F,qBAAsB3F,EAAQpD,UAAYlC,EAAQC,OAAS,SAAW,YAGtHiL,mBAAoBrK,OAAOyE,EAAQ6F,QACnCC,YAAa9F,EAAQ8F,aAAeC,OAAOC,SAASC,MAGxD,OADqBC,EAAgBvE,EAEzC,CAAE,MAAOxD,GACL,MAAM,IAAII,MAAMJ,aAAiBI,MAAQJ,EAAMoB,QAAU,oCAC7D,CACJ,CAOA,mBAAM4G,CAAcC,GAChB,IAEI,aADuBpM,KAAKiB,iBAAiBiI,IAAgB,UAAUkD,MACvDtG,IACpB,CAAE,MAAO3B,GACL,MAAM,IAAII,MAAMJ,aAAiBI,MAAQJ,EAAMoB,QAAU,6BAC7D,CACJ,CAOA,cAAM8G,CAAS1E,WACX,IAAK3H,KAAKI,WACN,MAAM,IAAImE,MAAM,4BAGpB,MAAM+H,EAAmC,CACrCzF,QAAS7G,KAAKI,WAAWwD,GACzB4D,KAAMG,EAAOH,KACb+E,GAAI5E,EAAO4E,GACXV,OAAQlE,EAAOkE,OACfW,SAAU7E,EAAO6E,SACjB5B,MAAOjD,EAAOiD,MACdhI,QAAS+E,EAAO/E,QAChB6J,SAAU9E,EAAO8E,UAGrB,IAII,aAHuBzM,KAAKY,IAAIgF,KAA+B,YAAa0G,EAAiB,CACzFzG,iBAAiB,KAELC,IACpB,CAAE,MAAO3B,GAEL,GAAwB,QAApBnB,UAAAP,EAAA0B,EAAMgD,+BAAUrB,YAAI,IAAA9C,OAAA,EAAAA,EAAEmB,MACtB,MAAM,IAAII,MAAMJ,EAAMgD,SAASrB,KAAK3B,OAExC,MAAM,IAAII,MAAMJ,aAAiBI,MAAQJ,EAAMoB,QAAU,kBAC7D,CACJ,CAOA,sBAAMmH,CAAiB1G,EAAkC2G,WACrD,IAAK3M,KAAKI,WACN,MAAM,IAAImE,MAAM,4BAGpB,IACI,MAAMvD,EAAkC,CAAA,EACpC2L,IACA3L,EAAQ,kBAAoB2L,GAOhC,aAJuB3M,KAAKY,IAAIgF,KAA+B,wBAAyBI,EAAS,CAC7FH,iBAAiB,EACjB7E,aAEY8E,IACpB,CAAE,MAAO3B,GAEL,GAAwB,QAApBnB,UAAAP,EAAA0B,EAAMgD,+BAAUrB,YAAI,IAAA9C,OAAA,EAAAA,EAAEmB,MACtB,MAAM,IAAII,MAAMJ,EAAMgD,SAASrB,KAAK3B,OAExC,MAAM,IAAII,MAAMJ,aAAiBI,MAAQJ,EAAMoB,QAAU,8BAC7D,CACJ"}
|
|
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{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":"
|
|
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,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"],"mappings":"AAkBM,SAAUA,EACdC,GAEA,MAAO,YAAaA,CACtB,KAiBYC,EAKAC,EAKAC,EAiMAC,
|
|
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, MultiAccountRequest } 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";
|
|
@@ -227,10 +227,116 @@ export declare class WalletClient {
|
|
|
227
227
|
}): Promise<BuildTransactionResponse>;
|
|
228
228
|
/**
|
|
229
229
|
* Build a transaction using the server-side build transaction API
|
|
230
|
-
* @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)
|
|
231
232
|
* @returns Build transaction response with raw transaction
|
|
232
233
|
*/
|
|
233
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>;
|
|
234
340
|
}
|
|
235
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>>;
|
|
236
342
|
export {};
|
|
@@ -219,6 +219,8 @@ export interface DeBridgeDlnCreateTxRequest {
|
|
|
219
219
|
srcChainPriorityLevel?: string | null;
|
|
220
220
|
}
|
|
221
221
|
export type BuildTransactionRequest = {
|
|
222
|
+
wallet_address?: string | null;
|
|
223
|
+
} & ({
|
|
222
224
|
type: "HyperbeatVaultApprove";
|
|
223
225
|
data: {
|
|
224
226
|
vault_id: VaultId;
|
|
@@ -263,8 +265,245 @@ export type BuildTransactionRequest = {
|
|
|
263
265
|
data: {
|
|
264
266
|
request: DeBridgeDlnCreateTxRequest;
|
|
265
267
|
};
|
|
266
|
-
};
|
|
268
|
+
});
|
|
267
269
|
export interface BuildTransactionResponse {
|
|
268
270
|
raw_transaction: string;
|
|
269
271
|
metadata?: any;
|
|
270
272
|
}
|
|
273
|
+
export declare enum LighterOrderSide {
|
|
274
|
+
Buy = "buy",
|
|
275
|
+
Sell = "sell"
|
|
276
|
+
}
|
|
277
|
+
export declare enum LighterOrderType {
|
|
278
|
+
Limit = "limit",
|
|
279
|
+
Market = "market",
|
|
280
|
+
StopLoss = "stop_loss",
|
|
281
|
+
StopLossLimit = "stop_loss_limit",
|
|
282
|
+
TakeProfit = "take_profit",
|
|
283
|
+
TakeProfitLimit = "take_profit_limit",
|
|
284
|
+
Twap = "twap",
|
|
285
|
+
TwapSub = "twap_sub"
|
|
286
|
+
}
|
|
287
|
+
export declare enum LighterTimeInForce {
|
|
288
|
+
ImmediateOrCancel = "immediate_or_cancel",
|
|
289
|
+
GoodTillTime = "good_till_time",
|
|
290
|
+
PostOnly = "post_only"
|
|
291
|
+
}
|
|
292
|
+
export declare enum LighterMarginMode {
|
|
293
|
+
Cross = "cross",
|
|
294
|
+
Isolated = "isolated"
|
|
295
|
+
}
|
|
296
|
+
export declare enum LighterGroupingType {
|
|
297
|
+
Default = "default",
|
|
298
|
+
OneTriggersTheOther = "one_triggers_the_other",
|
|
299
|
+
OneCancelsTheOther = "one_cancels_the_other",
|
|
300
|
+
OneTriggersAOneCancelsTheOther = "one_triggers_a_one_cancels_the_other"
|
|
301
|
+
}
|
|
302
|
+
export interface LighterTxContext {
|
|
303
|
+
account_index: number;
|
|
304
|
+
from_account_index: number;
|
|
305
|
+
api_key_index: number;
|
|
306
|
+
expired_at: number;
|
|
307
|
+
nonce: number;
|
|
308
|
+
}
|
|
309
|
+
export interface LighterOrderParams {
|
|
310
|
+
account_index: number;
|
|
311
|
+
from_account_index: number;
|
|
312
|
+
api_key_index: number;
|
|
313
|
+
expired_at: number;
|
|
314
|
+
nonce: number;
|
|
315
|
+
market_index: number;
|
|
316
|
+
client_order_index?: number | null;
|
|
317
|
+
base_amount: number;
|
|
318
|
+
price?: number | null;
|
|
319
|
+
side: LighterOrderSide;
|
|
320
|
+
order_type: LighterOrderType;
|
|
321
|
+
time_in_force?: LighterTimeInForce | null;
|
|
322
|
+
reduce_only?: boolean;
|
|
323
|
+
trigger_price?: number | null;
|
|
324
|
+
order_expiry_ms?: number | null;
|
|
325
|
+
}
|
|
326
|
+
export interface LighterLeverageParams {
|
|
327
|
+
account_index: number;
|
|
328
|
+
from_account_index: number;
|
|
329
|
+
api_key_index: number;
|
|
330
|
+
expired_at: number;
|
|
331
|
+
nonce: number;
|
|
332
|
+
market_index: number;
|
|
333
|
+
leverage: number;
|
|
334
|
+
margin_mode: LighterMarginMode;
|
|
335
|
+
}
|
|
336
|
+
export interface LighterWithdrawParams {
|
|
337
|
+
account_index: number;
|
|
338
|
+
from_account_index: number;
|
|
339
|
+
api_key_index: number;
|
|
340
|
+
expired_at: number;
|
|
341
|
+
nonce: number;
|
|
342
|
+
usdc_amount: number;
|
|
343
|
+
}
|
|
344
|
+
export interface LighterCreateSubAccountParams {
|
|
345
|
+
account_index: number;
|
|
346
|
+
from_account_index: number;
|
|
347
|
+
api_key_index: number;
|
|
348
|
+
expired_at: number;
|
|
349
|
+
nonce: number;
|
|
350
|
+
}
|
|
351
|
+
export interface LighterGroupedOrderEntry {
|
|
352
|
+
market_index: number;
|
|
353
|
+
client_order_index?: number | null;
|
|
354
|
+
base_amount: number;
|
|
355
|
+
price?: number | null;
|
|
356
|
+
side: LighterOrderSide;
|
|
357
|
+
order_type: LighterOrderType;
|
|
358
|
+
time_in_force?: LighterTimeInForce | null;
|
|
359
|
+
reduce_only?: boolean;
|
|
360
|
+
trigger_price?: number | null;
|
|
361
|
+
order_expiry_ms?: number | null;
|
|
362
|
+
}
|
|
363
|
+
export interface LighterGroupedOrdersParams {
|
|
364
|
+
account_index: number;
|
|
365
|
+
from_account_index: number;
|
|
366
|
+
api_key_index: number;
|
|
367
|
+
expired_at: number;
|
|
368
|
+
nonce: number;
|
|
369
|
+
grouping_type: LighterGroupingType;
|
|
370
|
+
orders: LighterGroupedOrderEntry[];
|
|
371
|
+
}
|
|
372
|
+
export interface LighterGeneralTransferParams {
|
|
373
|
+
account_index: number;
|
|
374
|
+
from_account_index: number;
|
|
375
|
+
api_key_index: number;
|
|
376
|
+
expired_at: number;
|
|
377
|
+
nonce: number;
|
|
378
|
+
to_account_index: number;
|
|
379
|
+
usdc_amount: number;
|
|
380
|
+
fee?: number;
|
|
381
|
+
memo_hex?: string | null;
|
|
382
|
+
}
|
|
383
|
+
export interface LighterCancelOrderParams {
|
|
384
|
+
account_index: number;
|
|
385
|
+
from_account_index: number;
|
|
386
|
+
api_key_index: number;
|
|
387
|
+
expired_at: number;
|
|
388
|
+
nonce: number;
|
|
389
|
+
market_index: number;
|
|
390
|
+
index: number;
|
|
391
|
+
}
|
|
392
|
+
export interface LighterCancelAllOrdersParams {
|
|
393
|
+
account_index: number;
|
|
394
|
+
from_account_index: number;
|
|
395
|
+
api_key_index: number;
|
|
396
|
+
expired_at: number;
|
|
397
|
+
nonce: number;
|
|
398
|
+
time_in_force: LighterTimeInForce;
|
|
399
|
+
time: number;
|
|
400
|
+
}
|
|
401
|
+
export type LighterBuildTransactionRequest = {
|
|
402
|
+
wallet_address?: string | null;
|
|
403
|
+
} & ({
|
|
404
|
+
type: "Order";
|
|
405
|
+
data: LighterOrderParams;
|
|
406
|
+
} | {
|
|
407
|
+
type: "UpdateLeverage";
|
|
408
|
+
data: LighterLeverageParams;
|
|
409
|
+
} | {
|
|
410
|
+
type: "Withdraw";
|
|
411
|
+
data: LighterWithdrawParams;
|
|
412
|
+
} | {
|
|
413
|
+
type: "CreateSubAccount";
|
|
414
|
+
data: LighterCreateSubAccountParams;
|
|
415
|
+
} | {
|
|
416
|
+
type: "Transfer";
|
|
417
|
+
data: LighterGeneralTransferParams;
|
|
418
|
+
} | {
|
|
419
|
+
type: "GroupedOrders";
|
|
420
|
+
data: LighterGroupedOrdersParams;
|
|
421
|
+
} | {
|
|
422
|
+
type: "CancelOrder";
|
|
423
|
+
data: LighterCancelOrderParams;
|
|
424
|
+
} | {
|
|
425
|
+
type: "CancelAllOrders";
|
|
426
|
+
data: LighterCancelAllOrdersParams;
|
|
427
|
+
});
|
|
428
|
+
export interface LighterBuildTransactionResponse {
|
|
429
|
+
tx_type: number;
|
|
430
|
+
tx_info: string;
|
|
431
|
+
tx_hash?: string | null;
|
|
432
|
+
hash: string;
|
|
433
|
+
}
|
|
434
|
+
export interface LighterAuthRequest {
|
|
435
|
+
wallet_address?: string | null;
|
|
436
|
+
expires_in_ms?: number | null;
|
|
437
|
+
account_index: number;
|
|
438
|
+
}
|
|
439
|
+
export interface LighterAuthResponse {
|
|
440
|
+
auth: string;
|
|
441
|
+
expires_at: number;
|
|
442
|
+
}
|
|
443
|
+
export interface LighterChangeKeyRequest {
|
|
444
|
+
wallet_address?: string | null;
|
|
445
|
+
account_index: number;
|
|
446
|
+
}
|
|
447
|
+
export interface LighterChangeKeyResponse {
|
|
448
|
+
account_index: number;
|
|
449
|
+
public_key: string;
|
|
450
|
+
}
|
|
451
|
+
export interface ExchangeSignature {
|
|
452
|
+
r: string;
|
|
453
|
+
s: string;
|
|
454
|
+
v: number;
|
|
455
|
+
}
|
|
456
|
+
export interface ExchangePayload {
|
|
457
|
+
action: any;
|
|
458
|
+
nonce: number;
|
|
459
|
+
signature: ExchangeSignature;
|
|
460
|
+
vaultAddress?: string | null;
|
|
461
|
+
expiresAfter?: number | null;
|
|
462
|
+
}
|
|
463
|
+
export interface ExchangeResponse {
|
|
464
|
+
payload: ExchangePayload;
|
|
465
|
+
}
|
|
466
|
+
export interface ExchangeRequest {
|
|
467
|
+
action: any;
|
|
468
|
+
vaultAddress?: string | null;
|
|
469
|
+
expiresAfter?: number | null;
|
|
470
|
+
isMainnet?: boolean | null;
|
|
471
|
+
walletAddress?: string | null;
|
|
472
|
+
}
|
|
473
|
+
export interface ExportInitRequest {
|
|
474
|
+
user_nonce: string;
|
|
475
|
+
account_index?: number;
|
|
476
|
+
}
|
|
477
|
+
export interface ExportInitResponse {
|
|
478
|
+
server_nonce: string;
|
|
479
|
+
}
|
|
480
|
+
export interface ExportFinishRequest {
|
|
481
|
+
user_nonce?: string;
|
|
482
|
+
server_nonce?: string;
|
|
483
|
+
account_index?: number;
|
|
484
|
+
is_export: boolean;
|
|
485
|
+
}
|
|
486
|
+
export interface ExportWallet {
|
|
487
|
+
network: Network;
|
|
488
|
+
wallet_set: string;
|
|
489
|
+
address: string;
|
|
490
|
+
private_key: string;
|
|
491
|
+
}
|
|
492
|
+
export interface ExportWalletResponse {
|
|
493
|
+
user_id: string;
|
|
494
|
+
wallets: ExportWallet[];
|
|
495
|
+
}
|
|
496
|
+
export interface CloseInitRequest {
|
|
497
|
+
user_nonce: string;
|
|
498
|
+
}
|
|
499
|
+
export interface CloseInitResponse {
|
|
500
|
+
server_nonce: string;
|
|
501
|
+
}
|
|
502
|
+
export interface CloseFinishRequest {
|
|
503
|
+
user_nonce: string;
|
|
504
|
+
server_nonce: string;
|
|
505
|
+
}
|
|
506
|
+
export interface CloseFinishResponse {
|
|
507
|
+
user_id: string;
|
|
508
|
+
is_closed: boolean;
|
|
509
|
+
}
|