rango-sdk-basic 0.1.19 → 0.1.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rango-sdk-basic.cjs.development.js","sources":["../src/types/api/common.ts","../../../node_modules/rango-types/src/api/shared/type-gaurds.ts","../../../node_modules/rango-types/src/api/shared/routing.ts","../../../node_modules/rango-types/src/api/shared/transactions.ts","../src/types/utils/errors.ts","../src/utils/promise.ts","../src/services/executor.ts","../src/utils/errors.ts","../src/services/client.ts"],"sourcesContent":["import { Asset } from 'rango-types/lib/api/basic'\nexport * from 'rango-types/lib/api/basic/common'\n\nexport function assetToString(asset: Asset): string {\n if (!!asset.address)\n return `${asset.blockchain}.${asset.symbol}--${asset.address}`\n else return `${asset.blockchain}.${asset.symbol}`\n}\n",null,null,null,"export const MetamaskErrorCodes = {\n rpc: {\n invalidInput: -32000,\n resourceNotFound: -32001,\n resourceUnavailable: -32002,\n transactionRejected: -32003,\n methodNotSupported: -32004,\n limitExceeded: -32005,\n parse: -32700,\n invalidRequest: -32600,\n methodNotFound: -32601,\n invalidParams: -32602,\n internal: -32603,\n },\n provider: {\n userRejectedRequest: 4001,\n unauthorized: 4100,\n unsupportedMethod: 4200,\n disconnected: 4900,\n chainDisconnected: 4901,\n },\n}\n","export function sleep(ms: number) {\n return new Promise((resolve) => setTimeout(resolve, ms))\n}\n","import { Signer } from 'ethers'\nimport { RangoClient } from './client'\nimport { EvmTransaction } from '../types/api/txs'\nimport {\n StatusResponse,\n SwapResponse,\n TransactionStatus,\n TransactionType,\n} from '../types/api/transactions'\nimport { sleep } from '../utils/promise'\n\nexport function prepareEvmTransaction(\n evmTx: EvmTransaction,\n isApprove: boolean\n) {\n const gasPrice =\n !!evmTx.gasPrice && !evmTx.gasPrice.startsWith('0x')\n ? '0x' + parseInt(evmTx.gasPrice).toString(16)\n : null\n const manipulatedTx = {\n ...evmTx,\n gasPrice,\n }\n let tx = {}\n if (!!manipulatedTx.from) tx = { ...tx, from: manipulatedTx.from }\n if (isApprove) {\n if (!!manipulatedTx.approveTo) tx = { ...tx, to: manipulatedTx.approveTo }\n if (!!manipulatedTx.approveData)\n tx = { ...tx, data: manipulatedTx.approveData }\n } else {\n if (!!manipulatedTx.txTo) tx = { ...tx, to: manipulatedTx.txTo }\n if (!!manipulatedTx.txData) tx = { ...tx, data: manipulatedTx.txData }\n if (!!manipulatedTx.value) tx = { ...tx, value: manipulatedTx.value }\n if (!!manipulatedTx.gasLimit)\n tx = { ...tx, gasLimit: manipulatedTx.gasLimit }\n if (!!manipulatedTx.gasPrice)\n tx = { ...tx, gasPrice: manipulatedTx.gasPrice }\n }\n return tx\n}\n\nasync function checkApprovalSync(\n requestId: string,\n txId: string,\n rangoClient: RangoClient\n): Promise<boolean> {\n while (true) {\n try {\n const approvalResponse = await rangoClient.isApproved(requestId, txId)\n if (approvalResponse?.isApproved) return true\n if (\n !approvalResponse?.isApproved &&\n approvalResponse?.txStatus === TransactionStatus.FAILED\n )\n return false\n } catch (err) {\n console.log('ignorinig error', { err })\n }\n await sleep(3_000)\n }\n}\n\nexport const checkTransactionStatusSync = async (\n requestId: string,\n txId: string,\n rangoClient: RangoClient\n) => {\n let txStatus: StatusResponse | undefined\n while (true) {\n try {\n txStatus = await rangoClient.status({\n requestId,\n txId,\n })\n } catch (err) {\n console.log('ignorinig error', { err })\n }\n if (!!txStatus) {\n if (\n !!txStatus.status &&\n [TransactionStatus.FAILED, TransactionStatus.SUCCESS].includes(\n txStatus.status\n )\n ) {\n return txStatus\n }\n }\n await sleep(3_000)\n }\n}\n\nexport const executeEvmRoute = async (\n client: RangoClient,\n signer: Signer,\n route: SwapResponse\n): Promise<StatusResponse> => {\n const { tx, requestId, error, resultType } = route\n if (resultType != 'OK') throw new Error(resultType)\n if (!!error || !tx)\n throw new Error(error || 'Error creating the transaction.')\n if (tx?.type !== TransactionType.EVM)\n throw new Error('Non Evm transactions are not supported yet.')\n const evmTransaction = tx as EvmTransaction\n if (!evmTransaction) throw new Error('Transaction is null. Please try again!')\n const txChainId = parseInt(evmTransaction.blockChain.chainId || '-1')\n let signerChainId = await signer.getChainId()\n if (signerChainId !== txChainId) {\n throw new Error(\n `Signer chainId ${signerChainId} doesn't match required chainId ${txChainId}.`\n )\n }\n if (!!evmTransaction.approveTo && !!evmTransaction.approveData) {\n const approveTxData = prepareEvmTransaction(evmTransaction, true)\n const approveTx = await signer.sendTransaction(approveTxData)\n approveTx.wait()\n const isApproved = await checkApprovalSync(\n requestId,\n approveTx.hash,\n client\n )\n if (!isApproved) throw new Error('Error in approve transaction.')\n }\n signerChainId = await signer.getChainId()\n if (signerChainId !== txChainId) {\n throw new Error(\n `Signer chainId ${signerChainId} doesn't match required chainId ${txChainId}.`\n )\n }\n const mainTxData = prepareEvmTransaction(evmTransaction, false)\n const mainTx = await signer.sendTransaction(mainTxData)\n mainTx.wait()\n const status = await checkTransactionStatusSync(\n requestId,\n mainTx.hash,\n client\n )\n if (status.status !== TransactionStatus.SUCCESS)\n throw new Error(`Cross-chain swap failed. ${status.error || ''}`)\n return status\n}\n","import { getMessageFromCode } from 'eth-rpc-errors'\nimport { MetamaskErrorCodes } from '../types/utils/errors'\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const prettifyError = (error: any) => {\n if (!error) return error\n if (error.code && (error.code === 'ACTION_REJECTED' || error.code === 4001))\n return new Error('Transaction Rejected')\n if (error && typeof error.code === 'number') {\n if (Object.values(MetamaskErrorCodes.provider).includes(error.code)) {\n return new Error(getMessageFromCode(error.code))\n }\n if (Object.values(MetamaskErrorCodes.rpc).includes(error.code)) {\n if (\n error.code === MetamaskErrorCodes.rpc.internal &&\n error.message?.includes('underpriced')\n )\n return new Error('Transaction underpriced')\n if (\n error.message?.includes('intrinsic gas too low') ||\n error.message?.includes('out of gas')\n )\n return new Error('This Gas limit is low.')\n return new Error(getMessageFromCode(error.code))\n }\n }\n if (error.message) return new Error(error.message)\n return error\n}\n","import uuid from 'uuid-random'\n\nimport {\n MetaResponse,\n QuoteRequest,\n QuoteResponse,\n CheckApprovalResponse,\n StatusRequest,\n StatusResponse,\n SwapRequest,\n SwapResponse,\n ReportTransactionRequest,\n WalletDetailsResponse,\n assetToString,\n BlockchainMeta,\n SwapperMeta,\n RequestOptions,\n MessagingProtocolsResponse,\n} from '../types'\nimport { Signer } from 'ethers'\nimport { executeEvmRoute as executeEvmRoute } from './executor'\nimport { prettifyError } from '../utils/errors'\nimport axios, { AxiosInstance } from 'axios'\n\ntype WalletAddress = { blockchain: string; address: string }\n\nexport class RangoClient {\n private readonly deviceId: string\n private readonly apiKey: string\n private readonly apiUrl: string\n private readonly httpService: AxiosInstance\n\n constructor(apiKey: string, debug = false, apiUrl?: string) {\n this.apiUrl = apiUrl || 'https://api.rango.exchange'\n this.apiKey = apiKey\n try {\n if (typeof window !== 'undefined') {\n const deviceId = localStorage.getItem('deviceId')\n if (deviceId) {\n this.deviceId = deviceId\n } else {\n const generatedId = uuid()\n localStorage.setItem('deviceId', generatedId)\n this.deviceId = generatedId\n }\n } else {\n this.deviceId = uuid()\n }\n } catch (e) {\n this.deviceId = uuid()\n }\n this.httpService = axios.create({\n baseURL: this.apiUrl,\n })\n if (debug) {\n this.httpService.interceptors.request.use((request) => {\n console.log('Starting Request', JSON.stringify(request, null, 2))\n return request\n })\n this.httpService.interceptors.response.use((response) => {\n console.log('Response:', JSON.stringify(response, null, 2))\n return response\n })\n }\n }\n\n public async meta(options?: RequestOptions): Promise<MetaResponse> {\n const axiosResponse = await this.httpService.get<MetaResponse>(\n `/basic/meta?apiKey=${this.apiKey}`,\n { ...options }\n )\n return axiosResponse.data\n }\n\n public async chains(options?: RequestOptions): Promise<BlockchainMeta[]> {\n const axiosResponse = await this.httpService.get<BlockchainMeta[]>(\n `/basic/meta/blockchains?apiKey=${this.apiKey}`,\n { ...options }\n )\n return axiosResponse.data\n }\n\n public async swappers(options?: RequestOptions): Promise<SwapperMeta[]> {\n const axiosResponse = await this.httpService.get<SwapperMeta[]>(\n `/basic/meta/swappers?apiKey=${this.apiKey}`,\n { ...options }\n )\n return axiosResponse.data\n }\n\n public async messagingProtocols(\n options?: RequestOptions\n ): Promise<MessagingProtocolsResponse> {\n const axiosResponse =\n await this.httpService.get<MessagingProtocolsResponse>(\n `/basic/meta/messaging-protocols?apiKey=${this.apiKey}`,\n { ...options }\n )\n return axiosResponse.data\n }\n\n public async quote(\n quoteRequest: QuoteRequest,\n options?: RequestOptions\n ): Promise<QuoteResponse> {\n const body = {\n ...quoteRequest,\n from: assetToString(quoteRequest.from),\n to: assetToString(quoteRequest.to),\n swappers:\n !!quoteRequest.swappers && quoteRequest.swappers.length > 0\n ? quoteRequest.swappers.join(',')\n : undefined,\n swapperGroups:\n !!quoteRequest.swapperGroups && quoteRequest.swapperGroups.length > 0\n ? quoteRequest.swapperGroups.join(',')\n : undefined,\n messagingProtocols:\n !!quoteRequest.messagingProtocols &&\n quoteRequest.messagingProtocols.length > 0\n ? quoteRequest.messagingProtocols.join(',')\n : undefined,\n }\n const axiosResponse = await this.httpService.get<QuoteResponse>(\n `/basic/quote?apiKey=${this.apiKey}`,\n {\n params: body,\n headers: { 'X-Rango-Id': this.deviceId },\n ...options,\n }\n )\n return axiosResponse.data\n }\n\n public async isApproved(\n requestId: string,\n txId: string,\n options?: RequestOptions\n ): Promise<CheckApprovalResponse> {\n const axiosResponse = await this.httpService.get<CheckApprovalResponse>(\n `/basic/is-approved?apiKey=${this.apiKey}`,\n {\n params: { requestId, txId },\n headers: { 'X-Rango-Id': this.deviceId },\n ...options,\n }\n )\n return axiosResponse.data\n }\n\n public async status(\n statusRequest: StatusRequest,\n options?: RequestOptions\n ): Promise<StatusResponse> {\n const axiosResponse = await this.httpService.get<StatusResponse>(\n `/basic/status?apiKey=${this.apiKey}`,\n {\n params: statusRequest,\n headers: { 'X-Rango-Id': this.deviceId },\n ...options,\n }\n )\n return axiosResponse.data\n }\n\n public async swap(\n swapRequest: SwapRequest,\n options?: RequestOptions\n ): Promise<SwapResponse> {\n const body = {\n ...swapRequest,\n from: assetToString(swapRequest.from),\n to: assetToString(swapRequest.to),\n referrerAddress: swapRequest.referrerAddress || null,\n referrerFee: swapRequest.referrerFee || null,\n disableEstimate: swapRequest.disableEstimate || false,\n swappers:\n !!swapRequest.swappers && swapRequest.swappers.length > 0\n ? swapRequest.swappers.join(',')\n : undefined,\n swapperGroups:\n !!swapRequest.swapperGroups && swapRequest.swapperGroups.length > 0\n ? swapRequest.swapperGroups.join(',')\n : undefined,\n messagingProtocols:\n !!swapRequest.messagingProtocols &&\n swapRequest.messagingProtocols.length > 0\n ? swapRequest.messagingProtocols.join(',')\n : undefined,\n }\n const axiosResponse = await this.httpService.get<SwapResponse>(\n `/basic/swap?apiKey=${this.apiKey}`,\n {\n params: body,\n headers: { 'X-Rango-Id': this.deviceId },\n ...options,\n }\n )\n return axiosResponse.data\n }\n\n public async reportFailure(\n requestBody: ReportTransactionRequest,\n options?: RequestOptions\n ): Promise<void> {\n await this.httpService.post(\n `/basic/report-tx?apiKey=${this.apiKey}`,\n requestBody,\n {\n headers: { 'X-Rango-Id': this.deviceId },\n ...options,\n }\n )\n }\n\n public async balance(\n walletAddress: WalletAddress,\n options?: RequestOptions\n ): Promise<WalletDetailsResponse> {\n const axiosResponse = await this.httpService.get<WalletDetailsResponse>(\n `/basic/balance?apiKey=${this.apiKey}`,\n {\n params: walletAddress,\n headers: { 'X-Rango-Id': this.deviceId },\n ...options,\n }\n )\n return axiosResponse.data\n }\n\n public async executeEvmRoute(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n signer: any,\n route: SwapResponse\n ): Promise<StatusResponse> {\n try {\n return await executeEvmRoute(this, signer as Signer, route)\n } catch (error) {\n const prettifiedError = prettifyError(error)\n try {\n const message = prettifiedError?.message || 'Error executing the route'\n this.reportFailure({\n requestId: route.requestId,\n eventType: 'TX_FAIL',\n reason: message,\n })\n } catch (err) {\n console.log({ err })\n }\n throw prettifiedError\n }\n }\n}\n"],"names":["assetToString","asset","address","blockchain","symbol","blockchainMeta","MetamaskErrorCodes","rpc","invalidInput","resourceNotFound","resourceUnavailable","transactionRejected","methodNotSupported","limitExceeded","parse","invalidRequest","methodNotFound","invalidParams","internal","provider","userRejectedRequest","unauthorized","unsupportedMethod","disconnected","chainDisconnected","sleep","ms","Promise","resolve","setTimeout","prepareEvmTransaction","evmTx","isApprove","gasPrice","startsWith","parseInt","toString","manipulatedTx","tx","from","approveTo","to","approveData","data","txTo","txData","value","gasLimit","checkApprovalSync","requestId","txId","rangoClient","isApproved","approvalResponse","txStatus","TransactionStatus","FAILED","console","log","err","checkTransactionStatusSync","status","SUCCESS","includes","executeEvmRoute","client","signer","route","error","resultType","Error","type","TransactionType","EVM","evmTransaction","txChainId","blockChain","chainId","getChainId","signerChainId","approveTxData","sendTransaction","approveTx","wait","hash","mainTxData","mainTx","prettifyError","code","Object","values","getMessageFromCode","message","RangoClient","apiKey","debug","apiUrl","window","deviceId","localStorage","getItem","generatedId","uuid","setItem","e","httpService","axios","create","baseURL","interceptors","request","use","JSON","stringify","response","meta","options","get","axiosResponse","chains","swappers","messagingProtocols","quote","quoteRequest","body","length","join","undefined","swapperGroups","params","headers","statusRequest","swap","swapRequest","referrerAddress","referrerFee","disableEstimate","reportFailure","requestBody","post","balance","walletAddress","prettifiedError","eventType","reason"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rango-sdk-basic.cjs.development.js","sources":["../src/types/api/common.ts","../../../node_modules/rango-types/src/api/shared/type-gaurds.ts","../../../node_modules/rango-types/src/api/shared/routing.ts","../../../node_modules/rango-types/src/api/shared/transactions.ts","../src/types/utils/errors.ts","../src/utils/promise.ts","../src/services/executor.ts","../src/utils/errors.ts","../src/services/client.ts"],"sourcesContent":["import { Asset } from 'rango-types/lib/api/basic'\nexport * from 'rango-types/lib/api/basic/common'\n\nexport function assetToString(asset: Asset): string {\n if (!!asset.address)\n return `${asset.blockchain}.${asset.symbol}--${asset.address}`\n else return `${asset.blockchain}.${asset.symbol}`\n}\n",null,null,null,"export const MetamaskErrorCodes = {\n rpc: {\n invalidInput: -32000,\n resourceNotFound: -32001,\n resourceUnavailable: -32002,\n transactionRejected: -32003,\n methodNotSupported: -32004,\n limitExceeded: -32005,\n parse: -32700,\n invalidRequest: -32600,\n methodNotFound: -32601,\n invalidParams: -32602,\n internal: -32603,\n },\n provider: {\n userRejectedRequest: 4001,\n unauthorized: 4100,\n unsupportedMethod: 4200,\n disconnected: 4900,\n chainDisconnected: 4901,\n },\n}\n","export function sleep(ms: number) {\n return new Promise((resolve) => setTimeout(resolve, ms))\n}\n","import { Signer } from 'ethers'\nimport { RangoClient } from './client'\nimport { EvmTransaction } from '../types/api/txs'\nimport {\n StatusResponse,\n SwapResponse,\n TransactionStatus,\n TransactionType,\n} from '../types/api/transactions'\nimport { sleep } from '../utils/promise'\n\nexport function prepareEvmTransaction(\n evmTx: EvmTransaction,\n isApprove: boolean\n) {\n const gasPrice =\n !!evmTx.gasPrice && !evmTx.gasPrice.startsWith('0x')\n ? '0x' + parseInt(evmTx.gasPrice).toString(16)\n : null\n const manipulatedTx = {\n ...evmTx,\n gasPrice,\n }\n let tx = {}\n if (!!manipulatedTx.from) tx = { ...tx, from: manipulatedTx.from }\n if (isApprove) {\n if (!!manipulatedTx.approveTo) tx = { ...tx, to: manipulatedTx.approveTo }\n if (!!manipulatedTx.approveData)\n tx = { ...tx, data: manipulatedTx.approveData }\n } else {\n if (!!manipulatedTx.txTo) tx = { ...tx, to: manipulatedTx.txTo }\n if (!!manipulatedTx.txData) tx = { ...tx, data: manipulatedTx.txData }\n if (!!manipulatedTx.value) tx = { ...tx, value: manipulatedTx.value }\n if (!!manipulatedTx.gasLimit)\n tx = { ...tx, gasLimit: manipulatedTx.gasLimit }\n if (!!manipulatedTx.gasPrice)\n tx = { ...tx, gasPrice: manipulatedTx.gasPrice }\n }\n return tx\n}\n\nasync function checkApprovalSync(\n requestId: string,\n txId: string,\n rangoClient: RangoClient\n): Promise<boolean> {\n while (true) {\n try {\n const approvalResponse = await rangoClient.isApproved(requestId, txId)\n if (approvalResponse?.isApproved) return true\n if (\n !approvalResponse?.isApproved &&\n approvalResponse?.txStatus === TransactionStatus.FAILED\n )\n return false\n } catch (err) {\n console.log('ignorinig error', { err })\n }\n await sleep(3_000)\n }\n}\n\nexport const checkTransactionStatusSync = async (\n requestId: string,\n txId: string,\n rangoClient: RangoClient\n) => {\n let txStatus: StatusResponse | undefined\n while (true) {\n try {\n txStatus = await rangoClient.status({\n requestId,\n txId,\n })\n } catch (err) {\n console.log('ignorinig error', { err })\n }\n if (!!txStatus) {\n if (\n !!txStatus.status &&\n [TransactionStatus.FAILED, TransactionStatus.SUCCESS].includes(\n txStatus.status\n )\n ) {\n return txStatus\n }\n }\n await sleep(3_000)\n }\n}\n\nexport const executeEvmRoute = async (\n client: RangoClient,\n signer: Signer,\n route: SwapResponse\n): Promise<StatusResponse> => {\n const { tx, requestId, error, resultType } = route\n if (resultType != 'OK') throw new Error(resultType)\n if (!!error || !tx)\n throw new Error(error || 'Error creating the transaction.')\n if (tx?.type !== TransactionType.EVM)\n throw new Error('Non Evm transactions are not supported yet.')\n const evmTransaction = tx as EvmTransaction\n if (!evmTransaction) throw new Error('Transaction is null. Please try again!')\n const txChainId = parseInt(evmTransaction.blockChain.chainId || '-1')\n let signerChainId = await signer.getChainId()\n if (signerChainId !== txChainId) {\n throw new Error(\n `Signer chainId ${signerChainId} doesn't match required chainId ${txChainId}.`\n )\n }\n if (!!evmTransaction.approveTo && !!evmTransaction.approveData) {\n const approveTxData = prepareEvmTransaction(evmTransaction, true)\n const approveTx = await signer.sendTransaction(approveTxData)\n approveTx.wait()\n const isApproved = await checkApprovalSync(\n requestId,\n approveTx.hash,\n client\n )\n if (!isApproved) throw new Error('Error in approve transaction.')\n }\n signerChainId = await signer.getChainId()\n if (signerChainId !== txChainId) {\n throw new Error(\n `Signer chainId ${signerChainId} doesn't match required chainId ${txChainId}.`\n )\n }\n const mainTxData = prepareEvmTransaction(evmTransaction, false)\n const mainTx = await signer.sendTransaction(mainTxData)\n mainTx.wait()\n const status = await checkTransactionStatusSync(\n requestId,\n mainTx.hash,\n client\n )\n if (status.status !== TransactionStatus.SUCCESS)\n throw new Error(`Cross-chain swap failed. ${status.error || ''}`)\n return status\n}\n","import { getMessageFromCode } from 'eth-rpc-errors'\nimport { MetamaskErrorCodes } from '../types/utils/errors'\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const prettifyError = (error: any) => {\n if (!error) return error\n if (error.code && (error.code === 'ACTION_REJECTED' || error.code === 4001))\n return new Error('Transaction Rejected')\n if (error && typeof error.code === 'number') {\n if (Object.values(MetamaskErrorCodes.provider).includes(error.code)) {\n return new Error(getMessageFromCode(error.code))\n }\n if (Object.values(MetamaskErrorCodes.rpc).includes(error.code)) {\n if (\n error.code === MetamaskErrorCodes.rpc.internal &&\n error.message?.includes('underpriced')\n )\n return new Error('Transaction underpriced')\n if (\n error.message?.includes('intrinsic gas too low') ||\n error.message?.includes('out of gas')\n )\n return new Error('This Gas limit is low.')\n return new Error(getMessageFromCode(error.code))\n }\n }\n if (error.message) return new Error(error.message)\n return error\n}\n","import uuid from 'uuid-random'\n\nimport {\n MetaResponse,\n QuoteRequest,\n QuoteResponse,\n CheckApprovalResponse,\n StatusRequest,\n StatusResponse,\n SwapRequest,\n SwapResponse,\n ReportTransactionRequest,\n WalletDetailsResponse,\n assetToString,\n BlockchainMeta,\n SwapperMeta,\n RequestOptions,\n MessagingProtocolsResponse,\n} from '../types'\nimport { Signer } from 'ethers'\nimport { executeEvmRoute as executeEvmRoute } from './executor'\nimport { prettifyError } from '../utils/errors'\nimport axios, { AxiosInstance } from 'axios'\n\ntype WalletAddress = { blockchain: string; address: string }\n\nexport class RangoClient {\n private readonly deviceId: string\n private readonly apiKey: string\n private readonly apiUrl: string\n private readonly httpService: AxiosInstance\n\n constructor(apiKey: string, debug = false, apiUrl?: string) {\n this.apiUrl = apiUrl || 'https://api.rango.exchange'\n this.apiKey = apiKey\n try {\n if (typeof window !== 'undefined') {\n const deviceId = localStorage.getItem('deviceId')\n if (deviceId) {\n this.deviceId = deviceId\n } else {\n const generatedId = uuid()\n localStorage.setItem('deviceId', generatedId)\n this.deviceId = generatedId\n }\n } else {\n this.deviceId = uuid()\n }\n } catch (e) {\n this.deviceId = uuid()\n }\n this.httpService = axios.create({\n baseURL: this.apiUrl,\n })\n if (debug) {\n this.httpService.interceptors.request.use((request) => {\n console.log('Starting Request', JSON.stringify(request, null, 2))\n return request\n })\n this.httpService.interceptors.response.use((response) => {\n console.log('Response:', JSON.stringify(response, null, 2))\n return response\n })\n }\n }\n\n public async meta(options?: RequestOptions): Promise<MetaResponse> {\n const axiosResponse = await this.httpService.get<MetaResponse>(\n `/basic/meta?apiKey=${this.apiKey}`,\n { ...options }\n )\n return axiosResponse.data\n }\n\n public async chains(options?: RequestOptions): Promise<BlockchainMeta[]> {\n const axiosResponse = await this.httpService.get<BlockchainMeta[]>(\n `/basic/meta/blockchains?apiKey=${this.apiKey}`,\n { ...options }\n )\n return axiosResponse.data\n }\n\n public async swappers(options?: RequestOptions): Promise<SwapperMeta[]> {\n const axiosResponse = await this.httpService.get<SwapperMeta[]>(\n `/basic/meta/swappers?apiKey=${this.apiKey}`,\n { ...options }\n )\n return axiosResponse.data\n }\n\n public async messagingProtocols(\n options?: RequestOptions\n ): Promise<MessagingProtocolsResponse> {\n const axiosResponse =\n await this.httpService.get<MessagingProtocolsResponse>(\n `/basic/meta/messaging-protocols?apiKey=${this.apiKey}`,\n { ...options }\n )\n return axiosResponse.data\n }\n\n public async quote(\n quoteRequest: QuoteRequest,\n options?: RequestOptions\n ): Promise<QuoteResponse> {\n const body = {\n ...quoteRequest,\n from: assetToString(quoteRequest.from),\n to: assetToString(quoteRequest.to),\n swappers:\n !!quoteRequest.swappers && quoteRequest.swappers.length > 0\n ? quoteRequest.swappers.join(',')\n : undefined,\n swapperGroups:\n !!quoteRequest.swapperGroups && quoteRequest.swapperGroups.length > 0\n ? quoteRequest.swapperGroups.join(',')\n : undefined,\n messagingProtocols:\n !!quoteRequest.messagingProtocols &&\n quoteRequest.messagingProtocols.length > 0\n ? quoteRequest.messagingProtocols.join(',')\n : undefined,\n }\n const axiosResponse = await this.httpService.get<QuoteResponse>(\n `/basic/quote?apiKey=${this.apiKey}`,\n {\n params: body,\n headers: { 'X-Rango-Id': this.deviceId },\n ...options,\n }\n )\n return axiosResponse.data\n }\n\n public async isApproved(\n requestId: string,\n txId?: string,\n options?: RequestOptions\n ): Promise<CheckApprovalResponse> {\n const axiosResponse = await this.httpService.get<CheckApprovalResponse>(\n `/basic/is-approved?apiKey=${this.apiKey}`,\n {\n params: { requestId, txId },\n headers: { 'X-Rango-Id': this.deviceId },\n ...options,\n }\n )\n return axiosResponse.data\n }\n\n public async status(\n statusRequest: StatusRequest,\n options?: RequestOptions\n ): Promise<StatusResponse> {\n const axiosResponse = await this.httpService.get<StatusResponse>(\n `/basic/status?apiKey=${this.apiKey}`,\n {\n params: statusRequest,\n headers: { 'X-Rango-Id': this.deviceId },\n ...options,\n }\n )\n return axiosResponse.data\n }\n\n public async swap(\n swapRequest: SwapRequest,\n options?: RequestOptions\n ): Promise<SwapResponse> {\n const body = {\n ...swapRequest,\n from: assetToString(swapRequest.from),\n to: assetToString(swapRequest.to),\n referrerAddress: swapRequest.referrerAddress || null,\n referrerFee: swapRequest.referrerFee || null,\n disableEstimate: swapRequest.disableEstimate || false,\n swappers:\n !!swapRequest.swappers && swapRequest.swappers.length > 0\n ? swapRequest.swappers.join(',')\n : undefined,\n swapperGroups:\n !!swapRequest.swapperGroups && swapRequest.swapperGroups.length > 0\n ? swapRequest.swapperGroups.join(',')\n : undefined,\n messagingProtocols:\n !!swapRequest.messagingProtocols &&\n swapRequest.messagingProtocols.length > 0\n ? swapRequest.messagingProtocols.join(',')\n : undefined,\n }\n const axiosResponse = await this.httpService.get<SwapResponse>(\n `/basic/swap?apiKey=${this.apiKey}`,\n {\n params: body,\n headers: { 'X-Rango-Id': this.deviceId },\n ...options,\n }\n )\n return axiosResponse.data\n }\n\n public async reportFailure(\n requestBody: ReportTransactionRequest,\n options?: RequestOptions\n ): Promise<void> {\n await this.httpService.post(\n `/basic/report-tx?apiKey=${this.apiKey}`,\n requestBody,\n {\n headers: { 'X-Rango-Id': this.deviceId },\n ...options,\n }\n )\n }\n\n public async balance(\n walletAddress: WalletAddress,\n options?: RequestOptions\n ): Promise<WalletDetailsResponse> {\n const axiosResponse = await this.httpService.get<WalletDetailsResponse>(\n `/basic/balance?apiKey=${this.apiKey}`,\n {\n params: walletAddress,\n headers: { 'X-Rango-Id': this.deviceId },\n ...options,\n }\n )\n return axiosResponse.data\n }\n\n public async executeEvmRoute(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n signer: any,\n route: SwapResponse\n ): Promise<StatusResponse> {\n try {\n return await executeEvmRoute(this, signer as Signer, route)\n } catch (error) {\n const prettifiedError = prettifyError(error)\n try {\n const message = prettifiedError?.message || 'Error executing the route'\n this.reportFailure({\n requestId: route.requestId,\n eventType: 'TX_FAIL',\n reason: message,\n })\n } catch (err) {\n console.log({ err })\n }\n throw prettifiedError\n }\n }\n}\n"],"names":["assetToString","asset","address","blockchain","symbol","blockchainMeta","MetamaskErrorCodes","rpc","invalidInput","resourceNotFound","resourceUnavailable","transactionRejected","methodNotSupported","limitExceeded","parse","invalidRequest","methodNotFound","invalidParams","internal","provider","userRejectedRequest","unauthorized","unsupportedMethod","disconnected","chainDisconnected","sleep","ms","Promise","resolve","setTimeout","prepareEvmTransaction","evmTx","isApprove","gasPrice","startsWith","parseInt","toString","manipulatedTx","tx","from","approveTo","to","approveData","data","txTo","txData","value","gasLimit","checkApprovalSync","requestId","txId","rangoClient","isApproved","approvalResponse","txStatus","TransactionStatus","FAILED","console","log","err","checkTransactionStatusSync","status","SUCCESS","includes","executeEvmRoute","client","signer","route","error","resultType","Error","type","TransactionType","EVM","evmTransaction","txChainId","blockChain","chainId","getChainId","signerChainId","approveTxData","sendTransaction","approveTx","wait","hash","mainTxData","mainTx","prettifyError","code","Object","values","getMessageFromCode","message","RangoClient","apiKey","debug","apiUrl","window","deviceId","localStorage","getItem","generatedId","uuid","setItem","e","httpService","axios","create","baseURL","interceptors","request","use","JSON","stringify","response","meta","options","get","axiosResponse","chains","swappers","messagingProtocols","quote","quoteRequest","body","length","join","undefined","swapperGroups","params","headers","statusRequest","swap","swapRequest","referrerAddress","referrerFee","disableEstimate","reportFailure","requestBody","post","balance","walletAddress","prettifiedError","eventType","reason"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rango-sdk-basic.cjs.production.min.js","sources":["../src/types/api/common.ts","../../../node_modules/rango-types/src/api/shared/type-gaurds.ts","../src/types/utils/errors.ts","../src/utils/promise.ts","../src/services/executor.ts","../src/utils/errors.ts","../src/services/client.ts"],"sourcesContent":["import { Asset } from 'rango-types/lib/api/basic'\nexport * from 'rango-types/lib/api/basic/common'\n\nexport function assetToString(asset: Asset): string {\n if (!!asset.address)\n return `${asset.blockchain}.${asset.symbol}--${asset.address}`\n else return `${asset.blockchain}.${asset.symbol}`\n}\n",null,"export const MetamaskErrorCodes = {\n rpc: {\n invalidInput: -32000,\n resourceNotFound: -32001,\n resourceUnavailable: -32002,\n transactionRejected: -32003,\n methodNotSupported: -32004,\n limitExceeded: -32005,\n parse: -32700,\n invalidRequest: -32600,\n methodNotFound: -32601,\n invalidParams: -32602,\n internal: -32603,\n },\n provider: {\n userRejectedRequest: 4001,\n unauthorized: 4100,\n unsupportedMethod: 4200,\n disconnected: 4900,\n chainDisconnected: 4901,\n },\n}\n","export function sleep(ms: number) {\n return new Promise((resolve) => setTimeout(resolve, ms))\n}\n","import { Signer } from 'ethers'\nimport { RangoClient } from './client'\nimport { EvmTransaction } from '../types/api/txs'\nimport {\n StatusResponse,\n SwapResponse,\n TransactionStatus,\n TransactionType,\n} from '../types/api/transactions'\nimport { sleep } from '../utils/promise'\n\nexport function prepareEvmTransaction(\n evmTx: EvmTransaction,\n isApprove: boolean\n) {\n const gasPrice =\n !!evmTx.gasPrice && !evmTx.gasPrice.startsWith('0x')\n ? '0x' + parseInt(evmTx.gasPrice).toString(16)\n : null\n const manipulatedTx = {\n ...evmTx,\n gasPrice,\n }\n let tx = {}\n if (!!manipulatedTx.from) tx = { ...tx, from: manipulatedTx.from }\n if (isApprove) {\n if (!!manipulatedTx.approveTo) tx = { ...tx, to: manipulatedTx.approveTo }\n if (!!manipulatedTx.approveData)\n tx = { ...tx, data: manipulatedTx.approveData }\n } else {\n if (!!manipulatedTx.txTo) tx = { ...tx, to: manipulatedTx.txTo }\n if (!!manipulatedTx.txData) tx = { ...tx, data: manipulatedTx.txData }\n if (!!manipulatedTx.value) tx = { ...tx, value: manipulatedTx.value }\n if (!!manipulatedTx.gasLimit)\n tx = { ...tx, gasLimit: manipulatedTx.gasLimit }\n if (!!manipulatedTx.gasPrice)\n tx = { ...tx, gasPrice: manipulatedTx.gasPrice }\n }\n return tx\n}\n\nasync function checkApprovalSync(\n requestId: string,\n txId: string,\n rangoClient: RangoClient\n): Promise<boolean> {\n while (true) {\n try {\n const approvalResponse = await rangoClient.isApproved(requestId, txId)\n if (approvalResponse?.isApproved) return true\n if (\n !approvalResponse?.isApproved &&\n approvalResponse?.txStatus === TransactionStatus.FAILED\n )\n return false\n } catch (err) {\n console.log('ignorinig error', { err })\n }\n await sleep(3_000)\n }\n}\n\nexport const checkTransactionStatusSync = async (\n requestId: string,\n txId: string,\n rangoClient: RangoClient\n) => {\n let txStatus: StatusResponse | undefined\n while (true) {\n try {\n txStatus = await rangoClient.status({\n requestId,\n txId,\n })\n } catch (err) {\n console.log('ignorinig error', { err })\n }\n if (!!txStatus) {\n if (\n !!txStatus.status &&\n [TransactionStatus.FAILED, TransactionStatus.SUCCESS].includes(\n txStatus.status\n )\n ) {\n return txStatus\n }\n }\n await sleep(3_000)\n }\n}\n\nexport const executeEvmRoute = async (\n client: RangoClient,\n signer: Signer,\n route: SwapResponse\n): Promise<StatusResponse> => {\n const { tx, requestId, error, resultType } = route\n if (resultType != 'OK') throw new Error(resultType)\n if (!!error || !tx)\n throw new Error(error || 'Error creating the transaction.')\n if (tx?.type !== TransactionType.EVM)\n throw new Error('Non Evm transactions are not supported yet.')\n const evmTransaction = tx as EvmTransaction\n if (!evmTransaction) throw new Error('Transaction is null. Please try again!')\n const txChainId = parseInt(evmTransaction.blockChain.chainId || '-1')\n let signerChainId = await signer.getChainId()\n if (signerChainId !== txChainId) {\n throw new Error(\n `Signer chainId ${signerChainId} doesn't match required chainId ${txChainId}.`\n )\n }\n if (!!evmTransaction.approveTo && !!evmTransaction.approveData) {\n const approveTxData = prepareEvmTransaction(evmTransaction, true)\n const approveTx = await signer.sendTransaction(approveTxData)\n approveTx.wait()\n const isApproved = await checkApprovalSync(\n requestId,\n approveTx.hash,\n client\n )\n if (!isApproved) throw new Error('Error in approve transaction.')\n }\n signerChainId = await signer.getChainId()\n if (signerChainId !== txChainId) {\n throw new Error(\n `Signer chainId ${signerChainId} doesn't match required chainId ${txChainId}.`\n )\n }\n const mainTxData = prepareEvmTransaction(evmTransaction, false)\n const mainTx = await signer.sendTransaction(mainTxData)\n mainTx.wait()\n const status = await checkTransactionStatusSync(\n requestId,\n mainTx.hash,\n client\n )\n if (status.status !== TransactionStatus.SUCCESS)\n throw new Error(`Cross-chain swap failed. ${status.error || ''}`)\n return status\n}\n","import { getMessageFromCode } from 'eth-rpc-errors'\nimport { MetamaskErrorCodes } from '../types/utils/errors'\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const prettifyError = (error: any) => {\n if (!error) return error\n if (error.code && (error.code === 'ACTION_REJECTED' || error.code === 4001))\n return new Error('Transaction Rejected')\n if (error && typeof error.code === 'number') {\n if (Object.values(MetamaskErrorCodes.provider).includes(error.code)) {\n return new Error(getMessageFromCode(error.code))\n }\n if (Object.values(MetamaskErrorCodes.rpc).includes(error.code)) {\n if (\n error.code === MetamaskErrorCodes.rpc.internal &&\n error.message?.includes('underpriced')\n )\n return new Error('Transaction underpriced')\n if (\n error.message?.includes('intrinsic gas too low') ||\n error.message?.includes('out of gas')\n )\n return new Error('This Gas limit is low.')\n return new Error(getMessageFromCode(error.code))\n }\n }\n if (error.message) return new Error(error.message)\n return error\n}\n","import uuid from 'uuid-random'\n\nimport {\n MetaResponse,\n QuoteRequest,\n QuoteResponse,\n CheckApprovalResponse,\n StatusRequest,\n StatusResponse,\n SwapRequest,\n SwapResponse,\n ReportTransactionRequest,\n WalletDetailsResponse,\n assetToString,\n BlockchainMeta,\n SwapperMeta,\n RequestOptions,\n MessagingProtocolsResponse,\n} from '../types'\nimport { Signer } from 'ethers'\nimport { executeEvmRoute as executeEvmRoute } from './executor'\nimport { prettifyError } from '../utils/errors'\nimport axios, { AxiosInstance } from 'axios'\n\ntype WalletAddress = { blockchain: string; address: string }\n\nexport class RangoClient {\n private readonly deviceId: string\n private readonly apiKey: string\n private readonly apiUrl: string\n private readonly httpService: AxiosInstance\n\n constructor(apiKey: string, debug = false, apiUrl?: string) {\n this.apiUrl = apiUrl || 'https://api.rango.exchange'\n this.apiKey = apiKey\n try {\n if (typeof window !== 'undefined') {\n const deviceId = localStorage.getItem('deviceId')\n if (deviceId) {\n this.deviceId = deviceId\n } else {\n const generatedId = uuid()\n localStorage.setItem('deviceId', generatedId)\n this.deviceId = generatedId\n }\n } else {\n this.deviceId = uuid()\n }\n } catch (e) {\n this.deviceId = uuid()\n }\n this.httpService = axios.create({\n baseURL: this.apiUrl,\n })\n if (debug) {\n this.httpService.interceptors.request.use((request) => {\n console.log('Starting Request', JSON.stringify(request, null, 2))\n return request\n })\n this.httpService.interceptors.response.use((response) => {\n console.log('Response:', JSON.stringify(response, null, 2))\n return response\n })\n }\n }\n\n public async meta(options?: RequestOptions): Promise<MetaResponse> {\n const axiosResponse = await this.httpService.get<MetaResponse>(\n `/basic/meta?apiKey=${this.apiKey}`,\n { ...options }\n )\n return axiosResponse.data\n }\n\n public async chains(options?: RequestOptions): Promise<BlockchainMeta[]> {\n const axiosResponse = await this.httpService.get<BlockchainMeta[]>(\n `/basic/meta/blockchains?apiKey=${this.apiKey}`,\n { ...options }\n )\n return axiosResponse.data\n }\n\n public async swappers(options?: RequestOptions): Promise<SwapperMeta[]> {\n const axiosResponse = await this.httpService.get<SwapperMeta[]>(\n `/basic/meta/swappers?apiKey=${this.apiKey}`,\n { ...options }\n )\n return axiosResponse.data\n }\n\n public async messagingProtocols(\n options?: RequestOptions\n ): Promise<MessagingProtocolsResponse> {\n const axiosResponse =\n await this.httpService.get<MessagingProtocolsResponse>(\n `/basic/meta/messaging-protocols?apiKey=${this.apiKey}`,\n { ...options }\n )\n return axiosResponse.data\n }\n\n public async quote(\n quoteRequest: QuoteRequest,\n options?: RequestOptions\n ): Promise<QuoteResponse> {\n const body = {\n ...quoteRequest,\n from: assetToString(quoteRequest.from),\n to: assetToString(quoteRequest.to),\n swappers:\n !!quoteRequest.swappers && quoteRequest.swappers.length > 0\n ? quoteRequest.swappers.join(',')\n : undefined,\n swapperGroups:\n !!quoteRequest.swapperGroups && quoteRequest.swapperGroups.length > 0\n ? quoteRequest.swapperGroups.join(',')\n : undefined,\n messagingProtocols:\n !!quoteRequest.messagingProtocols &&\n quoteRequest.messagingProtocols.length > 0\n ? quoteRequest.messagingProtocols.join(',')\n : undefined,\n }\n const axiosResponse = await this.httpService.get<QuoteResponse>(\n `/basic/quote?apiKey=${this.apiKey}`,\n {\n params: body,\n headers: { 'X-Rango-Id': this.deviceId },\n ...options,\n }\n )\n return axiosResponse.data\n }\n\n public async isApproved(\n requestId: string,\n txId: string,\n options?: RequestOptions\n ): Promise<CheckApprovalResponse> {\n const axiosResponse = await this.httpService.get<CheckApprovalResponse>(\n `/basic/is-approved?apiKey=${this.apiKey}`,\n {\n params: { requestId, txId },\n headers: { 'X-Rango-Id': this.deviceId },\n ...options,\n }\n )\n return axiosResponse.data\n }\n\n public async status(\n statusRequest: StatusRequest,\n options?: RequestOptions\n ): Promise<StatusResponse> {\n const axiosResponse = await this.httpService.get<StatusResponse>(\n `/basic/status?apiKey=${this.apiKey}`,\n {\n params: statusRequest,\n headers: { 'X-Rango-Id': this.deviceId },\n ...options,\n }\n )\n return axiosResponse.data\n }\n\n public async swap(\n swapRequest: SwapRequest,\n options?: RequestOptions\n ): Promise<SwapResponse> {\n const body = {\n ...swapRequest,\n from: assetToString(swapRequest.from),\n to: assetToString(swapRequest.to),\n referrerAddress: swapRequest.referrerAddress || null,\n referrerFee: swapRequest.referrerFee || null,\n disableEstimate: swapRequest.disableEstimate || false,\n swappers:\n !!swapRequest.swappers && swapRequest.swappers.length > 0\n ? swapRequest.swappers.join(',')\n : undefined,\n swapperGroups:\n !!swapRequest.swapperGroups && swapRequest.swapperGroups.length > 0\n ? swapRequest.swapperGroups.join(',')\n : undefined,\n messagingProtocols:\n !!swapRequest.messagingProtocols &&\n swapRequest.messagingProtocols.length > 0\n ? swapRequest.messagingProtocols.join(',')\n : undefined,\n }\n const axiosResponse = await this.httpService.get<SwapResponse>(\n `/basic/swap?apiKey=${this.apiKey}`,\n {\n params: body,\n headers: { 'X-Rango-Id': this.deviceId },\n ...options,\n }\n )\n return axiosResponse.data\n }\n\n public async reportFailure(\n requestBody: ReportTransactionRequest,\n options?: RequestOptions\n ): Promise<void> {\n await this.httpService.post(\n `/basic/report-tx?apiKey=${this.apiKey}`,\n requestBody,\n {\n headers: { 'X-Rango-Id': this.deviceId },\n ...options,\n }\n )\n }\n\n public async balance(\n walletAddress: WalletAddress,\n options?: RequestOptions\n ): Promise<WalletDetailsResponse> {\n const axiosResponse = await this.httpService.get<WalletDetailsResponse>(\n `/basic/balance?apiKey=${this.apiKey}`,\n {\n params: walletAddress,\n headers: { 'X-Rango-Id': this.deviceId },\n ...options,\n }\n )\n return axiosResponse.data\n }\n\n public async executeEvmRoute(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n signer: any,\n route: SwapResponse\n ): Promise<StatusResponse> {\n try {\n return await executeEvmRoute(this, signer as Signer, route)\n } catch (error) {\n const prettifiedError = prettifyError(error)\n try {\n const message = prettifiedError?.message || 'Error executing the route'\n this.reportFailure({\n requestId: route.requestId,\n eventType: 'TX_FAIL',\n reason: message,\n })\n } catch (err) {\n console.log({ err })\n }\n throw prettifiedError\n }\n }\n}\n"],"names":["assetToString","asset","address","blockchain","symbol","blockchainMeta","MetamaskErrorCodes","rpc","invalidInput","resourceNotFound","resourceUnavailable","transactionRejected","methodNotSupported","limitExceeded","parse","invalidRequest","methodNotFound","invalidParams","internal","provider","userRejectedRequest","unauthorized","unsupportedMethod","disconnected","chainDisconnected","sleep","ms","Promise","resolve","setTimeout","prepareEvmTransaction","evmTx","isApprove","gasPrice","startsWith","parseInt","toString","manipulatedTx","tx","from","approveTo","to","approveData","data","txTo","txData","value","gasLimit","checkApprovalSync","_checkApprovalSync","requestId","txId","rangoClient","_context3","isApproved","approvalResponse","txStatus","TransactionStatus","FAILED","console","log","err","checkTransactionStatusSync","_context","status","SUCCESS","includes","executeEvmRoute","client","signer","route","error","resultType","_context2","Error","type","TransactionType","EVM","evmTransaction","txChainId","blockChain","chainId","getChainId","signerChainId","approveTxData","sendTransaction","approveTx","wait","hash","mainTxData","mainTx","prettifyError","code","Object","values","getMessageFromCode","message","_error$message","_error$message2","_error$message3","RangoClient","apiKey","debug","apiUrl","this","window","deviceId","localStorage","getItem","generatedId","uuid","setItem","e","httpService","axios","create","baseURL","interceptors","request","use","JSON","stringify","response","_proto","meta","options","get","chains","swappers","messagingProtocols","_context4","quote","quoteRequest","body","length","join","undefined","swapperGroups","_context5","params","headers","X-Rango-Id","_context6","statusRequest","_context7","swap","swapRequest","referrerAddress","referrerFee","disableEstimate","_context8","reportFailure","requestBody","_context9","post","balance","walletAddress","_context10","_context11","prettifiedError","eventType","reason"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rango-sdk-basic.cjs.production.min.js","sources":["../src/types/api/common.ts","../../../node_modules/rango-types/src/api/shared/type-gaurds.ts","../src/types/utils/errors.ts","../src/utils/promise.ts","../src/services/executor.ts","../src/utils/errors.ts","../src/services/client.ts"],"sourcesContent":["import { Asset } from 'rango-types/lib/api/basic'\nexport * from 'rango-types/lib/api/basic/common'\n\nexport function assetToString(asset: Asset): string {\n if (!!asset.address)\n return `${asset.blockchain}.${asset.symbol}--${asset.address}`\n else return `${asset.blockchain}.${asset.symbol}`\n}\n",null,"export const MetamaskErrorCodes = {\n rpc: {\n invalidInput: -32000,\n resourceNotFound: -32001,\n resourceUnavailable: -32002,\n transactionRejected: -32003,\n methodNotSupported: -32004,\n limitExceeded: -32005,\n parse: -32700,\n invalidRequest: -32600,\n methodNotFound: -32601,\n invalidParams: -32602,\n internal: -32603,\n },\n provider: {\n userRejectedRequest: 4001,\n unauthorized: 4100,\n unsupportedMethod: 4200,\n disconnected: 4900,\n chainDisconnected: 4901,\n },\n}\n","export function sleep(ms: number) {\n return new Promise((resolve) => setTimeout(resolve, ms))\n}\n","import { Signer } from 'ethers'\nimport { RangoClient } from './client'\nimport { EvmTransaction } from '../types/api/txs'\nimport {\n StatusResponse,\n SwapResponse,\n TransactionStatus,\n TransactionType,\n} from '../types/api/transactions'\nimport { sleep } from '../utils/promise'\n\nexport function prepareEvmTransaction(\n evmTx: EvmTransaction,\n isApprove: boolean\n) {\n const gasPrice =\n !!evmTx.gasPrice && !evmTx.gasPrice.startsWith('0x')\n ? '0x' + parseInt(evmTx.gasPrice).toString(16)\n : null\n const manipulatedTx = {\n ...evmTx,\n gasPrice,\n }\n let tx = {}\n if (!!manipulatedTx.from) tx = { ...tx, from: manipulatedTx.from }\n if (isApprove) {\n if (!!manipulatedTx.approveTo) tx = { ...tx, to: manipulatedTx.approveTo }\n if (!!manipulatedTx.approveData)\n tx = { ...tx, data: manipulatedTx.approveData }\n } else {\n if (!!manipulatedTx.txTo) tx = { ...tx, to: manipulatedTx.txTo }\n if (!!manipulatedTx.txData) tx = { ...tx, data: manipulatedTx.txData }\n if (!!manipulatedTx.value) tx = { ...tx, value: manipulatedTx.value }\n if (!!manipulatedTx.gasLimit)\n tx = { ...tx, gasLimit: manipulatedTx.gasLimit }\n if (!!manipulatedTx.gasPrice)\n tx = { ...tx, gasPrice: manipulatedTx.gasPrice }\n }\n return tx\n}\n\nasync function checkApprovalSync(\n requestId: string,\n txId: string,\n rangoClient: RangoClient\n): Promise<boolean> {\n while (true) {\n try {\n const approvalResponse = await rangoClient.isApproved(requestId, txId)\n if (approvalResponse?.isApproved) return true\n if (\n !approvalResponse?.isApproved &&\n approvalResponse?.txStatus === TransactionStatus.FAILED\n )\n return false\n } catch (err) {\n console.log('ignorinig error', { err })\n }\n await sleep(3_000)\n }\n}\n\nexport const checkTransactionStatusSync = async (\n requestId: string,\n txId: string,\n rangoClient: RangoClient\n) => {\n let txStatus: StatusResponse | undefined\n while (true) {\n try {\n txStatus = await rangoClient.status({\n requestId,\n txId,\n })\n } catch (err) {\n console.log('ignorinig error', { err })\n }\n if (!!txStatus) {\n if (\n !!txStatus.status &&\n [TransactionStatus.FAILED, TransactionStatus.SUCCESS].includes(\n txStatus.status\n )\n ) {\n return txStatus\n }\n }\n await sleep(3_000)\n }\n}\n\nexport const executeEvmRoute = async (\n client: RangoClient,\n signer: Signer,\n route: SwapResponse\n): Promise<StatusResponse> => {\n const { tx, requestId, error, resultType } = route\n if (resultType != 'OK') throw new Error(resultType)\n if (!!error || !tx)\n throw new Error(error || 'Error creating the transaction.')\n if (tx?.type !== TransactionType.EVM)\n throw new Error('Non Evm transactions are not supported yet.')\n const evmTransaction = tx as EvmTransaction\n if (!evmTransaction) throw new Error('Transaction is null. Please try again!')\n const txChainId = parseInt(evmTransaction.blockChain.chainId || '-1')\n let signerChainId = await signer.getChainId()\n if (signerChainId !== txChainId) {\n throw new Error(\n `Signer chainId ${signerChainId} doesn't match required chainId ${txChainId}.`\n )\n }\n if (!!evmTransaction.approveTo && !!evmTransaction.approveData) {\n const approveTxData = prepareEvmTransaction(evmTransaction, true)\n const approveTx = await signer.sendTransaction(approveTxData)\n approveTx.wait()\n const isApproved = await checkApprovalSync(\n requestId,\n approveTx.hash,\n client\n )\n if (!isApproved) throw new Error('Error in approve transaction.')\n }\n signerChainId = await signer.getChainId()\n if (signerChainId !== txChainId) {\n throw new Error(\n `Signer chainId ${signerChainId} doesn't match required chainId ${txChainId}.`\n )\n }\n const mainTxData = prepareEvmTransaction(evmTransaction, false)\n const mainTx = await signer.sendTransaction(mainTxData)\n mainTx.wait()\n const status = await checkTransactionStatusSync(\n requestId,\n mainTx.hash,\n client\n )\n if (status.status !== TransactionStatus.SUCCESS)\n throw new Error(`Cross-chain swap failed. ${status.error || ''}`)\n return status\n}\n","import { getMessageFromCode } from 'eth-rpc-errors'\nimport { MetamaskErrorCodes } from '../types/utils/errors'\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const prettifyError = (error: any) => {\n if (!error) return error\n if (error.code && (error.code === 'ACTION_REJECTED' || error.code === 4001))\n return new Error('Transaction Rejected')\n if (error && typeof error.code === 'number') {\n if (Object.values(MetamaskErrorCodes.provider).includes(error.code)) {\n return new Error(getMessageFromCode(error.code))\n }\n if (Object.values(MetamaskErrorCodes.rpc).includes(error.code)) {\n if (\n error.code === MetamaskErrorCodes.rpc.internal &&\n error.message?.includes('underpriced')\n )\n return new Error('Transaction underpriced')\n if (\n error.message?.includes('intrinsic gas too low') ||\n error.message?.includes('out of gas')\n )\n return new Error('This Gas limit is low.')\n return new Error(getMessageFromCode(error.code))\n }\n }\n if (error.message) return new Error(error.message)\n return error\n}\n","import uuid from 'uuid-random'\n\nimport {\n MetaResponse,\n QuoteRequest,\n QuoteResponse,\n CheckApprovalResponse,\n StatusRequest,\n StatusResponse,\n SwapRequest,\n SwapResponse,\n ReportTransactionRequest,\n WalletDetailsResponse,\n assetToString,\n BlockchainMeta,\n SwapperMeta,\n RequestOptions,\n MessagingProtocolsResponse,\n} from '../types'\nimport { Signer } from 'ethers'\nimport { executeEvmRoute as executeEvmRoute } from './executor'\nimport { prettifyError } from '../utils/errors'\nimport axios, { AxiosInstance } from 'axios'\n\ntype WalletAddress = { blockchain: string; address: string }\n\nexport class RangoClient {\n private readonly deviceId: string\n private readonly apiKey: string\n private readonly apiUrl: string\n private readonly httpService: AxiosInstance\n\n constructor(apiKey: string, debug = false, apiUrl?: string) {\n this.apiUrl = apiUrl || 'https://api.rango.exchange'\n this.apiKey = apiKey\n try {\n if (typeof window !== 'undefined') {\n const deviceId = localStorage.getItem('deviceId')\n if (deviceId) {\n this.deviceId = deviceId\n } else {\n const generatedId = uuid()\n localStorage.setItem('deviceId', generatedId)\n this.deviceId = generatedId\n }\n } else {\n this.deviceId = uuid()\n }\n } catch (e) {\n this.deviceId = uuid()\n }\n this.httpService = axios.create({\n baseURL: this.apiUrl,\n })\n if (debug) {\n this.httpService.interceptors.request.use((request) => {\n console.log('Starting Request', JSON.stringify(request, null, 2))\n return request\n })\n this.httpService.interceptors.response.use((response) => {\n console.log('Response:', JSON.stringify(response, null, 2))\n return response\n })\n }\n }\n\n public async meta(options?: RequestOptions): Promise<MetaResponse> {\n const axiosResponse = await this.httpService.get<MetaResponse>(\n `/basic/meta?apiKey=${this.apiKey}`,\n { ...options }\n )\n return axiosResponse.data\n }\n\n public async chains(options?: RequestOptions): Promise<BlockchainMeta[]> {\n const axiosResponse = await this.httpService.get<BlockchainMeta[]>(\n `/basic/meta/blockchains?apiKey=${this.apiKey}`,\n { ...options }\n )\n return axiosResponse.data\n }\n\n public async swappers(options?: RequestOptions): Promise<SwapperMeta[]> {\n const axiosResponse = await this.httpService.get<SwapperMeta[]>(\n `/basic/meta/swappers?apiKey=${this.apiKey}`,\n { ...options }\n )\n return axiosResponse.data\n }\n\n public async messagingProtocols(\n options?: RequestOptions\n ): Promise<MessagingProtocolsResponse> {\n const axiosResponse =\n await this.httpService.get<MessagingProtocolsResponse>(\n `/basic/meta/messaging-protocols?apiKey=${this.apiKey}`,\n { ...options }\n )\n return axiosResponse.data\n }\n\n public async quote(\n quoteRequest: QuoteRequest,\n options?: RequestOptions\n ): Promise<QuoteResponse> {\n const body = {\n ...quoteRequest,\n from: assetToString(quoteRequest.from),\n to: assetToString(quoteRequest.to),\n swappers:\n !!quoteRequest.swappers && quoteRequest.swappers.length > 0\n ? quoteRequest.swappers.join(',')\n : undefined,\n swapperGroups:\n !!quoteRequest.swapperGroups && quoteRequest.swapperGroups.length > 0\n ? quoteRequest.swapperGroups.join(',')\n : undefined,\n messagingProtocols:\n !!quoteRequest.messagingProtocols &&\n quoteRequest.messagingProtocols.length > 0\n ? quoteRequest.messagingProtocols.join(',')\n : undefined,\n }\n const axiosResponse = await this.httpService.get<QuoteResponse>(\n `/basic/quote?apiKey=${this.apiKey}`,\n {\n params: body,\n headers: { 'X-Rango-Id': this.deviceId },\n ...options,\n }\n )\n return axiosResponse.data\n }\n\n public async isApproved(\n requestId: string,\n txId?: string,\n options?: RequestOptions\n ): Promise<CheckApprovalResponse> {\n const axiosResponse = await this.httpService.get<CheckApprovalResponse>(\n `/basic/is-approved?apiKey=${this.apiKey}`,\n {\n params: { requestId, txId },\n headers: { 'X-Rango-Id': this.deviceId },\n ...options,\n }\n )\n return axiosResponse.data\n }\n\n public async status(\n statusRequest: StatusRequest,\n options?: RequestOptions\n ): Promise<StatusResponse> {\n const axiosResponse = await this.httpService.get<StatusResponse>(\n `/basic/status?apiKey=${this.apiKey}`,\n {\n params: statusRequest,\n headers: { 'X-Rango-Id': this.deviceId },\n ...options,\n }\n )\n return axiosResponse.data\n }\n\n public async swap(\n swapRequest: SwapRequest,\n options?: RequestOptions\n ): Promise<SwapResponse> {\n const body = {\n ...swapRequest,\n from: assetToString(swapRequest.from),\n to: assetToString(swapRequest.to),\n referrerAddress: swapRequest.referrerAddress || null,\n referrerFee: swapRequest.referrerFee || null,\n disableEstimate: swapRequest.disableEstimate || false,\n swappers:\n !!swapRequest.swappers && swapRequest.swappers.length > 0\n ? swapRequest.swappers.join(',')\n : undefined,\n swapperGroups:\n !!swapRequest.swapperGroups && swapRequest.swapperGroups.length > 0\n ? swapRequest.swapperGroups.join(',')\n : undefined,\n messagingProtocols:\n !!swapRequest.messagingProtocols &&\n swapRequest.messagingProtocols.length > 0\n ? swapRequest.messagingProtocols.join(',')\n : undefined,\n }\n const axiosResponse = await this.httpService.get<SwapResponse>(\n `/basic/swap?apiKey=${this.apiKey}`,\n {\n params: body,\n headers: { 'X-Rango-Id': this.deviceId },\n ...options,\n }\n )\n return axiosResponse.data\n }\n\n public async reportFailure(\n requestBody: ReportTransactionRequest,\n options?: RequestOptions\n ): Promise<void> {\n await this.httpService.post(\n `/basic/report-tx?apiKey=${this.apiKey}`,\n requestBody,\n {\n headers: { 'X-Rango-Id': this.deviceId },\n ...options,\n }\n )\n }\n\n public async balance(\n walletAddress: WalletAddress,\n options?: RequestOptions\n ): Promise<WalletDetailsResponse> {\n const axiosResponse = await this.httpService.get<WalletDetailsResponse>(\n `/basic/balance?apiKey=${this.apiKey}`,\n {\n params: walletAddress,\n headers: { 'X-Rango-Id': this.deviceId },\n ...options,\n }\n )\n return axiosResponse.data\n }\n\n public async executeEvmRoute(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n signer: any,\n route: SwapResponse\n ): Promise<StatusResponse> {\n try {\n return await executeEvmRoute(this, signer as Signer, route)\n } catch (error) {\n const prettifiedError = prettifyError(error)\n try {\n const message = prettifiedError?.message || 'Error executing the route'\n this.reportFailure({\n requestId: route.requestId,\n eventType: 'TX_FAIL',\n reason: message,\n })\n } catch (err) {\n console.log({ err })\n }\n throw prettifiedError\n }\n }\n}\n"],"names":["assetToString","asset","address","blockchain","symbol","blockchainMeta","MetamaskErrorCodes","rpc","invalidInput","resourceNotFound","resourceUnavailable","transactionRejected","methodNotSupported","limitExceeded","parse","invalidRequest","methodNotFound","invalidParams","internal","provider","userRejectedRequest","unauthorized","unsupportedMethod","disconnected","chainDisconnected","sleep","ms","Promise","resolve","setTimeout","prepareEvmTransaction","evmTx","isApprove","gasPrice","startsWith","parseInt","toString","manipulatedTx","tx","from","approveTo","to","approveData","data","txTo","txData","value","gasLimit","checkApprovalSync","_checkApprovalSync","requestId","txId","rangoClient","_context3","isApproved","approvalResponse","txStatus","TransactionStatus","FAILED","console","log","err","checkTransactionStatusSync","_context","status","SUCCESS","includes","executeEvmRoute","client","signer","route","error","resultType","_context2","Error","type","TransactionType","EVM","evmTransaction","txChainId","blockChain","chainId","getChainId","signerChainId","approveTxData","sendTransaction","approveTx","wait","hash","mainTxData","mainTx","prettifyError","code","Object","values","getMessageFromCode","message","_error$message","_error$message2","_error$message3","RangoClient","apiKey","debug","apiUrl","this","window","deviceId","localStorage","getItem","generatedId","uuid","setItem","e","httpService","axios","create","baseURL","interceptors","request","use","JSON","stringify","response","_proto","meta","options","get","chains","swappers","messagingProtocols","_context4","quote","quoteRequest","body","length","join","undefined","swapperGroups","_context5","params","headers","X-Rango-Id","_context6","statusRequest","_context7","swap","swapRequest","referrerAddress","referrerFee","disableEstimate","_context8","reportFailure","requestBody","_context9","post","balance","walletAddress","_context10","_context11","prettifiedError","eventType","reason"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rango-sdk-basic.esm.js","sources":["../src/types/api/common.ts","../../../node_modules/rango-types/src/api/shared/type-gaurds.ts","../../../node_modules/rango-types/src/api/shared/routing.ts","../../../node_modules/rango-types/src/api/shared/transactions.ts","../src/types/utils/errors.ts","../src/utils/promise.ts","../src/services/executor.ts","../src/utils/errors.ts","../src/services/client.ts"],"sourcesContent":["import { Asset } from 'rango-types/lib/api/basic'\nexport * from 'rango-types/lib/api/basic/common'\n\nexport function assetToString(asset: Asset): string {\n if (!!asset.address)\n return `${asset.blockchain}.${asset.symbol}--${asset.address}`\n else return `${asset.blockchain}.${asset.symbol}`\n}\n",null,null,null,"export const MetamaskErrorCodes = {\n rpc: {\n invalidInput: -32000,\n resourceNotFound: -32001,\n resourceUnavailable: -32002,\n transactionRejected: -32003,\n methodNotSupported: -32004,\n limitExceeded: -32005,\n parse: -32700,\n invalidRequest: -32600,\n methodNotFound: -32601,\n invalidParams: -32602,\n internal: -32603,\n },\n provider: {\n userRejectedRequest: 4001,\n unauthorized: 4100,\n unsupportedMethod: 4200,\n disconnected: 4900,\n chainDisconnected: 4901,\n },\n}\n","export function sleep(ms: number) {\n return new Promise((resolve) => setTimeout(resolve, ms))\n}\n","import { Signer } from 'ethers'\nimport { RangoClient } from './client'\nimport { EvmTransaction } from '../types/api/txs'\nimport {\n StatusResponse,\n SwapResponse,\n TransactionStatus,\n TransactionType,\n} from '../types/api/transactions'\nimport { sleep } from '../utils/promise'\n\nexport function prepareEvmTransaction(\n evmTx: EvmTransaction,\n isApprove: boolean\n) {\n const gasPrice =\n !!evmTx.gasPrice && !evmTx.gasPrice.startsWith('0x')\n ? '0x' + parseInt(evmTx.gasPrice).toString(16)\n : null\n const manipulatedTx = {\n ...evmTx,\n gasPrice,\n }\n let tx = {}\n if (!!manipulatedTx.from) tx = { ...tx, from: manipulatedTx.from }\n if (isApprove) {\n if (!!manipulatedTx.approveTo) tx = { ...tx, to: manipulatedTx.approveTo }\n if (!!manipulatedTx.approveData)\n tx = { ...tx, data: manipulatedTx.approveData }\n } else {\n if (!!manipulatedTx.txTo) tx = { ...tx, to: manipulatedTx.txTo }\n if (!!manipulatedTx.txData) tx = { ...tx, data: manipulatedTx.txData }\n if (!!manipulatedTx.value) tx = { ...tx, value: manipulatedTx.value }\n if (!!manipulatedTx.gasLimit)\n tx = { ...tx, gasLimit: manipulatedTx.gasLimit }\n if (!!manipulatedTx.gasPrice)\n tx = { ...tx, gasPrice: manipulatedTx.gasPrice }\n }\n return tx\n}\n\nasync function checkApprovalSync(\n requestId: string,\n txId: string,\n rangoClient: RangoClient\n): Promise<boolean> {\n while (true) {\n try {\n const approvalResponse = await rangoClient.isApproved(requestId, txId)\n if (approvalResponse?.isApproved) return true\n if (\n !approvalResponse?.isApproved &&\n approvalResponse?.txStatus === TransactionStatus.FAILED\n )\n return false\n } catch (err) {\n console.log('ignorinig error', { err })\n }\n await sleep(3_000)\n }\n}\n\nexport const checkTransactionStatusSync = async (\n requestId: string,\n txId: string,\n rangoClient: RangoClient\n) => {\n let txStatus: StatusResponse | undefined\n while (true) {\n try {\n txStatus = await rangoClient.status({\n requestId,\n txId,\n })\n } catch (err) {\n console.log('ignorinig error', { err })\n }\n if (!!txStatus) {\n if (\n !!txStatus.status &&\n [TransactionStatus.FAILED, TransactionStatus.SUCCESS].includes(\n txStatus.status\n )\n ) {\n return txStatus\n }\n }\n await sleep(3_000)\n }\n}\n\nexport const executeEvmRoute = async (\n client: RangoClient,\n signer: Signer,\n route: SwapResponse\n): Promise<StatusResponse> => {\n const { tx, requestId, error, resultType } = route\n if (resultType != 'OK') throw new Error(resultType)\n if (!!error || !tx)\n throw new Error(error || 'Error creating the transaction.')\n if (tx?.type !== TransactionType.EVM)\n throw new Error('Non Evm transactions are not supported yet.')\n const evmTransaction = tx as EvmTransaction\n if (!evmTransaction) throw new Error('Transaction is null. Please try again!')\n const txChainId = parseInt(evmTransaction.blockChain.chainId || '-1')\n let signerChainId = await signer.getChainId()\n if (signerChainId !== txChainId) {\n throw new Error(\n `Signer chainId ${signerChainId} doesn't match required chainId ${txChainId}.`\n )\n }\n if (!!evmTransaction.approveTo && !!evmTransaction.approveData) {\n const approveTxData = prepareEvmTransaction(evmTransaction, true)\n const approveTx = await signer.sendTransaction(approveTxData)\n approveTx.wait()\n const isApproved = await checkApprovalSync(\n requestId,\n approveTx.hash,\n client\n )\n if (!isApproved) throw new Error('Error in approve transaction.')\n }\n signerChainId = await signer.getChainId()\n if (signerChainId !== txChainId) {\n throw new Error(\n `Signer chainId ${signerChainId} doesn't match required chainId ${txChainId}.`\n )\n }\n const mainTxData = prepareEvmTransaction(evmTransaction, false)\n const mainTx = await signer.sendTransaction(mainTxData)\n mainTx.wait()\n const status = await checkTransactionStatusSync(\n requestId,\n mainTx.hash,\n client\n )\n if (status.status !== TransactionStatus.SUCCESS)\n throw new Error(`Cross-chain swap failed. ${status.error || ''}`)\n return status\n}\n","import { getMessageFromCode } from 'eth-rpc-errors'\nimport { MetamaskErrorCodes } from '../types/utils/errors'\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const prettifyError = (error: any) => {\n if (!error) return error\n if (error.code && (error.code === 'ACTION_REJECTED' || error.code === 4001))\n return new Error('Transaction Rejected')\n if (error && typeof error.code === 'number') {\n if (Object.values(MetamaskErrorCodes.provider).includes(error.code)) {\n return new Error(getMessageFromCode(error.code))\n }\n if (Object.values(MetamaskErrorCodes.rpc).includes(error.code)) {\n if (\n error.code === MetamaskErrorCodes.rpc.internal &&\n error.message?.includes('underpriced')\n )\n return new Error('Transaction underpriced')\n if (\n error.message?.includes('intrinsic gas too low') ||\n error.message?.includes('out of gas')\n )\n return new Error('This Gas limit is low.')\n return new Error(getMessageFromCode(error.code))\n }\n }\n if (error.message) return new Error(error.message)\n return error\n}\n","import uuid from 'uuid-random'\n\nimport {\n MetaResponse,\n QuoteRequest,\n QuoteResponse,\n CheckApprovalResponse,\n StatusRequest,\n StatusResponse,\n SwapRequest,\n SwapResponse,\n ReportTransactionRequest,\n WalletDetailsResponse,\n assetToString,\n BlockchainMeta,\n SwapperMeta,\n RequestOptions,\n MessagingProtocolsResponse,\n} from '../types'\nimport { Signer } from 'ethers'\nimport { executeEvmRoute as executeEvmRoute } from './executor'\nimport { prettifyError } from '../utils/errors'\nimport axios, { AxiosInstance } from 'axios'\n\ntype WalletAddress = { blockchain: string; address: string }\n\nexport class RangoClient {\n private readonly deviceId: string\n private readonly apiKey: string\n private readonly apiUrl: string\n private readonly httpService: AxiosInstance\n\n constructor(apiKey: string, debug = false, apiUrl?: string) {\n this.apiUrl = apiUrl || 'https://api.rango.exchange'\n this.apiKey = apiKey\n try {\n if (typeof window !== 'undefined') {\n const deviceId = localStorage.getItem('deviceId')\n if (deviceId) {\n this.deviceId = deviceId\n } else {\n const generatedId = uuid()\n localStorage.setItem('deviceId', generatedId)\n this.deviceId = generatedId\n }\n } else {\n this.deviceId = uuid()\n }\n } catch (e) {\n this.deviceId = uuid()\n }\n this.httpService = axios.create({\n baseURL: this.apiUrl,\n })\n if (debug) {\n this.httpService.interceptors.request.use((request) => {\n console.log('Starting Request', JSON.stringify(request, null, 2))\n return request\n })\n this.httpService.interceptors.response.use((response) => {\n console.log('Response:', JSON.stringify(response, null, 2))\n return response\n })\n }\n }\n\n public async meta(options?: RequestOptions): Promise<MetaResponse> {\n const axiosResponse = await this.httpService.get<MetaResponse>(\n `/basic/meta?apiKey=${this.apiKey}`,\n { ...options }\n )\n return axiosResponse.data\n }\n\n public async chains(options?: RequestOptions): Promise<BlockchainMeta[]> {\n const axiosResponse = await this.httpService.get<BlockchainMeta[]>(\n `/basic/meta/blockchains?apiKey=${this.apiKey}`,\n { ...options }\n )\n return axiosResponse.data\n }\n\n public async swappers(options?: RequestOptions): Promise<SwapperMeta[]> {\n const axiosResponse = await this.httpService.get<SwapperMeta[]>(\n `/basic/meta/swappers?apiKey=${this.apiKey}`,\n { ...options }\n )\n return axiosResponse.data\n }\n\n public async messagingProtocols(\n options?: RequestOptions\n ): Promise<MessagingProtocolsResponse> {\n const axiosResponse =\n await this.httpService.get<MessagingProtocolsResponse>(\n `/basic/meta/messaging-protocols?apiKey=${this.apiKey}`,\n { ...options }\n )\n return axiosResponse.data\n }\n\n public async quote(\n quoteRequest: QuoteRequest,\n options?: RequestOptions\n ): Promise<QuoteResponse> {\n const body = {\n ...quoteRequest,\n from: assetToString(quoteRequest.from),\n to: assetToString(quoteRequest.to),\n swappers:\n !!quoteRequest.swappers && quoteRequest.swappers.length > 0\n ? quoteRequest.swappers.join(',')\n : undefined,\n swapperGroups:\n !!quoteRequest.swapperGroups && quoteRequest.swapperGroups.length > 0\n ? quoteRequest.swapperGroups.join(',')\n : undefined,\n messagingProtocols:\n !!quoteRequest.messagingProtocols &&\n quoteRequest.messagingProtocols.length > 0\n ? quoteRequest.messagingProtocols.join(',')\n : undefined,\n }\n const axiosResponse = await this.httpService.get<QuoteResponse>(\n `/basic/quote?apiKey=${this.apiKey}`,\n {\n params: body,\n headers: { 'X-Rango-Id': this.deviceId },\n ...options,\n }\n )\n return axiosResponse.data\n }\n\n public async isApproved(\n requestId: string,\n txId: string,\n options?: RequestOptions\n ): Promise<CheckApprovalResponse> {\n const axiosResponse = await this.httpService.get<CheckApprovalResponse>(\n `/basic/is-approved?apiKey=${this.apiKey}`,\n {\n params: { requestId, txId },\n headers: { 'X-Rango-Id': this.deviceId },\n ...options,\n }\n )\n return axiosResponse.data\n }\n\n public async status(\n statusRequest: StatusRequest,\n options?: RequestOptions\n ): Promise<StatusResponse> {\n const axiosResponse = await this.httpService.get<StatusResponse>(\n `/basic/status?apiKey=${this.apiKey}`,\n {\n params: statusRequest,\n headers: { 'X-Rango-Id': this.deviceId },\n ...options,\n }\n )\n return axiosResponse.data\n }\n\n public async swap(\n swapRequest: SwapRequest,\n options?: RequestOptions\n ): Promise<SwapResponse> {\n const body = {\n ...swapRequest,\n from: assetToString(swapRequest.from),\n to: assetToString(swapRequest.to),\n referrerAddress: swapRequest.referrerAddress || null,\n referrerFee: swapRequest.referrerFee || null,\n disableEstimate: swapRequest.disableEstimate || false,\n swappers:\n !!swapRequest.swappers && swapRequest.swappers.length > 0\n ? swapRequest.swappers.join(',')\n : undefined,\n swapperGroups:\n !!swapRequest.swapperGroups && swapRequest.swapperGroups.length > 0\n ? swapRequest.swapperGroups.join(',')\n : undefined,\n messagingProtocols:\n !!swapRequest.messagingProtocols &&\n swapRequest.messagingProtocols.length > 0\n ? swapRequest.messagingProtocols.join(',')\n : undefined,\n }\n const axiosResponse = await this.httpService.get<SwapResponse>(\n `/basic/swap?apiKey=${this.apiKey}`,\n {\n params: body,\n headers: { 'X-Rango-Id': this.deviceId },\n ...options,\n }\n )\n return axiosResponse.data\n }\n\n public async reportFailure(\n requestBody: ReportTransactionRequest,\n options?: RequestOptions\n ): Promise<void> {\n await this.httpService.post(\n `/basic/report-tx?apiKey=${this.apiKey}`,\n requestBody,\n {\n headers: { 'X-Rango-Id': this.deviceId },\n ...options,\n }\n )\n }\n\n public async balance(\n walletAddress: WalletAddress,\n options?: RequestOptions\n ): Promise<WalletDetailsResponse> {\n const axiosResponse = await this.httpService.get<WalletDetailsResponse>(\n `/basic/balance?apiKey=${this.apiKey}`,\n {\n params: walletAddress,\n headers: { 'X-Rango-Id': this.deviceId },\n ...options,\n }\n )\n return axiosResponse.data\n }\n\n public async executeEvmRoute(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n signer: any,\n route: SwapResponse\n ): Promise<StatusResponse> {\n try {\n return await executeEvmRoute(this, signer as Signer, route)\n } catch (error) {\n const prettifiedError = prettifyError(error)\n try {\n const message = prettifiedError?.message || 'Error executing the route'\n this.reportFailure({\n requestId: route.requestId,\n eventType: 'TX_FAIL',\n reason: message,\n })\n } catch (err) {\n console.log({ err })\n }\n throw prettifiedError\n }\n }\n}\n"],"names":["assetToString","asset","address","blockchain","symbol","blockchainMeta","MetamaskErrorCodes","rpc","invalidInput","resourceNotFound","resourceUnavailable","transactionRejected","methodNotSupported","limitExceeded","parse","invalidRequest","methodNotFound","invalidParams","internal","provider","userRejectedRequest","unauthorized","unsupportedMethod","disconnected","chainDisconnected","sleep","ms","Promise","resolve","setTimeout","prepareEvmTransaction","evmTx","isApprove","gasPrice","startsWith","parseInt","toString","manipulatedTx","tx","from","approveTo","to","approveData","data","txTo","txData","value","gasLimit","checkApprovalSync","requestId","txId","rangoClient","isApproved","approvalResponse","txStatus","TransactionStatus","FAILED","console","log","err","checkTransactionStatusSync","status","SUCCESS","includes","executeEvmRoute","client","signer","route","error","resultType","Error","type","TransactionType","EVM","evmTransaction","txChainId","blockChain","chainId","getChainId","signerChainId","approveTxData","sendTransaction","approveTx","wait","hash","mainTxData","mainTx","prettifyError","code","Object","values","getMessageFromCode","message","RangoClient","apiKey","debug","apiUrl","window","deviceId","localStorage","getItem","generatedId","uuid","setItem","e","httpService","axios","create","baseURL","interceptors","request","use","JSON","stringify","response","meta","options","get","axiosResponse","chains","swappers","messagingProtocols","quote","quoteRequest","body","length","join","undefined","swapperGroups","params","headers","statusRequest","swap","swapRequest","referrerAddress","referrerFee","disableEstimate","reportFailure","requestBody","post","balance","walletAddress","prettifiedError","eventType","reason"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rango-sdk-basic.esm.js","sources":["../src/types/api/common.ts","../../../node_modules/rango-types/src/api/shared/type-gaurds.ts","../../../node_modules/rango-types/src/api/shared/routing.ts","../../../node_modules/rango-types/src/api/shared/transactions.ts","../src/types/utils/errors.ts","../src/utils/promise.ts","../src/services/executor.ts","../src/utils/errors.ts","../src/services/client.ts"],"sourcesContent":["import { Asset } from 'rango-types/lib/api/basic'\nexport * from 'rango-types/lib/api/basic/common'\n\nexport function assetToString(asset: Asset): string {\n if (!!asset.address)\n return `${asset.blockchain}.${asset.symbol}--${asset.address}`\n else return `${asset.blockchain}.${asset.symbol}`\n}\n",null,null,null,"export const MetamaskErrorCodes = {\n rpc: {\n invalidInput: -32000,\n resourceNotFound: -32001,\n resourceUnavailable: -32002,\n transactionRejected: -32003,\n methodNotSupported: -32004,\n limitExceeded: -32005,\n parse: -32700,\n invalidRequest: -32600,\n methodNotFound: -32601,\n invalidParams: -32602,\n internal: -32603,\n },\n provider: {\n userRejectedRequest: 4001,\n unauthorized: 4100,\n unsupportedMethod: 4200,\n disconnected: 4900,\n chainDisconnected: 4901,\n },\n}\n","export function sleep(ms: number) {\n return new Promise((resolve) => setTimeout(resolve, ms))\n}\n","import { Signer } from 'ethers'\nimport { RangoClient } from './client'\nimport { EvmTransaction } from '../types/api/txs'\nimport {\n StatusResponse,\n SwapResponse,\n TransactionStatus,\n TransactionType,\n} from '../types/api/transactions'\nimport { sleep } from '../utils/promise'\n\nexport function prepareEvmTransaction(\n evmTx: EvmTransaction,\n isApprove: boolean\n) {\n const gasPrice =\n !!evmTx.gasPrice && !evmTx.gasPrice.startsWith('0x')\n ? '0x' + parseInt(evmTx.gasPrice).toString(16)\n : null\n const manipulatedTx = {\n ...evmTx,\n gasPrice,\n }\n let tx = {}\n if (!!manipulatedTx.from) tx = { ...tx, from: manipulatedTx.from }\n if (isApprove) {\n if (!!manipulatedTx.approveTo) tx = { ...tx, to: manipulatedTx.approveTo }\n if (!!manipulatedTx.approveData)\n tx = { ...tx, data: manipulatedTx.approveData }\n } else {\n if (!!manipulatedTx.txTo) tx = { ...tx, to: manipulatedTx.txTo }\n if (!!manipulatedTx.txData) tx = { ...tx, data: manipulatedTx.txData }\n if (!!manipulatedTx.value) tx = { ...tx, value: manipulatedTx.value }\n if (!!manipulatedTx.gasLimit)\n tx = { ...tx, gasLimit: manipulatedTx.gasLimit }\n if (!!manipulatedTx.gasPrice)\n tx = { ...tx, gasPrice: manipulatedTx.gasPrice }\n }\n return tx\n}\n\nasync function checkApprovalSync(\n requestId: string,\n txId: string,\n rangoClient: RangoClient\n): Promise<boolean> {\n while (true) {\n try {\n const approvalResponse = await rangoClient.isApproved(requestId, txId)\n if (approvalResponse?.isApproved) return true\n if (\n !approvalResponse?.isApproved &&\n approvalResponse?.txStatus === TransactionStatus.FAILED\n )\n return false\n } catch (err) {\n console.log('ignorinig error', { err })\n }\n await sleep(3_000)\n }\n}\n\nexport const checkTransactionStatusSync = async (\n requestId: string,\n txId: string,\n rangoClient: RangoClient\n) => {\n let txStatus: StatusResponse | undefined\n while (true) {\n try {\n txStatus = await rangoClient.status({\n requestId,\n txId,\n })\n } catch (err) {\n console.log('ignorinig error', { err })\n }\n if (!!txStatus) {\n if (\n !!txStatus.status &&\n [TransactionStatus.FAILED, TransactionStatus.SUCCESS].includes(\n txStatus.status\n )\n ) {\n return txStatus\n }\n }\n await sleep(3_000)\n }\n}\n\nexport const executeEvmRoute = async (\n client: RangoClient,\n signer: Signer,\n route: SwapResponse\n): Promise<StatusResponse> => {\n const { tx, requestId, error, resultType } = route\n if (resultType != 'OK') throw new Error(resultType)\n if (!!error || !tx)\n throw new Error(error || 'Error creating the transaction.')\n if (tx?.type !== TransactionType.EVM)\n throw new Error('Non Evm transactions are not supported yet.')\n const evmTransaction = tx as EvmTransaction\n if (!evmTransaction) throw new Error('Transaction is null. Please try again!')\n const txChainId = parseInt(evmTransaction.blockChain.chainId || '-1')\n let signerChainId = await signer.getChainId()\n if (signerChainId !== txChainId) {\n throw new Error(\n `Signer chainId ${signerChainId} doesn't match required chainId ${txChainId}.`\n )\n }\n if (!!evmTransaction.approveTo && !!evmTransaction.approveData) {\n const approveTxData = prepareEvmTransaction(evmTransaction, true)\n const approveTx = await signer.sendTransaction(approveTxData)\n approveTx.wait()\n const isApproved = await checkApprovalSync(\n requestId,\n approveTx.hash,\n client\n )\n if (!isApproved) throw new Error('Error in approve transaction.')\n }\n signerChainId = await signer.getChainId()\n if (signerChainId !== txChainId) {\n throw new Error(\n `Signer chainId ${signerChainId} doesn't match required chainId ${txChainId}.`\n )\n }\n const mainTxData = prepareEvmTransaction(evmTransaction, false)\n const mainTx = await signer.sendTransaction(mainTxData)\n mainTx.wait()\n const status = await checkTransactionStatusSync(\n requestId,\n mainTx.hash,\n client\n )\n if (status.status !== TransactionStatus.SUCCESS)\n throw new Error(`Cross-chain swap failed. ${status.error || ''}`)\n return status\n}\n","import { getMessageFromCode } from 'eth-rpc-errors'\nimport { MetamaskErrorCodes } from '../types/utils/errors'\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const prettifyError = (error: any) => {\n if (!error) return error\n if (error.code && (error.code === 'ACTION_REJECTED' || error.code === 4001))\n return new Error('Transaction Rejected')\n if (error && typeof error.code === 'number') {\n if (Object.values(MetamaskErrorCodes.provider).includes(error.code)) {\n return new Error(getMessageFromCode(error.code))\n }\n if (Object.values(MetamaskErrorCodes.rpc).includes(error.code)) {\n if (\n error.code === MetamaskErrorCodes.rpc.internal &&\n error.message?.includes('underpriced')\n )\n return new Error('Transaction underpriced')\n if (\n error.message?.includes('intrinsic gas too low') ||\n error.message?.includes('out of gas')\n )\n return new Error('This Gas limit is low.')\n return new Error(getMessageFromCode(error.code))\n }\n }\n if (error.message) return new Error(error.message)\n return error\n}\n","import uuid from 'uuid-random'\n\nimport {\n MetaResponse,\n QuoteRequest,\n QuoteResponse,\n CheckApprovalResponse,\n StatusRequest,\n StatusResponse,\n SwapRequest,\n SwapResponse,\n ReportTransactionRequest,\n WalletDetailsResponse,\n assetToString,\n BlockchainMeta,\n SwapperMeta,\n RequestOptions,\n MessagingProtocolsResponse,\n} from '../types'\nimport { Signer } from 'ethers'\nimport { executeEvmRoute as executeEvmRoute } from './executor'\nimport { prettifyError } from '../utils/errors'\nimport axios, { AxiosInstance } from 'axios'\n\ntype WalletAddress = { blockchain: string; address: string }\n\nexport class RangoClient {\n private readonly deviceId: string\n private readonly apiKey: string\n private readonly apiUrl: string\n private readonly httpService: AxiosInstance\n\n constructor(apiKey: string, debug = false, apiUrl?: string) {\n this.apiUrl = apiUrl || 'https://api.rango.exchange'\n this.apiKey = apiKey\n try {\n if (typeof window !== 'undefined') {\n const deviceId = localStorage.getItem('deviceId')\n if (deviceId) {\n this.deviceId = deviceId\n } else {\n const generatedId = uuid()\n localStorage.setItem('deviceId', generatedId)\n this.deviceId = generatedId\n }\n } else {\n this.deviceId = uuid()\n }\n } catch (e) {\n this.deviceId = uuid()\n }\n this.httpService = axios.create({\n baseURL: this.apiUrl,\n })\n if (debug) {\n this.httpService.interceptors.request.use((request) => {\n console.log('Starting Request', JSON.stringify(request, null, 2))\n return request\n })\n this.httpService.interceptors.response.use((response) => {\n console.log('Response:', JSON.stringify(response, null, 2))\n return response\n })\n }\n }\n\n public async meta(options?: RequestOptions): Promise<MetaResponse> {\n const axiosResponse = await this.httpService.get<MetaResponse>(\n `/basic/meta?apiKey=${this.apiKey}`,\n { ...options }\n )\n return axiosResponse.data\n }\n\n public async chains(options?: RequestOptions): Promise<BlockchainMeta[]> {\n const axiosResponse = await this.httpService.get<BlockchainMeta[]>(\n `/basic/meta/blockchains?apiKey=${this.apiKey}`,\n { ...options }\n )\n return axiosResponse.data\n }\n\n public async swappers(options?: RequestOptions): Promise<SwapperMeta[]> {\n const axiosResponse = await this.httpService.get<SwapperMeta[]>(\n `/basic/meta/swappers?apiKey=${this.apiKey}`,\n { ...options }\n )\n return axiosResponse.data\n }\n\n public async messagingProtocols(\n options?: RequestOptions\n ): Promise<MessagingProtocolsResponse> {\n const axiosResponse =\n await this.httpService.get<MessagingProtocolsResponse>(\n `/basic/meta/messaging-protocols?apiKey=${this.apiKey}`,\n { ...options }\n )\n return axiosResponse.data\n }\n\n public async quote(\n quoteRequest: QuoteRequest,\n options?: RequestOptions\n ): Promise<QuoteResponse> {\n const body = {\n ...quoteRequest,\n from: assetToString(quoteRequest.from),\n to: assetToString(quoteRequest.to),\n swappers:\n !!quoteRequest.swappers && quoteRequest.swappers.length > 0\n ? quoteRequest.swappers.join(',')\n : undefined,\n swapperGroups:\n !!quoteRequest.swapperGroups && quoteRequest.swapperGroups.length > 0\n ? quoteRequest.swapperGroups.join(',')\n : undefined,\n messagingProtocols:\n !!quoteRequest.messagingProtocols &&\n quoteRequest.messagingProtocols.length > 0\n ? quoteRequest.messagingProtocols.join(',')\n : undefined,\n }\n const axiosResponse = await this.httpService.get<QuoteResponse>(\n `/basic/quote?apiKey=${this.apiKey}`,\n {\n params: body,\n headers: { 'X-Rango-Id': this.deviceId },\n ...options,\n }\n )\n return axiosResponse.data\n }\n\n public async isApproved(\n requestId: string,\n txId?: string,\n options?: RequestOptions\n ): Promise<CheckApprovalResponse> {\n const axiosResponse = await this.httpService.get<CheckApprovalResponse>(\n `/basic/is-approved?apiKey=${this.apiKey}`,\n {\n params: { requestId, txId },\n headers: { 'X-Rango-Id': this.deviceId },\n ...options,\n }\n )\n return axiosResponse.data\n }\n\n public async status(\n statusRequest: StatusRequest,\n options?: RequestOptions\n ): Promise<StatusResponse> {\n const axiosResponse = await this.httpService.get<StatusResponse>(\n `/basic/status?apiKey=${this.apiKey}`,\n {\n params: statusRequest,\n headers: { 'X-Rango-Id': this.deviceId },\n ...options,\n }\n )\n return axiosResponse.data\n }\n\n public async swap(\n swapRequest: SwapRequest,\n options?: RequestOptions\n ): Promise<SwapResponse> {\n const body = {\n ...swapRequest,\n from: assetToString(swapRequest.from),\n to: assetToString(swapRequest.to),\n referrerAddress: swapRequest.referrerAddress || null,\n referrerFee: swapRequest.referrerFee || null,\n disableEstimate: swapRequest.disableEstimate || false,\n swappers:\n !!swapRequest.swappers && swapRequest.swappers.length > 0\n ? swapRequest.swappers.join(',')\n : undefined,\n swapperGroups:\n !!swapRequest.swapperGroups && swapRequest.swapperGroups.length > 0\n ? swapRequest.swapperGroups.join(',')\n : undefined,\n messagingProtocols:\n !!swapRequest.messagingProtocols &&\n swapRequest.messagingProtocols.length > 0\n ? swapRequest.messagingProtocols.join(',')\n : undefined,\n }\n const axiosResponse = await this.httpService.get<SwapResponse>(\n `/basic/swap?apiKey=${this.apiKey}`,\n {\n params: body,\n headers: { 'X-Rango-Id': this.deviceId },\n ...options,\n }\n )\n return axiosResponse.data\n }\n\n public async reportFailure(\n requestBody: ReportTransactionRequest,\n options?: RequestOptions\n ): Promise<void> {\n await this.httpService.post(\n `/basic/report-tx?apiKey=${this.apiKey}`,\n requestBody,\n {\n headers: { 'X-Rango-Id': this.deviceId },\n ...options,\n }\n )\n }\n\n public async balance(\n walletAddress: WalletAddress,\n options?: RequestOptions\n ): Promise<WalletDetailsResponse> {\n const axiosResponse = await this.httpService.get<WalletDetailsResponse>(\n `/basic/balance?apiKey=${this.apiKey}`,\n {\n params: walletAddress,\n headers: { 'X-Rango-Id': this.deviceId },\n ...options,\n }\n )\n return axiosResponse.data\n }\n\n public async executeEvmRoute(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n signer: any,\n route: SwapResponse\n ): Promise<StatusResponse> {\n try {\n return await executeEvmRoute(this, signer as Signer, route)\n } catch (error) {\n const prettifiedError = prettifyError(error)\n try {\n const message = prettifiedError?.message || 'Error executing the route'\n this.reportFailure({\n requestId: route.requestId,\n eventType: 'TX_FAIL',\n reason: message,\n })\n } catch (err) {\n console.log({ err })\n }\n throw prettifiedError\n }\n }\n}\n"],"names":["assetToString","asset","address","blockchain","symbol","blockchainMeta","MetamaskErrorCodes","rpc","invalidInput","resourceNotFound","resourceUnavailable","transactionRejected","methodNotSupported","limitExceeded","parse","invalidRequest","methodNotFound","invalidParams","internal","provider","userRejectedRequest","unauthorized","unsupportedMethod","disconnected","chainDisconnected","sleep","ms","Promise","resolve","setTimeout","prepareEvmTransaction","evmTx","isApprove","gasPrice","startsWith","parseInt","toString","manipulatedTx","tx","from","approveTo","to","approveData","data","txTo","txData","value","gasLimit","checkApprovalSync","requestId","txId","rangoClient","isApproved","approvalResponse","txStatus","TransactionStatus","FAILED","console","log","err","checkTransactionStatusSync","status","SUCCESS","includes","executeEvmRoute","client","signer","route","error","resultType","Error","type","TransactionType","EVM","evmTransaction","txChainId","blockChain","chainId","getChainId","signerChainId","approveTxData","sendTransaction","approveTx","wait","hash","mainTxData","mainTx","prettifyError","code","Object","values","getMessageFromCode","message","RangoClient","apiKey","debug","apiUrl","window","deviceId","localStorage","getItem","generatedId","uuid","setItem","e","httpService","axios","create","baseURL","interceptors","request","use","JSON","stringify","response","meta","options","get","axiosResponse","chains","swappers","messagingProtocols","quote","quoteRequest","body","length","join","undefined","swapperGroups","params","headers","statusRequest","swap","swapRequest","referrerAddress","referrerFee","disableEstimate","reportFailure","requestBody","post","balance","walletAddress","prettifiedError","eventType","reason"],"mappings":"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"}
|
package/lib/services/client.d.ts
CHANGED
|
@@ -14,7 +14,7 @@ export declare class RangoClient {
|
|
|
14
14
|
swappers(options?: RequestOptions): Promise<SwapperMeta[]>;
|
|
15
15
|
messagingProtocols(options?: RequestOptions): Promise<MessagingProtocolsResponse>;
|
|
16
16
|
quote(quoteRequest: QuoteRequest, options?: RequestOptions): Promise<QuoteResponse>;
|
|
17
|
-
isApproved(requestId: string, txId
|
|
17
|
+
isApproved(requestId: string, txId?: string, options?: RequestOptions): Promise<CheckApprovalResponse>;
|
|
18
18
|
status(statusRequest: StatusRequest, options?: RequestOptions): Promise<StatusResponse>;
|
|
19
19
|
swap(swapRequest: SwapRequest, options?: RequestOptions): Promise<SwapResponse>;
|
|
20
20
|
reportFailure(requestBody: ReportTransactionRequest, options?: RequestOptions): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/services/client.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,qBAAqB,EACrB,aAAa,EACb,cAAc,EACd,WAAW,EACX,YAAY,EACZ,wBAAwB,EACxB,qBAAqB,EAErB,cAAc,EACd,WAAW,EACX,cAAc,EACd,0BAA0B,EAC3B,MAAM,UAAU,CAAA;AAMjB,aAAK,aAAa,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAA;AAE5D,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAe;gBAE/B,MAAM,EAAE,MAAM,EAAE,KAAK,UAAQ,EAAE,MAAM,CAAC,EAAE,MAAM;IAkC7C,IAAI,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC;IAQrD,MAAM,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAQ3D,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAQ1D,kBAAkB,CAC7B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,0BAA0B,CAAC;IASzB,KAAK,CAChB,YAAY,EAAE,YAAY,EAC1B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,aAAa,CAAC;IA8BZ,UAAU,CACrB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/services/client.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,qBAAqB,EACrB,aAAa,EACb,cAAc,EACd,WAAW,EACX,YAAY,EACZ,wBAAwB,EACxB,qBAAqB,EAErB,cAAc,EACd,WAAW,EACX,cAAc,EACd,0BAA0B,EAC3B,MAAM,UAAU,CAAA;AAMjB,aAAK,aAAa,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAA;AAE5D,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAe;gBAE/B,MAAM,EAAE,MAAM,EAAE,KAAK,UAAQ,EAAE,MAAM,CAAC,EAAE,MAAM;IAkC7C,IAAI,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC;IAQrD,MAAM,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAQ3D,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAQ1D,kBAAkB,CAC7B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,0BAA0B,CAAC;IASzB,KAAK,CAChB,YAAY,EAAE,YAAY,EAC1B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,aAAa,CAAC;IA8BZ,UAAU,CACrB,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,qBAAqB,CAAC;IAYpB,MAAM,CACjB,aAAa,EAAE,aAAa,EAC5B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,cAAc,CAAC;IAYb,IAAI,CACf,WAAW,EAAE,WAAW,EACxB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,YAAY,CAAC;IAiCX,aAAa,CACxB,WAAW,EAAE,wBAAwB,EACrC,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,IAAI,CAAC;IAWH,OAAO,CAClB,aAAa,EAAE,aAAa,EAC5B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,qBAAqB,CAAC;IAYpB,eAAe,CAE1B,MAAM,EAAE,GAAG,EACX,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,cAAc,CAAC;CAkB3B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rango-sdk-basic",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.21",
|
|
4
4
|
"description": "Rango Exchange Basic SDK for dApps",
|
|
5
5
|
"module": "lib/rango-sdk-basic.esm.js",
|
|
6
6
|
"main": "lib/index.js",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"bignumber.js": "^9.1.1",
|
|
45
45
|
"eth-rpc-errors": "^4.0.3",
|
|
46
46
|
"ethers": "^5.7.2",
|
|
47
|
-
"rango-types": "^0.1.
|
|
47
|
+
"rango-types": "^0.1.26",
|
|
48
48
|
"uuid-random": "^1.3.2"
|
|
49
49
|
},
|
|
50
50
|
"publishConfig": {
|