rango-sdk-basic 0.1.36 → 0.1.38

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.
Files changed (56) hide show
  1. package/lib/rango-sdk-basic.cjs.development.js +32 -28
  2. package/lib/rango-sdk-basic.cjs.development.js.map +1 -1
  3. package/lib/rango-sdk-basic.cjs.production.min.js +1 -1
  4. package/lib/rango-sdk-basic.cjs.production.min.js.map +1 -1
  5. package/lib/rango-sdk-basic.esm.js +32 -28
  6. package/lib/rango-sdk-basic.esm.js.map +1 -1
  7. package/lib/services/client.d.ts +2 -2
  8. package/lib/services/client.d.ts.map +1 -1
  9. package/lib/types/api/meta.d.ts +1 -0
  10. package/lib/types/api/meta.d.ts.map +1 -1
  11. package/package.json +2 -2
  12. package/src/services/client.ts +16 -2
  13. package/src/types/api/meta.ts +1 -0
  14. package/lib/dist/index.d.ts +0 -3
  15. package/lib/dist/index.d.ts.map +0 -1
  16. package/lib/dist/index.js +0 -8
  17. package/lib/dist/rango-sdk-basic.cjs.development.js +0 -1104
  18. package/lib/dist/rango-sdk-basic.cjs.development.js.map +0 -1
  19. package/lib/dist/rango-sdk-basic.cjs.production.min.js +0 -2
  20. package/lib/dist/rango-sdk-basic.cjs.production.min.js.map +0 -1
  21. package/lib/dist/rango-sdk-basic.esm.js +0 -1090
  22. package/lib/dist/rango-sdk-basic.esm.js.map +0 -1
  23. package/lib/dist/services/client.d.ts +0 -25
  24. package/lib/dist/services/client.d.ts.map +0 -1
  25. package/lib/dist/services/executor.d.ts +0 -8
  26. package/lib/dist/services/executor.d.ts.map +0 -1
  27. package/lib/dist/services/index.d.ts +0 -2
  28. package/lib/dist/services/index.d.ts.map +0 -1
  29. package/lib/dist/types/api/balance.d.ts +0 -2
  30. package/lib/dist/types/api/balance.d.ts.map +0 -1
  31. package/lib/dist/types/api/common.d.ts +0 -4
  32. package/lib/dist/types/api/common.d.ts.map +0 -1
  33. package/lib/dist/types/api/meta.d.ts +0 -3
  34. package/lib/dist/types/api/meta.d.ts.map +0 -1
  35. package/lib/dist/types/api/routing.d.ts +0 -2
  36. package/lib/dist/types/api/routing.d.ts.map +0 -1
  37. package/lib/dist/types/api/transactions.d.ts +0 -2
  38. package/lib/dist/types/api/transactions.d.ts.map +0 -1
  39. package/lib/dist/types/api/txs/cosmos.d.ts +0 -2
  40. package/lib/dist/types/api/txs/cosmos.d.ts.map +0 -1
  41. package/lib/dist/types/api/txs/evm.d.ts +0 -2
  42. package/lib/dist/types/api/txs/evm.d.ts.map +0 -1
  43. package/lib/dist/types/api/txs/index.d.ts +0 -4
  44. package/lib/dist/types/api/txs/index.d.ts.map +0 -1
  45. package/lib/dist/types/api/txs/transfer.d.ts +0 -2
  46. package/lib/dist/types/api/txs/transfer.d.ts.map +0 -1
  47. package/lib/dist/types/configs.d.ts +0 -5
  48. package/lib/dist/types/configs.d.ts.map +0 -1
  49. package/lib/dist/types/index.d.ts +0 -9
  50. package/lib/dist/types/index.d.ts.map +0 -1
  51. package/lib/dist/types/utils/errors.d.ts +0 -23
  52. package/lib/dist/types/utils/errors.d.ts.map +0 -1
  53. package/lib/dist/utils/errors.d.ts +0 -2
  54. package/lib/dist/utils/errors.d.ts.map +0 -1
  55. package/lib/dist/utils/promise.d.ts +0 -2
  56. package/lib/dist/utils/promise.d.ts.map +0 -1
@@ -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","import {\n BlockchainMeta,\n CosmosBlockchainMeta,\n EvmBlockchainMeta,\n SolanaBlockchainMeta,\n StarkNetBlockchainMeta,\n TonBlockchainMeta,\n TransferBlockchainMeta,\n TronBlockchainMeta,\n} from './meta'\n\nexport const isEvmBlockchain = (\n blockchainMeta: BlockchainMeta\n): blockchainMeta is EvmBlockchainMeta => blockchainMeta.type === 'EVM'\n\nexport const isCosmosBlockchain = (\n blockchainMeta: BlockchainMeta\n): blockchainMeta is CosmosBlockchainMeta => blockchainMeta.type === 'COSMOS'\n\nexport const isSolanaBlockchain = (\n blockchainMeta: BlockchainMeta\n): blockchainMeta is SolanaBlockchainMeta => blockchainMeta.type === 'SOLANA'\n\nexport const isTronBlockchain = (\n blockchainMeta: BlockchainMeta\n): blockchainMeta is TronBlockchainMeta => blockchainMeta.type === 'TRON'\n\nexport const isTransferBlockchain = (\n blockchainMeta: BlockchainMeta\n): blockchainMeta is TransferBlockchainMeta =>\n blockchainMeta.type === 'TRANSFER'\n\nexport const isStarknetBlockchain = (\n blockchainMeta: BlockchainMeta\n): blockchainMeta is StarkNetBlockchainMeta =>\n blockchainMeta.type === 'STARKNET'\n\nexport const isTonBlockchain = (\n blockchainMeta: BlockchainMeta\n): blockchainMeta is TonBlockchainMeta => blockchainMeta.type === 'TON'\n\nexport const evmBlockchains = (blockchains: BlockchainMeta[]) =>\n blockchains.filter(isEvmBlockchain)\n\nexport const solanaBlockchain = (blockchains: BlockchainMeta[]) =>\n blockchains.filter(isSolanaBlockchain)\n\nexport const starknetBlockchain = (blockchains: BlockchainMeta[]) =>\n blockchains.filter(isStarknetBlockchain)\n\nexport const tronBlockchain = (blockchains: BlockchainMeta[]) =>\n blockchains.filter(isTronBlockchain)\n\nexport const cosmosBlockchains = (blockchains: BlockchainMeta[]) =>\n blockchains.filter(isCosmosBlockchain)\n\nexport const transferBlockchains = (blockchains: BlockchainMeta[]) =>\n blockchains.filter(isTransferBlockchain)\n\nexport const tonBlockchain = (blockchains: BlockchainMeta[]) =>\n blockchains.filter(isTonBlockchain)\n","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","import {\n BlockchainMeta,\n CosmosBlockchainMeta,\n EvmBlockchainMeta,\n SolanaBlockchainMeta,\n StarkNetBlockchainMeta,\n TonBlockchainMeta,\n TransferBlockchainMeta,\n TronBlockchainMeta,\n} from './meta.js'\n\nexport const isEvmBlockchain = (\n blockchainMeta: BlockchainMeta\n): blockchainMeta is EvmBlockchainMeta => blockchainMeta.type === 'EVM'\n\nexport const isCosmosBlockchain = (\n blockchainMeta: BlockchainMeta\n): blockchainMeta is CosmosBlockchainMeta => blockchainMeta.type === 'COSMOS'\n\nexport const isSolanaBlockchain = (\n blockchainMeta: BlockchainMeta\n): blockchainMeta is SolanaBlockchainMeta => blockchainMeta.type === 'SOLANA'\n\nexport const isTronBlockchain = (\n blockchainMeta: BlockchainMeta\n): blockchainMeta is TronBlockchainMeta => blockchainMeta.type === 'TRON'\n\nexport const isTransferBlockchain = (\n blockchainMeta: BlockchainMeta\n): blockchainMeta is TransferBlockchainMeta =>\n blockchainMeta.type === 'TRANSFER'\n\nexport const isStarknetBlockchain = (\n blockchainMeta: BlockchainMeta\n): blockchainMeta is StarkNetBlockchainMeta =>\n blockchainMeta.type === 'STARKNET'\n\nexport const isTonBlockchain = (\n blockchainMeta: BlockchainMeta\n): blockchainMeta is TonBlockchainMeta => blockchainMeta.type === 'TON'\n\nexport const evmBlockchains = (blockchains: BlockchainMeta[]) =>\n blockchains.filter(isEvmBlockchain)\n\nexport const solanaBlockchain = (blockchains: BlockchainMeta[]) =>\n blockchains.filter(isSolanaBlockchain)\n\nexport const starknetBlockchain = (blockchains: BlockchainMeta[]) =>\n blockchains.filter(isStarknetBlockchain)\n\nexport const tronBlockchain = (blockchains: BlockchainMeta[]) =>\n blockchains.filter(isTronBlockchain)\n\nexport const cosmosBlockchains = (blockchains: BlockchainMeta[]) =>\n blockchains.filter(isCosmosBlockchain)\n\nexport const transferBlockchains = (blockchains: BlockchainMeta[]) =>\n blockchains.filter(isTransferBlockchain)\n\nexport const tonBlockchain = (blockchains: BlockchainMeta[]) =>\n blockchains.filter(isTonBlockchain)\n","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 MetaRequest,\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(\n metaRequest?: MetaRequest,\n options?: RequestOptions\n ): Promise<MetaResponse> {\n const params = {\n ...metaRequest,\n blockchains: metaRequest?.blockchains?.join(),\n swappers: metaRequest?.swappers?.join(),\n swappersGroups: metaRequest?.swappersGroups?.join(),\n transactionTypes: metaRequest?.transactionTypes?.join(),\n }\n const axiosResponse = await this.httpService.get<MetaResponse>(\n `/basic/meta?apiKey=${this.apiKey}`,\n {\n params,\n ...options,\n }\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","_extends","tx","from","approveTo","to","approveData","data","txTo","txData","value","gasLimit","checkApprovalSync","_x","_x2","_x3","_checkApprovalSync","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee3","requestId","txId","rangoClient","approvalResponse","wrap","_context3","prev","next","isApproved","sent","abrupt","txStatus","TransactionStatus","FAILED","t0","console","log","err","stop","checkTransactionStatusSync","_ref","_callee","_context","status","SUCCESS","includes","_x4","_x5","_x6","executeEvmRoute","_ref2","_callee2","client","signer","route","error","resultType","evmTransaction","txChainId","signerChainId","approveTxData","approveTx","mainTxData","mainTx","_context2","Error","type","TransactionType","EVM","blockChain","chainId","getChainId","sendTransaction","wait","hash","_x7","_x8","_x9","prettifyError","code","Object","values","getMessageFromCode","_error$message","_error$message2","_error$message3","message","RangoClient","apiKey","debug","apiUrl","this","window","deviceId","localStorage","getItem","generatedId","uuid","setItem","e","httpService","axios","create","baseURL","interceptors","request","use","JSON","stringify","response","_proto","prototype","meta","_meta","metaRequest","options","_metaRequest$blockcha","_metaRequest$swappers","_metaRequest$swappers2","_metaRequest$transact","params","blockchains","join","swappers","swappersGroups","transactionTypes","get","chains","_chains","_swappers","messagingProtocols","_messagingProtocols","_callee4","_context4","quote","_quote","_callee5","quoteRequest","body","_context5","length","undefined","swapperGroups","headers","X-Rango-Id","_isApproved","_callee6","_context6","_x10","_status","_callee7","statusRequest","_context7","_x11","_x12","swap","_swap","_callee8","swapRequest","_context8","referrerAddress","referrerFee","disableEstimate","_x13","_x14","reportFailure","_reportFailure","_callee9","requestBody","_context9","post","_x15","_x16","balance","_balance","_callee10","walletAddress","_context10","_x17","_x18","_executeEvmRoute2","_callee11","prettifiedError","_context11","eventType","reason","_x19","_x20"],"mappings":"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"}
@@ -108,7 +108,10 @@ function _regeneratorRuntime() {
108
108
  if ("executing" === state) throw new Error("Generator is already running");
109
109
  if ("completed" === state) {
110
110
  if ("throw" === method) throw arg;
111
- return doneResult();
111
+ return {
112
+ value: void 0,
113
+ done: !0
114
+ };
112
115
  }
113
116
  for (context.method = method, context.arg = arg;;) {
114
117
  var delegate = context.delegate;
@@ -161,7 +164,7 @@ function _regeneratorRuntime() {
161
164
  }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0);
162
165
  }
163
166
  function values(iterable) {
164
- if (iterable) {
167
+ if (iterable || "" === iterable) {
165
168
  var iteratorMethod = iterable[iteratorSymbol];
166
169
  if (iteratorMethod) return iteratorMethod.call(iterable);
167
170
  if ("function" == typeof iterable.next) return iterable;
@@ -174,15 +177,7 @@ function _regeneratorRuntime() {
174
177
  return next.next = next;
175
178
  }
176
179
  }
177
- return {
178
- next: doneResult
179
- };
180
- }
181
- function doneResult() {
182
- return {
183
- value: undefined,
184
- done: !0
185
- };
180
+ throw new TypeError(typeof iterable + " is not iterable");
186
181
  }
187
182
  return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, "constructor", {
188
183
  value: GeneratorFunctionPrototype,
@@ -778,23 +773,32 @@ var RangoClient = /*#__PURE__*/function () {
778
773
  }
779
774
  var _proto = RangoClient.prototype;
780
775
  _proto.meta = /*#__PURE__*/function () {
781
- var _meta = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(options) {
782
- var axiosResponse;
776
+ var _meta = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(metaRequest, options) {
777
+ var _metaRequest$blockcha, _metaRequest$swappers, _metaRequest$swappers2, _metaRequest$transact;
778
+ var params, axiosResponse;
783
779
  return _regeneratorRuntime().wrap(function _callee$(_context) {
784
780
  while (1) switch (_context.prev = _context.next) {
785
781
  case 0:
786
- _context.next = 2;
787
- return this.httpService.get("/basic/meta?apiKey=" + this.apiKey, _extends({}, options));
788
- case 2:
782
+ params = _extends({}, metaRequest, {
783
+ blockchains: metaRequest == null || (_metaRequest$blockcha = metaRequest.blockchains) == null ? void 0 : _metaRequest$blockcha.join(),
784
+ swappers: metaRequest == null || (_metaRequest$swappers = metaRequest.swappers) == null ? void 0 : _metaRequest$swappers.join(),
785
+ swappersGroups: metaRequest == null || (_metaRequest$swappers2 = metaRequest.swappersGroups) == null ? void 0 : _metaRequest$swappers2.join(),
786
+ transactionTypes: metaRequest == null || (_metaRequest$transact = metaRequest.transactionTypes) == null ? void 0 : _metaRequest$transact.join()
787
+ });
788
+ _context.next = 3;
789
+ return this.httpService.get("/basic/meta?apiKey=" + this.apiKey, _extends({
790
+ params: params
791
+ }, options));
792
+ case 3:
789
793
  axiosResponse = _context.sent;
790
794
  return _context.abrupt("return", axiosResponse.data);
791
- case 4:
795
+ case 5:
792
796
  case "end":
793
797
  return _context.stop();
794
798
  }
795
799
  }, _callee, this);
796
800
  }));
797
- function meta(_x) {
801
+ function meta(_x, _x2) {
798
802
  return _meta.apply(this, arguments);
799
803
  }
800
804
  return meta;
@@ -816,7 +820,7 @@ var RangoClient = /*#__PURE__*/function () {
816
820
  }
817
821
  }, _callee2, this);
818
822
  }));
819
- function chains(_x2) {
823
+ function chains(_x3) {
820
824
  return _chains.apply(this, arguments);
821
825
  }
822
826
  return chains;
@@ -838,7 +842,7 @@ var RangoClient = /*#__PURE__*/function () {
838
842
  }
839
843
  }, _callee3, this);
840
844
  }));
841
- function swappers(_x3) {
845
+ function swappers(_x4) {
842
846
  return _swappers.apply(this, arguments);
843
847
  }
844
848
  return swappers;
@@ -860,7 +864,7 @@ var RangoClient = /*#__PURE__*/function () {
860
864
  }
861
865
  }, _callee4, this);
862
866
  }));
863
- function messagingProtocols(_x4) {
867
+ function messagingProtocols(_x5) {
864
868
  return _messagingProtocols.apply(this, arguments);
865
869
  }
866
870
  return messagingProtocols;
@@ -894,7 +898,7 @@ var RangoClient = /*#__PURE__*/function () {
894
898
  }
895
899
  }, _callee5, this);
896
900
  }));
897
- function quote(_x5, _x6) {
901
+ function quote(_x6, _x7) {
898
902
  return _quote.apply(this, arguments);
899
903
  }
900
904
  return quote;
@@ -924,7 +928,7 @@ var RangoClient = /*#__PURE__*/function () {
924
928
  }
925
929
  }, _callee6, this);
926
930
  }));
927
- function isApproved(_x7, _x8, _x9) {
931
+ function isApproved(_x8, _x9, _x10) {
928
932
  return _isApproved.apply(this, arguments);
929
933
  }
930
934
  return isApproved;
@@ -951,7 +955,7 @@ var RangoClient = /*#__PURE__*/function () {
951
955
  }
952
956
  }, _callee7, this);
953
957
  }));
954
- function status(_x10, _x11) {
958
+ function status(_x11, _x12) {
955
959
  return _status.apply(this, arguments);
956
960
  }
957
961
  return status;
@@ -988,7 +992,7 @@ var RangoClient = /*#__PURE__*/function () {
988
992
  }
989
993
  }, _callee8, this);
990
994
  }));
991
- function swap(_x12, _x13) {
995
+ function swap(_x13, _x14) {
992
996
  return _swap.apply(this, arguments);
993
997
  }
994
998
  return swap;
@@ -1010,7 +1014,7 @@ var RangoClient = /*#__PURE__*/function () {
1010
1014
  }
1011
1015
  }, _callee9, this);
1012
1016
  }));
1013
- function reportFailure(_x14, _x15) {
1017
+ function reportFailure(_x15, _x16) {
1014
1018
  return _reportFailure.apply(this, arguments);
1015
1019
  }
1016
1020
  return reportFailure;
@@ -1037,7 +1041,7 @@ var RangoClient = /*#__PURE__*/function () {
1037
1041
  }
1038
1042
  }, _callee10, this);
1039
1043
  }));
1040
- function balance(_x16, _x17) {
1044
+ function balance(_x17, _x18) {
1041
1045
  return _balance.apply(this, arguments);
1042
1046
  }
1043
1047
  return balance;
@@ -1078,7 +1082,7 @@ var RangoClient = /*#__PURE__*/function () {
1078
1082
  }
1079
1083
  }, _callee11, this, [[0, 6]]);
1080
1084
  }));
1081
- function executeEvmRoute$1(_x18, _x19) {
1085
+ function executeEvmRoute$1(_x19, _x20) {
1082
1086
  return _executeEvmRoute2.apply(this, arguments);
1083
1087
  }
1084
1088
  return executeEvmRoute$1;
@@ -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","../../../node_modules/rango-types/src/api/shared/txs/ton.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","import {\n BlockchainMeta,\n CosmosBlockchainMeta,\n EvmBlockchainMeta,\n SolanaBlockchainMeta,\n StarkNetBlockchainMeta,\n TonBlockchainMeta,\n TransferBlockchainMeta,\n TronBlockchainMeta,\n} from './meta'\n\nexport const isEvmBlockchain = (\n blockchainMeta: BlockchainMeta\n): blockchainMeta is EvmBlockchainMeta => blockchainMeta.type === 'EVM'\n\nexport const isCosmosBlockchain = (\n blockchainMeta: BlockchainMeta\n): blockchainMeta is CosmosBlockchainMeta => blockchainMeta.type === 'COSMOS'\n\nexport const isSolanaBlockchain = (\n blockchainMeta: BlockchainMeta\n): blockchainMeta is SolanaBlockchainMeta => blockchainMeta.type === 'SOLANA'\n\nexport const isTronBlockchain = (\n blockchainMeta: BlockchainMeta\n): blockchainMeta is TronBlockchainMeta => blockchainMeta.type === 'TRON'\n\nexport const isTransferBlockchain = (\n blockchainMeta: BlockchainMeta\n): blockchainMeta is TransferBlockchainMeta =>\n blockchainMeta.type === 'TRANSFER'\n\nexport const isStarknetBlockchain = (\n blockchainMeta: BlockchainMeta\n): blockchainMeta is StarkNetBlockchainMeta =>\n blockchainMeta.type === 'STARKNET'\n\nexport const isTonBlockchain = (\n blockchainMeta: BlockchainMeta\n): blockchainMeta is TonBlockchainMeta => blockchainMeta.type === 'TON'\n\nexport const evmBlockchains = (blockchains: BlockchainMeta[]) =>\n blockchains.filter(isEvmBlockchain)\n\nexport const solanaBlockchain = (blockchains: BlockchainMeta[]) =>\n blockchains.filter(isSolanaBlockchain)\n\nexport const starknetBlockchain = (blockchains: BlockchainMeta[]) =>\n blockchains.filter(isStarknetBlockchain)\n\nexport const tronBlockchain = (blockchains: BlockchainMeta[]) =>\n blockchains.filter(isTronBlockchain)\n\nexport const cosmosBlockchains = (blockchains: BlockchainMeta[]) =>\n blockchains.filter(isCosmosBlockchain)\n\nexport const transferBlockchains = (blockchains: BlockchainMeta[]) =>\n blockchains.filter(isTransferBlockchain)\n\nexport const tonBlockchain = (blockchains: BlockchainMeta[]) =>\n blockchains.filter(isTonBlockchain)\n","/**\n * Routing Result Type\n *\n */\nexport enum RoutingResultType {\n OK = 'OK',\n HIGH_IMPACT = 'HIGH_IMPACT',\n NO_ROUTE = 'NO_ROUTE',\n INPUT_LIMIT_ISSUE = 'INPUT_LIMIT_ISSUE',\n}\n","/**\n * The type of transaction\n */\nexport enum TransactionType {\n EVM = 'EVM',\n TRANSFER = 'TRANSFER',\n COSMOS = 'COSMOS',\n SOLANA = 'SOLANA',\n TRON = 'TRON',\n STARKNET = 'STARKNET',\n TON = 'TON',\n}\n\n/**\n * The type of transaction\n * @deprecated use TransactionType instead\n */\nexport enum GenericTransactionType {\n EVM = 'EVM',\n TRANSFER = 'TRANSFER',\n COSMOS = 'COSMOS',\n SOLANA = 'SOLANA',\n}\n\n/**\n * A transaction's url that can be displayed to advanced user to track the progress\n *\n * @property {string} url - Url of the transaction in blockchain explorer. example: https://etherscan.io/tx/0xa1a3...\n * @property {string | null} description - A custom display name to help user distinguish the transactions from each\n * other. Example: Inbound, Outbound, Bridge, or null\n *\n */\nexport type SwapExplorerUrl = {\n description: string | null\n url: string\n}\n\n/**\n * APIErrorCode\n *\n * Error code of a swap failure\n *\n */\nexport type APIErrorCode =\n | 'TX_FAIL'\n | 'TX_EXPIRED'\n | 'FETCH_TX_FAILED'\n | 'USER_REJECT'\n | 'USER_CANCEL'\n | 'USER_CANCELED_TX'\n | 'CALL_WALLET_FAILED'\n | 'SEND_TX_FAILED'\n | 'CALL_OR_SEND_FAILED'\n | 'TX_FAILED_IN_BLOCKCHAIN'\n | 'CLIENT_UNEXPECTED_BEHAVIOUR'\n | 'INSUFFICIENT_APPROVE'\n\n/**\n * The function checks if a given string value is a valid API error code.\n * @param {string} value - a string that represents a possible API error code.\n * @returns A boolean value is being returned, indicating whether the input `value` is of type\n * `APIErrorCode` or not.\n */\nexport function isAPIErrorCode(value: string): value is APIErrorCode {\n return [\n 'TX_FAIL',\n 'TX_EXPIRED',\n 'FETCH_TX_FAILED',\n 'USER_REJECT',\n 'USER_CANCEL',\n 'USER_CANCELED_TX',\n 'CALL_WALLET_FAILED',\n 'SEND_TX_FAILED',\n 'CALL_OR_SEND_FAILED',\n 'TX_FAILED_IN_BLOCKCHAIN',\n 'CLIENT_UNEXPECTED_BEHAVIOUR',\n 'INSUFFICIENT_APPROVE',\n ].includes(value)\n}\n\n/**\n * ReportTransactionRequest\n *\n * It should be used when an error happened in client and we want to inform server that transaction failed,\n * E.g. user rejected the transaction dialog or and an RPC error raised during signing tx by user.\n *\n * @property {string} requestId - The requestId from best route endpoint\n * @property {APIErrorCode} eventType - Type of the event that happened, example: USER_REJECT\n * @property {number} [step] - Step number in which failure happened\n * @property {string} [reason] - Reason or message for the error\n * @property {[key: string]: string} [data] - A list of key-value for extra details\n * @property {wallet?: string, errorCode? string} [tags] - A list of key-value for pre-defined tags\n *\n */\nexport type ReportTransactionRequest = {\n requestId: string\n eventType: APIErrorCode\n step?: number\n reason?: string\n data?: { [key: string]: string }\n tags?: { wallet?: string; errorCode?: string }\n}\n\n/**\n * The status of transaction in tracking\n */\nexport enum TransactionStatus {\n FAILED = 'failed',\n RUNNING = 'running',\n SUCCESS = 'success',\n}\n\n/**\n * Response body of check-approval\n * You could stop check approval if:\n * 1- approved successfully\n * => isApproved = true\n * 2- approval transaction failed\n * => isApproved = false && txStatus === 'failed'\n * 3- approval transaction succeeded but currentApprovedAmount is still less than requiredApprovedAmount\n * (e.g. user changed transaction data and enter another approve amount in MetaMask)\n * => isApproved = false && txStatus == 'success'\n *\n * @property {boolean} isApproved - A flag which indicates that the approve tx is done or not\n * @property {TransactionStatus | null} txStatus - Status of approve transaction in blockchain,\n * if isArppoved is false and txStatus is failed, it seems that approve transaction failed in blockchain\n * @property {string | null} requiredApprovedAmount - required amount to be approved by user\n * @property {string | null} currentApprovedAmount - current approved amount by user\n *\n */\nexport type CheckApprovalResponse = {\n isApproved: boolean\n txStatus: TransactionStatus | null\n requiredApprovedAmount: string | null\n currentApprovedAmount: string | null\n}\n","import { TransactionType } from '..'\nimport { BaseTransaction } from './base'\n\nexport enum TonChainID {\n MAINNET = '-239',\n TESTNET = '-3',\n}\n\n/**\n * @property {string} address - Receiver's address\n * @property {string} amount - Amount to send in nanoTon\n * @property {string} [stateInit] - Contract specific data to add to the transaction\n * @property {string} [payload] - Contract specific data to add to the transaction\n */\nexport interface TonMessage {\n address: string\n amount: string\n stateInit?: string\n payload?: string\n}\n\n/**\n * This type of transaction is used for all Ton transactions\n *\n * @property {TransactionType} type - This field equals to TON for all Ton transactions\n * @property {number} validUntil - Sending transaction deadline in unix epoch seconds\n * @property {TonChainID} [network] - The network (mainnet or testnet) where DApp intends to send the transaction. If not set, the transaction is sent to the network currently set in the wallet, but this is not safe and DApp should always strive to set the network. If the network parameter is set, but the wallet has a different network set, the wallet should show an alert and DO NOT ALLOW TO SEND this transaction\n * @property {string} [from] - The sender address in '<wc>:<hex>' format from which DApp intends to send the transaction. Current account.address by default\n * @property {TonMessage[]} messages - Messages to send: min is 1, max is 4\n */\nexport interface TonTransaction extends BaseTransaction {\n type: TransactionType.TON\n validUntil: number\n network?: TonChainID\n from?: string\n messages: TonMessage[]\n}\n\nexport const isTonTransaction = (transaction: {\n type: TransactionType\n}): transaction is TonTransaction => transaction.type === TransactionType.TON\n","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","../../../node_modules/rango-types/src/api/shared/txs/ton.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","import {\n BlockchainMeta,\n CosmosBlockchainMeta,\n EvmBlockchainMeta,\n SolanaBlockchainMeta,\n StarkNetBlockchainMeta,\n TonBlockchainMeta,\n TransferBlockchainMeta,\n TronBlockchainMeta,\n} from './meta.js'\n\nexport const isEvmBlockchain = (\n blockchainMeta: BlockchainMeta\n): blockchainMeta is EvmBlockchainMeta => blockchainMeta.type === 'EVM'\n\nexport const isCosmosBlockchain = (\n blockchainMeta: BlockchainMeta\n): blockchainMeta is CosmosBlockchainMeta => blockchainMeta.type === 'COSMOS'\n\nexport const isSolanaBlockchain = (\n blockchainMeta: BlockchainMeta\n): blockchainMeta is SolanaBlockchainMeta => blockchainMeta.type === 'SOLANA'\n\nexport const isTronBlockchain = (\n blockchainMeta: BlockchainMeta\n): blockchainMeta is TronBlockchainMeta => blockchainMeta.type === 'TRON'\n\nexport const isTransferBlockchain = (\n blockchainMeta: BlockchainMeta\n): blockchainMeta is TransferBlockchainMeta =>\n blockchainMeta.type === 'TRANSFER'\n\nexport const isStarknetBlockchain = (\n blockchainMeta: BlockchainMeta\n): blockchainMeta is StarkNetBlockchainMeta =>\n blockchainMeta.type === 'STARKNET'\n\nexport const isTonBlockchain = (\n blockchainMeta: BlockchainMeta\n): blockchainMeta is TonBlockchainMeta => blockchainMeta.type === 'TON'\n\nexport const evmBlockchains = (blockchains: BlockchainMeta[]) =>\n blockchains.filter(isEvmBlockchain)\n\nexport const solanaBlockchain = (blockchains: BlockchainMeta[]) =>\n blockchains.filter(isSolanaBlockchain)\n\nexport const starknetBlockchain = (blockchains: BlockchainMeta[]) =>\n blockchains.filter(isStarknetBlockchain)\n\nexport const tronBlockchain = (blockchains: BlockchainMeta[]) =>\n blockchains.filter(isTronBlockchain)\n\nexport const cosmosBlockchains = (blockchains: BlockchainMeta[]) =>\n blockchains.filter(isCosmosBlockchain)\n\nexport const transferBlockchains = (blockchains: BlockchainMeta[]) =>\n blockchains.filter(isTransferBlockchain)\n\nexport const tonBlockchain = (blockchains: BlockchainMeta[]) =>\n blockchains.filter(isTonBlockchain)\n","/**\n * Routing Result Type\n *\n */\nexport enum RoutingResultType {\n OK = 'OK',\n HIGH_IMPACT = 'HIGH_IMPACT',\n NO_ROUTE = 'NO_ROUTE',\n INPUT_LIMIT_ISSUE = 'INPUT_LIMIT_ISSUE',\n}\n","/**\n * The type of transaction\n */\nexport enum TransactionType {\n EVM = 'EVM',\n TRANSFER = 'TRANSFER',\n COSMOS = 'COSMOS',\n SOLANA = 'SOLANA',\n TRON = 'TRON',\n STARKNET = 'STARKNET',\n TON = 'TON',\n}\n\n/**\n * The type of transaction\n * @deprecated use TransactionType instead\n */\nexport enum GenericTransactionType {\n EVM = 'EVM',\n TRANSFER = 'TRANSFER',\n COSMOS = 'COSMOS',\n SOLANA = 'SOLANA',\n}\n\n/**\n * A transaction's url that can be displayed to advanced user to track the progress\n *\n * @property {string} url - Url of the transaction in blockchain explorer. example: https://etherscan.io/tx/0xa1a3...\n * @property {string | null} description - A custom display name to help user distinguish the transactions from each\n * other. Example: Inbound, Outbound, Bridge, or null\n *\n */\nexport type SwapExplorerUrl = {\n description: string | null\n url: string\n}\n\n/**\n * APIErrorCode\n *\n * Error code of a swap failure\n *\n */\nexport type APIErrorCode =\n | 'TX_FAIL'\n | 'TX_EXPIRED'\n | 'FETCH_TX_FAILED'\n | 'USER_REJECT'\n | 'USER_CANCEL'\n | 'USER_CANCELED_TX'\n | 'CALL_WALLET_FAILED'\n | 'SEND_TX_FAILED'\n | 'CALL_OR_SEND_FAILED'\n | 'TX_FAILED_IN_BLOCKCHAIN'\n | 'CLIENT_UNEXPECTED_BEHAVIOUR'\n | 'INSUFFICIENT_APPROVE'\n\n/**\n * The function checks if a given string value is a valid API error code.\n * @param {string} value - a string that represents a possible API error code.\n * @returns A boolean value is being returned, indicating whether the input `value` is of type\n * `APIErrorCode` or not.\n */\nexport function isAPIErrorCode(value: string): value is APIErrorCode {\n return [\n 'TX_FAIL',\n 'TX_EXPIRED',\n 'FETCH_TX_FAILED',\n 'USER_REJECT',\n 'USER_CANCEL',\n 'USER_CANCELED_TX',\n 'CALL_WALLET_FAILED',\n 'SEND_TX_FAILED',\n 'CALL_OR_SEND_FAILED',\n 'TX_FAILED_IN_BLOCKCHAIN',\n 'CLIENT_UNEXPECTED_BEHAVIOUR',\n 'INSUFFICIENT_APPROVE',\n ].includes(value)\n}\n\n/**\n * ReportTransactionRequest\n *\n * It should be used when an error happened in client and we want to inform server that transaction failed,\n * E.g. user rejected the transaction dialog or and an RPC error raised during signing tx by user.\n *\n * @property {string} requestId - The requestId from best route endpoint\n * @property {APIErrorCode} eventType - Type of the event that happened, example: USER_REJECT\n * @property {number} [step] - Step number in which failure happened\n * @property {string} [reason] - Reason or message for the error\n * @property {[key: string]: string} [data] - A list of key-value for extra details\n * @property {wallet?: string, errorCode? string} [tags] - A list of key-value for pre-defined tags\n *\n */\nexport type ReportTransactionRequest = {\n requestId: string\n eventType: APIErrorCode\n step?: number\n reason?: string\n data?: { [key: string]: string }\n tags?: { wallet?: string; errorCode?: string }\n}\n\n/**\n * The status of transaction in tracking\n */\nexport enum TransactionStatus {\n FAILED = 'failed',\n RUNNING = 'running',\n SUCCESS = 'success',\n}\n\n/**\n * Response body of check-approval\n * You could stop check approval if:\n * 1- approved successfully\n * => isApproved = true\n * 2- approval transaction failed\n * => isApproved = false && txStatus === 'failed'\n * 3- approval transaction succeeded but currentApprovedAmount is still less than requiredApprovedAmount\n * (e.g. user changed transaction data and enter another approve amount in MetaMask)\n * => isApproved = false && txStatus == 'success'\n *\n * @property {boolean} isApproved - A flag which indicates that the approve tx is done or not\n * @property {TransactionStatus | null} txStatus - Status of approve transaction in blockchain,\n * if isArppoved is false and txStatus is failed, it seems that approve transaction failed in blockchain\n * @property {string | null} requiredApprovedAmount - required amount to be approved by user\n * @property {string | null} currentApprovedAmount - current approved amount by user\n *\n */\nexport type CheckApprovalResponse = {\n isApproved: boolean\n txStatus: TransactionStatus | null\n requiredApprovedAmount: string | null\n currentApprovedAmount: string | null\n}\n","import { TransactionType } from '../index.js'\nimport { BaseTransaction } from './base.js'\n\nexport enum TonChainID {\n MAINNET = '-239',\n TESTNET = '-3',\n}\n\n/**\n * @property {string} address - Receiver's address\n * @property {string} amount - Amount to send in nanoTon\n * @property {string} [stateInit] - Contract specific data to add to the transaction\n * @property {string} [payload] - Contract specific data to add to the transaction\n */\nexport interface TonMessage {\n address: string\n amount: string\n stateInit?: string\n payload?: string\n}\n\n/**\n * This type of transaction is used for all Ton transactions\n *\n * @property {TransactionType} type - This field equals to TON for all Ton transactions\n * @property {number} validUntil - Sending transaction deadline in unix epoch seconds\n * @property {TonChainID} [network] - The network (mainnet or testnet) where DApp intends to send the transaction. If not set, the transaction is sent to the network currently set in the wallet, but this is not safe and DApp should always strive to set the network. If the network parameter is set, but the wallet has a different network set, the wallet should show an alert and DO NOT ALLOW TO SEND this transaction\n * @property {string} [from] - The sender address in '<wc>:<hex>' format from which DApp intends to send the transaction. Current account.address by default\n * @property {TonMessage[]} messages - Messages to send: min is 1, max is 4\n */\nexport interface TonTransaction extends BaseTransaction {\n type: TransactionType.TON\n validUntil: number\n network?: TonChainID\n from?: string\n messages: TonMessage[]\n}\n\nexport const isTonTransaction = (transaction: {\n type: TransactionType\n}): transaction is TonTransaction => transaction.type === TransactionType.TON\n","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 MetaRequest,\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(\n metaRequest?: MetaRequest,\n options?: RequestOptions\n ): Promise<MetaResponse> {\n const params = {\n ...metaRequest,\n blockchains: metaRequest?.blockchains?.join(),\n swappers: metaRequest?.swappers?.join(),\n swappersGroups: metaRequest?.swappersGroups?.join(),\n transactionTypes: metaRequest?.transactionTypes?.join(),\n }\n const axiosResponse = await this.httpService.get<MetaResponse>(\n `/basic/meta?apiKey=${this.apiKey}`,\n {\n params,\n ...options,\n }\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","isEvmBlockchain","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","_extends","tx","from","approveTo","to","approveData","data","txTo","txData","value","gasLimit","checkApprovalSync","_x","_x2","_x3","_checkApprovalSync","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee3","requestId","txId","rangoClient","approvalResponse","wrap","_callee3$","_context3","prev","next","isApproved","sent","abrupt","txStatus","TransactionStatus","FAILED","t0","console","log","err","stop","checkTransactionStatusSync","_ref","_callee","_callee$","_context","status","SUCCESS","includes","_x4","_x5","_x6","executeEvmRoute","_ref2","_callee2","client","signer","route","error","resultType","evmTransaction","txChainId","signerChainId","approveTxData","approveTx","mainTxData","mainTx","_callee2$","_context2","Error","type","TransactionType","EVM","blockChain","chainId","getChainId","sendTransaction","wait","hash","_x7","_x8","_x9","prettifyError","code","Object","values","getMessageFromCode","_error$message","_error$message2","_error$message3","message","RangoClient","apiKey","debug","apiUrl","window","deviceId","localStorage","getItem","generatedId","uuid","setItem","e","httpService","axios","create","baseURL","interceptors","request","use","JSON","stringify","response","_proto","prototype","meta","_meta","metaRequest","options","_metaRequest$blockcha","_metaRequest$swappers","_metaRequest$swappers2","_metaRequest$transact","params","axiosResponse","blockchains","join","swappers","swappersGroups","transactionTypes","get","chains","_chains","_swappers","messagingProtocols","_messagingProtocols","_callee4","_callee4$","_context4","quote","_quote","_callee5","quoteRequest","body","_callee5$","_context5","length","undefined","swapperGroups","headers","_isApproved","_callee6","_callee6$","_context6","_x10","_status","_callee7","statusRequest","_callee7$","_context7","_x11","_x12","swap","_swap","_callee8","swapRequest","_callee8$","_context8","referrerAddress","referrerFee","disableEstimate","_x13","_x14","reportFailure","_reportFailure","_callee9","requestBody","_callee9$","_context9","post","_x15","_x16","balance","_balance","_callee10","walletAddress","_callee10$","_context10","_x17","_x18","_executeEvmRoute2","_callee11","prettifiedError","_callee11$","_context11","eventType","reason","_x19","_x20"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { MetaResponse, QuoteRequest, QuoteResponse, CheckApprovalResponse, StatusRequest, StatusResponse, SwapRequest, SwapResponse, ReportTransactionRequest, WalletDetailsResponse, BlockchainMeta, SwapperMeta, RequestOptions, MessagingProtocolsResponse } from '../types';
1
+ import { MetaRequest, MetaResponse, QuoteRequest, QuoteResponse, CheckApprovalResponse, StatusRequest, StatusResponse, SwapRequest, SwapResponse, ReportTransactionRequest, WalletDetailsResponse, BlockchainMeta, SwapperMeta, RequestOptions, MessagingProtocolsResponse } from '../types';
2
2
  declare type WalletAddress = {
3
3
  blockchain: string;
4
4
  address: string;
@@ -9,7 +9,7 @@ export declare class RangoClient {
9
9
  private readonly apiUrl;
10
10
  private readonly httpService;
11
11
  constructor(apiKey: string, debug?: boolean, apiUrl?: string);
12
- meta(options?: RequestOptions): Promise<MetaResponse>;
12
+ meta(metaRequest?: MetaRequest, options?: RequestOptions): Promise<MetaResponse>;
13
13
  chains(options?: RequestOptions): Promise<BlockchainMeta[]>;
14
14
  swappers(options?: RequestOptions): Promise<SwapperMeta[]>;
15
15
  messagingProtocols(options?: RequestOptions): Promise<MessagingProtocolsResponse>;
@@ -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,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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/services/client.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,WAAW,EACX,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,CACf,WAAW,CAAC,EAAE,WAAW,EACzB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,YAAY,CAAC;IAkBX,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"}
@@ -1,3 +1,4 @@
1
1
  export * from 'rango-types/lib/api/basic/meta';
2
2
  export * from 'rango-types/lib/api/shared/type-gaurds';
3
+ export type { MetaRequest } from 'rango-types/lib/api/shared/meta';
3
4
  //# sourceMappingURL=meta.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../src/types/api/meta.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAA;AAC9C,cAAc,wCAAwC,CAAA"}
1
+ {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../src/types/api/meta.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAA;AAC9C,cAAc,wCAAwC,CAAA;AACtD,YAAY,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rango-sdk-basic",
3
- "version": "0.1.36",
3
+ "version": "0.1.38",
4
4
  "description": "Rango Exchange Basic SDK for dApps",
5
5
  "module": "lib/rango-sdk-basic.esm.js",
6
6
  "main": "lib/index.js",
@@ -46,7 +46,7 @@
46
46
  "bignumber.js": "^9.1.1",
47
47
  "eth-rpc-errors": "^4.0.3",
48
48
  "ethers": "^5.7.2",
49
- "rango-types": "^0.1.46",
49
+ "rango-types": "^0.1.47",
50
50
  "uuid-random": "^1.3.2"
51
51
  },
52
52
  "publishConfig": {
@@ -1,6 +1,7 @@
1
1
  import uuid from 'uuid-random'
2
2
 
3
3
  import {
4
+ MetaRequest,
4
5
  MetaResponse,
5
6
  QuoteRequest,
6
7
  QuoteResponse,
@@ -64,10 +65,23 @@ export class RangoClient {
64
65
  }
65
66
  }
66
67
 
67
- public async meta(options?: RequestOptions): Promise<MetaResponse> {
68
+ public async meta(
69
+ metaRequest?: MetaRequest,
70
+ options?: RequestOptions
71
+ ): Promise<MetaResponse> {
72
+ const params = {
73
+ ...metaRequest,
74
+ blockchains: metaRequest?.blockchains?.join(),
75
+ swappers: metaRequest?.swappers?.join(),
76
+ swappersGroups: metaRequest?.swappersGroups?.join(),
77
+ transactionTypes: metaRequest?.transactionTypes?.join(),
78
+ }
68
79
  const axiosResponse = await this.httpService.get<MetaResponse>(
69
80
  `/basic/meta?apiKey=${this.apiKey}`,
70
- { ...options }
81
+ {
82
+ params,
83
+ ...options,
84
+ }
71
85
  )
72
86
  return axiosResponse.data
73
87
  }
@@ -1,2 +1,3 @@
1
1
  export * from 'rango-types/lib/api/basic/meta'
2
2
  export * from 'rango-types/lib/api/shared/type-gaurds'
3
+ export type { MetaRequest } from 'rango-types/lib/api/shared/meta'
@@ -1,3 +0,0 @@
1
- export { RangoClient } from './services';
2
- export * from './types';
3
- //# sourceMappingURL=index.d.ts.map