rango-sdk-basic 0.1.13 → 0.1.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/rango-sdk-basic.cjs.development.js +18 -19
- package/lib/rango-sdk-basic.cjs.development.js.map +1 -1
- package/lib/rango-sdk-basic.cjs.production.min.js +1 -1
- package/lib/rango-sdk-basic.cjs.production.min.js.map +1 -1
- package/lib/rango-sdk-basic.esm.js +18 -19
- package/lib/rango-sdk-basic.esm.js.map +1 -1
- package/lib/services/client.d.ts +3 -1
- package/lib/services/client.d.ts.map +1 -1
- package/package.json +2 -2
- package/lib/services/httpService.d.ts +0 -2
- package/lib/services/httpService.d.ts.map +0 -1
|
@@ -5,8 +5,8 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
|
|
6
6
|
|
|
7
7
|
var uuid = _interopDefault(require('uuid-random'));
|
|
8
|
-
var axios = _interopDefault(require('axios'));
|
|
9
8
|
var ethRpcErrors = require('eth-rpc-errors');
|
|
9
|
+
var axios = _interopDefault(require('axios'));
|
|
10
10
|
|
|
11
11
|
function _regeneratorRuntime() {
|
|
12
12
|
_regeneratorRuntime = function () {
|
|
@@ -354,11 +354,6 @@ function _extends() {
|
|
|
354
354
|
return _extends.apply(this, arguments);
|
|
355
355
|
}
|
|
356
356
|
|
|
357
|
-
var baseURL = typeof process !== 'undefined' && process.env.REACT_APP_RANGO_BASE_URL ? process.env.REACT_APP_RANGO_BASE_URL : 'https://api.rango.exchange';
|
|
358
|
-
var httpService = /*#__PURE__*/axios.create({
|
|
359
|
-
baseURL: baseURL
|
|
360
|
-
});
|
|
361
|
-
|
|
362
357
|
function assetToString(asset) {
|
|
363
358
|
if (!!asset.address) return asset.blockchain + "." + asset.symbol + "--" + asset.address;else return asset.blockchain + "." + asset.symbol;
|
|
364
359
|
}
|
|
@@ -714,10 +709,11 @@ var prettifyError = function prettifyError(error) {
|
|
|
714
709
|
};
|
|
715
710
|
|
|
716
711
|
var RangoClient = /*#__PURE__*/function () {
|
|
717
|
-
function RangoClient(apiKey, debug) {
|
|
712
|
+
function RangoClient(apiKey, debug, apiUrl) {
|
|
718
713
|
if (debug === void 0) {
|
|
719
714
|
debug = false;
|
|
720
715
|
}
|
|
716
|
+
this.apiUrl = apiUrl || 'https://api.rango.exchange';
|
|
721
717
|
this.apiKey = apiKey;
|
|
722
718
|
try {
|
|
723
719
|
if (typeof window !== 'undefined') {
|
|
@@ -735,12 +731,15 @@ var RangoClient = /*#__PURE__*/function () {
|
|
|
735
731
|
} catch (e) {
|
|
736
732
|
this.deviceId = uuid();
|
|
737
733
|
}
|
|
734
|
+
this.httpService = axios.create({
|
|
735
|
+
baseURL: this.apiUrl
|
|
736
|
+
});
|
|
738
737
|
if (debug) {
|
|
739
|
-
httpService.interceptors.request.use(function (request) {
|
|
738
|
+
this.httpService.interceptors.request.use(function (request) {
|
|
740
739
|
console.log('Starting Request', JSON.stringify(request, null, 2));
|
|
741
740
|
return request;
|
|
742
741
|
});
|
|
743
|
-
httpService.interceptors.response.use(function (response) {
|
|
742
|
+
this.httpService.interceptors.response.use(function (response) {
|
|
744
743
|
console.log('Response:', JSON.stringify(response, null, 2));
|
|
745
744
|
return response;
|
|
746
745
|
});
|
|
@@ -754,7 +753,7 @@ var RangoClient = /*#__PURE__*/function () {
|
|
|
754
753
|
while (1) switch (_context.prev = _context.next) {
|
|
755
754
|
case 0:
|
|
756
755
|
_context.next = 2;
|
|
757
|
-
return httpService.get("/basic/meta?apiKey=" + this.apiKey, _extends({}, options));
|
|
756
|
+
return this.httpService.get("/basic/meta?apiKey=" + this.apiKey, _extends({}, options));
|
|
758
757
|
case 2:
|
|
759
758
|
axiosResponse = _context.sent;
|
|
760
759
|
return _context.abrupt("return", axiosResponse.data);
|
|
@@ -776,7 +775,7 @@ var RangoClient = /*#__PURE__*/function () {
|
|
|
776
775
|
while (1) switch (_context2.prev = _context2.next) {
|
|
777
776
|
case 0:
|
|
778
777
|
_context2.next = 2;
|
|
779
|
-
return httpService.get("/basic/meta/blockchains?apiKey=" + this.apiKey, _extends({}, options));
|
|
778
|
+
return this.httpService.get("/basic/meta/blockchains?apiKey=" + this.apiKey, _extends({}, options));
|
|
780
779
|
case 2:
|
|
781
780
|
axiosResponse = _context2.sent;
|
|
782
781
|
return _context2.abrupt("return", axiosResponse.data);
|
|
@@ -798,7 +797,7 @@ var RangoClient = /*#__PURE__*/function () {
|
|
|
798
797
|
while (1) switch (_context3.prev = _context3.next) {
|
|
799
798
|
case 0:
|
|
800
799
|
_context3.next = 2;
|
|
801
|
-
return httpService.get("/basic/meta/swappers?apiKey=" + this.apiKey, _extends({}, options));
|
|
800
|
+
return this.httpService.get("/basic/meta/swappers?apiKey=" + this.apiKey, _extends({}, options));
|
|
802
801
|
case 2:
|
|
803
802
|
axiosResponse = _context3.sent;
|
|
804
803
|
return _context3.abrupt("return", axiosResponse.data);
|
|
@@ -820,7 +819,7 @@ var RangoClient = /*#__PURE__*/function () {
|
|
|
820
819
|
while (1) switch (_context4.prev = _context4.next) {
|
|
821
820
|
case 0:
|
|
822
821
|
_context4.next = 2;
|
|
823
|
-
return httpService.get("/basic/meta/messaging-protocols?apiKey=" + this.apiKey, _extends({}, options));
|
|
822
|
+
return this.httpService.get("/basic/meta/messaging-protocols?apiKey=" + this.apiKey, _extends({}, options));
|
|
824
823
|
case 2:
|
|
825
824
|
axiosResponse = _context4.sent;
|
|
826
825
|
return _context4.abrupt("return", axiosResponse.data);
|
|
@@ -848,7 +847,7 @@ var RangoClient = /*#__PURE__*/function () {
|
|
|
848
847
|
messagingProtocols: !!quoteRequest.messagingProtocols && quoteRequest.messagingProtocols.length > 0 ? quoteRequest.messagingProtocols.join(',') : undefined
|
|
849
848
|
});
|
|
850
849
|
_context5.next = 3;
|
|
851
|
-
return httpService.get("/basic/quote?apiKey=" + this.apiKey, _extends({
|
|
850
|
+
return this.httpService.get("/basic/quote?apiKey=" + this.apiKey, _extends({
|
|
852
851
|
params: body,
|
|
853
852
|
headers: {
|
|
854
853
|
'X-Rango-Id': this.deviceId
|
|
@@ -875,7 +874,7 @@ var RangoClient = /*#__PURE__*/function () {
|
|
|
875
874
|
while (1) switch (_context6.prev = _context6.next) {
|
|
876
875
|
case 0:
|
|
877
876
|
_context6.next = 2;
|
|
878
|
-
return httpService.get("/basic/is-approved?apiKey=" + this.apiKey, _extends({
|
|
877
|
+
return this.httpService.get("/basic/is-approved?apiKey=" + this.apiKey, _extends({
|
|
879
878
|
params: {
|
|
880
879
|
requestId: requestId,
|
|
881
880
|
txId: txId
|
|
@@ -905,7 +904,7 @@ var RangoClient = /*#__PURE__*/function () {
|
|
|
905
904
|
while (1) switch (_context7.prev = _context7.next) {
|
|
906
905
|
case 0:
|
|
907
906
|
_context7.next = 2;
|
|
908
|
-
return httpService.get("/basic/status?apiKey=" + this.apiKey, _extends({
|
|
907
|
+
return this.httpService.get("/basic/status?apiKey=" + this.apiKey, _extends({
|
|
909
908
|
params: statusRequest,
|
|
910
909
|
headers: {
|
|
911
910
|
'X-Rango-Id': this.deviceId
|
|
@@ -938,7 +937,7 @@ var RangoClient = /*#__PURE__*/function () {
|
|
|
938
937
|
messagingProtocols: !!swapRequest.messagingProtocols && swapRequest.messagingProtocols.length > 0 ? swapRequest.messagingProtocols.join(',') : undefined
|
|
939
938
|
});
|
|
940
939
|
_context8.next = 3;
|
|
941
|
-
return httpService.get("/basic/swap?apiKey=" + this.apiKey, _extends({
|
|
940
|
+
return this.httpService.get("/basic/swap?apiKey=" + this.apiKey, _extends({
|
|
942
941
|
params: body,
|
|
943
942
|
headers: {
|
|
944
943
|
'X-Rango-Id': this.deviceId
|
|
@@ -964,7 +963,7 @@ var RangoClient = /*#__PURE__*/function () {
|
|
|
964
963
|
while (1) switch (_context9.prev = _context9.next) {
|
|
965
964
|
case 0:
|
|
966
965
|
_context9.next = 2;
|
|
967
|
-
return httpService.post("/basic/report-tx?apiKey=" + this.apiKey, requestBody, _extends({
|
|
966
|
+
return this.httpService.post("/basic/report-tx?apiKey=" + this.apiKey, requestBody, _extends({
|
|
968
967
|
headers: {
|
|
969
968
|
'X-Rango-Id': this.deviceId
|
|
970
969
|
}
|
|
@@ -987,7 +986,7 @@ var RangoClient = /*#__PURE__*/function () {
|
|
|
987
986
|
while (1) switch (_context10.prev = _context10.next) {
|
|
988
987
|
case 0:
|
|
989
988
|
_context10.next = 2;
|
|
990
|
-
return httpService.get("/basic/balance?apiKey=" + this.apiKey, _extends({
|
|
989
|
+
return this.httpService.get("/basic/balance?apiKey=" + this.apiKey, _extends({
|
|
991
990
|
params: walletAddress,
|
|
992
991
|
headers: {
|
|
993
992
|
'X-Rango-Id': this.deviceId
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rango-sdk-basic.cjs.development.js","sources":["../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":["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 uuid from 'uuid-random'\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 SwapperMeta,\n RequestOptions,\n MessagingProtocolsResponse,\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 = uuid()\n localStorage.setItem('deviceId', generatedId)\n this.deviceId = generatedId\n }\n } else {\n this.deviceId = uuid()\n }\n } catch (e) {\n this.deviceId = uuid()\n }\n 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(options?: RequestOptions): Promise<MetaResponse> {\n const axiosResponse = await httpService.get<MetaResponse>(\n `/basic/meta?apiKey=${this.apiKey}`,\n { ...options }\n )\n return axiosResponse.data\n }\n\n public async chains(options?: RequestOptions): Promise<BlockchainMeta[]> {\n const axiosResponse = await httpService.get<BlockchainMeta[]>(\n `/basic/meta/blockchains?apiKey=${this.apiKey}`,\n { ...options }\n )\n return axiosResponse.data\n }\n\n public async swappers(options?: RequestOptions): Promise<SwapperMeta[]> {\n const axiosResponse = await httpService.get<SwapperMeta[]>(\n `/basic/meta/swappers?apiKey=${this.apiKey}`,\n { ...options }\n )\n return axiosResponse.data\n }\n\n public async messagingProtocols(\n options?: RequestOptions\n ): Promise<MessagingProtocolsResponse> {\n const axiosResponse = await httpService.get<MessagingProtocolsResponse>(\n `/basic/meta/messaging-protocols?apiKey=${this.apiKey}`,\n { ...options }\n )\n return axiosResponse.data\n }\n\n public async quote(\n quoteRequest: QuoteRequest,\n options?: RequestOptions\n ): Promise<QuoteResponse> {\n const body = {\n ...quoteRequest,\n from: assetToString(quoteRequest.from),\n to: assetToString(quoteRequest.to),\n swappers:\n !!quoteRequest.swappers && quoteRequest.swappers.length > 0\n ? quoteRequest.swappers.join(',')\n : undefined,\n 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 ...options,\n }\n )\n return axiosResponse.data\n }\n\n public async isApproved(\n requestId: string,\n txId: string,\n options?: RequestOptions\n ): Promise<CheckApprovalResponse> {\n const axiosResponse = await httpService.get<CheckApprovalResponse>(\n `/basic/is-approved?apiKey=${this.apiKey}`,\n {\n params: { requestId, txId },\n headers: { 'X-Rango-Id': this.deviceId },\n ...options,\n }\n )\n return axiosResponse.data\n }\n\n public async status(\n statusRequest: StatusRequest,\n options?: RequestOptions\n ): Promise<StatusResponse> {\n const axiosResponse = await httpService.get<StatusResponse>(\n `/basic/status?apiKey=${this.apiKey}`,\n {\n params: statusRequest,\n headers: { 'X-Rango-Id': this.deviceId },\n ...options,\n }\n )\n return axiosResponse.data\n }\n\n public async swap(\n swapRequest: SwapRequest,\n options?: RequestOptions\n ): Promise<SwapResponse> {\n const body = {\n ...swapRequest,\n from: assetToString(swapRequest.from),\n to: assetToString(swapRequest.to),\n 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 ...options,\n }\n )\n return axiosResponse.data\n }\n\n public async reportFailure(\n requestBody: ReportTransactionRequest,\n options?: RequestOptions\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 ...options,\n }\n )\n }\n\n public async balance(\n walletAddress: WalletAddress,\n options?: RequestOptions\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 ...options,\n }\n )\n return axiosResponse.data\n }\n\n public async executeEvmRoute(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n signer: any,\n route: SwapResponse\n ): Promise<StatusResponse> {\n try {\n return await executeEvmRoute(this, signer as Signer, route)\n } catch (error) {\n const prettifiedError = prettifyError(error)\n try {\n const message = prettifiedError?.message || 'Error executing the route'\n this.reportFailure({\n requestId: route.requestId,\n eventType: 'TX_FAIL',\n reason: message,\n })\n } catch (err) {\n console.log({ err })\n }\n throw prettifiedError\n }\n }\n}\n"],"names":["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","toString","manipulatedTx","tx","from","approveTo","to","approveData","data","txTo","txData","value","gasLimit","checkApprovalSync","requestId","txId","rangoClient","isApproved","approvalResponse","txStatus","TransactionStatus","FAILED","console","log","err","checkTransactionStatusSync","status","SUCCESS","includes","executeEvmRoute","client","signer","route","error","resultType","Error","type","TransactionType","EVM","evmTransaction","txChainId","blockChain","chainId","getChainId","signerChainId","approveTxData","sendTransaction","approveTx","wait","hash","mainTxData","mainTx","prettifyError","code","Object","values","getMessageFromCode","message","RangoClient","apiKey","debug","window","deviceId","localStorage","getItem","generatedId","uuid","setItem","e","interceptors","request","use","JSON","stringify","response","meta","options","get","axiosResponse","chains","swappers","messagingProtocols","quote","quoteRequest","body","length","join","undefined","params","headers","statusRequest","swap","swapRequest","reportFailure","requestBody","post","balance","walletAddress","prettifiedError","eventType","reason"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rango-sdk-basic.cjs.development.js","sources":["../src/types/api/common.ts","../../../node_modules/rango-types/src/api/shared/type-gaurds.ts","../../../node_modules/rango-types/src/api/shared/routing.ts","../../../node_modules/rango-types/src/api/shared/transactions.ts","../src/types/utils/errors.ts","../src/utils/promise.ts","../src/services/executor.ts","../src/utils/errors.ts","../src/services/client.ts"],"sourcesContent":["import { Asset } from 'rango-types/lib/api/basic'\nexport * from 'rango-types/lib/api/basic/common'\n\nexport function assetToString(asset: Asset): string {\n if (!!asset.address)\n return `${asset.blockchain}.${asset.symbol}--${asset.address}`\n else return `${asset.blockchain}.${asset.symbol}`\n}\n",null,null,null,"export const MetamaskErrorCodes = {\n rpc: {\n invalidInput: -32000,\n resourceNotFound: -32001,\n resourceUnavailable: -32002,\n transactionRejected: -32003,\n methodNotSupported: -32004,\n limitExceeded: -32005,\n parse: -32700,\n invalidRequest: -32600,\n methodNotFound: -32601,\n invalidParams: -32602,\n internal: -32603,\n },\n provider: {\n userRejectedRequest: 4001,\n unauthorized: 4100,\n unsupportedMethod: 4200,\n disconnected: 4900,\n chainDisconnected: 4901,\n },\n}\n","export function sleep(ms: number) {\n return new Promise((resolve) => setTimeout(resolve, ms))\n}\n","import { Signer } from 'ethers'\nimport { RangoClient } from './client'\nimport { EvmTransaction } from '../types/api/txs'\nimport {\n StatusResponse,\n SwapResponse,\n TransactionStatus,\n TransactionType,\n} from '../types/api/transactions'\nimport { sleep } from '../utils/promise'\n\nexport function prepareEvmTransaction(\n evmTx: EvmTransaction,\n isApprove: boolean\n) {\n const gasPrice =\n !!evmTx.gasPrice && !evmTx.gasPrice.startsWith('0x')\n ? '0x' + parseInt(evmTx.gasPrice).toString(16)\n : null\n const manipulatedTx = {\n ...evmTx,\n gasPrice,\n }\n let tx = {}\n if (!!manipulatedTx.from) tx = { ...tx, from: manipulatedTx.from }\n if (isApprove) {\n if (!!manipulatedTx.approveTo) tx = { ...tx, to: manipulatedTx.approveTo }\n if (!!manipulatedTx.approveData)\n tx = { ...tx, data: manipulatedTx.approveData }\n } else {\n if (!!manipulatedTx.txTo) tx = { ...tx, to: manipulatedTx.txTo }\n if (!!manipulatedTx.txData) tx = { ...tx, data: manipulatedTx.txData }\n if (!!manipulatedTx.value) tx = { ...tx, value: manipulatedTx.value }\n if (!!manipulatedTx.gasLimit)\n tx = { ...tx, gasLimit: manipulatedTx.gasLimit }\n if (!!manipulatedTx.gasPrice)\n tx = { ...tx, gasPrice: manipulatedTx.gasPrice }\n }\n return tx\n}\n\nasync function checkApprovalSync(\n requestId: string,\n txId: string,\n rangoClient: RangoClient\n): Promise<boolean> {\n while (true) {\n try {\n const approvalResponse = await rangoClient.isApproved(requestId, txId)\n if (approvalResponse?.isApproved) return true\n if (\n !approvalResponse?.isApproved &&\n approvalResponse?.txStatus === TransactionStatus.FAILED\n )\n return false\n } catch (err) {\n console.log('ignorinig error', { err })\n }\n await sleep(3_000)\n }\n}\n\nexport const checkTransactionStatusSync = async (\n requestId: string,\n txId: string,\n rangoClient: RangoClient\n) => {\n let txStatus: StatusResponse | undefined\n while (true) {\n try {\n txStatus = await rangoClient.status({\n requestId,\n txId,\n })\n } catch (err) {\n console.log('ignorinig error', { err })\n }\n if (!!txStatus) {\n if (\n !!txStatus.status &&\n [TransactionStatus.FAILED, TransactionStatus.SUCCESS].includes(\n txStatus.status\n )\n ) {\n return txStatus\n }\n }\n await sleep(3_000)\n }\n}\n\nexport const executeEvmRoute = async (\n client: RangoClient,\n signer: Signer,\n route: SwapResponse\n): Promise<StatusResponse> => {\n const { tx, requestId, error, resultType } = route\n if (resultType != 'OK') throw new Error(resultType)\n if (!!error || !tx)\n throw new Error(error || 'Error creating the transaction.')\n if (tx?.type !== TransactionType.EVM)\n throw new Error('Non Evm transactions are not supported yet.')\n const evmTransaction = tx as EvmTransaction\n if (!evmTransaction) throw new Error('Transaction is null. Please try again!')\n const txChainId = parseInt(evmTransaction.blockChain.chainId || '-1')\n let signerChainId = await signer.getChainId()\n if (signerChainId !== txChainId) {\n throw new Error(\n `Signer chainId ${signerChainId} doesn't match required chainId ${txChainId}.`\n )\n }\n if (!!evmTransaction.approveTo && !!evmTransaction.approveData) {\n const approveTxData = prepareEvmTransaction(evmTransaction, true)\n const approveTx = await signer.sendTransaction(approveTxData)\n approveTx.wait()\n const isApproved = await checkApprovalSync(\n requestId,\n approveTx.hash,\n client\n )\n if (!isApproved) throw new Error('Error in approve transaction.')\n }\n signerChainId = await signer.getChainId()\n if (signerChainId !== txChainId) {\n throw new Error(\n `Signer chainId ${signerChainId} doesn't match required chainId ${txChainId}.`\n )\n }\n const mainTxData = prepareEvmTransaction(evmTransaction, false)\n const mainTx = await signer.sendTransaction(mainTxData)\n mainTx.wait()\n const status = await checkTransactionStatusSync(\n requestId,\n mainTx.hash,\n client\n )\n if (status.status !== TransactionStatus.SUCCESS)\n throw new Error(`Cross-chain swap failed. ${status.error || ''}`)\n return status\n}\n","import { getMessageFromCode } from 'eth-rpc-errors'\nimport { MetamaskErrorCodes } from '../types/utils/errors'\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const prettifyError = (error: any) => {\n if (!error) return error\n if (error.code && (error.code === 'ACTION_REJECTED' || error.code === 4001))\n return new Error('Transaction Rejected')\n if (error && typeof error.code === 'number') {\n if (Object.values(MetamaskErrorCodes.provider).includes(error.code)) {\n return new Error(getMessageFromCode(error.code))\n }\n if (Object.values(MetamaskErrorCodes.rpc).includes(error.code)) {\n if (\n error.code === MetamaskErrorCodes.rpc.internal &&\n error.message?.includes('underpriced')\n )\n return new Error('Transaction underpriced')\n if (\n error.message?.includes('intrinsic gas too low') ||\n error.message?.includes('out of gas')\n )\n return new Error('This Gas limit is low.')\n return new Error(getMessageFromCode(error.code))\n }\n }\n if (error.message) return new Error(error.message)\n return error\n}\n","import uuid from 'uuid-random'\n\nimport {\n MetaResponse,\n QuoteRequest,\n QuoteResponse,\n CheckApprovalResponse,\n StatusRequest,\n StatusResponse,\n SwapRequest,\n SwapResponse,\n ReportTransactionRequest,\n WalletDetailsResponse,\n assetToString,\n BlockchainMeta,\n SwapperMeta,\n RequestOptions,\n MessagingProtocolsResponse,\n} from '../types'\nimport { Signer } from 'ethers'\nimport { executeEvmRoute as executeEvmRoute } from './executor'\nimport { prettifyError } from '../utils/errors'\nimport axios, { AxiosInstance } from 'axios'\n\ntype WalletAddress = { blockchain: string; address: string }\n\nexport class RangoClient {\n private readonly deviceId: string\n private readonly apiKey: string\n private readonly apiUrl: string\n private readonly httpService: AxiosInstance\n\n constructor(apiKey: string, debug = false, apiUrl?: string) {\n this.apiUrl = apiUrl || 'https://api.rango.exchange'\n this.apiKey = apiKey\n try {\n if (typeof window !== 'undefined') {\n const deviceId = localStorage.getItem('deviceId')\n if (deviceId) {\n this.deviceId = deviceId\n } else {\n const generatedId = uuid()\n localStorage.setItem('deviceId', generatedId)\n this.deviceId = generatedId\n }\n } else {\n this.deviceId = uuid()\n }\n } catch (e) {\n this.deviceId = uuid()\n }\n this.httpService = axios.create({\n baseURL: this.apiUrl,\n })\n if (debug) {\n this.httpService.interceptors.request.use((request) => {\n console.log('Starting Request', JSON.stringify(request, null, 2))\n return request\n })\n this.httpService.interceptors.response.use((response) => {\n console.log('Response:', JSON.stringify(response, null, 2))\n return response\n })\n }\n }\n\n public async meta(options?: RequestOptions): Promise<MetaResponse> {\n const axiosResponse = await this.httpService.get<MetaResponse>(\n `/basic/meta?apiKey=${this.apiKey}`,\n { ...options }\n )\n return axiosResponse.data\n }\n\n public async chains(options?: RequestOptions): Promise<BlockchainMeta[]> {\n const axiosResponse = await this.httpService.get<BlockchainMeta[]>(\n `/basic/meta/blockchains?apiKey=${this.apiKey}`,\n { ...options }\n )\n return axiosResponse.data\n }\n\n public async swappers(options?: RequestOptions): Promise<SwapperMeta[]> {\n const axiosResponse = await this.httpService.get<SwapperMeta[]>(\n `/basic/meta/swappers?apiKey=${this.apiKey}`,\n { ...options }\n )\n return axiosResponse.data\n }\n\n public async messagingProtocols(\n options?: RequestOptions\n ): Promise<MessagingProtocolsResponse> {\n const axiosResponse =\n await this.httpService.get<MessagingProtocolsResponse>(\n `/basic/meta/messaging-protocols?apiKey=${this.apiKey}`,\n { ...options }\n )\n return axiosResponse.data\n }\n\n public async quote(\n quoteRequest: QuoteRequest,\n options?: RequestOptions\n ): Promise<QuoteResponse> {\n const body = {\n ...quoteRequest,\n from: assetToString(quoteRequest.from),\n to: assetToString(quoteRequest.to),\n swappers:\n !!quoteRequest.swappers && quoteRequest.swappers.length > 0\n ? quoteRequest.swappers.join(',')\n : undefined,\n messagingProtocols:\n !!quoteRequest.messagingProtocols &&\n quoteRequest.messagingProtocols.length > 0\n ? quoteRequest.messagingProtocols.join(',')\n : undefined,\n }\n const axiosResponse = await this.httpService.get<QuoteResponse>(\n `/basic/quote?apiKey=${this.apiKey}`,\n {\n params: body,\n headers: { 'X-Rango-Id': this.deviceId },\n ...options,\n }\n )\n return axiosResponse.data\n }\n\n public async isApproved(\n requestId: string,\n txId: string,\n options?: RequestOptions\n ): Promise<CheckApprovalResponse> {\n const axiosResponse = await this.httpService.get<CheckApprovalResponse>(\n `/basic/is-approved?apiKey=${this.apiKey}`,\n {\n params: { requestId, txId },\n headers: { 'X-Rango-Id': this.deviceId },\n ...options,\n }\n )\n return axiosResponse.data\n }\n\n public async status(\n statusRequest: StatusRequest,\n options?: RequestOptions\n ): Promise<StatusResponse> {\n const axiosResponse = await this.httpService.get<StatusResponse>(\n `/basic/status?apiKey=${this.apiKey}`,\n {\n params: statusRequest,\n headers: { 'X-Rango-Id': this.deviceId },\n ...options,\n }\n )\n return axiosResponse.data\n }\n\n public async swap(\n swapRequest: SwapRequest,\n options?: RequestOptions\n ): Promise<SwapResponse> {\n const body = {\n ...swapRequest,\n from: assetToString(swapRequest.from),\n to: assetToString(swapRequest.to),\n 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 this.httpService.get<SwapResponse>(\n `/basic/swap?apiKey=${this.apiKey}`,\n {\n params: body,\n headers: { 'X-Rango-Id': this.deviceId },\n ...options,\n }\n )\n return axiosResponse.data\n }\n\n public async reportFailure(\n requestBody: ReportTransactionRequest,\n options?: RequestOptions\n ): Promise<void> {\n await this.httpService.post(\n `/basic/report-tx?apiKey=${this.apiKey}`,\n requestBody,\n {\n headers: { 'X-Rango-Id': this.deviceId },\n ...options,\n }\n )\n }\n\n public async balance(\n walletAddress: WalletAddress,\n options?: RequestOptions\n ): Promise<WalletDetailsResponse> {\n const axiosResponse = await this.httpService.get<WalletDetailsResponse>(\n `/basic/balance?apiKey=${this.apiKey}`,\n {\n params: walletAddress,\n headers: { 'X-Rango-Id': this.deviceId },\n ...options,\n }\n )\n return axiosResponse.data\n }\n\n public async executeEvmRoute(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n signer: any,\n route: SwapResponse\n ): Promise<StatusResponse> {\n try {\n return await executeEvmRoute(this, signer as Signer, route)\n } catch (error) {\n const prettifiedError = prettifyError(error)\n try {\n const message = prettifiedError?.message || 'Error executing the route'\n this.reportFailure({\n requestId: route.requestId,\n eventType: 'TX_FAIL',\n reason: message,\n })\n } catch (err) {\n console.log({ err })\n }\n throw prettifiedError\n }\n }\n}\n"],"names":["assetToString","asset","address","blockchain","symbol","blockchainMeta","MetamaskErrorCodes","rpc","invalidInput","resourceNotFound","resourceUnavailable","transactionRejected","methodNotSupported","limitExceeded","parse","invalidRequest","methodNotFound","invalidParams","internal","provider","userRejectedRequest","unauthorized","unsupportedMethod","disconnected","chainDisconnected","sleep","ms","Promise","resolve","setTimeout","prepareEvmTransaction","evmTx","isApprove","gasPrice","startsWith","parseInt","toString","manipulatedTx","tx","from","approveTo","to","approveData","data","txTo","txData","value","gasLimit","checkApprovalSync","requestId","txId","rangoClient","isApproved","approvalResponse","txStatus","TransactionStatus","FAILED","console","log","err","checkTransactionStatusSync","status","SUCCESS","includes","executeEvmRoute","client","signer","route","error","resultType","Error","type","TransactionType","EVM","evmTransaction","txChainId","blockChain","chainId","getChainId","signerChainId","approveTxData","sendTransaction","approveTx","wait","hash","mainTxData","mainTx","prettifyError","code","Object","values","getMessageFromCode","message","RangoClient","apiKey","debug","apiUrl","window","deviceId","localStorage","getItem","generatedId","uuid","setItem","e","httpService","axios","create","baseURL","interceptors","request","use","JSON","stringify","response","meta","options","get","axiosResponse","chains","swappers","messagingProtocols","quote","quoteRequest","body","length","join","undefined","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";function t(t){return t&&"object"==typeof t&&"default"in t?t.default:t}Object.defineProperty(exports,"__esModule",{value:!0});var e=t(require("uuid-random")),r=t(require("axios")),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 S(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 g={};u(g,i,(function(){return this}));var y=Object.getPrototypeOf,m=y&&y(y(O([])));m&&m!==e&&r.call(m,i)&&(g=m);var x=v.prototype=h.prototype=Object.create(g);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 k(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 I(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function S(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(k,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:L}}function L(){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,S.prototype={constructor:S,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(I),!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),I(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;I(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="undefined"!=typeof process&&process.env.REACT_APP_RANGO_BASE_URL?process.env.REACT_APP_RANGO_BASE_URL:"https://api.rango.exchange",u=r.create({baseURL:c});function p(t){return t.address?t.blockchain+"."+t.symbol+"--"+t.address:t.blockchain+"."+t.symbol}var f,l,h=function(t){return"EVM"===t.type},d=function(t){return"COSMOS"===t.type},v=function(t){return"SOLANA"===t.type},g=function(t){return"TRON"===t.type},y=function(t){return"TRANSFER"===t.type},m=function(t){return"STARKNET"===t.type};(f=exports.RoutingResultType||(exports.RoutingResultType={})).OK="OK",f.HIGH_IMPACT="HIGH_IMPACT",f.NO_ROUTE="NO_ROUTE",f.INPUT_LIMIT_ISSUE="INPUT_LIMIT_ISSUE",(l=exports.TransactionType||(exports.TransactionType={})).EVM="EVM",l.TRANSFER="TRANSFER",l.COSMOS="COSMOS",l.SOLANA="SOLANA",l.TRON="TRON",l.STARKNET="STARKNET";var x,w=exports.TransactionType;(x=exports.TransactionStatus||(exports.TransactionStatus={})).FAILED="failed",x.RUNNING="running",x.SUCCESS="success";var b={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 E(t){return new Promise((function(e){return setTimeout(e,t)}))}function T(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 k(t,e,r){return I.apply(this,arguments)}function I(){return(I=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,E(3e3);case 16:t.next=0;break;case 18:case"end":return t.stop()}}),t,null,[[1,11]])})))).apply(this,arguments)}var S=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,E(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)}}(),O=function(){var t=i(o().mark((function t(e,r,n){var a,i,s,c,u,p,f,l,h,d,v,g;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=T(u,!0),t.next=20,r.sendTransaction(l);case 20:return(h=t.sent).wait(),t.next=24,k(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=T(u,!1),t.next=35,r.sendTransaction(d);case 35:return(v=t.sent).wait(),t.next=39,S(i,v.hash,e);case 39:if((g=t.sent).status===exports.TransactionStatus.SUCCESS){t.next=42;break}throw new Error("Cross-chain swap failed. "+(g.error||""));case 42:return t.abrupt("return",g);case 43: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(b.provider).includes(t.code))return new Error(n.getMessageFromCode(t.code));var e,r,o;if(Object.values(b.rpc).includes(t.code))return t.code===b.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},R=function(){function t(t,r){void 0===r&&(r=!1),this.apiKey=t;try{if("undefined"!=typeof window){var n=localStorage.getItem("deviceId");if(n)this.deviceId=n;else{var o=e();localStorage.setItem("deviceId",o),this.deviceId=o}}else this.deviceId=e()}catch(t){this.deviceId=e()}r&&(u.interceptors.request.use((function(t){return console.log("Starting Request",JSON.stringify(t,null,2)),t})),u.interceptors.response.use((function(t){return console.log("Response:",JSON.stringify(t,null,2)),t})))}var r=t.prototype;return r.meta=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,u.get("/basic/meta?apiKey="+this.apiKey,s({},e));case 2:return t.abrupt("return",t.sent.data);case 4:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),r.chains=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,u.get("/basic/meta/blockchains?apiKey="+this.apiKey,s({},e));case 2:return t.abrupt("return",t.sent.data);case 4:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),r.swappers=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,u.get("/basic/meta/swappers?apiKey="+this.apiKey,s({},e));case 2:return t.abrupt("return",t.sent.data);case 4:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),r.messagingProtocols=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,u.get("/basic/meta/messaging-protocols?apiKey="+this.apiKey,s({},e));case 2:return t.abrupt("return",t.sent.data);case 4:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),r.quote=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 n=s({},e,{from:p(e.from),to:p(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,u.get("/basic/quote?apiKey="+this.apiKey,s({params:n,headers:{"X-Rango-Id":this.deviceId}},r));case 3:return t.abrupt("return",t.sent.data);case 5:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),r.isApproved=function(){var t=i(o().mark((function t(e,r,n){return o().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,u.get("/basic/is-approved?apiKey="+this.apiKey,s({params:{requestId:e,txId:r},headers:{"X-Rango-Id":this.deviceId}},n));case 2:return t.abrupt("return",t.sent.data);case 4:case"end":return t.stop()}}),t,this)})));return function(e,r,n){return t.apply(this,arguments)}}(),r.status=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,u.get("/basic/status?apiKey="+this.apiKey,s({params:e,headers:{"X-Rango-Id":this.deviceId}},r));case 2:return t.abrupt("return",t.sent.data);case 4:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),r.swap=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 n=s({},e,{from:p(e.from),to:p(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,u.get("/basic/swap?apiKey="+this.apiKey,s({params:n,headers:{"X-Rango-Id":this.deviceId}},r));case 3:return t.abrupt("return",t.sent.data);case 5:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),r.reportFailure=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,u.post("/basic/report-tx?apiKey="+this.apiKey,e,s({headers:{"X-Rango-Id":this.deviceId}},r));case 2:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),r.balance=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,u.get("/basic/balance?apiKey="+this.apiKey,s({params:e,headers:{"X-Rango-Id":this.deviceId}},r));case 2:return t.abrupt("return",t.sent.data);case 4:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),r.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,O(this,e,r);case 3:return t.abrupt("return",t.sent);case 6:t.prev=6,t.t0=t.catch(0),n=L(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=w,exports.MetamaskErrorCodes=b,exports.RangoClient=R,exports.assetToString=p,exports.cosmosBlockchains=function(t){return t.filter(d)},exports.evmBlockchains=function(t){return t.filter(h)},exports.isCosmosBlockchain=d,exports.isEvmBlockchain=h,exports.isSolanaBlockchain=v,exports.isStarknetBlockchain=m,exports.isTransferBlockchain=y,exports.isTronBlockchain=g,exports.solanaBlockchain=function(t){return t.filter(v)},exports.starknetBlockchain=function(t){return t.filter(m)},exports.transferBlockchains=function(t){return t.filter(y)},exports.tronBlockchain=function(t){return t.filter(g)};
|
|
1
|
+
"use strict";function t(t){return t&&"object"==typeof t&&"default"in t?t.default:t}Object.defineProperty(exports,"__esModule",{value:!0});var e=t(require("uuid-random")),r=require("eth-rpc-errors"),n=t(require("axios"));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 l?e:l).prototype),i=new I(o||[]);return n(a,"_invoke",{value:E(t,r,i)}),a}function h(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=p;var f={};function l(){}function d(){}function v(){}var g={};u(g,i,(function(){return this}));var y=Object.getPrototypeOf,m=y&&y(y(O([])));m&&m!==e&&r.call(m,i)&&(g=m);var x=v.prototype=l.prototype=Object.create(g);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=h(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=S(i,r);if(s){if(s===f)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=h(t,e,r);if("normal"===c.type){if(n=r.done?"completed":"suspendedYield",c.arg===f)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(n="completed",r.method="throw",r.arg=c.arg)}}}function S(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,S(t,e),"throw"===e.method)||"return"!==r&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+r+"' method")),f;var o=h(n,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,f;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,f):a:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,f)}function T(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 k(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function I(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(T,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:L}}function L(){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,I.prototype={constructor:I,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(k),!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,f):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),f},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),k(r),f}},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;k(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),f}},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)}function c(t){return t.address?t.blockchain+"."+t.symbol+"--"+t.address:t.blockchain+"."+t.symbol}var u,p,h=function(t){return"EVM"===t.type},f=function(t){return"COSMOS"===t.type},l=function(t){return"SOLANA"===t.type},d=function(t){return"TRON"===t.type},v=function(t){return"TRANSFER"===t.type},g=function(t){return"STARKNET"===t.type};(u=exports.RoutingResultType||(exports.RoutingResultType={})).OK="OK",u.HIGH_IMPACT="HIGH_IMPACT",u.NO_ROUTE="NO_ROUTE",u.INPUT_LIMIT_ISSUE="INPUT_LIMIT_ISSUE",(p=exports.TransactionType||(exports.TransactionType={})).EVM="EVM",p.TRANSFER="TRANSFER",p.COSMOS="COSMOS",p.SOLANA="SOLANA",p.TRON="TRON",p.STARKNET="STARKNET";var y,m=exports.TransactionType;(y=exports.TransactionStatus||(exports.TransactionStatus={})).FAILED="failed",y.RUNNING="running",y.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 w(t){return new Promise((function(e){return setTimeout(e,t)}))}function b(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 E(t,e,r){return S.apply(this,arguments)}function S(){return(S=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,w(3e3);case 16:t.next=0;break;case 18:case"end":return t.stop()}}),t,null,[[1,11]])})))).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,w(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,h,f,l,d,v,g;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((h=t.sent)===p){t.next=16;break}throw new Error("Signer chainId "+h+" doesn't match required chainId "+p+".");case 16:if(!u.approveTo||!u.approveData){t.next=27;break}return f=b(u,!0),t.next=20,r.sendTransaction(f);case 20:return(l=t.sent).wait(),t.next=24,E(i,l.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((h=t.sent)===p){t.next=32;break}throw new Error("Signer chainId "+h+" doesn't match required chainId "+p+".");case 32:return d=b(u,!1),t.next=35,r.sendTransaction(d);case 35:return(v=t.sent).wait(),t.next=39,T(i,v.hash,e);case 39:if((g=t.sent).status===exports.TransactionStatus.SUCCESS){t.next=42;break}throw new Error("Cross-chain swap failed. "+(g.error||""));case 42:return t.abrupt("return",g);case 43:case"end":return t.stop()}}),t)})));return function(e,r,n){return t.apply(this,arguments)}}(),I=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(r.getMessageFromCode(t.code));var e,n,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!=(n=t.message)&&n.includes("intrinsic gas too low")||null!=(o=t.message)&&o.includes("out of gas")?new Error("This Gas limit is low."):new Error(r.getMessageFromCode(t.code))}return t.message?new Error(t.message):t},O=function(){function t(t,r,o){void 0===r&&(r=!1),this.apiUrl=o||"https://api.rango.exchange",this.apiKey=t;try{if("undefined"!=typeof window){var a=localStorage.getItem("deviceId");if(a)this.deviceId=a;else{var i=e();localStorage.setItem("deviceId",i),this.deviceId=i}}else this.deviceId=e()}catch(t){this.deviceId=e()}this.httpService=n.create({baseURL:this.apiUrl}),r&&(this.httpService.interceptors.request.use((function(t){return console.log("Starting Request",JSON.stringify(t,null,2)),t})),this.httpService.interceptors.response.use((function(t){return console.log("Response:",JSON.stringify(t,null,2)),t})))}var r=t.prototype;return r.meta=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,this.httpService.get("/basic/meta?apiKey="+this.apiKey,s({},e));case 2:return t.abrupt("return",t.sent.data);case 4:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),r.chains=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,this.httpService.get("/basic/meta/blockchains?apiKey="+this.apiKey,s({},e));case 2:return t.abrupt("return",t.sent.data);case 4:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),r.swappers=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,this.httpService.get("/basic/meta/swappers?apiKey="+this.apiKey,s({},e));case 2:return t.abrupt("return",t.sent.data);case 4:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),r.messagingProtocols=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,this.httpService.get("/basic/meta/messaging-protocols?apiKey="+this.apiKey,s({},e));case 2:return t.abrupt("return",t.sent.data);case 4:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),r.quote=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 n=s({},e,{from:c(e.from),to:c(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,this.httpService.get("/basic/quote?apiKey="+this.apiKey,s({params:n,headers:{"X-Rango-Id":this.deviceId}},r));case 3:return t.abrupt("return",t.sent.data);case 5:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),r.isApproved=function(){var t=i(o().mark((function t(e,r,n){return o().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.httpService.get("/basic/is-approved?apiKey="+this.apiKey,s({params:{requestId:e,txId:r},headers:{"X-Rango-Id":this.deviceId}},n));case 2:return t.abrupt("return",t.sent.data);case 4:case"end":return t.stop()}}),t,this)})));return function(e,r,n){return t.apply(this,arguments)}}(),r.status=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,this.httpService.get("/basic/status?apiKey="+this.apiKey,s({params:e,headers:{"X-Rango-Id":this.deviceId}},r));case 2:return t.abrupt("return",t.sent.data);case 4:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),r.swap=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 n=s({},e,{from:c(e.from),to:c(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,this.httpService.get("/basic/swap?apiKey="+this.apiKey,s({params:n,headers:{"X-Rango-Id":this.deviceId}},r));case 3:return t.abrupt("return",t.sent.data);case 5:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),r.reportFailure=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,this.httpService.post("/basic/report-tx?apiKey="+this.apiKey,e,s({headers:{"X-Rango-Id":this.deviceId}},r));case 2:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),r.balance=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,this.httpService.get("/basic/balance?apiKey="+this.apiKey,s({params:e,headers:{"X-Rango-Id":this.deviceId}},r));case 2:return t.abrupt("return",t.sent.data);case 4:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),r.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,k(this,e,r);case 3:return t.abrupt("return",t.sent);case 6:t.prev=6,t.t0=t.catch(0),n=I(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=m,exports.MetamaskErrorCodes=x,exports.RangoClient=O,exports.assetToString=c,exports.cosmosBlockchains=function(t){return t.filter(f)},exports.evmBlockchains=function(t){return t.filter(h)},exports.isCosmosBlockchain=f,exports.isEvmBlockchain=h,exports.isSolanaBlockchain=l,exports.isStarknetBlockchain=g,exports.isTransferBlockchain=v,exports.isTronBlockchain=d,exports.solanaBlockchain=function(t){return t.filter(l)},exports.starknetBlockchain=function(t){return t.filter(g)},exports.transferBlockchains=function(t){return t.filter(v)},exports.tronBlockchain=function(t){return t.filter(d)};
|
|
2
2
|
//# sourceMappingURL=rango-sdk-basic.cjs.production.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rango-sdk-basic.cjs.production.min.js","sources":["../src/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":["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 uuid from 'uuid-random'\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 SwapperMeta,\n RequestOptions,\n MessagingProtocolsResponse,\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 = uuid()\n localStorage.setItem('deviceId', generatedId)\n this.deviceId = generatedId\n }\n } else {\n this.deviceId = uuid()\n }\n } catch (e) {\n this.deviceId = uuid()\n }\n 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(options?: RequestOptions): Promise<MetaResponse> {\n const axiosResponse = await httpService.get<MetaResponse>(\n `/basic/meta?apiKey=${this.apiKey}`,\n { ...options }\n )\n return axiosResponse.data\n }\n\n public async chains(options?: RequestOptions): Promise<BlockchainMeta[]> {\n const axiosResponse = await httpService.get<BlockchainMeta[]>(\n `/basic/meta/blockchains?apiKey=${this.apiKey}`,\n { ...options }\n )\n return axiosResponse.data\n }\n\n public async swappers(options?: RequestOptions): Promise<SwapperMeta[]> {\n const axiosResponse = await httpService.get<SwapperMeta[]>(\n `/basic/meta/swappers?apiKey=${this.apiKey}`,\n { ...options }\n )\n return axiosResponse.data\n }\n\n public async messagingProtocols(\n options?: RequestOptions\n ): Promise<MessagingProtocolsResponse> {\n const axiosResponse = await httpService.get<MessagingProtocolsResponse>(\n `/basic/meta/messaging-protocols?apiKey=${this.apiKey}`,\n { ...options }\n )\n return axiosResponse.data\n }\n\n public async quote(\n quoteRequest: QuoteRequest,\n options?: RequestOptions\n ): Promise<QuoteResponse> {\n const body = {\n ...quoteRequest,\n from: assetToString(quoteRequest.from),\n to: assetToString(quoteRequest.to),\n swappers:\n !!quoteRequest.swappers && quoteRequest.swappers.length > 0\n ? quoteRequest.swappers.join(',')\n : undefined,\n 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 ...options,\n }\n )\n return axiosResponse.data\n }\n\n public async isApproved(\n requestId: string,\n txId: string,\n options?: RequestOptions\n ): Promise<CheckApprovalResponse> {\n const axiosResponse = await httpService.get<CheckApprovalResponse>(\n `/basic/is-approved?apiKey=${this.apiKey}`,\n {\n params: { requestId, txId },\n headers: { 'X-Rango-Id': this.deviceId },\n ...options,\n }\n )\n return axiosResponse.data\n }\n\n public async status(\n statusRequest: StatusRequest,\n options?: RequestOptions\n ): Promise<StatusResponse> {\n const axiosResponse = await httpService.get<StatusResponse>(\n `/basic/status?apiKey=${this.apiKey}`,\n {\n params: statusRequest,\n headers: { 'X-Rango-Id': this.deviceId },\n ...options,\n }\n )\n return axiosResponse.data\n }\n\n public async swap(\n swapRequest: SwapRequest,\n options?: RequestOptions\n ): Promise<SwapResponse> {\n const body = {\n ...swapRequest,\n from: assetToString(swapRequest.from),\n to: assetToString(swapRequest.to),\n 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 ...options,\n }\n )\n return axiosResponse.data\n }\n\n public async reportFailure(\n requestBody: ReportTransactionRequest,\n options?: RequestOptions\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 ...options,\n }\n )\n }\n\n public async balance(\n walletAddress: WalletAddress,\n options?: RequestOptions\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 ...options,\n }\n )\n return axiosResponse.data\n }\n\n public async executeEvmRoute(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n signer: any,\n route: SwapResponse\n ): Promise<StatusResponse> {\n try {\n return await executeEvmRoute(this, signer as Signer, route)\n } catch (error) {\n const prettifiedError = prettifyError(error)\n try {\n const message = prettifiedError?.message || 'Error executing the route'\n this.reportFailure({\n requestId: route.requestId,\n eventType: 'TX_FAIL',\n reason: message,\n })\n } catch (err) {\n console.log({ err })\n }\n throw prettifiedError\n }\n }\n}\n"],"names":["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","toString","manipulatedTx","tx","from","approveTo","to","approveData","data","txTo","txData","value","gasLimit","checkApprovalSync","_checkApprovalSync","requestId","txId","rangoClient","_context3","isApproved","approvalResponse","txStatus","TransactionStatus","FAILED","console","log","err","checkTransactionStatusSync","_context","status","SUCCESS","includes","executeEvmRoute","client","signer","route","error","resultType","_context2","Error","type","TransactionType","EVM","evmTransaction","txChainId","blockChain","chainId","getChainId","signerChainId","approveTxData","sendTransaction","approveTx","wait","hash","mainTxData","mainTx","prettifyError","code","Object","values","getMessageFromCode","message","_error$message","_error$message2","_error$message3","RangoClient","apiKey","debug","this","window","deviceId","localStorage","getItem","generatedId","uuid","setItem","e","interceptors","request","use","JSON","stringify","response","_proto","meta","options","get","chains","swappers","messagingProtocols","_context4","quote","quoteRequest","body","length","join","undefined","_context5","params","headers","X-Rango-Id","_context6","statusRequest","_context7","swap","swapRequest","_context8","reportFailure","requestBody","_context9","post","balance","walletAddress","_context10","_context11","prettifiedError","eventType","reason"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rango-sdk-basic.cjs.production.min.js","sources":["../src/types/api/common.ts","../../../node_modules/rango-types/src/api/shared/type-gaurds.ts","../../../node_modules/rango-types/src/api/shared/transactions.ts","../src/types/utils/errors.ts","../src/utils/promise.ts","../src/services/executor.ts","../src/utils/errors.ts","../src/services/client.ts"],"sourcesContent":["import { Asset } from 'rango-types/lib/api/basic'\nexport * from 'rango-types/lib/api/basic/common'\n\nexport function assetToString(asset: Asset): string {\n if (!!asset.address)\n return `${asset.blockchain}.${asset.symbol}--${asset.address}`\n else return `${asset.blockchain}.${asset.symbol}`\n}\n",null,null,"export const MetamaskErrorCodes = {\n rpc: {\n invalidInput: -32000,\n resourceNotFound: -32001,\n resourceUnavailable: -32002,\n transactionRejected: -32003,\n methodNotSupported: -32004,\n limitExceeded: -32005,\n parse: -32700,\n invalidRequest: -32600,\n methodNotFound: -32601,\n invalidParams: -32602,\n internal: -32603,\n },\n provider: {\n userRejectedRequest: 4001,\n unauthorized: 4100,\n unsupportedMethod: 4200,\n disconnected: 4900,\n chainDisconnected: 4901,\n },\n}\n","export function sleep(ms: number) {\n return new Promise((resolve) => setTimeout(resolve, ms))\n}\n","import { Signer } from 'ethers'\nimport { RangoClient } from './client'\nimport { EvmTransaction } from '../types/api/txs'\nimport {\n StatusResponse,\n SwapResponse,\n TransactionStatus,\n TransactionType,\n} from '../types/api/transactions'\nimport { sleep } from '../utils/promise'\n\nexport function prepareEvmTransaction(\n evmTx: EvmTransaction,\n isApprove: boolean\n) {\n const gasPrice =\n !!evmTx.gasPrice && !evmTx.gasPrice.startsWith('0x')\n ? '0x' + parseInt(evmTx.gasPrice).toString(16)\n : null\n const manipulatedTx = {\n ...evmTx,\n gasPrice,\n }\n let tx = {}\n if (!!manipulatedTx.from) tx = { ...tx, from: manipulatedTx.from }\n if (isApprove) {\n if (!!manipulatedTx.approveTo) tx = { ...tx, to: manipulatedTx.approveTo }\n if (!!manipulatedTx.approveData)\n tx = { ...tx, data: manipulatedTx.approveData }\n } else {\n if (!!manipulatedTx.txTo) tx = { ...tx, to: manipulatedTx.txTo }\n if (!!manipulatedTx.txData) tx = { ...tx, data: manipulatedTx.txData }\n if (!!manipulatedTx.value) tx = { ...tx, value: manipulatedTx.value }\n if (!!manipulatedTx.gasLimit)\n tx = { ...tx, gasLimit: manipulatedTx.gasLimit }\n if (!!manipulatedTx.gasPrice)\n tx = { ...tx, gasPrice: manipulatedTx.gasPrice }\n }\n return tx\n}\n\nasync function checkApprovalSync(\n requestId: string,\n txId: string,\n rangoClient: RangoClient\n): Promise<boolean> {\n while (true) {\n try {\n const approvalResponse = await rangoClient.isApproved(requestId, txId)\n if (approvalResponse?.isApproved) return true\n if (\n !approvalResponse?.isApproved &&\n approvalResponse?.txStatus === TransactionStatus.FAILED\n )\n return false\n } catch (err) {\n console.log('ignorinig error', { err })\n }\n await sleep(3_000)\n }\n}\n\nexport const checkTransactionStatusSync = async (\n requestId: string,\n txId: string,\n rangoClient: RangoClient\n) => {\n let txStatus: StatusResponse | undefined\n while (true) {\n try {\n txStatus = await rangoClient.status({\n requestId,\n txId,\n })\n } catch (err) {\n console.log('ignorinig error', { err })\n }\n if (!!txStatus) {\n if (\n !!txStatus.status &&\n [TransactionStatus.FAILED, TransactionStatus.SUCCESS].includes(\n txStatus.status\n )\n ) {\n return txStatus\n }\n }\n await sleep(3_000)\n }\n}\n\nexport const executeEvmRoute = async (\n client: RangoClient,\n signer: Signer,\n route: SwapResponse\n): Promise<StatusResponse> => {\n const { tx, requestId, error, resultType } = route\n if (resultType != 'OK') throw new Error(resultType)\n if (!!error || !tx)\n throw new Error(error || 'Error creating the transaction.')\n if (tx?.type !== TransactionType.EVM)\n throw new Error('Non Evm transactions are not supported yet.')\n const evmTransaction = tx as EvmTransaction\n if (!evmTransaction) throw new Error('Transaction is null. Please try again!')\n const txChainId = parseInt(evmTransaction.blockChain.chainId || '-1')\n let signerChainId = await signer.getChainId()\n if (signerChainId !== txChainId) {\n throw new Error(\n `Signer chainId ${signerChainId} doesn't match required chainId ${txChainId}.`\n )\n }\n if (!!evmTransaction.approveTo && !!evmTransaction.approveData) {\n const approveTxData = prepareEvmTransaction(evmTransaction, true)\n const approveTx = await signer.sendTransaction(approveTxData)\n approveTx.wait()\n const isApproved = await checkApprovalSync(\n requestId,\n approveTx.hash,\n client\n )\n if (!isApproved) throw new Error('Error in approve transaction.')\n }\n signerChainId = await signer.getChainId()\n if (signerChainId !== txChainId) {\n throw new Error(\n `Signer chainId ${signerChainId} doesn't match required chainId ${txChainId}.`\n )\n }\n const mainTxData = prepareEvmTransaction(evmTransaction, false)\n const mainTx = await signer.sendTransaction(mainTxData)\n mainTx.wait()\n const status = await checkTransactionStatusSync(\n requestId,\n mainTx.hash,\n client\n )\n if (status.status !== TransactionStatus.SUCCESS)\n throw new Error(`Cross-chain swap failed. ${status.error || ''}`)\n return status\n}\n","import { getMessageFromCode } from 'eth-rpc-errors'\nimport { MetamaskErrorCodes } from '../types/utils/errors'\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const prettifyError = (error: any) => {\n if (!error) return error\n if (error.code && (error.code === 'ACTION_REJECTED' || error.code === 4001))\n return new Error('Transaction Rejected')\n if (error && typeof error.code === 'number') {\n if (Object.values(MetamaskErrorCodes.provider).includes(error.code)) {\n return new Error(getMessageFromCode(error.code))\n }\n if (Object.values(MetamaskErrorCodes.rpc).includes(error.code)) {\n if (\n error.code === MetamaskErrorCodes.rpc.internal &&\n error.message?.includes('underpriced')\n )\n return new Error('Transaction underpriced')\n if (\n error.message?.includes('intrinsic gas too low') ||\n error.message?.includes('out of gas')\n )\n return new Error('This Gas limit is low.')\n return new Error(getMessageFromCode(error.code))\n }\n }\n if (error.message) return new Error(error.message)\n return error\n}\n","import uuid from 'uuid-random'\n\nimport {\n MetaResponse,\n QuoteRequest,\n QuoteResponse,\n CheckApprovalResponse,\n StatusRequest,\n StatusResponse,\n SwapRequest,\n SwapResponse,\n ReportTransactionRequest,\n WalletDetailsResponse,\n assetToString,\n BlockchainMeta,\n SwapperMeta,\n RequestOptions,\n MessagingProtocolsResponse,\n} from '../types'\nimport { Signer } from 'ethers'\nimport { executeEvmRoute as executeEvmRoute } from './executor'\nimport { prettifyError } from '../utils/errors'\nimport axios, { AxiosInstance } from 'axios'\n\ntype WalletAddress = { blockchain: string; address: string }\n\nexport class RangoClient {\n private readonly deviceId: string\n private readonly apiKey: string\n private readonly apiUrl: string\n private readonly httpService: AxiosInstance\n\n constructor(apiKey: string, debug = false, apiUrl?: string) {\n this.apiUrl = apiUrl || 'https://api.rango.exchange'\n this.apiKey = apiKey\n try {\n if (typeof window !== 'undefined') {\n const deviceId = localStorage.getItem('deviceId')\n if (deviceId) {\n this.deviceId = deviceId\n } else {\n const generatedId = uuid()\n localStorage.setItem('deviceId', generatedId)\n this.deviceId = generatedId\n }\n } else {\n this.deviceId = uuid()\n }\n } catch (e) {\n this.deviceId = uuid()\n }\n this.httpService = axios.create({\n baseURL: this.apiUrl,\n })\n if (debug) {\n this.httpService.interceptors.request.use((request) => {\n console.log('Starting Request', JSON.stringify(request, null, 2))\n return request\n })\n this.httpService.interceptors.response.use((response) => {\n console.log('Response:', JSON.stringify(response, null, 2))\n return response\n })\n }\n }\n\n public async meta(options?: RequestOptions): Promise<MetaResponse> {\n const axiosResponse = await this.httpService.get<MetaResponse>(\n `/basic/meta?apiKey=${this.apiKey}`,\n { ...options }\n )\n return axiosResponse.data\n }\n\n public async chains(options?: RequestOptions): Promise<BlockchainMeta[]> {\n const axiosResponse = await this.httpService.get<BlockchainMeta[]>(\n `/basic/meta/blockchains?apiKey=${this.apiKey}`,\n { ...options }\n )\n return axiosResponse.data\n }\n\n public async swappers(options?: RequestOptions): Promise<SwapperMeta[]> {\n const axiosResponse = await this.httpService.get<SwapperMeta[]>(\n `/basic/meta/swappers?apiKey=${this.apiKey}`,\n { ...options }\n )\n return axiosResponse.data\n }\n\n public async messagingProtocols(\n options?: RequestOptions\n ): Promise<MessagingProtocolsResponse> {\n const axiosResponse =\n await this.httpService.get<MessagingProtocolsResponse>(\n `/basic/meta/messaging-protocols?apiKey=${this.apiKey}`,\n { ...options }\n )\n return axiosResponse.data\n }\n\n public async quote(\n quoteRequest: QuoteRequest,\n options?: RequestOptions\n ): Promise<QuoteResponse> {\n const body = {\n ...quoteRequest,\n from: assetToString(quoteRequest.from),\n to: assetToString(quoteRequest.to),\n swappers:\n !!quoteRequest.swappers && quoteRequest.swappers.length > 0\n ? quoteRequest.swappers.join(',')\n : undefined,\n messagingProtocols:\n !!quoteRequest.messagingProtocols &&\n quoteRequest.messagingProtocols.length > 0\n ? quoteRequest.messagingProtocols.join(',')\n : undefined,\n }\n const axiosResponse = await this.httpService.get<QuoteResponse>(\n `/basic/quote?apiKey=${this.apiKey}`,\n {\n params: body,\n headers: { 'X-Rango-Id': this.deviceId },\n ...options,\n }\n )\n return axiosResponse.data\n }\n\n public async isApproved(\n requestId: string,\n txId: string,\n options?: RequestOptions\n ): Promise<CheckApprovalResponse> {\n const axiosResponse = await this.httpService.get<CheckApprovalResponse>(\n `/basic/is-approved?apiKey=${this.apiKey}`,\n {\n params: { requestId, txId },\n headers: { 'X-Rango-Id': this.deviceId },\n ...options,\n }\n )\n return axiosResponse.data\n }\n\n public async status(\n statusRequest: StatusRequest,\n options?: RequestOptions\n ): Promise<StatusResponse> {\n const axiosResponse = await this.httpService.get<StatusResponse>(\n `/basic/status?apiKey=${this.apiKey}`,\n {\n params: statusRequest,\n headers: { 'X-Rango-Id': this.deviceId },\n ...options,\n }\n )\n return axiosResponse.data\n }\n\n public async swap(\n swapRequest: SwapRequest,\n options?: RequestOptions\n ): Promise<SwapResponse> {\n const body = {\n ...swapRequest,\n from: assetToString(swapRequest.from),\n to: assetToString(swapRequest.to),\n 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 this.httpService.get<SwapResponse>(\n `/basic/swap?apiKey=${this.apiKey}`,\n {\n params: body,\n headers: { 'X-Rango-Id': this.deviceId },\n ...options,\n }\n )\n return axiosResponse.data\n }\n\n public async reportFailure(\n requestBody: ReportTransactionRequest,\n options?: RequestOptions\n ): Promise<void> {\n await this.httpService.post(\n `/basic/report-tx?apiKey=${this.apiKey}`,\n requestBody,\n {\n headers: { 'X-Rango-Id': this.deviceId },\n ...options,\n }\n )\n }\n\n public async balance(\n walletAddress: WalletAddress,\n options?: RequestOptions\n ): Promise<WalletDetailsResponse> {\n const axiosResponse = await this.httpService.get<WalletDetailsResponse>(\n `/basic/balance?apiKey=${this.apiKey}`,\n {\n params: walletAddress,\n headers: { 'X-Rango-Id': this.deviceId },\n ...options,\n }\n )\n return axiosResponse.data\n }\n\n public async executeEvmRoute(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n signer: any,\n route: SwapResponse\n ): Promise<StatusResponse> {\n try {\n return await executeEvmRoute(this, signer as Signer, route)\n } catch (error) {\n const prettifiedError = prettifyError(error)\n try {\n const message = prettifiedError?.message || 'Error executing the route'\n this.reportFailure({\n requestId: route.requestId,\n eventType: 'TX_FAIL',\n reason: message,\n })\n } catch (err) {\n console.log({ err })\n }\n throw prettifiedError\n }\n }\n}\n"],"names":["assetToString","asset","address","blockchain","symbol","blockchainMeta","MetamaskErrorCodes","rpc","invalidInput","resourceNotFound","resourceUnavailable","transactionRejected","methodNotSupported","limitExceeded","parse","invalidRequest","methodNotFound","invalidParams","internal","provider","userRejectedRequest","unauthorized","unsupportedMethod","disconnected","chainDisconnected","sleep","ms","Promise","resolve","setTimeout","prepareEvmTransaction","evmTx","isApprove","gasPrice","startsWith","parseInt","toString","manipulatedTx","tx","from","approveTo","to","approveData","data","txTo","txData","value","gasLimit","checkApprovalSync","_checkApprovalSync","requestId","txId","rangoClient","_context3","isApproved","approvalResponse","txStatus","TransactionStatus","FAILED","console","log","err","checkTransactionStatusSync","_context","status","SUCCESS","includes","executeEvmRoute","client","signer","route","error","resultType","_context2","Error","type","TransactionType","EVM","evmTransaction","txChainId","blockChain","chainId","getChainId","signerChainId","approveTxData","sendTransaction","approveTx","wait","hash","mainTxData","mainTx","prettifyError","code","Object","values","getMessageFromCode","message","_error$message","_error$message2","_error$message3","RangoClient","apiKey","debug","apiUrl","this","window","deviceId","localStorage","getItem","generatedId","uuid","setItem","e","httpService","axios","create","baseURL","interceptors","request","use","JSON","stringify","response","_proto","meta","options","get","chains","swappers","messagingProtocols","_context4","quote","quoteRequest","body","length","join","undefined","_context5","params","headers","X-Rango-Id","_context6","statusRequest","_context7","swap","swapRequest","_context8","reportFailure","requestBody","_context9","post","balance","walletAddress","_context10","_context11","prettifiedError","eventType","reason"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import uuid from 'uuid-random';
|
|
2
|
-
import axios from 'axios';
|
|
3
2
|
import { getMessageFromCode } from 'eth-rpc-errors';
|
|
3
|
+
import axios from 'axios';
|
|
4
4
|
|
|
5
5
|
function _regeneratorRuntime() {
|
|
6
6
|
_regeneratorRuntime = function () {
|
|
@@ -348,11 +348,6 @@ function _extends() {
|
|
|
348
348
|
return _extends.apply(this, arguments);
|
|
349
349
|
}
|
|
350
350
|
|
|
351
|
-
var baseURL = typeof process !== 'undefined' && process.env.REACT_APP_RANGO_BASE_URL ? process.env.REACT_APP_RANGO_BASE_URL : 'https://api.rango.exchange';
|
|
352
|
-
var httpService = /*#__PURE__*/axios.create({
|
|
353
|
-
baseURL: baseURL
|
|
354
|
-
});
|
|
355
|
-
|
|
356
351
|
function assetToString(asset) {
|
|
357
352
|
if (!!asset.address) return asset.blockchain + "." + asset.symbol + "--" + asset.address;else return asset.blockchain + "." + asset.symbol;
|
|
358
353
|
}
|
|
@@ -714,10 +709,11 @@ var prettifyError = function prettifyError(error) {
|
|
|
714
709
|
};
|
|
715
710
|
|
|
716
711
|
var RangoClient = /*#__PURE__*/function () {
|
|
717
|
-
function RangoClient(apiKey, debug) {
|
|
712
|
+
function RangoClient(apiKey, debug, apiUrl) {
|
|
718
713
|
if (debug === void 0) {
|
|
719
714
|
debug = false;
|
|
720
715
|
}
|
|
716
|
+
this.apiUrl = apiUrl || 'https://api.rango.exchange';
|
|
721
717
|
this.apiKey = apiKey;
|
|
722
718
|
try {
|
|
723
719
|
if (typeof window !== 'undefined') {
|
|
@@ -735,12 +731,15 @@ var RangoClient = /*#__PURE__*/function () {
|
|
|
735
731
|
} catch (e) {
|
|
736
732
|
this.deviceId = uuid();
|
|
737
733
|
}
|
|
734
|
+
this.httpService = axios.create({
|
|
735
|
+
baseURL: this.apiUrl
|
|
736
|
+
});
|
|
738
737
|
if (debug) {
|
|
739
|
-
httpService.interceptors.request.use(function (request) {
|
|
738
|
+
this.httpService.interceptors.request.use(function (request) {
|
|
740
739
|
console.log('Starting Request', JSON.stringify(request, null, 2));
|
|
741
740
|
return request;
|
|
742
741
|
});
|
|
743
|
-
httpService.interceptors.response.use(function (response) {
|
|
742
|
+
this.httpService.interceptors.response.use(function (response) {
|
|
744
743
|
console.log('Response:', JSON.stringify(response, null, 2));
|
|
745
744
|
return response;
|
|
746
745
|
});
|
|
@@ -754,7 +753,7 @@ var RangoClient = /*#__PURE__*/function () {
|
|
|
754
753
|
while (1) switch (_context.prev = _context.next) {
|
|
755
754
|
case 0:
|
|
756
755
|
_context.next = 2;
|
|
757
|
-
return httpService.get("/basic/meta?apiKey=" + this.apiKey, _extends({}, options));
|
|
756
|
+
return this.httpService.get("/basic/meta?apiKey=" + this.apiKey, _extends({}, options));
|
|
758
757
|
case 2:
|
|
759
758
|
axiosResponse = _context.sent;
|
|
760
759
|
return _context.abrupt("return", axiosResponse.data);
|
|
@@ -776,7 +775,7 @@ var RangoClient = /*#__PURE__*/function () {
|
|
|
776
775
|
while (1) switch (_context2.prev = _context2.next) {
|
|
777
776
|
case 0:
|
|
778
777
|
_context2.next = 2;
|
|
779
|
-
return httpService.get("/basic/meta/blockchains?apiKey=" + this.apiKey, _extends({}, options));
|
|
778
|
+
return this.httpService.get("/basic/meta/blockchains?apiKey=" + this.apiKey, _extends({}, options));
|
|
780
779
|
case 2:
|
|
781
780
|
axiosResponse = _context2.sent;
|
|
782
781
|
return _context2.abrupt("return", axiosResponse.data);
|
|
@@ -798,7 +797,7 @@ var RangoClient = /*#__PURE__*/function () {
|
|
|
798
797
|
while (1) switch (_context3.prev = _context3.next) {
|
|
799
798
|
case 0:
|
|
800
799
|
_context3.next = 2;
|
|
801
|
-
return httpService.get("/basic/meta/swappers?apiKey=" + this.apiKey, _extends({}, options));
|
|
800
|
+
return this.httpService.get("/basic/meta/swappers?apiKey=" + this.apiKey, _extends({}, options));
|
|
802
801
|
case 2:
|
|
803
802
|
axiosResponse = _context3.sent;
|
|
804
803
|
return _context3.abrupt("return", axiosResponse.data);
|
|
@@ -820,7 +819,7 @@ var RangoClient = /*#__PURE__*/function () {
|
|
|
820
819
|
while (1) switch (_context4.prev = _context4.next) {
|
|
821
820
|
case 0:
|
|
822
821
|
_context4.next = 2;
|
|
823
|
-
return httpService.get("/basic/meta/messaging-protocols?apiKey=" + this.apiKey, _extends({}, options));
|
|
822
|
+
return this.httpService.get("/basic/meta/messaging-protocols?apiKey=" + this.apiKey, _extends({}, options));
|
|
824
823
|
case 2:
|
|
825
824
|
axiosResponse = _context4.sent;
|
|
826
825
|
return _context4.abrupt("return", axiosResponse.data);
|
|
@@ -848,7 +847,7 @@ var RangoClient = /*#__PURE__*/function () {
|
|
|
848
847
|
messagingProtocols: !!quoteRequest.messagingProtocols && quoteRequest.messagingProtocols.length > 0 ? quoteRequest.messagingProtocols.join(',') : undefined
|
|
849
848
|
});
|
|
850
849
|
_context5.next = 3;
|
|
851
|
-
return httpService.get("/basic/quote?apiKey=" + this.apiKey, _extends({
|
|
850
|
+
return this.httpService.get("/basic/quote?apiKey=" + this.apiKey, _extends({
|
|
852
851
|
params: body,
|
|
853
852
|
headers: {
|
|
854
853
|
'X-Rango-Id': this.deviceId
|
|
@@ -875,7 +874,7 @@ var RangoClient = /*#__PURE__*/function () {
|
|
|
875
874
|
while (1) switch (_context6.prev = _context6.next) {
|
|
876
875
|
case 0:
|
|
877
876
|
_context6.next = 2;
|
|
878
|
-
return httpService.get("/basic/is-approved?apiKey=" + this.apiKey, _extends({
|
|
877
|
+
return this.httpService.get("/basic/is-approved?apiKey=" + this.apiKey, _extends({
|
|
879
878
|
params: {
|
|
880
879
|
requestId: requestId,
|
|
881
880
|
txId: txId
|
|
@@ -905,7 +904,7 @@ var RangoClient = /*#__PURE__*/function () {
|
|
|
905
904
|
while (1) switch (_context7.prev = _context7.next) {
|
|
906
905
|
case 0:
|
|
907
906
|
_context7.next = 2;
|
|
908
|
-
return httpService.get("/basic/status?apiKey=" + this.apiKey, _extends({
|
|
907
|
+
return this.httpService.get("/basic/status?apiKey=" + this.apiKey, _extends({
|
|
909
908
|
params: statusRequest,
|
|
910
909
|
headers: {
|
|
911
910
|
'X-Rango-Id': this.deviceId
|
|
@@ -938,7 +937,7 @@ var RangoClient = /*#__PURE__*/function () {
|
|
|
938
937
|
messagingProtocols: !!swapRequest.messagingProtocols && swapRequest.messagingProtocols.length > 0 ? swapRequest.messagingProtocols.join(',') : undefined
|
|
939
938
|
});
|
|
940
939
|
_context8.next = 3;
|
|
941
|
-
return httpService.get("/basic/swap?apiKey=" + this.apiKey, _extends({
|
|
940
|
+
return this.httpService.get("/basic/swap?apiKey=" + this.apiKey, _extends({
|
|
942
941
|
params: body,
|
|
943
942
|
headers: {
|
|
944
943
|
'X-Rango-Id': this.deviceId
|
|
@@ -964,7 +963,7 @@ var RangoClient = /*#__PURE__*/function () {
|
|
|
964
963
|
while (1) switch (_context9.prev = _context9.next) {
|
|
965
964
|
case 0:
|
|
966
965
|
_context9.next = 2;
|
|
967
|
-
return httpService.post("/basic/report-tx?apiKey=" + this.apiKey, requestBody, _extends({
|
|
966
|
+
return this.httpService.post("/basic/report-tx?apiKey=" + this.apiKey, requestBody, _extends({
|
|
968
967
|
headers: {
|
|
969
968
|
'X-Rango-Id': this.deviceId
|
|
970
969
|
}
|
|
@@ -987,7 +986,7 @@ var RangoClient = /*#__PURE__*/function () {
|
|
|
987
986
|
while (1) switch (_context10.prev = _context10.next) {
|
|
988
987
|
case 0:
|
|
989
988
|
_context10.next = 2;
|
|
990
|
-
return httpService.get("/basic/balance?apiKey=" + this.apiKey, _extends({
|
|
989
|
+
return this.httpService.get("/basic/balance?apiKey=" + this.apiKey, _extends({
|
|
991
990
|
params: walletAddress,
|
|
992
991
|
headers: {
|
|
993
992
|
'X-Rango-Id': this.deviceId
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rango-sdk-basic.esm.js","sources":["../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":["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 uuid from 'uuid-random'\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 SwapperMeta,\n RequestOptions,\n MessagingProtocolsResponse,\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 = uuid()\n localStorage.setItem('deviceId', generatedId)\n this.deviceId = generatedId\n }\n } else {\n this.deviceId = uuid()\n }\n } catch (e) {\n this.deviceId = uuid()\n }\n 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(options?: RequestOptions): Promise<MetaResponse> {\n const axiosResponse = await httpService.get<MetaResponse>(\n `/basic/meta?apiKey=${this.apiKey}`,\n { ...options }\n )\n return axiosResponse.data\n }\n\n public async chains(options?: RequestOptions): Promise<BlockchainMeta[]> {\n const axiosResponse = await httpService.get<BlockchainMeta[]>(\n `/basic/meta/blockchains?apiKey=${this.apiKey}`,\n { ...options }\n )\n return axiosResponse.data\n }\n\n public async swappers(options?: RequestOptions): Promise<SwapperMeta[]> {\n const axiosResponse = await httpService.get<SwapperMeta[]>(\n `/basic/meta/swappers?apiKey=${this.apiKey}`,\n { ...options }\n )\n return axiosResponse.data\n }\n\n public async messagingProtocols(\n options?: RequestOptions\n ): Promise<MessagingProtocolsResponse> {\n const axiosResponse = await httpService.get<MessagingProtocolsResponse>(\n `/basic/meta/messaging-protocols?apiKey=${this.apiKey}`,\n { ...options }\n )\n return axiosResponse.data\n }\n\n public async quote(\n quoteRequest: QuoteRequest,\n options?: RequestOptions\n ): Promise<QuoteResponse> {\n const body = {\n ...quoteRequest,\n from: assetToString(quoteRequest.from),\n to: assetToString(quoteRequest.to),\n swappers:\n !!quoteRequest.swappers && quoteRequest.swappers.length > 0\n ? quoteRequest.swappers.join(',')\n : undefined,\n 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 ...options,\n }\n )\n return axiosResponse.data\n }\n\n public async isApproved(\n requestId: string,\n txId: string,\n options?: RequestOptions\n ): Promise<CheckApprovalResponse> {\n const axiosResponse = await httpService.get<CheckApprovalResponse>(\n `/basic/is-approved?apiKey=${this.apiKey}`,\n {\n params: { requestId, txId },\n headers: { 'X-Rango-Id': this.deviceId },\n ...options,\n }\n )\n return axiosResponse.data\n }\n\n public async status(\n statusRequest: StatusRequest,\n options?: RequestOptions\n ): Promise<StatusResponse> {\n const axiosResponse = await httpService.get<StatusResponse>(\n `/basic/status?apiKey=${this.apiKey}`,\n {\n params: statusRequest,\n headers: { 'X-Rango-Id': this.deviceId },\n ...options,\n }\n )\n return axiosResponse.data\n }\n\n public async swap(\n swapRequest: SwapRequest,\n options?: RequestOptions\n ): Promise<SwapResponse> {\n const body = {\n ...swapRequest,\n from: assetToString(swapRequest.from),\n to: assetToString(swapRequest.to),\n 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 ...options,\n }\n )\n return axiosResponse.data\n }\n\n public async reportFailure(\n requestBody: ReportTransactionRequest,\n options?: RequestOptions\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 ...options,\n }\n )\n }\n\n public async balance(\n walletAddress: WalletAddress,\n options?: RequestOptions\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 ...options,\n }\n )\n return axiosResponse.data\n }\n\n public async executeEvmRoute(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n signer: any,\n route: SwapResponse\n ): Promise<StatusResponse> {\n try {\n return await executeEvmRoute(this, signer as Signer, route)\n } catch (error) {\n const prettifiedError = prettifyError(error)\n try {\n const message = prettifiedError?.message || 'Error executing the route'\n this.reportFailure({\n requestId: route.requestId,\n eventType: 'TX_FAIL',\n reason: message,\n })\n } catch (err) {\n console.log({ err })\n }\n throw prettifiedError\n }\n }\n}\n"],"names":["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","toString","manipulatedTx","tx","from","approveTo","to","approveData","data","txTo","txData","value","gasLimit","checkApprovalSync","requestId","txId","rangoClient","isApproved","approvalResponse","txStatus","TransactionStatus","FAILED","console","log","err","checkTransactionStatusSync","status","SUCCESS","includes","executeEvmRoute","client","signer","route","error","resultType","Error","type","TransactionType","EVM","evmTransaction","txChainId","blockChain","chainId","getChainId","signerChainId","approveTxData","sendTransaction","approveTx","wait","hash","mainTxData","mainTx","prettifyError","code","Object","values","getMessageFromCode","message","RangoClient","apiKey","debug","window","deviceId","localStorage","getItem","generatedId","uuid","setItem","e","interceptors","request","use","JSON","stringify","response","meta","options","get","axiosResponse","chains","swappers","messagingProtocols","quote","quoteRequest","body","length","join","undefined","params","headers","statusRequest","swap","swapRequest","reportFailure","requestBody","post","balance","walletAddress","prettifiedError","eventType","reason"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rango-sdk-basic.esm.js","sources":["../src/types/api/common.ts","../../../node_modules/rango-types/src/api/shared/type-gaurds.ts","../../../node_modules/rango-types/src/api/shared/routing.ts","../../../node_modules/rango-types/src/api/shared/transactions.ts","../src/types/utils/errors.ts","../src/utils/promise.ts","../src/services/executor.ts","../src/utils/errors.ts","../src/services/client.ts"],"sourcesContent":["import { Asset } from 'rango-types/lib/api/basic'\nexport * from 'rango-types/lib/api/basic/common'\n\nexport function assetToString(asset: Asset): string {\n if (!!asset.address)\n return `${asset.blockchain}.${asset.symbol}--${asset.address}`\n else return `${asset.blockchain}.${asset.symbol}`\n}\n",null,null,null,"export const MetamaskErrorCodes = {\n rpc: {\n invalidInput: -32000,\n resourceNotFound: -32001,\n resourceUnavailable: -32002,\n transactionRejected: -32003,\n methodNotSupported: -32004,\n limitExceeded: -32005,\n parse: -32700,\n invalidRequest: -32600,\n methodNotFound: -32601,\n invalidParams: -32602,\n internal: -32603,\n },\n provider: {\n userRejectedRequest: 4001,\n unauthorized: 4100,\n unsupportedMethod: 4200,\n disconnected: 4900,\n chainDisconnected: 4901,\n },\n}\n","export function sleep(ms: number) {\n return new Promise((resolve) => setTimeout(resolve, ms))\n}\n","import { Signer } from 'ethers'\nimport { RangoClient } from './client'\nimport { EvmTransaction } from '../types/api/txs'\nimport {\n StatusResponse,\n SwapResponse,\n TransactionStatus,\n TransactionType,\n} from '../types/api/transactions'\nimport { sleep } from '../utils/promise'\n\nexport function prepareEvmTransaction(\n evmTx: EvmTransaction,\n isApprove: boolean\n) {\n const gasPrice =\n !!evmTx.gasPrice && !evmTx.gasPrice.startsWith('0x')\n ? '0x' + parseInt(evmTx.gasPrice).toString(16)\n : null\n const manipulatedTx = {\n ...evmTx,\n gasPrice,\n }\n let tx = {}\n if (!!manipulatedTx.from) tx = { ...tx, from: manipulatedTx.from }\n if (isApprove) {\n if (!!manipulatedTx.approveTo) tx = { ...tx, to: manipulatedTx.approveTo }\n if (!!manipulatedTx.approveData)\n tx = { ...tx, data: manipulatedTx.approveData }\n } else {\n if (!!manipulatedTx.txTo) tx = { ...tx, to: manipulatedTx.txTo }\n if (!!manipulatedTx.txData) tx = { ...tx, data: manipulatedTx.txData }\n if (!!manipulatedTx.value) tx = { ...tx, value: manipulatedTx.value }\n if (!!manipulatedTx.gasLimit)\n tx = { ...tx, gasLimit: manipulatedTx.gasLimit }\n if (!!manipulatedTx.gasPrice)\n tx = { ...tx, gasPrice: manipulatedTx.gasPrice }\n }\n return tx\n}\n\nasync function checkApprovalSync(\n requestId: string,\n txId: string,\n rangoClient: RangoClient\n): Promise<boolean> {\n while (true) {\n try {\n const approvalResponse = await rangoClient.isApproved(requestId, txId)\n if (approvalResponse?.isApproved) return true\n if (\n !approvalResponse?.isApproved &&\n approvalResponse?.txStatus === TransactionStatus.FAILED\n )\n return false\n } catch (err) {\n console.log('ignorinig error', { err })\n }\n await sleep(3_000)\n }\n}\n\nexport const checkTransactionStatusSync = async (\n requestId: string,\n txId: string,\n rangoClient: RangoClient\n) => {\n let txStatus: StatusResponse | undefined\n while (true) {\n try {\n txStatus = await rangoClient.status({\n requestId,\n txId,\n })\n } catch (err) {\n console.log('ignorinig error', { err })\n }\n if (!!txStatus) {\n if (\n !!txStatus.status &&\n [TransactionStatus.FAILED, TransactionStatus.SUCCESS].includes(\n txStatus.status\n )\n ) {\n return txStatus\n }\n }\n await sleep(3_000)\n }\n}\n\nexport const executeEvmRoute = async (\n client: RangoClient,\n signer: Signer,\n route: SwapResponse\n): Promise<StatusResponse> => {\n const { tx, requestId, error, resultType } = route\n if (resultType != 'OK') throw new Error(resultType)\n if (!!error || !tx)\n throw new Error(error || 'Error creating the transaction.')\n if (tx?.type !== TransactionType.EVM)\n throw new Error('Non Evm transactions are not supported yet.')\n const evmTransaction = tx as EvmTransaction\n if (!evmTransaction) throw new Error('Transaction is null. Please try again!')\n const txChainId = parseInt(evmTransaction.blockChain.chainId || '-1')\n let signerChainId = await signer.getChainId()\n if (signerChainId !== txChainId) {\n throw new Error(\n `Signer chainId ${signerChainId} doesn't match required chainId ${txChainId}.`\n )\n }\n if (!!evmTransaction.approveTo && !!evmTransaction.approveData) {\n const approveTxData = prepareEvmTransaction(evmTransaction, true)\n const approveTx = await signer.sendTransaction(approveTxData)\n approveTx.wait()\n const isApproved = await checkApprovalSync(\n requestId,\n approveTx.hash,\n client\n )\n if (!isApproved) throw new Error('Error in approve transaction.')\n }\n signerChainId = await signer.getChainId()\n if (signerChainId !== txChainId) {\n throw new Error(\n `Signer chainId ${signerChainId} doesn't match required chainId ${txChainId}.`\n )\n }\n const mainTxData = prepareEvmTransaction(evmTransaction, false)\n const mainTx = await signer.sendTransaction(mainTxData)\n mainTx.wait()\n const status = await checkTransactionStatusSync(\n requestId,\n mainTx.hash,\n client\n )\n if (status.status !== TransactionStatus.SUCCESS)\n throw new Error(`Cross-chain swap failed. ${status.error || ''}`)\n return status\n}\n","import { getMessageFromCode } from 'eth-rpc-errors'\nimport { MetamaskErrorCodes } from '../types/utils/errors'\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const prettifyError = (error: any) => {\n if (!error) return error\n if (error.code && (error.code === 'ACTION_REJECTED' || error.code === 4001))\n return new Error('Transaction Rejected')\n if (error && typeof error.code === 'number') {\n if (Object.values(MetamaskErrorCodes.provider).includes(error.code)) {\n return new Error(getMessageFromCode(error.code))\n }\n if (Object.values(MetamaskErrorCodes.rpc).includes(error.code)) {\n if (\n error.code === MetamaskErrorCodes.rpc.internal &&\n error.message?.includes('underpriced')\n )\n return new Error('Transaction underpriced')\n if (\n error.message?.includes('intrinsic gas too low') ||\n error.message?.includes('out of gas')\n )\n return new Error('This Gas limit is low.')\n return new Error(getMessageFromCode(error.code))\n }\n }\n if (error.message) return new Error(error.message)\n return error\n}\n","import uuid from 'uuid-random'\n\nimport {\n MetaResponse,\n QuoteRequest,\n QuoteResponse,\n CheckApprovalResponse,\n StatusRequest,\n StatusResponse,\n SwapRequest,\n SwapResponse,\n ReportTransactionRequest,\n WalletDetailsResponse,\n assetToString,\n BlockchainMeta,\n SwapperMeta,\n RequestOptions,\n MessagingProtocolsResponse,\n} from '../types'\nimport { Signer } from 'ethers'\nimport { executeEvmRoute as executeEvmRoute } from './executor'\nimport { prettifyError } from '../utils/errors'\nimport axios, { AxiosInstance } from 'axios'\n\ntype WalletAddress = { blockchain: string; address: string }\n\nexport class RangoClient {\n private readonly deviceId: string\n private readonly apiKey: string\n private readonly apiUrl: string\n private readonly httpService: AxiosInstance\n\n constructor(apiKey: string, debug = false, apiUrl?: string) {\n this.apiUrl = apiUrl || 'https://api.rango.exchange'\n this.apiKey = apiKey\n try {\n if (typeof window !== 'undefined') {\n const deviceId = localStorage.getItem('deviceId')\n if (deviceId) {\n this.deviceId = deviceId\n } else {\n const generatedId = uuid()\n localStorage.setItem('deviceId', generatedId)\n this.deviceId = generatedId\n }\n } else {\n this.deviceId = uuid()\n }\n } catch (e) {\n this.deviceId = uuid()\n }\n this.httpService = axios.create({\n baseURL: this.apiUrl,\n })\n if (debug) {\n this.httpService.interceptors.request.use((request) => {\n console.log('Starting Request', JSON.stringify(request, null, 2))\n return request\n })\n this.httpService.interceptors.response.use((response) => {\n console.log('Response:', JSON.stringify(response, null, 2))\n return response\n })\n }\n }\n\n public async meta(options?: RequestOptions): Promise<MetaResponse> {\n const axiosResponse = await this.httpService.get<MetaResponse>(\n `/basic/meta?apiKey=${this.apiKey}`,\n { ...options }\n )\n return axiosResponse.data\n }\n\n public async chains(options?: RequestOptions): Promise<BlockchainMeta[]> {\n const axiosResponse = await this.httpService.get<BlockchainMeta[]>(\n `/basic/meta/blockchains?apiKey=${this.apiKey}`,\n { ...options }\n )\n return axiosResponse.data\n }\n\n public async swappers(options?: RequestOptions): Promise<SwapperMeta[]> {\n const axiosResponse = await this.httpService.get<SwapperMeta[]>(\n `/basic/meta/swappers?apiKey=${this.apiKey}`,\n { ...options }\n )\n return axiosResponse.data\n }\n\n public async messagingProtocols(\n options?: RequestOptions\n ): Promise<MessagingProtocolsResponse> {\n const axiosResponse =\n await this.httpService.get<MessagingProtocolsResponse>(\n `/basic/meta/messaging-protocols?apiKey=${this.apiKey}`,\n { ...options }\n )\n return axiosResponse.data\n }\n\n public async quote(\n quoteRequest: QuoteRequest,\n options?: RequestOptions\n ): Promise<QuoteResponse> {\n const body = {\n ...quoteRequest,\n from: assetToString(quoteRequest.from),\n to: assetToString(quoteRequest.to),\n swappers:\n !!quoteRequest.swappers && quoteRequest.swappers.length > 0\n ? quoteRequest.swappers.join(',')\n : undefined,\n messagingProtocols:\n !!quoteRequest.messagingProtocols &&\n quoteRequest.messagingProtocols.length > 0\n ? quoteRequest.messagingProtocols.join(',')\n : undefined,\n }\n const axiosResponse = await this.httpService.get<QuoteResponse>(\n `/basic/quote?apiKey=${this.apiKey}`,\n {\n params: body,\n headers: { 'X-Rango-Id': this.deviceId },\n ...options,\n }\n )\n return axiosResponse.data\n }\n\n public async isApproved(\n requestId: string,\n txId: string,\n options?: RequestOptions\n ): Promise<CheckApprovalResponse> {\n const axiosResponse = await this.httpService.get<CheckApprovalResponse>(\n `/basic/is-approved?apiKey=${this.apiKey}`,\n {\n params: { requestId, txId },\n headers: { 'X-Rango-Id': this.deviceId },\n ...options,\n }\n )\n return axiosResponse.data\n }\n\n public async status(\n statusRequest: StatusRequest,\n options?: RequestOptions\n ): Promise<StatusResponse> {\n const axiosResponse = await this.httpService.get<StatusResponse>(\n `/basic/status?apiKey=${this.apiKey}`,\n {\n params: statusRequest,\n headers: { 'X-Rango-Id': this.deviceId },\n ...options,\n }\n )\n return axiosResponse.data\n }\n\n public async swap(\n swapRequest: SwapRequest,\n options?: RequestOptions\n ): Promise<SwapResponse> {\n const body = {\n ...swapRequest,\n from: assetToString(swapRequest.from),\n to: assetToString(swapRequest.to),\n 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 this.httpService.get<SwapResponse>(\n `/basic/swap?apiKey=${this.apiKey}`,\n {\n params: body,\n headers: { 'X-Rango-Id': this.deviceId },\n ...options,\n }\n )\n return axiosResponse.data\n }\n\n public async reportFailure(\n requestBody: ReportTransactionRequest,\n options?: RequestOptions\n ): Promise<void> {\n await this.httpService.post(\n `/basic/report-tx?apiKey=${this.apiKey}`,\n requestBody,\n {\n headers: { 'X-Rango-Id': this.deviceId },\n ...options,\n }\n )\n }\n\n public async balance(\n walletAddress: WalletAddress,\n options?: RequestOptions\n ): Promise<WalletDetailsResponse> {\n const axiosResponse = await this.httpService.get<WalletDetailsResponse>(\n `/basic/balance?apiKey=${this.apiKey}`,\n {\n params: walletAddress,\n headers: { 'X-Rango-Id': this.deviceId },\n ...options,\n }\n )\n return axiosResponse.data\n }\n\n public async executeEvmRoute(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n signer: any,\n route: SwapResponse\n ): Promise<StatusResponse> {\n try {\n return await executeEvmRoute(this, signer as Signer, route)\n } catch (error) {\n const prettifiedError = prettifyError(error)\n try {\n const message = prettifiedError?.message || 'Error executing the route'\n this.reportFailure({\n requestId: route.requestId,\n eventType: 'TX_FAIL',\n reason: message,\n })\n } catch (err) {\n console.log({ err })\n }\n throw prettifiedError\n }\n }\n}\n"],"names":["assetToString","asset","address","blockchain","symbol","blockchainMeta","MetamaskErrorCodes","rpc","invalidInput","resourceNotFound","resourceUnavailable","transactionRejected","methodNotSupported","limitExceeded","parse","invalidRequest","methodNotFound","invalidParams","internal","provider","userRejectedRequest","unauthorized","unsupportedMethod","disconnected","chainDisconnected","sleep","ms","Promise","resolve","setTimeout","prepareEvmTransaction","evmTx","isApprove","gasPrice","startsWith","parseInt","toString","manipulatedTx","tx","from","approveTo","to","approveData","data","txTo","txData","value","gasLimit","checkApprovalSync","requestId","txId","rangoClient","isApproved","approvalResponse","txStatus","TransactionStatus","FAILED","console","log","err","checkTransactionStatusSync","status","SUCCESS","includes","executeEvmRoute","client","signer","route","error","resultType","Error","type","TransactionType","EVM","evmTransaction","txChainId","blockChain","chainId","getChainId","signerChainId","approveTxData","sendTransaction","approveTx","wait","hash","mainTxData","mainTx","prettifyError","code","Object","values","getMessageFromCode","message","RangoClient","apiKey","debug","apiUrl","window","deviceId","localStorage","getItem","generatedId","uuid","setItem","e","httpService","axios","create","baseURL","interceptors","request","use","JSON","stringify","response","meta","options","get","axiosResponse","chains","swappers","messagingProtocols","quote","quoteRequest","body","length","join","undefined","params","headers","statusRequest","swap","swapRequest","reportFailure","requestBody","post","balance","walletAddress","prettifiedError","eventType","reason"],"mappings":"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"}
|
package/lib/services/client.d.ts
CHANGED
|
@@ -6,7 +6,9 @@ declare type WalletAddress = {
|
|
|
6
6
|
export declare class RangoClient {
|
|
7
7
|
private readonly deviceId;
|
|
8
8
|
private readonly apiKey;
|
|
9
|
-
|
|
9
|
+
private readonly apiUrl;
|
|
10
|
+
private readonly httpService;
|
|
11
|
+
constructor(apiKey: string, debug?: boolean, apiUrl?: string);
|
|
10
12
|
meta(options?: RequestOptions): Promise<MetaResponse>;
|
|
11
13
|
chains(options?: RequestOptions): Promise<BlockchainMeta[]>;
|
|
12
14
|
swappers(options?: RequestOptions): Promise<SwapperMeta[]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/services/client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/services/client.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,qBAAqB,EACrB,aAAa,EACb,cAAc,EACd,WAAW,EACX,YAAY,EACZ,wBAAwB,EACxB,qBAAqB,EAErB,cAAc,EACd,WAAW,EACX,cAAc,EACd,0BAA0B,EAC3B,MAAM,UAAU,CAAA;AAMjB,aAAK,aAAa,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAA;AAE5D,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAe;gBAE/B,MAAM,EAAE,MAAM,EAAE,KAAK,UAAQ,EAAE,MAAM,CAAC,EAAE,MAAM;IAkC7C,IAAI,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC;IAQrD,MAAM,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAQ3D,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAQ1D,kBAAkB,CAC7B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,0BAA0B,CAAC;IASzB,KAAK,CAChB,YAAY,EAAE,YAAY,EAC1B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,aAAa,CAAC;IA0BZ,UAAU,CACrB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,qBAAqB,CAAC;IAYpB,MAAM,CACjB,aAAa,EAAE,aAAa,EAC5B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,cAAc,CAAC;IAYb,IAAI,CACf,WAAW,EAAE,WAAW,EACxB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,YAAY,CAAC;IA0BX,aAAa,CACxB,WAAW,EAAE,wBAAwB,EACrC,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,IAAI,CAAC;IAWH,OAAO,CAClB,aAAa,EAAE,aAAa,EAC5B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,qBAAqB,CAAC;IAYpB,eAAe,CAE1B,MAAM,EAAE,GAAG,EACX,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,cAAc,CAAC;CAkB3B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rango-sdk-basic",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.14",
|
|
4
4
|
"description": "Rango Exchange Basic SDK for dApps",
|
|
5
5
|
"module": "lib/rango-sdk-basic.esm.js",
|
|
6
6
|
"main": "lib/index.js",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"bignumber.js": "^9.1.1",
|
|
45
45
|
"eth-rpc-errors": "^4.0.3",
|
|
46
46
|
"ethers": "^5.7.2",
|
|
47
|
-
"rango-types": "^0.1.
|
|
47
|
+
"rango-types": "^0.1.15",
|
|
48
48
|
"uuid-random": "^1.3.2"
|
|
49
49
|
},
|
|
50
50
|
"publishConfig": {
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"httpService.d.ts","sourceRoot":"","sources":["../src/services/httpService.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,WAAW,+BAEtB,CAAA"}
|