superstack-wallet-sdk 0.6.4 → 0.6.6
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/types.js.map +1 -1
- package/dist/esm/types/client.d.ts +24 -1
- package/dist/esm/types/types.d.ts +54 -0
- package/dist/index.cjs +8 -8
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +78 -1
- 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,AccountMode as r,WalletType as a,isVersionedTransaction as n}from"./types.js";import{Storage as o}from"./storage.js";import{Connection as i,PublicKey as s,LAMPORTS_PER_SOL as l}from"@solana/web3.js";import d from"bs58";import{PhantomWalletAdapter as c}from"./adapters/phantom.js";import{v4 as h}from"uuid";import{getOnrampBuyUrl as u}from"./utils/coinbaseUtils.js";import{Buffer as p}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 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/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 v}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 g(){const t=new Uint8Array(16);return crypto.getRandomValues(t),Array.from(t,t=>t.toString(16).padStart(2,"0")).join("")}class y{constructor(r){this.walletInfo=null,this.userId=null,this.solanaConnection=null,this.ethereumProvider=null,this.phantomAdapter=null,this.walletType="embedded",this.ethereumNetwork=null,this.defaultNetwork=e.Solana,this.api=t.create({baseURL:r.baseURL,headers:{"Content-Type":"application/json"}}),this.middleAccountApi=t.create({baseURL:r.middleAccountBaseURL||"https://yeezy-payment-service-sit-a0dchfccbufeh5bx.z03.azurefd.net",headers:{"Content-Type":"application/json"}}),this.solanaCluster=r.solanaCluster,this.solanaConnection=new i(r.solanaCluster.rpcUrl),r.ethereumNetwork&&(this.ethereumNetwork={...r.ethereumNetwork,chainId:Number(r.ethereumNetwork.chainId)},this.ethereumProvider=w({transport:m(r.ethereumNetwork.rpcUrl)})),this.defaultNetwork=r.defaultNetwork||e.Solana,this.setWalletInfo=t=>{var e;r.setWalletInfo(t),this.userId=null!==(e=null==t?void 0:t.id)&&void 0!==e?e:null,this.walletInfo=t}}setWalletType(t){this.walletType=t,o.saveWalletType(t)}async reconnect(t){try{if(o.getWalletType()==="phantom"+(t?"_backup":"")){return await this.connectPhantom()}if(!t){const t=await this.getAndRefreshSession();return this.setWalletInfo(t),t}const e=o.getBackupWalletInfo();return this.setWalletInfo(e),e}catch(t){return null}}getPhantomAdapter(){return this.phantomAdapter}async connectPhantom(){try{if(this.phantomAdapter||(this.phantomAdapter=new c),await this.phantomAdapter.connect(),!this.phantomAdapter.publicKey)throw new Error("Failed to connect to Phantom wallet");const t=this.phantomAdapter.publicKey.toString(),n={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:[],credit_account:{account_mode:r.Basic}},created_at:Date.now(),is_exported:!1};return this.setWalletInfo(n),this.setWalletType("phantom"),n}catch(t){throw console.error("Phantom connect error:",t),new Error(t instanceof Error?t.message:"Failed to connect to Phantom wallet")}}async updateAccountName(t,e){const r={name:t,account_index:e},a=(await this.api.post("/account/update",r,{withCredentials:!0})).data;return this.setWalletInfo(a),a}async manageMultiAccount(t){const e=(await this.api.post("/account/multi",t,{withCredentials:!0})).data;return this.setWalletInfo(e),e}async createSubAccount(t){return this.manageMultiAccount({type:"Create",data:{name:null!=t?t:null}})}async enableSubAccount(t){return this.manageMultiAccount({type:"Enable",data:{index:t}})}async disableSubAccount(t){return this.manageMultiAccount({type:"Disable",data:{index:t}})}async signSolanaTransaction(t,r){try{if(!this.solanaConnection)throw new Error("No rpc connection");const{blockhash:a}=await this.solanaConnection.getLatestBlockhash();if(n(t)?t.message.recentBlockhash=a:t.recentBlockhash=a,this.phantomAdapter&&this.phantomAdapter.publicKey)return await this.phantomAdapter.signTransaction(t);const o=await this.signV3({network:e.Solana,address:r,tx:{Solana:d.encode(n(t)?t.message.serialize():t.serializeMessage())}});return t.addSignature(new s(r),p.from(d.decode(o))),t}catch(t){throw new Error(t instanceof Error?t.message:"Failed to sign transaction")}}async signEthereumEip712(t,r){if(!this.ethereumNetwork)throw new Error("No Ethereum network");if(!this.ethereumProvider)throw new Error("No Ethereum provider");return await this.signV2({network:e.Ethereum,address:r,tx:{EthereumEip712:t}})}async sendSolanaTransaction(t){if(!this.solanaConnection)throw new Error("No rpc connection");try{return await this.solanaConnection.sendRawTransaction(t,{maxRetries:3,skipPreflight:!1})}catch(t){throw t}}async sendEthereumTransaction(t){if(!this.ethereumProvider)throw new Error("No Ethereum provider");try{return await this.ethereumProvider.sendRawTransaction({serializedTransaction:t})}catch(t){throw t}}async sendEmailVerificationCode(t){await this.api.post("/send_verification",{email:t})}async sendPhoneVerificationCode(t){t.startsWith("+")||(t=`+${t}`),await this.api.post("/send_verification",{phone:t,type:"phone"})}async verifyEmailVerificationCode({email:t,code:e}){const r={type:"Email",data:{network:this.defaultNetwork,email:t,code:e}},a=(await this.api.post("/login",r,{withCredentials:!0})).data;return this.setWalletInfo(a),this.setWalletType("embedded"),a}async verifyPhoneVerificationCode({phone:t,code:e}){const r={type:"Phone",data:{network:this.defaultNetwork,phone:t,code:e}},a=(await this.api.post("/login",r,{withCredentials:!0})).data;return this.setWalletInfo(a),this.setWalletType("embedded"),a}async twitterLogin(t){const e={type:"TwitterOAuth",data:{network:this.defaultNetwork,...t}},r=(await this.api.post("/login",e,{withCredentials:!0})).data;return this.setWalletInfo(r),this.setWalletType("embedded"),r}async googleLogin(t){const e={type:"GoogleOAuth",data:{network:this.defaultNetwork,...t}},r=(await this.api.post("/login",e,{withCredentials:!0})).data;return this.setWalletInfo(r),this.setWalletType("embedded"),r}async oauthLogin(t,e){const r={type:t,data:{network:e.network||this.defaultNetwork,...e}},a=(await this.api.post("/login",r,{withCredentials:!0})).data;return this.setWalletInfo(a),this.setWalletType("embedded"),a}async loginWithChallenge(t,e){const r={type:t,data:{network:e.network||this.defaultNetwork,...e}},a=(await this.api.post("/login",r,{withCredentials:!0})).data;return this.setWalletInfo(a),this.setWalletType("embedded"),a}async bind(t,e){const r={type:t,data:{network:e.network||this.defaultNetwork,...e}},a=(await this.api.post("/bind",r,{withCredentials:!0})).data;return this.setWalletInfo(a),a}async oauthInit(t){return(await this.api.post("/oauth/init",t)).data}async getSignChallenge(t){return(await this.api.get(`/challenge?method=${t.method}&id=${t.id}`)).data}async getAndRefreshSession(){const t=(await this.api.get("/session",{withCredentials:!0})).data,{access_token:e}=t;return e&&o.saveAccessToken(e),this.setWalletInfo(t),t}async logout(t){this.phantomAdapter?(this.phantomAdapter.disconnect(),this.phantomAdapter=null):await this.api.post("/logout",{},{withCredentials:!0}),this.setWalletInfo(null),t?o.clearBackup():o.clear()}async getOAuth2ClientId(t){return(await this.api.get(`/oauth_id/${t}`)).data.client_id}async getSolanaBalance(t){if(!this.solanaConnection)throw new Error("Solana connection not available");return(await this.solanaConnection.getBalance(new s(t))/l).toString()}async getEthereumBalance(t){if(!this.ethereumProvider)throw new Error("Ethereum provider not available");const e=await this.ethereumProvider.getBalance({address:t});return v(e)}async fetchCoinbaseToken(t,e="solana"){return(await this.api.post("/ramp/coinbase",{addresses:[{address:t,blockchains:[e]}],assets:["solana"===e?"SOL":"ETH"]})).data.token}viemSignerAdapter(t){return{signTypedData:async r=>{if(!this.ethereumNetwork)throw new Error("No Ethereum network");if(!this.ethereumProvider)throw new Error("No Ethereum provider");const a=await this.signV2({network:e.Ethereum,address:t,tx:{EthereumEip712:r}}),n=d.decode(a),o=n[64];return f({r:`0x${p.from(n.slice(0,32)).toString("hex")}`,s:`0x${p.from(n.slice(32,64)).toString("hex")}`,v:BigInt(o+27)})}}}async createMiddleAccount(t){try{return(await this.middleAccountApi.post("/create",t)).data}catch(t){throw new Error(t instanceof Error?t.message:"Failed to create middle account")}}async getCoinbaseOnrampUrlForMiddleAccount(t){try{const r={sessionToken:await this.fetchCoinbaseToken(t.middleAccountAddress,t.network===e.Solana?"solana":"ethereum"),presetCryptoAmount:Number(t.amount),redirectUrl:t.redirectUrl||window.location.href};return u(r)}catch(t){throw new Error(t instanceof Error?t.message:"Failed to get Coinbase onramp URL")}}async getOrderState(t){try{return(await this.middleAccountApi.get(`/order/${t}`)).data}catch(t){throw new Error(t instanceof Error?t.message:"Failed to get order status")}}async transfer(t){var e,r,a;const n={user_id:null!==(e=this.userId)&&void 0!==e?e:"",from:t.from,to:t.to,amount:t.amount,decimals:t.decimals,token:t.token,network:t.network,chain_id:t.chain_id};try{return(await this.api.post("/v3/sign/transfer",n,{withCredentials:!0})).data}catch(t){if(null===(a=null===(r=t.response)||void 0===r?void 0:r.data)||void 0===a?void 0:a.error)throw new Error(t.response.data.error);throw new Error(t instanceof Error?t.message:"Transfer failed")}}async buildTransaction(t){var e,r;try{return(await this.api.post("/v3/sign/build_transaction",t,{withCredentials:!0})).data}catch(t){if(null===(r=null===(e=t.response)||void 0===e?void 0:e.data)||void 0===r?void 0:r.error)throw new Error(t.response.data.error);throw new Error(t instanceof Error?t.message:"Failed to build transaction")}}async exportInit(t){var e,r;const a={user_nonce:g(),account_index:t};try{return(await this.api.post("/export/init",a,{withCredentials:!0})).data}catch(t){if(null===(r=null===(e=t.response)||void 0===e?void 0:e.data)||void 0===r?void 0:r.error)throw new Error(t.response.data.error);throw new Error(t instanceof Error?t.message:"Failed to initialize export")}}async exportFinal(t){var e,r,a;const n={user_nonce:t.userNonce,server_nonce:t.serverNonce,account_index:t.accountIndex,is_export:null===(e=t.isExport)||void 0===e||e};try{return(await this.api.post("/export/final",n,{withCredentials:!0})).data}catch(t){if(null===(a=null===(r=t.response)||void 0===r?void 0:r.data)||void 0===a?void 0:a.error)throw new Error(t.response.data.error);throw new Error(t instanceof Error?t.message:"Failed to finalize export")}}async getExportedWallets(t){var e,r;const a={account_index:t,is_export:!1};try{return(await this.api.post("/export/final",a,{withCredentials:!0})).data}catch(t){if(null===(r=null===(e=t.response)||void 0===e?void 0:e.data)||void 0===r?void 0:r.error)throw new Error(t.response.data.error);throw new Error(t instanceof Error?t.message:"Failed to retrieve exported wallets")}}async closeInit(){var t,e;const r={user_nonce:g()};try{return(await this.api.post("/close/init",r,{withCredentials:!0})).data}catch(r){if(null===(e=null===(t=r.response)||void 0===t?void 0:t.data)||void 0===e?void 0:e.error)throw new Error(r.response.data.error);throw new Error(r instanceof Error?r.message:"Failed to initialize account closure")}}async closeFinal(t){var e,r;const a={user_nonce:t.userNonce,server_nonce:t.serverNonce};try{const t=await this.api.post("/close/final",a,{withCredentials:!0});return this.setWalletInfo(null),o.clear(),t.data}catch(t){if(null===(r=null===(e=t.response)||void 0===e?void 0:e.data)||void 0===r?void 0:r.error)throw new Error(t.response.data.error);throw new Error(t instanceof Error?t.message:"Failed to close account")}}async signV1(t){var e,r,a;const n={user_id:null!==(e=this.userId)&&void 0!==e?e:"",network:t.network,address:t.address,message:t.message};try{return(await this.api.post("/v1/sign",n,{withCredentials:!0})).data.signature}catch(t){if(null===(a=null===(r=t.response)||void 0===r?void 0:r.data)||void 0===a?void 0:a.error)throw new Error(t.response.data.error);throw new Error(t instanceof Error?t.message:"Failed to sign message")}}async signV2(t){var e,r,a;const n={user_id:null!==(e=this.userId)&&void 0!==e?e:"",network:t.network,address:t.address,tx:t.tx};try{return(await this.api.post("/v2/sign",n,{withCredentials:!0})).data.signature}catch(t){if(null===(a=null===(r=t.response)||void 0===r?void 0:r.data)||void 0===a?void 0:a.error)throw new Error(t.response.data.error);throw new Error(t instanceof Error?t.message:"Failed to sign transaction")}}async signV3(t){var r,a,n;if(t.network!==e.Solana)throw new Error("v3 sign API only supports Solana transactions");if(!t.tx.Solana)throw new Error("Solana transaction is required for v3 sign API");const o={user_id:null!==(r=this.userId)&&void 0!==r?r:"",network:t.network,address:t.address,tx:{Solana:t.tx.Solana}};try{return(await this.api.post("/v3/sign",o,{withCredentials:!0})).data.signature}catch(t){if(null===(n=null===(a=t.response)||void 0===a?void 0:a.data)||void 0===n?void 0:n.error)throw new Error(t.response.data.error);throw new Error(t instanceof Error?t.message:"Failed to sign transaction")}}async lighterBuildTransaction(t,e){var r,a;try{const r={...t,wallet_address:e||t.wallet_address||null};return(await this.api.post("/v3/lighter/build_transaction",r,{withCredentials:!0})).data}catch(t){if(null===(a=null===(r=t.response)||void 0===r?void 0:r.data)||void 0===a?void 0:a.error)throw new Error(t.response.data.error);throw new Error(t instanceof Error?t.message:"Failed to build Lighter transaction")}}async lighterAuth(t){var e,r;const a={account_index:t.lighter_account_index,wallet_address:t.wallet_address||null,expires_in_ms:t.expires_in_ms||null};try{return(await this.api.post("/v3/lighter/auth",a,{withCredentials:!0})).data}catch(t){if(null===(r=null===(e=t.response)||void 0===e?void 0:e.data)||void 0===r?void 0:r.error)throw new Error(t.response.data.error);throw new Error(t instanceof Error?t.message:"Failed to generate Lighter auth token")}}async lighterChangeKey(t){var e,r;if(t.lighter_account_index<0)throw new Error("accountIndex must be non-negative");const a={account_index:t.lighter_account_index,wallet_address:t.wallet_address||null};try{return(await this.api.post("/v3/lighter/change_key",a,{withCredentials:!0})).data}catch(t){if(null===(r=null===(e=t.response)||void 0===e?void 0:e.data)||void 0===r?void 0:r.error)throw new Error(t.response.data.error);throw new Error(t instanceof Error?t.message:"Failed to change Lighter key")}}async exchange(t){var e,r;try{return(await this.api.post("/v3/sign/exchange",t,{withCredentials:!0})).data}catch(t){if(null===(r=null===(e=t.response)||void 0===e?void 0:e.data)||void 0===r?void 0:r.error)throw new Error(t.response.data.error);throw new Error(t instanceof Error?t.message:"Failed to build exchange transaction")}}}export{y as WalletClient};
|
|
1
|
+
import t from"axios";import{Network as e,AccountMode as r,WalletType as a,isVersionedTransaction as n}from"./types.js";import{Storage as o}from"./storage.js";import{Connection as i,PublicKey as s,LAMPORTS_PER_SOL as l}from"@solana/web3.js";import d from"bs58";import{PhantomWalletAdapter as c}from"./adapters/phantom.js";import{v4 as h}from"uuid";import{getOnrampBuyUrl as u}from"./utils/coinbaseUtils.js";import{Buffer as p}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 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/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 v}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 g(){const t=new Uint8Array(16);return crypto.getRandomValues(t),Array.from(t,t=>t.toString(16).padStart(2,"0")).join("")}class y{constructor(r){this.walletInfo=null,this.userId=null,this.solanaConnection=null,this.ethereumProvider=null,this.phantomAdapter=null,this.walletType="embedded",this.ethereumNetwork=null,this.defaultNetwork=e.Solana,this.api=t.create({baseURL:r.baseURL,headers:{"Content-Type":"application/json"}}),this.middleAccountApi=t.create({baseURL:r.middleAccountBaseURL||"",headers:{"Content-Type":"application/json"}}),this.solanaCluster=r.solanaCluster,this.solanaConnection=new i(r.solanaCluster.rpcUrl),r.ethereumNetwork&&(this.ethereumNetwork={...r.ethereumNetwork,chainId:Number(r.ethereumNetwork.chainId)},this.ethereumProvider=w({transport:m(r.ethereumNetwork.rpcUrl)})),this.defaultNetwork=r.defaultNetwork||e.Solana,this.setWalletInfo=t=>{var e;r.setWalletInfo(t),this.userId=null!==(e=null==t?void 0:t.id)&&void 0!==e?e:null,this.walletInfo=t}}setWalletType(t){this.walletType=t,o.saveWalletType(t)}async reconnect(t){try{if(o.getWalletType()==="phantom"+(t?"_backup":"")){return await this.connectPhantom()}if(!t){const t=await this.getAndRefreshSession();return this.setWalletInfo(t),t}const e=o.getBackupWalletInfo();return this.setWalletInfo(e),e}catch(t){return null}}getPhantomAdapter(){return this.phantomAdapter}async connectPhantom(){try{if(this.phantomAdapter||(this.phantomAdapter=new c),await this.phantomAdapter.connect(),!this.phantomAdapter.publicKey)throw new Error("Failed to connect to Phantom wallet");const t=this.phantomAdapter.publicKey.toString(),n={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:[],credit_account:{account_mode:r.Basic}},created_at:Date.now(),is_exported:!1};return this.setWalletInfo(n),this.setWalletType("phantom"),n}catch(t){throw console.error("Phantom connect error:",t),new Error(t instanceof Error?t.message:"Failed to connect to Phantom wallet")}}async updateAccountName(t,e){const r={name:t,account_index:e},a=(await this.api.post("/account/update",r,{withCredentials:!0})).data;return this.setWalletInfo(a),a}async manageMultiAccount(t){const e=(await this.api.post("/account/multi",t,{withCredentials:!0})).data;return this.setWalletInfo(e),e}async createSubAccount(t){return this.manageMultiAccount({type:"Create",data:{name:null!=t?t:null}})}async enableSubAccount(t){return this.manageMultiAccount({type:"Enable",data:{index:t}})}async disableSubAccount(t){return this.manageMultiAccount({type:"Disable",data:{index:t}})}async signSolanaTransaction(t,r){try{if(!this.solanaConnection)throw new Error("No rpc connection");const{blockhash:a}=await this.solanaConnection.getLatestBlockhash();if(n(t)?t.message.recentBlockhash=a:t.recentBlockhash=a,this.phantomAdapter&&this.phantomAdapter.publicKey)return await this.phantomAdapter.signTransaction(t);const o=await this.signV3({network:e.Solana,address:r,tx:{Solana:d.encode(n(t)?t.message.serialize():t.serializeMessage())}});return t.addSignature(new s(r),p.from(d.decode(o))),t}catch(t){throw new Error(t instanceof Error?t.message:"Failed to sign transaction")}}async signEthereumEip712(t,r){if(!this.ethereumNetwork)throw new Error("No Ethereum network");if(!this.ethereumProvider)throw new Error("No Ethereum provider");return await this.signV2({network:e.Ethereum,address:r,tx:{EthereumEip712:t}})}async sendSolanaTransaction(t){if(!this.solanaConnection)throw new Error("No rpc connection");try{return await this.solanaConnection.sendRawTransaction(t,{maxRetries:3,skipPreflight:!1})}catch(t){throw t}}async sendEthereumTransaction(t){if(!this.ethereumProvider)throw new Error("No Ethereum provider");try{return await this.ethereumProvider.sendRawTransaction({serializedTransaction:t})}catch(t){throw t}}async sendEmailVerificationCode(t){await this.api.post("/send_verification",{email:t})}async sendPhoneVerificationCode(t){t.startsWith("+")||(t=`+${t}`),await this.api.post("/send_verification",{phone:t,type:"phone"})}async verifyEmailVerificationCode({email:t,code:e}){const r={type:"Email",data:{network:this.defaultNetwork,email:t,code:e}},a=(await this.api.post("/login",r,{withCredentials:!0})).data;return this.setWalletInfo(a),this.setWalletType("embedded"),a}async verifyPhoneVerificationCode({phone:t,code:e}){const r={type:"Phone",data:{network:this.defaultNetwork,phone:t,code:e}},a=(await this.api.post("/login",r,{withCredentials:!0})).data;return this.setWalletInfo(a),this.setWalletType("embedded"),a}async twitterLogin(t){const e={type:"TwitterOAuth",data:{network:this.defaultNetwork,...t}},r=(await this.api.post("/login",e,{withCredentials:!0})).data;return this.setWalletInfo(r),this.setWalletType("embedded"),r}async googleLogin(t){const e={type:"GoogleOAuth",data:{network:this.defaultNetwork,...t}},r=(await this.api.post("/login",e,{withCredentials:!0})).data;return this.setWalletInfo(r),this.setWalletType("embedded"),r}async oauthLogin(t,e){const r={type:t,data:{network:e.network||this.defaultNetwork,...e}},a=(await this.api.post("/login",r,{withCredentials:!0})).data;return this.setWalletInfo(a),this.setWalletType("embedded"),a}async loginWithChallenge(t,e){const r={type:t,data:{network:e.network||this.defaultNetwork,...e}},a=(await this.api.post("/login",r,{withCredentials:!0})).data;return this.setWalletInfo(a),this.setWalletType("embedded"),a}async bind(t,e){const r={type:t,data:{network:e.network||this.defaultNetwork,...e}},a=(await this.api.post("/bind",r,{withCredentials:!0})).data;return this.setWalletInfo(a),a}async unbind(t){var e,r;const a={social_link:t};try{const t=(await this.api.post("/unbind",a,{withCredentials:!0})).data;return this.setWalletInfo(t),t}catch(t){if(null===(r=null===(e=t.response)||void 0===e?void 0:e.data)||void 0===r?void 0:r.error)throw new Error(t.response.data.error);throw new Error(t instanceof Error?t.message:"Failed to unbind social account")}}async oauthInit(t){return(await this.api.post("/oauth/init",t)).data}async getSignChallenge(t){return(await this.api.get(`/challenge?method=${t.method}&id=${t.id}`)).data}async getAndRefreshSession(){const t=(await this.api.get("/session",{withCredentials:!0})).data,{access_token:e}=t;return e&&o.saveAccessToken(e),this.setWalletInfo(t),t}async logout(t){this.phantomAdapter?(this.phantomAdapter.disconnect(),this.phantomAdapter=null):await this.api.post("/logout",{},{withCredentials:!0}),this.setWalletInfo(null),t?o.clearBackup():o.clear()}async getOAuth2ClientId(t){return(await this.api.get(`/oauth_id/${t}`)).data.client_id}async getSolanaBalance(t){if(!this.solanaConnection)throw new Error("Solana connection not available");return(await this.solanaConnection.getBalance(new s(t))/l).toString()}async getEthereumBalance(t){if(!this.ethereumProvider)throw new Error("Ethereum provider not available");const e=await this.ethereumProvider.getBalance({address:t});return v(e)}async fetchCoinbaseToken(t,e="solana"){return(await this.api.post("/ramp/coinbase",{addresses:[{address:t,blockchains:[e]}],assets:["solana"===e?"SOL":"ETH"]})).data.token}viemSignerAdapter(t){return{signTypedData:async r=>{if(!this.ethereumNetwork)throw new Error("No Ethereum network");if(!this.ethereumProvider)throw new Error("No Ethereum provider");const a=await this.signV2({network:e.Ethereum,address:t,tx:{EthereumEip712:r}}),n=d.decode(a),o=n[64];return f({r:`0x${p.from(n.slice(0,32)).toString("hex")}`,s:`0x${p.from(n.slice(32,64)).toString("hex")}`,v:BigInt(o+27)})}}}async createMiddleAccount(t){try{return(await this.middleAccountApi.post("/create",t)).data}catch(t){throw new Error(t instanceof Error?t.message:"Failed to create middle account")}}async getCoinbaseOnrampUrlForMiddleAccount(t){try{const r={sessionToken:await this.fetchCoinbaseToken(t.middleAccountAddress,t.network===e.Solana?"solana":"ethereum"),presetCryptoAmount:Number(t.amount),redirectUrl:t.redirectUrl||window.location.href};return u(r)}catch(t){throw new Error(t instanceof Error?t.message:"Failed to get Coinbase onramp URL")}}async getOrderState(t){try{return(await this.middleAccountApi.get(`/order/${t}`)).data}catch(t){throw new Error(t instanceof Error?t.message:"Failed to get order status")}}async transfer(t){var e,r,a;const n={user_id:null!==(e=this.userId)&&void 0!==e?e:"",from:t.from,to:t.to,amount:t.amount,decimals:t.decimals,token:t.token,network:t.network,chain_id:t.chain_id};try{return(await this.api.post("/v3/sign/transfer",n,{withCredentials:!0})).data}catch(t){if(null===(a=null===(r=t.response)||void 0===r?void 0:r.data)||void 0===a?void 0:a.error)throw new Error(t.response.data.error);throw new Error(t instanceof Error?t.message:"Transfer failed")}}async buildTransaction(t){var e,r;try{return(await this.api.post("/v3/sign/build_transaction",t,{withCredentials:!0})).data}catch(t){if(null===(r=null===(e=t.response)||void 0===e?void 0:e.data)||void 0===r?void 0:r.error)throw new Error(t.response.data.error);throw new Error(t instanceof Error?t.message:"Failed to build transaction")}}async exportInit(t){var e,r;const a={user_nonce:g(),account_index:t};try{return(await this.api.post("/export/init",a,{withCredentials:!0})).data}catch(t){if(null===(r=null===(e=t.response)||void 0===e?void 0:e.data)||void 0===r?void 0:r.error)throw new Error(t.response.data.error);throw new Error(t instanceof Error?t.message:"Failed to initialize export")}}async exportFinal(t){var e,r,a;const n={user_nonce:t.userNonce,server_nonce:t.serverNonce,account_index:t.accountIndex,is_export:null===(e=t.isExport)||void 0===e||e};try{return(await this.api.post("/export/final",n,{withCredentials:!0})).data}catch(t){if(null===(a=null===(r=t.response)||void 0===r?void 0:r.data)||void 0===a?void 0:a.error)throw new Error(t.response.data.error);throw new Error(t instanceof Error?t.message:"Failed to finalize export")}}async getExportedWallets(t){var e,r;const a={account_index:t,is_export:!1};try{return(await this.api.post("/export/final",a,{withCredentials:!0})).data}catch(t){if(null===(r=null===(e=t.response)||void 0===e?void 0:e.data)||void 0===r?void 0:r.error)throw new Error(t.response.data.error);throw new Error(t instanceof Error?t.message:"Failed to retrieve exported wallets")}}async closeInit(){var t,e;const r={user_nonce:g()};try{return(await this.api.post("/close/init",r,{withCredentials:!0})).data}catch(r){if(null===(e=null===(t=r.response)||void 0===t?void 0:t.data)||void 0===e?void 0:e.error)throw new Error(r.response.data.error);throw new Error(r instanceof Error?r.message:"Failed to initialize account closure")}}async closeFinal(t){var e,r;const a={user_nonce:t.userNonce,server_nonce:t.serverNonce};try{const t=await this.api.post("/close/final",a,{withCredentials:!0});return this.setWalletInfo(null),o.clear(),t.data}catch(t){if(null===(r=null===(e=t.response)||void 0===e?void 0:e.data)||void 0===r?void 0:r.error)throw new Error(t.response.data.error);throw new Error(t instanceof Error?t.message:"Failed to close account")}}async signV1(t){var e,r,a;const n={user_id:null!==(e=this.userId)&&void 0!==e?e:"",network:t.network,address:t.address,message:t.message};try{return(await this.api.post("/v1/sign",n,{withCredentials:!0})).data.signature}catch(t){if(null===(a=null===(r=t.response)||void 0===r?void 0:r.data)||void 0===a?void 0:a.error)throw new Error(t.response.data.error);throw new Error(t instanceof Error?t.message:"Failed to sign message")}}async signV2(t){var e,r,a;const n={user_id:null!==(e=this.userId)&&void 0!==e?e:"",network:t.network,address:t.address,tx:t.tx};try{return(await this.api.post("/v2/sign",n,{withCredentials:!0})).data.signature}catch(t){if(null===(a=null===(r=t.response)||void 0===r?void 0:r.data)||void 0===a?void 0:a.error)throw new Error(t.response.data.error);throw new Error(t instanceof Error?t.message:"Failed to sign transaction")}}async signV3(t){var r,a,n;if(t.network!==e.Solana)throw new Error("v3 sign API only supports Solana transactions");if(!t.tx.Solana)throw new Error("Solana transaction is required for v3 sign API");const o={user_id:null!==(r=this.userId)&&void 0!==r?r:"",network:t.network,address:t.address,tx:{Solana:t.tx.Solana}};try{return(await this.api.post("/v3/sign",o,{withCredentials:!0})).data.signature}catch(t){if(null===(n=null===(a=t.response)||void 0===a?void 0:a.data)||void 0===n?void 0:n.error)throw new Error(t.response.data.error);throw new Error(t instanceof Error?t.message:"Failed to sign transaction")}}async authV3(t){var r,a,n;if(t.network!==e.Ethereum)throw new Error("v3 auth API only supports Ethereum EIP-712 authentication");const o={domain:{name:"SUPERSTACK",version:"1",chainId:999,verifyingContract:"0x0000000000000000000000000000000000000000"},types:t.types,primaryType:t.primaryType,message:t.message},i={user_id:null!==(r=this.userId)&&void 0!==r?r:"",network:t.network,address:t.address,payload:{EthereumEip712:o}};try{return(await this.api.post("/v3/auth",i,{withCredentials:!0})).data.signature}catch(t){if(null===(n=null===(a=t.response)||void 0===a?void 0:a.data)||void 0===n?void 0:n.error)throw new Error(t.response.data.error);throw new Error(t instanceof Error?t.message:"Failed to authenticate")}}async lighterBuildTransaction(t,e){var r,a;try{const r={...t,wallet_address:e||t.wallet_address||null};return(await this.api.post("/v3/lighter/build_transaction",r,{withCredentials:!0})).data}catch(t){if(null===(a=null===(r=t.response)||void 0===r?void 0:r.data)||void 0===a?void 0:a.error)throw new Error(t.response.data.error);throw new Error(t instanceof Error?t.message:"Failed to build Lighter transaction")}}async lighterAuth(t){var e,r;const a={account_index:t.lighter_account_index,wallet_address:t.wallet_address||null,expires_in_ms:t.expires_in_ms||null};try{return(await this.api.post("/v3/lighter/auth",a,{withCredentials:!0})).data}catch(t){if(null===(r=null===(e=t.response)||void 0===e?void 0:e.data)||void 0===r?void 0:r.error)throw new Error(t.response.data.error);throw new Error(t instanceof Error?t.message:"Failed to generate Lighter auth token")}}async lighterChangeKey(t){var e,r;if(t.lighter_account_index<0)throw new Error("accountIndex must be non-negative");const a={account_index:t.lighter_account_index,wallet_address:t.wallet_address||null};try{return(await this.api.post("/v3/lighter/change_key",a,{withCredentials:!0})).data}catch(t){if(null===(r=null===(e=t.response)||void 0===e?void 0:e.data)||void 0===r?void 0:r.error)throw new Error(t.response.data.error);throw new Error(t instanceof Error?t.message:"Failed to change Lighter key")}}async exchange(t){var e,r;try{return(await this.api.post("/v3/sign/exchange",t,{withCredentials:!0})).data}catch(t){if(null===(r=null===(e=t.response)||void 0===e?void 0:e.data)||void 0===r?void 0:r.error)throw new Error(t.response.data.error);throw new Error(t instanceof Error?t.message:"Failed to build exchange transaction")}}}export{y as WalletClient};
|
|
2
2
|
//# sourceMappingURL=client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sources":["../../../../src/client.ts"],"sourcesContent":[null],"names":["generateNonce","array","Uint8Array","crypto","getRandomValues","Array","from","byte","toString","padStart","join","WalletClient","constructor","config","this","walletInfo","userId","solanaConnection","ethereumProvider","phantomAdapter","walletType","ethereumNetwork","defaultNetwork","Network","Solana","api","axios","create","baseURL","headers","middleAccountApi","middleAccountBaseURL","solanaCluster","Connection","rpcUrl","chainId","Number","createPublicClient","transport","http","setWalletInfo","_a","id","setWalletType","type","Storage","saveWalletType","reconnect","isBackup","getWalletType","connectPhantom","wallet","getAndRefreshSession","getBackupWalletInfo","error","getPhantomAdapter","PhantomWalletAdapter","connect","publicKey","Error","uuidv4","wallets","address","network","wallet_type","WalletType","Phantom","wallet_set","account_index","is_enabled","social_links","social_infos","account_info","name","sub_accounts","credit_account","account_mode","AccountMode","Basic","created_at","Date","now","is_exported","console","message","updateAccountName","accountIndex","payload","post","withCredentials","data","manageMultiAccount","request","createSubAccount","enableSubAccount","index","disableSubAccount","signSolanaTransaction","transaction","solanaAddress","blockhash","getLatestBlockhash","isVersionedTransaction","recentBlockhash","signTransaction","signature","signV3","tx","bs58","encode","serialize","serializeMessage","addSignature","PublicKey","Buffer","decode","signEthereumEip712","params","ethereumAddress","signV2","Ethereum","EthereumEip712","sendSolanaTransaction","sendRawTransaction","maxRetries","skipPreflight","sendEthereumTransaction","signedTransaction","serializedTransaction","sendEmailVerificationCode","email","sendPhoneVerificationCode","phone","startsWith","verifyEmailVerificationCode","code","verifyPhoneVerificationCode","twitterLogin","googleLogin","oauthLogin","loginWithChallenge","bind","oauthInit","getSignChallenge","get","method","access_token","saveAccessToken","logout","disconnect","clearBackup","clear","getOAuth2ClientId","provider","client_id","getSolanaBalance","getBalance","LAMPORTS_PER_SOL","getEthereumBalance","balance","ethers.formatEther","fetchCoinbaseToken","blockchain","addresses","blockchains","assets","token","viemSignerAdapter","signTypedData","async","signatureBytes","recId","signatureToHex","r","slice","s","v","BigInt","createMiddleAccount","getCoinbaseOnrampUrlForMiddleAccount","sessionToken","middleAccountAddress","presetCryptoAmount","amount","redirectUrl","window","location","href","getOnrampBuyUrl","getOrderState","orderId","transfer","transferRequest","user_id","to","decimals","chain_id","_c","_b","response","buildTransaction","exportInit","user_nonce","exportFinal","userNonce","server_nonce","serverNonce","is_export","isExport","getExportedWallets","closeInit","closeFinal","signV1","signRequest","lighterBuildTransaction","walletAddress","buildRequest","wallet_address","lighterAuth","lighter_account_index","expires_in_ms","lighterChangeKey","exchange"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sources":["../../../../src/client.ts"],"sourcesContent":[null],"names":["generateNonce","array","Uint8Array","crypto","getRandomValues","Array","from","byte","toString","padStart","join","WalletClient","constructor","config","this","walletInfo","userId","solanaConnection","ethereumProvider","phantomAdapter","walletType","ethereumNetwork","defaultNetwork","Network","Solana","api","axios","create","baseURL","headers","middleAccountApi","middleAccountBaseURL","solanaCluster","Connection","rpcUrl","chainId","Number","createPublicClient","transport","http","setWalletInfo","_a","id","setWalletType","type","Storage","saveWalletType","reconnect","isBackup","getWalletType","connectPhantom","wallet","getAndRefreshSession","getBackupWalletInfo","error","getPhantomAdapter","PhantomWalletAdapter","connect","publicKey","Error","uuidv4","wallets","address","network","wallet_type","WalletType","Phantom","wallet_set","account_index","is_enabled","social_links","social_infos","account_info","name","sub_accounts","credit_account","account_mode","AccountMode","Basic","created_at","Date","now","is_exported","console","message","updateAccountName","accountIndex","payload","post","withCredentials","data","manageMultiAccount","request","createSubAccount","enableSubAccount","index","disableSubAccount","signSolanaTransaction","transaction","solanaAddress","blockhash","getLatestBlockhash","isVersionedTransaction","recentBlockhash","signTransaction","signature","signV3","tx","bs58","encode","serialize","serializeMessage","addSignature","PublicKey","Buffer","decode","signEthereumEip712","params","ethereumAddress","signV2","Ethereum","EthereumEip712","sendSolanaTransaction","sendRawTransaction","maxRetries","skipPreflight","sendEthereumTransaction","signedTransaction","serializedTransaction","sendEmailVerificationCode","email","sendPhoneVerificationCode","phone","startsWith","verifyEmailVerificationCode","code","verifyPhoneVerificationCode","twitterLogin","googleLogin","oauthLogin","loginWithChallenge","bind","unbind","socialProvider","social_link","_b","response","oauthInit","getSignChallenge","get","method","access_token","saveAccessToken","logout","disconnect","clearBackup","clear","getOAuth2ClientId","provider","client_id","getSolanaBalance","getBalance","LAMPORTS_PER_SOL","getEthereumBalance","balance","ethers.formatEther","fetchCoinbaseToken","blockchain","addresses","blockchains","assets","token","viemSignerAdapter","signTypedData","async","signatureBytes","recId","signatureToHex","r","slice","s","v","BigInt","createMiddleAccount","getCoinbaseOnrampUrlForMiddleAccount","sessionToken","middleAccountAddress","presetCryptoAmount","amount","redirectUrl","window","location","href","getOnrampBuyUrl","getOrderState","orderId","transfer","transferRequest","user_id","to","decimals","chain_id","_c","buildTransaction","exportInit","user_nonce","exportFinal","userNonce","server_nonce","serverNonce","is_export","isExport","getExportedWallets","closeInit","closeFinal","signV1","signRequest","authV3","typedData","domain","version","verifyingContract","types","primaryType","authRequest","lighterBuildTransaction","walletAddress","buildRequest","wallet_address","lighterAuth","lighter_account_index","expires_in_ms","lighterChangeKey","exchange"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sources":["../../../../src/types.ts"],"sourcesContent":[null],"names":["isVersionedTransaction","transaction","Network","WalletType","SocialType","AccountMode","VaultId","LighterOrderSide","LighterOrderType","LighterTimeInForce","LighterMarginMode","LighterGroupingType"],"mappings":"AAkBM,SAAUA,EACdC,GAEA,MAAO,YAAaA,CACtB,KAiBYC,EAKAC,EAKAC,EA4CAC,
|
|
1
|
+
{"version":3,"file":"types.js","sources":["../../../../src/types.ts"],"sourcesContent":[null],"names":["isVersionedTransaction","transaction","Network","WalletType","SocialType","AccountMode","VaultId","LighterOrderSide","LighterOrderType","LighterTimeInForce","LighterMarginMode","LighterGroupingType"],"mappings":"AAkBM,SAAUA,EACdC,GAEA,MAAO,YAAaA,CACtB,KAiBYC,EAKAC,EAKAC,EA4CAC,EAsNAC,EA4GAC,EAKAC,EAWAC,EAMAC,EAKAC,GAnZZ,SAAYT,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,IA4CtB,SAAYC,GACVA,EAAA,MAAA,QACAA,EAAA,SAAA,WACAA,EAAA,QAAA,SACD,CAJD,CAAYA,IAAAA,EAAW,CAAA,IAsNvB,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 { WalletInfo, Network, IModalManager, MiddleAccountRequest, MiddleAccount, CoinbaseOnrampRequest, OrderState, LoginType, BuildTransactionRequest, BuildTransactionResponse, MultiAccountRequest, ExportInitResponse, ExportWalletResponse, CloseInitResponse, CloseFinishResponse, LighterBuildTransactionRequest, LighterBuildTransactionResponse, LighterAuthResponse, LighterChangeKeyResponse, ExchangeRequest, ExchangeResponse } from "./types";
|
|
1
|
+
import { WalletInfo, Network, IModalManager, MiddleAccountRequest, MiddleAccount, CoinbaseOnrampRequest, OrderState, LoginType, BuildTransactionRequest, BuildTransactionResponse, MultiAccountRequest, ExportInitResponse, ExportWalletResponse, CloseInitResponse, CloseFinishResponse, LighterBuildTransactionRequest, LighterBuildTransactionResponse, LighterAuthResponse, LighterChangeKeyResponse, ExchangeRequest, ExchangeResponse, SocialProvider } from "./types";
|
|
2
2
|
import { Transaction, VersionedTransaction } from "@solana/web3.js";
|
|
3
3
|
import { PhantomWalletAdapter } from "./adapters/phantom";
|
|
4
4
|
interface SolanaCluster {
|
|
@@ -143,6 +143,12 @@ export declare class WalletClient {
|
|
|
143
143
|
network?: Network;
|
|
144
144
|
isBackup?: boolean;
|
|
145
145
|
}): Promise<WalletInfo | null>;
|
|
146
|
+
/**
|
|
147
|
+
* Unbind a social account from the current user
|
|
148
|
+
* @param socialProvider The social provider to unbind (must match the format from walletInfo.social_links)
|
|
149
|
+
* @returns Updated wallet info
|
|
150
|
+
*/
|
|
151
|
+
unbind(socialProvider: SocialProvider): Promise<WalletInfo>;
|
|
146
152
|
oauthInit(params: {
|
|
147
153
|
provider: string;
|
|
148
154
|
redirect_uri: string;
|
|
@@ -299,6 +305,23 @@ export declare class WalletClient {
|
|
|
299
305
|
Solana: string;
|
|
300
306
|
};
|
|
301
307
|
}): Promise<string>;
|
|
308
|
+
/**
|
|
309
|
+
* Raw v3 auth API - Authenticate with EIP-712 typed data
|
|
310
|
+
* Note: v3 auth API only supports Ethereum EIP-712 authentication
|
|
311
|
+
* The domain fields (name, version, chainId, verifyingContract) are automatically set to the fixed auth domain values
|
|
312
|
+
* @param params Auth parameters including network, address, types, primaryType, and message
|
|
313
|
+
* @returns Auth response with signature
|
|
314
|
+
*/
|
|
315
|
+
authV3(params: {
|
|
316
|
+
network: Network;
|
|
317
|
+
address: string;
|
|
318
|
+
types: Record<string, Array<{
|
|
319
|
+
name: string;
|
|
320
|
+
type: string;
|
|
321
|
+
}>>;
|
|
322
|
+
primaryType: string;
|
|
323
|
+
message: Record<string, unknown>;
|
|
324
|
+
}): Promise<string>;
|
|
302
325
|
/**
|
|
303
326
|
* Build a Lighter transaction using the server-side build transaction API
|
|
304
327
|
* @param request Lighter build transaction request (with optional wallet_address field)
|
|
@@ -119,6 +119,32 @@ export interface SignRequestV3 {
|
|
|
119
119
|
address: string;
|
|
120
120
|
tx: UnsignedTxV3;
|
|
121
121
|
}
|
|
122
|
+
export interface Eip712TypedData {
|
|
123
|
+
domain: {
|
|
124
|
+
name: string;
|
|
125
|
+
version: string;
|
|
126
|
+
chainId: number;
|
|
127
|
+
verifyingContract: `0x${string}`;
|
|
128
|
+
};
|
|
129
|
+
types: Record<string, Array<{
|
|
130
|
+
name: string;
|
|
131
|
+
type: string;
|
|
132
|
+
}>>;
|
|
133
|
+
primaryType: string;
|
|
134
|
+
message: Record<string, unknown>;
|
|
135
|
+
}
|
|
136
|
+
export type AuthPayload = {
|
|
137
|
+
EthereumEip712: Eip712TypedData;
|
|
138
|
+
};
|
|
139
|
+
export interface AuthRequestV3 {
|
|
140
|
+
user_id: string;
|
|
141
|
+
network: string;
|
|
142
|
+
address: string;
|
|
143
|
+
payload: AuthPayload;
|
|
144
|
+
}
|
|
145
|
+
export interface AuthResponse {
|
|
146
|
+
signature: string;
|
|
147
|
+
}
|
|
122
148
|
export interface UserSession {
|
|
123
149
|
id: string;
|
|
124
150
|
userId: string;
|
|
@@ -135,6 +161,34 @@ export interface ApiResponse<T> {
|
|
|
135
161
|
data: T;
|
|
136
162
|
error?: string;
|
|
137
163
|
}
|
|
164
|
+
export type SocialProvider = {
|
|
165
|
+
Email: string;
|
|
166
|
+
} | {
|
|
167
|
+
Google: string;
|
|
168
|
+
} | {
|
|
169
|
+
Apple: string;
|
|
170
|
+
} | {
|
|
171
|
+
Twitter: string;
|
|
172
|
+
} | {
|
|
173
|
+
Phone: string;
|
|
174
|
+
} | {
|
|
175
|
+
Phantom: string;
|
|
176
|
+
} | {
|
|
177
|
+
Telegram: number;
|
|
178
|
+
} | {
|
|
179
|
+
Okx: string;
|
|
180
|
+
} | {
|
|
181
|
+
Rabby: string;
|
|
182
|
+
} | {
|
|
183
|
+
MetaMask: string;
|
|
184
|
+
} | {
|
|
185
|
+
Coinbase: string;
|
|
186
|
+
} | {
|
|
187
|
+
WalletConnect: string;
|
|
188
|
+
};
|
|
189
|
+
export interface UnbindRequest {
|
|
190
|
+
social_link: SocialProvider;
|
|
191
|
+
}
|
|
138
192
|
export interface LoginModalProps {
|
|
139
193
|
client: WalletClient;
|
|
140
194
|
isOpen: boolean;
|