@axelar-network/axelarjs-sdk 0.11.7 → 0.12.0-alpha.1
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/dist/src/chains/types/index.d.ts +3 -1
- package/dist/src/chains/types/index.d.ts.map +1 -1
- package/dist/src/chains/types/index.js.map +1 -1
- package/dist/src/constants/index.js +2 -2
- package/dist/src/libs/AxelarAssetTransfer.d.ts +22 -10
- package/dist/src/libs/AxelarAssetTransfer.d.ts.map +1 -1
- package/dist/src/libs/AxelarAssetTransfer.js +57 -12
- package/dist/src/libs/AxelarAssetTransfer.js.map +1 -1
- package/dist/src/libs/AxelarQueryAPI.d.ts +12 -12
- package/dist/src/libs/AxelarQueryAPI.d.ts.map +1 -1
- package/dist/src/libs/AxelarQueryAPI.js +42 -42
- package/dist/src/libs/AxelarQueryAPI.js.map +1 -1
- package/dist/src/libs/TransactionRecoveryApi/AxelarDepositRecoveryAPI.d.ts.map +1 -1
- package/dist/src/libs/TransactionRecoveryApi/AxelarDepositRecoveryAPI.js +4 -2
- package/dist/src/libs/TransactionRecoveryApi/AxelarDepositRecoveryAPI.js.map +1 -1
- package/dist/src/libs/TransactionRecoveryApi/AxelarGMPRecoveryAPI.d.ts +2 -2
- package/dist/src/libs/TransactionRecoveryApi/AxelarGMPRecoveryAPI.d.ts.map +1 -1
- package/dist/src/libs/TransactionRecoveryApi/AxelarGMPRecoveryAPI.js +11 -1
- package/dist/src/libs/TransactionRecoveryApi/AxelarGMPRecoveryAPI.js.map +1 -1
- package/dist/src/libs/TransactionRecoveryApi/AxelarRecoveryApi.d.ts +8 -8
- package/dist/src/libs/TransactionRecoveryApi/AxelarRecoveryApi.d.ts.map +1 -1
- package/dist/src/libs/TransactionRecoveryApi/AxelarRecoveryApi.js +27 -21
- package/dist/src/libs/TransactionRecoveryApi/AxelarRecoveryApi.js.map +1 -1
- package/dist/src/libs/TransactionRecoveryApi/client/EVMClient/index.js +1 -1
- package/dist/src/libs/TransactionRecoveryApi/client/EVMClient/index.js.map +1 -1
- package/dist/src/libs/TransactionRecoveryApi/constants/chain/testnet.d.ts +2 -2
- package/dist/src/libs/TransactionRecoveryApi/constants/chain/testnet.d.ts.map +1 -1
- package/dist/src/libs/TransactionRecoveryApi/constants/chain/testnet.js +3 -3
- package/dist/src/libs/TransactionRecoveryApi/constants/chain/testnet.js.map +1 -1
- package/dist/src/libs/TransactionRecoveryApi/helpers/contractEventHelper.d.ts +7 -0
- package/dist/src/libs/TransactionRecoveryApi/helpers/contractEventHelper.d.ts.map +1 -1
- package/dist/src/libs/TransactionRecoveryApi/helpers/contractEventHelper.js +75 -10
- package/dist/src/libs/TransactionRecoveryApi/helpers/contractEventHelper.js.map +1 -1
- package/dist/src/libs/TransactionRecoveryApi/helpers/providerHelper.d.ts +1 -2
- package/dist/src/libs/TransactionRecoveryApi/helpers/providerHelper.d.ts.map +1 -1
- package/dist/src/libs/TransactionRecoveryApi/helpers/providerHelper.js.map +1 -1
- package/dist/src/libs/types/index.d.ts +1 -1
- package/dist/src/libs/types/index.d.ts.map +1 -1
- package/dist/src/libs/types/index.js +7 -7
- package/dist/src/libs/types/index.js.map +1 -1
- package/dist/src/services/SocketService.d.ts.map +1 -1
- package/dist/src/services/SocketService.js +25 -23
- package/dist/src/services/SocketService.js.map +1 -1
- package/dist/src/utils/asyncRetry.js +3 -3
- package/dist/src/utils/asyncRetry.js.map +1 -1
- package/dist/src/utils/validateChain.d.ts +1 -0
- package/dist/src/utils/validateChain.d.ts.map +1 -1
- package/dist/src/utils/validateChain.js +10 -1
- package/dist/src/utils/validateChain.js.map +1 -1
- package/package.json +2 -2
|
@@ -11,7 +11,8 @@ export interface AssetAndChainInfo {
|
|
|
11
11
|
destinationChainInfo: ChainInfo;
|
|
12
12
|
}
|
|
13
13
|
export interface ChainInfo {
|
|
14
|
-
|
|
14
|
+
id: string;
|
|
15
|
+
assets: AssetInfo[];
|
|
15
16
|
chainSymbol: string;
|
|
16
17
|
chainName: string;
|
|
17
18
|
fullySupported: boolean;
|
|
@@ -24,6 +25,7 @@ export interface ChainInfo {
|
|
|
24
25
|
testnet: string;
|
|
25
26
|
mainnet: string;
|
|
26
27
|
};
|
|
28
|
+
nativeAsset: string[];
|
|
27
29
|
addressPrefix: string;
|
|
28
30
|
}
|
|
29
31
|
export interface AssetTransferObject {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/chains/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,MAAM,WAAW,KAAK;IACpB,SAAS,EAAE,SAAS,CAAC;IACrB,eAAe,EAAE,CAAC,kBAAkB,EAAE,MAAM,KAAK,OAAO,CAAC;CAC1D;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,iBAAiB,CAAC;IAC7B,eAAe,EAAE,SAAS,CAAC;IAC3B,oBAAoB,EAAE,SAAS,CAAC;CACjC;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/chains/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,MAAM,WAAW,KAAK;IACpB,SAAS,EAAE,SAAS,CAAC;IACrB,eAAe,EAAE,CAAC,kBAAkB,EAAE,MAAM,KAAK,OAAO,CAAC;CAC1D;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,iBAAiB,CAAC;IAC7B,eAAe,EAAE,SAAS,CAAC;IAC3B,oBAAoB,EAAE,SAAS,CAAC;CACjC;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,WAAW,GAAG,KAAK,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE;QACf,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB;IAClC,eAAe,EAAE,SAAS,CAAC;IAC3B,oBAAoB,EAAE,SAAS,CAAC;IAChC,mBAAmB,EAAE,SAAS,CAAC;IAC/B,wBAAwB,EAAE,SAAS,CAAC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,kBAAmB,SAAQ,SAAS;IACnD,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;CACtB;AAED,MAAM,WAAW,iBAAkB,SAAQ,SAAS;IAClD,iBAAiB,EAAE,mBAAmB,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,oBAAY,QAAQ;IAClB,GAAG,oCAAoC;IACvC,GAAG,0CAA0C;CAC9C;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,QAAQ,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,kBAAmB,SAAQ,eAAe;IACzD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAmB,SAAQ,eAAe;IACzD,KAAK,EAAE,MAAM,CAAC;CACf;AAGD,oBAAY,mBAAmB;IAE7B,IAAI,SAAS;IACb,gBAAgB,qBAAqB;IACrC,iBAAiB,sBAAsB;CACxC;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,mBAAmB,CAAC;CAC5B;AAED,oBAAY,eAAe,GAAG;IAC5B,WAAW,EAAE,WAAW,CAAC;CAC1B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/chains/types/index.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/chains/types/index.ts"],"names":[],"mappings":";;;AAuDA,IAAY,QAGX;AAHD,WAAY,QAAQ;IAClB,mDAAuC,CAAA;IACvC,yDAA6C,CAAA;AAC/C,CAAC,EAHW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAGnB;AAiBD,2CAA2C;AAC3C,IAAY,mBAKX;AALD,WAAY,mBAAmB;IAC7B,wCAAwC;IACxC,oCAAa,CAAA;IACb,4DAAqC,CAAA;IACrC,8DAAuC,CAAA;AACzC,CAAC,EALW,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAK9B"}
|
|
@@ -34,8 +34,8 @@ const testnetConfigs = {
|
|
|
34
34
|
};
|
|
35
35
|
const mainnetConfigs = {
|
|
36
36
|
resourceUrl: `https://nest-server-mainnet.axelar.dev`,
|
|
37
|
-
axelarRpcUrl: "https://axelar
|
|
38
|
-
axelarLcdUrl: "https://axelar
|
|
37
|
+
axelarRpcUrl: "https://rpc-axelar.imperator.co",
|
|
38
|
+
axelarLcdUrl: "https://lcd-axelar.imperator.co",
|
|
39
39
|
axelarGMPApiUrl: "https://api.gmp.axelarscan.io",
|
|
40
40
|
depositServiceUrl: "https://deposit-service.mainnet.axelar.dev",
|
|
41
41
|
recoveryApiUrl: "https://axelar-signing-relayer-mainnet.axelar.dev",
|
|
@@ -1,6 +1,17 @@
|
|
|
1
1
|
import { OTC } from "../services/types";
|
|
2
2
|
import { RestService, SocketService } from "../services";
|
|
3
3
|
import { AxelarAssetTransferConfig, Environment } from "./types";
|
|
4
|
+
interface GetDepositAddressParams {
|
|
5
|
+
fromChain: string;
|
|
6
|
+
toChain: string;
|
|
7
|
+
destinationAddress: string;
|
|
8
|
+
asset: string;
|
|
9
|
+
options?: {
|
|
10
|
+
_traceId?: string;
|
|
11
|
+
shouldUnwrapIntoNative: boolean;
|
|
12
|
+
refundAddress: string;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
4
15
|
export declare class AxelarAssetTransfer {
|
|
5
16
|
readonly environment: Environment;
|
|
6
17
|
readonly resourceUrl: string;
|
|
@@ -18,17 +29,17 @@ export declare class AxelarAssetTransfer {
|
|
|
18
29
|
}>;
|
|
19
30
|
validateOfflineDepositAddress(wrapOrUnWrap: "wrap" | "unwrap", fromChain: string, toChain: string, destinationAddress: string, refundAddress: string, hexSalt: string): Promise<string>;
|
|
20
31
|
/**
|
|
21
|
-
*
|
|
22
|
-
* @param fromChain Source chain identifier eg: avalanche, moonbeam ethereum-2, terra-2 ...
|
|
23
|
-
* @param toChain Destination chain identifier eg: avalanche, moonbeam ethereum-2, terra-2 ...
|
|
24
|
-
* @param destinationAddress Address where the asset should be transferred to on the destination chain
|
|
25
|
-
* @param asset Asset denomination eg: uausdc, uaxl ...
|
|
26
|
-
* @param options
|
|
27
|
-
* @
|
|
32
|
+
* @param {Object} requestParams
|
|
33
|
+
* @param {string} requestParams.fromChain - Source chain identifier eg: avalanche, moonbeam ethereum-2, terra-2 ...
|
|
34
|
+
* @param {string} requestParams.toChain - Destination chain identifier eg: avalanche, moonbeam ethereum-2, terra-2 ...
|
|
35
|
+
* @param {string} requestParams.destinationAddress - Address where the asset should be transferred to on the destination chain
|
|
36
|
+
* @param {string} requestParams.asset - Asset denomination eg: uausdc, uaxl ... If the asset specific is native cxy (e.g. ETH, AVAX, etc), the ERC20 version of the asset will appear on the dest chain
|
|
37
|
+
* @param {Object} requestParams.options
|
|
38
|
+
* @param {string} requestParams.options._traceId
|
|
39
|
+
* @param {boolean} requestParams.options.shouldUnwrapIntoNative - when sending wrapped native asset back to its home chain (e.g. WETH back to Ethereum), specify "true" to receive native ETH; otherwise will received ERC20 version
|
|
40
|
+
* @param {string} requestParams.options.refundAddress - recipient where funds can be refunded if wrong ERC20 asset is deposited; ONLY AVAILABLE FOR WRAP/UNWRAP SERVICE
|
|
28
41
|
*/
|
|
29
|
-
getDepositAddress(
|
|
30
|
-
_traceId: string;
|
|
31
|
-
}): Promise<string>;
|
|
42
|
+
getDepositAddress(requestParamsOrFromChain: GetDepositAddressParams | string, _toChain?: string, _destinationAddress?: string, _asset?: string, _options?: any): Promise<string>;
|
|
32
43
|
getOneTimeCode(signerAddress: string, traceId: string): Promise<OTC>;
|
|
33
44
|
getInitRoomId(fromChain: string, toChain: string, destinationAddress: string, asset: string, publicAddress: string, signature: string, traceId: string): Promise<string>;
|
|
34
45
|
getLinkEvent(roomId: string, sourceChain: string, destinationChain: string, destinationAddress: string): Promise<string>;
|
|
@@ -40,4 +51,5 @@ export declare class AxelarAssetTransfer {
|
|
|
40
51
|
getStaticInfo(): Promise<Record<string, any>>;
|
|
41
52
|
validateChainIdentifiers(fromChain: string, toChain: string): Promise<boolean>;
|
|
42
53
|
}
|
|
54
|
+
export {};
|
|
43
55
|
//# sourceMappingURL=AxelarAssetTransfer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AxelarAssetTransfer.d.ts","sourceRoot":"","sources":["../../../src/libs/AxelarAssetTransfer.ts"],"names":[],"mappings":"AAUA,OAAO,EAAsD,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAC5F,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"AxelarAssetTransfer.d.ts","sourceRoot":"","sources":["../../../src/libs/AxelarAssetTransfer.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,10 +20,12 @@ const types_1 = require("../services/types");
|
|
|
20
20
|
const services_1 = require("../services");
|
|
21
21
|
const utils_2 = require("../utils");
|
|
22
22
|
const constants_1 = require("../constants");
|
|
23
|
+
const types_2 = require("./types");
|
|
23
24
|
const DepositReceiver_json_1 = __importDefault(require("../../artifacts/contracts/deposit-service/DepositReceiver.sol/DepositReceiver.json"));
|
|
24
25
|
const ReceiverImplementation_json_1 = __importDefault(require("../../artifacts/contracts/deposit-service/ReceiverImplementation.sol/ReceiverImplementation.json"));
|
|
25
26
|
const s3_1 = __importDefault(require("./TransactionRecoveryApi/constants/s3"));
|
|
26
27
|
const ethers_1 = require("ethers");
|
|
28
|
+
const chains_1 = require("../chains");
|
|
27
29
|
const { HashZero } = ethers_1.constants;
|
|
28
30
|
class AxelarAssetTransfer {
|
|
29
31
|
constructor(config) {
|
|
@@ -41,6 +43,8 @@ class AxelarAssetTransfer {
|
|
|
41
43
|
}
|
|
42
44
|
getDepositAddressForNativeWrap(fromChain, toChain, destinationAddress, refundAddress) {
|
|
43
45
|
return __awaiter(this, void 0, void 0, function* () {
|
|
46
|
+
yield (0, utils_2.isValidChainIdentifier)(fromChain, this.environment);
|
|
47
|
+
yield (0, utils_2.isValidChainIdentifier)(toChain, this.environment);
|
|
44
48
|
refundAddress = refundAddress || (yield this.getGasReceiverContractAddress(fromChain));
|
|
45
49
|
const { address } = yield this.getDepositAddressFromRemote("wrap", fromChain, toChain, destinationAddress, refundAddress, HashZero);
|
|
46
50
|
const expectedAddress = yield this.validateOfflineDepositAddress("wrap", fromChain, toChain, destinationAddress, refundAddress, HashZero);
|
|
@@ -51,6 +55,8 @@ class AxelarAssetTransfer {
|
|
|
51
55
|
}
|
|
52
56
|
getDepositAddressForNativeUnwrap(fromChain, toChain, destinationAddress, refundAddress) {
|
|
53
57
|
return __awaiter(this, void 0, void 0, function* () {
|
|
58
|
+
yield (0, utils_2.isValidChainIdentifier)(fromChain, this.environment);
|
|
59
|
+
yield (0, utils_2.isValidChainIdentifier)(toChain, this.environment);
|
|
54
60
|
refundAddress = refundAddress || (yield this.getGasReceiverContractAddress(fromChain));
|
|
55
61
|
const { address: unwrapAddress } = yield this.getDepositAddressFromRemote("unwrap", undefined, toChain, destinationAddress, refundAddress, HashZero);
|
|
56
62
|
const expectedAddress = yield this.validateOfflineDepositAddress("unwrap", fromChain, toChain, destinationAddress, refundAddress, HashZero);
|
|
@@ -64,7 +70,11 @@ class AxelarAssetTransfer {
|
|
|
64
70
|
getDepositAddressFromRemote(wrapOrUnWrap, fromChain, toChain, destinationAddress, refundAddress, hexSalt) {
|
|
65
71
|
return __awaiter(this, void 0, void 0, function* () {
|
|
66
72
|
const endpoint = wrapOrUnWrap === "wrap" ? "/deposit/wrap" : "/deposit/unwrap";
|
|
67
|
-
|
|
73
|
+
if (fromChain)
|
|
74
|
+
yield (0, utils_2.isValidChainIdentifier)(fromChain, this.environment);
|
|
75
|
+
if (toChain)
|
|
76
|
+
yield (0, utils_2.isValidChainIdentifier)(toChain, this.environment);
|
|
77
|
+
return this.depositServiceApi
|
|
68
78
|
.post(endpoint, {
|
|
69
79
|
salt: hexSalt,
|
|
70
80
|
source_chain: fromChain,
|
|
@@ -78,6 +88,8 @@ class AxelarAssetTransfer {
|
|
|
78
88
|
}
|
|
79
89
|
validateOfflineDepositAddress(wrapOrUnWrap, fromChain, toChain, destinationAddress, refundAddress, hexSalt) {
|
|
80
90
|
return __awaiter(this, void 0, void 0, function* () {
|
|
91
|
+
yield (0, utils_2.isValidChainIdentifier)(fromChain, this.environment);
|
|
92
|
+
yield (0, utils_2.isValidChainIdentifier)(toChain, this.environment);
|
|
81
93
|
const receiverInterface = new utils_1.Interface(ReceiverImplementation_json_1.default.abi);
|
|
82
94
|
const functionData = wrapOrUnWrap === "wrap"
|
|
83
95
|
? receiverInterface.encodeFunctionData("receiveAndSendNative", [
|
|
@@ -97,16 +109,30 @@ class AxelarAssetTransfer {
|
|
|
97
109
|
});
|
|
98
110
|
}
|
|
99
111
|
/**
|
|
100
|
-
*
|
|
101
|
-
* @param fromChain Source chain identifier eg: avalanche, moonbeam ethereum-2, terra-2 ...
|
|
102
|
-
* @param toChain Destination chain identifier eg: avalanche, moonbeam ethereum-2, terra-2 ...
|
|
103
|
-
* @param destinationAddress Address where the asset should be transferred to on the destination chain
|
|
104
|
-
* @param asset Asset denomination eg: uausdc, uaxl ...
|
|
105
|
-
* @param options
|
|
106
|
-
* @
|
|
112
|
+
* @param {Object} requestParams
|
|
113
|
+
* @param {string} requestParams.fromChain - Source chain identifier eg: avalanche, moonbeam ethereum-2, terra-2 ...
|
|
114
|
+
* @param {string} requestParams.toChain - Destination chain identifier eg: avalanche, moonbeam ethereum-2, terra-2 ...
|
|
115
|
+
* @param {string} requestParams.destinationAddress - Address where the asset should be transferred to on the destination chain
|
|
116
|
+
* @param {string} requestParams.asset - Asset denomination eg: uausdc, uaxl ... If the asset specific is native cxy (e.g. ETH, AVAX, etc), the ERC20 version of the asset will appear on the dest chain
|
|
117
|
+
* @param {Object} requestParams.options
|
|
118
|
+
* @param {string} requestParams.options._traceId
|
|
119
|
+
* @param {boolean} requestParams.options.shouldUnwrapIntoNative - when sending wrapped native asset back to its home chain (e.g. WETH back to Ethereum), specify "true" to receive native ETH; otherwise will received ERC20 version
|
|
120
|
+
* @param {string} requestParams.options.refundAddress - recipient where funds can be refunded if wrong ERC20 asset is deposited; ONLY AVAILABLE FOR WRAP/UNWRAP SERVICE
|
|
107
121
|
*/
|
|
108
|
-
getDepositAddress(
|
|
122
|
+
getDepositAddress(requestParamsOrFromChain, _toChain, _destinationAddress, _asset, _options) {
|
|
109
123
|
return __awaiter(this, void 0, void 0, function* () {
|
|
124
|
+
let fromChain, toChain, destinationAddress, asset, options;
|
|
125
|
+
if (typeof requestParamsOrFromChain === "string") {
|
|
126
|
+
fromChain = requestParamsOrFromChain;
|
|
127
|
+
toChain = _toChain;
|
|
128
|
+
destinationAddress = _destinationAddress;
|
|
129
|
+
asset = _asset;
|
|
130
|
+
options = _options;
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
({ fromChain, toChain, destinationAddress, asset, options } =
|
|
134
|
+
requestParamsOrFromChain);
|
|
135
|
+
}
|
|
110
136
|
// use trace ID sent in by invoking user, or otherwise generate a new one
|
|
111
137
|
const traceId = (options === null || options === void 0 ? void 0 : options._traceId) || (0, uuid_1.v4)();
|
|
112
138
|
// validate chain identifiers
|
|
@@ -115,6 +141,21 @@ class AxelarAssetTransfer {
|
|
|
115
141
|
const isDestinationAddressValid = yield (0, utils_2.validateDestinationAddressByChainName)(toChain, destinationAddress, this.environment);
|
|
116
142
|
if (!isDestinationAddressValid)
|
|
117
143
|
throw new Error(`Invalid destination address for chain ${toChain}`);
|
|
144
|
+
const chainList = yield (0, chains_1.loadChains)({ environment: this.environment });
|
|
145
|
+
const srcChainInfo = chainList.find((chainInfo) => chainInfo.id === fromChain.toLowerCase());
|
|
146
|
+
if (!srcChainInfo)
|
|
147
|
+
throw new Error("cannot find chain" + fromChain);
|
|
148
|
+
const destChainInfo = chainList.find((chainInfo) => chainInfo.id === toChain.toLowerCase());
|
|
149
|
+
if (!destChainInfo)
|
|
150
|
+
throw new Error("cannot find chain" + toChain);
|
|
151
|
+
/**if user has selected native cxy, e.g. ETH, AVAX, etc, assume it is to be wrapped into ERC20 on dest chain */
|
|
152
|
+
if ((0, types_2.isNativeToken)(srcChainInfo.chainName.toLowerCase(), asset)) {
|
|
153
|
+
return yield this.getDepositAddressForNativeWrap(fromChain, toChain, destinationAddress, options === null || options === void 0 ? void 0 : options.refundAddress);
|
|
154
|
+
}
|
|
155
|
+
/**if user has selected native cxy wrapped asset, e.g. WETH, WAVAX, and selected to unwrap it */
|
|
156
|
+
if (destChainInfo.nativeAsset.includes(asset) && (options === null || options === void 0 ? void 0 : options.shouldUnwrapIntoNative)) {
|
|
157
|
+
return yield this.getDepositAddressForNativeUnwrap(fromChain, toChain, destinationAddress, options.refundAddress);
|
|
158
|
+
}
|
|
118
159
|
// auth/rate limiting
|
|
119
160
|
const wallet = (0, utils_2.createWallet)();
|
|
120
161
|
// sign validation message
|
|
@@ -142,6 +183,8 @@ class AxelarAssetTransfer {
|
|
|
142
183
|
getInitRoomId(fromChain, toChain, destinationAddress, asset, publicAddress, signature, traceId) {
|
|
143
184
|
var _a;
|
|
144
185
|
return __awaiter(this, void 0, void 0, function* () {
|
|
186
|
+
yield (0, utils_2.isValidChainIdentifier)(fromChain, this.environment);
|
|
187
|
+
yield (0, utils_2.isValidChainIdentifier)(toChain, this.environment);
|
|
145
188
|
const payload = {
|
|
146
189
|
fromChain,
|
|
147
190
|
toChain,
|
|
@@ -162,6 +205,8 @@ class AxelarAssetTransfer {
|
|
|
162
205
|
}
|
|
163
206
|
getLinkEvent(roomId, sourceChain, destinationChain, destinationAddress) {
|
|
164
207
|
return __awaiter(this, void 0, void 0, function* () {
|
|
208
|
+
yield (0, utils_2.isValidChainIdentifier)(sourceChain, this.environment);
|
|
209
|
+
yield (0, utils_2.isValidChainIdentifier)(destinationChain, this.environment);
|
|
165
210
|
const { newRoomId } = yield this.getSocketService()
|
|
166
211
|
.joinRoomAndWaitForEvent(roomId, sourceChain, destinationChain, destinationAddress)
|
|
167
212
|
.catch((error) => {
|
|
@@ -185,7 +230,7 @@ class AxelarAssetTransfer {
|
|
|
185
230
|
var _a;
|
|
186
231
|
return (_a = body.assets.network[chainName.toLowerCase()]) === null || _a === void 0 ? void 0 : _a.gas_service;
|
|
187
232
|
})
|
|
188
|
-
.catch((
|
|
233
|
+
.catch(() => undefined);
|
|
189
234
|
}
|
|
190
235
|
return this.gasReceiverContract[chainName];
|
|
191
236
|
});
|
|
@@ -212,7 +257,7 @@ class AxelarAssetTransfer {
|
|
|
212
257
|
var _a;
|
|
213
258
|
return (_a = body.assets.network[chainName.toLowerCase()]) === null || _a === void 0 ? void 0 : _a.deposit_service;
|
|
214
259
|
})
|
|
215
|
-
.catch((
|
|
260
|
+
.catch(() => undefined);
|
|
216
261
|
}
|
|
217
262
|
return this.depositServiceContract[chainName];
|
|
218
263
|
});
|
|
@@ -222,7 +267,7 @@ class AxelarAssetTransfer {
|
|
|
222
267
|
if (!this.staticInfo) {
|
|
223
268
|
this.staticInfo = yield (0, cross_fetch_1.default)(s3_1.default[this.environment])
|
|
224
269
|
.then((res) => res.json())
|
|
225
|
-
.catch((
|
|
270
|
+
.catch(() => undefined);
|
|
226
271
|
}
|
|
227
272
|
return this.staticInfo;
|
|
228
273
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AxelarAssetTransfer.js","sourceRoot":"","sources":["../../../src/libs/AxelarAssetTransfer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+BAAoC;AACpC,8DAAgC;AAChC,4CAM0B;AAE1B,6CAA4F;AAC5F,0CAAyD;AACzD,
|
|
1
|
+
{"version":3,"file":"AxelarAssetTransfer.js","sourceRoot":"","sources":["../../../src/libs/AxelarAssetTransfer.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,30 +16,30 @@ export declare class AxelarQueryAPI {
|
|
|
16
16
|
/**
|
|
17
17
|
* Gets the fee for a chain and asset
|
|
18
18
|
* example testnet query: https://axelartest-lcd.quickapi.com/axelar/nexus/v1beta1/fee?chain=ethereum&asset=uusd
|
|
19
|
-
* @param
|
|
19
|
+
* @param chainId
|
|
20
20
|
* @param assetDenom
|
|
21
21
|
* @returns
|
|
22
22
|
*/
|
|
23
|
-
getFeeForChainAndAsset(
|
|
23
|
+
getFeeForChainAndAsset(chainId: string, assetDenom: string): Promise<FeeInfoResponse>;
|
|
24
24
|
/**
|
|
25
25
|
* Gest the transfer fee for a given transaction
|
|
26
26
|
* example testnet query: "https://axelartest-lcd.quickapi.com/axelar/nexus/v1beta1/transfer_fee?source_chain=ethereum&destination_chain=terra&amount=100000000uusd"
|
|
27
|
-
* @param
|
|
28
|
-
* @param
|
|
27
|
+
* @param sourceChainId
|
|
28
|
+
* @param destinationChainId
|
|
29
29
|
* @param assetDenom
|
|
30
30
|
* @param amountInDenom
|
|
31
31
|
* @returns
|
|
32
32
|
*/
|
|
33
|
-
getTransferFee(
|
|
33
|
+
getTransferFee(sourceChainId: string, destinationChainId: string, assetDenom: string, amountInDenom: number): Promise<TransferFeeResponse>;
|
|
34
34
|
/**
|
|
35
35
|
* Gets the gas price for a destination chain to be paid to the gas receiver on a source chain
|
|
36
36
|
* example testnet query: https://testnet.api.gmp.axelarscan.io/?method=getGasPrice&destinationChain=ethereum&sourceChain=avalanche&sourceTokenAddress=0x43F4600b552089655645f8c16D86A5a9Fa296bc3&sourceTokenSymbol=UST
|
|
37
|
-
* @param
|
|
38
|
-
* @param
|
|
37
|
+
* @param sourceChainId
|
|
38
|
+
* @param destinationChainId
|
|
39
39
|
* @param sourceChainTokenSymbol
|
|
40
40
|
* @returns
|
|
41
41
|
*/
|
|
42
|
-
getGasInfo(
|
|
42
|
+
getGasInfo(sourceChainId: EvmChain | string, destinationChainId: EvmChain | string, sourceChainTokenSymbol: GasToken | string): Promise<any>;
|
|
43
43
|
/**
|
|
44
44
|
* Gets the base fee in native token wei for a given source and destination chain combination
|
|
45
45
|
* @param sourceChainName
|
|
@@ -47,17 +47,17 @@ export declare class AxelarQueryAPI {
|
|
|
47
47
|
* @param sourceTokenSymbol (optional)
|
|
48
48
|
* @returns base fee in native token in wei, translated into the native gas token of choice
|
|
49
49
|
*/
|
|
50
|
-
getNativeGasBaseFee(
|
|
50
|
+
getNativeGasBaseFee(sourceChainId: EvmChain | string, destinationChainId: EvmChain | string, sourceTokenSymbol?: GasToken): Promise<BaseFeeResponse>;
|
|
51
51
|
/**
|
|
52
52
|
* Calculate estimated gas amount to pay for the gas receiver contract.
|
|
53
|
-
* @param
|
|
54
|
-
* @param
|
|
53
|
+
* @param sourceChainId
|
|
54
|
+
* @param destinationChainId
|
|
55
55
|
* @param sourceChainTokenSymbol
|
|
56
56
|
* @param gasLimit (Optional) An estimated gas amount required to execute `executeWithToken` function. The default value is 700000 which should be sufficient for most transactions.
|
|
57
57
|
* @param gasMultiplier (Optional) A multiplier used to create a buffer above the calculated gas fee, to account for potential slippage throughout tx execution, e.g. 1.1 = 10% buffer. supports up to 3 decimal places
|
|
58
58
|
* @returns
|
|
59
59
|
*/
|
|
60
|
-
estimateGasFee(
|
|
60
|
+
estimateGasFee(sourceChainId: EvmChain | string, destinationChainId: EvmChain | string, sourceChainTokenSymbol: GasToken | string, gasLimit?: number, gasMultiplier?: number): Promise<string>;
|
|
61
61
|
/**
|
|
62
62
|
* Get the denom for an asset given its symbol on a chain
|
|
63
63
|
* @param symbol
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AxelarQueryAPI.d.ts","sourceRoot":"","sources":["../../../src/libs/AxelarQueryAPI.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGjG,OAAO,EACL,eAAe,EACf,mBAAmB,EACpB,MAAM,2DAA2D,CAAC;
|
|
1
|
+
{"version":3,"file":"AxelarQueryAPI.d.ts","sourceRoot":"","sources":["../../../src/libs/AxelarQueryAPI.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGjG,OAAO,EACL,eAAe,EACf,mBAAmB,EACpB,MAAM,2DAA2D,CAAC;AAGnE,qBAAa,cAAc;IACzB,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,mBAAmB,EAAE,WAAW,CAAC;IAC1C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,iBAAiB,CAAwB;gBAE9B,MAAM,EAAE,oBAAoB;YAgBjC,iBAAiB;IAI/B;;;;;;OAMG;IACU,sBAAsB,CACjC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,eAAe,CAAC;IAU3B;;;;;;;;OAQG;IACU,cAAc,CACzB,aAAa,EAAE,MAAM,EACrB,kBAAkB,EAAE,MAAM,EAC1B,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,mBAAmB,CAAC;IAe/B;;;;;;;OAOG;IACU,UAAU,CACrB,aAAa,EAAE,QAAQ,GAAG,MAAM,EAChC,kBAAkB,EAAE,QAAQ,GAAG,MAAM,EACrC,sBAAsB,EAAE,QAAQ,GAAG,MAAM,GACxC,OAAO,CAAC,GAAG,CAAC;IAaf;;;;;;OAMG;IACU,mBAAmB,CAC9B,aAAa,EAAE,QAAQ,GAAG,MAAM,EAChC,kBAAkB,EAAE,QAAQ,GAAG,MAAM,EACrC,iBAAiB,CAAC,EAAE,QAAQ,GAC3B,OAAO,CAAC,eAAe,CAAC;IAmB3B;;;;;;;;OAQG;IACU,cAAc,CACzB,aAAa,EAAE,QAAQ,GAAG,MAAM,EAChC,kBAAkB,EAAE,QAAQ,GAAG,MAAM,EACrC,sBAAsB,EAAE,QAAQ,GAAG,MAAM,EACzC,QAAQ,GAAE,MAA8B,EACxC,aAAa,SAAM,GAClB,OAAO,CAAC,MAAM,CAAC;IA8BlB;;;;;OAKG;IACU,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IASjE;;;;;OAKG;IACU,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAShE;;;;;OAKG;IACU,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAYtE"}
|
|
@@ -16,6 +16,7 @@ const constants_1 = require("../constants");
|
|
|
16
16
|
const services_1 = require("../services");
|
|
17
17
|
const contract_1 = require("./TransactionRecoveryApi/constants/contract");
|
|
18
18
|
const AxelarQueryClient_1 = require("./AxelarQueryClient");
|
|
19
|
+
const utils_2 = require("../utils");
|
|
19
20
|
class AxelarQueryAPI {
|
|
20
21
|
constructor(config) {
|
|
21
22
|
const { axelarLcdUrl, axelarRpcUrl, environment } = config;
|
|
@@ -37,67 +38,62 @@ class AxelarQueryAPI {
|
|
|
37
38
|
/**
|
|
38
39
|
* Gets the fee for a chain and asset
|
|
39
40
|
* example testnet query: https://axelartest-lcd.quickapi.com/axelar/nexus/v1beta1/fee?chain=ethereum&asset=uusd
|
|
40
|
-
* @param
|
|
41
|
+
* @param chainId
|
|
41
42
|
* @param assetDenom
|
|
42
43
|
* @returns
|
|
43
44
|
*/
|
|
44
|
-
getFeeForChainAndAsset(
|
|
45
|
+
getFeeForChainAndAsset(chainId, assetDenom) {
|
|
45
46
|
return __awaiter(this, void 0, void 0, function* () {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
}
|
|
54
|
-
catch (e) {
|
|
55
|
-
throw e;
|
|
56
|
-
}
|
|
47
|
+
yield (0, utils_2.validateChainIdentifier)(chainId, this.environment);
|
|
48
|
+
if (!this.axelarQueryClient)
|
|
49
|
+
this.axelarQueryClient = yield AxelarQueryClient_1.AxelarQueryClient.initOrGetAxelarQueryClient({
|
|
50
|
+
environment: this.environment,
|
|
51
|
+
axelarRpcUrl: this.axelarRpcUrl,
|
|
52
|
+
});
|
|
53
|
+
return this.axelarQueryClient.nexus.FeeInfo({ chain: chainId, asset: assetDenom });
|
|
57
54
|
});
|
|
58
55
|
}
|
|
59
56
|
/**
|
|
60
57
|
* Gest the transfer fee for a given transaction
|
|
61
58
|
* example testnet query: "https://axelartest-lcd.quickapi.com/axelar/nexus/v1beta1/transfer_fee?source_chain=ethereum&destination_chain=terra&amount=100000000uusd"
|
|
62
|
-
* @param
|
|
63
|
-
* @param
|
|
59
|
+
* @param sourceChainId
|
|
60
|
+
* @param destinationChainId
|
|
64
61
|
* @param assetDenom
|
|
65
62
|
* @param amountInDenom
|
|
66
63
|
* @returns
|
|
67
64
|
*/
|
|
68
|
-
getTransferFee(
|
|
65
|
+
getTransferFee(sourceChainId, destinationChainId, assetDenom, amountInDenom) {
|
|
69
66
|
return __awaiter(this, void 0, void 0, function* () {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
return yield this.axelarQueryClient.nexus.TransferFee({
|
|
77
|
-
sourceChain: sourceChainName,
|
|
78
|
-
destinationChain: destinationChainName,
|
|
79
|
-
amount: `${amountInDenom.toString()}${assetDenom}`,
|
|
67
|
+
yield (0, utils_2.validateChainIdentifier)(sourceChainId, this.environment);
|
|
68
|
+
yield (0, utils_2.validateChainIdentifier)(destinationChainId, this.environment);
|
|
69
|
+
if (!this.axelarQueryClient)
|
|
70
|
+
this.axelarQueryClient = yield AxelarQueryClient_1.AxelarQueryClient.initOrGetAxelarQueryClient({
|
|
71
|
+
environment: this.environment,
|
|
72
|
+
axelarRpcUrl: this.axelarRpcUrl,
|
|
80
73
|
});
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
74
|
+
return this.axelarQueryClient.nexus.TransferFee({
|
|
75
|
+
sourceChain: sourceChainId,
|
|
76
|
+
destinationChain: destinationChainId,
|
|
77
|
+
amount: `${amountInDenom.toString()}${assetDenom}`,
|
|
78
|
+
});
|
|
85
79
|
});
|
|
86
80
|
}
|
|
87
81
|
/**
|
|
88
82
|
* Gets the gas price for a destination chain to be paid to the gas receiver on a source chain
|
|
89
83
|
* example testnet query: https://testnet.api.gmp.axelarscan.io/?method=getGasPrice&destinationChain=ethereum&sourceChain=avalanche&sourceTokenAddress=0x43F4600b552089655645f8c16D86A5a9Fa296bc3&sourceTokenSymbol=UST
|
|
90
|
-
* @param
|
|
91
|
-
* @param
|
|
84
|
+
* @param sourceChainId
|
|
85
|
+
* @param destinationChainId
|
|
92
86
|
* @param sourceChainTokenSymbol
|
|
93
87
|
* @returns
|
|
94
88
|
*/
|
|
95
|
-
getGasInfo(
|
|
89
|
+
getGasInfo(sourceChainId, destinationChainId, sourceChainTokenSymbol) {
|
|
96
90
|
return __awaiter(this, void 0, void 0, function* () {
|
|
91
|
+
yield (0, utils_2.validateChainIdentifier)(sourceChainId, this.environment);
|
|
92
|
+
yield (0, utils_2.validateChainIdentifier)(destinationChainId, this.environment);
|
|
97
93
|
const params = new URLSearchParams({
|
|
98
94
|
method: "getGasPrice",
|
|
99
|
-
destinationChain:
|
|
100
|
-
sourceChain:
|
|
95
|
+
destinationChain: destinationChainId,
|
|
96
|
+
sourceChain: sourceChainId,
|
|
101
97
|
sourceTokenSymbol: sourceChainTokenSymbol,
|
|
102
98
|
});
|
|
103
99
|
return this.axelarGMPServiceApi.get(`?${params}`).then((resp) => resp.result);
|
|
@@ -110,13 +106,15 @@ class AxelarQueryAPI {
|
|
|
110
106
|
* @param sourceTokenSymbol (optional)
|
|
111
107
|
* @returns base fee in native token in wei, translated into the native gas token of choice
|
|
112
108
|
*/
|
|
113
|
-
getNativeGasBaseFee(
|
|
109
|
+
getNativeGasBaseFee(sourceChainId, destinationChainId, sourceTokenSymbol) {
|
|
114
110
|
return __awaiter(this, void 0, void 0, function* () {
|
|
111
|
+
yield (0, utils_2.isValidChainIdentifier)(sourceChainId, this.environment);
|
|
112
|
+
yield (0, utils_2.isValidChainIdentifier)(destinationChainId, this.environment);
|
|
115
113
|
return this.axelarGMPServiceApi
|
|
116
114
|
.post("", {
|
|
117
115
|
method: "getFees",
|
|
118
|
-
destinationChain:
|
|
119
|
-
sourceChain:
|
|
116
|
+
destinationChain: destinationChainId,
|
|
117
|
+
sourceChain: sourceChainId,
|
|
120
118
|
sourceTokenSymbol,
|
|
121
119
|
})
|
|
122
120
|
.then((response) => {
|
|
@@ -130,16 +128,18 @@ class AxelarQueryAPI {
|
|
|
130
128
|
}
|
|
131
129
|
/**
|
|
132
130
|
* Calculate estimated gas amount to pay for the gas receiver contract.
|
|
133
|
-
* @param
|
|
134
|
-
* @param
|
|
131
|
+
* @param sourceChainId
|
|
132
|
+
* @param destinationChainId
|
|
135
133
|
* @param sourceChainTokenSymbol
|
|
136
134
|
* @param gasLimit (Optional) An estimated gas amount required to execute `executeWithToken` function. The default value is 700000 which should be sufficient for most transactions.
|
|
137
135
|
* @param gasMultiplier (Optional) A multiplier used to create a buffer above the calculated gas fee, to account for potential slippage throughout tx execution, e.g. 1.1 = 10% buffer. supports up to 3 decimal places
|
|
138
136
|
* @returns
|
|
139
137
|
*/
|
|
140
|
-
estimateGasFee(
|
|
138
|
+
estimateGasFee(sourceChainId, destinationChainId, sourceChainTokenSymbol, gasLimit = contract_1.DEFAULT_ESTIMATED_GAS, gasMultiplier = 1.1) {
|
|
141
139
|
return __awaiter(this, void 0, void 0, function* () {
|
|
142
|
-
|
|
140
|
+
yield (0, utils_2.isValidChainIdentifier)(sourceChainId, this.environment);
|
|
141
|
+
yield (0, utils_2.isValidChainIdentifier)(destinationChainId, this.environment);
|
|
142
|
+
const response = yield this.getNativeGasBaseFee(sourceChainId, destinationChainId, sourceChainTokenSymbol).catch(() => undefined);
|
|
143
143
|
if (!response)
|
|
144
144
|
return "0";
|
|
145
145
|
const { baseFee, sourceToken, success } = response;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AxelarQueryAPI.js","sourceRoot":"","sources":["../../../src/libs/AxelarQueryAPI.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,4CAA0D;AAC1D,sCAAuC;AACvC,4CAA8D;AAC9D,0CAA0C;AAE1C,0EAAoF;AACpF,2DAA+E;
|
|
1
|
+
{"version":3,"file":"AxelarQueryAPI.js","sourceRoot":"","sources":["../../../src/libs/AxelarQueryAPI.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AxelarDepositRecoveryAPI.d.ts","sourceRoot":"","sources":["../../../../src/libs/TransactionRecoveryApi/AxelarDepositRecoveryAPI.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"AxelarDepositRecoveryAPI.d.ts","sourceRoot":"","sources":["../../../../src/libs/TransactionRecoveryApi/AxelarDepositRecoveryAPI.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAUpD,qBAAa,wBAAyB,SAAQ,iBAAiB;gBAC1C,MAAM,EAAE,uBAAuB;IAIrC,cAAc,CAAC,MAAM,EAAE,qBAAqB;IAyB5C,iBAAiB;CAO/B;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH;;;;;;;;;;;;;GAaG"}
|
|
@@ -14,15 +14,17 @@ const AxelarRecoveryApi_1 = require("./AxelarRecoveryApi");
|
|
|
14
14
|
const cosmos_1 = require("./client/helpers/cosmos");
|
|
15
15
|
const chains_1 = require("../../chains");
|
|
16
16
|
const axelarHelper_1 = require("./helpers/axelarHelper");
|
|
17
|
+
const utils_1 = require("../../utils");
|
|
17
18
|
class AxelarDepositRecoveryAPI extends AxelarRecoveryApi_1.AxelarRecoveryApi {
|
|
18
19
|
constructor(config) {
|
|
19
20
|
super(config);
|
|
20
21
|
}
|
|
21
22
|
confirmDeposit(params) {
|
|
22
23
|
return __awaiter(this, void 0, void 0, function* () {
|
|
24
|
+
yield (0, utils_1.isValidChainIdentifier)(params.from, this.environment);
|
|
23
25
|
const chain = (yield (0, chains_1.loadChains)({
|
|
24
26
|
environment: this.environment,
|
|
25
|
-
})).find((chainInfo) => chainInfo.
|
|
27
|
+
})).find((chainInfo) => chainInfo.id.toLowerCase() === params.from.toLowerCase());
|
|
26
28
|
if (!chain)
|
|
27
29
|
throw new Error("cannot find chain" + params.from);
|
|
28
30
|
const txBytes = yield this.execRecoveryUrlFetch("/confirm_deposit_tx", Object.assign(Object.assign({}, params), { sourceChain: chain.chainIdentifier[this.environment], module: chain.module }));
|
|
@@ -40,7 +42,7 @@ class AxelarDepositRecoveryAPI extends AxelarRecoveryApi_1.AxelarRecoveryApi {
|
|
|
40
42
|
const txBytes = yield this.execRecoveryUrlFetch("/route_ibc_transfers", {
|
|
41
43
|
module: "axelarnet",
|
|
42
44
|
});
|
|
43
|
-
return
|
|
45
|
+
return (0, cosmos_1.broadcastCosmosTxBytes)(txBytes, this.axelarRpcUrl);
|
|
44
46
|
});
|
|
45
47
|
}
|
|
46
48
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AxelarDepositRecoveryAPI.js","sourceRoot":"","sources":["../../../../src/libs/TransactionRecoveryApi/AxelarDepositRecoveryAPI.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,2DAAwD;AAExD,oDAAiE;AACjE,yCAA0C;AAE1C,yDAGgC;
|
|
1
|
+
{"version":3,"file":"AxelarDepositRecoveryAPI.js","sourceRoot":"","sources":["../../../../src/libs/TransactionRecoveryApi/AxelarDepositRecoveryAPI.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,2DAAwD;AAExD,oDAAiE;AACjE,yCAA0C;AAE1C,yDAGgC;AAChC,uCAAqD;AAErD,MAAa,wBAAyB,SAAQ,qCAAiB;IAC7D,YAAmB,MAA+B;QAChD,KAAK,CAAC,MAAM,CAAC,CAAC;IAChB,CAAC;IAEY,cAAc,CAAC,MAA6B;;YACvD,MAAM,IAAA,8BAAsB,EAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YAE5D,MAAM,KAAK,GAAc,CACvB,MAAM,IAAA,mBAAU,EAAC;gBACf,WAAW,EAAE,IAAI,CAAC,WAAW;aAC9B,CAAC,CACH,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAc,CAAC;YAC7F,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YAE/D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,qBAAqB,kCAChE,MAAM,KACT,WAAW,EAAE,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,EACpD,MAAM,EAAE,KAAK,CAAC,MAAM,IACpB,CAAC;YAEH,MAAM,EAAE,GAAG,MAAM,IAAA,+BAAsB,EAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAEpE,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,EAAE;gBAC1B,OAAO,IAAA,6CAA8B,EAAC,EAAE,CAAC,CAAC;aAC3C;iBAAM;gBACL,OAAO,IAAA,gDAAiC,EAAC,EAAE,CAAC,CAAC;aAC9C;QACH,CAAC;KAAA;IAEY,iBAAiB;;YAC5B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,EAAE;gBACtE,MAAM,EAAE,WAAW;aACpB,CAAC,CAAC;YAEH,OAAO,IAAA,+BAAsB,EAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5D,CAAC;KAAA;CACF;AArCD,4DAqCC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH;;;;;;;;;;;;;GAaG"}
|