rango-sdk-basic 0.1.71 → 0.1.73

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.
@@ -358,6 +358,7 @@ var isStarknetBlockchain = function (blockchainMeta) {
358
358
  return blockchainMeta.type === 'STARKNET';
359
359
  };
360
360
  var isTonBlockchain = function (blockchainMeta) { return blockchainMeta.type === 'TON'; };
361
+ var isXrplBlockchain = function (blockchainMeta) { return blockchainMeta.type === 'XRPL'; };
361
362
  var evmBlockchains = function (blockchains) {
362
363
  return blockchains.filter(isEvmBlockchain);
363
364
  };
@@ -379,6 +380,9 @@ var transferBlockchains = function (blockchains) {
379
380
  var tonBlockchain = function (blockchains) {
380
381
  return blockchains.filter(isTonBlockchain);
381
382
  };
383
+ var xrplBlockchain = function (blockchains) {
384
+ return blockchains.filter(isXrplBlockchain);
385
+ };
382
386
 
383
387
  /**
384
388
  * Routing Result Type
@@ -844,9 +848,11 @@ exports.isTonBlockchain = isTonBlockchain;
844
848
  exports.isTransferBlockchain = isTransferBlockchain;
845
849
  exports.isTransferTransaction = isTransferTransaction;
846
850
  exports.isTronBlockchain = isTronBlockchain;
851
+ exports.isXrplBlockchain = isXrplBlockchain;
847
852
  exports.solanaBlockchain = solanaBlockchain;
848
853
  exports.starknetBlockchain = starknetBlockchain;
849
854
  exports.tonBlockchain = tonBlockchain;
850
855
  exports.transferBlockchains = transferBlockchains;
851
856
  exports.tronBlockchain = tronBlockchain;
857
+ exports.xrplBlockchain = xrplBlockchain;
852
858
  //# sourceMappingURL=rango-sdk-basic.cjs.development.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rango-sdk-basic.cjs.development.js","sources":["../src/types/api/common.ts","../node_modules/rango-types/src/api/shared/type-gaurds.ts","../node_modules/rango-types/src/api/shared/routing.ts","../node_modules/rango-types/src/api/shared/transactions.ts","../node_modules/rango-types/src/api/shared/txs/cosmos.ts","../node_modules/rango-types/src/api/shared/txs/solana.ts","../node_modules/rango-types/src/api/shared/txs/transfer.ts","../node_modules/rango-types/src/api/shared/txs/ton.ts","../node_modules/rango-types/src/api/basic/txs/evm.ts","../src/services/client.ts"],"sourcesContent":["import { RequestedAsset } from 'rango-types/lib/api/basic'\nexport * from 'rango-types/lib/api/basic/common'\n\nexport function assetToString(asset: RequestedAsset): string {\n return `${asset.blockchain}${asset.symbol ? '.' + asset.symbol : ''}${\n asset.address ? '--' + asset.address : ''\n }`\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 HIGH_IMPACT_FOR_CREATE_TX = 'HIGH_IMPACT_FOR_CREATE_TX',\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 SUI = 'SUI',\n XRPL = 'XRPL',\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] - @deprecated 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 { AssetWithTicker } from '../common.js'\nimport { TransactionType } from '../transactions.js'\nimport { BaseTransaction } from './base.js'\n\n/**\n * CosmosCoin\n */\nexport type CosmosCoin = {\n amount: string\n denom: string\n}\n\n/**\n * CosmosProtoMsg\n */\nexport type CosmosProtoMsg = {\n type_url: string\n value: number[]\n}\n\n/**\n * CosmosFee representing fee for cosmos transaction\n */\nexport type CosmosFee = {\n gas: string\n amount: CosmosCoin[]\n}\n\n/**\n * Main transaction object for COSMOS type transactions\n */\nexport type CosmosMessage = {\n signType: 'AMINO' | 'DIRECT'\n sequence: string | null\n source: number | null\n account_number: number | null\n rpcUrl: string\n chainId: string | null\n msgs: any[] // TODO\n protoMsgs: CosmosProtoMsg[]\n memo: string | null\n fee: CosmosFee | null\n}\n/**\n * An alternative to CosmosMessage object for the cosmos wallets that do not support generic Cosmos messages (e.g. XDefi)\n *\n * @property {AssetWithTicker} asset - The asset to be transferred\n * @property {string} amount - The machine-readable amount to transfer, example: 1000000000000000000\n * @property {number} decimals - The decimals for this asset, example: 18\n * @property {string | null} memo - Memo of transaction, could be null\n * @property {string} method - The transaction method, example: transfer, deposit\n * @property {string} recipient - The recipient address of transaction\n *\n */\nexport type CosmosRawTransferData = {\n amount: string\n asset: AssetWithTicker\n decimals: number\n memo: string | null\n method: string\n recipient: string\n}\n\n/**\n * A Cosmos transaction, child of GenericTransaction\n *\n * @property {TransactionType} type - This fields equals to COSMOS for all CosmosTransactions\n * @property {string} blockChain - The blockchain that this transaction will be executed in, same as the input blockchain of creating transaction\n * @property {string} fromWalletAddress - Address of wallet that this transaction should be executed in, same as the create transaction request's input\n * @property {CosmosMessage} data - Transaction data\n * @property {CosmosRawTransferData | null} rawTransfer - An alternative to CosmosMessage object for the cosmos wallets that do not support generic Cosmos messages\n *\n */\nexport interface CosmosTransaction extends BaseTransaction {\n type: TransactionType.COSMOS\n fromWalletAddress: string\n data: CosmosMessage\n rawTransfer: CosmosRawTransferData | null\n}\n\nexport const isCosmosTransaction = (transaction: {\n type: TransactionType\n}): transaction is CosmosTransaction =>\n transaction.type === TransactionType.COSMOS\n","import { TransactionType } from '../transactions.js'\nimport { BaseTransaction } from './base.js'\n\n/**\n * Account metadata used to define instructions\n */\nexport type SolanaInstructionKey = {\n pubkey: string\n isSigner: boolean\n isWritable: boolean\n}\n\n/**\n * Transaction Instruction class\n */\nexport type SolanaInstruction = {\n keys: SolanaInstructionKey[]\n programId: string\n data: number[]\n}\n\n/**\n * Pair of signature and corresponding public key\n */\nexport type SolanaSignature = {\n signature: number[]\n publicKey: string\n}\n\n/**\n * This type of transaction is used for all solana transactions\n *\n * @property {TransactionType} type - This fields equals to SOLANA for all SolanaTransactions\n * @property {'LEGACY' | 'VERSIONED'} txType - Type of the solana transaction\n * @property {string} blockChain, equals to SOLANA\n * @property {string} from, Source wallet address\n * @property {string} identifier, Transaction hash used in case of retry\n * @property {string | null} recentBlockhash, A recent blockhash\n * @property {SolanaSignature[]} signatures, Signatures for the transaction\n * @property {number[] | null} serializedMessage, The byte array of the transaction\n * @property {SolanaInstruction[]} instructions, The instructions to atomically execute\n *\n */\nexport interface SolanaTransaction extends BaseTransaction {\n type: TransactionType.SOLANA\n txType: 'LEGACY' | 'VERSIONED'\n from: string\n identifier: string\n recentBlockhash: string | null\n signatures: SolanaSignature[]\n serializedMessage: number[] | null\n instructions: SolanaInstruction[]\n}\n\nexport const isSolanaTransaction = (transaction: {\n type: TransactionType\n}): transaction is SolanaTransaction =>\n transaction.type === TransactionType.SOLANA\n","import { AssetWithTicker } from '../common.js'\nimport { TransactionType } from '../transactions.js'\nimport { BaseTransaction } from './base.js'\n\nexport type InputToSign = { address: string, signingIndexes: number[] }\n/**\n * @property {unsignedPsbtBase64} unsignedPsbtBase64 - Base 64 representation of the Unsigned PSBT\n * @property {InputToSign[]} inputsToSign - Inputs to be signed\n */\nexport type PSBT = {\n unsignedPsbtBase64: string\n inputsToSign: InputToSign[]\n}\n/**\n * TransferTransaction. This type of transaction is used for UTXO blockchains including BTC, LTC, BCH\n *\n * @property {TransactionType} type - This fields equals to TRANSFER for all TransferTransactions\n * @property {string} blockChain - The blockchain that this transaction will be executed in, same as the input blockchain of creating transaction\n * @property {string} method - The method that should be passed to wallet. examples: deposit, transfer\n * @property {AssetWithTicker} asset\n * @property {string} amount - The machine-readable amount of transaction, example: 1000000000000000000\n * @property {number} decimals - The decimals of the asset\n * @property {string} fromWalletAddress - The source wallet address that can sign this transaction\n * @property {string} recipientAddress - The destination wallet address that the fund should be sent to\n * @property {string | null} memo - The memo of transaction, can be null\n * @property {PSBT | null} psbt - PSBT object containing base 64 representation of the Unsigned PSBT along with the inputs to be signed\n *\n */\nexport interface Transfer extends BaseTransaction {\n type: TransactionType.TRANSFER\n method: string\n asset: AssetWithTicker\n amount: string\n decimals: number\n fromWalletAddress: string\n recipientAddress: string\n memo: string | null\n psbt: PSBT | null\n}\n\nexport const isTransferTransaction = (transaction: {\n type: TransactionType\n}): transaction is Transfer => transaction.type === TransactionType.TRANSFER\n","import { TransactionType } from '../transactions.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","import { BlockchainMetaBase } from '../meta.js'\nimport { TransactionType } from '../transactions.js'\n\n\n\n/**\n * Blockchain info for basic API EVM transaction\n */\nexport type EvmTransactionBlockchain = Pick<\n BlockchainMetaBase, 'name' | 'defaultDecimals' | 'addressPatterns' | 'feeAssets' | 'type' | 'chainId'\n>\n\n/**\n * The transaction object for all EVM-based blockchains, including Ethereum, BSC, Polygon, Harmony, etc\n *\n * @property {TransactionType} type - This fields equals to EVM for all EVMTransactions\n * @property {EvmTransactionBlockchain} blockChain - The blockchain info that this transaction is going to run in\n * @property {string | null} from - The source wallet address, it can be null\n * @property {string} approveTo - Address of source token erc20 contract for increasing approve amount\n * @property {string | null} approveData - The data of approve transaction\n * @property {string} txTo - Address of dex/bridge smart contract that is going to be called\n * @property {string | null} txData - The data of main transaction, it can be null in case of native token transfer\n * @property {string | null} value - The amount of transaction in case of native token transfer\n * @property {string | null} gasPrice - The suggested gas price for this transaction\n * @property {string | null} gasLimit - The suggested gas limit for this transaction\n * @property {string | null} maxPriorityFeePerGas - Suggested max priority fee per gas for this transaction\n * @property {string | null} maxFeePerGas - Suggested max fee per gas for this transaction\n *\n */\nexport interface EvmTransaction {\n type: TransactionType.EVM\n blockChain: EvmTransactionBlockchain\n from: string | null\n approveTo: string | null\n approveData: string | null\n txTo: string\n txData: string | null\n value: string | null\n gasLimit: string | null\n gasPrice: string | null\n maxPriorityFeePerGas: string | null\n maxFeePerGas: string | null\n}\n\nexport const isEvmTransaction = (transaction: {\n type: TransactionType\n}): transaction is EvmTransaction => transaction.type === TransactionType.EVM\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 RequestOptions,\n MessagingProtocolsResponse,\n SwapperMetaExtended,\n ConnectedAssetsResponse,\n ConnectedAssetsRequest,\n CustomTokenRequest,\n CustomTokenResponse,\n TokenBalanceRequest,\n TokenBalanceResponse,\n} from '../types'\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<SwapperMetaExtended[]> {\n const axiosResponse = await this.httpService.get<SwapperMetaExtended[]>(\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\n public async token(\n customTokenRequest?: CustomTokenRequest,\n options?: RequestOptions\n ): Promise<CustomTokenResponse> {\n const axiosResponse = await this.httpService.get<CustomTokenResponse>(\n `/basic/meta/custom-token?apiKey=${this.apiKey}`,\n { params: customTokenRequest, ...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 tokenBalance(\n tokenBalanceRequest: TokenBalanceRequest,\n options?: RequestOptions\n ): Promise<TokenBalanceResponse> {\n const axiosResponse = await this.httpService.get<TokenBalanceResponse>(\n `/basic/token-balance?apiKey=${this.apiKey}`,\n { params: tokenBalanceRequest, ...options }\n )\n return axiosResponse.data\n }\n\n public async connectedAssets(\n connectedAssetsRequest: ConnectedAssetsRequest,\n options?: RequestOptions\n ): Promise<ConnectedAssetsResponse> {\n const body = {\n from: assetToString(connectedAssetsRequest.from),\n }\n\n const axiosResponse = await this.httpService.get<ConnectedAssetsResponse>(\n `/basic/connected-assets?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"],"names":["assetToString","asset","blockchain","symbol","address","RoutingResultType","TransactionType","GenericTransactionType","TransactionStatus","RangoClient","apiKey","debug","apiUrl","window","deviceId","localStorage","getItem","generatedId","uuid","setItem","e","httpService","axios","create","baseURL","interceptors","request","use","console","log","JSON","stringify","response","_proto","prototype","meta","_meta","_asyncToGenerator","_regeneratorRuntime","mark","_callee","metaRequest","options","_metaRequest$blockcha","_metaRequest$swappers","_metaRequest$swappers2","_metaRequest$transact","params","axiosResponse","wrap","_callee$","_context","prev","next","_extends","blockchains","join","swappers","swappersGroups","transactionTypes","get","sent","abrupt","data","stop","_x","_x2","apply","arguments","chains","_chains","_callee2","_callee2$","_context2","_x3","_swappers","_callee3","_callee3$","_context3","_x4","messagingProtocols","_messagingProtocols","_callee4","_callee4$","_context4","_x5","token","_token","_callee5","customTokenRequest","_callee5$","_context5","_x6","_x7","quote","_quote","_callee6","quoteRequest","body","_callee6$","_context6","from","to","length","undefined","swapperGroups","headers","_x8","_x9","isApproved","_isApproved","_callee7","requestId","txId","_callee7$","_context7","_x10","_x11","_x12","status","_status","_callee8","statusRequest","_callee8$","_context8","_x13","_x14","swap","_swap","_callee9","swapRequest","_callee9$","_context9","referrerAddress","referrerFee","disableEstimate","_x15","_x16","reportFailure","_reportFailure","_callee10","requestBody","_callee10$","_context10","post","_x17","_x18","balance","_balance","_callee11","walletAddress","_callee11$","_context11","_x19","_x20","tokenBalance","_tokenBalance","_callee12","tokenBalanceRequest","_callee12$","_context12","_x21","_x22","connectedAssets","_connectedAssets","_callee13","connectedAssetsRequest","_callee13$","_context13","_x23","_x24"],"mappings":"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"}
1
+ {"version":3,"file":"rango-sdk-basic.cjs.development.js","sources":["../src/types/api/common.ts","../node_modules/rango-types/src/api/shared/type-gaurds.ts","../node_modules/rango-types/src/api/shared/routing.ts","../node_modules/rango-types/src/api/shared/transactions.ts","../node_modules/rango-types/src/api/shared/txs/cosmos.ts","../node_modules/rango-types/src/api/shared/txs/solana.ts","../node_modules/rango-types/src/api/shared/txs/transfer.ts","../node_modules/rango-types/src/api/shared/txs/ton.ts","../node_modules/rango-types/src/api/basic/txs/evm.ts","../src/services/client.ts"],"sourcesContent":["import { RequestedAsset } from 'rango-types/lib/api/basic'\nexport * from 'rango-types/lib/api/basic/common'\n\nexport function assetToString(asset: RequestedAsset): string {\n return `${asset.blockchain}${asset.symbol ? '.' + asset.symbol : ''}${\n asset.address ? '--' + asset.address : ''\n }`\n}\n","import {\n BlockchainMeta,\n CosmosBlockchainMeta,\n EvmBlockchainMeta,\n SolanaBlockchainMeta,\n StarkNetBlockchainMeta,\n TonBlockchainMeta,\n TransferBlockchainMeta,\n TronBlockchainMeta,\n XrplBlockchainMeta,\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 isXrplBlockchain = (\n blockchainMeta: BlockchainMeta\n): blockchainMeta is XrplBlockchainMeta => blockchainMeta.type === 'XRPL'\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\nexport const xrplBlockchain = (blockchains: BlockchainMeta[]) =>\n blockchains.filter(isXrplBlockchain)\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 HIGH_IMPACT_FOR_CREATE_TX = 'HIGH_IMPACT_FOR_CREATE_TX',\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 SUI = 'SUI',\n XRPL = 'XRPL',\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] - @deprecated 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 { AssetWithTicker } from '../common.js'\nimport { TransactionType } from '../transactions.js'\nimport { BaseTransaction } from './base.js'\n\n/**\n * CosmosCoin\n */\nexport type CosmosCoin = {\n amount: string\n denom: string\n}\n\n/**\n * CosmosProtoMsg\n */\nexport type CosmosProtoMsg = {\n type_url: string\n value: number[]\n}\n\n/**\n * CosmosFee representing fee for cosmos transaction\n */\nexport type CosmosFee = {\n gas: string\n amount: CosmosCoin[]\n}\n\n/**\n * Main transaction object for COSMOS type transactions\n */\nexport type CosmosMessage = {\n signType: 'AMINO' | 'DIRECT'\n sequence: string | null\n source: number | null\n account_number: number | null\n rpcUrl: string\n chainId: string | null\n msgs: any[] // TODO\n protoMsgs: CosmosProtoMsg[]\n memo: string | null\n fee: CosmosFee | null\n}\n/**\n * An alternative to CosmosMessage object for the cosmos wallets that do not support generic Cosmos messages (e.g. XDefi)\n *\n * @property {AssetWithTicker} asset - The asset to be transferred\n * @property {string} amount - The machine-readable amount to transfer, example: 1000000000000000000\n * @property {number} decimals - The decimals for this asset, example: 18\n * @property {string | null} memo - Memo of transaction, could be null\n * @property {string} method - The transaction method, example: transfer, deposit\n * @property {string} recipient - The recipient address of transaction\n *\n */\nexport type CosmosRawTransferData = {\n amount: string\n asset: AssetWithTicker\n decimals: number\n memo: string | null\n method: string\n recipient: string\n}\n\n/**\n * A Cosmos transaction, child of GenericTransaction\n *\n * @property {TransactionType} type - This fields equals to COSMOS for all CosmosTransactions\n * @property {string} blockChain - The blockchain that this transaction will be executed in, same as the input blockchain of creating transaction\n * @property {string} fromWalletAddress - Address of wallet that this transaction should be executed in, same as the create transaction request's input\n * @property {CosmosMessage} data - Transaction data\n * @property {CosmosRawTransferData | null} rawTransfer - An alternative to CosmosMessage object for the cosmos wallets that do not support generic Cosmos messages\n *\n */\nexport interface CosmosTransaction extends BaseTransaction {\n type: TransactionType.COSMOS\n fromWalletAddress: string\n data: CosmosMessage\n rawTransfer: CosmosRawTransferData | null\n}\n\nexport const isCosmosTransaction = (transaction: {\n type: TransactionType\n}): transaction is CosmosTransaction =>\n transaction.type === TransactionType.COSMOS\n","import { TransactionType } from '../transactions.js'\nimport { BaseTransaction } from './base.js'\n\n/**\n * Account metadata used to define instructions\n */\nexport type SolanaInstructionKey = {\n pubkey: string\n isSigner: boolean\n isWritable: boolean\n}\n\n/**\n * Transaction Instruction class\n */\nexport type SolanaInstruction = {\n keys: SolanaInstructionKey[]\n programId: string\n data: number[]\n}\n\n/**\n * Pair of signature and corresponding public key\n */\nexport type SolanaSignature = {\n signature: number[]\n publicKey: string\n}\n\n/**\n * This type of transaction is used for all solana transactions\n *\n * @property {TransactionType} type - This fields equals to SOLANA for all SolanaTransactions\n * @property {'LEGACY' | 'VERSIONED'} txType - Type of the solana transaction\n * @property {string} blockChain, equals to SOLANA\n * @property {string} from, Source wallet address\n * @property {string} identifier, Transaction hash used in case of retry\n * @property {string | null} recentBlockhash, A recent blockhash\n * @property {SolanaSignature[]} signatures, Signatures for the transaction\n * @property {number[] | null} serializedMessage, The byte array of the transaction\n * @property {SolanaInstruction[]} instructions, The instructions to atomically execute\n *\n */\nexport interface SolanaTransaction extends BaseTransaction {\n type: TransactionType.SOLANA\n txType: 'LEGACY' | 'VERSIONED'\n from: string\n identifier: string\n recentBlockhash: string | null\n signatures: SolanaSignature[]\n serializedMessage: number[] | null\n instructions: SolanaInstruction[]\n}\n\nexport const isSolanaTransaction = (transaction: {\n type: TransactionType\n}): transaction is SolanaTransaction =>\n transaction.type === TransactionType.SOLANA\n","import { AssetWithTicker } from '../common.js'\nimport { TransactionType } from '../transactions.js'\nimport { BaseTransaction } from './base.js'\n\nexport type InputToSign = { address: string, signingIndexes: number[] }\n/**\n * @property {unsignedPsbtBase64} unsignedPsbtBase64 - Base 64 representation of the Unsigned PSBT\n * @property {InputToSign[]} inputsToSign - Inputs to be signed\n */\nexport type PSBT = {\n unsignedPsbtBase64: string\n inputsToSign: InputToSign[]\n}\n/**\n * TransferTransaction. This type of transaction is used for UTXO blockchains including BTC, LTC, BCH\n *\n * @property {TransactionType} type - This fields equals to TRANSFER for all TransferTransactions\n * @property {string} blockChain - The blockchain that this transaction will be executed in, same as the input blockchain of creating transaction\n * @property {string} method - The method that should be passed to wallet. examples: deposit, transfer\n * @property {AssetWithTicker} asset\n * @property {string} amount - The machine-readable amount of transaction, example: 1000000000000000000\n * @property {number} decimals - The decimals of the asset\n * @property {string} fromWalletAddress - The source wallet address that can sign this transaction\n * @property {string} recipientAddress - The destination wallet address that the fund should be sent to\n * @property {string | null} memo - The memo of transaction, can be null\n * @property {PSBT | null} psbt - PSBT object containing base 64 representation of the Unsigned PSBT along with the inputs to be signed\n *\n */\nexport interface Transfer extends BaseTransaction {\n type: TransactionType.TRANSFER\n method: string\n asset: AssetWithTicker\n amount: string\n decimals: number\n fromWalletAddress: string\n recipientAddress: string\n memo: string | null\n psbt: PSBT | null\n}\n\nexport const isTransferTransaction = (transaction: {\n type: TransactionType\n}): transaction is Transfer => transaction.type === TransactionType.TRANSFER\n","import { TransactionType } from '../transactions.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","import { BlockchainMetaBase } from '../meta.js'\nimport { TransactionType } from '../transactions.js'\n\n\n\n/**\n * Blockchain info for basic API EVM transaction\n */\nexport type EvmTransactionBlockchain = Pick<\n BlockchainMetaBase, 'name' | 'defaultDecimals' | 'addressPatterns' | 'feeAssets' | 'type' | 'chainId'\n>\n\n/**\n * The transaction object for all EVM-based blockchains, including Ethereum, BSC, Polygon, Harmony, etc\n *\n * @property {TransactionType} type - This fields equals to EVM for all EVMTransactions\n * @property {EvmTransactionBlockchain} blockChain - The blockchain info that this transaction is going to run in\n * @property {string | null} from - The source wallet address, it can be null\n * @property {string} approveTo - Address of source token erc20 contract for increasing approve amount\n * @property {string | null} approveData - The data of approve transaction\n * @property {string} txTo - Address of dex/bridge smart contract that is going to be called\n * @property {string | null} txData - The data of main transaction, it can be null in case of native token transfer\n * @property {string | null} value - The amount of transaction in case of native token transfer\n * @property {string | null} gasPrice - The suggested gas price for this transaction\n * @property {string | null} gasLimit - The suggested gas limit for this transaction\n * @property {string | null} maxPriorityFeePerGas - Suggested max priority fee per gas for this transaction\n * @property {string | null} maxFeePerGas - Suggested max fee per gas for this transaction\n *\n */\nexport interface EvmTransaction {\n type: TransactionType.EVM\n blockChain: EvmTransactionBlockchain\n from: string | null\n approveTo: string | null\n approveData: string | null\n txTo: string\n txData: string | null\n value: string | null\n gasLimit: string | null\n gasPrice: string | null\n maxPriorityFeePerGas: string | null\n maxFeePerGas: string | null\n}\n\nexport const isEvmTransaction = (transaction: {\n type: TransactionType\n}): transaction is EvmTransaction => transaction.type === TransactionType.EVM\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 RequestOptions,\n MessagingProtocolsResponse,\n SwapperMetaExtended,\n ConnectedAssetsResponse,\n ConnectedAssetsRequest,\n CustomTokenRequest,\n CustomTokenResponse,\n TokenBalanceRequest,\n TokenBalanceResponse,\n} from '../types'\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<SwapperMetaExtended[]> {\n const axiosResponse = await this.httpService.get<SwapperMetaExtended[]>(\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\n public async token(\n customTokenRequest?: CustomTokenRequest,\n options?: RequestOptions\n ): Promise<CustomTokenResponse> {\n const axiosResponse = await this.httpService.get<CustomTokenResponse>(\n `/basic/meta/custom-token?apiKey=${this.apiKey}`,\n { params: customTokenRequest, ...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 tokenBalance(\n tokenBalanceRequest: TokenBalanceRequest,\n options?: RequestOptions\n ): Promise<TokenBalanceResponse> {\n const axiosResponse = await this.httpService.get<TokenBalanceResponse>(\n `/basic/token-balance?apiKey=${this.apiKey}`,\n { params: tokenBalanceRequest, ...options }\n )\n return axiosResponse.data\n }\n\n public async connectedAssets(\n connectedAssetsRequest: ConnectedAssetsRequest,\n options?: RequestOptions\n ): Promise<ConnectedAssetsResponse> {\n const body = {\n from: assetToString(connectedAssetsRequest.from),\n }\n\n const axiosResponse = await this.httpService.get<ConnectedAssetsResponse>(\n `/basic/connected-assets?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"],"names":["assetToString","asset","blockchain","symbol","address","RoutingResultType","TransactionType","GenericTransactionType","TransactionStatus","RangoClient","apiKey","debug","apiUrl","window","deviceId","localStorage","getItem","generatedId","uuid","setItem","e","httpService","axios","create","baseURL","interceptors","request","use","console","log","JSON","stringify","response","_proto","prototype","meta","_meta","_asyncToGenerator","_regeneratorRuntime","mark","_callee","metaRequest","options","_metaRequest$blockcha","_metaRequest$swappers","_metaRequest$swappers2","_metaRequest$transact","params","axiosResponse","wrap","_callee$","_context","prev","next","_extends","blockchains","join","swappers","swappersGroups","transactionTypes","get","sent","abrupt","data","stop","_x","_x2","apply","arguments","chains","_chains","_callee2","_callee2$","_context2","_x3","_swappers","_callee3","_callee3$","_context3","_x4","messagingProtocols","_messagingProtocols","_callee4","_callee4$","_context4","_x5","token","_token","_callee5","customTokenRequest","_callee5$","_context5","_x6","_x7","quote","_quote","_callee6","quoteRequest","body","_callee6$","_context6","from","to","length","undefined","swapperGroups","headers","_x8","_x9","isApproved","_isApproved","_callee7","requestId","txId","_callee7$","_context7","_x10","_x11","_x12","status","_status","_callee8","statusRequest","_callee8$","_context8","_x13","_x14","swap","_swap","_callee9","swapRequest","_callee9$","_context9","referrerAddress","referrerFee","disableEstimate","_x15","_x16","reportFailure","_reportFailure","_callee10","requestBody","_callee10$","_context10","post","_x17","_x18","balance","_balance","_callee11","walletAddress","_callee11$","_context11","_x19","_x20","tokenBalance","_tokenBalance","_callee12","tokenBalanceRequest","_callee12$","_context12","_x21","_x22","connectedAssets","_connectedAssets","_callee13","connectedAssetsRequest","_callee13$","_context13","_x23","_x24"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";function t(t){return t&&"object"==typeof t&&"default"in t?t.default:t}Object.defineProperty(exports,"__esModule",{value:!0});var e=t(require("uuid-random")),r=t(require("axios"));function n(t,e,r,n,o,i,a){try{var s=t[i](a),c=s.value}catch(t){return void r(t)}s.done?e(c):Promise.resolve(c).then(n,o)}function o(t){return function(){var e=this,r=arguments;return new Promise((function(o,i){var a=t.apply(e,r);function s(t){n(a,o,i,s,c,"next",t)}function c(t){n(a,o,i,s,c,"throw",t)}s(void 0)}))}}function i(){return(i=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)({}).hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t}).apply(null,arguments)}function a(){a=function(){return e};var t,e={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(t,e,r){t[e]=r.value},i="function"==typeof Symbol?Symbol:{},s=i.iterator||"@@iterator",c=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function p(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{p({},"")}catch(t){p=function(t,e,r){return t[e]=r}}function h(t,e,r,n){var i=Object.create((e&&e.prototype instanceof g?e:g).prototype),a=new L(n||[]);return o(i,"_invoke",{value:I(t,r,a)}),i}function f(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=h;var l="suspendedStart",d="executing",v="completed",y={};function g(){}function m(){}function w(){}var x={};p(x,s,(function(){return this}));var T=Object.getPrototypeOf,S=T&&T(T(A([])));S&&S!==r&&n.call(S,s)&&(x=S);var b=w.prototype=g.prototype=Object.create(x);function E(t){["next","throw","return"].forEach((function(e){p(t,e,(function(t){return this._invoke(e,t)}))}))}function O(t,e){function r(o,i,a,s){var c=f(t[o],t,i);if("throw"!==c.type){var u=c.arg,p=u.value;return p&&"object"==typeof p&&n.call(p,"__await")?e.resolve(p.__await).then((function(t){r("next",t,a,s)}),(function(t){r("throw",t,a,s)})):e.resolve(p).then((function(t){u.value=t,a(u)}),(function(t){return r("throw",t,a,s)}))}s(c.arg)}var i;o(this,"_invoke",{value:function(t,n){function o(){return new e((function(e,o){r(t,n,e,o)}))}return i=i?i.then(o,o):o()}})}function I(e,r,n){var o=l;return function(i,a){if(o===d)throw Error("Generator is already running");if(o===v){if("throw"===i)throw a;return{value:t,done:!0}}for(n.method=i,n.arg=a;;){var s=n.delegate;if(s){var c=k(s,n);if(c){if(c===y)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===l)throw o=v,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=d;var u=f(e,r,n);if("normal"===u.type){if(o=n.done?v:"suspendedYield",u.arg===y)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(o=v,n.method="throw",n.arg=u.arg)}}}function k(e,r){var n=r.method,o=e.iterator[n];if(o===t)return r.delegate=null,"throw"===n&&e.iterator.return&&(r.method="return",r.arg=t,k(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),y;var i=f(o,e.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,y;var a=i.arg;return a?a.done?(r[e.resultName]=a.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,y):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,y)}function R(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function N(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function L(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(R,this),this.reset(!0)}function A(e){if(e||""===e){var r=e[s];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function r(){for(;++o<e.length;)if(n.call(e,o))return r.value=e[o],r.done=!1,r;return r.value=t,r.done=!0,r};return i.next=i}}throw new TypeError(typeof e+" is not iterable")}return m.prototype=w,o(b,"constructor",{value:w,configurable:!0}),o(w,"constructor",{value:m,configurable:!0}),m.displayName=p(w,u,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===m||"GeneratorFunction"===(e.displayName||e.name))},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,w):(t.__proto__=w,p(t,u,"GeneratorFunction")),t.prototype=Object.create(b),t},e.awrap=function(t){return{__await:t}},E(O.prototype),p(O.prototype,c,(function(){return this})),e.AsyncIterator=O,e.async=function(t,r,n,o,i){void 0===i&&(i=Promise);var a=new O(h(t,r,n,o),i);return e.isGeneratorFunction(r)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},E(b),p(b,u,"Generator"),p(b,s,(function(){return this})),p(b,"toString",(function(){return"[object Generator]"})),e.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},e.values=A,L.prototype={constructor:L,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(N),!e)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var r=this;function o(n,o){return s.type="throw",s.arg=e,r.next=n,o&&(r.method="next",r.arg=t),!!o}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],s=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var c=n.call(a,"catchLoc"),u=n.call(a,"finallyLoc");if(c&&u){if(this.prev<a.catchLoc)return o(a.catchLoc,!0);if(this.prev<a.finallyLoc)return o(a.finallyLoc)}else if(c){if(this.prev<a.catchLoc)return o(a.catchLoc,!0)}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return o(a.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,y):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),y},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),N(r),y}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;N(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:A(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),y}},e}function s(t){return t.blockchain+(t.symbol?"."+t.symbol:"")+(t.address?"--"+t.address:"")}var c,u,p,h,f,l=function(t){return"EVM"===t.type},d=function(t){return"COSMOS"===t.type},v=function(t){return"SOLANA"===t.type},y=function(t){return"TRON"===t.type},g=function(t){return"TRANSFER"===t.type},m=function(t){return"STARKNET"===t.type},w=function(t){return"TON"===t.type};(c=exports.RoutingResultType||(exports.RoutingResultType={})).OK="OK",c.HIGH_IMPACT="HIGH_IMPACT",c.NO_ROUTE="NO_ROUTE",c.INPUT_LIMIT_ISSUE="INPUT_LIMIT_ISSUE",c.HIGH_IMPACT_FOR_CREATE_TX="HIGH_IMPACT_FOR_CREATE_TX",(u=exports.TransactionType||(exports.TransactionType={})).EVM="EVM",u.TRANSFER="TRANSFER",u.COSMOS="COSMOS",u.SOLANA="SOLANA",u.TRON="TRON",u.STARKNET="STARKNET",u.TON="TON",u.SUI="SUI",u.XRPL="XRPL",(p=exports.GenericTransactionType||(exports.GenericTransactionType={})).EVM="EVM",p.TRANSFER="TRANSFER",p.COSMOS="COSMOS",p.SOLANA="SOLANA",(h=exports.TransactionStatus||(exports.TransactionStatus={})).FAILED="failed",h.RUNNING="running",h.SUCCESS="success",function(t){t.MAINNET="-239",t.TESTNET="-3"}(f||(f={})),exports.RangoClient=function(){function t(t,n,o){void 0===n&&(n=!1),this.apiUrl=o||"https://api.rango.exchange",this.apiKey=t;try{if("undefined"!=typeof window){var i=localStorage.getItem("deviceId");if(i)this.deviceId=i;else{var a=e();localStorage.setItem("deviceId",a),this.deviceId=a}}else this.deviceId=e()}catch(t){this.deviceId=e()}this.httpService=r.create({baseURL:this.apiUrl}),n&&(this.httpService.interceptors.request.use((function(t){return console.log("Starting Request",JSON.stringify(t,null,2)),t})),this.httpService.interceptors.response.use((function(t){return console.log("Response:",JSON.stringify(t,null,2)),t})))}var n=t.prototype;return n.meta=function(){var t=o(a().mark((function t(e,r){var n,o,s,c,u;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return u=i({},e,{blockchains:null==e||null==(n=e.blockchains)?void 0:n.join(),swappers:null==e||null==(o=e.swappers)?void 0:o.join(),swappersGroups:null==e||null==(s=e.swappersGroups)?void 0:s.join(),transactionTypes:null==e||null==(c=e.transactionTypes)?void 0:c.join()}),t.next=3,this.httpService.get("/basic/meta?apiKey="+this.apiKey,i({params:u},r));case 3:return t.abrupt("return",t.sent.data);case 5:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),n.chains=function(){var t=o(a().mark((function t(e){return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.httpService.get("/basic/meta/blockchains?apiKey="+this.apiKey,i({},e));case 2:return t.abrupt("return",t.sent.data);case 4:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),n.swappers=function(){var t=o(a().mark((function t(e){return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.httpService.get("/basic/meta/swappers?apiKey="+this.apiKey,i({},e));case 2:return t.abrupt("return",t.sent.data);case 4:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),n.messagingProtocols=function(){var t=o(a().mark((function t(e){return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.httpService.get("/basic/meta/messaging-protocols?apiKey="+this.apiKey,i({},e));case 2:return t.abrupt("return",t.sent.data);case 4:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),n.token=function(){var t=o(a().mark((function t(e,r){return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.httpService.get("/basic/meta/custom-token?apiKey="+this.apiKey,i({params:e},r));case 2:return t.abrupt("return",t.sent.data);case 4:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),n.quote=function(){var t=o(a().mark((function t(e,r){var n;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=i({},e,{from:s(e.from),to:s(e.to),swappers:e.swappers&&e.swappers.length>0?e.swappers.join(","):void 0,swapperGroups:e.swapperGroups&&e.swapperGroups.length>0?e.swapperGroups.join(","):void 0,messagingProtocols:e.messagingProtocols&&e.messagingProtocols.length>0?e.messagingProtocols.join(","):void 0}),t.next=3,this.httpService.get("/basic/quote?apiKey="+this.apiKey,i({params:n,headers:{"X-Rango-Id":this.deviceId}},r));case 3:return t.abrupt("return",t.sent.data);case 5:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),n.isApproved=function(){var t=o(a().mark((function t(e,r,n){return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.httpService.get("/basic/is-approved?apiKey="+this.apiKey,i({params:{requestId:e,txId:r},headers:{"X-Rango-Id":this.deviceId}},n));case 2:return t.abrupt("return",t.sent.data);case 4:case"end":return t.stop()}}),t,this)})));return function(e,r,n){return t.apply(this,arguments)}}(),n.status=function(){var t=o(a().mark((function t(e,r){return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.httpService.get("/basic/status?apiKey="+this.apiKey,i({params:e,headers:{"X-Rango-Id":this.deviceId}},r));case 2:return t.abrupt("return",t.sent.data);case 4:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),n.swap=function(){var t=o(a().mark((function t(e,r){var n;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=i({},e,{from:s(e.from),to:s(e.to),referrerAddress:e.referrerAddress||null,referrerFee:e.referrerFee||null,disableEstimate:e.disableEstimate||!1,swappers:e.swappers&&e.swappers.length>0?e.swappers.join(","):void 0,swapperGroups:e.swapperGroups&&e.swapperGroups.length>0?e.swapperGroups.join(","):void 0,messagingProtocols:e.messagingProtocols&&e.messagingProtocols.length>0?e.messagingProtocols.join(","):void 0}),t.next=3,this.httpService.get("/basic/swap?apiKey="+this.apiKey,i({params:n,headers:{"X-Rango-Id":this.deviceId}},r));case 3:return t.abrupt("return",t.sent.data);case 5:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),n.reportFailure=function(){var t=o(a().mark((function t(e,r){return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.httpService.post("/basic/report-tx?apiKey="+this.apiKey,e,i({headers:{"X-Rango-Id":this.deviceId}},r));case 2:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),n.balance=function(){var t=o(a().mark((function t(e,r){return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.httpService.get("/basic/balance?apiKey="+this.apiKey,i({params:e,headers:{"X-Rango-Id":this.deviceId}},r));case 2:return t.abrupt("return",t.sent.data);case 4:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),n.tokenBalance=function(){var t=o(a().mark((function t(e,r){return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.httpService.get("/basic/token-balance?apiKey="+this.apiKey,i({params:e},r));case 2:return t.abrupt("return",t.sent.data);case 4:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),n.connectedAssets=function(){var t=o(a().mark((function t(e,r){var n;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n={from:s(e.from)},t.next=3,this.httpService.get("/basic/connected-assets?apiKey="+this.apiKey,i({params:n,headers:{"X-Rango-Id":this.deviceId}},r));case 3:return t.abrupt("return",t.sent.data);case 5:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),t}(),exports.assetToString=s,exports.cosmosBlockchains=function(t){return t.filter(d)},exports.evmBlockchains=function(t){return t.filter(l)},exports.isCosmosBlockchain=d,exports.isCosmosTransaction=function(t){return t.type===exports.TransactionType.COSMOS},exports.isEvmBlockchain=l,exports.isEvmTransaction=function(t){return t.type===exports.TransactionType.EVM},exports.isSolanaBlockchain=v,exports.isSolanaTransaction=function(t){return t.type===exports.TransactionType.SOLANA},exports.isStarknetBlockchain=m,exports.isTonBlockchain=w,exports.isTransferBlockchain=g,exports.isTransferTransaction=function(t){return t.type===exports.TransactionType.TRANSFER},exports.isTronBlockchain=y,exports.solanaBlockchain=function(t){return t.filter(v)},exports.starknetBlockchain=function(t){return t.filter(m)},exports.tonBlockchain=function(t){return t.filter(w)},exports.transferBlockchains=function(t){return t.filter(g)},exports.tronBlockchain=function(t){return t.filter(y)};
1
+ "use strict";function t(t){return t&&"object"==typeof t&&"default"in t?t.default:t}Object.defineProperty(exports,"__esModule",{value:!0});var e=t(require("uuid-random")),r=t(require("axios"));function n(t,e,r,n,o,i,a){try{var s=t[i](a),c=s.value}catch(t){return void r(t)}s.done?e(c):Promise.resolve(c).then(n,o)}function o(t){return function(){var e=this,r=arguments;return new Promise((function(o,i){var a=t.apply(e,r);function s(t){n(a,o,i,s,c,"next",t)}function c(t){n(a,o,i,s,c,"throw",t)}s(void 0)}))}}function i(){return(i=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)({}).hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t}).apply(null,arguments)}function a(){a=function(){return e};var t,e={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(t,e,r){t[e]=r.value},i="function"==typeof Symbol?Symbol:{},s=i.iterator||"@@iterator",c=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function p(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{p({},"")}catch(t){p=function(t,e,r){return t[e]=r}}function h(t,e,r,n){var i=Object.create((e&&e.prototype instanceof g?e:g).prototype),a=new N(n||[]);return o(i,"_invoke",{value:I(t,r,a)}),i}function f(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=h;var l="suspendedStart",d="executing",v="completed",y={};function g(){}function m(){}function w(){}var x={};p(x,s,(function(){return this}));var T=Object.getPrototypeOf,S=T&&T(T(A([])));S&&S!==r&&n.call(S,s)&&(x=S);var b=w.prototype=g.prototype=Object.create(x);function E(t){["next","throw","return"].forEach((function(e){p(t,e,(function(t){return this._invoke(e,t)}))}))}function O(t,e){function r(o,i,a,s){var c=f(t[o],t,i);if("throw"!==c.type){var u=c.arg,p=u.value;return p&&"object"==typeof p&&n.call(p,"__await")?e.resolve(p.__await).then((function(t){r("next",t,a,s)}),(function(t){r("throw",t,a,s)})):e.resolve(p).then((function(t){u.value=t,a(u)}),(function(t){return r("throw",t,a,s)}))}s(c.arg)}var i;o(this,"_invoke",{value:function(t,n){function o(){return new e((function(e,o){r(t,n,e,o)}))}return i=i?i.then(o,o):o()}})}function I(e,r,n){var o=l;return function(i,a){if(o===d)throw Error("Generator is already running");if(o===v){if("throw"===i)throw a;return{value:t,done:!0}}for(n.method=i,n.arg=a;;){var s=n.delegate;if(s){var c=k(s,n);if(c){if(c===y)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===l)throw o=v,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=d;var u=f(e,r,n);if("normal"===u.type){if(o=n.done?v:"suspendedYield",u.arg===y)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(o=v,n.method="throw",n.arg=u.arg)}}}function k(e,r){var n=r.method,o=e.iterator[n];if(o===t)return r.delegate=null,"throw"===n&&e.iterator.return&&(r.method="return",r.arg=t,k(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),y;var i=f(o,e.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,y;var a=i.arg;return a?a.done?(r[e.resultName]=a.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,y):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,y)}function R(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function L(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function N(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(R,this),this.reset(!0)}function A(e){if(e||""===e){var r=e[s];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function r(){for(;++o<e.length;)if(n.call(e,o))return r.value=e[o],r.done=!1,r;return r.value=t,r.done=!0,r};return i.next=i}}throw new TypeError(typeof e+" is not iterable")}return m.prototype=w,o(b,"constructor",{value:w,configurable:!0}),o(w,"constructor",{value:m,configurable:!0}),m.displayName=p(w,u,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===m||"GeneratorFunction"===(e.displayName||e.name))},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,w):(t.__proto__=w,p(t,u,"GeneratorFunction")),t.prototype=Object.create(b),t},e.awrap=function(t){return{__await:t}},E(O.prototype),p(O.prototype,c,(function(){return this})),e.AsyncIterator=O,e.async=function(t,r,n,o,i){void 0===i&&(i=Promise);var a=new O(h(t,r,n,o),i);return e.isGeneratorFunction(r)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},E(b),p(b,u,"Generator"),p(b,s,(function(){return this})),p(b,"toString",(function(){return"[object Generator]"})),e.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},e.values=A,N.prototype={constructor:N,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(L),!e)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var r=this;function o(n,o){return s.type="throw",s.arg=e,r.next=n,o&&(r.method="next",r.arg=t),!!o}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],s=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var c=n.call(a,"catchLoc"),u=n.call(a,"finallyLoc");if(c&&u){if(this.prev<a.catchLoc)return o(a.catchLoc,!0);if(this.prev<a.finallyLoc)return o(a.finallyLoc)}else if(c){if(this.prev<a.catchLoc)return o(a.catchLoc,!0)}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return o(a.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,y):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),y},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),L(r),y}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;L(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:A(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),y}},e}function s(t){return t.blockchain+(t.symbol?"."+t.symbol:"")+(t.address?"--"+t.address:"")}var c,u,p,h,f,l=function(t){return"EVM"===t.type},d=function(t){return"COSMOS"===t.type},v=function(t){return"SOLANA"===t.type},y=function(t){return"TRON"===t.type},g=function(t){return"TRANSFER"===t.type},m=function(t){return"STARKNET"===t.type},w=function(t){return"TON"===t.type},x=function(t){return"XRPL"===t.type};(c=exports.RoutingResultType||(exports.RoutingResultType={})).OK="OK",c.HIGH_IMPACT="HIGH_IMPACT",c.NO_ROUTE="NO_ROUTE",c.INPUT_LIMIT_ISSUE="INPUT_LIMIT_ISSUE",c.HIGH_IMPACT_FOR_CREATE_TX="HIGH_IMPACT_FOR_CREATE_TX",(u=exports.TransactionType||(exports.TransactionType={})).EVM="EVM",u.TRANSFER="TRANSFER",u.COSMOS="COSMOS",u.SOLANA="SOLANA",u.TRON="TRON",u.STARKNET="STARKNET",u.TON="TON",u.SUI="SUI",u.XRPL="XRPL",(p=exports.GenericTransactionType||(exports.GenericTransactionType={})).EVM="EVM",p.TRANSFER="TRANSFER",p.COSMOS="COSMOS",p.SOLANA="SOLANA",(h=exports.TransactionStatus||(exports.TransactionStatus={})).FAILED="failed",h.RUNNING="running",h.SUCCESS="success",function(t){t.MAINNET="-239",t.TESTNET="-3"}(f||(f={})),exports.RangoClient=function(){function t(t,n,o){void 0===n&&(n=!1),this.apiUrl=o||"https://api.rango.exchange",this.apiKey=t;try{if("undefined"!=typeof window){var i=localStorage.getItem("deviceId");if(i)this.deviceId=i;else{var a=e();localStorage.setItem("deviceId",a),this.deviceId=a}}else this.deviceId=e()}catch(t){this.deviceId=e()}this.httpService=r.create({baseURL:this.apiUrl}),n&&(this.httpService.interceptors.request.use((function(t){return console.log("Starting Request",JSON.stringify(t,null,2)),t})),this.httpService.interceptors.response.use((function(t){return console.log("Response:",JSON.stringify(t,null,2)),t})))}var n=t.prototype;return n.meta=function(){var t=o(a().mark((function t(e,r){var n,o,s,c,u;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return u=i({},e,{blockchains:null==e||null==(n=e.blockchains)?void 0:n.join(),swappers:null==e||null==(o=e.swappers)?void 0:o.join(),swappersGroups:null==e||null==(s=e.swappersGroups)?void 0:s.join(),transactionTypes:null==e||null==(c=e.transactionTypes)?void 0:c.join()}),t.next=3,this.httpService.get("/basic/meta?apiKey="+this.apiKey,i({params:u},r));case 3:return t.abrupt("return",t.sent.data);case 5:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),n.chains=function(){var t=o(a().mark((function t(e){return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.httpService.get("/basic/meta/blockchains?apiKey="+this.apiKey,i({},e));case 2:return t.abrupt("return",t.sent.data);case 4:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),n.swappers=function(){var t=o(a().mark((function t(e){return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.httpService.get("/basic/meta/swappers?apiKey="+this.apiKey,i({},e));case 2:return t.abrupt("return",t.sent.data);case 4:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),n.messagingProtocols=function(){var t=o(a().mark((function t(e){return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.httpService.get("/basic/meta/messaging-protocols?apiKey="+this.apiKey,i({},e));case 2:return t.abrupt("return",t.sent.data);case 4:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),n.token=function(){var t=o(a().mark((function t(e,r){return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.httpService.get("/basic/meta/custom-token?apiKey="+this.apiKey,i({params:e},r));case 2:return t.abrupt("return",t.sent.data);case 4:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),n.quote=function(){var t=o(a().mark((function t(e,r){var n;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=i({},e,{from:s(e.from),to:s(e.to),swappers:e.swappers&&e.swappers.length>0?e.swappers.join(","):void 0,swapperGroups:e.swapperGroups&&e.swapperGroups.length>0?e.swapperGroups.join(","):void 0,messagingProtocols:e.messagingProtocols&&e.messagingProtocols.length>0?e.messagingProtocols.join(","):void 0}),t.next=3,this.httpService.get("/basic/quote?apiKey="+this.apiKey,i({params:n,headers:{"X-Rango-Id":this.deviceId}},r));case 3:return t.abrupt("return",t.sent.data);case 5:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),n.isApproved=function(){var t=o(a().mark((function t(e,r,n){return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.httpService.get("/basic/is-approved?apiKey="+this.apiKey,i({params:{requestId:e,txId:r},headers:{"X-Rango-Id":this.deviceId}},n));case 2:return t.abrupt("return",t.sent.data);case 4:case"end":return t.stop()}}),t,this)})));return function(e,r,n){return t.apply(this,arguments)}}(),n.status=function(){var t=o(a().mark((function t(e,r){return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.httpService.get("/basic/status?apiKey="+this.apiKey,i({params:e,headers:{"X-Rango-Id":this.deviceId}},r));case 2:return t.abrupt("return",t.sent.data);case 4:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),n.swap=function(){var t=o(a().mark((function t(e,r){var n;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=i({},e,{from:s(e.from),to:s(e.to),referrerAddress:e.referrerAddress||null,referrerFee:e.referrerFee||null,disableEstimate:e.disableEstimate||!1,swappers:e.swappers&&e.swappers.length>0?e.swappers.join(","):void 0,swapperGroups:e.swapperGroups&&e.swapperGroups.length>0?e.swapperGroups.join(","):void 0,messagingProtocols:e.messagingProtocols&&e.messagingProtocols.length>0?e.messagingProtocols.join(","):void 0}),t.next=3,this.httpService.get("/basic/swap?apiKey="+this.apiKey,i({params:n,headers:{"X-Rango-Id":this.deviceId}},r));case 3:return t.abrupt("return",t.sent.data);case 5:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),n.reportFailure=function(){var t=o(a().mark((function t(e,r){return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.httpService.post("/basic/report-tx?apiKey="+this.apiKey,e,i({headers:{"X-Rango-Id":this.deviceId}},r));case 2:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),n.balance=function(){var t=o(a().mark((function t(e,r){return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.httpService.get("/basic/balance?apiKey="+this.apiKey,i({params:e,headers:{"X-Rango-Id":this.deviceId}},r));case 2:return t.abrupt("return",t.sent.data);case 4:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),n.tokenBalance=function(){var t=o(a().mark((function t(e,r){return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.httpService.get("/basic/token-balance?apiKey="+this.apiKey,i({params:e},r));case 2:return t.abrupt("return",t.sent.data);case 4:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),n.connectedAssets=function(){var t=o(a().mark((function t(e,r){var n;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n={from:s(e.from)},t.next=3,this.httpService.get("/basic/connected-assets?apiKey="+this.apiKey,i({params:n,headers:{"X-Rango-Id":this.deviceId}},r));case 3:return t.abrupt("return",t.sent.data);case 5:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),t}(),exports.assetToString=s,exports.cosmosBlockchains=function(t){return t.filter(d)},exports.evmBlockchains=function(t){return t.filter(l)},exports.isCosmosBlockchain=d,exports.isCosmosTransaction=function(t){return t.type===exports.TransactionType.COSMOS},exports.isEvmBlockchain=l,exports.isEvmTransaction=function(t){return t.type===exports.TransactionType.EVM},exports.isSolanaBlockchain=v,exports.isSolanaTransaction=function(t){return t.type===exports.TransactionType.SOLANA},exports.isStarknetBlockchain=m,exports.isTonBlockchain=w,exports.isTransferBlockchain=g,exports.isTransferTransaction=function(t){return t.type===exports.TransactionType.TRANSFER},exports.isTronBlockchain=y,exports.isXrplBlockchain=x,exports.solanaBlockchain=function(t){return t.filter(v)},exports.starknetBlockchain=function(t){return t.filter(m)},exports.tonBlockchain=function(t){return t.filter(w)},exports.transferBlockchains=function(t){return t.filter(g)},exports.tronBlockchain=function(t){return t.filter(y)},exports.xrplBlockchain=function(t){return t.filter(x)};
2
2
  //# sourceMappingURL=rango-sdk-basic.cjs.production.min.js.map
@@ -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/routing.ts","../node_modules/rango-types/src/api/shared/transactions.ts","../node_modules/rango-types/src/api/shared/txs/ton.ts","../node_modules/rango-types/src/api/shared/type-gaurds.ts","../src/services/client.ts","../node_modules/rango-types/src/api/shared/txs/cosmos.ts","../node_modules/rango-types/src/api/basic/txs/evm.ts","../node_modules/rango-types/src/api/shared/txs/solana.ts","../node_modules/rango-types/src/api/shared/txs/transfer.ts"],"sourcesContent":["import { RequestedAsset } from 'rango-types/lib/api/basic'\nexport * from 'rango-types/lib/api/basic/common'\n\nexport function assetToString(asset: RequestedAsset): string {\n return `${asset.blockchain}${asset.symbol ? '.' + asset.symbol : ''}${\n asset.address ? '--' + asset.address : ''\n }`\n}\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 HIGH_IMPACT_FOR_CREATE_TX = 'HIGH_IMPACT_FOR_CREATE_TX',\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 SUI = 'SUI',\n XRPL = 'XRPL',\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] - @deprecated 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 '../transactions.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","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","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 RequestOptions,\n MessagingProtocolsResponse,\n SwapperMetaExtended,\n ConnectedAssetsResponse,\n ConnectedAssetsRequest,\n CustomTokenRequest,\n CustomTokenResponse,\n TokenBalanceRequest,\n TokenBalanceResponse,\n} from '../types'\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<SwapperMetaExtended[]> {\n const axiosResponse = await this.httpService.get<SwapperMetaExtended[]>(\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\n public async token(\n customTokenRequest?: CustomTokenRequest,\n options?: RequestOptions\n ): Promise<CustomTokenResponse> {\n const axiosResponse = await this.httpService.get<CustomTokenResponse>(\n `/basic/meta/custom-token?apiKey=${this.apiKey}`,\n { params: customTokenRequest, ...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 tokenBalance(\n tokenBalanceRequest: TokenBalanceRequest,\n options?: RequestOptions\n ): Promise<TokenBalanceResponse> {\n const axiosResponse = await this.httpService.get<TokenBalanceResponse>(\n `/basic/token-balance?apiKey=${this.apiKey}`,\n { params: tokenBalanceRequest, ...options }\n )\n return axiosResponse.data\n }\n\n public async connectedAssets(\n connectedAssetsRequest: ConnectedAssetsRequest,\n options?: RequestOptions\n ): Promise<ConnectedAssetsResponse> {\n const body = {\n from: assetToString(connectedAssetsRequest.from),\n }\n\n const axiosResponse = await this.httpService.get<ConnectedAssetsResponse>(\n `/basic/connected-assets?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","import { AssetWithTicker } from '../common.js'\nimport { TransactionType } from '../transactions.js'\nimport { BaseTransaction } from './base.js'\n\n/**\n * CosmosCoin\n */\nexport type CosmosCoin = {\n amount: string\n denom: string\n}\n\n/**\n * CosmosProtoMsg\n */\nexport type CosmosProtoMsg = {\n type_url: string\n value: number[]\n}\n\n/**\n * CosmosFee representing fee for cosmos transaction\n */\nexport type CosmosFee = {\n gas: string\n amount: CosmosCoin[]\n}\n\n/**\n * Main transaction object for COSMOS type transactions\n */\nexport type CosmosMessage = {\n signType: 'AMINO' | 'DIRECT'\n sequence: string | null\n source: number | null\n account_number: number | null\n rpcUrl: string\n chainId: string | null\n msgs: any[] // TODO\n protoMsgs: CosmosProtoMsg[]\n memo: string | null\n fee: CosmosFee | null\n}\n/**\n * An alternative to CosmosMessage object for the cosmos wallets that do not support generic Cosmos messages (e.g. XDefi)\n *\n * @property {AssetWithTicker} asset - The asset to be transferred\n * @property {string} amount - The machine-readable amount to transfer, example: 1000000000000000000\n * @property {number} decimals - The decimals for this asset, example: 18\n * @property {string | null} memo - Memo of transaction, could be null\n * @property {string} method - The transaction method, example: transfer, deposit\n * @property {string} recipient - The recipient address of transaction\n *\n */\nexport type CosmosRawTransferData = {\n amount: string\n asset: AssetWithTicker\n decimals: number\n memo: string | null\n method: string\n recipient: string\n}\n\n/**\n * A Cosmos transaction, child of GenericTransaction\n *\n * @property {TransactionType} type - This fields equals to COSMOS for all CosmosTransactions\n * @property {string} blockChain - The blockchain that this transaction will be executed in, same as the input blockchain of creating transaction\n * @property {string} fromWalletAddress - Address of wallet that this transaction should be executed in, same as the create transaction request's input\n * @property {CosmosMessage} data - Transaction data\n * @property {CosmosRawTransferData | null} rawTransfer - An alternative to CosmosMessage object for the cosmos wallets that do not support generic Cosmos messages\n *\n */\nexport interface CosmosTransaction extends BaseTransaction {\n type: TransactionType.COSMOS\n fromWalletAddress: string\n data: CosmosMessage\n rawTransfer: CosmosRawTransferData | null\n}\n\nexport const isCosmosTransaction = (transaction: {\n type: TransactionType\n}): transaction is CosmosTransaction =>\n transaction.type === TransactionType.COSMOS\n","import { BlockchainMetaBase } from '../meta.js'\nimport { TransactionType } from '../transactions.js'\n\n\n\n/**\n * Blockchain info for basic API EVM transaction\n */\nexport type EvmTransactionBlockchain = Pick<\n BlockchainMetaBase, 'name' | 'defaultDecimals' | 'addressPatterns' | 'feeAssets' | 'type' | 'chainId'\n>\n\n/**\n * The transaction object for all EVM-based blockchains, including Ethereum, BSC, Polygon, Harmony, etc\n *\n * @property {TransactionType} type - This fields equals to EVM for all EVMTransactions\n * @property {EvmTransactionBlockchain} blockChain - The blockchain info that this transaction is going to run in\n * @property {string | null} from - The source wallet address, it can be null\n * @property {string} approveTo - Address of source token erc20 contract for increasing approve amount\n * @property {string | null} approveData - The data of approve transaction\n * @property {string} txTo - Address of dex/bridge smart contract that is going to be called\n * @property {string | null} txData - The data of main transaction, it can be null in case of native token transfer\n * @property {string | null} value - The amount of transaction in case of native token transfer\n * @property {string | null} gasPrice - The suggested gas price for this transaction\n * @property {string | null} gasLimit - The suggested gas limit for this transaction\n * @property {string | null} maxPriorityFeePerGas - Suggested max priority fee per gas for this transaction\n * @property {string | null} maxFeePerGas - Suggested max fee per gas for this transaction\n *\n */\nexport interface EvmTransaction {\n type: TransactionType.EVM\n blockChain: EvmTransactionBlockchain\n from: string | null\n approveTo: string | null\n approveData: string | null\n txTo: string\n txData: string | null\n value: string | null\n gasLimit: string | null\n gasPrice: string | null\n maxPriorityFeePerGas: string | null\n maxFeePerGas: string | null\n}\n\nexport const isEvmTransaction = (transaction: {\n type: TransactionType\n}): transaction is EvmTransaction => transaction.type === TransactionType.EVM\n","import { TransactionType } from '../transactions.js'\nimport { BaseTransaction } from './base.js'\n\n/**\n * Account metadata used to define instructions\n */\nexport type SolanaInstructionKey = {\n pubkey: string\n isSigner: boolean\n isWritable: boolean\n}\n\n/**\n * Transaction Instruction class\n */\nexport type SolanaInstruction = {\n keys: SolanaInstructionKey[]\n programId: string\n data: number[]\n}\n\n/**\n * Pair of signature and corresponding public key\n */\nexport type SolanaSignature = {\n signature: number[]\n publicKey: string\n}\n\n/**\n * This type of transaction is used for all solana transactions\n *\n * @property {TransactionType} type - This fields equals to SOLANA for all SolanaTransactions\n * @property {'LEGACY' | 'VERSIONED'} txType - Type of the solana transaction\n * @property {string} blockChain, equals to SOLANA\n * @property {string} from, Source wallet address\n * @property {string} identifier, Transaction hash used in case of retry\n * @property {string | null} recentBlockhash, A recent blockhash\n * @property {SolanaSignature[]} signatures, Signatures for the transaction\n * @property {number[] | null} serializedMessage, The byte array of the transaction\n * @property {SolanaInstruction[]} instructions, The instructions to atomically execute\n *\n */\nexport interface SolanaTransaction extends BaseTransaction {\n type: TransactionType.SOLANA\n txType: 'LEGACY' | 'VERSIONED'\n from: string\n identifier: string\n recentBlockhash: string | null\n signatures: SolanaSignature[]\n serializedMessage: number[] | null\n instructions: SolanaInstruction[]\n}\n\nexport const isSolanaTransaction = (transaction: {\n type: TransactionType\n}): transaction is SolanaTransaction =>\n transaction.type === TransactionType.SOLANA\n","import { AssetWithTicker } from '../common.js'\nimport { TransactionType } from '../transactions.js'\nimport { BaseTransaction } from './base.js'\n\nexport type InputToSign = { address: string, signingIndexes: number[] }\n/**\n * @property {unsignedPsbtBase64} unsignedPsbtBase64 - Base 64 representation of the Unsigned PSBT\n * @property {InputToSign[]} inputsToSign - Inputs to be signed\n */\nexport type PSBT = {\n unsignedPsbtBase64: string\n inputsToSign: InputToSign[]\n}\n/**\n * TransferTransaction. This type of transaction is used for UTXO blockchains including BTC, LTC, BCH\n *\n * @property {TransactionType} type - This fields equals to TRANSFER for all TransferTransactions\n * @property {string} blockChain - The blockchain that this transaction will be executed in, same as the input blockchain of creating transaction\n * @property {string} method - The method that should be passed to wallet. examples: deposit, transfer\n * @property {AssetWithTicker} asset\n * @property {string} amount - The machine-readable amount of transaction, example: 1000000000000000000\n * @property {number} decimals - The decimals of the asset\n * @property {string} fromWalletAddress - The source wallet address that can sign this transaction\n * @property {string} recipientAddress - The destination wallet address that the fund should be sent to\n * @property {string | null} memo - The memo of transaction, can be null\n * @property {PSBT | null} psbt - PSBT object containing base 64 representation of the Unsigned PSBT along with the inputs to be signed\n *\n */\nexport interface Transfer extends BaseTransaction {\n type: TransactionType.TRANSFER\n method: string\n asset: AssetWithTicker\n amount: string\n decimals: number\n fromWalletAddress: string\n recipientAddress: string\n memo: string | null\n psbt: PSBT | null\n}\n\nexport const isTransferTransaction = (transaction: {\n type: TransactionType\n}): transaction is Transfer => transaction.type === TransactionType.TRANSFER\n"],"names":["assetToString","asset","blockchain","symbol","address","RoutingResultType","TransactionType","GenericTransactionType","TransactionStatus","TonChainID","isEvmBlockchain","blockchainMeta","type","isCosmosBlockchain","isSolanaBlockchain","isTronBlockchain","isTransferBlockchain","isStarknetBlockchain","isTonBlockchain","RangoClient","apiKey","debug","apiUrl","this","window","deviceId","localStorage","getItem","generatedId","uuid","setItem","e","httpService","axios","create","baseURL","interceptors","request","use","console","log","JSON","stringify","response","_proto","prototype","meta","_meta","_asyncToGenerator","_regeneratorRuntime","mark","_callee","metaRequest","options","_metaRequest$blockcha","_metaRequest$swappers","_metaRequest$swappers2","_metaRequest$transact","params","wrap","_context","prev","next","_extends","blockchains","join","swappers","swappersGroups","transactionTypes","get","abrupt","sent","data","stop","_x","_x2","apply","arguments","chains","_chains","_callee2","_context2","_x3","_swappers","_callee3","_context3","_x4","messagingProtocols","_messagingProtocols","_callee4","_context4","_x5","token","_token","_callee5","customTokenRequest","_context5","_x6","_x7","quote","_quote","_callee6","quoteRequest","body","_context6","from","to","length","undefined","swapperGroups","headers","X-Rango-Id","_x8","_x9","isApproved","_isApproved","_callee7","requestId","txId","_context7","_x10","_x11","_x12","status","_status","_callee8","statusRequest","_context8","_x13","_x14","swap","_swap","_callee9","swapRequest","_context9","referrerAddress","referrerFee","disableEstimate","_x15","_x16","reportFailure","_reportFailure","_callee10","requestBody","_context10","post","_x17","_x18","balance","_balance","_callee11","walletAddress","_context11","_x19","_x20","tokenBalance","_tokenBalance","_callee12","tokenBalanceRequest","_context12","_x21","_x22","connectedAssets","_connectedAssets","_callee13","connectedAssetsRequest","_context13","_x23","_x24","filter","transaction","COSMOS","EVM","SOLANA","TRANSFER"],"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/routing.ts","../node_modules/rango-types/src/api/shared/transactions.ts","../node_modules/rango-types/src/api/shared/txs/ton.ts","../node_modules/rango-types/src/api/shared/type-gaurds.ts","../src/services/client.ts","../node_modules/rango-types/src/api/shared/txs/cosmos.ts","../node_modules/rango-types/src/api/basic/txs/evm.ts","../node_modules/rango-types/src/api/shared/txs/solana.ts","../node_modules/rango-types/src/api/shared/txs/transfer.ts"],"sourcesContent":["import { RequestedAsset } from 'rango-types/lib/api/basic'\nexport * from 'rango-types/lib/api/basic/common'\n\nexport function assetToString(asset: RequestedAsset): string {\n return `${asset.blockchain}${asset.symbol ? '.' + asset.symbol : ''}${\n asset.address ? '--' + asset.address : ''\n }`\n}\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 HIGH_IMPACT_FOR_CREATE_TX = 'HIGH_IMPACT_FOR_CREATE_TX',\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 SUI = 'SUI',\n XRPL = 'XRPL',\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] - @deprecated 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 '../transactions.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","import {\n BlockchainMeta,\n CosmosBlockchainMeta,\n EvmBlockchainMeta,\n SolanaBlockchainMeta,\n StarkNetBlockchainMeta,\n TonBlockchainMeta,\n TransferBlockchainMeta,\n TronBlockchainMeta,\n XrplBlockchainMeta,\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 isXrplBlockchain = (\n blockchainMeta: BlockchainMeta\n): blockchainMeta is XrplBlockchainMeta => blockchainMeta.type === 'XRPL'\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\nexport const xrplBlockchain = (blockchains: BlockchainMeta[]) =>\n blockchains.filter(isXrplBlockchain)\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 RequestOptions,\n MessagingProtocolsResponse,\n SwapperMetaExtended,\n ConnectedAssetsResponse,\n ConnectedAssetsRequest,\n CustomTokenRequest,\n CustomTokenResponse,\n TokenBalanceRequest,\n TokenBalanceResponse,\n} from '../types'\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<SwapperMetaExtended[]> {\n const axiosResponse = await this.httpService.get<SwapperMetaExtended[]>(\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\n public async token(\n customTokenRequest?: CustomTokenRequest,\n options?: RequestOptions\n ): Promise<CustomTokenResponse> {\n const axiosResponse = await this.httpService.get<CustomTokenResponse>(\n `/basic/meta/custom-token?apiKey=${this.apiKey}`,\n { params: customTokenRequest, ...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 tokenBalance(\n tokenBalanceRequest: TokenBalanceRequest,\n options?: RequestOptions\n ): Promise<TokenBalanceResponse> {\n const axiosResponse = await this.httpService.get<TokenBalanceResponse>(\n `/basic/token-balance?apiKey=${this.apiKey}`,\n { params: tokenBalanceRequest, ...options }\n )\n return axiosResponse.data\n }\n\n public async connectedAssets(\n connectedAssetsRequest: ConnectedAssetsRequest,\n options?: RequestOptions\n ): Promise<ConnectedAssetsResponse> {\n const body = {\n from: assetToString(connectedAssetsRequest.from),\n }\n\n const axiosResponse = await this.httpService.get<ConnectedAssetsResponse>(\n `/basic/connected-assets?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","import { AssetWithTicker } from '../common.js'\nimport { TransactionType } from '../transactions.js'\nimport { BaseTransaction } from './base.js'\n\n/**\n * CosmosCoin\n */\nexport type CosmosCoin = {\n amount: string\n denom: string\n}\n\n/**\n * CosmosProtoMsg\n */\nexport type CosmosProtoMsg = {\n type_url: string\n value: number[]\n}\n\n/**\n * CosmosFee representing fee for cosmos transaction\n */\nexport type CosmosFee = {\n gas: string\n amount: CosmosCoin[]\n}\n\n/**\n * Main transaction object for COSMOS type transactions\n */\nexport type CosmosMessage = {\n signType: 'AMINO' | 'DIRECT'\n sequence: string | null\n source: number | null\n account_number: number | null\n rpcUrl: string\n chainId: string | null\n msgs: any[] // TODO\n protoMsgs: CosmosProtoMsg[]\n memo: string | null\n fee: CosmosFee | null\n}\n/**\n * An alternative to CosmosMessage object for the cosmos wallets that do not support generic Cosmos messages (e.g. XDefi)\n *\n * @property {AssetWithTicker} asset - The asset to be transferred\n * @property {string} amount - The machine-readable amount to transfer, example: 1000000000000000000\n * @property {number} decimals - The decimals for this asset, example: 18\n * @property {string | null} memo - Memo of transaction, could be null\n * @property {string} method - The transaction method, example: transfer, deposit\n * @property {string} recipient - The recipient address of transaction\n *\n */\nexport type CosmosRawTransferData = {\n amount: string\n asset: AssetWithTicker\n decimals: number\n memo: string | null\n method: string\n recipient: string\n}\n\n/**\n * A Cosmos transaction, child of GenericTransaction\n *\n * @property {TransactionType} type - This fields equals to COSMOS for all CosmosTransactions\n * @property {string} blockChain - The blockchain that this transaction will be executed in, same as the input blockchain of creating transaction\n * @property {string} fromWalletAddress - Address of wallet that this transaction should be executed in, same as the create transaction request's input\n * @property {CosmosMessage} data - Transaction data\n * @property {CosmosRawTransferData | null} rawTransfer - An alternative to CosmosMessage object for the cosmos wallets that do not support generic Cosmos messages\n *\n */\nexport interface CosmosTransaction extends BaseTransaction {\n type: TransactionType.COSMOS\n fromWalletAddress: string\n data: CosmosMessage\n rawTransfer: CosmosRawTransferData | null\n}\n\nexport const isCosmosTransaction = (transaction: {\n type: TransactionType\n}): transaction is CosmosTransaction =>\n transaction.type === TransactionType.COSMOS\n","import { BlockchainMetaBase } from '../meta.js'\nimport { TransactionType } from '../transactions.js'\n\n\n\n/**\n * Blockchain info for basic API EVM transaction\n */\nexport type EvmTransactionBlockchain = Pick<\n BlockchainMetaBase, 'name' | 'defaultDecimals' | 'addressPatterns' | 'feeAssets' | 'type' | 'chainId'\n>\n\n/**\n * The transaction object for all EVM-based blockchains, including Ethereum, BSC, Polygon, Harmony, etc\n *\n * @property {TransactionType} type - This fields equals to EVM for all EVMTransactions\n * @property {EvmTransactionBlockchain} blockChain - The blockchain info that this transaction is going to run in\n * @property {string | null} from - The source wallet address, it can be null\n * @property {string} approveTo - Address of source token erc20 contract for increasing approve amount\n * @property {string | null} approveData - The data of approve transaction\n * @property {string} txTo - Address of dex/bridge smart contract that is going to be called\n * @property {string | null} txData - The data of main transaction, it can be null in case of native token transfer\n * @property {string | null} value - The amount of transaction in case of native token transfer\n * @property {string | null} gasPrice - The suggested gas price for this transaction\n * @property {string | null} gasLimit - The suggested gas limit for this transaction\n * @property {string | null} maxPriorityFeePerGas - Suggested max priority fee per gas for this transaction\n * @property {string | null} maxFeePerGas - Suggested max fee per gas for this transaction\n *\n */\nexport interface EvmTransaction {\n type: TransactionType.EVM\n blockChain: EvmTransactionBlockchain\n from: string | null\n approveTo: string | null\n approveData: string | null\n txTo: string\n txData: string | null\n value: string | null\n gasLimit: string | null\n gasPrice: string | null\n maxPriorityFeePerGas: string | null\n maxFeePerGas: string | null\n}\n\nexport const isEvmTransaction = (transaction: {\n type: TransactionType\n}): transaction is EvmTransaction => transaction.type === TransactionType.EVM\n","import { TransactionType } from '../transactions.js'\nimport { BaseTransaction } from './base.js'\n\n/**\n * Account metadata used to define instructions\n */\nexport type SolanaInstructionKey = {\n pubkey: string\n isSigner: boolean\n isWritable: boolean\n}\n\n/**\n * Transaction Instruction class\n */\nexport type SolanaInstruction = {\n keys: SolanaInstructionKey[]\n programId: string\n data: number[]\n}\n\n/**\n * Pair of signature and corresponding public key\n */\nexport type SolanaSignature = {\n signature: number[]\n publicKey: string\n}\n\n/**\n * This type of transaction is used for all solana transactions\n *\n * @property {TransactionType} type - This fields equals to SOLANA for all SolanaTransactions\n * @property {'LEGACY' | 'VERSIONED'} txType - Type of the solana transaction\n * @property {string} blockChain, equals to SOLANA\n * @property {string} from, Source wallet address\n * @property {string} identifier, Transaction hash used in case of retry\n * @property {string | null} recentBlockhash, A recent blockhash\n * @property {SolanaSignature[]} signatures, Signatures for the transaction\n * @property {number[] | null} serializedMessage, The byte array of the transaction\n * @property {SolanaInstruction[]} instructions, The instructions to atomically execute\n *\n */\nexport interface SolanaTransaction extends BaseTransaction {\n type: TransactionType.SOLANA\n txType: 'LEGACY' | 'VERSIONED'\n from: string\n identifier: string\n recentBlockhash: string | null\n signatures: SolanaSignature[]\n serializedMessage: number[] | null\n instructions: SolanaInstruction[]\n}\n\nexport const isSolanaTransaction = (transaction: {\n type: TransactionType\n}): transaction is SolanaTransaction =>\n transaction.type === TransactionType.SOLANA\n","import { AssetWithTicker } from '../common.js'\nimport { TransactionType } from '../transactions.js'\nimport { BaseTransaction } from './base.js'\n\nexport type InputToSign = { address: string, signingIndexes: number[] }\n/**\n * @property {unsignedPsbtBase64} unsignedPsbtBase64 - Base 64 representation of the Unsigned PSBT\n * @property {InputToSign[]} inputsToSign - Inputs to be signed\n */\nexport type PSBT = {\n unsignedPsbtBase64: string\n inputsToSign: InputToSign[]\n}\n/**\n * TransferTransaction. This type of transaction is used for UTXO blockchains including BTC, LTC, BCH\n *\n * @property {TransactionType} type - This fields equals to TRANSFER for all TransferTransactions\n * @property {string} blockChain - The blockchain that this transaction will be executed in, same as the input blockchain of creating transaction\n * @property {string} method - The method that should be passed to wallet. examples: deposit, transfer\n * @property {AssetWithTicker} asset\n * @property {string} amount - The machine-readable amount of transaction, example: 1000000000000000000\n * @property {number} decimals - The decimals of the asset\n * @property {string} fromWalletAddress - The source wallet address that can sign this transaction\n * @property {string} recipientAddress - The destination wallet address that the fund should be sent to\n * @property {string | null} memo - The memo of transaction, can be null\n * @property {PSBT | null} psbt - PSBT object containing base 64 representation of the Unsigned PSBT along with the inputs to be signed\n *\n */\nexport interface Transfer extends BaseTransaction {\n type: TransactionType.TRANSFER\n method: string\n asset: AssetWithTicker\n amount: string\n decimals: number\n fromWalletAddress: string\n recipientAddress: string\n memo: string | null\n psbt: PSBT | null\n}\n\nexport const isTransferTransaction = (transaction: {\n type: TransactionType\n}): transaction is Transfer => transaction.type === TransactionType.TRANSFER\n"],"names":["assetToString","asset","blockchain","symbol","address","RoutingResultType","TransactionType","GenericTransactionType","TransactionStatus","TonChainID","isEvmBlockchain","blockchainMeta","type","isCosmosBlockchain","isSolanaBlockchain","isTronBlockchain","isTransferBlockchain","isStarknetBlockchain","isTonBlockchain","isXrplBlockchain","RangoClient","apiKey","debug","apiUrl","this","window","deviceId","localStorage","getItem","generatedId","uuid","setItem","e","httpService","axios","create","baseURL","interceptors","request","use","console","log","JSON","stringify","response","_proto","prototype","meta","_meta","_asyncToGenerator","_regeneratorRuntime","mark","_callee","metaRequest","options","_metaRequest$blockcha","_metaRequest$swappers","_metaRequest$swappers2","_metaRequest$transact","params","wrap","_context","prev","next","_extends","blockchains","join","swappers","swappersGroups","transactionTypes","get","abrupt","sent","data","stop","_x","_x2","apply","arguments","chains","_chains","_callee2","_context2","_x3","_swappers","_callee3","_context3","_x4","messagingProtocols","_messagingProtocols","_callee4","_context4","_x5","token","_token","_callee5","customTokenRequest","_context5","_x6","_x7","quote","_quote","_callee6","quoteRequest","body","_context6","from","to","length","undefined","swapperGroups","headers","X-Rango-Id","_x8","_x9","isApproved","_isApproved","_callee7","requestId","txId","_context7","_x10","_x11","_x12","status","_status","_callee8","statusRequest","_context8","_x13","_x14","swap","_swap","_callee9","swapRequest","_context9","referrerAddress","referrerFee","disableEstimate","_x15","_x16","reportFailure","_reportFailure","_callee10","requestBody","_context10","post","_x17","_x18","balance","_balance","_callee11","walletAddress","_context11","_x19","_x20","tokenBalance","_tokenBalance","_callee12","tokenBalanceRequest","_context12","_x21","_x22","connectedAssets","_connectedAssets","_callee13","connectedAssetsRequest","_context13","_x23","_x24","filter","transaction","COSMOS","EVM","SOLANA","TRANSFER"],"mappings":"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"}
@@ -352,6 +352,7 @@ var isStarknetBlockchain = function (blockchainMeta) {
352
352
  return blockchainMeta.type === 'STARKNET';
353
353
  };
354
354
  var isTonBlockchain = function (blockchainMeta) { return blockchainMeta.type === 'TON'; };
355
+ var isXrplBlockchain = function (blockchainMeta) { return blockchainMeta.type === 'XRPL'; };
355
356
  var evmBlockchains = function (blockchains) {
356
357
  return blockchains.filter(isEvmBlockchain);
357
358
  };
@@ -373,6 +374,9 @@ var transferBlockchains = function (blockchains) {
373
374
  var tonBlockchain = function (blockchains) {
374
375
  return blockchains.filter(isTonBlockchain);
375
376
  };
377
+ var xrplBlockchain = function (blockchains) {
378
+ return blockchains.filter(isXrplBlockchain);
379
+ };
376
380
 
377
381
  /**
378
382
  * Routing Result Type
@@ -834,5 +838,5 @@ var RangoClient = /*#__PURE__*/function () {
834
838
  return RangoClient;
835
839
  }();
836
840
 
837
- export { GenericTransactionType, RangoClient, RoutingResultType, TransactionStatus, TransactionType, assetToString, cosmosBlockchains, evmBlockchains, isCosmosBlockchain, isCosmosTransaction, isEvmBlockchain, isEvmTransaction, isSolanaBlockchain, isSolanaTransaction, isStarknetBlockchain, isTonBlockchain, isTransferBlockchain, isTransferTransaction, isTronBlockchain, solanaBlockchain, starknetBlockchain, tonBlockchain, transferBlockchains, tronBlockchain };
841
+ export { GenericTransactionType, RangoClient, RoutingResultType, TransactionStatus, TransactionType, assetToString, cosmosBlockchains, evmBlockchains, isCosmosBlockchain, isCosmosTransaction, isEvmBlockchain, isEvmTransaction, isSolanaBlockchain, isSolanaTransaction, isStarknetBlockchain, isTonBlockchain, isTransferBlockchain, isTransferTransaction, isTronBlockchain, isXrplBlockchain, solanaBlockchain, starknetBlockchain, tonBlockchain, transferBlockchains, tronBlockchain, xrplBlockchain };
838
842
  //# sourceMappingURL=rango-sdk-basic.esm.js.map
@@ -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/cosmos.ts","../node_modules/rango-types/src/api/shared/txs/solana.ts","../node_modules/rango-types/src/api/shared/txs/transfer.ts","../node_modules/rango-types/src/api/shared/txs/ton.ts","../node_modules/rango-types/src/api/basic/txs/evm.ts","../src/services/client.ts"],"sourcesContent":["import { RequestedAsset } from 'rango-types/lib/api/basic'\nexport * from 'rango-types/lib/api/basic/common'\n\nexport function assetToString(asset: RequestedAsset): string {\n return `${asset.blockchain}${asset.symbol ? '.' + asset.symbol : ''}${\n asset.address ? '--' + asset.address : ''\n }`\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 HIGH_IMPACT_FOR_CREATE_TX = 'HIGH_IMPACT_FOR_CREATE_TX',\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 SUI = 'SUI',\n XRPL = 'XRPL',\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] - @deprecated 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 { AssetWithTicker } from '../common.js'\nimport { TransactionType } from '../transactions.js'\nimport { BaseTransaction } from './base.js'\n\n/**\n * CosmosCoin\n */\nexport type CosmosCoin = {\n amount: string\n denom: string\n}\n\n/**\n * CosmosProtoMsg\n */\nexport type CosmosProtoMsg = {\n type_url: string\n value: number[]\n}\n\n/**\n * CosmosFee representing fee for cosmos transaction\n */\nexport type CosmosFee = {\n gas: string\n amount: CosmosCoin[]\n}\n\n/**\n * Main transaction object for COSMOS type transactions\n */\nexport type CosmosMessage = {\n signType: 'AMINO' | 'DIRECT'\n sequence: string | null\n source: number | null\n account_number: number | null\n rpcUrl: string\n chainId: string | null\n msgs: any[] // TODO\n protoMsgs: CosmosProtoMsg[]\n memo: string | null\n fee: CosmosFee | null\n}\n/**\n * An alternative to CosmosMessage object for the cosmos wallets that do not support generic Cosmos messages (e.g. XDefi)\n *\n * @property {AssetWithTicker} asset - The asset to be transferred\n * @property {string} amount - The machine-readable amount to transfer, example: 1000000000000000000\n * @property {number} decimals - The decimals for this asset, example: 18\n * @property {string | null} memo - Memo of transaction, could be null\n * @property {string} method - The transaction method, example: transfer, deposit\n * @property {string} recipient - The recipient address of transaction\n *\n */\nexport type CosmosRawTransferData = {\n amount: string\n asset: AssetWithTicker\n decimals: number\n memo: string | null\n method: string\n recipient: string\n}\n\n/**\n * A Cosmos transaction, child of GenericTransaction\n *\n * @property {TransactionType} type - This fields equals to COSMOS for all CosmosTransactions\n * @property {string} blockChain - The blockchain that this transaction will be executed in, same as the input blockchain of creating transaction\n * @property {string} fromWalletAddress - Address of wallet that this transaction should be executed in, same as the create transaction request's input\n * @property {CosmosMessage} data - Transaction data\n * @property {CosmosRawTransferData | null} rawTransfer - An alternative to CosmosMessage object for the cosmos wallets that do not support generic Cosmos messages\n *\n */\nexport interface CosmosTransaction extends BaseTransaction {\n type: TransactionType.COSMOS\n fromWalletAddress: string\n data: CosmosMessage\n rawTransfer: CosmosRawTransferData | null\n}\n\nexport const isCosmosTransaction = (transaction: {\n type: TransactionType\n}): transaction is CosmosTransaction =>\n transaction.type === TransactionType.COSMOS\n","import { TransactionType } from '../transactions.js'\nimport { BaseTransaction } from './base.js'\n\n/**\n * Account metadata used to define instructions\n */\nexport type SolanaInstructionKey = {\n pubkey: string\n isSigner: boolean\n isWritable: boolean\n}\n\n/**\n * Transaction Instruction class\n */\nexport type SolanaInstruction = {\n keys: SolanaInstructionKey[]\n programId: string\n data: number[]\n}\n\n/**\n * Pair of signature and corresponding public key\n */\nexport type SolanaSignature = {\n signature: number[]\n publicKey: string\n}\n\n/**\n * This type of transaction is used for all solana transactions\n *\n * @property {TransactionType} type - This fields equals to SOLANA for all SolanaTransactions\n * @property {'LEGACY' | 'VERSIONED'} txType - Type of the solana transaction\n * @property {string} blockChain, equals to SOLANA\n * @property {string} from, Source wallet address\n * @property {string} identifier, Transaction hash used in case of retry\n * @property {string | null} recentBlockhash, A recent blockhash\n * @property {SolanaSignature[]} signatures, Signatures for the transaction\n * @property {number[] | null} serializedMessage, The byte array of the transaction\n * @property {SolanaInstruction[]} instructions, The instructions to atomically execute\n *\n */\nexport interface SolanaTransaction extends BaseTransaction {\n type: TransactionType.SOLANA\n txType: 'LEGACY' | 'VERSIONED'\n from: string\n identifier: string\n recentBlockhash: string | null\n signatures: SolanaSignature[]\n serializedMessage: number[] | null\n instructions: SolanaInstruction[]\n}\n\nexport const isSolanaTransaction = (transaction: {\n type: TransactionType\n}): transaction is SolanaTransaction =>\n transaction.type === TransactionType.SOLANA\n","import { AssetWithTicker } from '../common.js'\nimport { TransactionType } from '../transactions.js'\nimport { BaseTransaction } from './base.js'\n\nexport type InputToSign = { address: string, signingIndexes: number[] }\n/**\n * @property {unsignedPsbtBase64} unsignedPsbtBase64 - Base 64 representation of the Unsigned PSBT\n * @property {InputToSign[]} inputsToSign - Inputs to be signed\n */\nexport type PSBT = {\n unsignedPsbtBase64: string\n inputsToSign: InputToSign[]\n}\n/**\n * TransferTransaction. This type of transaction is used for UTXO blockchains including BTC, LTC, BCH\n *\n * @property {TransactionType} type - This fields equals to TRANSFER for all TransferTransactions\n * @property {string} blockChain - The blockchain that this transaction will be executed in, same as the input blockchain of creating transaction\n * @property {string} method - The method that should be passed to wallet. examples: deposit, transfer\n * @property {AssetWithTicker} asset\n * @property {string} amount - The machine-readable amount of transaction, example: 1000000000000000000\n * @property {number} decimals - The decimals of the asset\n * @property {string} fromWalletAddress - The source wallet address that can sign this transaction\n * @property {string} recipientAddress - The destination wallet address that the fund should be sent to\n * @property {string | null} memo - The memo of transaction, can be null\n * @property {PSBT | null} psbt - PSBT object containing base 64 representation of the Unsigned PSBT along with the inputs to be signed\n *\n */\nexport interface Transfer extends BaseTransaction {\n type: TransactionType.TRANSFER\n method: string\n asset: AssetWithTicker\n amount: string\n decimals: number\n fromWalletAddress: string\n recipientAddress: string\n memo: string | null\n psbt: PSBT | null\n}\n\nexport const isTransferTransaction = (transaction: {\n type: TransactionType\n}): transaction is Transfer => transaction.type === TransactionType.TRANSFER\n","import { TransactionType } from '../transactions.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","import { BlockchainMetaBase } from '../meta.js'\nimport { TransactionType } from '../transactions.js'\n\n\n\n/**\n * Blockchain info for basic API EVM transaction\n */\nexport type EvmTransactionBlockchain = Pick<\n BlockchainMetaBase, 'name' | 'defaultDecimals' | 'addressPatterns' | 'feeAssets' | 'type' | 'chainId'\n>\n\n/**\n * The transaction object for all EVM-based blockchains, including Ethereum, BSC, Polygon, Harmony, etc\n *\n * @property {TransactionType} type - This fields equals to EVM for all EVMTransactions\n * @property {EvmTransactionBlockchain} blockChain - The blockchain info that this transaction is going to run in\n * @property {string | null} from - The source wallet address, it can be null\n * @property {string} approveTo - Address of source token erc20 contract for increasing approve amount\n * @property {string | null} approveData - The data of approve transaction\n * @property {string} txTo - Address of dex/bridge smart contract that is going to be called\n * @property {string | null} txData - The data of main transaction, it can be null in case of native token transfer\n * @property {string | null} value - The amount of transaction in case of native token transfer\n * @property {string | null} gasPrice - The suggested gas price for this transaction\n * @property {string | null} gasLimit - The suggested gas limit for this transaction\n * @property {string | null} maxPriorityFeePerGas - Suggested max priority fee per gas for this transaction\n * @property {string | null} maxFeePerGas - Suggested max fee per gas for this transaction\n *\n */\nexport interface EvmTransaction {\n type: TransactionType.EVM\n blockChain: EvmTransactionBlockchain\n from: string | null\n approveTo: string | null\n approveData: string | null\n txTo: string\n txData: string | null\n value: string | null\n gasLimit: string | null\n gasPrice: string | null\n maxPriorityFeePerGas: string | null\n maxFeePerGas: string | null\n}\n\nexport const isEvmTransaction = (transaction: {\n type: TransactionType\n}): transaction is EvmTransaction => transaction.type === TransactionType.EVM\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 RequestOptions,\n MessagingProtocolsResponse,\n SwapperMetaExtended,\n ConnectedAssetsResponse,\n ConnectedAssetsRequest,\n CustomTokenRequest,\n CustomTokenResponse,\n TokenBalanceRequest,\n TokenBalanceResponse,\n} from '../types'\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<SwapperMetaExtended[]> {\n const axiosResponse = await this.httpService.get<SwapperMetaExtended[]>(\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\n public async token(\n customTokenRequest?: CustomTokenRequest,\n options?: RequestOptions\n ): Promise<CustomTokenResponse> {\n const axiosResponse = await this.httpService.get<CustomTokenResponse>(\n `/basic/meta/custom-token?apiKey=${this.apiKey}`,\n { params: customTokenRequest, ...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 tokenBalance(\n tokenBalanceRequest: TokenBalanceRequest,\n options?: RequestOptions\n ): Promise<TokenBalanceResponse> {\n const axiosResponse = await this.httpService.get<TokenBalanceResponse>(\n `/basic/token-balance?apiKey=${this.apiKey}`,\n { params: tokenBalanceRequest, ...options }\n )\n return axiosResponse.data\n }\n\n public async connectedAssets(\n connectedAssetsRequest: ConnectedAssetsRequest,\n options?: RequestOptions\n ): Promise<ConnectedAssetsResponse> {\n const body = {\n from: assetToString(connectedAssetsRequest.from),\n }\n\n const axiosResponse = await this.httpService.get<ConnectedAssetsResponse>(\n `/basic/connected-assets?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"],"names":["assetToString","asset","blockchain","symbol","address","RangoClient","apiKey","debug","apiUrl","window","deviceId","localStorage","getItem","generatedId","uuid","setItem","e","httpService","axios","create","baseURL","interceptors","request","use","console","log","JSON","stringify","response","_proto","prototype","meta","_meta","_asyncToGenerator","_regeneratorRuntime","mark","_callee","metaRequest","options","_metaRequest$blockcha","_metaRequest$swappers","_metaRequest$swappers2","_metaRequest$transact","params","axiosResponse","wrap","_callee$","_context","prev","next","_extends","blockchains","join","swappers","swappersGroups","transactionTypes","get","sent","abrupt","data","stop","_x","_x2","apply","arguments","chains","_chains","_callee2","_callee2$","_context2","_x3","_swappers","_callee3","_callee3$","_context3","_x4","messagingProtocols","_messagingProtocols","_callee4","_callee4$","_context4","_x5","token","_token","_callee5","customTokenRequest","_callee5$","_context5","_x6","_x7","quote","_quote","_callee6","quoteRequest","body","_callee6$","_context6","from","to","length","undefined","swapperGroups","headers","_x8","_x9","isApproved","_isApproved","_callee7","requestId","txId","_callee7$","_context7","_x10","_x11","_x12","status","_status","_callee8","statusRequest","_callee8$","_context8","_x13","_x14","swap","_swap","_callee9","swapRequest","_callee9$","_context9","referrerAddress","referrerFee","disableEstimate","_x15","_x16","reportFailure","_reportFailure","_callee10","requestBody","_callee10$","_context10","post","_x17","_x18","balance","_balance","_callee11","walletAddress","_callee11$","_context11","_x19","_x20","tokenBalance","_tokenBalance","_callee12","tokenBalanceRequest","_callee12$","_context12","_x21","_x22","connectedAssets","_connectedAssets","_callee13","connectedAssetsRequest","_callee13$","_context13","_x23","_x24"],"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/cosmos.ts","../node_modules/rango-types/src/api/shared/txs/solana.ts","../node_modules/rango-types/src/api/shared/txs/transfer.ts","../node_modules/rango-types/src/api/shared/txs/ton.ts","../node_modules/rango-types/src/api/basic/txs/evm.ts","../src/services/client.ts"],"sourcesContent":["import { RequestedAsset } from 'rango-types/lib/api/basic'\nexport * from 'rango-types/lib/api/basic/common'\n\nexport function assetToString(asset: RequestedAsset): string {\n return `${asset.blockchain}${asset.symbol ? '.' + asset.symbol : ''}${\n asset.address ? '--' + asset.address : ''\n }`\n}\n","import {\n BlockchainMeta,\n CosmosBlockchainMeta,\n EvmBlockchainMeta,\n SolanaBlockchainMeta,\n StarkNetBlockchainMeta,\n TonBlockchainMeta,\n TransferBlockchainMeta,\n TronBlockchainMeta,\n XrplBlockchainMeta,\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 isXrplBlockchain = (\n blockchainMeta: BlockchainMeta\n): blockchainMeta is XrplBlockchainMeta => blockchainMeta.type === 'XRPL'\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\nexport const xrplBlockchain = (blockchains: BlockchainMeta[]) =>\n blockchains.filter(isXrplBlockchain)\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 HIGH_IMPACT_FOR_CREATE_TX = 'HIGH_IMPACT_FOR_CREATE_TX',\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 SUI = 'SUI',\n XRPL = 'XRPL',\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] - @deprecated 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 { AssetWithTicker } from '../common.js'\nimport { TransactionType } from '../transactions.js'\nimport { BaseTransaction } from './base.js'\n\n/**\n * CosmosCoin\n */\nexport type CosmosCoin = {\n amount: string\n denom: string\n}\n\n/**\n * CosmosProtoMsg\n */\nexport type CosmosProtoMsg = {\n type_url: string\n value: number[]\n}\n\n/**\n * CosmosFee representing fee for cosmos transaction\n */\nexport type CosmosFee = {\n gas: string\n amount: CosmosCoin[]\n}\n\n/**\n * Main transaction object for COSMOS type transactions\n */\nexport type CosmosMessage = {\n signType: 'AMINO' | 'DIRECT'\n sequence: string | null\n source: number | null\n account_number: number | null\n rpcUrl: string\n chainId: string | null\n msgs: any[] // TODO\n protoMsgs: CosmosProtoMsg[]\n memo: string | null\n fee: CosmosFee | null\n}\n/**\n * An alternative to CosmosMessage object for the cosmos wallets that do not support generic Cosmos messages (e.g. XDefi)\n *\n * @property {AssetWithTicker} asset - The asset to be transferred\n * @property {string} amount - The machine-readable amount to transfer, example: 1000000000000000000\n * @property {number} decimals - The decimals for this asset, example: 18\n * @property {string | null} memo - Memo of transaction, could be null\n * @property {string} method - The transaction method, example: transfer, deposit\n * @property {string} recipient - The recipient address of transaction\n *\n */\nexport type CosmosRawTransferData = {\n amount: string\n asset: AssetWithTicker\n decimals: number\n memo: string | null\n method: string\n recipient: string\n}\n\n/**\n * A Cosmos transaction, child of GenericTransaction\n *\n * @property {TransactionType} type - This fields equals to COSMOS for all CosmosTransactions\n * @property {string} blockChain - The blockchain that this transaction will be executed in, same as the input blockchain of creating transaction\n * @property {string} fromWalletAddress - Address of wallet that this transaction should be executed in, same as the create transaction request's input\n * @property {CosmosMessage} data - Transaction data\n * @property {CosmosRawTransferData | null} rawTransfer - An alternative to CosmosMessage object for the cosmos wallets that do not support generic Cosmos messages\n *\n */\nexport interface CosmosTransaction extends BaseTransaction {\n type: TransactionType.COSMOS\n fromWalletAddress: string\n data: CosmosMessage\n rawTransfer: CosmosRawTransferData | null\n}\n\nexport const isCosmosTransaction = (transaction: {\n type: TransactionType\n}): transaction is CosmosTransaction =>\n transaction.type === TransactionType.COSMOS\n","import { TransactionType } from '../transactions.js'\nimport { BaseTransaction } from './base.js'\n\n/**\n * Account metadata used to define instructions\n */\nexport type SolanaInstructionKey = {\n pubkey: string\n isSigner: boolean\n isWritable: boolean\n}\n\n/**\n * Transaction Instruction class\n */\nexport type SolanaInstruction = {\n keys: SolanaInstructionKey[]\n programId: string\n data: number[]\n}\n\n/**\n * Pair of signature and corresponding public key\n */\nexport type SolanaSignature = {\n signature: number[]\n publicKey: string\n}\n\n/**\n * This type of transaction is used for all solana transactions\n *\n * @property {TransactionType} type - This fields equals to SOLANA for all SolanaTransactions\n * @property {'LEGACY' | 'VERSIONED'} txType - Type of the solana transaction\n * @property {string} blockChain, equals to SOLANA\n * @property {string} from, Source wallet address\n * @property {string} identifier, Transaction hash used in case of retry\n * @property {string | null} recentBlockhash, A recent blockhash\n * @property {SolanaSignature[]} signatures, Signatures for the transaction\n * @property {number[] | null} serializedMessage, The byte array of the transaction\n * @property {SolanaInstruction[]} instructions, The instructions to atomically execute\n *\n */\nexport interface SolanaTransaction extends BaseTransaction {\n type: TransactionType.SOLANA\n txType: 'LEGACY' | 'VERSIONED'\n from: string\n identifier: string\n recentBlockhash: string | null\n signatures: SolanaSignature[]\n serializedMessage: number[] | null\n instructions: SolanaInstruction[]\n}\n\nexport const isSolanaTransaction = (transaction: {\n type: TransactionType\n}): transaction is SolanaTransaction =>\n transaction.type === TransactionType.SOLANA\n","import { AssetWithTicker } from '../common.js'\nimport { TransactionType } from '../transactions.js'\nimport { BaseTransaction } from './base.js'\n\nexport type InputToSign = { address: string, signingIndexes: number[] }\n/**\n * @property {unsignedPsbtBase64} unsignedPsbtBase64 - Base 64 representation of the Unsigned PSBT\n * @property {InputToSign[]} inputsToSign - Inputs to be signed\n */\nexport type PSBT = {\n unsignedPsbtBase64: string\n inputsToSign: InputToSign[]\n}\n/**\n * TransferTransaction. This type of transaction is used for UTXO blockchains including BTC, LTC, BCH\n *\n * @property {TransactionType} type - This fields equals to TRANSFER for all TransferTransactions\n * @property {string} blockChain - The blockchain that this transaction will be executed in, same as the input blockchain of creating transaction\n * @property {string} method - The method that should be passed to wallet. examples: deposit, transfer\n * @property {AssetWithTicker} asset\n * @property {string} amount - The machine-readable amount of transaction, example: 1000000000000000000\n * @property {number} decimals - The decimals of the asset\n * @property {string} fromWalletAddress - The source wallet address that can sign this transaction\n * @property {string} recipientAddress - The destination wallet address that the fund should be sent to\n * @property {string | null} memo - The memo of transaction, can be null\n * @property {PSBT | null} psbt - PSBT object containing base 64 representation of the Unsigned PSBT along with the inputs to be signed\n *\n */\nexport interface Transfer extends BaseTransaction {\n type: TransactionType.TRANSFER\n method: string\n asset: AssetWithTicker\n amount: string\n decimals: number\n fromWalletAddress: string\n recipientAddress: string\n memo: string | null\n psbt: PSBT | null\n}\n\nexport const isTransferTransaction = (transaction: {\n type: TransactionType\n}): transaction is Transfer => transaction.type === TransactionType.TRANSFER\n","import { TransactionType } from '../transactions.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","import { BlockchainMetaBase } from '../meta.js'\nimport { TransactionType } from '../transactions.js'\n\n\n\n/**\n * Blockchain info for basic API EVM transaction\n */\nexport type EvmTransactionBlockchain = Pick<\n BlockchainMetaBase, 'name' | 'defaultDecimals' | 'addressPatterns' | 'feeAssets' | 'type' | 'chainId'\n>\n\n/**\n * The transaction object for all EVM-based blockchains, including Ethereum, BSC, Polygon, Harmony, etc\n *\n * @property {TransactionType} type - This fields equals to EVM for all EVMTransactions\n * @property {EvmTransactionBlockchain} blockChain - The blockchain info that this transaction is going to run in\n * @property {string | null} from - The source wallet address, it can be null\n * @property {string} approveTo - Address of source token erc20 contract for increasing approve amount\n * @property {string | null} approveData - The data of approve transaction\n * @property {string} txTo - Address of dex/bridge smart contract that is going to be called\n * @property {string | null} txData - The data of main transaction, it can be null in case of native token transfer\n * @property {string | null} value - The amount of transaction in case of native token transfer\n * @property {string | null} gasPrice - The suggested gas price for this transaction\n * @property {string | null} gasLimit - The suggested gas limit for this transaction\n * @property {string | null} maxPriorityFeePerGas - Suggested max priority fee per gas for this transaction\n * @property {string | null} maxFeePerGas - Suggested max fee per gas for this transaction\n *\n */\nexport interface EvmTransaction {\n type: TransactionType.EVM\n blockChain: EvmTransactionBlockchain\n from: string | null\n approveTo: string | null\n approveData: string | null\n txTo: string\n txData: string | null\n value: string | null\n gasLimit: string | null\n gasPrice: string | null\n maxPriorityFeePerGas: string | null\n maxFeePerGas: string | null\n}\n\nexport const isEvmTransaction = (transaction: {\n type: TransactionType\n}): transaction is EvmTransaction => transaction.type === TransactionType.EVM\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 RequestOptions,\n MessagingProtocolsResponse,\n SwapperMetaExtended,\n ConnectedAssetsResponse,\n ConnectedAssetsRequest,\n CustomTokenRequest,\n CustomTokenResponse,\n TokenBalanceRequest,\n TokenBalanceResponse,\n} from '../types'\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<SwapperMetaExtended[]> {\n const axiosResponse = await this.httpService.get<SwapperMetaExtended[]>(\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\n public async token(\n customTokenRequest?: CustomTokenRequest,\n options?: RequestOptions\n ): Promise<CustomTokenResponse> {\n const axiosResponse = await this.httpService.get<CustomTokenResponse>(\n `/basic/meta/custom-token?apiKey=${this.apiKey}`,\n { params: customTokenRequest, ...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 tokenBalance(\n tokenBalanceRequest: TokenBalanceRequest,\n options?: RequestOptions\n ): Promise<TokenBalanceResponse> {\n const axiosResponse = await this.httpService.get<TokenBalanceResponse>(\n `/basic/token-balance?apiKey=${this.apiKey}`,\n { params: tokenBalanceRequest, ...options }\n )\n return axiosResponse.data\n }\n\n public async connectedAssets(\n connectedAssetsRequest: ConnectedAssetsRequest,\n options?: RequestOptions\n ): Promise<ConnectedAssetsResponse> {\n const body = {\n from: assetToString(connectedAssetsRequest.from),\n }\n\n const axiosResponse = await this.httpService.get<ConnectedAssetsResponse>(\n `/basic/connected-assets?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"],"names":["assetToString","asset","blockchain","symbol","address","RangoClient","apiKey","debug","apiUrl","window","deviceId","localStorage","getItem","generatedId","uuid","setItem","e","httpService","axios","create","baseURL","interceptors","request","use","console","log","JSON","stringify","response","_proto","prototype","meta","_meta","_asyncToGenerator","_regeneratorRuntime","mark","_callee","metaRequest","options","_metaRequest$blockcha","_metaRequest$swappers","_metaRequest$swappers2","_metaRequest$transact","params","axiosResponse","wrap","_callee$","_context","prev","next","_extends","blockchains","join","swappers","swappersGroups","transactionTypes","get","sent","abrupt","data","stop","_x","_x2","apply","arguments","chains","_chains","_callee2","_callee2$","_context2","_x3","_swappers","_callee3","_callee3$","_context3","_x4","messagingProtocols","_messagingProtocols","_callee4","_callee4$","_context4","_x5","token","_token","_callee5","customTokenRequest","_callee5$","_context5","_x6","_x7","quote","_quote","_callee6","quoteRequest","body","_callee6$","_context6","from","to","length","undefined","swapperGroups","headers","_x8","_x9","isApproved","_isApproved","_callee7","requestId","txId","_callee7$","_context7","_x10","_x11","_x12","status","_status","_callee8","statusRequest","_callee8$","_context8","_x13","_x14","swap","_swap","_callee9","swapRequest","_callee9$","_context9","referrerAddress","referrerFee","disableEstimate","_x15","_x16","reportFailure","_reportFailure","_callee10","requestBody","_callee10$","_context10","post","_x17","_x18","balance","_balance","_callee11","walletAddress","_callee11$","_context11","_x19","_x20","tokenBalance","_tokenBalance","_callee12","tokenBalanceRequest","_callee12$","_context12","_x21","_x22","connectedAssets","_connectedAssets","_callee13","connectedAssetsRequest","_callee13$","_context13","_x23","_x24"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rango-sdk-basic",
3
- "version": "0.1.71",
3
+ "version": "0.1.73",
4
4
  "description": "Rango Exchange Basic SDK for dApps",
5
5
  "module": "lib/rango-sdk-basic.esm.js",
6
6
  "main": "lib/index.js",
@@ -43,7 +43,7 @@
43
43
  "license": "GPL-3.0",
44
44
  "dependencies": {
45
45
  "axios": "^1.7.4",
46
- "rango-types": "^0.1.89",
46
+ "rango-types": "^0.1.94",
47
47
  "uuid-random": "^1.3.2"
48
48
  },
49
49
  "publishConfig": {