rango-sdk-basic 0.1.0 → 0.1.2

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.
File without changes
@@ -13,22 +13,9 @@
13
13
  npm install rango-sdk-basic --save
14
14
  ```
15
15
 
16
- ## Main SDK (Multi Step Tx)
17
-
18
- [![npm version](https://badge.fury.io/js/rango-sdk.svg)](https://badge.fury.io/js/rango-sdk)
19
- [![license](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://github.com/rango-exchange/rango-sdk/blob/master/LICENSE)
20
-
21
- ### Installation
22
-
23
- ```shell
24
- yarn add rango-sdk
25
- # or
26
- npm install rango-sdk --save
27
- ```
28
-
29
16
  ## Usage
30
17
 
31
18
  Please checkout the examples' folder for sample usage of the SDK. We will add more examples there soon.
32
19
 
33
20
  - [Documents](https://docs.rango.exchange/integration/overview)
34
- - [Examples](https://github.com/rango-exchange/rango-sdk/tree/master/examples/)
21
+ - [Examples](https://github.com/rango-exchange/rango-sdk/tree/master/examples/basic/)
@@ -422,11 +422,53 @@ function assetToString(asset) {
422
422
  if (!!asset.address) return asset.blockchain + "." + asset.symbol + "--" + asset.address;else return asset.blockchain + "." + asset.symbol;
423
423
  }
424
424
 
425
- var MetaInfoType;
426
- (function (MetaInfoType) {
427
- MetaInfoType["CosmosMetaInfo"] = "CosmosMetaInfo";
428
- MetaInfoType["EvmMetaInfo"] = "EvmMetaInfo";
429
- })(MetaInfoType || (MetaInfoType = {}));
425
+ var isEvmBlockchain = function isEvmBlockchain(blockchainMeta) {
426
+ return blockchainMeta.type === 'EVM';
427
+ };
428
+ var isCosmosBlockchain = function isCosmosBlockchain(blockchainMeta) {
429
+ return blockchainMeta.type === 'COSMOS';
430
+ };
431
+ var isSolanaBlockchain = function isSolanaBlockchain(blockchainMeta) {
432
+ return blockchainMeta.type === 'SOLANA';
433
+ };
434
+ var isTronBlockchain = function isTronBlockchain(blockchainMeta) {
435
+ return blockchainMeta.type === 'TRON';
436
+ };
437
+ var isTransferBlockchain = function isTransferBlockchain(blockchainMeta) {
438
+ return blockchainMeta.type === 'TRANSFER';
439
+ };
440
+ var isStarknetBlockchain = function isStarknetBlockchain(blockchainMeta) {
441
+ return blockchainMeta.type === 'STARKNET';
442
+ };
443
+ var evmBlockchains = function evmBlockchains(blockchains) {
444
+ return blockchains.filter(isEvmBlockchain);
445
+ };
446
+ var solanaBlockchain = function solanaBlockchain(blockchains) {
447
+ return blockchains.filter(isSolanaBlockchain);
448
+ };
449
+ var starknetBlockchain = function starknetBlockchain(blockchains) {
450
+ return blockchains.filter(isStarknetBlockchain);
451
+ };
452
+ var tronBlockchain = function tronBlockchain(blockchains) {
453
+ return blockchains.filter(isTronBlockchain);
454
+ };
455
+ var cosmosBlockchains = function cosmosBlockchains(blockchains) {
456
+ return blockchains.filter(isCosmosBlockchain);
457
+ };
458
+ var transferBlockchains = function transferBlockchains(blockchains) {
459
+ return blockchains.filter(isTransferBlockchain);
460
+ };
461
+
462
+ /**
463
+ * Routing Result Type
464
+ *
465
+ */
466
+ (function (RoutingResultType) {
467
+ RoutingResultType["OK"] = "OK";
468
+ RoutingResultType["HIGH_IMPACT"] = "HIGH_IMPACT";
469
+ RoutingResultType["NO_ROUTE"] = "NO_ROUTE";
470
+ RoutingResultType["INPUT_LIMIT_ISSUE"] = "INPUT_LIMIT_ISSUE";
471
+ })(exports.RoutingResultType || (exports.RoutingResultType = {}));
430
472
 
431
473
  /**
432
474
  * The type of transaction
@@ -439,6 +481,11 @@ var MetaInfoType;
439
481
  TransactionType["TRON"] = "TRON";
440
482
  TransactionType["STARKNET"] = "STARKNET";
441
483
  })(exports.TransactionType || (exports.TransactionType = {}));
484
+ /**
485
+ * The type of transaction
486
+ * @deprecated use TransactionType instead
487
+ */
488
+ var GenericTransactionType = exports.TransactionType;
442
489
  (function (TransactionStatus) {
443
490
  TransactionStatus["FAILED"] = "failed";
444
491
  TransactionStatus["RUNNING"] = "running";
@@ -523,31 +570,37 @@ function _checkApprovalSync() {
523
570
  return rangoClient.isApproved(requestId, txId);
524
571
  case 4:
525
572
  approvalResponse = _context3.sent;
526
- if (!approvalResponse.isApproved) {
573
+ if (!(approvalResponse != null && approvalResponse.isApproved)) {
527
574
  _context3.next = 7;
528
575
  break;
529
576
  }
530
577
  return _context3.abrupt("return", true);
531
578
  case 7:
532
- _context3.next = 12;
533
- break;
579
+ if (!(!(approvalResponse != null && approvalResponse.isApproved) && (approvalResponse == null ? void 0 : approvalResponse.txStatus) === exports.TransactionStatus.FAILED)) {
580
+ _context3.next = 9;
581
+ break;
582
+ }
583
+ return _context3.abrupt("return", false);
534
584
  case 9:
535
- _context3.prev = 9;
585
+ _context3.next = 14;
586
+ break;
587
+ case 11:
588
+ _context3.prev = 11;
536
589
  _context3.t0 = _context3["catch"](1);
537
590
  console.log('ignorinig error', {
538
591
  err: _context3.t0
539
592
  });
540
- case 12:
541
- _context3.next = 14;
542
- return sleep(3000);
543
593
  case 14:
594
+ _context3.next = 16;
595
+ return sleep(3000);
596
+ case 16:
544
597
  _context3.next = 0;
545
598
  break;
546
- case 16:
599
+ case 18:
547
600
  case "end":
548
601
  return _context3.stop();
549
602
  }
550
- }, _callee3, null, [[1, 9]]);
603
+ }, _callee3, null, [[1, 11]]);
551
604
  }));
552
605
  return _checkApprovalSync.apply(this, arguments);
553
606
  }
@@ -601,7 +654,7 @@ var checkTransactionStatusSync = /*#__PURE__*/function () {
601
654
  }();
602
655
  var executeEvmRoute = /*#__PURE__*/function () {
603
656
  var _ref2 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(client, signer, route) {
604
- var tx, requestId, error, resultType, evmTransaction, txChainId, signerChainId, approveTxData, approveTx, mainTxData, mainTx, status;
657
+ var tx, requestId, error, resultType, evmTransaction, txChainId, signerChainId, approveTxData, approveTx, isApproved, mainTxData, mainTx, status;
605
658
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
606
659
  while (1) switch (_context2.prev = _context2.next) {
607
660
  case 0:
@@ -625,52 +678,71 @@ var executeEvmRoute = /*#__PURE__*/function () {
625
678
  throw new Error('Non Evm transactions are not supported yet.');
626
679
  case 7:
627
680
  evmTransaction = tx;
681
+ if (evmTransaction) {
682
+ _context2.next = 10;
683
+ break;
684
+ }
685
+ throw new Error('Transaction is null. Please try again!');
686
+ case 10:
628
687
  txChainId = parseInt(evmTransaction.blockChain.chainId || '-1');
629
- _context2.next = 11;
688
+ _context2.next = 13;
630
689
  return signer.getChainId();
631
- case 11:
690
+ case 13:
632
691
  signerChainId = _context2.sent;
633
692
  if (!(signerChainId !== txChainId)) {
634
- _context2.next = 14;
693
+ _context2.next = 16;
635
694
  break;
636
695
  }
637
696
  throw new Error("Signer chainId " + signerChainId + " doesn't match required chainId " + txChainId + ".");
638
- case 14:
697
+ case 16:
639
698
  if (!(!!evmTransaction.approveTo && !!evmTransaction.approveData)) {
640
- _context2.next = 22;
699
+ _context2.next = 27;
641
700
  break;
642
701
  }
643
702
  approveTxData = prepareEvmTransaction(evmTransaction, true);
644
- _context2.next = 18;
703
+ _context2.next = 20;
645
704
  return signer.sendTransaction(approveTxData);
646
- case 18:
705
+ case 20:
647
706
  approveTx = _context2.sent;
648
707
  approveTx.wait();
649
- _context2.next = 22;
650
- return checkApprovalSync(requestId, approveTx.hash, client);
651
- case 22:
652
708
  _context2.next = 24;
653
- return signer.getChainId();
709
+ return checkApprovalSync(requestId, approveTx.hash, client);
654
710
  case 24:
711
+ isApproved = _context2.sent;
712
+ if (isApproved) {
713
+ _context2.next = 27;
714
+ break;
715
+ }
716
+ throw new Error('Error in approve transaction.');
717
+ case 27:
718
+ _context2.next = 29;
719
+ return signer.getChainId();
720
+ case 29:
655
721
  signerChainId = _context2.sent;
656
722
  if (!(signerChainId !== txChainId)) {
657
- _context2.next = 27;
723
+ _context2.next = 32;
658
724
  break;
659
725
  }
660
726
  throw new Error("Signer chainId " + signerChainId + " doesn't match required chainId " + txChainId + ".");
661
- case 27:
727
+ case 32:
662
728
  mainTxData = prepareEvmTransaction(evmTransaction, false);
663
- _context2.next = 30;
729
+ _context2.next = 35;
664
730
  return signer.sendTransaction(mainTxData);
665
- case 30:
731
+ case 35:
666
732
  mainTx = _context2.sent;
667
733
  mainTx.wait();
668
- _context2.next = 34;
734
+ _context2.next = 39;
669
735
  return checkTransactionStatusSync(requestId, mainTx.hash, client);
670
- case 34:
736
+ case 39:
671
737
  status = _context2.sent;
738
+ if (!(status.status !== exports.TransactionStatus.SUCCESS)) {
739
+ _context2.next = 42;
740
+ break;
741
+ }
742
+ throw new Error("Cross-chain swap failed. " + (status.error || ''));
743
+ case 42:
672
744
  return _context2.abrupt("return", status);
673
- case 36:
745
+ case 43:
674
746
  case "end":
675
747
  return _context2.stop();
676
748
  }
@@ -976,6 +1048,7 @@ var RangoClient = /*#__PURE__*/function () {
976
1048
  var _executeEvmRoute2 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee10(
977
1049
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
978
1050
  signer, route) {
1051
+ var prettifiedError, message;
979
1052
  return _regeneratorRuntime().wrap(function _callee10$(_context10) {
980
1053
  while (1) switch (_context10.prev = _context10.next) {
981
1054
  case 0:
@@ -987,8 +1060,21 @@ var RangoClient = /*#__PURE__*/function () {
987
1060
  case 6:
988
1061
  _context10.prev = 6;
989
1062
  _context10.t0 = _context10["catch"](0);
990
- throw prettifyError(_context10.t0);
991
- case 9:
1063
+ prettifiedError = prettifyError(_context10.t0);
1064
+ try {
1065
+ message = (prettifiedError == null ? void 0 : prettifiedError.message) || 'Error executing the route';
1066
+ this.reportFailure({
1067
+ requestId: route.requestId,
1068
+ eventType: 'TX_FAIL',
1069
+ reason: message
1070
+ });
1071
+ } catch (err) {
1072
+ console.log({
1073
+ err: err
1074
+ });
1075
+ }
1076
+ throw prettifiedError;
1077
+ case 11:
992
1078
  case "end":
993
1079
  return _context10.stop();
994
1080
  }
@@ -1002,7 +1088,20 @@ var RangoClient = /*#__PURE__*/function () {
1002
1088
  return RangoClient;
1003
1089
  }();
1004
1090
 
1091
+ exports.GenericTransactionType = GenericTransactionType;
1005
1092
  exports.MetamaskErrorCodes = MetamaskErrorCodes;
1006
1093
  exports.RangoClient = RangoClient;
1007
1094
  exports.assetToString = assetToString;
1095
+ exports.cosmosBlockchains = cosmosBlockchains;
1096
+ exports.evmBlockchains = evmBlockchains;
1097
+ exports.isCosmosBlockchain = isCosmosBlockchain;
1098
+ exports.isEvmBlockchain = isEvmBlockchain;
1099
+ exports.isSolanaBlockchain = isSolanaBlockchain;
1100
+ exports.isStarknetBlockchain = isStarknetBlockchain;
1101
+ exports.isTransferBlockchain = isTransferBlockchain;
1102
+ exports.isTronBlockchain = isTronBlockchain;
1103
+ exports.solanaBlockchain = solanaBlockchain;
1104
+ exports.starknetBlockchain = starknetBlockchain;
1105
+ exports.transferBlockchains = transferBlockchains;
1106
+ exports.tronBlockchain = tronBlockchain;
1008
1107
  //# sourceMappingURL=rango-sdk-basic.cjs.development.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rango-sdk-basic.cjs.development.js","sources":["../../../node_modules/uuid/dist/esm-browser/rng.js","../../../node_modules/uuid/dist/esm-browser/stringify.js","../../../node_modules/uuid/dist/esm-browser/native.js","../../../node_modules/uuid/dist/esm-browser/v4.js","../src/services/httpService.ts","../src/types/api/common.ts","../../../node_modules/rango-types/src/api/shared/transactions.ts","../src/types/utils/errors.ts","../src/utils/promise.ts","../src/services/executor.ts","../src/utils/errors.ts","../src/services/client.ts"],"sourcesContent":["// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nlet getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\n\nexport function unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n return (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase();\n}\n\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default {\n randomUUID\n};","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\n\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n\n options = options || {};\n const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return unsafeStringify(rnds);\n}\n\nexport default v4;","import axios from 'axios'\n\nconst baseURL =\n typeof process !== 'undefined' && process.env.REACT_APP_RANGO_BASE_URL\n ? process.env.REACT_APP_RANGO_BASE_URL\n : 'https://api.rango.exchange'\n\nexport const httpService = axios.create({\n baseURL,\n})\n","import { Asset } from 'rango-types/lib/api/basic'\nexport * from 'rango-types/lib/api/basic/common'\n\nexport function assetToString(asset: Asset): string {\n if (!!asset.address)\n return `${asset.blockchain}.${asset.symbol}--${asset.address}`\n else return `${asset.blockchain}.${asset.symbol}`\n}\n",null,"export const MetamaskErrorCodes = {\n rpc: {\n invalidInput: -32000,\n resourceNotFound: -32001,\n resourceUnavailable: -32002,\n transactionRejected: -32003,\n methodNotSupported: -32004,\n limitExceeded: -32005,\n parse: -32700,\n invalidRequest: -32600,\n methodNotFound: -32601,\n invalidParams: -32602,\n internal: -32603,\n },\n provider: {\n userRejectedRequest: 4001,\n unauthorized: 4100,\n unsupportedMethod: 4200,\n disconnected: 4900,\n chainDisconnected: 4901,\n },\n}\n","export function sleep(ms: number) {\n return new Promise((resolve) => setTimeout(resolve, ms))\n}\n","import { Signer } from 'ethers'\nimport { RangoClient } from './client'\nimport { EvmTransaction } from '../types/api/txs'\nimport {\n StatusResponse,\n SwapResponse,\n TransactionStatus,\n TransactionType,\n} from '../types/api/transactions'\nimport { sleep } from '../utils/promise'\n\nexport function prepareEvmTransaction(\n evmTx: EvmTransaction,\n isApprove: boolean\n) {\n const gasPrice =\n !!evmTx.gasPrice && !evmTx.gasPrice.startsWith('0x')\n ? '0x' + parseInt(evmTx.gasPrice).toString(16)\n : null\n const manipulatedTx = {\n ...evmTx,\n gasPrice,\n }\n let tx = {}\n if (!!manipulatedTx.from) tx = { ...tx, from: manipulatedTx.from }\n if (isApprove) {\n if (!!manipulatedTx.approveTo) tx = { ...tx, to: manipulatedTx.approveTo }\n if (!!manipulatedTx.approveData)\n tx = { ...tx, data: manipulatedTx.approveData }\n } else {\n if (!!manipulatedTx.txTo) tx = { ...tx, to: manipulatedTx.txTo }\n if (!!manipulatedTx.txData) tx = { ...tx, data: manipulatedTx.txData }\n if (!!manipulatedTx.value) tx = { ...tx, value: manipulatedTx.value }\n if (!!manipulatedTx.gasLimit)\n tx = { ...tx, gasLimit: manipulatedTx.gasLimit }\n if (!!manipulatedTx.gasPrice)\n tx = { ...tx, gasPrice: manipulatedTx.gasPrice }\n }\n return tx\n}\n\nasync function checkApprovalSync(\n requestId: string,\n txId: string,\n rangoClient: RangoClient\n) {\n while (true) {\n try {\n const approvalResponse = await rangoClient.isApproved(requestId, txId)\n if (approvalResponse.isApproved) return true\n } catch (err) {\n console.log('ignorinig error', { err })\n }\n await sleep(3_000)\n }\n}\n\nexport const checkTransactionStatusSync = async (\n requestId: string,\n txId: string,\n rangoClient: RangoClient\n) => {\n let txStatus: StatusResponse | undefined\n while (true) {\n try {\n txStatus = await rangoClient.status({\n requestId,\n txId,\n })\n } catch (err) {\n console.log('ignorinig error', { err })\n }\n if (!!txStatus) {\n if (\n !!txStatus.status &&\n [TransactionStatus.FAILED, TransactionStatus.SUCCESS].includes(\n txStatus.status\n )\n ) {\n return txStatus\n }\n }\n await sleep(3_000)\n }\n}\n\nexport const executeEvmRoute = async (\n client: RangoClient,\n signer: Signer,\n route: SwapResponse\n): Promise<StatusResponse> => {\n const { tx, requestId, error, resultType } = route\n if (resultType != 'OK') throw new Error(resultType)\n if (!!error || !tx)\n throw new Error(error || 'Error creating the transaction.')\n if (tx?.type !== TransactionType.EVM)\n throw new Error('Non Evm transactions are not supported yet.')\n const evmTransaction = tx as EvmTransaction\n const txChainId = parseInt(evmTransaction.blockChain.chainId || '-1')\n let signerChainId = await signer.getChainId()\n if (signerChainId !== txChainId) {\n throw new Error(\n `Signer chainId ${signerChainId} doesn't match required chainId ${txChainId}.`\n )\n }\n if (!!evmTransaction.approveTo && !!evmTransaction.approveData) {\n const approveTxData = prepareEvmTransaction(evmTransaction, true)\n const approveTx = await signer.sendTransaction(approveTxData)\n approveTx.wait()\n await checkApprovalSync(requestId, approveTx.hash, client)\n }\n signerChainId = await signer.getChainId()\n if (signerChainId !== txChainId) {\n throw new Error(\n `Signer chainId ${signerChainId} doesn't match required chainId ${txChainId}.`\n )\n }\n const mainTxData = prepareEvmTransaction(evmTransaction, false)\n const mainTx = await signer.sendTransaction(mainTxData)\n mainTx.wait()\n const status = await checkTransactionStatusSync(\n requestId,\n mainTx.hash,\n client\n )\n return status\n}\n","import { getMessageFromCode } from 'eth-rpc-errors'\nimport { MetamaskErrorCodes } from '../types/utils/errors'\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const prettifyError = (error: any) => {\n if (!error) return error\n if (error.code && (error.code === 'ACTION_REJECTED' || error.code === 4001))\n return new Error('Transaction Rejected')\n if (error && typeof error.code === 'number') {\n if (Object.values(MetamaskErrorCodes.provider).includes(error.code)) {\n return new Error(getMessageFromCode(error.code))\n }\n if (Object.values(MetamaskErrorCodes.rpc).includes(error.code)) {\n if (\n error.code === MetamaskErrorCodes.rpc.internal &&\n error.message?.includes('underpriced')\n )\n return new Error('Transaction underpriced')\n if (\n error.message?.includes('intrinsic gas too low') ||\n error.message?.includes('out of gas')\n )\n return new Error('This Gas limit is low.')\n return new Error(getMessageFromCode(error.code))\n }\n }\n if (error.message) return new Error(error.message)\n return error\n}\n","import { v4 } from 'uuid'\n\nimport { httpService } from './httpService'\nimport {\n MetaResponse,\n QuoteRequest,\n QuoteResponse,\n CheckApprovalResponse,\n StatusRequest,\n StatusResponse,\n SwapRequest,\n SwapResponse,\n ReportTransactionRequest,\n WalletDetailsResponse,\n assetToString,\n BlockchainMeta,\n SwapperMetaDto,\n} from '../types'\nimport { Signer } from 'ethers'\nimport { executeEvmRoute as executeEvmRoute } from './executor'\nimport { prettifyError } from '../utils/errors'\n\ntype WalletAddress = { blockchain: string; address: string }\n\nexport class RangoClient {\n private readonly deviceId: string\n\n private readonly apiKey: string\n\n constructor(apiKey: string, debug = false) {\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 = v4()\n localStorage.setItem('deviceId', generatedId)\n this.deviceId = generatedId\n }\n } else {\n this.deviceId = v4()\n }\n } catch (e) {\n this.deviceId = v4()\n }\n if (debug) {\n httpService.interceptors.request.use((request) => {\n console.log('Starting Request', JSON.stringify(request, null, 2))\n return request\n })\n 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(): Promise<MetaResponse> {\n const axiosResponse = await httpService.get<MetaResponse>(\n `/basic/meta?apiKey=${this.apiKey}`\n )\n return axiosResponse.data\n }\n\n public async chains(): Promise<BlockchainMeta[]> {\n const axiosResponse = await httpService.get<BlockchainMeta[]>(\n `/basic/meta/blockchains?apiKey=${this.apiKey}`\n )\n return axiosResponse.data\n }\n\n public async swappers(): Promise<SwapperMetaDto[]> {\n const axiosResponse = await httpService.get<SwapperMetaDto[]>(\n `/basic/meta/swappers?apiKey=${this.apiKey}`\n )\n return axiosResponse.data\n }\n\n public async quote(quoteRequest: QuoteRequest): 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 messagingProtocols:\n !!quoteRequest.messagingProtocols &&\n quoteRequest.messagingProtocols.length > 0\n ? quoteRequest.messagingProtocols.join(',')\n : undefined,\n }\n const axiosResponse = await httpService.get<QuoteResponse>(\n `/basic/quote?apiKey=${this.apiKey}`,\n {\n params: body,\n headers: { 'X-Rango-Id': this.deviceId },\n }\n )\n return axiosResponse.data\n }\n\n public async isApproved(\n requestId: string,\n txId: string\n ): Promise<CheckApprovalResponse> {\n const axiosResponse = await httpService.get<CheckApprovalResponse>(\n `/basic/is-approved?apiKey=${this.apiKey}`,\n {\n params: { requestId, txId },\n headers: { 'X-Rango-Id': this.deviceId },\n }\n )\n return axiosResponse.data\n }\n\n public async status(statusRequest: StatusRequest): Promise<StatusResponse> {\n const axiosResponse = await httpService.get<StatusResponse>(\n `/basic/status?apiKey=${this.apiKey}`,\n {\n params: statusRequest,\n headers: { 'X-Rango-Id': this.deviceId },\n }\n )\n return axiosResponse.data\n }\n\n public async swap(swapRequest: SwapRequest): Promise<SwapResponse> {\n const body = {\n ...swapRequest,\n from: assetToString(swapRequest.from),\n to: assetToString(swapRequest.to),\n swappers:\n !!swapRequest.swappers && swapRequest.swappers.length > 0\n ? swapRequest.swappers.join(',')\n : undefined,\n messagingProtocols:\n !!swapRequest.messagingProtocols &&\n swapRequest.messagingProtocols.length > 0\n ? swapRequest.messagingProtocols.join(',')\n : undefined,\n }\n const axiosResponse = await httpService.get<SwapResponse>(\n `/basic/swap?apiKey=${this.apiKey}`,\n {\n params: body,\n headers: { 'X-Rango-Id': this.deviceId },\n }\n )\n return axiosResponse.data\n }\n\n public async reportFailure(\n requestBody: ReportTransactionRequest\n ): Promise<void> {\n await httpService.post(\n `/basic/report-tx?apiKey=${this.apiKey}`,\n requestBody,\n {\n headers: { 'X-Rango-Id': this.deviceId },\n }\n )\n }\n\n public async balance(\n walletAddress: WalletAddress\n ): Promise<WalletDetailsResponse> {\n const axiosResponse = await httpService.get<WalletDetailsResponse>(\n `/basic/balance?apiKey=${this.apiKey}`,\n {\n params: walletAddress,\n headers: { 'X-Rango-Id': this.deviceId },\n }\n )\n return axiosResponse.data\n }\n\n public async executeEvmRoute(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n signer: any,\n route: SwapResponse\n ): Promise<StatusResponse> {\n try {\n return await executeEvmRoute(this, signer as Signer, route)\n } catch (error) {\n throw prettifyError(error)\n }\n }\n}\n"],"names":["getRandomValues","rnds8","Uint8Array","rng","crypto","bind","Error","byteToHex","i","push","toString","slice","unsafeStringify","arr","offset","toLowerCase","randomUUID","v4","options","buf","native","rnds","random","baseURL","process","env","REACT_APP_RANGO_BASE_URL","httpService","axios","create","assetToString","asset","address","blockchain","symbol","MetamaskErrorCodes","rpc","invalidInput","resourceNotFound","resourceUnavailable","transactionRejected","methodNotSupported","limitExceeded","parse","invalidRequest","methodNotFound","invalidParams","internal","provider","userRejectedRequest","unauthorized","unsupportedMethod","disconnected","chainDisconnected","sleep","ms","Promise","resolve","setTimeout","prepareEvmTransaction","evmTx","isApprove","gasPrice","startsWith","parseInt","manipulatedTx","tx","from","approveTo","to","approveData","data","txTo","txData","value","gasLimit","checkApprovalSync","requestId","txId","rangoClient","isApproved","approvalResponse","console","log","err","checkTransactionStatusSync","status","txStatus","TransactionStatus","FAILED","SUCCESS","includes","executeEvmRoute","client","signer","route","error","resultType","type","TransactionType","EVM","evmTransaction","txChainId","blockChain","chainId","getChainId","signerChainId","approveTxData","sendTransaction","approveTx","wait","hash","mainTxData","mainTx","prettifyError","code","Object","values","getMessageFromCode","message","RangoClient","apiKey","debug","window","deviceId","localStorage","getItem","generatedId","setItem","e","interceptors","request","use","JSON","stringify","response","meta","get","axiosResponse","chains","swappers","quote","quoteRequest","body","length","join","undefined","messagingProtocols","params","headers","statusRequest","swap","swapRequest","reportFailure","requestBody","post","balance","walletAddress"],"mappings":"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"}
1
+ {"version":3,"file":"rango-sdk-basic.cjs.development.js","sources":["../../../node_modules/uuid/dist/esm-browser/rng.js","../../../node_modules/uuid/dist/esm-browser/stringify.js","../../../node_modules/uuid/dist/esm-browser/native.js","../../../node_modules/uuid/dist/esm-browser/v4.js","../src/services/httpService.ts","../src/types/api/common.ts","../../../node_modules/rango-types/src/api/shared/type-gaurds.ts","../../../node_modules/rango-types/src/api/shared/routing.ts","../../../node_modules/rango-types/src/api/shared/transactions.ts","../src/types/utils/errors.ts","../src/utils/promise.ts","../src/services/executor.ts","../src/utils/errors.ts","../src/services/client.ts"],"sourcesContent":["// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nlet getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\n\nexport function unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n return (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase();\n}\n\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default {\n randomUUID\n};","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\n\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n\n options = options || {};\n const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return unsafeStringify(rnds);\n}\n\nexport default v4;","import axios from 'axios'\n\nconst baseURL =\n typeof process !== 'undefined' && process.env.REACT_APP_RANGO_BASE_URL\n ? process.env.REACT_APP_RANGO_BASE_URL\n : 'https://api.rango.exchange'\n\nexport const httpService = axios.create({\n baseURL,\n})\n","import { Asset } from 'rango-types/lib/api/basic'\nexport * from 'rango-types/lib/api/basic/common'\n\nexport function assetToString(asset: Asset): string {\n if (!!asset.address)\n return `${asset.blockchain}.${asset.symbol}--${asset.address}`\n else return `${asset.blockchain}.${asset.symbol}`\n}\n",null,null,null,"export const MetamaskErrorCodes = {\n rpc: {\n invalidInput: -32000,\n resourceNotFound: -32001,\n resourceUnavailable: -32002,\n transactionRejected: -32003,\n methodNotSupported: -32004,\n limitExceeded: -32005,\n parse: -32700,\n invalidRequest: -32600,\n methodNotFound: -32601,\n invalidParams: -32602,\n internal: -32603,\n },\n provider: {\n userRejectedRequest: 4001,\n unauthorized: 4100,\n unsupportedMethod: 4200,\n disconnected: 4900,\n chainDisconnected: 4901,\n },\n}\n","export function sleep(ms: number) {\n return new Promise((resolve) => setTimeout(resolve, ms))\n}\n","import { Signer } from 'ethers'\nimport { RangoClient } from './client'\nimport { EvmTransaction } from '../types/api/txs'\nimport {\n StatusResponse,\n SwapResponse,\n TransactionStatus,\n TransactionType,\n} from '../types/api/transactions'\nimport { sleep } from '../utils/promise'\n\nexport function prepareEvmTransaction(\n evmTx: EvmTransaction,\n isApprove: boolean\n) {\n const gasPrice =\n !!evmTx.gasPrice && !evmTx.gasPrice.startsWith('0x')\n ? '0x' + parseInt(evmTx.gasPrice).toString(16)\n : null\n const manipulatedTx = {\n ...evmTx,\n gasPrice,\n }\n let tx = {}\n if (!!manipulatedTx.from) tx = { ...tx, from: manipulatedTx.from }\n if (isApprove) {\n if (!!manipulatedTx.approveTo) tx = { ...tx, to: manipulatedTx.approveTo }\n if (!!manipulatedTx.approveData)\n tx = { ...tx, data: manipulatedTx.approveData }\n } else {\n if (!!manipulatedTx.txTo) tx = { ...tx, to: manipulatedTx.txTo }\n if (!!manipulatedTx.txData) tx = { ...tx, data: manipulatedTx.txData }\n if (!!manipulatedTx.value) tx = { ...tx, value: manipulatedTx.value }\n if (!!manipulatedTx.gasLimit)\n tx = { ...tx, gasLimit: manipulatedTx.gasLimit }\n if (!!manipulatedTx.gasPrice)\n tx = { ...tx, gasPrice: manipulatedTx.gasPrice }\n }\n return tx\n}\n\nasync function checkApprovalSync(\n requestId: string,\n txId: string,\n rangoClient: RangoClient\n): Promise<boolean> {\n while (true) {\n try {\n const approvalResponse = await rangoClient.isApproved(requestId, txId)\n if (approvalResponse?.isApproved) return true\n if (\n !approvalResponse?.isApproved &&\n approvalResponse?.txStatus === TransactionStatus.FAILED\n )\n return false\n } catch (err) {\n console.log('ignorinig error', { err })\n }\n await sleep(3_000)\n }\n}\n\nexport const checkTransactionStatusSync = async (\n requestId: string,\n txId: string,\n rangoClient: RangoClient\n) => {\n let txStatus: StatusResponse | undefined\n while (true) {\n try {\n txStatus = await rangoClient.status({\n requestId,\n txId,\n })\n } catch (err) {\n console.log('ignorinig error', { err })\n }\n if (!!txStatus) {\n if (\n !!txStatus.status &&\n [TransactionStatus.FAILED, TransactionStatus.SUCCESS].includes(\n txStatus.status\n )\n ) {\n return txStatus\n }\n }\n await sleep(3_000)\n }\n}\n\nexport const executeEvmRoute = async (\n client: RangoClient,\n signer: Signer,\n route: SwapResponse\n): Promise<StatusResponse> => {\n const { tx, requestId, error, resultType } = route\n if (resultType != 'OK') throw new Error(resultType)\n if (!!error || !tx)\n throw new Error(error || 'Error creating the transaction.')\n if (tx?.type !== TransactionType.EVM)\n throw new Error('Non Evm transactions are not supported yet.')\n const evmTransaction = tx as EvmTransaction\n if (!evmTransaction) throw new Error('Transaction is null. Please try again!')\n const txChainId = parseInt(evmTransaction.blockChain.chainId || '-1')\n let signerChainId = await signer.getChainId()\n if (signerChainId !== txChainId) {\n throw new Error(\n `Signer chainId ${signerChainId} doesn't match required chainId ${txChainId}.`\n )\n }\n if (!!evmTransaction.approveTo && !!evmTransaction.approveData) {\n const approveTxData = prepareEvmTransaction(evmTransaction, true)\n const approveTx = await signer.sendTransaction(approveTxData)\n approveTx.wait()\n const isApproved = await checkApprovalSync(\n requestId,\n approveTx.hash,\n client\n )\n if (!isApproved) throw new Error('Error in approve transaction.')\n }\n signerChainId = await signer.getChainId()\n if (signerChainId !== txChainId) {\n throw new Error(\n `Signer chainId ${signerChainId} doesn't match required chainId ${txChainId}.`\n )\n }\n const mainTxData = prepareEvmTransaction(evmTransaction, false)\n const mainTx = await signer.sendTransaction(mainTxData)\n mainTx.wait()\n const status = await checkTransactionStatusSync(\n requestId,\n mainTx.hash,\n client\n )\n if (status.status !== TransactionStatus.SUCCESS)\n throw new Error(`Cross-chain swap failed. ${status.error || ''}`)\n return status\n}\n","import { getMessageFromCode } from 'eth-rpc-errors'\nimport { MetamaskErrorCodes } from '../types/utils/errors'\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const prettifyError = (error: any) => {\n if (!error) return error\n if (error.code && (error.code === 'ACTION_REJECTED' || error.code === 4001))\n return new Error('Transaction Rejected')\n if (error && typeof error.code === 'number') {\n if (Object.values(MetamaskErrorCodes.provider).includes(error.code)) {\n return new Error(getMessageFromCode(error.code))\n }\n if (Object.values(MetamaskErrorCodes.rpc).includes(error.code)) {\n if (\n error.code === MetamaskErrorCodes.rpc.internal &&\n error.message?.includes('underpriced')\n )\n return new Error('Transaction underpriced')\n if (\n error.message?.includes('intrinsic gas too low') ||\n error.message?.includes('out of gas')\n )\n return new Error('This Gas limit is low.')\n return new Error(getMessageFromCode(error.code))\n }\n }\n if (error.message) return new Error(error.message)\n return error\n}\n","import { v4 } from 'uuid'\n\nimport { httpService } from './httpService'\nimport {\n MetaResponse,\n QuoteRequest,\n QuoteResponse,\n CheckApprovalResponse,\n StatusRequest,\n StatusResponse,\n SwapRequest,\n SwapResponse,\n ReportTransactionRequest,\n WalletDetailsResponse,\n assetToString,\n BlockchainMeta,\n SwapperMetaDto,\n} from '../types'\nimport { Signer } from 'ethers'\nimport { executeEvmRoute as executeEvmRoute } from './executor'\nimport { prettifyError } from '../utils/errors'\n\ntype WalletAddress = { blockchain: string; address: string }\n\nexport class RangoClient {\n private readonly deviceId: string\n\n private readonly apiKey: string\n\n constructor(apiKey: string, debug = false) {\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 = v4()\n localStorage.setItem('deviceId', generatedId)\n this.deviceId = generatedId\n }\n } else {\n this.deviceId = v4()\n }\n } catch (e) {\n this.deviceId = v4()\n }\n if (debug) {\n httpService.interceptors.request.use((request) => {\n console.log('Starting Request', JSON.stringify(request, null, 2))\n return request\n })\n 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(): Promise<MetaResponse> {\n const axiosResponse = await httpService.get<MetaResponse>(\n `/basic/meta?apiKey=${this.apiKey}`\n )\n return axiosResponse.data\n }\n\n public async chains(): Promise<BlockchainMeta[]> {\n const axiosResponse = await httpService.get<BlockchainMeta[]>(\n `/basic/meta/blockchains?apiKey=${this.apiKey}`\n )\n return axiosResponse.data\n }\n\n public async swappers(): Promise<SwapperMetaDto[]> {\n const axiosResponse = await httpService.get<SwapperMetaDto[]>(\n `/basic/meta/swappers?apiKey=${this.apiKey}`\n )\n return axiosResponse.data\n }\n\n public async quote(quoteRequest: QuoteRequest): 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 messagingProtocols:\n !!quoteRequest.messagingProtocols &&\n quoteRequest.messagingProtocols.length > 0\n ? quoteRequest.messagingProtocols.join(',')\n : undefined,\n }\n const axiosResponse = await httpService.get<QuoteResponse>(\n `/basic/quote?apiKey=${this.apiKey}`,\n {\n params: body,\n headers: { 'X-Rango-Id': this.deviceId },\n }\n )\n return axiosResponse.data\n }\n\n public async isApproved(\n requestId: string,\n txId: string\n ): Promise<CheckApprovalResponse> {\n const axiosResponse = await httpService.get<CheckApprovalResponse>(\n `/basic/is-approved?apiKey=${this.apiKey}`,\n {\n params: { requestId, txId },\n headers: { 'X-Rango-Id': this.deviceId },\n }\n )\n return axiosResponse.data\n }\n\n public async status(statusRequest: StatusRequest): Promise<StatusResponse> {\n const axiosResponse = await httpService.get<StatusResponse>(\n `/basic/status?apiKey=${this.apiKey}`,\n {\n params: statusRequest,\n headers: { 'X-Rango-Id': this.deviceId },\n }\n )\n return axiosResponse.data\n }\n\n public async swap(swapRequest: SwapRequest): Promise<SwapResponse> {\n const body = {\n ...swapRequest,\n from: assetToString(swapRequest.from),\n to: assetToString(swapRequest.to),\n swappers:\n !!swapRequest.swappers && swapRequest.swappers.length > 0\n ? swapRequest.swappers.join(',')\n : undefined,\n messagingProtocols:\n !!swapRequest.messagingProtocols &&\n swapRequest.messagingProtocols.length > 0\n ? swapRequest.messagingProtocols.join(',')\n : undefined,\n }\n const axiosResponse = await httpService.get<SwapResponse>(\n `/basic/swap?apiKey=${this.apiKey}`,\n {\n params: body,\n headers: { 'X-Rango-Id': this.deviceId },\n }\n )\n return axiosResponse.data\n }\n\n public async reportFailure(\n requestBody: ReportTransactionRequest\n ): Promise<void> {\n await httpService.post(\n `/basic/report-tx?apiKey=${this.apiKey}`,\n requestBody,\n {\n headers: { 'X-Rango-Id': this.deviceId },\n }\n )\n }\n\n public async balance(\n walletAddress: WalletAddress\n ): Promise<WalletDetailsResponse> {\n const axiosResponse = await httpService.get<WalletDetailsResponse>(\n `/basic/balance?apiKey=${this.apiKey}`,\n {\n params: walletAddress,\n headers: { 'X-Rango-Id': this.deviceId },\n }\n )\n return axiosResponse.data\n }\n\n public async executeEvmRoute(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n signer: any,\n route: SwapResponse\n ): Promise<StatusResponse> {\n try {\n return await executeEvmRoute(this, signer as Signer, route)\n } catch (error) {\n const prettifiedError = prettifyError(error)\n try {\n const message = prettifiedError?.message || 'Error executing the route'\n this.reportFailure({\n requestId: route.requestId,\n eventType: 'TX_FAIL',\n reason: message,\n })\n } catch (err) {\n console.log({ err })\n }\n throw prettifiedError\n }\n }\n}\n"],"names":["getRandomValues","rnds8","Uint8Array","rng","crypto","bind","Error","byteToHex","i","push","toString","slice","unsafeStringify","arr","offset","toLowerCase","randomUUID","v4","options","buf","native","rnds","random","baseURL","process","env","REACT_APP_RANGO_BASE_URL","httpService","axios","create","assetToString","asset","address","blockchain","symbol","blockchainMeta","MetamaskErrorCodes","rpc","invalidInput","resourceNotFound","resourceUnavailable","transactionRejected","methodNotSupported","limitExceeded","parse","invalidRequest","methodNotFound","invalidParams","internal","provider","userRejectedRequest","unauthorized","unsupportedMethod","disconnected","chainDisconnected","sleep","ms","Promise","resolve","setTimeout","prepareEvmTransaction","evmTx","isApprove","gasPrice","startsWith","parseInt","manipulatedTx","tx","from","approveTo","to","approveData","data","txTo","txData","value","gasLimit","checkApprovalSync","requestId","txId","rangoClient","isApproved","approvalResponse","txStatus","TransactionStatus","FAILED","console","log","err","checkTransactionStatusSync","status","SUCCESS","includes","executeEvmRoute","client","signer","route","error","resultType","type","TransactionType","EVM","evmTransaction","txChainId","blockChain","chainId","getChainId","signerChainId","approveTxData","sendTransaction","approveTx","wait","hash","mainTxData","mainTx","prettifyError","code","Object","values","getMessageFromCode","message","RangoClient","apiKey","debug","window","deviceId","localStorage","getItem","generatedId","setItem","e","interceptors","request","use","JSON","stringify","response","meta","get","axiosResponse","chains","swappers","quote","quoteRequest","body","length","join","undefined","messagingProtocols","params","headers","statusRequest","swap","swapRequest","reportFailure","requestBody","post","balance","walletAddress","prettifiedError","eventType","reason"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t,e,r=(t=require("axios"))&&"object"==typeof t&&"default"in t?t.default:t,n=require("eth-rpc-errors");function o(){o=function(){return t};var t={},e=Object.prototype,r=e.hasOwnProperty,n=Object.defineProperty||function(t,e,r){t[e]=r.value},a="function"==typeof Symbol?Symbol:{},i=a.iterator||"@@iterator",s=a.asyncIterator||"@@asyncIterator",c=a.toStringTag||"@@toStringTag";function u(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},"")}catch(t){u=function(t,e,r){return t[e]=r}}function p(t,e,r,o){var a=Object.create((e&&e.prototype instanceof d?e:d).prototype),i=new k(o||[]);return n(a,"_invoke",{value:E(t,r,i)}),a}function f(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=p;var h={};function d(){}function l(){}function v(){}var g={};u(g,i,(function(){return this}));var y=Object.getPrototypeOf,m=y&&y(y(L([])));m&&m!==e&&r.call(m,i)&&(g=m);var w=v.prototype=d.prototype=Object.create(g);function x(t){["next","throw","return"].forEach((function(e){u(t,e,(function(t){return this._invoke(e,t)}))}))}function b(t,e){var o;n(this,"_invoke",{value:function(n,a){function i(){return new e((function(o,i){!function n(o,a,i,s){var c=f(t[o],t,a);if("throw"!==c.type){var u=c.arg,p=u.value;return p&&"object"==typeof p&&r.call(p,"__await")?e.resolve(p.__await).then((function(t){n("next",t,i,s)}),(function(t){n("throw",t,i,s)})):e.resolve(p).then((function(t){u.value=t,i(u)}),(function(t){return n("throw",t,i,s)}))}s(c.arg)}(n,a,o,i)}))}return o=o?o.then(i,i):i()}})}function E(t,e,r){var n="suspendedStart";return function(o,a){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw a;return{value:void 0,done:!0}}for(r.method=o,r.arg=a;;){var i=r.delegate;if(i){var s=I(i,r);if(s){if(s===h)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var c=f(t,e,r);if("normal"===c.type){if(n=r.done?"completed":"suspendedYield",c.arg===h)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(n="completed",r.method="throw",r.arg=c.arg)}}}function I(t,e){var r=e.method,n=t.iterator[r];if(void 0===n)return e.delegate=null,"throw"===r&&t.iterator.return&&(e.method="return",e.arg=void 0,I(t,e),"throw"===e.method)||"return"!==r&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+r+"' method")),h;var o=f(n,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,h;var a=o.arg;return a?a.done?(e[t.resultName]=a.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,h):a:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,h)}function S(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 T(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function k(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(S,this),this.reset(!0)}function L(t){if(t){var e=t[i];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,o=function e(){for(;++n<t.length;)if(r.call(t,n))return e.value=t[n],e.done=!1,e;return e.value=void 0,e.done=!0,e};return o.next=o}}return{next:O}}function O(){return{value:void 0,done:!0}}return l.prototype=v,n(w,"constructor",{value:v,configurable:!0}),n(v,"constructor",{value:l,configurable:!0}),l.displayName=u(v,c,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===l||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,v):(t.__proto__=v,u(t,c,"GeneratorFunction")),t.prototype=Object.create(w),t},t.awrap=function(t){return{__await:t}},x(b.prototype),u(b.prototype,s,(function(){return this})),t.AsyncIterator=b,t.async=function(e,r,n,o,a){void 0===a&&(a=Promise);var i=new b(p(e,r,n,o),a);return t.isGeneratorFunction(r)?i:i.next().then((function(t){return t.done?t.value:i.next()}))},x(w),u(w,c,"Generator"),u(w,i,(function(){return this})),u(w,"toString",(function(){return"[object Generator]"})),t.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}},t.values=L,k.prototype={constructor:k,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(T),!t)for(var e in this)"t"===e.charAt(0)&&r.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function n(r,n){return i.type="throw",i.arg=t,e.next=r,n&&(e.method="next",e.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o>=0;--o){var a=this.tryEntries[o],i=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var s=r.call(a,"catchLoc"),c=r.call(a,"finallyLoc");if(s&&c){if(this.prev<a.catchLoc)return n(a.catchLoc,!0);if(this.prev<a.finallyLoc)return n(a.finallyLoc)}else if(s){if(this.prev<a.catchLoc)return n(a.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return n(a.finallyLoc)}}}},abrupt:function(t,e){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===t||"continue"===t)&&a.tryLoc<=e&&e<=a.finallyLoc&&(a=null);var i=a?a.completion:{};return i.type=t,i.arg=e,a?(this.method="next",this.next=a.finallyLoc,h):this.complete(i)},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),h},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),T(r),h}},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;T(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:L(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),h}},t}function a(t,e,r,n,o,a,i){try{var s=t[a](i),c=s.value}catch(t){return void r(t)}s.done?e(c):Promise.resolve(c).then(n,o)}function i(t){return function(){var e=this,r=arguments;return new Promise((function(n,o){var i=t.apply(e,r);function s(t){a(i,n,o,s,c,"next",t)}function c(t){a(i,n,o,s,c,"throw",t)}s(void 0)}))}}function s(){return(s=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t}).apply(this,arguments)}var c=new Uint8Array(16);function u(){if(!e&&!(e="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return e(c)}for(var p=[],f=0;f<256;++f)p.push((f+256).toString(16).slice(1));var h={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function d(t,e,r){if(h.randomUUID&&!e&&!t)return h.randomUUID();var n=(t=t||{}).random||(t.rng||u)();if(n[6]=15&n[6]|64,n[8]=63&n[8]|128,e){r=r||0;for(var o=0;o<16;++o)e[r+o]=n[o];return e}return function(t,e){return void 0===e&&(e=0),(p[t[e+0]]+p[t[e+1]]+p[t[e+2]]+p[t[e+3]]+"-"+p[t[e+4]]+p[t[e+5]]+"-"+p[t[e+6]]+p[t[e+7]]+"-"+p[t[e+8]]+p[t[e+9]]+"-"+p[t[e+10]]+p[t[e+11]]+p[t[e+12]]+p[t[e+13]]+p[t[e+14]]+p[t[e+15]]).toLowerCase()}(n)}var l,v,g,y="undefined"!=typeof process&&process.env.REACT_APP_RANGO_BASE_URL?process.env.REACT_APP_RANGO_BASE_URL:"https://api.rango.exchange",m=r.create({baseURL:y});function w(t){return t.address?t.blockchain+"."+t.symbol+"--"+t.address:t.blockchain+"."+t.symbol}!function(t){t.CosmosMetaInfo="CosmosMetaInfo",t.EvmMetaInfo="EvmMetaInfo"}(l||(l={})),(v=exports.TransactionType||(exports.TransactionType={})).EVM="EVM",v.TRANSFER="TRANSFER",v.COSMOS="COSMOS",v.SOLANA="SOLANA",v.TRON="TRON",v.STARKNET="STARKNET",(g=exports.TransactionStatus||(exports.TransactionStatus={})).FAILED="failed",g.RUNNING="running",g.SUCCESS="success";var x={rpc:{invalidInput:-32e3,resourceNotFound:-32001,resourceUnavailable:-32002,transactionRejected:-32003,methodNotSupported:-32004,limitExceeded:-32005,parse:-32700,invalidRequest:-32600,methodNotFound:-32601,invalidParams:-32602,internal:-32603},provider:{userRejectedRequest:4001,unauthorized:4100,unsupportedMethod:4200,disconnected:4900,chainDisconnected:4901}};function b(t){return new Promise((function(e){return setTimeout(e,t)}))}function E(t,e){var r=t.gasPrice&&!t.gasPrice.startsWith("0x")?"0x"+parseInt(t.gasPrice).toString(16):null,n=s({},t,{gasPrice:r}),o={};return n.from&&(o=s({},o,{from:n.from})),e?(n.approveTo&&(o=s({},o,{to:n.approveTo})),n.approveData&&(o=s({},o,{data:n.approveData}))):(n.txTo&&(o=s({},o,{to:n.txTo})),n.txData&&(o=s({},o,{data:n.txData})),n.value&&(o=s({},o,{value:n.value})),n.gasLimit&&(o=s({},o,{gasLimit:n.gasLimit})),n.gasPrice&&(o=s({},o,{gasPrice:n.gasPrice}))),o}function I(t,e,r){return S.apply(this,arguments)}function S(){return(S=i(o().mark((function t(e,r,n){return o().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=1,t.next=4,n.isApproved(e,r);case 4:if(!t.sent.isApproved){t.next=7;break}return t.abrupt("return",!0);case 7:t.next=12;break;case 9:t.prev=9,t.t0=t.catch(1),console.log("ignorinig error",{err:t.t0});case 12:return t.next=14,b(3e3);case 14:t.next=0;break;case 16:case"end":return t.stop()}}),t,null,[[1,9]])})))).apply(this,arguments)}var T=function(){var t=i(o().mark((function t(e,r,n){var a;return o().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=1,t.next=4,n.status({requestId:e,txId:r});case 4:a=t.sent,t.next=10;break;case 7:t.prev=7,t.t0=t.catch(1),console.log("ignorinig error",{err:t.t0});case 10:if(!a){t.next=13;break}if(!a.status||![exports.TransactionStatus.FAILED,exports.TransactionStatus.SUCCESS].includes(a.status)){t.next=13;break}return t.abrupt("return",a);case 13:return t.next=15,b(3e3);case 15:t.next=0;break;case 17:case"end":return t.stop()}}),t,null,[[1,7]])})));return function(e,r,n){return t.apply(this,arguments)}}(),k=function(){var t=i(o().mark((function t(e,r,n){var a,i,s,c,u,p,f,h,d,l,v;return o().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(a=n.tx,i=n.requestId,s=n.error,"OK"==(c=n.resultType)){t.next=3;break}throw new Error(c);case 3:if(!s&&a){t.next=5;break}throw new Error(s||"Error creating the transaction.");case 5:if((null==a?void 0:a.type)===exports.TransactionType.EVM){t.next=7;break}throw new Error("Non Evm transactions are not supported yet.");case 7:return u=a,p=parseInt(u.blockChain.chainId||"-1"),t.next=11,r.getChainId();case 11:if((f=t.sent)===p){t.next=14;break}throw new Error("Signer chainId "+f+" doesn't match required chainId "+p+".");case 14:if(!u.approveTo||!u.approveData){t.next=22;break}return h=E(u,!0),t.next=18,r.sendTransaction(h);case 18:return(d=t.sent).wait(),t.next=22,I(i,d.hash,e);case 22:return t.next=24,r.getChainId();case 24:if((f=t.sent)===p){t.next=27;break}throw new Error("Signer chainId "+f+" doesn't match required chainId "+p+".");case 27:return l=E(u,!1),t.next=30,r.sendTransaction(l);case 30:return(v=t.sent).wait(),t.next=34,T(i,v.hash,e);case 34:return t.abrupt("return",t.sent);case 36:case"end":return t.stop()}}),t)})));return function(e,r,n){return t.apply(this,arguments)}}(),L=function(t){if(!t)return t;if(t.code&&("ACTION_REJECTED"===t.code||4001===t.code))return new Error("Transaction Rejected");if(t&&"number"==typeof t.code){if(Object.values(x.provider).includes(t.code))return new Error(n.getMessageFromCode(t.code));var e,r,o;if(Object.values(x.rpc).includes(t.code))return t.code===x.rpc.internal&&null!=(e=t.message)&&e.includes("underpriced")?new Error("Transaction underpriced"):null!=(r=t.message)&&r.includes("intrinsic gas too low")||null!=(o=t.message)&&o.includes("out of gas")?new Error("This Gas limit is low."):new Error(n.getMessageFromCode(t.code))}return t.message?new Error(t.message):t},O=function(){function t(t,e){void 0===e&&(e=!1),this.apiKey=t;try{if("undefined"!=typeof window){var r=localStorage.getItem("deviceId");if(r)this.deviceId=r;else{var n=d();localStorage.setItem("deviceId",n),this.deviceId=n}}else this.deviceId=d()}catch(t){this.deviceId=d()}e&&(m.interceptors.request.use((function(t){return console.log("Starting Request",JSON.stringify(t,null,2)),t})),m.interceptors.response.use((function(t){return console.log("Response:",JSON.stringify(t,null,2)),t})))}var e=t.prototype;return e.meta=function(){var t=i(o().mark((function t(){return o().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,m.get("/basic/meta?apiKey="+this.apiKey);case 2:return t.abrupt("return",t.sent.data);case 4:case"end":return t.stop()}}),t,this)})));return function(){return t.apply(this,arguments)}}(),e.chains=function(){var t=i(o().mark((function t(){return o().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,m.get("/basic/meta/blockchains?apiKey="+this.apiKey);case 2:return t.abrupt("return",t.sent.data);case 4:case"end":return t.stop()}}),t,this)})));return function(){return t.apply(this,arguments)}}(),e.swappers=function(){var t=i(o().mark((function t(){return o().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,m.get("/basic/meta/swappers?apiKey="+this.apiKey);case 2:return t.abrupt("return",t.sent.data);case 4:case"end":return t.stop()}}),t,this)})));return function(){return t.apply(this,arguments)}}(),e.quote=function(){var t=i(o().mark((function t(e){var r;return o().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=s({},e,{from:w(e.from),to:w(e.to),swappers:e.swappers&&e.swappers.length>0?e.swappers.join(","):void 0,messagingProtocols:e.messagingProtocols&&e.messagingProtocols.length>0?e.messagingProtocols.join(","):void 0}),t.next=3,m.get("/basic/quote?apiKey="+this.apiKey,{params:r,headers:{"X-Rango-Id":this.deviceId}});case 3:return t.abrupt("return",t.sent.data);case 5:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),e.isApproved=function(){var t=i(o().mark((function t(e,r){return o().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,m.get("/basic/is-approved?apiKey="+this.apiKey,{params:{requestId:e,txId:r},headers:{"X-Rango-Id":this.deviceId}});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)}}(),e.status=function(){var t=i(o().mark((function t(e){return o().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,m.get("/basic/status?apiKey="+this.apiKey,{params:e,headers:{"X-Rango-Id":this.deviceId}});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)}}(),e.swap=function(){var t=i(o().mark((function t(e){var r;return o().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=s({},e,{from:w(e.from),to:w(e.to),swappers:e.swappers&&e.swappers.length>0?e.swappers.join(","):void 0,messagingProtocols:e.messagingProtocols&&e.messagingProtocols.length>0?e.messagingProtocols.join(","):void 0}),t.next=3,m.get("/basic/swap?apiKey="+this.apiKey,{params:r,headers:{"X-Rango-Id":this.deviceId}});case 3:return t.abrupt("return",t.sent.data);case 5:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),e.reportFailure=function(){var t=i(o().mark((function t(e){return o().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,m.post("/basic/report-tx?apiKey="+this.apiKey,e,{headers:{"X-Rango-Id":this.deviceId}});case 2:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),e.balance=function(){var t=i(o().mark((function t(e){return o().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,m.get("/basic/balance?apiKey="+this.apiKey,{params:e,headers:{"X-Rango-Id":this.deviceId}});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)}}(),e.executeEvmRoute=function(){var t=i(o().mark((function t(e,r){return o().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,k(this,e,r);case 3:return t.abrupt("return",t.sent);case 6:throw t.prev=6,t.t0=t.catch(0),L(t.t0);case 9:case"end":return t.stop()}}),t,this,[[0,6]])})));return function(e,r){return t.apply(this,arguments)}}(),t}();exports.MetamaskErrorCodes=x,exports.RangoClient=O,exports.assetToString=w;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t,e,r=(t=require("axios"))&&"object"==typeof t&&"default"in t?t.default:t,n=require("eth-rpc-errors");function o(){o=function(){return t};var t={},e=Object.prototype,r=e.hasOwnProperty,n=Object.defineProperty||function(t,e,r){t[e]=r.value},a="function"==typeof Symbol?Symbol:{},i=a.iterator||"@@iterator",s=a.asyncIterator||"@@asyncIterator",c=a.toStringTag||"@@toStringTag";function u(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},"")}catch(t){u=function(t,e,r){return t[e]=r}}function p(t,e,r,o){var a=Object.create((e&&e.prototype instanceof h?e:h).prototype),i=new k(o||[]);return n(a,"_invoke",{value:E(t,r,i)}),a}function f(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=p;var l={};function h(){}function d(){}function v(){}var y={};u(y,i,(function(){return this}));var g=Object.getPrototypeOf,m=g&&g(g(O([])));m&&m!==e&&r.call(m,i)&&(y=m);var x=v.prototype=h.prototype=Object.create(y);function w(t){["next","throw","return"].forEach((function(e){u(t,e,(function(t){return this._invoke(e,t)}))}))}function b(t,e){var o;n(this,"_invoke",{value:function(n,a){function i(){return new e((function(o,i){!function n(o,a,i,s){var c=f(t[o],t,a);if("throw"!==c.type){var u=c.arg,p=u.value;return p&&"object"==typeof p&&r.call(p,"__await")?e.resolve(p.__await).then((function(t){n("next",t,i,s)}),(function(t){n("throw",t,i,s)})):e.resolve(p).then((function(t){u.value=t,i(u)}),(function(t){return n("throw",t,i,s)}))}s(c.arg)}(n,a,o,i)}))}return o=o?o.then(i,i):i()}})}function E(t,e,r){var n="suspendedStart";return function(o,a){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw a;return{value:void 0,done:!0}}for(r.method=o,r.arg=a;;){var i=r.delegate;if(i){var s=T(i,r);if(s){if(s===l)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var c=f(t,e,r);if("normal"===c.type){if(n=r.done?"completed":"suspendedYield",c.arg===l)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(n="completed",r.method="throw",r.arg=c.arg)}}}function T(t,e){var r=e.method,n=t.iterator[r];if(void 0===n)return e.delegate=null,"throw"===r&&t.iterator.return&&(e.method="return",e.arg=void 0,T(t,e),"throw"===e.method)||"return"!==r&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+r+"' method")),l;var o=f(n,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,l;var a=o.arg;return a?a.done?(e[t.resultName]=a.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,l):a:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,l)}function I(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 S(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function k(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(I,this),this.reset(!0)}function O(t){if(t){var e=t[i];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,o=function e(){for(;++n<t.length;)if(r.call(t,n))return e.value=t[n],e.done=!1,e;return e.value=void 0,e.done=!0,e};return o.next=o}}return{next:R}}function R(){return{value:void 0,done:!0}}return d.prototype=v,n(x,"constructor",{value:v,configurable:!0}),n(v,"constructor",{value:d,configurable:!0}),d.displayName=u(v,c,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===d||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,v):(t.__proto__=v,u(t,c,"GeneratorFunction")),t.prototype=Object.create(x),t},t.awrap=function(t){return{__await:t}},w(b.prototype),u(b.prototype,s,(function(){return this})),t.AsyncIterator=b,t.async=function(e,r,n,o,a){void 0===a&&(a=Promise);var i=new b(p(e,r,n,o),a);return t.isGeneratorFunction(r)?i:i.next().then((function(t){return t.done?t.value:i.next()}))},w(x),u(x,c,"Generator"),u(x,i,(function(){return this})),u(x,"toString",(function(){return"[object Generator]"})),t.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}},t.values=O,k.prototype={constructor:k,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(S),!t)for(var e in this)"t"===e.charAt(0)&&r.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function n(r,n){return i.type="throw",i.arg=t,e.next=r,n&&(e.method="next",e.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o>=0;--o){var a=this.tryEntries[o],i=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var s=r.call(a,"catchLoc"),c=r.call(a,"finallyLoc");if(s&&c){if(this.prev<a.catchLoc)return n(a.catchLoc,!0);if(this.prev<a.finallyLoc)return n(a.finallyLoc)}else if(s){if(this.prev<a.catchLoc)return n(a.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return n(a.finallyLoc)}}}},abrupt:function(t,e){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===t||"continue"===t)&&a.tryLoc<=e&&e<=a.finallyLoc&&(a=null);var i=a?a.completion:{};return i.type=t,i.arg=e,a?(this.method="next",this.next=a.finallyLoc,l):this.complete(i)},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),l},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),S(r),l}},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;S(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:O(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),l}},t}function a(t,e,r,n,o,a,i){try{var s=t[a](i),c=s.value}catch(t){return void r(t)}s.done?e(c):Promise.resolve(c).then(n,o)}function i(t){return function(){var e=this,r=arguments;return new Promise((function(n,o){var i=t.apply(e,r);function s(t){a(i,n,o,s,c,"next",t)}function c(t){a(i,n,o,s,c,"throw",t)}s(void 0)}))}}function s(){return(s=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t}).apply(this,arguments)}var c=new Uint8Array(16);function u(){if(!e&&!(e="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return e(c)}for(var p=[],f=0;f<256;++f)p.push((f+256).toString(16).slice(1));var l={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function h(t,e,r){if(l.randomUUID&&!e&&!t)return l.randomUUID();var n=(t=t||{}).random||(t.rng||u)();if(n[6]=15&n[6]|64,n[8]=63&n[8]|128,e){r=r||0;for(var o=0;o<16;++o)e[r+o]=n[o];return e}return function(t,e){return void 0===e&&(e=0),(p[t[e+0]]+p[t[e+1]]+p[t[e+2]]+p[t[e+3]]+"-"+p[t[e+4]]+p[t[e+5]]+"-"+p[t[e+6]]+p[t[e+7]]+"-"+p[t[e+8]]+p[t[e+9]]+"-"+p[t[e+10]]+p[t[e+11]]+p[t[e+12]]+p[t[e+13]]+p[t[e+14]]+p[t[e+15]]).toLowerCase()}(n)}var d="undefined"!=typeof process&&process.env.REACT_APP_RANGO_BASE_URL?process.env.REACT_APP_RANGO_BASE_URL:"https://api.rango.exchange",v=r.create({baseURL:d});function y(t){return t.address?t.blockchain+"."+t.symbol+"--"+t.address:t.blockchain+"."+t.symbol}var g,m,x=function(t){return"EVM"===t.type},w=function(t){return"COSMOS"===t.type},b=function(t){return"SOLANA"===t.type},E=function(t){return"TRON"===t.type},T=function(t){return"TRANSFER"===t.type},I=function(t){return"STARKNET"===t.type};(g=exports.RoutingResultType||(exports.RoutingResultType={})).OK="OK",g.HIGH_IMPACT="HIGH_IMPACT",g.NO_ROUTE="NO_ROUTE",g.INPUT_LIMIT_ISSUE="INPUT_LIMIT_ISSUE",(m=exports.TransactionType||(exports.TransactionType={})).EVM="EVM",m.TRANSFER="TRANSFER",m.COSMOS="COSMOS",m.SOLANA="SOLANA",m.TRON="TRON",m.STARKNET="STARKNET";var S,k=exports.TransactionType;(S=exports.TransactionStatus||(exports.TransactionStatus={})).FAILED="failed",S.RUNNING="running",S.SUCCESS="success";var O={rpc:{invalidInput:-32e3,resourceNotFound:-32001,resourceUnavailable:-32002,transactionRejected:-32003,methodNotSupported:-32004,limitExceeded:-32005,parse:-32700,invalidRequest:-32600,methodNotFound:-32601,invalidParams:-32602,internal:-32603},provider:{userRejectedRequest:4001,unauthorized:4100,unsupportedMethod:4200,disconnected:4900,chainDisconnected:4901}};function R(t){return new Promise((function(e){return setTimeout(e,t)}))}function L(t,e){var r=t.gasPrice&&!t.gasPrice.startsWith("0x")?"0x"+parseInt(t.gasPrice).toString(16):null,n=s({},t,{gasPrice:r}),o={};return n.from&&(o=s({},o,{from:n.from})),e?(n.approveTo&&(o=s({},o,{to:n.approveTo})),n.approveData&&(o=s({},o,{data:n.approveData}))):(n.txTo&&(o=s({},o,{to:n.txTo})),n.txData&&(o=s({},o,{data:n.txData})),n.value&&(o=s({},o,{value:n.value})),n.gasLimit&&(o=s({},o,{gasLimit:n.gasLimit})),n.gasPrice&&(o=s({},o,{gasPrice:n.gasPrice}))),o}function P(t,e,r){return N.apply(this,arguments)}function N(){return(N=i(o().mark((function t(e,r,n){var a;return o().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=1,t.next=4,n.isApproved(e,r);case 4:if(null==(a=t.sent)||!a.isApproved){t.next=7;break}return t.abrupt("return",!0);case 7:if(null!=a&&a.isApproved||(null==a?void 0:a.txStatus)!==exports.TransactionStatus.FAILED){t.next=9;break}return t.abrupt("return",!1);case 9:t.next=14;break;case 11:t.prev=11,t.t0=t.catch(1),console.log("ignorinig error",{err:t.t0});case 14:return t.next=16,R(3e3);case 16:t.next=0;break;case 18:case"end":return t.stop()}}),t,null,[[1,11]])})))).apply(this,arguments)}var _=function(){var t=i(o().mark((function t(e,r,n){var a;return o().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=1,t.next=4,n.status({requestId:e,txId:r});case 4:a=t.sent,t.next=10;break;case 7:t.prev=7,t.t0=t.catch(1),console.log("ignorinig error",{err:t.t0});case 10:if(!a){t.next=13;break}if(!a.status||![exports.TransactionStatus.FAILED,exports.TransactionStatus.SUCCESS].includes(a.status)){t.next=13;break}return t.abrupt("return",a);case 13:return t.next=15,R(3e3);case 15:t.next=0;break;case 17:case"end":return t.stop()}}),t,null,[[1,7]])})));return function(e,r,n){return t.apply(this,arguments)}}(),A=function(){var t=i(o().mark((function t(e,r,n){var a,i,s,c,u,p,f,l,h,d,v,y;return o().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(a=n.tx,i=n.requestId,s=n.error,"OK"==(c=n.resultType)){t.next=3;break}throw new Error(c);case 3:if(!s&&a){t.next=5;break}throw new Error(s||"Error creating the transaction.");case 5:if((null==a?void 0:a.type)===exports.TransactionType.EVM){t.next=7;break}throw new Error("Non Evm transactions are not supported yet.");case 7:if(u=a){t.next=10;break}throw new Error("Transaction is null. Please try again!");case 10:return p=parseInt(u.blockChain.chainId||"-1"),t.next=13,r.getChainId();case 13:if((f=t.sent)===p){t.next=16;break}throw new Error("Signer chainId "+f+" doesn't match required chainId "+p+".");case 16:if(!u.approveTo||!u.approveData){t.next=27;break}return l=L(u,!0),t.next=20,r.sendTransaction(l);case 20:return(h=t.sent).wait(),t.next=24,P(i,h.hash,e);case 24:if(t.sent){t.next=27;break}throw new Error("Error in approve transaction.");case 27:return t.next=29,r.getChainId();case 29:if((f=t.sent)===p){t.next=32;break}throw new Error("Signer chainId "+f+" doesn't match required chainId "+p+".");case 32:return d=L(u,!1),t.next=35,r.sendTransaction(d);case 35:return(v=t.sent).wait(),t.next=39,_(i,v.hash,e);case 39:if((y=t.sent).status===exports.TransactionStatus.SUCCESS){t.next=42;break}throw new Error("Cross-chain swap failed. "+(y.error||""));case 42:return t.abrupt("return",y);case 43:case"end":return t.stop()}}),t)})));return function(e,r,n){return t.apply(this,arguments)}}(),j=function(t){if(!t)return t;if(t.code&&("ACTION_REJECTED"===t.code||4001===t.code))return new Error("Transaction Rejected");if(t&&"number"==typeof t.code){if(Object.values(O.provider).includes(t.code))return new Error(n.getMessageFromCode(t.code));var e,r,o;if(Object.values(O.rpc).includes(t.code))return t.code===O.rpc.internal&&null!=(e=t.message)&&e.includes("underpriced")?new Error("Transaction underpriced"):null!=(r=t.message)&&r.includes("intrinsic gas too low")||null!=(o=t.message)&&o.includes("out of gas")?new Error("This Gas limit is low."):new Error(n.getMessageFromCode(t.code))}return t.message?new Error(t.message):t},C=function(){function t(t,e){void 0===e&&(e=!1),this.apiKey=t;try{if("undefined"!=typeof window){var r=localStorage.getItem("deviceId");if(r)this.deviceId=r;else{var n=h();localStorage.setItem("deviceId",n),this.deviceId=n}}else this.deviceId=h()}catch(t){this.deviceId=h()}e&&(v.interceptors.request.use((function(t){return console.log("Starting Request",JSON.stringify(t,null,2)),t})),v.interceptors.response.use((function(t){return console.log("Response:",JSON.stringify(t,null,2)),t})))}var e=t.prototype;return e.meta=function(){var t=i(o().mark((function t(){return o().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,v.get("/basic/meta?apiKey="+this.apiKey);case 2:return t.abrupt("return",t.sent.data);case 4:case"end":return t.stop()}}),t,this)})));return function(){return t.apply(this,arguments)}}(),e.chains=function(){var t=i(o().mark((function t(){return o().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,v.get("/basic/meta/blockchains?apiKey="+this.apiKey);case 2:return t.abrupt("return",t.sent.data);case 4:case"end":return t.stop()}}),t,this)})));return function(){return t.apply(this,arguments)}}(),e.swappers=function(){var t=i(o().mark((function t(){return o().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,v.get("/basic/meta/swappers?apiKey="+this.apiKey);case 2:return t.abrupt("return",t.sent.data);case 4:case"end":return t.stop()}}),t,this)})));return function(){return t.apply(this,arguments)}}(),e.quote=function(){var t=i(o().mark((function t(e){var r;return o().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=s({},e,{from:y(e.from),to:y(e.to),swappers:e.swappers&&e.swappers.length>0?e.swappers.join(","):void 0,messagingProtocols:e.messagingProtocols&&e.messagingProtocols.length>0?e.messagingProtocols.join(","):void 0}),t.next=3,v.get("/basic/quote?apiKey="+this.apiKey,{params:r,headers:{"X-Rango-Id":this.deviceId}});case 3:return t.abrupt("return",t.sent.data);case 5:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),e.isApproved=function(){var t=i(o().mark((function t(e,r){return o().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,v.get("/basic/is-approved?apiKey="+this.apiKey,{params:{requestId:e,txId:r},headers:{"X-Rango-Id":this.deviceId}});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)}}(),e.status=function(){var t=i(o().mark((function t(e){return o().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,v.get("/basic/status?apiKey="+this.apiKey,{params:e,headers:{"X-Rango-Id":this.deviceId}});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)}}(),e.swap=function(){var t=i(o().mark((function t(e){var r;return o().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=s({},e,{from:y(e.from),to:y(e.to),swappers:e.swappers&&e.swappers.length>0?e.swappers.join(","):void 0,messagingProtocols:e.messagingProtocols&&e.messagingProtocols.length>0?e.messagingProtocols.join(","):void 0}),t.next=3,v.get("/basic/swap?apiKey="+this.apiKey,{params:r,headers:{"X-Rango-Id":this.deviceId}});case 3:return t.abrupt("return",t.sent.data);case 5:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),e.reportFailure=function(){var t=i(o().mark((function t(e){return o().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,v.post("/basic/report-tx?apiKey="+this.apiKey,e,{headers:{"X-Rango-Id":this.deviceId}});case 2:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),e.balance=function(){var t=i(o().mark((function t(e){return o().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,v.get("/basic/balance?apiKey="+this.apiKey,{params:e,headers:{"X-Rango-Id":this.deviceId}});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)}}(),e.executeEvmRoute=function(){var t=i(o().mark((function t(e,r){var n;return o().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,A(this,e,r);case 3:return t.abrupt("return",t.sent);case 6:t.prev=6,t.t0=t.catch(0),n=j(t.t0);try{this.reportFailure({requestId:r.requestId,eventType:"TX_FAIL",reason:(null==n?void 0:n.message)||"Error executing the route"})}catch(t){console.log({err:t})}throw n;case 11:case"end":return t.stop()}}),t,this,[[0,6]])})));return function(e,r){return t.apply(this,arguments)}}(),t}();exports.GenericTransactionType=k,exports.MetamaskErrorCodes=O,exports.RangoClient=C,exports.assetToString=y,exports.cosmosBlockchains=function(t){return t.filter(w)},exports.evmBlockchains=function(t){return t.filter(x)},exports.isCosmosBlockchain=w,exports.isEvmBlockchain=x,exports.isSolanaBlockchain=b,exports.isStarknetBlockchain=I,exports.isTransferBlockchain=T,exports.isTronBlockchain=E,exports.solanaBlockchain=function(t){return t.filter(b)},exports.starknetBlockchain=function(t){return t.filter(I)},exports.transferBlockchains=function(t){return t.filter(T)},exports.tronBlockchain=function(t){return t.filter(E)};
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":["../../../node_modules/uuid/dist/esm-browser/rng.js","../../../node_modules/uuid/dist/esm-browser/stringify.js","../../../node_modules/uuid/dist/esm-browser/native.js","../../../node_modules/uuid/dist/esm-browser/v4.js","../src/services/httpService.ts","../src/types/api/common.ts","../src/types/utils/errors.ts","../src/utils/promise.ts","../src/services/executor.ts","../src/utils/errors.ts","../src/services/client.ts"],"sourcesContent":["// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nlet getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\n\nexport function unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n return (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase();\n}\n\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default {\n randomUUID\n};","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\n\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n\n options = options || {};\n const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return unsafeStringify(rnds);\n}\n\nexport default v4;","import axios from 'axios'\n\nconst baseURL =\n typeof process !== 'undefined' && process.env.REACT_APP_RANGO_BASE_URL\n ? process.env.REACT_APP_RANGO_BASE_URL\n : 'https://api.rango.exchange'\n\nexport const httpService = axios.create({\n baseURL,\n})\n","import { Asset } from 'rango-types/lib/api/basic'\nexport * from 'rango-types/lib/api/basic/common'\n\nexport function assetToString(asset: Asset): string {\n if (!!asset.address)\n return `${asset.blockchain}.${asset.symbol}--${asset.address}`\n else return `${asset.blockchain}.${asset.symbol}`\n}\n","export const MetamaskErrorCodes = {\n rpc: {\n invalidInput: -32000,\n resourceNotFound: -32001,\n resourceUnavailable: -32002,\n transactionRejected: -32003,\n methodNotSupported: -32004,\n limitExceeded: -32005,\n parse: -32700,\n invalidRequest: -32600,\n methodNotFound: -32601,\n invalidParams: -32602,\n internal: -32603,\n },\n provider: {\n userRejectedRequest: 4001,\n unauthorized: 4100,\n unsupportedMethod: 4200,\n disconnected: 4900,\n chainDisconnected: 4901,\n },\n}\n","export function sleep(ms: number) {\n return new Promise((resolve) => setTimeout(resolve, ms))\n}\n","import { Signer } from 'ethers'\nimport { RangoClient } from './client'\nimport { EvmTransaction } from '../types/api/txs'\nimport {\n StatusResponse,\n SwapResponse,\n TransactionStatus,\n TransactionType,\n} from '../types/api/transactions'\nimport { sleep } from '../utils/promise'\n\nexport function prepareEvmTransaction(\n evmTx: EvmTransaction,\n isApprove: boolean\n) {\n const gasPrice =\n !!evmTx.gasPrice && !evmTx.gasPrice.startsWith('0x')\n ? '0x' + parseInt(evmTx.gasPrice).toString(16)\n : null\n const manipulatedTx = {\n ...evmTx,\n gasPrice,\n }\n let tx = {}\n if (!!manipulatedTx.from) tx = { ...tx, from: manipulatedTx.from }\n if (isApprove) {\n if (!!manipulatedTx.approveTo) tx = { ...tx, to: manipulatedTx.approveTo }\n if (!!manipulatedTx.approveData)\n tx = { ...tx, data: manipulatedTx.approveData }\n } else {\n if (!!manipulatedTx.txTo) tx = { ...tx, to: manipulatedTx.txTo }\n if (!!manipulatedTx.txData) tx = { ...tx, data: manipulatedTx.txData }\n if (!!manipulatedTx.value) tx = { ...tx, value: manipulatedTx.value }\n if (!!manipulatedTx.gasLimit)\n tx = { ...tx, gasLimit: manipulatedTx.gasLimit }\n if (!!manipulatedTx.gasPrice)\n tx = { ...tx, gasPrice: manipulatedTx.gasPrice }\n }\n return tx\n}\n\nasync function checkApprovalSync(\n requestId: string,\n txId: string,\n rangoClient: RangoClient\n) {\n while (true) {\n try {\n const approvalResponse = await rangoClient.isApproved(requestId, txId)\n if (approvalResponse.isApproved) return true\n } catch (err) {\n console.log('ignorinig error', { err })\n }\n await sleep(3_000)\n }\n}\n\nexport const checkTransactionStatusSync = async (\n requestId: string,\n txId: string,\n rangoClient: RangoClient\n) => {\n let txStatus: StatusResponse | undefined\n while (true) {\n try {\n txStatus = await rangoClient.status({\n requestId,\n txId,\n })\n } catch (err) {\n console.log('ignorinig error', { err })\n }\n if (!!txStatus) {\n if (\n !!txStatus.status &&\n [TransactionStatus.FAILED, TransactionStatus.SUCCESS].includes(\n txStatus.status\n )\n ) {\n return txStatus\n }\n }\n await sleep(3_000)\n }\n}\n\nexport const executeEvmRoute = async (\n client: RangoClient,\n signer: Signer,\n route: SwapResponse\n): Promise<StatusResponse> => {\n const { tx, requestId, error, resultType } = route\n if (resultType != 'OK') throw new Error(resultType)\n if (!!error || !tx)\n throw new Error(error || 'Error creating the transaction.')\n if (tx?.type !== TransactionType.EVM)\n throw new Error('Non Evm transactions are not supported yet.')\n const evmTransaction = tx as EvmTransaction\n const txChainId = parseInt(evmTransaction.blockChain.chainId || '-1')\n let signerChainId = await signer.getChainId()\n if (signerChainId !== txChainId) {\n throw new Error(\n `Signer chainId ${signerChainId} doesn't match required chainId ${txChainId}.`\n )\n }\n if (!!evmTransaction.approveTo && !!evmTransaction.approveData) {\n const approveTxData = prepareEvmTransaction(evmTransaction, true)\n const approveTx = await signer.sendTransaction(approveTxData)\n approveTx.wait()\n await checkApprovalSync(requestId, approveTx.hash, client)\n }\n signerChainId = await signer.getChainId()\n if (signerChainId !== txChainId) {\n throw new Error(\n `Signer chainId ${signerChainId} doesn't match required chainId ${txChainId}.`\n )\n }\n const mainTxData = prepareEvmTransaction(evmTransaction, false)\n const mainTx = await signer.sendTransaction(mainTxData)\n mainTx.wait()\n const status = await checkTransactionStatusSync(\n requestId,\n mainTx.hash,\n client\n )\n return status\n}\n","import { getMessageFromCode } from 'eth-rpc-errors'\nimport { MetamaskErrorCodes } from '../types/utils/errors'\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const prettifyError = (error: any) => {\n if (!error) return error\n if (error.code && (error.code === 'ACTION_REJECTED' || error.code === 4001))\n return new Error('Transaction Rejected')\n if (error && typeof error.code === 'number') {\n if (Object.values(MetamaskErrorCodes.provider).includes(error.code)) {\n return new Error(getMessageFromCode(error.code))\n }\n if (Object.values(MetamaskErrorCodes.rpc).includes(error.code)) {\n if (\n error.code === MetamaskErrorCodes.rpc.internal &&\n error.message?.includes('underpriced')\n )\n return new Error('Transaction underpriced')\n if (\n error.message?.includes('intrinsic gas too low') ||\n error.message?.includes('out of gas')\n )\n return new Error('This Gas limit is low.')\n return new Error(getMessageFromCode(error.code))\n }\n }\n if (error.message) return new Error(error.message)\n return error\n}\n","import { v4 } from 'uuid'\n\nimport { httpService } from './httpService'\nimport {\n MetaResponse,\n QuoteRequest,\n QuoteResponse,\n CheckApprovalResponse,\n StatusRequest,\n StatusResponse,\n SwapRequest,\n SwapResponse,\n ReportTransactionRequest,\n WalletDetailsResponse,\n assetToString,\n BlockchainMeta,\n SwapperMetaDto,\n} from '../types'\nimport { Signer } from 'ethers'\nimport { executeEvmRoute as executeEvmRoute } from './executor'\nimport { prettifyError } from '../utils/errors'\n\ntype WalletAddress = { blockchain: string; address: string }\n\nexport class RangoClient {\n private readonly deviceId: string\n\n private readonly apiKey: string\n\n constructor(apiKey: string, debug = false) {\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 = v4()\n localStorage.setItem('deviceId', generatedId)\n this.deviceId = generatedId\n }\n } else {\n this.deviceId = v4()\n }\n } catch (e) {\n this.deviceId = v4()\n }\n if (debug) {\n httpService.interceptors.request.use((request) => {\n console.log('Starting Request', JSON.stringify(request, null, 2))\n return request\n })\n 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(): Promise<MetaResponse> {\n const axiosResponse = await httpService.get<MetaResponse>(\n `/basic/meta?apiKey=${this.apiKey}`\n )\n return axiosResponse.data\n }\n\n public async chains(): Promise<BlockchainMeta[]> {\n const axiosResponse = await httpService.get<BlockchainMeta[]>(\n `/basic/meta/blockchains?apiKey=${this.apiKey}`\n )\n return axiosResponse.data\n }\n\n public async swappers(): Promise<SwapperMetaDto[]> {\n const axiosResponse = await httpService.get<SwapperMetaDto[]>(\n `/basic/meta/swappers?apiKey=${this.apiKey}`\n )\n return axiosResponse.data\n }\n\n public async quote(quoteRequest: QuoteRequest): 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 messagingProtocols:\n !!quoteRequest.messagingProtocols &&\n quoteRequest.messagingProtocols.length > 0\n ? quoteRequest.messagingProtocols.join(',')\n : undefined,\n }\n const axiosResponse = await httpService.get<QuoteResponse>(\n `/basic/quote?apiKey=${this.apiKey}`,\n {\n params: body,\n headers: { 'X-Rango-Id': this.deviceId },\n }\n )\n return axiosResponse.data\n }\n\n public async isApproved(\n requestId: string,\n txId: string\n ): Promise<CheckApprovalResponse> {\n const axiosResponse = await httpService.get<CheckApprovalResponse>(\n `/basic/is-approved?apiKey=${this.apiKey}`,\n {\n params: { requestId, txId },\n headers: { 'X-Rango-Id': this.deviceId },\n }\n )\n return axiosResponse.data\n }\n\n public async status(statusRequest: StatusRequest): Promise<StatusResponse> {\n const axiosResponse = await httpService.get<StatusResponse>(\n `/basic/status?apiKey=${this.apiKey}`,\n {\n params: statusRequest,\n headers: { 'X-Rango-Id': this.deviceId },\n }\n )\n return axiosResponse.data\n }\n\n public async swap(swapRequest: SwapRequest): Promise<SwapResponse> {\n const body = {\n ...swapRequest,\n from: assetToString(swapRequest.from),\n to: assetToString(swapRequest.to),\n swappers:\n !!swapRequest.swappers && swapRequest.swappers.length > 0\n ? swapRequest.swappers.join(',')\n : undefined,\n messagingProtocols:\n !!swapRequest.messagingProtocols &&\n swapRequest.messagingProtocols.length > 0\n ? swapRequest.messagingProtocols.join(',')\n : undefined,\n }\n const axiosResponse = await httpService.get<SwapResponse>(\n `/basic/swap?apiKey=${this.apiKey}`,\n {\n params: body,\n headers: { 'X-Rango-Id': this.deviceId },\n }\n )\n return axiosResponse.data\n }\n\n public async reportFailure(\n requestBody: ReportTransactionRequest\n ): Promise<void> {\n await httpService.post(\n `/basic/report-tx?apiKey=${this.apiKey}`,\n requestBody,\n {\n headers: { 'X-Rango-Id': this.deviceId },\n }\n )\n }\n\n public async balance(\n walletAddress: WalletAddress\n ): Promise<WalletDetailsResponse> {\n const axiosResponse = await httpService.get<WalletDetailsResponse>(\n `/basic/balance?apiKey=${this.apiKey}`,\n {\n params: walletAddress,\n headers: { 'X-Rango-Id': this.deviceId },\n }\n )\n return axiosResponse.data\n }\n\n public async executeEvmRoute(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n signer: any,\n route: SwapResponse\n ): Promise<StatusResponse> {\n try {\n return await executeEvmRoute(this, signer as Signer, route)\n } catch (error) {\n throw prettifyError(error)\n }\n }\n}\n"],"names":["getRandomValues","rnds8","Uint8Array","rng","crypto","bind","Error","byteToHex","i","push","toString","slice","randomUUID","v4","options","buf","offset","native","rnds","random","arr","toLowerCase","unsafeStringify","baseURL","process","env","REACT_APP_RANGO_BASE_URL","httpService","axios","create","assetToString","asset","address","blockchain","symbol","MetamaskErrorCodes","rpc","invalidInput","resourceNotFound","resourceUnavailable","transactionRejected","methodNotSupported","limitExceeded","parse","invalidRequest","methodNotFound","invalidParams","internal","provider","userRejectedRequest","unauthorized","unsupportedMethod","disconnected","chainDisconnected","sleep","ms","Promise","resolve","setTimeout","prepareEvmTransaction","evmTx","isApprove","gasPrice","startsWith","parseInt","manipulatedTx","tx","from","approveTo","to","approveData","data","txTo","txData","value","gasLimit","checkApprovalSync","_checkApprovalSync","requestId","txId","rangoClient","_context3","isApproved","console","log","err","checkTransactionStatusSync","_context","status","txStatus","TransactionStatus","FAILED","SUCCESS","includes","executeEvmRoute","client","signer","route","error","resultType","_context2","type","TransactionType","EVM","evmTransaction","txChainId","blockChain","chainId","getChainId","signerChainId","approveTxData","sendTransaction","approveTx","wait","hash","mainTxData","mainTx","prettifyError","code","Object","values","getMessageFromCode","message","_error$message","_error$message2","_error$message3","RangoClient","apiKey","debug","this","window","deviceId","localStorage","getItem","generatedId","setItem","e","interceptors","request","use","JSON","stringify","response","_proto","meta","get","chains","swappers","quote","quoteRequest","body","length","join","undefined","messagingProtocols","_context4","params","headers","X-Rango-Id","_context5","statusRequest","_context6","swap","swapRequest","_context7","reportFailure","requestBody","_context8","post","balance","walletAddress","_context9","_context10"],"mappings":"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"}
1
+ {"version":3,"file":"rango-sdk-basic.cjs.production.min.js","sources":["../../../node_modules/uuid/dist/esm-browser/rng.js","../../../node_modules/uuid/dist/esm-browser/stringify.js","../../../node_modules/uuid/dist/esm-browser/native.js","../../../node_modules/uuid/dist/esm-browser/v4.js","../src/services/httpService.ts","../src/types/api/common.ts","../../../node_modules/rango-types/src/api/shared/type-gaurds.ts","../../../node_modules/rango-types/src/api/shared/transactions.ts","../src/types/utils/errors.ts","../src/utils/promise.ts","../src/services/executor.ts","../src/utils/errors.ts","../src/services/client.ts"],"sourcesContent":["// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nlet getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\n\nexport function unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n return (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase();\n}\n\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default {\n randomUUID\n};","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\n\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n\n options = options || {};\n const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return unsafeStringify(rnds);\n}\n\nexport default v4;","import axios from 'axios'\n\nconst baseURL =\n typeof process !== 'undefined' && process.env.REACT_APP_RANGO_BASE_URL\n ? process.env.REACT_APP_RANGO_BASE_URL\n : 'https://api.rango.exchange'\n\nexport const httpService = axios.create({\n baseURL,\n})\n","import { Asset } from 'rango-types/lib/api/basic'\nexport * from 'rango-types/lib/api/basic/common'\n\nexport function assetToString(asset: Asset): string {\n if (!!asset.address)\n return `${asset.blockchain}.${asset.symbol}--${asset.address}`\n else return `${asset.blockchain}.${asset.symbol}`\n}\n",null,null,"export const MetamaskErrorCodes = {\n rpc: {\n invalidInput: -32000,\n resourceNotFound: -32001,\n resourceUnavailable: -32002,\n transactionRejected: -32003,\n methodNotSupported: -32004,\n limitExceeded: -32005,\n parse: -32700,\n invalidRequest: -32600,\n methodNotFound: -32601,\n invalidParams: -32602,\n internal: -32603,\n },\n provider: {\n userRejectedRequest: 4001,\n unauthorized: 4100,\n unsupportedMethod: 4200,\n disconnected: 4900,\n chainDisconnected: 4901,\n },\n}\n","export function sleep(ms: number) {\n return new Promise((resolve) => setTimeout(resolve, ms))\n}\n","import { Signer } from 'ethers'\nimport { RangoClient } from './client'\nimport { EvmTransaction } from '../types/api/txs'\nimport {\n StatusResponse,\n SwapResponse,\n TransactionStatus,\n TransactionType,\n} from '../types/api/transactions'\nimport { sleep } from '../utils/promise'\n\nexport function prepareEvmTransaction(\n evmTx: EvmTransaction,\n isApprove: boolean\n) {\n const gasPrice =\n !!evmTx.gasPrice && !evmTx.gasPrice.startsWith('0x')\n ? '0x' + parseInt(evmTx.gasPrice).toString(16)\n : null\n const manipulatedTx = {\n ...evmTx,\n gasPrice,\n }\n let tx = {}\n if (!!manipulatedTx.from) tx = { ...tx, from: manipulatedTx.from }\n if (isApprove) {\n if (!!manipulatedTx.approveTo) tx = { ...tx, to: manipulatedTx.approveTo }\n if (!!manipulatedTx.approveData)\n tx = { ...tx, data: manipulatedTx.approveData }\n } else {\n if (!!manipulatedTx.txTo) tx = { ...tx, to: manipulatedTx.txTo }\n if (!!manipulatedTx.txData) tx = { ...tx, data: manipulatedTx.txData }\n if (!!manipulatedTx.value) tx = { ...tx, value: manipulatedTx.value }\n if (!!manipulatedTx.gasLimit)\n tx = { ...tx, gasLimit: manipulatedTx.gasLimit }\n if (!!manipulatedTx.gasPrice)\n tx = { ...tx, gasPrice: manipulatedTx.gasPrice }\n }\n return tx\n}\n\nasync function checkApprovalSync(\n requestId: string,\n txId: string,\n rangoClient: RangoClient\n): Promise<boolean> {\n while (true) {\n try {\n const approvalResponse = await rangoClient.isApproved(requestId, txId)\n if (approvalResponse?.isApproved) return true\n if (\n !approvalResponse?.isApproved &&\n approvalResponse?.txStatus === TransactionStatus.FAILED\n )\n return false\n } catch (err) {\n console.log('ignorinig error', { err })\n }\n await sleep(3_000)\n }\n}\n\nexport const checkTransactionStatusSync = async (\n requestId: string,\n txId: string,\n rangoClient: RangoClient\n) => {\n let txStatus: StatusResponse | undefined\n while (true) {\n try {\n txStatus = await rangoClient.status({\n requestId,\n txId,\n })\n } catch (err) {\n console.log('ignorinig error', { err })\n }\n if (!!txStatus) {\n if (\n !!txStatus.status &&\n [TransactionStatus.FAILED, TransactionStatus.SUCCESS].includes(\n txStatus.status\n )\n ) {\n return txStatus\n }\n }\n await sleep(3_000)\n }\n}\n\nexport const executeEvmRoute = async (\n client: RangoClient,\n signer: Signer,\n route: SwapResponse\n): Promise<StatusResponse> => {\n const { tx, requestId, error, resultType } = route\n if (resultType != 'OK') throw new Error(resultType)\n if (!!error || !tx)\n throw new Error(error || 'Error creating the transaction.')\n if (tx?.type !== TransactionType.EVM)\n throw new Error('Non Evm transactions are not supported yet.')\n const evmTransaction = tx as EvmTransaction\n if (!evmTransaction) throw new Error('Transaction is null. Please try again!')\n const txChainId = parseInt(evmTransaction.blockChain.chainId || '-1')\n let signerChainId = await signer.getChainId()\n if (signerChainId !== txChainId) {\n throw new Error(\n `Signer chainId ${signerChainId} doesn't match required chainId ${txChainId}.`\n )\n }\n if (!!evmTransaction.approveTo && !!evmTransaction.approveData) {\n const approveTxData = prepareEvmTransaction(evmTransaction, true)\n const approveTx = await signer.sendTransaction(approveTxData)\n approveTx.wait()\n const isApproved = await checkApprovalSync(\n requestId,\n approveTx.hash,\n client\n )\n if (!isApproved) throw new Error('Error in approve transaction.')\n }\n signerChainId = await signer.getChainId()\n if (signerChainId !== txChainId) {\n throw new Error(\n `Signer chainId ${signerChainId} doesn't match required chainId ${txChainId}.`\n )\n }\n const mainTxData = prepareEvmTransaction(evmTransaction, false)\n const mainTx = await signer.sendTransaction(mainTxData)\n mainTx.wait()\n const status = await checkTransactionStatusSync(\n requestId,\n mainTx.hash,\n client\n )\n if (status.status !== TransactionStatus.SUCCESS)\n throw new Error(`Cross-chain swap failed. ${status.error || ''}`)\n return status\n}\n","import { getMessageFromCode } from 'eth-rpc-errors'\nimport { MetamaskErrorCodes } from '../types/utils/errors'\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const prettifyError = (error: any) => {\n if (!error) return error\n if (error.code && (error.code === 'ACTION_REJECTED' || error.code === 4001))\n return new Error('Transaction Rejected')\n if (error && typeof error.code === 'number') {\n if (Object.values(MetamaskErrorCodes.provider).includes(error.code)) {\n return new Error(getMessageFromCode(error.code))\n }\n if (Object.values(MetamaskErrorCodes.rpc).includes(error.code)) {\n if (\n error.code === MetamaskErrorCodes.rpc.internal &&\n error.message?.includes('underpriced')\n )\n return new Error('Transaction underpriced')\n if (\n error.message?.includes('intrinsic gas too low') ||\n error.message?.includes('out of gas')\n )\n return new Error('This Gas limit is low.')\n return new Error(getMessageFromCode(error.code))\n }\n }\n if (error.message) return new Error(error.message)\n return error\n}\n","import { v4 } from 'uuid'\n\nimport { httpService } from './httpService'\nimport {\n MetaResponse,\n QuoteRequest,\n QuoteResponse,\n CheckApprovalResponse,\n StatusRequest,\n StatusResponse,\n SwapRequest,\n SwapResponse,\n ReportTransactionRequest,\n WalletDetailsResponse,\n assetToString,\n BlockchainMeta,\n SwapperMetaDto,\n} from '../types'\nimport { Signer } from 'ethers'\nimport { executeEvmRoute as executeEvmRoute } from './executor'\nimport { prettifyError } from '../utils/errors'\n\ntype WalletAddress = { blockchain: string; address: string }\n\nexport class RangoClient {\n private readonly deviceId: string\n\n private readonly apiKey: string\n\n constructor(apiKey: string, debug = false) {\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 = v4()\n localStorage.setItem('deviceId', generatedId)\n this.deviceId = generatedId\n }\n } else {\n this.deviceId = v4()\n }\n } catch (e) {\n this.deviceId = v4()\n }\n if (debug) {\n httpService.interceptors.request.use((request) => {\n console.log('Starting Request', JSON.stringify(request, null, 2))\n return request\n })\n 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(): Promise<MetaResponse> {\n const axiosResponse = await httpService.get<MetaResponse>(\n `/basic/meta?apiKey=${this.apiKey}`\n )\n return axiosResponse.data\n }\n\n public async chains(): Promise<BlockchainMeta[]> {\n const axiosResponse = await httpService.get<BlockchainMeta[]>(\n `/basic/meta/blockchains?apiKey=${this.apiKey}`\n )\n return axiosResponse.data\n }\n\n public async swappers(): Promise<SwapperMetaDto[]> {\n const axiosResponse = await httpService.get<SwapperMetaDto[]>(\n `/basic/meta/swappers?apiKey=${this.apiKey}`\n )\n return axiosResponse.data\n }\n\n public async quote(quoteRequest: QuoteRequest): 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 messagingProtocols:\n !!quoteRequest.messagingProtocols &&\n quoteRequest.messagingProtocols.length > 0\n ? quoteRequest.messagingProtocols.join(',')\n : undefined,\n }\n const axiosResponse = await httpService.get<QuoteResponse>(\n `/basic/quote?apiKey=${this.apiKey}`,\n {\n params: body,\n headers: { 'X-Rango-Id': this.deviceId },\n }\n )\n return axiosResponse.data\n }\n\n public async isApproved(\n requestId: string,\n txId: string\n ): Promise<CheckApprovalResponse> {\n const axiosResponse = await httpService.get<CheckApprovalResponse>(\n `/basic/is-approved?apiKey=${this.apiKey}`,\n {\n params: { requestId, txId },\n headers: { 'X-Rango-Id': this.deviceId },\n }\n )\n return axiosResponse.data\n }\n\n public async status(statusRequest: StatusRequest): Promise<StatusResponse> {\n const axiosResponse = await httpService.get<StatusResponse>(\n `/basic/status?apiKey=${this.apiKey}`,\n {\n params: statusRequest,\n headers: { 'X-Rango-Id': this.deviceId },\n }\n )\n return axiosResponse.data\n }\n\n public async swap(swapRequest: SwapRequest): Promise<SwapResponse> {\n const body = {\n ...swapRequest,\n from: assetToString(swapRequest.from),\n to: assetToString(swapRequest.to),\n swappers:\n !!swapRequest.swappers && swapRequest.swappers.length > 0\n ? swapRequest.swappers.join(',')\n : undefined,\n messagingProtocols:\n !!swapRequest.messagingProtocols &&\n swapRequest.messagingProtocols.length > 0\n ? swapRequest.messagingProtocols.join(',')\n : undefined,\n }\n const axiosResponse = await httpService.get<SwapResponse>(\n `/basic/swap?apiKey=${this.apiKey}`,\n {\n params: body,\n headers: { 'X-Rango-Id': this.deviceId },\n }\n )\n return axiosResponse.data\n }\n\n public async reportFailure(\n requestBody: ReportTransactionRequest\n ): Promise<void> {\n await httpService.post(\n `/basic/report-tx?apiKey=${this.apiKey}`,\n requestBody,\n {\n headers: { 'X-Rango-Id': this.deviceId },\n }\n )\n }\n\n public async balance(\n walletAddress: WalletAddress\n ): Promise<WalletDetailsResponse> {\n const axiosResponse = await httpService.get<WalletDetailsResponse>(\n `/basic/balance?apiKey=${this.apiKey}`,\n {\n params: walletAddress,\n headers: { 'X-Rango-Id': this.deviceId },\n }\n )\n return axiosResponse.data\n }\n\n public async executeEvmRoute(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n signer: any,\n route: SwapResponse\n ): Promise<StatusResponse> {\n try {\n return await executeEvmRoute(this, signer as Signer, route)\n } catch (error) {\n const prettifiedError = prettifyError(error)\n try {\n const message = prettifiedError?.message || 'Error executing the route'\n this.reportFailure({\n requestId: route.requestId,\n eventType: 'TX_FAIL',\n reason: message,\n })\n } catch (err) {\n console.log({ err })\n }\n throw prettifiedError\n }\n }\n}\n"],"names":["getRandomValues","rnds8","Uint8Array","rng","crypto","bind","Error","byteToHex","i","push","toString","slice","randomUUID","v4","options","buf","offset","native","rnds","random","arr","toLowerCase","unsafeStringify","baseURL","process","env","REACT_APP_RANGO_BASE_URL","httpService","axios","create","assetToString","asset","address","blockchain","symbol","blockchainMeta","MetamaskErrorCodes","rpc","invalidInput","resourceNotFound","resourceUnavailable","transactionRejected","methodNotSupported","limitExceeded","parse","invalidRequest","methodNotFound","invalidParams","internal","provider","userRejectedRequest","unauthorized","unsupportedMethod","disconnected","chainDisconnected","sleep","ms","Promise","resolve","setTimeout","prepareEvmTransaction","evmTx","isApprove","gasPrice","startsWith","parseInt","manipulatedTx","tx","from","approveTo","to","approveData","data","txTo","txData","value","gasLimit","checkApprovalSync","_checkApprovalSync","requestId","txId","rangoClient","_context3","isApproved","approvalResponse","txStatus","TransactionStatus","FAILED","console","log","err","checkTransactionStatusSync","_context","status","SUCCESS","includes","executeEvmRoute","client","signer","route","error","resultType","_context2","type","TransactionType","EVM","evmTransaction","txChainId","blockChain","chainId","getChainId","signerChainId","approveTxData","sendTransaction","approveTx","wait","hash","mainTxData","mainTx","prettifyError","code","Object","values","getMessageFromCode","message","_error$message","_error$message2","_error$message3","RangoClient","apiKey","debug","this","window","deviceId","localStorage","getItem","generatedId","setItem","e","interceptors","request","use","JSON","stringify","response","_proto","meta","get","chains","swappers","quote","quoteRequest","body","length","join","undefined","messagingProtocols","_context4","params","headers","X-Rango-Id","_context5","statusRequest","_context6","swap","swapRequest","_context7","reportFailure","requestBody","_context8","post","balance","walletAddress","_context9","_context10","prettifiedError","eventType","reason"],"mappings":"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"}
@@ -416,11 +416,54 @@ function assetToString(asset) {
416
416
  if (!!asset.address) return asset.blockchain + "." + asset.symbol + "--" + asset.address;else return asset.blockchain + "." + asset.symbol;
417
417
  }
418
418
 
419
- var MetaInfoType;
420
- (function (MetaInfoType) {
421
- MetaInfoType["CosmosMetaInfo"] = "CosmosMetaInfo";
422
- MetaInfoType["EvmMetaInfo"] = "EvmMetaInfo";
423
- })(MetaInfoType || (MetaInfoType = {}));
419
+ var isEvmBlockchain = function isEvmBlockchain(blockchainMeta) {
420
+ return blockchainMeta.type === 'EVM';
421
+ };
422
+ var isCosmosBlockchain = function isCosmosBlockchain(blockchainMeta) {
423
+ return blockchainMeta.type === 'COSMOS';
424
+ };
425
+ var isSolanaBlockchain = function isSolanaBlockchain(blockchainMeta) {
426
+ return blockchainMeta.type === 'SOLANA';
427
+ };
428
+ var isTronBlockchain = function isTronBlockchain(blockchainMeta) {
429
+ return blockchainMeta.type === 'TRON';
430
+ };
431
+ var isTransferBlockchain = function isTransferBlockchain(blockchainMeta) {
432
+ return blockchainMeta.type === 'TRANSFER';
433
+ };
434
+ var isStarknetBlockchain = function isStarknetBlockchain(blockchainMeta) {
435
+ return blockchainMeta.type === 'STARKNET';
436
+ };
437
+ var evmBlockchains = function evmBlockchains(blockchains) {
438
+ return blockchains.filter(isEvmBlockchain);
439
+ };
440
+ var solanaBlockchain = function solanaBlockchain(blockchains) {
441
+ return blockchains.filter(isSolanaBlockchain);
442
+ };
443
+ var starknetBlockchain = function starknetBlockchain(blockchains) {
444
+ return blockchains.filter(isStarknetBlockchain);
445
+ };
446
+ var tronBlockchain = function tronBlockchain(blockchains) {
447
+ return blockchains.filter(isTronBlockchain);
448
+ };
449
+ var cosmosBlockchains = function cosmosBlockchains(blockchains) {
450
+ return blockchains.filter(isCosmosBlockchain);
451
+ };
452
+ var transferBlockchains = function transferBlockchains(blockchains) {
453
+ return blockchains.filter(isTransferBlockchain);
454
+ };
455
+
456
+ /**
457
+ * Routing Result Type
458
+ *
459
+ */
460
+ var RoutingResultType;
461
+ (function (RoutingResultType) {
462
+ RoutingResultType["OK"] = "OK";
463
+ RoutingResultType["HIGH_IMPACT"] = "HIGH_IMPACT";
464
+ RoutingResultType["NO_ROUTE"] = "NO_ROUTE";
465
+ RoutingResultType["INPUT_LIMIT_ISSUE"] = "INPUT_LIMIT_ISSUE";
466
+ })(RoutingResultType || (RoutingResultType = {}));
424
467
 
425
468
  /**
426
469
  * The type of transaction
@@ -434,6 +477,11 @@ var TransactionType;
434
477
  TransactionType["TRON"] = "TRON";
435
478
  TransactionType["STARKNET"] = "STARKNET";
436
479
  })(TransactionType || (TransactionType = {}));
480
+ /**
481
+ * The type of transaction
482
+ * @deprecated use TransactionType instead
483
+ */
484
+ var GenericTransactionType = TransactionType;
437
485
  /**
438
486
  * The status of transaction in tracking
439
487
  */
@@ -522,31 +570,37 @@ function _checkApprovalSync() {
522
570
  return rangoClient.isApproved(requestId, txId);
523
571
  case 4:
524
572
  approvalResponse = _context3.sent;
525
- if (!approvalResponse.isApproved) {
573
+ if (!(approvalResponse != null && approvalResponse.isApproved)) {
526
574
  _context3.next = 7;
527
575
  break;
528
576
  }
529
577
  return _context3.abrupt("return", true);
530
578
  case 7:
531
- _context3.next = 12;
532
- break;
579
+ if (!(!(approvalResponse != null && approvalResponse.isApproved) && (approvalResponse == null ? void 0 : approvalResponse.txStatus) === TransactionStatus.FAILED)) {
580
+ _context3.next = 9;
581
+ break;
582
+ }
583
+ return _context3.abrupt("return", false);
533
584
  case 9:
534
- _context3.prev = 9;
585
+ _context3.next = 14;
586
+ break;
587
+ case 11:
588
+ _context3.prev = 11;
535
589
  _context3.t0 = _context3["catch"](1);
536
590
  console.log('ignorinig error', {
537
591
  err: _context3.t0
538
592
  });
539
- case 12:
540
- _context3.next = 14;
541
- return sleep(3000);
542
593
  case 14:
594
+ _context3.next = 16;
595
+ return sleep(3000);
596
+ case 16:
543
597
  _context3.next = 0;
544
598
  break;
545
- case 16:
599
+ case 18:
546
600
  case "end":
547
601
  return _context3.stop();
548
602
  }
549
- }, _callee3, null, [[1, 9]]);
603
+ }, _callee3, null, [[1, 11]]);
550
604
  }));
551
605
  return _checkApprovalSync.apply(this, arguments);
552
606
  }
@@ -600,7 +654,7 @@ var checkTransactionStatusSync = /*#__PURE__*/function () {
600
654
  }();
601
655
  var executeEvmRoute = /*#__PURE__*/function () {
602
656
  var _ref2 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(client, signer, route) {
603
- var tx, requestId, error, resultType, evmTransaction, txChainId, signerChainId, approveTxData, approveTx, mainTxData, mainTx, status;
657
+ var tx, requestId, error, resultType, evmTransaction, txChainId, signerChainId, approveTxData, approveTx, isApproved, mainTxData, mainTx, status;
604
658
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
605
659
  while (1) switch (_context2.prev = _context2.next) {
606
660
  case 0:
@@ -624,52 +678,71 @@ var executeEvmRoute = /*#__PURE__*/function () {
624
678
  throw new Error('Non Evm transactions are not supported yet.');
625
679
  case 7:
626
680
  evmTransaction = tx;
681
+ if (evmTransaction) {
682
+ _context2.next = 10;
683
+ break;
684
+ }
685
+ throw new Error('Transaction is null. Please try again!');
686
+ case 10:
627
687
  txChainId = parseInt(evmTransaction.blockChain.chainId || '-1');
628
- _context2.next = 11;
688
+ _context2.next = 13;
629
689
  return signer.getChainId();
630
- case 11:
690
+ case 13:
631
691
  signerChainId = _context2.sent;
632
692
  if (!(signerChainId !== txChainId)) {
633
- _context2.next = 14;
693
+ _context2.next = 16;
634
694
  break;
635
695
  }
636
696
  throw new Error("Signer chainId " + signerChainId + " doesn't match required chainId " + txChainId + ".");
637
- case 14:
697
+ case 16:
638
698
  if (!(!!evmTransaction.approveTo && !!evmTransaction.approveData)) {
639
- _context2.next = 22;
699
+ _context2.next = 27;
640
700
  break;
641
701
  }
642
702
  approveTxData = prepareEvmTransaction(evmTransaction, true);
643
- _context2.next = 18;
703
+ _context2.next = 20;
644
704
  return signer.sendTransaction(approveTxData);
645
- case 18:
705
+ case 20:
646
706
  approveTx = _context2.sent;
647
707
  approveTx.wait();
648
- _context2.next = 22;
649
- return checkApprovalSync(requestId, approveTx.hash, client);
650
- case 22:
651
708
  _context2.next = 24;
652
- return signer.getChainId();
709
+ return checkApprovalSync(requestId, approveTx.hash, client);
653
710
  case 24:
711
+ isApproved = _context2.sent;
712
+ if (isApproved) {
713
+ _context2.next = 27;
714
+ break;
715
+ }
716
+ throw new Error('Error in approve transaction.');
717
+ case 27:
718
+ _context2.next = 29;
719
+ return signer.getChainId();
720
+ case 29:
654
721
  signerChainId = _context2.sent;
655
722
  if (!(signerChainId !== txChainId)) {
656
- _context2.next = 27;
723
+ _context2.next = 32;
657
724
  break;
658
725
  }
659
726
  throw new Error("Signer chainId " + signerChainId + " doesn't match required chainId " + txChainId + ".");
660
- case 27:
727
+ case 32:
661
728
  mainTxData = prepareEvmTransaction(evmTransaction, false);
662
- _context2.next = 30;
729
+ _context2.next = 35;
663
730
  return signer.sendTransaction(mainTxData);
664
- case 30:
731
+ case 35:
665
732
  mainTx = _context2.sent;
666
733
  mainTx.wait();
667
- _context2.next = 34;
734
+ _context2.next = 39;
668
735
  return checkTransactionStatusSync(requestId, mainTx.hash, client);
669
- case 34:
736
+ case 39:
670
737
  status = _context2.sent;
738
+ if (!(status.status !== TransactionStatus.SUCCESS)) {
739
+ _context2.next = 42;
740
+ break;
741
+ }
742
+ throw new Error("Cross-chain swap failed. " + (status.error || ''));
743
+ case 42:
671
744
  return _context2.abrupt("return", status);
672
- case 36:
745
+ case 43:
673
746
  case "end":
674
747
  return _context2.stop();
675
748
  }
@@ -975,6 +1048,7 @@ var RangoClient = /*#__PURE__*/function () {
975
1048
  var _executeEvmRoute2 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee10(
976
1049
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
977
1050
  signer, route) {
1051
+ var prettifiedError, message;
978
1052
  return _regeneratorRuntime().wrap(function _callee10$(_context10) {
979
1053
  while (1) switch (_context10.prev = _context10.next) {
980
1054
  case 0:
@@ -986,8 +1060,21 @@ var RangoClient = /*#__PURE__*/function () {
986
1060
  case 6:
987
1061
  _context10.prev = 6;
988
1062
  _context10.t0 = _context10["catch"](0);
989
- throw prettifyError(_context10.t0);
990
- case 9:
1063
+ prettifiedError = prettifyError(_context10.t0);
1064
+ try {
1065
+ message = (prettifiedError == null ? void 0 : prettifiedError.message) || 'Error executing the route';
1066
+ this.reportFailure({
1067
+ requestId: route.requestId,
1068
+ eventType: 'TX_FAIL',
1069
+ reason: message
1070
+ });
1071
+ } catch (err) {
1072
+ console.log({
1073
+ err: err
1074
+ });
1075
+ }
1076
+ throw prettifiedError;
1077
+ case 11:
991
1078
  case "end":
992
1079
  return _context10.stop();
993
1080
  }
@@ -1001,5 +1088,5 @@ var RangoClient = /*#__PURE__*/function () {
1001
1088
  return RangoClient;
1002
1089
  }();
1003
1090
 
1004
- export { MetamaskErrorCodes, RangoClient, TransactionStatus, TransactionType, assetToString };
1091
+ export { GenericTransactionType, MetamaskErrorCodes, RangoClient, RoutingResultType, TransactionStatus, TransactionType, assetToString, cosmosBlockchains, evmBlockchains, isCosmosBlockchain, isEvmBlockchain, isSolanaBlockchain, isStarknetBlockchain, isTransferBlockchain, isTronBlockchain, solanaBlockchain, starknetBlockchain, transferBlockchains, tronBlockchain };
1005
1092
  //# sourceMappingURL=rango-sdk-basic.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rango-sdk-basic.esm.js","sources":["../../../node_modules/uuid/dist/esm-browser/rng.js","../../../node_modules/uuid/dist/esm-browser/stringify.js","../../../node_modules/uuid/dist/esm-browser/native.js","../../../node_modules/uuid/dist/esm-browser/v4.js","../src/services/httpService.ts","../src/types/api/common.ts","../../../node_modules/rango-types/src/api/shared/transactions.ts","../src/types/utils/errors.ts","../src/utils/promise.ts","../src/services/executor.ts","../src/utils/errors.ts","../src/services/client.ts"],"sourcesContent":["// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nlet getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\n\nexport function unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n return (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase();\n}\n\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default {\n randomUUID\n};","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\n\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n\n options = options || {};\n const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return unsafeStringify(rnds);\n}\n\nexport default v4;","import axios from 'axios'\n\nconst baseURL =\n typeof process !== 'undefined' && process.env.REACT_APP_RANGO_BASE_URL\n ? process.env.REACT_APP_RANGO_BASE_URL\n : 'https://api.rango.exchange'\n\nexport const httpService = axios.create({\n baseURL,\n})\n","import { Asset } from 'rango-types/lib/api/basic'\nexport * from 'rango-types/lib/api/basic/common'\n\nexport function assetToString(asset: Asset): string {\n if (!!asset.address)\n return `${asset.blockchain}.${asset.symbol}--${asset.address}`\n else return `${asset.blockchain}.${asset.symbol}`\n}\n",null,"export const MetamaskErrorCodes = {\n rpc: {\n invalidInput: -32000,\n resourceNotFound: -32001,\n resourceUnavailable: -32002,\n transactionRejected: -32003,\n methodNotSupported: -32004,\n limitExceeded: -32005,\n parse: -32700,\n invalidRequest: -32600,\n methodNotFound: -32601,\n invalidParams: -32602,\n internal: -32603,\n },\n provider: {\n userRejectedRequest: 4001,\n unauthorized: 4100,\n unsupportedMethod: 4200,\n disconnected: 4900,\n chainDisconnected: 4901,\n },\n}\n","export function sleep(ms: number) {\n return new Promise((resolve) => setTimeout(resolve, ms))\n}\n","import { Signer } from 'ethers'\nimport { RangoClient } from './client'\nimport { EvmTransaction } from '../types/api/txs'\nimport {\n StatusResponse,\n SwapResponse,\n TransactionStatus,\n TransactionType,\n} from '../types/api/transactions'\nimport { sleep } from '../utils/promise'\n\nexport function prepareEvmTransaction(\n evmTx: EvmTransaction,\n isApprove: boolean\n) {\n const gasPrice =\n !!evmTx.gasPrice && !evmTx.gasPrice.startsWith('0x')\n ? '0x' + parseInt(evmTx.gasPrice).toString(16)\n : null\n const manipulatedTx = {\n ...evmTx,\n gasPrice,\n }\n let tx = {}\n if (!!manipulatedTx.from) tx = { ...tx, from: manipulatedTx.from }\n if (isApprove) {\n if (!!manipulatedTx.approveTo) tx = { ...tx, to: manipulatedTx.approveTo }\n if (!!manipulatedTx.approveData)\n tx = { ...tx, data: manipulatedTx.approveData }\n } else {\n if (!!manipulatedTx.txTo) tx = { ...tx, to: manipulatedTx.txTo }\n if (!!manipulatedTx.txData) tx = { ...tx, data: manipulatedTx.txData }\n if (!!manipulatedTx.value) tx = { ...tx, value: manipulatedTx.value }\n if (!!manipulatedTx.gasLimit)\n tx = { ...tx, gasLimit: manipulatedTx.gasLimit }\n if (!!manipulatedTx.gasPrice)\n tx = { ...tx, gasPrice: manipulatedTx.gasPrice }\n }\n return tx\n}\n\nasync function checkApprovalSync(\n requestId: string,\n txId: string,\n rangoClient: RangoClient\n) {\n while (true) {\n try {\n const approvalResponse = await rangoClient.isApproved(requestId, txId)\n if (approvalResponse.isApproved) return true\n } catch (err) {\n console.log('ignorinig error', { err })\n }\n await sleep(3_000)\n }\n}\n\nexport const checkTransactionStatusSync = async (\n requestId: string,\n txId: string,\n rangoClient: RangoClient\n) => {\n let txStatus: StatusResponse | undefined\n while (true) {\n try {\n txStatus = await rangoClient.status({\n requestId,\n txId,\n })\n } catch (err) {\n console.log('ignorinig error', { err })\n }\n if (!!txStatus) {\n if (\n !!txStatus.status &&\n [TransactionStatus.FAILED, TransactionStatus.SUCCESS].includes(\n txStatus.status\n )\n ) {\n return txStatus\n }\n }\n await sleep(3_000)\n }\n}\n\nexport const executeEvmRoute = async (\n client: RangoClient,\n signer: Signer,\n route: SwapResponse\n): Promise<StatusResponse> => {\n const { tx, requestId, error, resultType } = route\n if (resultType != 'OK') throw new Error(resultType)\n if (!!error || !tx)\n throw new Error(error || 'Error creating the transaction.')\n if (tx?.type !== TransactionType.EVM)\n throw new Error('Non Evm transactions are not supported yet.')\n const evmTransaction = tx as EvmTransaction\n const txChainId = parseInt(evmTransaction.blockChain.chainId || '-1')\n let signerChainId = await signer.getChainId()\n if (signerChainId !== txChainId) {\n throw new Error(\n `Signer chainId ${signerChainId} doesn't match required chainId ${txChainId}.`\n )\n }\n if (!!evmTransaction.approveTo && !!evmTransaction.approveData) {\n const approveTxData = prepareEvmTransaction(evmTransaction, true)\n const approveTx = await signer.sendTransaction(approveTxData)\n approveTx.wait()\n await checkApprovalSync(requestId, approveTx.hash, client)\n }\n signerChainId = await signer.getChainId()\n if (signerChainId !== txChainId) {\n throw new Error(\n `Signer chainId ${signerChainId} doesn't match required chainId ${txChainId}.`\n )\n }\n const mainTxData = prepareEvmTransaction(evmTransaction, false)\n const mainTx = await signer.sendTransaction(mainTxData)\n mainTx.wait()\n const status = await checkTransactionStatusSync(\n requestId,\n mainTx.hash,\n client\n )\n return status\n}\n","import { getMessageFromCode } from 'eth-rpc-errors'\nimport { MetamaskErrorCodes } from '../types/utils/errors'\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const prettifyError = (error: any) => {\n if (!error) return error\n if (error.code && (error.code === 'ACTION_REJECTED' || error.code === 4001))\n return new Error('Transaction Rejected')\n if (error && typeof error.code === 'number') {\n if (Object.values(MetamaskErrorCodes.provider).includes(error.code)) {\n return new Error(getMessageFromCode(error.code))\n }\n if (Object.values(MetamaskErrorCodes.rpc).includes(error.code)) {\n if (\n error.code === MetamaskErrorCodes.rpc.internal &&\n error.message?.includes('underpriced')\n )\n return new Error('Transaction underpriced')\n if (\n error.message?.includes('intrinsic gas too low') ||\n error.message?.includes('out of gas')\n )\n return new Error('This Gas limit is low.')\n return new Error(getMessageFromCode(error.code))\n }\n }\n if (error.message) return new Error(error.message)\n return error\n}\n","import { v4 } from 'uuid'\n\nimport { httpService } from './httpService'\nimport {\n MetaResponse,\n QuoteRequest,\n QuoteResponse,\n CheckApprovalResponse,\n StatusRequest,\n StatusResponse,\n SwapRequest,\n SwapResponse,\n ReportTransactionRequest,\n WalletDetailsResponse,\n assetToString,\n BlockchainMeta,\n SwapperMetaDto,\n} from '../types'\nimport { Signer } from 'ethers'\nimport { executeEvmRoute as executeEvmRoute } from './executor'\nimport { prettifyError } from '../utils/errors'\n\ntype WalletAddress = { blockchain: string; address: string }\n\nexport class RangoClient {\n private readonly deviceId: string\n\n private readonly apiKey: string\n\n constructor(apiKey: string, debug = false) {\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 = v4()\n localStorage.setItem('deviceId', generatedId)\n this.deviceId = generatedId\n }\n } else {\n this.deviceId = v4()\n }\n } catch (e) {\n this.deviceId = v4()\n }\n if (debug) {\n httpService.interceptors.request.use((request) => {\n console.log('Starting Request', JSON.stringify(request, null, 2))\n return request\n })\n 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(): Promise<MetaResponse> {\n const axiosResponse = await httpService.get<MetaResponse>(\n `/basic/meta?apiKey=${this.apiKey}`\n )\n return axiosResponse.data\n }\n\n public async chains(): Promise<BlockchainMeta[]> {\n const axiosResponse = await httpService.get<BlockchainMeta[]>(\n `/basic/meta/blockchains?apiKey=${this.apiKey}`\n )\n return axiosResponse.data\n }\n\n public async swappers(): Promise<SwapperMetaDto[]> {\n const axiosResponse = await httpService.get<SwapperMetaDto[]>(\n `/basic/meta/swappers?apiKey=${this.apiKey}`\n )\n return axiosResponse.data\n }\n\n public async quote(quoteRequest: QuoteRequest): 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 messagingProtocols:\n !!quoteRequest.messagingProtocols &&\n quoteRequest.messagingProtocols.length > 0\n ? quoteRequest.messagingProtocols.join(',')\n : undefined,\n }\n const axiosResponse = await httpService.get<QuoteResponse>(\n `/basic/quote?apiKey=${this.apiKey}`,\n {\n params: body,\n headers: { 'X-Rango-Id': this.deviceId },\n }\n )\n return axiosResponse.data\n }\n\n public async isApproved(\n requestId: string,\n txId: string\n ): Promise<CheckApprovalResponse> {\n const axiosResponse = await httpService.get<CheckApprovalResponse>(\n `/basic/is-approved?apiKey=${this.apiKey}`,\n {\n params: { requestId, txId },\n headers: { 'X-Rango-Id': this.deviceId },\n }\n )\n return axiosResponse.data\n }\n\n public async status(statusRequest: StatusRequest): Promise<StatusResponse> {\n const axiosResponse = await httpService.get<StatusResponse>(\n `/basic/status?apiKey=${this.apiKey}`,\n {\n params: statusRequest,\n headers: { 'X-Rango-Id': this.deviceId },\n }\n )\n return axiosResponse.data\n }\n\n public async swap(swapRequest: SwapRequest): Promise<SwapResponse> {\n const body = {\n ...swapRequest,\n from: assetToString(swapRequest.from),\n to: assetToString(swapRequest.to),\n swappers:\n !!swapRequest.swappers && swapRequest.swappers.length > 0\n ? swapRequest.swappers.join(',')\n : undefined,\n messagingProtocols:\n !!swapRequest.messagingProtocols &&\n swapRequest.messagingProtocols.length > 0\n ? swapRequest.messagingProtocols.join(',')\n : undefined,\n }\n const axiosResponse = await httpService.get<SwapResponse>(\n `/basic/swap?apiKey=${this.apiKey}`,\n {\n params: body,\n headers: { 'X-Rango-Id': this.deviceId },\n }\n )\n return axiosResponse.data\n }\n\n public async reportFailure(\n requestBody: ReportTransactionRequest\n ): Promise<void> {\n await httpService.post(\n `/basic/report-tx?apiKey=${this.apiKey}`,\n requestBody,\n {\n headers: { 'X-Rango-Id': this.deviceId },\n }\n )\n }\n\n public async balance(\n walletAddress: WalletAddress\n ): Promise<WalletDetailsResponse> {\n const axiosResponse = await httpService.get<WalletDetailsResponse>(\n `/basic/balance?apiKey=${this.apiKey}`,\n {\n params: walletAddress,\n headers: { 'X-Rango-Id': this.deviceId },\n }\n )\n return axiosResponse.data\n }\n\n public async executeEvmRoute(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n signer: any,\n route: SwapResponse\n ): Promise<StatusResponse> {\n try {\n return await executeEvmRoute(this, signer as Signer, route)\n } catch (error) {\n throw prettifyError(error)\n }\n }\n}\n"],"names":["getRandomValues","rnds8","Uint8Array","rng","crypto","bind","Error","byteToHex","i","push","toString","slice","unsafeStringify","arr","offset","toLowerCase","randomUUID","v4","options","buf","native","rnds","random","baseURL","process","env","REACT_APP_RANGO_BASE_URL","httpService","axios","create","assetToString","asset","address","blockchain","symbol","MetamaskErrorCodes","rpc","invalidInput","resourceNotFound","resourceUnavailable","transactionRejected","methodNotSupported","limitExceeded","parse","invalidRequest","methodNotFound","invalidParams","internal","provider","userRejectedRequest","unauthorized","unsupportedMethod","disconnected","chainDisconnected","sleep","ms","Promise","resolve","setTimeout","prepareEvmTransaction","evmTx","isApprove","gasPrice","startsWith","parseInt","manipulatedTx","tx","from","approveTo","to","approveData","data","txTo","txData","value","gasLimit","checkApprovalSync","requestId","txId","rangoClient","isApproved","approvalResponse","console","log","err","checkTransactionStatusSync","status","txStatus","TransactionStatus","FAILED","SUCCESS","includes","executeEvmRoute","client","signer","route","error","resultType","type","TransactionType","EVM","evmTransaction","txChainId","blockChain","chainId","getChainId","signerChainId","approveTxData","sendTransaction","approveTx","wait","hash","mainTxData","mainTx","prettifyError","code","Object","values","getMessageFromCode","message","RangoClient","apiKey","debug","window","deviceId","localStorage","getItem","generatedId","setItem","e","interceptors","request","use","JSON","stringify","response","meta","get","axiosResponse","chains","swappers","quote","quoteRequest","body","length","join","undefined","messagingProtocols","params","headers","statusRequest","swap","swapRequest","reportFailure","requestBody","post","balance","walletAddress"],"mappings":"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"}
1
+ {"version":3,"file":"rango-sdk-basic.esm.js","sources":["../../../node_modules/uuid/dist/esm-browser/rng.js","../../../node_modules/uuid/dist/esm-browser/stringify.js","../../../node_modules/uuid/dist/esm-browser/native.js","../../../node_modules/uuid/dist/esm-browser/v4.js","../src/services/httpService.ts","../src/types/api/common.ts","../../../node_modules/rango-types/src/api/shared/type-gaurds.ts","../../../node_modules/rango-types/src/api/shared/routing.ts","../../../node_modules/rango-types/src/api/shared/transactions.ts","../src/types/utils/errors.ts","../src/utils/promise.ts","../src/services/executor.ts","../src/utils/errors.ts","../src/services/client.ts"],"sourcesContent":["// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nlet getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\n\nexport function unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n return (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase();\n}\n\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default {\n randomUUID\n};","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\n\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n\n options = options || {};\n const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return unsafeStringify(rnds);\n}\n\nexport default v4;","import axios from 'axios'\n\nconst baseURL =\n typeof process !== 'undefined' && process.env.REACT_APP_RANGO_BASE_URL\n ? process.env.REACT_APP_RANGO_BASE_URL\n : 'https://api.rango.exchange'\n\nexport const httpService = axios.create({\n baseURL,\n})\n","import { Asset } from 'rango-types/lib/api/basic'\nexport * from 'rango-types/lib/api/basic/common'\n\nexport function assetToString(asset: Asset): string {\n if (!!asset.address)\n return `${asset.blockchain}.${asset.symbol}--${asset.address}`\n else return `${asset.blockchain}.${asset.symbol}`\n}\n",null,null,null,"export const MetamaskErrorCodes = {\n rpc: {\n invalidInput: -32000,\n resourceNotFound: -32001,\n resourceUnavailable: -32002,\n transactionRejected: -32003,\n methodNotSupported: -32004,\n limitExceeded: -32005,\n parse: -32700,\n invalidRequest: -32600,\n methodNotFound: -32601,\n invalidParams: -32602,\n internal: -32603,\n },\n provider: {\n userRejectedRequest: 4001,\n unauthorized: 4100,\n unsupportedMethod: 4200,\n disconnected: 4900,\n chainDisconnected: 4901,\n },\n}\n","export function sleep(ms: number) {\n return new Promise((resolve) => setTimeout(resolve, ms))\n}\n","import { Signer } from 'ethers'\nimport { RangoClient } from './client'\nimport { EvmTransaction } from '../types/api/txs'\nimport {\n StatusResponse,\n SwapResponse,\n TransactionStatus,\n TransactionType,\n} from '../types/api/transactions'\nimport { sleep } from '../utils/promise'\n\nexport function prepareEvmTransaction(\n evmTx: EvmTransaction,\n isApprove: boolean\n) {\n const gasPrice =\n !!evmTx.gasPrice && !evmTx.gasPrice.startsWith('0x')\n ? '0x' + parseInt(evmTx.gasPrice).toString(16)\n : null\n const manipulatedTx = {\n ...evmTx,\n gasPrice,\n }\n let tx = {}\n if (!!manipulatedTx.from) tx = { ...tx, from: manipulatedTx.from }\n if (isApprove) {\n if (!!manipulatedTx.approveTo) tx = { ...tx, to: manipulatedTx.approveTo }\n if (!!manipulatedTx.approveData)\n tx = { ...tx, data: manipulatedTx.approveData }\n } else {\n if (!!manipulatedTx.txTo) tx = { ...tx, to: manipulatedTx.txTo }\n if (!!manipulatedTx.txData) tx = { ...tx, data: manipulatedTx.txData }\n if (!!manipulatedTx.value) tx = { ...tx, value: manipulatedTx.value }\n if (!!manipulatedTx.gasLimit)\n tx = { ...tx, gasLimit: manipulatedTx.gasLimit }\n if (!!manipulatedTx.gasPrice)\n tx = { ...tx, gasPrice: manipulatedTx.gasPrice }\n }\n return tx\n}\n\nasync function checkApprovalSync(\n requestId: string,\n txId: string,\n rangoClient: RangoClient\n): Promise<boolean> {\n while (true) {\n try {\n const approvalResponse = await rangoClient.isApproved(requestId, txId)\n if (approvalResponse?.isApproved) return true\n if (\n !approvalResponse?.isApproved &&\n approvalResponse?.txStatus === TransactionStatus.FAILED\n )\n return false\n } catch (err) {\n console.log('ignorinig error', { err })\n }\n await sleep(3_000)\n }\n}\n\nexport const checkTransactionStatusSync = async (\n requestId: string,\n txId: string,\n rangoClient: RangoClient\n) => {\n let txStatus: StatusResponse | undefined\n while (true) {\n try {\n txStatus = await rangoClient.status({\n requestId,\n txId,\n })\n } catch (err) {\n console.log('ignorinig error', { err })\n }\n if (!!txStatus) {\n if (\n !!txStatus.status &&\n [TransactionStatus.FAILED, TransactionStatus.SUCCESS].includes(\n txStatus.status\n )\n ) {\n return txStatus\n }\n }\n await sleep(3_000)\n }\n}\n\nexport const executeEvmRoute = async (\n client: RangoClient,\n signer: Signer,\n route: SwapResponse\n): Promise<StatusResponse> => {\n const { tx, requestId, error, resultType } = route\n if (resultType != 'OK') throw new Error(resultType)\n if (!!error || !tx)\n throw new Error(error || 'Error creating the transaction.')\n if (tx?.type !== TransactionType.EVM)\n throw new Error('Non Evm transactions are not supported yet.')\n const evmTransaction = tx as EvmTransaction\n if (!evmTransaction) throw new Error('Transaction is null. Please try again!')\n const txChainId = parseInt(evmTransaction.blockChain.chainId || '-1')\n let signerChainId = await signer.getChainId()\n if (signerChainId !== txChainId) {\n throw new Error(\n `Signer chainId ${signerChainId} doesn't match required chainId ${txChainId}.`\n )\n }\n if (!!evmTransaction.approveTo && !!evmTransaction.approveData) {\n const approveTxData = prepareEvmTransaction(evmTransaction, true)\n const approveTx = await signer.sendTransaction(approveTxData)\n approveTx.wait()\n const isApproved = await checkApprovalSync(\n requestId,\n approveTx.hash,\n client\n )\n if (!isApproved) throw new Error('Error in approve transaction.')\n }\n signerChainId = await signer.getChainId()\n if (signerChainId !== txChainId) {\n throw new Error(\n `Signer chainId ${signerChainId} doesn't match required chainId ${txChainId}.`\n )\n }\n const mainTxData = prepareEvmTransaction(evmTransaction, false)\n const mainTx = await signer.sendTransaction(mainTxData)\n mainTx.wait()\n const status = await checkTransactionStatusSync(\n requestId,\n mainTx.hash,\n client\n )\n if (status.status !== TransactionStatus.SUCCESS)\n throw new Error(`Cross-chain swap failed. ${status.error || ''}`)\n return status\n}\n","import { getMessageFromCode } from 'eth-rpc-errors'\nimport { MetamaskErrorCodes } from '../types/utils/errors'\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const prettifyError = (error: any) => {\n if (!error) return error\n if (error.code && (error.code === 'ACTION_REJECTED' || error.code === 4001))\n return new Error('Transaction Rejected')\n if (error && typeof error.code === 'number') {\n if (Object.values(MetamaskErrorCodes.provider).includes(error.code)) {\n return new Error(getMessageFromCode(error.code))\n }\n if (Object.values(MetamaskErrorCodes.rpc).includes(error.code)) {\n if (\n error.code === MetamaskErrorCodes.rpc.internal &&\n error.message?.includes('underpriced')\n )\n return new Error('Transaction underpriced')\n if (\n error.message?.includes('intrinsic gas too low') ||\n error.message?.includes('out of gas')\n )\n return new Error('This Gas limit is low.')\n return new Error(getMessageFromCode(error.code))\n }\n }\n if (error.message) return new Error(error.message)\n return error\n}\n","import { v4 } from 'uuid'\n\nimport { httpService } from './httpService'\nimport {\n MetaResponse,\n QuoteRequest,\n QuoteResponse,\n CheckApprovalResponse,\n StatusRequest,\n StatusResponse,\n SwapRequest,\n SwapResponse,\n ReportTransactionRequest,\n WalletDetailsResponse,\n assetToString,\n BlockchainMeta,\n SwapperMetaDto,\n} from '../types'\nimport { Signer } from 'ethers'\nimport { executeEvmRoute as executeEvmRoute } from './executor'\nimport { prettifyError } from '../utils/errors'\n\ntype WalletAddress = { blockchain: string; address: string }\n\nexport class RangoClient {\n private readonly deviceId: string\n\n private readonly apiKey: string\n\n constructor(apiKey: string, debug = false) {\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 = v4()\n localStorage.setItem('deviceId', generatedId)\n this.deviceId = generatedId\n }\n } else {\n this.deviceId = v4()\n }\n } catch (e) {\n this.deviceId = v4()\n }\n if (debug) {\n httpService.interceptors.request.use((request) => {\n console.log('Starting Request', JSON.stringify(request, null, 2))\n return request\n })\n 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(): Promise<MetaResponse> {\n const axiosResponse = await httpService.get<MetaResponse>(\n `/basic/meta?apiKey=${this.apiKey}`\n )\n return axiosResponse.data\n }\n\n public async chains(): Promise<BlockchainMeta[]> {\n const axiosResponse = await httpService.get<BlockchainMeta[]>(\n `/basic/meta/blockchains?apiKey=${this.apiKey}`\n )\n return axiosResponse.data\n }\n\n public async swappers(): Promise<SwapperMetaDto[]> {\n const axiosResponse = await httpService.get<SwapperMetaDto[]>(\n `/basic/meta/swappers?apiKey=${this.apiKey}`\n )\n return axiosResponse.data\n }\n\n public async quote(quoteRequest: QuoteRequest): 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 messagingProtocols:\n !!quoteRequest.messagingProtocols &&\n quoteRequest.messagingProtocols.length > 0\n ? quoteRequest.messagingProtocols.join(',')\n : undefined,\n }\n const axiosResponse = await httpService.get<QuoteResponse>(\n `/basic/quote?apiKey=${this.apiKey}`,\n {\n params: body,\n headers: { 'X-Rango-Id': this.deviceId },\n }\n )\n return axiosResponse.data\n }\n\n public async isApproved(\n requestId: string,\n txId: string\n ): Promise<CheckApprovalResponse> {\n const axiosResponse = await httpService.get<CheckApprovalResponse>(\n `/basic/is-approved?apiKey=${this.apiKey}`,\n {\n params: { requestId, txId },\n headers: { 'X-Rango-Id': this.deviceId },\n }\n )\n return axiosResponse.data\n }\n\n public async status(statusRequest: StatusRequest): Promise<StatusResponse> {\n const axiosResponse = await httpService.get<StatusResponse>(\n `/basic/status?apiKey=${this.apiKey}`,\n {\n params: statusRequest,\n headers: { 'X-Rango-Id': this.deviceId },\n }\n )\n return axiosResponse.data\n }\n\n public async swap(swapRequest: SwapRequest): Promise<SwapResponse> {\n const body = {\n ...swapRequest,\n from: assetToString(swapRequest.from),\n to: assetToString(swapRequest.to),\n swappers:\n !!swapRequest.swappers && swapRequest.swappers.length > 0\n ? swapRequest.swappers.join(',')\n : undefined,\n messagingProtocols:\n !!swapRequest.messagingProtocols &&\n swapRequest.messagingProtocols.length > 0\n ? swapRequest.messagingProtocols.join(',')\n : undefined,\n }\n const axiosResponse = await httpService.get<SwapResponse>(\n `/basic/swap?apiKey=${this.apiKey}`,\n {\n params: body,\n headers: { 'X-Rango-Id': this.deviceId },\n }\n )\n return axiosResponse.data\n }\n\n public async reportFailure(\n requestBody: ReportTransactionRequest\n ): Promise<void> {\n await httpService.post(\n `/basic/report-tx?apiKey=${this.apiKey}`,\n requestBody,\n {\n headers: { 'X-Rango-Id': this.deviceId },\n }\n )\n }\n\n public async balance(\n walletAddress: WalletAddress\n ): Promise<WalletDetailsResponse> {\n const axiosResponse = await httpService.get<WalletDetailsResponse>(\n `/basic/balance?apiKey=${this.apiKey}`,\n {\n params: walletAddress,\n headers: { 'X-Rango-Id': this.deviceId },\n }\n )\n return axiosResponse.data\n }\n\n public async executeEvmRoute(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n signer: any,\n route: SwapResponse\n ): Promise<StatusResponse> {\n try {\n return await executeEvmRoute(this, signer as Signer, route)\n } catch (error) {\n const prettifiedError = prettifyError(error)\n try {\n const message = prettifiedError?.message || 'Error executing the route'\n this.reportFailure({\n requestId: route.requestId,\n eventType: 'TX_FAIL',\n reason: message,\n })\n } catch (err) {\n console.log({ err })\n }\n throw prettifiedError\n }\n }\n}\n"],"names":["getRandomValues","rnds8","Uint8Array","rng","crypto","bind","Error","byteToHex","i","push","toString","slice","unsafeStringify","arr","offset","toLowerCase","randomUUID","v4","options","buf","native","rnds","random","baseURL","process","env","REACT_APP_RANGO_BASE_URL","httpService","axios","create","assetToString","asset","address","blockchain","symbol","blockchainMeta","MetamaskErrorCodes","rpc","invalidInput","resourceNotFound","resourceUnavailable","transactionRejected","methodNotSupported","limitExceeded","parse","invalidRequest","methodNotFound","invalidParams","internal","provider","userRejectedRequest","unauthorized","unsupportedMethod","disconnected","chainDisconnected","sleep","ms","Promise","resolve","setTimeout","prepareEvmTransaction","evmTx","isApprove","gasPrice","startsWith","parseInt","manipulatedTx","tx","from","approveTo","to","approveData","data","txTo","txData","value","gasLimit","checkApprovalSync","requestId","txId","rangoClient","isApproved","approvalResponse","txStatus","TransactionStatus","FAILED","console","log","err","checkTransactionStatusSync","status","SUCCESS","includes","executeEvmRoute","client","signer","route","error","resultType","type","TransactionType","EVM","evmTransaction","txChainId","blockChain","chainId","getChainId","signerChainId","approveTxData","sendTransaction","approveTx","wait","hash","mainTxData","mainTx","prettifyError","code","Object","values","getMessageFromCode","message","RangoClient","apiKey","debug","window","deviceId","localStorage","getItem","generatedId","setItem","e","interceptors","request","use","JSON","stringify","response","meta","get","axiosResponse","chains","swappers","quote","quoteRequest","body","length","join","undefined","messagingProtocols","params","headers","statusRequest","swap","swapRequest","reportFailure","requestBody","post","balance","walletAddress","prettifiedError","eventType","reason"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/services/client.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,qBAAqB,EACrB,aAAa,EACb,cAAc,EACd,WAAW,EACX,YAAY,EACZ,wBAAwB,EACxB,qBAAqB,EAErB,cAAc,EACd,cAAc,EACf,MAAM,UAAU,CAAA;AAKjB,aAAK,aAAa,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAA;AAE5D,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;IAEjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;gBAEnB,MAAM,EAAE,MAAM,EAAE,KAAK,UAAQ;IA8B5B,IAAI,IAAI,OAAO,CAAC,YAAY,CAAC;IAO7B,MAAM,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAOnC,QAAQ,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAOrC,KAAK,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;IAyBzD,UAAU,CACrB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,qBAAqB,CAAC;IAWpB,MAAM,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;IAW7D,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAyBrD,aAAa,CACxB,WAAW,EAAE,wBAAwB,GACpC,OAAO,CAAC,IAAI,CAAC;IAUH,OAAO,CAClB,aAAa,EAAE,aAAa,GAC3B,OAAO,CAAC,qBAAqB,CAAC;IAWpB,eAAe,CAE1B,MAAM,EAAE,GAAG,EACX,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,cAAc,CAAC;CAO3B"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/services/client.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,qBAAqB,EACrB,aAAa,EACb,cAAc,EACd,WAAW,EACX,YAAY,EACZ,wBAAwB,EACxB,qBAAqB,EAErB,cAAc,EACd,cAAc,EACf,MAAM,UAAU,CAAA;AAKjB,aAAK,aAAa,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAA;AAE5D,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;IAEjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;gBAEnB,MAAM,EAAE,MAAM,EAAE,KAAK,UAAQ;IA8B5B,IAAI,IAAI,OAAO,CAAC,YAAY,CAAC;IAO7B,MAAM,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAOnC,QAAQ,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAOrC,KAAK,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;IAyBzD,UAAU,CACrB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,qBAAqB,CAAC;IAWpB,MAAM,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;IAW7D,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAyBrD,aAAa,CACxB,WAAW,EAAE,wBAAwB,GACpC,OAAO,CAAC,IAAI,CAAC;IAUH,OAAO,CAClB,aAAa,EAAE,aAAa,GAC3B,OAAO,CAAC,qBAAqB,CAAC;IAWpB,eAAe,CAE1B,MAAM,EAAE,GAAG,EACX,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,cAAc,CAAC;CAkB3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../src/services/executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EACL,cAAc,EACd,YAAY,EAGb,MAAM,2BAA2B,CAAA;AAGlC,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,OAAO,MA0BnB;AAkBD,eAAO,MAAM,0BAA0B,cAC1B,MAAM,QACX,MAAM,eACC,WAAW,4BAwBzB,CAAA;AAED,eAAO,MAAM,eAAe,WAClB,WAAW,UACX,MAAM,SACP,YAAY,KAClB,OAAO,CAAC,cAAc,CAoCxB,CAAA"}
1
+ {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../src/services/executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EACL,cAAc,EACd,YAAY,EAGb,MAAM,2BAA2B,CAAA;AAGlC,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,OAAO,MA0BnB;AAuBD,eAAO,MAAM,0BAA0B,cAC1B,MAAM,QACX,MAAM,eACC,WAAW,4BAwBzB,CAAA;AAED,eAAO,MAAM,eAAe,WAClB,WAAW,UACX,MAAM,SACP,YAAY,KAClB,OAAO,CAAC,cAAc,CA4CxB,CAAA"}
@@ -1,2 +1,3 @@
1
1
  export * from 'rango-types/lib/api/basic/meta';
2
+ export * from 'rango-types/lib/api/shared/type-gaurds';
2
3
  //# sourceMappingURL=meta.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../src/types/api/meta.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAA"}
1
+ {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../src/types/api/meta.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAA;AAC9C,cAAc,wCAAwC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rango-sdk-basic",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "Rango Exchange Basic SDK for dApps",
5
5
  "module": "lib/rango-sdk-basic.esm.js",
6
6
  "main": "lib/index.js",
@@ -9,14 +9,14 @@
9
9
  "type": "git",
10
10
  "url": "git+https://github.com/rango-exchange/rango-sdk.git"
11
11
  },
12
- "homepage": "https://github.com/rango-exchange/rango-sdk",
12
+ "homepage": "https://github.com/rango-exchange/rango-sdk-basic",
13
13
  "bugs": {
14
14
  "url": "https://github.com/rango-exchange/rango-sdk/issues"
15
15
  },
16
16
  "scripts": {
17
- "clean": "rm -rf ./lib",
17
+ "clean": "rm -rf ./lib && rm -rf ./dist",
18
18
  "build": "tsdx build --tsconfig ./tsconfig.json && yarn post:build",
19
- "post:build": "yarn mv:file lib && node ../../scripts/frank-build.js",
19
+ "post:build": "yarn mv:file lib",
20
20
  "watch": "tsdx watch",
21
21
  "lint": "eslint src -c ../../.eslintrc.json --fix --ignore-path ../../.prettierignore",
22
22
  "format": "prettier --write './**/*.{js,jsx,ts,tsx,css,md,json}' --config ../../.prettierrc.json --ignore-path ../../.prettierignore",
@@ -26,7 +26,13 @@
26
26
  "Rango Exchange",
27
27
  "SDK",
28
28
  "Cross-Chain",
29
- "Multi-Chain"
29
+ "Multi-Chain",
30
+ "Ethereum",
31
+ "Cosmos",
32
+ "Solana",
33
+ "Tron",
34
+ "Starknet",
35
+ "Aggregator"
30
36
  ],
31
37
  "files": [
32
38
  "lib/**/*"
@@ -38,7 +44,7 @@
38
44
  "bignumber.js": "^9.1.1",
39
45
  "eth-rpc-errors": "^4.0.3",
40
46
  "ethers": "^5.7.2",
41
- "rango-types": "^0.1.2",
47
+ "rango-types": "^0.1.5",
42
48
  "uuid": "^9.0.0"
43
49
  },
44
50
  "publishConfig": {
package/lib/package.json DELETED
@@ -1,39 +0,0 @@
1
- {
2
- "name": "rango-sdk-basic",
3
- "version": "0.1.0",
4
- "description": "Rango Exchange Basic SDK for dApps",
5
- "module": "./index.js",
6
- "main": "./cjs/index.js",
7
- "types": "./index.d.ts",
8
- "repository": {
9
- "type": "git",
10
- "url": "git+https://github.com/rango-exchange/rango-sdk.git"
11
- },
12
- "homepage": "https://github.com/rango-exchange/rango-sdk",
13
- "bugs": {
14
- "url": "https://github.com/rango-exchange/rango-sdk/issues"
15
- },
16
- "keywords": [
17
- "Rango Exchange",
18
- "SDK",
19
- "Cross-Chain",
20
- "Multi-Chain"
21
- ],
22
- "author": "rango.exchange",
23
- "license": "GPL-3.0",
24
- "dependencies": {
25
- "axios": "^1.2.6",
26
- "bignumber.js": "^9.1.1",
27
- "eth-rpc-errors": "^4.0.3",
28
- "ethers": "^5.7.2",
29
- "rango-types": "^0.1.2",
30
- "uuid": "^9.0.0"
31
- },
32
- "publishConfig": {
33
- "access": "public",
34
- "branches": [
35
- "master"
36
- ]
37
- },
38
- "private": false
39
- }