@axelar-network/axelarjs-sdk 0.6.0-alpha.2 → 0.6.0-alpha.20
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/assets/testnet.assets.d.ts +224 -42
- package/dist/src/assets/testnet.assets.d.ts.map +1 -1
- package/dist/src/assets/testnet.assets.js +363 -181
- package/dist/src/assets/testnet.assets.js.map +1 -1
- package/dist/src/chains/Binance/index.d.ts +7 -0
- package/dist/src/chains/Binance/index.d.ts.map +1 -0
- package/dist/src/chains/Binance/index.js +25 -0
- package/dist/src/chains/Binance/index.js.map +1 -0
- package/dist/src/chains/Ethereum/index.js +1 -1
- package/dist/src/chains/Kujira/index.d.ts +8 -0
- package/dist/src/chains/Kujira/index.d.ts.map +1 -0
- package/dist/src/chains/Kujira/index.js +39 -0
- package/dist/src/chains/Kujira/index.js.map +1 -0
- package/dist/src/chains/Osmosis/index.js +1 -1
- package/dist/src/chains/Sei/index.d.ts +8 -0
- package/dist/src/chains/Sei/index.d.ts.map +1 -0
- package/dist/src/chains/Sei/index.js +39 -0
- package/dist/src/chains/Sei/index.js.map +1 -0
- package/dist/src/chains/index.d.ts.map +1 -1
- package/dist/src/chains/index.js +6 -0
- package/dist/src/chains/index.js.map +1 -1
- package/dist/src/constants/index.js +4 -4
- package/dist/src/constants/index.js.map +1 -1
- package/dist/src/index.js +5 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/libs/AxelarGateway.d.ts +1 -0
- package/dist/src/libs/AxelarGateway.d.ts.map +1 -1
- package/dist/src/libs/AxelarGateway.js +3 -3
- package/dist/src/libs/AxelarGateway.js.map +1 -1
- package/dist/src/libs/AxelarQueryAPI.d.ts +13 -3
- package/dist/src/libs/AxelarQueryAPI.d.ts.map +1 -1
- package/dist/src/libs/AxelarQueryAPI.js +29 -21
- package/dist/src/libs/AxelarQueryAPI.js.map +1 -1
- package/dist/src/libs/AxelarQueryClient/index.d.ts +8 -0
- package/dist/src/libs/AxelarQueryClient/index.d.ts.map +1 -0
- package/dist/src/libs/AxelarQueryClient/index.js +32 -0
- package/dist/src/libs/AxelarQueryClient/index.js.map +1 -0
- package/dist/src/libs/AxelarQueryClient/types/index.d.ts +13 -0
- package/dist/src/libs/AxelarQueryClient/types/index.d.ts.map +1 -0
- package/dist/src/libs/AxelarQueryClient/types/index.js +19 -0
- package/dist/src/libs/AxelarQueryClient/types/index.js.map +1 -0
- package/dist/src/libs/AxelarSigningClient/index.d.ts.map +1 -1
- package/dist/src/libs/AxelarSigningClient/index.js +7 -3
- package/dist/src/libs/AxelarSigningClient/index.js.map +1 -1
- package/dist/src/libs/TransactionRecoveryApi/AxelarDepositRecoveryAPI.d.ts.map +1 -1
- package/dist/src/libs/TransactionRecoveryApi/AxelarDepositRecoveryAPI.js +5 -7
- package/dist/src/libs/TransactionRecoveryApi/AxelarDepositRecoveryAPI.js.map +1 -1
- package/dist/src/libs/TransactionRecoveryApi/AxelarGMPRecoveryAPI.d.ts +66 -1
- package/dist/src/libs/TransactionRecoveryApi/AxelarGMPRecoveryAPI.d.ts.map +1 -1
- package/dist/src/libs/TransactionRecoveryApi/AxelarGMPRecoveryAPI.js +255 -1
- package/dist/src/libs/TransactionRecoveryApi/AxelarGMPRecoveryAPI.js.map +1 -1
- package/dist/src/libs/TransactionRecoveryApi/AxelarRecoveryApi.d.ts +50 -3
- package/dist/src/libs/TransactionRecoveryApi/AxelarRecoveryApi.d.ts.map +1 -1
- package/dist/src/libs/TransactionRecoveryApi/AxelarRecoveryApi.js +179 -9
- package/dist/src/libs/TransactionRecoveryApi/AxelarRecoveryApi.js.map +1 -1
- package/dist/src/libs/TransactionRecoveryApi/client/EVMClient/index.d.ts +13 -0
- package/dist/src/libs/TransactionRecoveryApi/client/EVMClient/index.d.ts.map +1 -0
- package/dist/src/libs/TransactionRecoveryApi/client/EVMClient/index.js +55 -0
- package/dist/src/libs/TransactionRecoveryApi/client/EVMClient/index.js.map +1 -0
- package/dist/src/libs/TransactionRecoveryApi/constants/chain.d.ts +5 -0
- package/dist/src/libs/TransactionRecoveryApi/constants/chain.d.ts.map +1 -0
- package/dist/src/libs/TransactionRecoveryApi/constants/chain.js +34 -0
- package/dist/src/libs/TransactionRecoveryApi/constants/chain.js.map +1 -0
- package/dist/src/libs/TransactionRecoveryApi/constants/contract.d.ts +33 -0
- package/dist/src/libs/TransactionRecoveryApi/constants/contract.d.ts.map +1 -0
- package/dist/src/libs/TransactionRecoveryApi/constants/contract.js +36 -0
- package/dist/src/libs/TransactionRecoveryApi/constants/contract.js.map +1 -0
- package/dist/src/libs/TransactionRecoveryApi/constants/error.d.ts +42 -0
- package/dist/src/libs/TransactionRecoveryApi/constants/error.d.ts.map +1 -0
- package/dist/src/libs/TransactionRecoveryApi/constants/error.js +54 -0
- package/dist/src/libs/TransactionRecoveryApi/constants/error.js.map +1 -0
- package/dist/src/libs/TransactionRecoveryApi/helpers/axelarHelper.d.ts +13 -0
- package/dist/src/libs/TransactionRecoveryApi/helpers/axelarHelper.d.ts.map +1 -0
- package/dist/src/libs/TransactionRecoveryApi/helpers/{parseConfirmDepositEvent.js → axelarHelper.js} +90 -12
- package/dist/src/libs/TransactionRecoveryApi/helpers/axelarHelper.js.map +1 -0
- package/dist/src/libs/TransactionRecoveryApi/helpers/contractCallHelper.d.ts +4 -0
- package/dist/src/libs/TransactionRecoveryApi/helpers/contractCallHelper.d.ts.map +1 -0
- package/dist/src/libs/TransactionRecoveryApi/helpers/contractCallHelper.js +18 -0
- package/dist/src/libs/TransactionRecoveryApi/helpers/contractCallHelper.js.map +1 -0
- package/dist/src/libs/TransactionRecoveryApi/helpers/contractEventHelper.d.ts +9 -0
- package/dist/src/libs/TransactionRecoveryApi/helpers/contractEventHelper.d.ts.map +1 -0
- package/dist/src/libs/TransactionRecoveryApi/helpers/contractEventHelper.js +53 -0
- package/dist/src/libs/TransactionRecoveryApi/helpers/contractEventHelper.js.map +1 -0
- package/dist/src/libs/TransactionRecoveryApi/helpers/index.d.ts +4 -0
- package/dist/src/libs/TransactionRecoveryApi/helpers/index.d.ts.map +1 -1
- package/dist/src/libs/TransactionRecoveryApi/helpers/index.js +19 -0
- package/dist/src/libs/TransactionRecoveryApi/helpers/index.js.map +1 -1
- package/dist/src/libs/TransactionRecoveryApi/helpers/providerHelper.d.ts +4 -0
- package/dist/src/libs/TransactionRecoveryApi/helpers/providerHelper.d.ts.map +1 -0
- package/dist/src/libs/TransactionRecoveryApi/helpers/providerHelper.js +10 -0
- package/dist/src/libs/TransactionRecoveryApi/helpers/providerHelper.js.map +1 -0
- package/dist/src/libs/TransactionRecoveryApi/index.d.ts +1 -0
- package/dist/src/libs/TransactionRecoveryApi/index.d.ts.map +1 -1
- package/dist/src/libs/TransactionRecoveryApi/index.js +6 -1
- package/dist/src/libs/TransactionRecoveryApi/index.js.map +1 -1
- package/dist/src/libs/TransactionRecoveryApi/processors/index.d.ts +13 -0
- package/dist/src/libs/TransactionRecoveryApi/processors/index.d.ts.map +1 -0
- package/dist/src/libs/TransactionRecoveryApi/processors/index.js +56 -0
- package/dist/src/libs/TransactionRecoveryApi/processors/index.js.map +1 -0
- package/dist/src/libs/abi/IAxelarExecutable.d.ts +38 -0
- package/dist/src/libs/abi/IAxelarExecutable.d.ts.map +1 -0
- package/dist/src/libs/abi/IAxelarExecutable.js +100 -0
- package/dist/src/libs/abi/IAxelarExecutable.js.map +1 -0
- package/dist/src/libs/abi/IAxelarGasService.json +661 -0
- package/dist/src/libs/index.js +5 -1
- package/dist/src/libs/index.js.map +1 -1
- package/dist/src/libs/test/AxelarGateway.spec.d.ts +2 -0
- package/dist/src/libs/test/AxelarGateway.spec.d.ts.map +1 -0
- package/dist/src/libs/test/{axelarGateway.test.js → AxelarGateway.spec.js} +6 -2
- package/dist/src/libs/test/AxelarGateway.spec.js.map +1 -0
- package/dist/src/libs/test/AxelarQueryAPI.spec.js +12 -7
- package/dist/src/libs/test/AxelarQueryAPI.spec.js.map +1 -1
- package/dist/src/libs/test/AxelarQueryClient.spec.d.ts +2 -0
- package/dist/src/libs/test/AxelarQueryClient.spec.d.ts.map +1 -0
- package/dist/src/libs/test/AxelarQueryClient.spec.js +57 -0
- package/dist/src/libs/test/AxelarQueryClient.spec.js.map +1 -0
- package/dist/src/libs/test/AxelarSigningClient.spec.js +1 -1
- package/dist/src/libs/test/AxelarSigningClient.spec.js.map +1 -1
- package/dist/src/libs/test/TransactionRecoveryAPI/AxelarGMPRecoveryAPI.spec.js +509 -2
- package/dist/src/libs/test/TransactionRecoveryAPI/AxelarGMPRecoveryAPI.spec.js.map +1 -1
- package/dist/src/libs/test/TransactionRecoveryAPI/AxelarRecoveryAPI.spec.js +142 -0
- package/dist/src/libs/test/TransactionRecoveryAPI/AxelarRecoveryAPI.spec.js.map +1 -1
- package/dist/src/libs/test/TransactionRecoveryAPI/helper/contractCallHelper.spec.d.ts +2 -0
- package/dist/src/libs/test/TransactionRecoveryAPI/helper/contractCallHelper.spec.d.ts.map +1 -0
- package/dist/src/libs/test/TransactionRecoveryAPI/helper/contractCallHelper.spec.js +42 -0
- package/dist/src/libs/test/TransactionRecoveryAPI/helper/contractCallHelper.spec.js.map +1 -0
- package/dist/src/libs/test/abi/DistributionExecutable.json +10675 -0
- package/dist/src/libs/test/abi/DistributionExecutableGasToken.json +11080 -0
- package/dist/src/libs/test/abi/TestToken.json +5647 -0
- package/dist/src/libs/test/stubs/index.d.ts +30 -0
- package/dist/src/libs/test/stubs/index.d.ts.map +1 -1
- package/dist/src/libs/test/stubs/index.js +33 -1
- package/dist/src/libs/test/stubs/index.js.map +1 -1
- package/dist/src/libs/types/index.d.ts +48 -5
- package/dist/src/libs/types/index.d.ts.map +1 -1
- package/dist/src/libs/types/index.js +12 -1
- package/dist/src/libs/types/index.js.map +1 -1
- package/dist/src/services/index.js +5 -1
- package/dist/src/services/index.js.map +1 -1
- package/dist/src/utils/asyncRetry.d.ts +2 -0
- package/dist/src/utils/asyncRetry.d.ts.map +1 -0
- package/dist/src/utils/asyncRetry.js +35 -0
- package/dist/src/utils/asyncRetry.js.map +1 -0
- package/dist/src/utils/index.d.ts +2 -0
- package/dist/src/utils/index.d.ts.map +1 -1
- package/dist/src/utils/index.js +7 -1
- package/dist/src/utils/index.js.map +1 -1
- package/dist/src/utils/sleep.d.ts +2 -0
- package/dist/src/utils/sleep.d.ts.map +1 -0
- package/dist/src/utils/sleep.js +8 -0
- package/dist/src/utils/sleep.js.map +1 -0
- package/package.json +2 -1
- package/dist/src/libs/TransactionRecoveryApi/helpers/getAmountFromAmountSymbol.d.ts +0 -2
- package/dist/src/libs/TransactionRecoveryApi/helpers/getAmountFromAmountSymbol.d.ts.map +0 -1
- package/dist/src/libs/TransactionRecoveryApi/helpers/getAmountFromAmountSymbol.js +0 -13
- package/dist/src/libs/TransactionRecoveryApi/helpers/getAmountFromAmountSymbol.js.map +0 -1
- package/dist/src/libs/TransactionRecoveryApi/helpers/getConfirmedTx.d.ts +0 -6
- package/dist/src/libs/TransactionRecoveryApi/helpers/getConfirmedTx.d.ts.map +0 -1
- package/dist/src/libs/TransactionRecoveryApi/helpers/getConfirmedTx.js +0 -63
- package/dist/src/libs/TransactionRecoveryApi/helpers/getConfirmedTx.js.map +0 -1
- package/dist/src/libs/TransactionRecoveryApi/helpers/getSymbolFromAmountSymbol.d.ts +0 -2
- package/dist/src/libs/TransactionRecoveryApi/helpers/getSymbolFromAmountSymbol.d.ts.map +0 -1
- package/dist/src/libs/TransactionRecoveryApi/helpers/getSymbolFromAmountSymbol.js +0 -13
- package/dist/src/libs/TransactionRecoveryApi/helpers/getSymbolFromAmountSymbol.js.map +0 -1
- package/dist/src/libs/TransactionRecoveryApi/helpers/parseConfirmDepositEvent.d.ts +0 -5
- package/dist/src/libs/TransactionRecoveryApi/helpers/parseConfirmDepositEvent.d.ts.map +0 -1
- package/dist/src/libs/TransactionRecoveryApi/helpers/parseConfirmDepositEvent.js.map +0 -1
- package/dist/src/libs/test/axelarGateway.test.d.ts +0 -2
- package/dist/src/libs/test/axelarGateway.test.d.ts.map +0 -1
- package/dist/src/libs/test/axelarGateway.test.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/libs/AxelarQueryClient/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,IAAI,KAAK,EAEtB,MAAM,2DAA2D,CAAC;AACnE,OAAO,EACL,YAAY,IAAI,WAAW,EAE5B,MAAM,iEAAiE,CAAC;AACzE,OAAO,EACL,YAAY,IAAI,OAAO,EAExB,MAAM,6DAA6D,CAAC;AACrE,OAAO,EACL,YAAY,IAAI,KAAK,EAEtB,MAAM,2DAA2D,CAAC;AACnE,OAAO,EAAE,WAAW,EAA2B,MAAM,kBAAkB,CAAC;AAExE,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC;IACpB,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC;CACrB;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,WAAW,GAAG,kBAAkB,CAQzE"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.setupQueryExtension = void 0;
|
|
4
|
+
const service_1 = require("@axelar-network/axelarjs-types/axelar/evm/v1beta1/service");
|
|
5
|
+
const service_2 = require("@axelar-network/axelarjs-types/axelar/axelarnet/v1beta1/service");
|
|
6
|
+
const service_3 = require("@axelar-network/axelarjs-types/axelar/nexus/v1beta1/service");
|
|
7
|
+
const service_4 = require("@axelar-network/axelarjs-types/axelar/tss/v1beta1/service");
|
|
8
|
+
const stargate_1 = require("@cosmjs/stargate");
|
|
9
|
+
function setupQueryExtension(base) {
|
|
10
|
+
const client = (0, stargate_1.createProtobufRpcClient)(base);
|
|
11
|
+
return {
|
|
12
|
+
evm: new service_1.QueryServiceClientImpl(client),
|
|
13
|
+
axelarnet: new service_2.QueryServiceClientImpl(client),
|
|
14
|
+
nexus: new service_3.QueryServiceClientImpl(client),
|
|
15
|
+
tss: new service_4.QueryServiceClientImpl(client)
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
exports.setupQueryExtension = setupQueryExtension;
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/libs/AxelarQueryClient/types/index.ts"],"names":[],"mappings":";;;AAAA,uFAGmE;AACnE,6FAGyE;AACzE,yFAGqE;AACrE,uFAGmE;AACnE,+CAAwE;AASxE,SAAgB,mBAAmB,CAAC,IAAiB;IACnD,MAAM,MAAM,GAAG,IAAA,kCAAuB,EAAC,IAAI,CAAC,CAAC;IAC7C,OAAO;QACL,GAAG,EAAE,IAAI,gCAAO,CAAC,MAAM,CAAC;QACxB,SAAS,EAAE,IAAI,gCAAa,CAAC,MAAM,CAAC;QACpC,KAAK,EAAE,IAAI,gCAAS,CAAC,MAAM,CAAC;QAC5B,GAAG,EAAE,IAAI,gCAAO,CAAC,MAAM,CAAC;KACzB,CAAC;AACJ,CAAC;AARD,kDAQC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/libs/AxelarSigningClient/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EACL,4BAA4B,EAC5B,qBAAqB,EACrB,iBAAiB,EACjB,MAAM,EACN,UAAU,EACX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAEL,YAAY,EACZ,aAAa,EAEd,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAM5D,UAAU,oBAAqB,SAAQ,qBAAqB;IAC1D,iBAAiB,CACf,QAAQ,EAAE,SAAS,YAAY,EAAE,EACjC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAC7B,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC9B,iBAAiB,CACf,QAAQ,EAAE,SAAS,YAAY,EAAE,EACjC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,kBAAkB,CAAC,EAAE,UAAU,GAC9B,OAAO,CAAC,UAAU,CAAC,CAAC;CACxB;AAED,qBAAa,mBAAoB,SAAQ,qBAAsB,YAAW,oBAAoB;IAC5F,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,SAAS,CAAC,YAAY,EAAE,qBAAqB,CAAC;gBAG5C,gBAAgB,EAAE,kBAAkB,EACpC,MAAM,EAAE,aAAa,EACrB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,4BAA4B;WAM1B,4BAA4B,CAAC,MAAM,EAAE,yBAAyB;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/libs/AxelarSigningClient/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EACL,4BAA4B,EAC5B,qBAAqB,EACrB,iBAAiB,EACjB,MAAM,EACN,UAAU,EACX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAEL,YAAY,EACZ,aAAa,EAEd,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAM5D,UAAU,oBAAqB,SAAQ,qBAAqB;IAC1D,iBAAiB,CACf,QAAQ,EAAE,SAAS,YAAY,EAAE,EACjC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAC7B,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC9B,iBAAiB,CACf,QAAQ,EAAE,SAAS,YAAY,EAAE,EACjC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,kBAAkB,CAAC,EAAE,UAAU,GAC9B,OAAO,CAAC,UAAU,CAAC,CAAC;CACxB;AAED,qBAAa,mBAAoB,SAAQ,qBAAsB,YAAW,oBAAoB;IAC5F,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,SAAS,CAAC,YAAY,EAAE,qBAAqB,CAAC;gBAG5C,gBAAgB,EAAE,kBAAkB,EACpC,MAAM,EAAE,aAAa,EACrB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,4BAA4B;WAM1B,4BAA4B,CAAC,MAAM,EAAE,yBAAyB;IA+BpE,iBAAiB,CACtB,QAAQ,EAAE,SAAS,YAAY,EAAE,EACjC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAC7B,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,iBAAiB,CAAC;IAIhB,iBAAiB,CAC5B,QAAQ,EAAE,SAAS,YAAY,EAAE,EACjC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,kBAAkB,CAAC,EAAE,UAAU,GAC9B,OAAO,CAAC,UAAU,CAAC;CAIvB;AAED,cAAc,SAAS,CAAC"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -36,7 +40,7 @@ class AxelarSigningClient extends stargate_1.SigningStargateClient {
|
|
|
36
40
|
static initOrGetAxelarSigningClient(config) {
|
|
37
41
|
return __awaiter(this, void 0, void 0, function* () {
|
|
38
42
|
if (!instance) {
|
|
39
|
-
const { axelarRpcUrl, environment, options, walletDetails } = config;
|
|
43
|
+
const { axelarRpcUrl, environment, options, cosmosBasedWalletDetails: walletDetails, } = config;
|
|
40
44
|
const links = (0, constants_1.getConfigs)(environment);
|
|
41
45
|
const rpc = axelarRpcUrl || links.axelarRpcUrl;
|
|
42
46
|
const tmClient = yield tendermint_rpc_1.Tendermint34Client.connect(rpc);
|
|
@@ -49,7 +53,7 @@ class AxelarSigningClient extends stargate_1.SigningStargateClient {
|
|
|
49
53
|
else
|
|
50
54
|
throw "you need to pass in either a wallet mnemonic string or offline signer";
|
|
51
55
|
const [account] = yield wallet.getAccounts();
|
|
52
|
-
|
|
56
|
+
const registry = options.registry || new proto_signing_1.Registry();
|
|
53
57
|
(0, AxelarnetTxTypes_1.registerAxelarnetTxTypes)(registry);
|
|
54
58
|
(0, EvmTxTypes_1.registerEvmTxTypes)(registry);
|
|
55
59
|
const newOpts = Object.assign(Object.assign({}, options), { registry });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/libs/AxelarSigningClient/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/libs/AxelarSigningClient/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAiE;AAGjE,+CAM0B;AAC1B,yDAK+B;AAC/B,+DAAoE;AACpE,2DAA4D;AAC5D,0DAA0D;AAC1D,mDAAwD;AAExD,IAAI,QAA6B,CAAC;AAgBlC,MAAa,mBAAoB,SAAQ,gCAAqB;IAM5D,YACE,gBAAoC,EACpC,MAAqB,EACrB,aAAqB,EACrB,OAAqC;QAErC,KAAK,CAAC,gBAAgB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;IAED,MAAM,CAAO,4BAA4B,CAAC,MAAiC;;YACzE,IAAI,CAAC,QAAQ,EAAE;gBACb,MAAM,EACJ,YAAY,EACZ,WAAW,EACX,OAAO,EACP,wBAAwB,EAAE,aAAa,GACxC,GAAG,MAAM,CAAC;gBACX,MAAM,KAAK,GAAuB,IAAA,sBAAU,EAAC,WAAW,CAAC,CAAC;gBAC1D,MAAM,GAAG,GAAW,YAAY,IAAI,KAAK,CAAC,YAAY,CAAC;gBACvD,MAAM,QAAQ,GAAG,MAAM,mCAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACvD,MAAM,MAAM,GAAG,QAAQ,CAAC;gBAExB,IAAI,MAAM,CAAC;gBACX,IAAI,aAAa,CAAC,QAAQ;oBACxB,MAAM,GAAG,MAAM,uCAAM,CAAC,YAAY,CAAC,aAAa,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;qBACpE,IAAI,aAAa,CAAC,aAAa;oBAAE,MAAM,GAAG,aAAa,CAAC,aAAa,CAAC;;oBACtE,MAAM,uEAAuE,CAAC;gBAEnF,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;gBAE7C,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,IAAI,wBAAQ,EAAE,CAAC;gBACpD,IAAA,2CAAwB,EAAC,QAAQ,CAAC,CAAC;gBACnC,IAAA,+BAAkB,EAAC,QAAQ,CAAC,CAAC;gBAC7B,MAAM,OAAO,mCAAQ,OAAO,KAAE,QAAQ,GAAE,CAAC;gBAEzC,QAAQ,GAAG,IAAI,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;aAChF;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;KAAA;IAEM,iBAAiB,CACtB,QAAiC,EACjC,GAA6B,EAC7B,IAAa;QAEb,OAAO,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACzE,CAAC;IAEY,iBAAiB,CAC5B,QAAiC,EACjC,GAAW,EACX,IAAY,EACZ,kBAA+B;;;;;YAE/B,MAAM,KAAK,GAAG,MAAM,OAAM,IAAI,YAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAC;YAC5F,OAAO,UAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;QACtC,CAAC;KAAA;CACF;AAhED,kDAgEC;AAED,0CAAwB"}
|
|
@@ -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;
|
|
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;AASpD,qBAAa,wBAAyB,SAAQ,iBAAiB;gBAC1C,MAAM,EAAE,uBAAuB;IAIrC,cAAc,CAAC,MAAM,EAAE,qBAAqB;IAsB5C,iBAAiB;CAO/B;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH;;;;;;;;;;;;;GAaG"}
|
|
@@ -10,12 +10,10 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.AxelarDepositRecoveryAPI = void 0;
|
|
13
|
-
// import { DeliverTxResponse } from "@cosmjs/stargate";
|
|
14
13
|
const AxelarRecoveryApi_1 = require("./AxelarRecoveryApi");
|
|
15
|
-
const parseConfirmDepositEvent_1 = require("./helpers/parseConfirmDepositEvent");
|
|
16
|
-
// import { getConfirmedTx } from "./helpers/getConfirmedTx";
|
|
17
14
|
const cosmos_1 = require("./client/helpers/cosmos");
|
|
18
15
|
const chains_1 = require("../../chains");
|
|
16
|
+
const axelarHelper_1 = require("./helpers/axelarHelper");
|
|
19
17
|
class AxelarDepositRecoveryAPI extends AxelarRecoveryApi_1.AxelarRecoveryApi {
|
|
20
18
|
constructor(config) {
|
|
21
19
|
super(config);
|
|
@@ -28,19 +26,19 @@ class AxelarDepositRecoveryAPI extends AxelarRecoveryApi_1.AxelarRecoveryApi {
|
|
|
28
26
|
}).find((chain) => chain.chainInfo.chainName.toLowerCase() === params.from.toLowerCase())) === null || _a === void 0 ? void 0 : _a.chainInfo;
|
|
29
27
|
if (!chain)
|
|
30
28
|
throw new Error("cannot find chain" + params.from);
|
|
31
|
-
const txBytes = yield this.
|
|
29
|
+
const txBytes = yield this.execRecoveryUrlFetch("/confirm_deposit_tx", Object.assign(Object.assign({}, params), { sourceChain: chain.chainIdentifier[this.environment], module: chain.module }));
|
|
32
30
|
const tx = yield (0, cosmos_1.broadcastCosmosTxBytes)(txBytes, this.axelarRpcUrl);
|
|
33
31
|
if (chain.module === "evm") {
|
|
34
|
-
return (0,
|
|
32
|
+
return (0, axelarHelper_1.parseConfirmDepositEvmResponse)(tx);
|
|
35
33
|
}
|
|
36
34
|
else {
|
|
37
|
-
return (0,
|
|
35
|
+
return (0, axelarHelper_1.parseConfirmDepositCosmosResponse)(tx);
|
|
38
36
|
}
|
|
39
37
|
});
|
|
40
38
|
}
|
|
41
39
|
routeIBCTransfers() {
|
|
42
40
|
return __awaiter(this, void 0, void 0, function* () {
|
|
43
|
-
const txBytes = yield this.
|
|
41
|
+
const txBytes = yield this.execRecoveryUrlFetch("/route_ibc_transfers", {
|
|
44
42
|
module: "axelarnet",
|
|
45
43
|
});
|
|
46
44
|
return yield (0, cosmos_1.broadcastCosmosTxBytes)(txBytes, this.axelarRpcUrl);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AxelarDepositRecoveryAPI.js","sourceRoot":"","sources":["../../../../src/libs/TransactionRecoveryApi/AxelarDepositRecoveryAPI.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,
|
|
1
|
+
{"version":3,"file":"AxelarDepositRecoveryAPI.js","sourceRoot":"","sources":["../../../../src/libs/TransactionRecoveryApi/AxelarDepositRecoveryAPI.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,2DAAwD;AAExD,oDAAiE;AACjE,yCAA0C;AAE1C,yDAGgC;AAEhC,MAAa,wBAAyB,SAAQ,qCAAiB;IAC7D,YAAmB,MAA+B;QAChD,KAAK,CAAC,MAAM,CAAC,CAAC;IAChB,CAAC;IAEY,cAAc,CAAC,MAA6B;;;YACvD,MAAM,KAAK,GAAc,MAAA,IAAA,mBAAU,EAAC;gBAClC,WAAW,EAAE,IAAI,CAAC,WAAW;aAC9B,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,0CACrF,SAAsB,CAAC;YAC3B,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;;KACF;IAEY,iBAAiB;;YAC5B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,EAAE;gBACtE,MAAM,EAAE,WAAW;aACpB,CAAC,CAAC;YAEH,OAAO,MAAM,IAAA,+BAAsB,EAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAClE,CAAC;KAAA;CACF;AAlCD,4DAkCC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH;;;;;;;;;;;;;GAaG"}
|
|
@@ -1,10 +1,75 @@
|
|
|
1
|
-
import { AxelarRecoveryAPIConfig } from "../types";
|
|
1
|
+
import { AxelarRecoveryAPIConfig, EvmChain, EvmWalletDetails, AddGasOptions, GasToken, TxResult, QueryGasFeeOptions } from "../types";
|
|
2
2
|
import { AxelarRecoveryApi } from "./AxelarRecoveryApi";
|
|
3
|
+
import { AxelarQueryAPI } from "../AxelarQueryAPI";
|
|
3
4
|
export declare class AxelarGMPRecoveryAPI extends AxelarRecoveryApi {
|
|
5
|
+
private processor;
|
|
6
|
+
axelarQueryApi: AxelarQueryAPI;
|
|
4
7
|
constructor(config: AxelarRecoveryAPIConfig);
|
|
8
|
+
private saveGMP;
|
|
5
9
|
confirmGatewayTx(params: {
|
|
6
10
|
txHash: string;
|
|
7
11
|
chain: string;
|
|
8
12
|
}): Promise<import("@cosmjs/stargate").DeliverTxResponse>;
|
|
13
|
+
manualRelayToDestChain(params: {
|
|
14
|
+
txHash: string;
|
|
15
|
+
src: EvmChain;
|
|
16
|
+
dest: EvmChain;
|
|
17
|
+
debug?: boolean;
|
|
18
|
+
}): Promise<"triggered relay" | "approved but not executed" | "already executed" | unknown>;
|
|
19
|
+
/**
|
|
20
|
+
* Check if given transaction is already executed.
|
|
21
|
+
* @param txHash string - transaction hash
|
|
22
|
+
* @returns Promise<boolean> - true if transaction is already executed
|
|
23
|
+
*/
|
|
24
|
+
isExecuted(txHash: string): Promise<boolean>;
|
|
25
|
+
/**
|
|
26
|
+
* Calculate the gas fee in native token for executing a transaction at the destination chain using the source chain's gas price.
|
|
27
|
+
* @param txHash string - transaction hash
|
|
28
|
+
* @param sourceChain EVMChain - source chain
|
|
29
|
+
* @param destinationChain EVMChain - destination chain
|
|
30
|
+
* @param gasTokenSymbol string - gas token symbol
|
|
31
|
+
* @param options QueryGasFeeOptions - options
|
|
32
|
+
* @returns Promise<string> - The gas fee to be paid at source chain
|
|
33
|
+
*/
|
|
34
|
+
calculateNativeGasFee(txHash: string, sourceChain: EvmChain, destinationChain: EvmChain, gasTokenSymbol: GasToken | string, options: QueryGasFeeOptions): Promise<string>;
|
|
35
|
+
/**
|
|
36
|
+
* Calculate the gas fee in an ERC-20 tokens for executing a transaction at the destination chain using the source chain's gas price.
|
|
37
|
+
* @param txHash string - transaction hash
|
|
38
|
+
* @param sourceChain EVMChain - source chain
|
|
39
|
+
* @param destinationChain EVMChain - destination chain
|
|
40
|
+
* @param gasTokenSymbol string - gas token symbol
|
|
41
|
+
* @param options QueryGasFeeOptions - options
|
|
42
|
+
* @returns Promise<string> - The gas fee to be paid at source chain
|
|
43
|
+
*/
|
|
44
|
+
calculateGasFee(txHash: string, sourceChain: EvmChain, destinationChain: EvmChain, gasTokenSymbol: GasToken | string, options: QueryGasFeeOptions): Promise<string>;
|
|
45
|
+
/**
|
|
46
|
+
* Pay native token as gas fee for the given transaction hash.
|
|
47
|
+
* If the transaction details is not valid, it will return an error with reason.
|
|
48
|
+
* @param chain - source chain
|
|
49
|
+
* @param txHash - transaction hash
|
|
50
|
+
* @param options - options
|
|
51
|
+
* @returns
|
|
52
|
+
*/
|
|
53
|
+
addNativeGas(chain: EvmChain, txHash: string, options?: AddGasOptions): Promise<TxResult>;
|
|
54
|
+
/**
|
|
55
|
+
* Pay ERC20 token as gas fee for the given transaction hash.
|
|
56
|
+
* If the transaction details or `gasTokenAddress` is not valid, it will return an error with reason.
|
|
57
|
+
*
|
|
58
|
+
* @param chain EvmChain - The source chain of the transaction hash.
|
|
59
|
+
* @param txHash string - The transaction hash.
|
|
60
|
+
* @param gasTokenAddress string - The address of the ERC20 token to pay as gas fee.
|
|
61
|
+
* @param options AddGasOptions - The options to pay gas fee.
|
|
62
|
+
* @returns
|
|
63
|
+
*/
|
|
64
|
+
addGas(chain: EvmChain, txHash: string, gasTokenAddress: string, options?: AddGasOptions): Promise<TxResult>;
|
|
65
|
+
/**
|
|
66
|
+
* Execute a transaction on the destination chain associated with given `srcTxHash`.
|
|
67
|
+
* @param srcTxHash - The transaction hash on the source chain.
|
|
68
|
+
* @param evmWalletDetails - The wallet details to use for executing the transaction.
|
|
69
|
+
* @returns The result of executing the transaction.
|
|
70
|
+
*/
|
|
71
|
+
execute(srcTxHash: string, evmWalletDetails?: EvmWalletDetails): Promise<TxResult>;
|
|
72
|
+
private subtractGasFee;
|
|
73
|
+
private getSigner;
|
|
9
74
|
}
|
|
10
75
|
//# sourceMappingURL=AxelarGMPRecoveryAPI.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AxelarGMPRecoveryAPI.d.ts","sourceRoot":"","sources":["../../../../src/libs/TransactionRecoveryApi/AxelarGMPRecoveryAPI.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"AxelarGMPRecoveryAPI.d.ts","sourceRoot":"","sources":["../../../../src/libs/TransactionRecoveryApi/AxelarGMPRecoveryAPI.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,uBAAuB,EACvB,QAAQ,EAER,gBAAgB,EAChB,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,kBAAkB,EACnB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,iBAAiB,EAA4B,MAAM,qBAAqB,CAAC;AAQlF,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAyBnD,qBAAa,oBAAqB,SAAQ,iBAAiB;IACzD,OAAO,CAAC,SAAS,CAA6B;IAC9C,cAAc,EAAE,cAAc,CAAC;gBACZ,MAAM,EAAE,uBAAuB;YAQpC,OAAO;IAeR,gBAAgB,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;IAkB1D,sBAAsB,CAAC,MAAM,EAAE;QAC1C,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,QAAQ,CAAC;QACd,IAAI,EAAE,QAAQ,CAAC;QACf,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,GAAG,OAAO,CAAC,iBAAiB,GAAG,2BAA2B,GAAG,kBAAkB,GAAG,OAAO,CAAC;IAI3F;;;;OAIG;IACU,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKzD;;;;;;;;OAQG;IACU,qBAAqB,CAChC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,QAAQ,EACrB,gBAAgB,EAAE,QAAQ,EAC1B,cAAc,EAAE,QAAQ,GAAG,MAAM,EACjC,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,MAAM,CAAC;IAQlB;;;;;;;;OAQG;IACU,eAAe,CAC1B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,QAAQ,EACrB,gBAAgB,EAAE,QAAQ,EAC1B,cAAc,EAAE,QAAQ,GAAG,MAAM,EACjC,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,MAAM,CAAC;IAQlB;;;;;;;OAOG;IACU,YAAY,CACvB,KAAK,EAAE,QAAQ,EACf,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,QAAQ,CAAC;IAoDpB;;;;;;;;;OASG;IACU,MAAM,CACjB,KAAK,EAAE,QAAQ,EACf,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,EACvB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,QAAQ,CAAC;IA4DpB;;;;;OAKG;IACU,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC;YAgCjF,cAAc;IAkB5B,OAAO,CAAC,SAAS;CAYlB"}
|
|
@@ -8,14 +8,49 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
11
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
15
|
exports.AxelarGMPRecoveryAPI = void 0;
|
|
13
16
|
const chains_1 = require("../../chains");
|
|
14
17
|
const AxelarRecoveryApi_1 = require("./AxelarRecoveryApi");
|
|
18
|
+
const EVMClient_1 = __importDefault(require("./client/EVMClient"));
|
|
15
19
|
const cosmos_1 = require("./client/helpers/cosmos");
|
|
20
|
+
const processors_1 = __importDefault(require("./processors"));
|
|
21
|
+
const IAxelarExecutable_1 = __importDefault(require("../abi/IAxelarExecutable"));
|
|
22
|
+
const ethers_1 = require("ethers");
|
|
23
|
+
const IAxelarGasService_json_1 = __importDefault(require("../abi/IAxelarGasService.json"));
|
|
24
|
+
const contract_1 = require("./constants/contract");
|
|
25
|
+
const AxelarQueryAPI_1 = require("../AxelarQueryAPI");
|
|
26
|
+
const chain_1 = require("./constants/chain");
|
|
27
|
+
const contractEventHelper_1 = require("./helpers/contractEventHelper");
|
|
28
|
+
const erc20Abi_json_1 = __importDefault(require("../abi/erc20Abi.json"));
|
|
29
|
+
const AxelarGateway_1 = require("../AxelarGateway");
|
|
30
|
+
const providerHelper_1 = require("./helpers/providerHelper");
|
|
31
|
+
const error_1 = require("./constants/error");
|
|
32
|
+
const helpers_1 = require("./helpers");
|
|
16
33
|
class AxelarGMPRecoveryAPI extends AxelarRecoveryApi_1.AxelarRecoveryApi {
|
|
17
34
|
constructor(config) {
|
|
18
35
|
super(config);
|
|
36
|
+
this.processor = new processors_1.default(this);
|
|
37
|
+
this.axelarQueryApi = new AxelarQueryAPI_1.AxelarQueryAPI({
|
|
38
|
+
environment: config.environment,
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
saveGMP(sourceTransactionHash, transactionHash, relayerAddress, error) {
|
|
42
|
+
const _super = Object.create(null, {
|
|
43
|
+
getAxelarCachingServiceUrl: { get: () => super.getAxelarCachingServiceUrl }
|
|
44
|
+
});
|
|
45
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
46
|
+
return yield this.execPost(_super.getAxelarCachingServiceUrl, "", {
|
|
47
|
+
method: "saveGMP",
|
|
48
|
+
sourceTransactionHash,
|
|
49
|
+
transactionHash,
|
|
50
|
+
relayerAddress,
|
|
51
|
+
error,
|
|
52
|
+
});
|
|
53
|
+
});
|
|
19
54
|
}
|
|
20
55
|
confirmGatewayTx(params) {
|
|
21
56
|
var _a;
|
|
@@ -25,11 +60,230 @@ class AxelarGMPRecoveryAPI extends AxelarRecoveryApi_1.AxelarRecoveryApi {
|
|
|
25
60
|
}).find((chain) => chain.chainInfo.chainName.toLowerCase() === params.chain.toLowerCase())) === null || _a === void 0 ? void 0 : _a.chainInfo;
|
|
26
61
|
if (!chain)
|
|
27
62
|
throw new Error("cannot find chain" + params.chain);
|
|
28
|
-
const txBytes = yield this.
|
|
63
|
+
const txBytes = yield this.execRecoveryUrlFetch("/confirm_gateway_tx", Object.assign(Object.assign({}, params), { module: chain.module, chain: chain.chainIdentifier[this.environment] }));
|
|
29
64
|
const tx = yield (0, cosmos_1.broadcastCosmosTxBytes)(txBytes, this.axelarRpcUrl);
|
|
30
65
|
return tx;
|
|
31
66
|
});
|
|
32
67
|
}
|
|
68
|
+
manualRelayToDestChain(params) {
|
|
69
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
70
|
+
return yield this.processor.process(params);
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Check if given transaction is already executed.
|
|
75
|
+
* @param txHash string - transaction hash
|
|
76
|
+
* @returns Promise<boolean> - true if transaction is already executed
|
|
77
|
+
*/
|
|
78
|
+
isExecuted(txHash) {
|
|
79
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
80
|
+
const txStatus = yield this.queryTransactionStatus(txHash).catch(() => undefined);
|
|
81
|
+
return (txStatus === null || txStatus === void 0 ? void 0 : txStatus.status) === AxelarRecoveryApi_1.GMPStatus.EXECUTED;
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Calculate the gas fee in native token for executing a transaction at the destination chain using the source chain's gas price.
|
|
86
|
+
* @param txHash string - transaction hash
|
|
87
|
+
* @param sourceChain EVMChain - source chain
|
|
88
|
+
* @param destinationChain EVMChain - destination chain
|
|
89
|
+
* @param gasTokenSymbol string - gas token symbol
|
|
90
|
+
* @param options QueryGasFeeOptions - options
|
|
91
|
+
* @returns Promise<string> - The gas fee to be paid at source chain
|
|
92
|
+
*/
|
|
93
|
+
calculateNativeGasFee(txHash, sourceChain, destinationChain, gasTokenSymbol, options) {
|
|
94
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
95
|
+
const provider = options.provider || (0, providerHelper_1.getDefaultProvider)(sourceChain);
|
|
96
|
+
const receipt = yield provider.getTransactionReceipt(txHash);
|
|
97
|
+
const paidGasFee = (0, contractEventHelper_1.getNativeGasAmountFromTxReceipt)(receipt) || "0";
|
|
98
|
+
return this.subtractGasFee(sourceChain, destinationChain, gasTokenSymbol, paidGasFee, options);
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Calculate the gas fee in an ERC-20 tokens for executing a transaction at the destination chain using the source chain's gas price.
|
|
103
|
+
* @param txHash string - transaction hash
|
|
104
|
+
* @param sourceChain EVMChain - source chain
|
|
105
|
+
* @param destinationChain EVMChain - destination chain
|
|
106
|
+
* @param gasTokenSymbol string - gas token symbol
|
|
107
|
+
* @param options QueryGasFeeOptions - options
|
|
108
|
+
* @returns Promise<string> - The gas fee to be paid at source chain
|
|
109
|
+
*/
|
|
110
|
+
calculateGasFee(txHash, sourceChain, destinationChain, gasTokenSymbol, options) {
|
|
111
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
112
|
+
const provider = options.provider || (0, providerHelper_1.getDefaultProvider)(sourceChain);
|
|
113
|
+
const receipt = yield provider.getTransactionReceipt(txHash);
|
|
114
|
+
const paidGasFee = (0, contractEventHelper_1.getGasAmountFromTxReceipt)(receipt) || "0";
|
|
115
|
+
return this.subtractGasFee(sourceChain, destinationChain, gasTokenSymbol, paidGasFee, options);
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Pay native token as gas fee for the given transaction hash.
|
|
120
|
+
* If the transaction details is not valid, it will return an error with reason.
|
|
121
|
+
* @param chain - source chain
|
|
122
|
+
* @param txHash - transaction hash
|
|
123
|
+
* @param options - options
|
|
124
|
+
* @returns
|
|
125
|
+
*/
|
|
126
|
+
addNativeGas(chain, txHash, options) {
|
|
127
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
128
|
+
const evmWalletDetails = (options === null || options === void 0 ? void 0 : options.evmWalletDetails) || { useWindowEthereum: true };
|
|
129
|
+
const signer = this.getSigner(chain, evmWalletDetails);
|
|
130
|
+
const signerAddress = yield signer.getAddress();
|
|
131
|
+
const gasReceiverAddress = contract_1.GAS_RECEIVER[this.environment][chain];
|
|
132
|
+
const nativeGasTokenSymbol = contract_1.NATIVE_GAS_TOKEN_SYMBOL[chain];
|
|
133
|
+
const receipt = yield signer.provider.getTransactionReceipt(txHash);
|
|
134
|
+
if (!receipt)
|
|
135
|
+
return (0, error_1.InvalidTransactionError)(chain);
|
|
136
|
+
const destinationChain = (0, contractEventHelper_1.getDestinationChainFromTxReceipt)(receipt);
|
|
137
|
+
const logIndex = (0, contractEventHelper_1.getLogIndexFromTxReceipt)(receipt);
|
|
138
|
+
// Check if given txHash is valid
|
|
139
|
+
if (!destinationChain)
|
|
140
|
+
return (0, error_1.NotGMPTransactionError)();
|
|
141
|
+
// Check if the transaction status is already executed or not.
|
|
142
|
+
const _isExecuted = yield this.isExecuted(txHash);
|
|
143
|
+
if (_isExecuted)
|
|
144
|
+
return (0, error_1.AlreadyExecutedError)();
|
|
145
|
+
let gasFeeToAdd = options === null || options === void 0 ? void 0 : options.amount;
|
|
146
|
+
if (!gasFeeToAdd) {
|
|
147
|
+
gasFeeToAdd = yield this.calculateNativeGasFee(txHash, chain, destinationChain, nativeGasTokenSymbol, { estimatedGas: options === null || options === void 0 ? void 0 : options.estimatedGasUsed, provider: evmWalletDetails.provider }).catch(() => undefined);
|
|
148
|
+
}
|
|
149
|
+
// Check if gas price is queried successfully.
|
|
150
|
+
if (!gasFeeToAdd)
|
|
151
|
+
return (0, error_1.GasPriceAPIError)();
|
|
152
|
+
// Check if gas fee is not already sufficiently paid.
|
|
153
|
+
if (gasFeeToAdd === "0")
|
|
154
|
+
return (0, error_1.AlreadyPaidGasFeeError)();
|
|
155
|
+
const refundAddress = (options === null || options === void 0 ? void 0 : options.refundAddress) || signerAddress;
|
|
156
|
+
const contract = new ethers_1.ethers.Contract(gasReceiverAddress, IAxelarGasService_json_1.default, signer);
|
|
157
|
+
return contract
|
|
158
|
+
.addNativeGas(txHash, logIndex, refundAddress, {
|
|
159
|
+
value: gasFeeToAdd,
|
|
160
|
+
})
|
|
161
|
+
.then((tx) => tx.wait())
|
|
162
|
+
.then((tx) => ({
|
|
163
|
+
success: true,
|
|
164
|
+
transaction: tx,
|
|
165
|
+
}))
|
|
166
|
+
.catch(error_1.ContractCallError);
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Pay ERC20 token as gas fee for the given transaction hash.
|
|
171
|
+
* If the transaction details or `gasTokenAddress` is not valid, it will return an error with reason.
|
|
172
|
+
*
|
|
173
|
+
* @param chain EvmChain - The source chain of the transaction hash.
|
|
174
|
+
* @param txHash string - The transaction hash.
|
|
175
|
+
* @param gasTokenAddress string - The address of the ERC20 token to pay as gas fee.
|
|
176
|
+
* @param options AddGasOptions - The options to pay gas fee.
|
|
177
|
+
* @returns
|
|
178
|
+
*/
|
|
179
|
+
addGas(chain, txHash, gasTokenAddress, options) {
|
|
180
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
181
|
+
const evmWalletDetails = (options === null || options === void 0 ? void 0 : options.evmWalletDetails) || { useWindowEthereum: true };
|
|
182
|
+
const signer = this.getSigner(chain, evmWalletDetails);
|
|
183
|
+
const signerAddress = yield signer.getAddress();
|
|
184
|
+
const gasReceiverAddress = contract_1.GAS_RECEIVER[this.environment][chain];
|
|
185
|
+
const gasTokenContract = new ethers_1.ethers.Contract(gasTokenAddress, erc20Abi_json_1.default, signer.provider);
|
|
186
|
+
const gasTokenSymbol = yield gasTokenContract.symbol().catch(() => undefined);
|
|
187
|
+
// Check if given `gasTokenAddress` exists
|
|
188
|
+
if (!gasTokenSymbol)
|
|
189
|
+
return (0, error_1.InvalidGasTokenError)();
|
|
190
|
+
const axelarGateway = AxelarGateway_1.AxelarGateway.create(this.environment, chain, signer.provider);
|
|
191
|
+
const gatewayGasTokenAddress = yield axelarGateway.getTokenAddress(gasTokenSymbol);
|
|
192
|
+
// Check if given `gasTokenAddress` is supported by Axelar.
|
|
193
|
+
if (gatewayGasTokenAddress === ethers_1.ethers.constants.AddressZero)
|
|
194
|
+
return (0, error_1.UnsupportedGasTokenError)(gasTokenAddress);
|
|
195
|
+
const receipt = yield signer.provider.getTransactionReceipt(txHash);
|
|
196
|
+
// Check if transaction exists
|
|
197
|
+
if (!receipt)
|
|
198
|
+
return (0, error_1.InvalidTransactionError)(chain);
|
|
199
|
+
const destinationChain = (0, contractEventHelper_1.getDestinationChainFromTxReceipt)(receipt);
|
|
200
|
+
const logIndex = (0, contractEventHelper_1.getLogIndexFromTxReceipt)(receipt);
|
|
201
|
+
// Check if given txHash is valid
|
|
202
|
+
if (!destinationChain)
|
|
203
|
+
return (0, error_1.NotGMPTransactionError)();
|
|
204
|
+
// Check if the transaction status is already executed or not.
|
|
205
|
+
const _isExecuted = yield this.isExecuted(txHash);
|
|
206
|
+
if (_isExecuted)
|
|
207
|
+
return (0, error_1.AlreadyExecutedError)();
|
|
208
|
+
let gasFeeToAdd = options === null || options === void 0 ? void 0 : options.amount;
|
|
209
|
+
if (!gasFeeToAdd) {
|
|
210
|
+
gasFeeToAdd = yield this.calculateGasFee(txHash, chain, destinationChain, gasTokenSymbol, {
|
|
211
|
+
estimatedGas: options === null || options === void 0 ? void 0 : options.estimatedGasUsed,
|
|
212
|
+
provider: evmWalletDetails.provider,
|
|
213
|
+
}).catch(() => undefined);
|
|
214
|
+
}
|
|
215
|
+
// Check if gas price is queried successfully.
|
|
216
|
+
if (!gasFeeToAdd)
|
|
217
|
+
return (0, error_1.GasPriceAPIError)();
|
|
218
|
+
// Check if gas fee is not already sufficiently paid.
|
|
219
|
+
if (gasFeeToAdd === "0")
|
|
220
|
+
return (0, error_1.AlreadyPaidGasFeeError)();
|
|
221
|
+
const refundAddress = (options === null || options === void 0 ? void 0 : options.refundAddress) || signerAddress;
|
|
222
|
+
const contract = new ethers_1.ethers.Contract(gasReceiverAddress, IAxelarGasService_json_1.default, signer);
|
|
223
|
+
return contract
|
|
224
|
+
.addGas(txHash, logIndex, gasTokenAddress, gasFeeToAdd, refundAddress)
|
|
225
|
+
.then((tx) => tx.wait())
|
|
226
|
+
.then((tx) => ({
|
|
227
|
+
success: true,
|
|
228
|
+
transaction: tx,
|
|
229
|
+
}))
|
|
230
|
+
.catch(error_1.ContractCallError);
|
|
231
|
+
});
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* Execute a transaction on the destination chain associated with given `srcTxHash`.
|
|
235
|
+
* @param srcTxHash - The transaction hash on the source chain.
|
|
236
|
+
* @param evmWalletDetails - The wallet details to use for executing the transaction.
|
|
237
|
+
* @returns The result of executing the transaction.
|
|
238
|
+
*/
|
|
239
|
+
execute(srcTxHash, evmWalletDetails) {
|
|
240
|
+
var _a;
|
|
241
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
242
|
+
const response = yield this.queryExecuteParams(srcTxHash).catch(() => undefined);
|
|
243
|
+
// Couldn't query the transaction details
|
|
244
|
+
if (!response)
|
|
245
|
+
return (0, error_1.GMPQueryError)();
|
|
246
|
+
// Already executed
|
|
247
|
+
if ((response === null || response === void 0 ? void 0 : response.status) === AxelarRecoveryApi_1.GMPStatus.EXECUTED)
|
|
248
|
+
return (0, error_1.AlreadyExecutedError)();
|
|
249
|
+
// Not Approved yet
|
|
250
|
+
if ((response === null || response === void 0 ? void 0 : response.status) !== AxelarRecoveryApi_1.GMPStatus.APPROVED)
|
|
251
|
+
return (0, error_1.NotApprovedError)();
|
|
252
|
+
const executeParams = response.data;
|
|
253
|
+
const { destinationChain, destinationContractAddress } = executeParams;
|
|
254
|
+
const signer = this.getSigner(destinationChain, evmWalletDetails);
|
|
255
|
+
const contract = new ethers_1.ethers.Contract(destinationContractAddress, IAxelarExecutable_1.default.abi, signer);
|
|
256
|
+
const txResult = yield (0, helpers_1.callExecute)(executeParams, contract)
|
|
257
|
+
.then((tx) => ({
|
|
258
|
+
success: true,
|
|
259
|
+
transaction: tx,
|
|
260
|
+
}))
|
|
261
|
+
.catch(error_1.ContractCallError);
|
|
262
|
+
// Submit execute data to axelarscan if the contract execution is success.
|
|
263
|
+
const signerAddress = yield signer.getAddress();
|
|
264
|
+
const executeTxHash = (_a = txResult.transaction) === null || _a === void 0 ? void 0 : _a.transactionHash;
|
|
265
|
+
if (executeTxHash) {
|
|
266
|
+
yield this.saveGMP(srcTxHash, executeTxHash, signerAddress).catch(() => undefined);
|
|
267
|
+
}
|
|
268
|
+
return txResult;
|
|
269
|
+
});
|
|
270
|
+
}
|
|
271
|
+
subtractGasFee(sourceChain, destinationChain, gasTokenSymbol, paidGasFee, options) {
|
|
272
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
273
|
+
const totalGasFee = yield this.axelarQueryApi.estimateGasFee(sourceChain, destinationChain, gasTokenSymbol, options.estimatedGas);
|
|
274
|
+
const topupGasAmount = ethers_1.ethers.BigNumber.from(totalGasFee).sub(paidGasFee);
|
|
275
|
+
return topupGasAmount.gt(0) ? topupGasAmount.toString() : "0";
|
|
276
|
+
});
|
|
277
|
+
}
|
|
278
|
+
getSigner(chain, evmWalletDetails = { useWindowEthereum: true }) {
|
|
279
|
+
const evmClientConfig = {
|
|
280
|
+
rpcUrl: chain_1.rpcMap[chain],
|
|
281
|
+
networkOptions: chain_1.networkInfo[chain],
|
|
282
|
+
evmWalletDetails,
|
|
283
|
+
};
|
|
284
|
+
const evmClient = new EVMClient_1.default(evmClientConfig);
|
|
285
|
+
return evmClient.getSigner();
|
|
286
|
+
}
|
|
33
287
|
}
|
|
34
288
|
exports.AxelarGMPRecoveryAPI = AxelarGMPRecoveryAPI;
|
|
35
289
|
//# sourceMappingURL=AxelarGMPRecoveryAPI.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AxelarGMPRecoveryAPI.js","sourceRoot":"","sources":["../../../../src/libs/TransactionRecoveryApi/AxelarGMPRecoveryAPI.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AxelarGMPRecoveryAPI.js","sourceRoot":"","sources":["../../../../src/libs/TransactionRecoveryApi/AxelarGMPRecoveryAPI.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,44 @@
|
|
|
1
|
-
import { AxelarRecoveryAPIConfig, Environment } from "../types";
|
|
1
|
+
import { AxelarRecoveryAPIConfig, Environment, EvmChain } from "../types";
|
|
2
|
+
import { AxelarQueryClientType } from "../AxelarQueryClient";
|
|
3
|
+
import EVMClient from "./client/EVMClient";
|
|
4
|
+
export declare enum GMPStatus {
|
|
5
|
+
CALL = "call",
|
|
6
|
+
APPROVED = "approved",
|
|
7
|
+
EXECUTED = "executed",
|
|
8
|
+
ERROR = "error",
|
|
9
|
+
GAS_UNPAID = "gas_unpaid"
|
|
10
|
+
}
|
|
11
|
+
export interface GMPStatusResponse {
|
|
12
|
+
status: GMPStatus;
|
|
13
|
+
details: any;
|
|
14
|
+
call: any;
|
|
15
|
+
}
|
|
16
|
+
export interface ExecuteParams {
|
|
17
|
+
commandId: string;
|
|
18
|
+
sourceChain: string;
|
|
19
|
+
destinationChain: EvmChain;
|
|
20
|
+
sourceAddress: string;
|
|
21
|
+
destinationContractAddress: string;
|
|
22
|
+
payload: string;
|
|
23
|
+
symbol?: string;
|
|
24
|
+
amount?: string;
|
|
25
|
+
isContractCallWithToken: boolean;
|
|
26
|
+
}
|
|
27
|
+
export interface ExecuteParamsResponse {
|
|
28
|
+
status: GMPStatus;
|
|
29
|
+
data?: ExecuteParams;
|
|
30
|
+
}
|
|
2
31
|
export declare class AxelarRecoveryApi {
|
|
3
32
|
readonly environment: Environment;
|
|
4
33
|
readonly recoveryApiUrl: string;
|
|
34
|
+
readonly axelarCachingServiceUrl: string;
|
|
5
35
|
readonly axelarRpcUrl: string;
|
|
36
|
+
readonly config: AxelarRecoveryAPIConfig;
|
|
37
|
+
protected axelarQuerySvc: AxelarQueryClientType | null;
|
|
38
|
+
protected evmClient: EVMClient;
|
|
6
39
|
constructor(config: AxelarRecoveryAPIConfig);
|
|
40
|
+
queryTransactionStatus(txHash: string): Promise<GMPStatusResponse>;
|
|
41
|
+
queryExecuteParams(txHash: string): Promise<Nullable<ExecuteParamsResponse>>;
|
|
7
42
|
createPendingTransfers(params: {
|
|
8
43
|
chain: string;
|
|
9
44
|
}): Promise<import("@cosmjs/stargate").DeliverTxResponse>;
|
|
@@ -13,7 +48,19 @@ export declare class AxelarRecoveryApi {
|
|
|
13
48
|
signCommands(params: {
|
|
14
49
|
chain: string;
|
|
15
50
|
}): Promise<import("@cosmjs/stargate").DeliverTxResponse>;
|
|
16
|
-
queryBatchedCommands(
|
|
17
|
-
|
|
51
|
+
queryBatchedCommands({ chain, id }: {
|
|
52
|
+
chain: string;
|
|
53
|
+
id?: string;
|
|
54
|
+
}): Promise<import("@axelar-network/axelarjs-types/axelar/evm/v1beta1/query").BatchedCommandsResponse>;
|
|
55
|
+
queryGatewayAddress({ chain }: {
|
|
56
|
+
chain: string;
|
|
57
|
+
}): Promise<import("@axelar-network/axelarjs-types/axelar/evm/v1beta1/query").GatewayAddressResponse>;
|
|
58
|
+
getSignedTxAndBroadcast(chain: EvmChain, data: string): Promise<import("@ethersproject/abstract-provider").TransactionResponse>;
|
|
59
|
+
sendEvmTxToRelayer(chain: EvmChain, data: string): Promise<any>;
|
|
60
|
+
broadcastEvmTx(chain: EvmChain, data: string): Promise<import("@ethersproject/abstract-provider").TransactionResponse>;
|
|
61
|
+
execRecoveryUrlFetch(endpoint: string, params: any): Promise<any>;
|
|
62
|
+
execPost(base: string, endpoint: string, params: any): Promise<any>;
|
|
63
|
+
execGet(base: string, params?: any): Promise<any>;
|
|
64
|
+
get getAxelarCachingServiceUrl(): string;
|
|
18
65
|
}
|
|
19
66
|
//# sourceMappingURL=AxelarRecoveryApi.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AxelarRecoveryApi.d.ts","sourceRoot":"","sources":["../../../../src/libs/TransactionRecoveryApi/AxelarRecoveryApi.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AxelarRecoveryApi.d.ts","sourceRoot":"","sources":["../../../../src/libs/TransactionRecoveryApi/AxelarRecoveryApi.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,uBAAuB,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAE1E,OAAO,EAAqB,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAChF,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAK3C,oBAAY,SAAS;IACnB,IAAI,SAAS;IACb,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,KAAK,UAAU;IACf,UAAU,eAAe;CAC1B;AACD,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,SAAS,CAAC;IAClB,OAAO,EAAE,GAAG,CAAC;IACb,IAAI,EAAE,GAAG,CAAC;CACX;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,QAAQ,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,0BAA0B,EAAE,MAAM,CAAC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uBAAuB,EAAE,OAAO,CAAC;CAClC;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,SAAS,CAAC;IAClB,IAAI,CAAC,EAAE,aAAa,CAAC;CACtB;AAED,qBAAa,iBAAiB;IAC5B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC;IACzC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAC;IACzC,SAAS,CAAC,cAAc,EAAE,qBAAqB,GAAG,IAAI,CAAQ;IAC9D,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC;gBAEZ,MAAM,EAAE,uBAAuB;IAUrC,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAqClE,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;IA4C5E,sBAAsB,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE;IAgBhD,uBAAuB,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE;IAejD,YAAY,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE;IAetC,oBAAoB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE;IAMlE,mBAAmB,CAAC,EAAE,KAAK,EAAE,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE;IAMhD,uBAAuB,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM;IAiBrD,kBAAkB,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM;IAgBhD,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM;IAS5C,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG;IAIlD,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG;IAUpD,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG;IAQ/C,IAAI,0BAA0B,IAAI,MAAM,CAEvC;CACF"}
|