@skip-go/client 1.5.3-alpha.1 → 1.5.4
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/cjs/api/getAssets.cjs +5 -5
- package/dist/cjs/api/getAssetsBetweenChains.cjs +4 -4
- package/dist/cjs/api/getBridges.cjs +4 -4
- package/dist/cjs/api/getChains.cjs +4 -4
- package/dist/cjs/api/getVenues.cjs +4 -4
- package/dist/cjs/api/postAssetsFromSource.cjs +5 -5
- package/dist/cjs/api/postBalances.cjs +4 -4
- package/dist/cjs/api/postIbcOriginAssets.cjs +4 -4
- package/dist/cjs/api/postMessages.cjs +4 -4
- package/dist/cjs/api/postMessagesDirect.cjs +4 -4
- package/dist/cjs/api/postRecommendAssets.cjs +4 -4
- package/dist/cjs/api/postRoute.cjs +4 -4
- package/dist/cjs/api/postSubmitTransaction.cjs +4 -4
- package/dist/cjs/api/postTrackTransaction.cjs +4 -4
- package/dist/cjs/api/postTransactionStatus.cjs +4 -4
- package/dist/cjs/{chunk-HFEMNOJS.cjs → chunk-2QPPD3BB.cjs} +3 -0
- package/dist/cjs/{chunk-7SZZBUBD.cjs → chunk-2SA3OAIJ.cjs} +3 -3
- package/dist/cjs/{chunk-APJDSXWR.cjs → chunk-3RPOC3AX.cjs} +12 -12
- package/dist/cjs/chunk-4BWE7SOV.cjs +68 -0
- package/dist/cjs/{chunk-FF5UWES6.cjs → chunk-4GHUZDDP.cjs} +4 -4
- package/dist/cjs/{chunk-KM2D7PJL.cjs → chunk-4TBONPD6.cjs} +33 -33
- package/dist/cjs/chunk-5JS6DMVZ.cjs +214 -0
- package/dist/cjs/{chunk-NWD4MAMT.cjs → chunk-5KWNKICM.cjs} +4 -10
- package/dist/cjs/{chunk-I2FDWZZJ.cjs → chunk-67WZP4PA.cjs} +106 -807
- package/dist/cjs/{chunk-WKYP2NMS.cjs → chunk-6W2OIU3O.cjs} +15 -15
- package/dist/cjs/{chunk-PDTIT3JO.cjs → chunk-7CFJPJJ2.cjs} +22 -22
- package/dist/cjs/chunk-7HDLYDAS.cjs +55 -0
- package/dist/cjs/{chunk-AW6IQ7JH.cjs → chunk-A5S6SIYN.cjs} +2 -2
- package/dist/cjs/{chunk-ZBJZTBIW.cjs → chunk-ASDMDYTC.cjs} +2 -2
- package/dist/cjs/{chunk-QAHHTQ7V.cjs → chunk-ATW6UNT5.cjs} +4 -4
- package/dist/cjs/{chunk-PLO5CVGN.cjs → chunk-AUTOIM57.cjs} +2 -2
- package/dist/cjs/{chunk-KWH6S7PB.cjs → chunk-CK6CQWQU.cjs} +6 -6
- package/dist/cjs/{chunk-RC73RNNQ.cjs → chunk-EGFH6FEG.cjs} +4 -4
- package/dist/cjs/{chunk-T5EGKQAT.cjs → chunk-FCTBCHOT.cjs} +2 -2
- package/dist/cjs/{chunk-S3BKLN4L.cjs → chunk-IJIBMN2F.cjs} +2 -2
- package/dist/cjs/{chunk-262HFM6V.cjs → chunk-JRXPJ45U.cjs} +2 -2
- package/dist/cjs/chunk-KZOSEIWH.cjs +10 -0
- package/dist/cjs/{chunk-3M7YYWGL.cjs → chunk-MUJBB64F.cjs} +3 -7
- package/dist/cjs/{chunk-3NHW3XWK.cjs → chunk-NCFH5MGF.cjs} +2 -2
- package/dist/cjs/{chunk-DWOE6N5S.cjs → chunk-NM4PISTQ.cjs} +189 -188
- package/dist/cjs/{chunk-4MV4GLIA.cjs → chunk-OJISEAMX.cjs} +2 -2
- package/dist/cjs/{chunk-JWWJIJUE.cjs → chunk-PDNKS5R2.cjs} +2 -2
- package/dist/cjs/{chunk-RBM66GW6.cjs → chunk-UXW4XVHF.cjs} +2 -2
- package/dist/cjs/chunk-VEEDEDME.cjs +454 -0
- package/dist/cjs/{chunk-DLT6Q6RB.cjs → chunk-WOSAJSJB.cjs} +163 -149
- package/dist/cjs/{chunk-XCFPRLX3.cjs → chunk-WRTBZRHG.cjs} +161 -161
- package/dist/cjs/{chunk-BCX2D6TE.cjs → chunk-ZHV4J6EM.cjs} +55 -23
- package/dist/cjs/index.cjs +123 -115
- package/dist/cjs/public-functions/executeMultipleRoutes.cjs +19 -29
- package/dist/cjs/public-functions/executeRoute.cjs +19 -29
- package/dist/cjs/public-functions/getCosmosGasAmountForMessage.cjs +5 -5
- package/dist/cjs/public-functions/getEvmGasAmountForMessage.cjs +1 -1
- package/dist/cjs/public-functions/getFeeInfoForChain.cjs +6 -5
- package/dist/cjs/public-functions/getRecommendedGasPrice.cjs +8 -7
- package/dist/cjs/public-functions/getRouteWithGasOnReceive.cjs +33 -29
- package/dist/cjs/public-functions/getSigningStargateClient.cjs +6 -6
- package/dist/cjs/public-functions/setApiOptions.cjs +4 -4
- package/dist/cjs/public-functions/setClientOptions.cjs +7 -7
- package/dist/cjs/public-functions/subscribeToRouteStatus.cjs +9 -9
- package/dist/cjs/public-functions/validateCosmosGasBalance.cjs +10 -10
- package/dist/cjs/public-functions/waitForTransaction.cjs +10 -6
- package/dist/esm/api/getAssets.d.ts +1 -1
- package/dist/esm/api/getAssets.js +3 -3
- package/dist/esm/api/getAssetsBetweenChains.d.ts +1 -1
- package/dist/esm/api/getAssetsBetweenChains.js +3 -3
- package/dist/esm/api/getBridges.d.ts +1 -1
- package/dist/esm/api/getBridges.js +3 -3
- package/dist/esm/api/getChains.d.ts +1 -1
- package/dist/esm/api/getChains.js +3 -3
- package/dist/esm/api/getVenues.js +3 -3
- package/dist/esm/api/postAssetsFromSource.d.ts +1 -1
- package/dist/esm/api/postAssetsFromSource.js +4 -4
- package/dist/esm/api/postBalances.d.ts +2 -2
- package/dist/esm/api/postBalances.js +3 -3
- package/dist/esm/api/postIbcOriginAssets.js +3 -3
- package/dist/esm/api/postMessages.d.ts +2 -2
- package/dist/esm/api/postMessages.js +3 -3
- package/dist/esm/api/postMessagesDirect.d.ts +1 -1
- package/dist/esm/api/postMessagesDirect.js +3 -3
- package/dist/esm/api/postRecommendAssets.d.ts +1 -1
- package/dist/esm/api/postRecommendAssets.js +3 -3
- package/dist/esm/api/postRoute.d.ts +2 -2
- package/dist/esm/api/postRoute.js +3 -3
- package/dist/esm/api/postSubmitTransaction.d.ts +2 -2
- package/dist/esm/api/postSubmitTransaction.js +3 -3
- package/dist/esm/api/postTrackTransaction.d.ts +2 -2
- package/dist/esm/api/postTrackTransaction.js +3 -3
- package/dist/esm/api/postTransactionStatus.d.ts +72 -68
- package/dist/esm/api/postTransactionStatus.js +3 -3
- package/dist/esm/{callbacks-C-KUJnDv.d.ts → callbacks-CZNSHCBb.d.ts} +5 -5
- package/dist/esm/chunk-22LYQHMA.js +53 -0
- package/dist/esm/{chunk-YLVUKXLR.js → chunk-3JHLVPRG.js} +1 -1
- package/dist/esm/chunk-763YPOJQ.js +431 -0
- package/dist/esm/chunk-7OHBD7I6.js +212 -0
- package/dist/esm/{chunk-FNTPI2AV.js → chunk-A5NZMSTI.js} +1 -1
- package/dist/esm/{chunk-QRKO56DH.js → chunk-BJKCMEMJ.js} +3 -8
- package/dist/esm/chunk-E4NRDAVO.js +65 -0
- package/dist/esm/{chunk-HDW6XFWX.js → chunk-ETBJVFQP.js} +1 -1
- package/dist/esm/{chunk-UIDIKXMB.js → chunk-F2LQB2DP.js} +6 -5
- package/dist/esm/{chunk-VGCTTJO7.js → chunk-F66EKL3W.js} +3 -0
- package/dist/esm/{chunk-V7VKYD4J.js → chunk-G63PICMU.js} +2 -2
- package/dist/esm/{chunk-KNXMSLOB.js → chunk-GLH7IRLX.js} +2 -2
- package/dist/esm/{chunk-RFJYCJK4.js → chunk-HNU2Y3JI.js} +1 -1
- package/dist/esm/{chunk-QL423UEF.js → chunk-HP5EMWC6.js} +163 -149
- package/dist/esm/{chunk-MYGJGC62.js → chunk-J24LYWJE.js} +1 -1
- package/dist/esm/{chunk-JYYCFKB4.js → chunk-KS764SOZ.js} +15 -15
- package/dist/esm/{chunk-SFWTQBQT.js → chunk-KXS5UH7E.js} +4 -4
- package/dist/esm/{chunk-VWOMKMH2.js → chunk-KZKAL5ZN.js} +1 -1
- package/dist/esm/{chunk-IKWC55JU.js → chunk-LAGER3PR.js} +61 -740
- package/dist/esm/{chunk-3WFXBPS2.js → chunk-N4PTRCNT.js} +1 -1
- package/dist/esm/{chunk-IHSSWY3M.js → chunk-P36PE4CR.js} +1 -1
- package/dist/esm/{chunk-UBVBVJPY.js → chunk-QYXGDTUU.js} +1 -1
- package/dist/esm/{chunk-QO2CYYF5.js → chunk-RTDD7HZ3.js} +4 -7
- package/dist/esm/chunk-SWYON2RG.js +7 -0
- package/dist/esm/{chunk-AUNRER4I.js → chunk-SXBG57J3.js} +1 -1
- package/dist/esm/{chunk-HELQO7PA.js → chunk-TGTOO2ZQ.js} +2 -2
- package/dist/esm/{chunk-6M7N6EAO.js → chunk-TON3V7SK.js} +14 -14
- package/dist/esm/{chunk-KXQ2ASHQ.js → chunk-UHCKOKBM.js} +1 -1
- package/dist/esm/{chunk-YGQ4NKTM.js → chunk-UN46DUOV.js} +1 -1
- package/dist/esm/{chunk-2PWROHHX.js → chunk-VMEHGKH7.js} +2 -2
- package/dist/esm/{chunk-5IXH2QPF.js → chunk-WRPS6WK2.js} +52 -20
- package/dist/esm/{chunk-44IX6KPJ.js → chunk-XNU3TKKM.js} +1 -1
- package/dist/esm/{client-types-CGMuZ3zo.d.ts → client-types-BX_0924O.d.ts} +1 -1
- package/dist/esm/{generateApi-D_-Gso-x.d.ts → generateApi-Clc85Kxw.d.ts} +1 -1
- package/dist/esm/index.d.ts +264 -261
- package/dist/esm/index.js +32 -28
- package/dist/esm/public-functions/executeMultipleRoutes.d.ts +4 -4
- package/dist/esm/public-functions/executeMultipleRoutes.js +18 -28
- package/dist/esm/public-functions/executeRoute.d.ts +4 -4
- package/dist/esm/public-functions/executeRoute.js +18 -28
- package/dist/esm/public-functions/getCosmosGasAmountForMessage.d.ts +1 -1
- package/dist/esm/public-functions/getCosmosGasAmountForMessage.js +3 -3
- package/dist/esm/public-functions/getEvmGasAmountForMessage.d.ts +3 -3
- package/dist/esm/public-functions/getEvmGasAmountForMessage.js +1 -1
- package/dist/esm/public-functions/getFeeInfoForChain.d.ts +1 -1
- package/dist/esm/public-functions/getFeeInfoForChain.js +5 -4
- package/dist/esm/public-functions/getRecommendedGasPrice.js +7 -6
- package/dist/esm/public-functions/getRouteWithGasOnReceive.d.ts +1 -1
- package/dist/esm/public-functions/getRouteWithGasOnReceive.js +32 -28
- package/dist/esm/public-functions/getSigningStargateClient.js +5 -5
- package/dist/esm/public-functions/setApiOptions.d.ts +1 -1
- package/dist/esm/public-functions/setApiOptions.js +3 -3
- package/dist/esm/public-functions/setClientOptions.d.ts +4 -4
- package/dist/esm/public-functions/setClientOptions.js +6 -6
- package/dist/esm/public-functions/subscribeToRouteStatus.d.ts +4 -4
- package/dist/esm/public-functions/subscribeToRouteStatus.js +5 -5
- package/dist/esm/public-functions/validateCosmosGasBalance.d.ts +4 -4
- package/dist/esm/public-functions/validateCosmosGasBalance.js +9 -9
- package/dist/esm/public-functions/waitForTransaction.d.ts +712 -74
- package/dist/esm/public-functions/waitForTransaction.js +5 -5
- package/dist/esm/{setClientOptions-C8g92xTm.d.ts → setClientOptions-DD5Mzkw_.d.ts} +3 -3
- package/dist/esm/{swaggerTypes-B_jKfpvz.d.ts → swaggerTypes-Dr4I6vW2.d.ts} +260 -256
- package/package.json +5 -5
- package/dist/cjs/chunk-4NGHNHAS.cjs +0 -46
- package/dist/esm/chunk-TNIGHYH2.js +0 -44
|
@@ -0,0 +1,431 @@
|
|
|
1
|
+
import { bignumber_default } from './chunk-KS764SOZ.js';
|
|
2
|
+
import { route } from './chunk-KZKAL5ZN.js';
|
|
3
|
+
import { ClientState, chains, assets } from './chunk-J24LYWJE.js';
|
|
4
|
+
import { defineChain, createPublicClient, fallback, http } from 'viem';
|
|
5
|
+
import { arbitrum, avalanche, base, bsc, celo, fantom, filecoin, kava, linea, mainnet, manta, moonbeam, optimism, polygon, polygonMumbai, sepolia, avalancheFuji, baseSepolia, optimismSepolia, arbitrumSepolia, blast, blastSepolia, forma, sei, bscTestnet, fantomTestnet, kavaTestnet, lineaSepolia, mantaSepoliaTestnet } from 'viem/chains';
|
|
6
|
+
|
|
7
|
+
// src/types/swaggerTypesJson.ts
|
|
8
|
+
var FeeBehaviorJson = /* @__PURE__ */ ((FeeBehaviorJson2) => {
|
|
9
|
+
FeeBehaviorJson2["FEE_BEHAVIOR_DEDUCTED"] = "FEE_BEHAVIOR_DEDUCTED";
|
|
10
|
+
FeeBehaviorJson2["FEE_BEHAVIOR_ADDITIONAL"] = "FEE_BEHAVIOR_ADDITIONAL";
|
|
11
|
+
return FeeBehaviorJson2;
|
|
12
|
+
})(FeeBehaviorJson || {});
|
|
13
|
+
var FeeTypeJson = /* @__PURE__ */ ((FeeTypeJson2) => {
|
|
14
|
+
FeeTypeJson2["SMART_RELAY"] = "SMART_RELAY";
|
|
15
|
+
return FeeTypeJson2;
|
|
16
|
+
})(FeeTypeJson || {});
|
|
17
|
+
var TransferStateJson = /* @__PURE__ */ ((TransferStateJson2) => {
|
|
18
|
+
TransferStateJson2["TRANSFER_UNKNOWN"] = "TRANSFER_UNKNOWN";
|
|
19
|
+
TransferStateJson2["TRANSFER_PENDING"] = "TRANSFER_PENDING";
|
|
20
|
+
TransferStateJson2["TRANSFER_RECEIVED"] = "TRANSFER_RECEIVED";
|
|
21
|
+
TransferStateJson2["TRANSFER_SUCCESS"] = "TRANSFER_SUCCESS";
|
|
22
|
+
TransferStateJson2["TRANSFER_FAILURE"] = "TRANSFER_FAILURE";
|
|
23
|
+
return TransferStateJson2;
|
|
24
|
+
})(TransferStateJson || {});
|
|
25
|
+
var LayerZeroTransferStateJson = /* @__PURE__ */ ((LayerZeroTransferStateJson2) => {
|
|
26
|
+
LayerZeroTransferStateJson2["LAYER_ZERO_TRANSFER_UNKNOWN"] = "LAYER_ZERO_TRANSFER_UNKNOWN";
|
|
27
|
+
LayerZeroTransferStateJson2["LAYER_ZERO_TRANSFER_SENT"] = "LAYER_ZERO_TRANSFER_SENT";
|
|
28
|
+
LayerZeroTransferStateJson2["LAYER_ZERO_TRANSFER_WAITING_FOR_COMPOSE"] = "LAYER_ZERO_TRANSFER_WAITING_FOR_COMPOSE";
|
|
29
|
+
LayerZeroTransferStateJson2["LAYER_ZERO_TRANSFER_RECEIVED"] = "LAYER_ZERO_TRANSFER_RECEIVED";
|
|
30
|
+
LayerZeroTransferStateJson2["LAYER_ZERO_TRANSFER_FAILED"] = "LAYER_ZERO_TRANSFER_FAILED";
|
|
31
|
+
return LayerZeroTransferStateJson2;
|
|
32
|
+
})(LayerZeroTransferStateJson || {});
|
|
33
|
+
var OPInitTransferStateJson = /* @__PURE__ */ ((OPInitTransferStateJson2) => {
|
|
34
|
+
OPInitTransferStateJson2["OPINIT_TRANSFER_UNKNOWN"] = "OPINIT_TRANSFER_UNKNOWN";
|
|
35
|
+
OPInitTransferStateJson2["OPINIT_TRANSFER_SENT"] = "OPINIT_TRANSFER_SENT";
|
|
36
|
+
OPInitTransferStateJson2["OPINIT_TRANSFER_RECEIVED"] = "OPINIT_TRANSFER_RECEIVED";
|
|
37
|
+
return OPInitTransferStateJson2;
|
|
38
|
+
})(OPInitTransferStateJson || {});
|
|
39
|
+
var TransactionStateJson = /* @__PURE__ */ ((TransactionStateJson2) => {
|
|
40
|
+
TransactionStateJson2["STATE_SUBMITTED"] = "STATE_SUBMITTED";
|
|
41
|
+
TransactionStateJson2["STATE_PENDING"] = "STATE_PENDING";
|
|
42
|
+
TransactionStateJson2["STATE_ABANDONED"] = "STATE_ABANDONED";
|
|
43
|
+
TransactionStateJson2["STATE_COMPLETED_SUCCESS"] = "STATE_COMPLETED_SUCCESS";
|
|
44
|
+
TransactionStateJson2["STATE_COMPLETED_ERROR"] = "STATE_COMPLETED_ERROR";
|
|
45
|
+
TransactionStateJson2["STATE_PENDING_ERROR"] = "STATE_PENDING_ERROR";
|
|
46
|
+
return TransactionStateJson2;
|
|
47
|
+
})(TransactionStateJson || {});
|
|
48
|
+
var StatusErrorTypeJson = /* @__PURE__ */ ((StatusErrorTypeJson2) => {
|
|
49
|
+
StatusErrorTypeJson2["STATUS_ERROR_UNKNOWN"] = "STATUS_ERROR_UNKNOWN";
|
|
50
|
+
StatusErrorTypeJson2["STATUS_ERROR_TRANSACTION_EXECUTION"] = "STATUS_ERROR_TRANSACTION_EXECUTION";
|
|
51
|
+
StatusErrorTypeJson2["STATUS_ERROR_INDEXING"] = "STATUS_ERROR_INDEXING";
|
|
52
|
+
StatusErrorTypeJson2["STATUS_ERROR_TRANSFER"] = "STATUS_ERROR_TRANSFER";
|
|
53
|
+
return StatusErrorTypeJson2;
|
|
54
|
+
})(StatusErrorTypeJson || {});
|
|
55
|
+
var SendTokenErrorTypeJson = /* @__PURE__ */ ((SendTokenErrorTypeJson2) => {
|
|
56
|
+
SendTokenErrorTypeJson2["SEND_TOKEN_EXECUTION_ERROR"] = "SEND_TOKEN_EXECUTION_ERROR";
|
|
57
|
+
return SendTokenErrorTypeJson2;
|
|
58
|
+
})(SendTokenErrorTypeJson || {});
|
|
59
|
+
var RoutePriceWarningTypeJson = /* @__PURE__ */ ((RoutePriceWarningTypeJson2) => {
|
|
60
|
+
RoutePriceWarningTypeJson2["LOW_INFO_WARNING"] = "LOW_INFO_WARNING";
|
|
61
|
+
RoutePriceWarningTypeJson2["BAD_PRICE_WARNING"] = "BAD_PRICE_WARNING";
|
|
62
|
+
return RoutePriceWarningTypeJson2;
|
|
63
|
+
})(RoutePriceWarningTypeJson || {});
|
|
64
|
+
var ReasonJson = /* @__PURE__ */ ((ReasonJson2) => {
|
|
65
|
+
ReasonJson2["UNKNOWN"] = "UNKNOWN";
|
|
66
|
+
ReasonJson2["MOST_LIQUID"] = "MOST_LIQUID";
|
|
67
|
+
ReasonJson2["BASE_TOKEN"] = "BASE_TOKEN";
|
|
68
|
+
ReasonJson2["DIRECT"] = "DIRECT";
|
|
69
|
+
return ReasonJson2;
|
|
70
|
+
})(ReasonJson || {});
|
|
71
|
+
var PacketErrorTypeJson = /* @__PURE__ */ ((PacketErrorTypeJson2) => {
|
|
72
|
+
PacketErrorTypeJson2["PACKET_ERROR_UNKNOWN"] = "PACKET_ERROR_UNKNOWN";
|
|
73
|
+
PacketErrorTypeJson2["PACKET_ERROR_ACKNOWLEDGEMENT"] = "PACKET_ERROR_ACKNOWLEDGEMENT";
|
|
74
|
+
PacketErrorTypeJson2["PACKET_ERROR_TIMEOUT"] = "PACKET_ERROR_TIMEOUT";
|
|
75
|
+
return PacketErrorTypeJson2;
|
|
76
|
+
})(PacketErrorTypeJson || {});
|
|
77
|
+
var HyperlaneTransferStateJson = /* @__PURE__ */ ((HyperlaneTransferStateJson2) => {
|
|
78
|
+
HyperlaneTransferStateJson2["HYPERLANE_TRANSFER_UNKNOWN"] = "HYPERLANE_TRANSFER_UNKNOWN";
|
|
79
|
+
HyperlaneTransferStateJson2["HYPERLANE_TRANSFER_SENT"] = "HYPERLANE_TRANSFER_SENT";
|
|
80
|
+
HyperlaneTransferStateJson2["HYPERLANE_TRANSFER_FAILED"] = "HYPERLANE_TRANSFER_FAILED";
|
|
81
|
+
HyperlaneTransferStateJson2["HYPERLANE_TRANSFER_RECEIVED"] = "HYPERLANE_TRANSFER_RECEIVED";
|
|
82
|
+
return HyperlaneTransferStateJson2;
|
|
83
|
+
})(HyperlaneTransferStateJson || {});
|
|
84
|
+
var ContractCallWithTokenErrorTypeJson = /* @__PURE__ */ ((ContractCallWithTokenErrorTypeJson2) => {
|
|
85
|
+
ContractCallWithTokenErrorTypeJson2["CONTRACT_CALL_WITH_TOKEN_EXECUTION_ERROR"] = "CONTRACT_CALL_WITH_TOKEN_EXECUTION_ERROR";
|
|
86
|
+
return ContractCallWithTokenErrorTypeJson2;
|
|
87
|
+
})(ContractCallWithTokenErrorTypeJson || {});
|
|
88
|
+
var ChainTypeJson = /* @__PURE__ */ ((ChainTypeJson2) => {
|
|
89
|
+
ChainTypeJson2["Cosmos"] = "cosmos";
|
|
90
|
+
ChainTypeJson2["Evm"] = "evm";
|
|
91
|
+
ChainTypeJson2["Svm"] = "svm";
|
|
92
|
+
return ChainTypeJson2;
|
|
93
|
+
})(ChainTypeJson || {});
|
|
94
|
+
var BridgeTypeJson = /* @__PURE__ */ ((BridgeTypeJson2) => {
|
|
95
|
+
BridgeTypeJson2["IBC"] = "IBC";
|
|
96
|
+
BridgeTypeJson2["AXELAR"] = "AXELAR";
|
|
97
|
+
BridgeTypeJson2["CCTP"] = "CCTP";
|
|
98
|
+
BridgeTypeJson2["HYPERLANE"] = "HYPERLANE";
|
|
99
|
+
BridgeTypeJson2["OPINIT"] = "OPINIT";
|
|
100
|
+
BridgeTypeJson2["GO_FAST"] = "GO_FAST";
|
|
101
|
+
BridgeTypeJson2["STARGATE"] = "STARGATE";
|
|
102
|
+
BridgeTypeJson2["LAYER_ZERO"] = "LAYER_ZERO";
|
|
103
|
+
BridgeTypeJson2["EUREKA"] = "EUREKA";
|
|
104
|
+
return BridgeTypeJson2;
|
|
105
|
+
})(BridgeTypeJson || {});
|
|
106
|
+
var GoFastTransferStateJson = /* @__PURE__ */ ((GoFastTransferStateJson2) => {
|
|
107
|
+
GoFastTransferStateJson2["GO_FAST_TRANSFER_UNKNOWN"] = "GO_FAST_TRANSFER_UNKNOWN";
|
|
108
|
+
GoFastTransferStateJson2["GO_FAST_TRANSFER_SENT"] = "GO_FAST_TRANSFER_SENT";
|
|
109
|
+
GoFastTransferStateJson2["GO_FAST_POST_ACTION_FAILED"] = "GO_FAST_POST_ACTION_FAILED";
|
|
110
|
+
GoFastTransferStateJson2["GO_FAST_TRANSFER_TIMEOUT"] = "GO_FAST_TRANSFER_TIMEOUT";
|
|
111
|
+
GoFastTransferStateJson2["GO_FAST_TRANSFER_FILLED"] = "GO_FAST_TRANSFER_FILLED";
|
|
112
|
+
GoFastTransferStateJson2["GO_FAST_TRANSFER_REFUNDED"] = "GO_FAST_TRANSFER_REFUNDED";
|
|
113
|
+
return GoFastTransferStateJson2;
|
|
114
|
+
})(GoFastTransferStateJson || {});
|
|
115
|
+
var StargateTransferStateJson = /* @__PURE__ */ ((StargateTransferStateJson2) => {
|
|
116
|
+
StargateTransferStateJson2["STARGATE_TRANSFER_UNKNOWN"] = "STARGATE_TRANSFER_UNKNOWN";
|
|
117
|
+
StargateTransferStateJson2["STARGATE_TRANSFER_SENT"] = "STARGATE_TRANSFER_SENT";
|
|
118
|
+
StargateTransferStateJson2["STARGATE_TRANSFER_PENDING_CONFIRMATION"] = "STARGATE_TRANSFER_PENDING_CONFIRMATION";
|
|
119
|
+
StargateTransferStateJson2["STARGATE_TRANSFER_CONFIRMED"] = "STARGATE_TRANSFER_CONFIRMED";
|
|
120
|
+
StargateTransferStateJson2["STARGATE_TRANSFER_RECEIVED"] = "STARGATE_TRANSFER_RECEIVED";
|
|
121
|
+
StargateTransferStateJson2["STARGATE_TRANSFER_FAILED"] = "STARGATE_TRANSFER_FAILED";
|
|
122
|
+
return StargateTransferStateJson2;
|
|
123
|
+
})(StargateTransferStateJson || {});
|
|
124
|
+
var CCTPTransferStateJson = /* @__PURE__ */ ((CCTPTransferStateJson2) => {
|
|
125
|
+
CCTPTransferStateJson2["CCTP_TRANSFER_UNKNOWN"] = "CCTP_TRANSFER_UNKNOWN";
|
|
126
|
+
CCTPTransferStateJson2["CCTP_TRANSFER_SENT"] = "CCTP_TRANSFER_SENT";
|
|
127
|
+
CCTPTransferStateJson2["CCTP_TRANSFER_PENDING_CONFIRMATION"] = "CCTP_TRANSFER_PENDING_CONFIRMATION";
|
|
128
|
+
CCTPTransferStateJson2["CCTP_TRANSFER_CONFIRMED"] = "CCTP_TRANSFER_CONFIRMED";
|
|
129
|
+
CCTPTransferStateJson2["CCTP_TRANSFER_RECEIVED"] = "CCTP_TRANSFER_RECEIVED";
|
|
130
|
+
return CCTPTransferStateJson2;
|
|
131
|
+
})(CCTPTransferStateJson || {});
|
|
132
|
+
var AxelarTransferTypeJson = /* @__PURE__ */ ((AxelarTransferTypeJson2) => {
|
|
133
|
+
AxelarTransferTypeJson2["AXELAR_TRANSFER_CONTRACT_CALL_WITH_TOKEN"] = "AXELAR_TRANSFER_CONTRACT_CALL_WITH_TOKEN";
|
|
134
|
+
AxelarTransferTypeJson2["AXELAR_TRANSFER_SEND_TOKEN"] = "AXELAR_TRANSFER_SEND_TOKEN";
|
|
135
|
+
return AxelarTransferTypeJson2;
|
|
136
|
+
})(AxelarTransferTypeJson || {});
|
|
137
|
+
var AxelarTransferStateJson = /* @__PURE__ */ ((AxelarTransferStateJson2) => {
|
|
138
|
+
AxelarTransferStateJson2["AXELAR_TRANSFER_UNKNOWN"] = "AXELAR_TRANSFER_UNKNOWN";
|
|
139
|
+
AxelarTransferStateJson2["AXELAR_TRANSFER_PENDING_CONFIRMATION"] = "AXELAR_TRANSFER_PENDING_CONFIRMATION";
|
|
140
|
+
AxelarTransferStateJson2["AXELAR_TRANSFER_PENDING_RECEIPT"] = "AXELAR_TRANSFER_PENDING_RECEIPT";
|
|
141
|
+
AxelarTransferStateJson2["AXELAR_TRANSFER_SUCCESS"] = "AXELAR_TRANSFER_SUCCESS";
|
|
142
|
+
AxelarTransferStateJson2["AXELAR_TRANSFER_FAILURE"] = "AXELAR_TRANSFER_FAILURE";
|
|
143
|
+
return AxelarTransferStateJson2;
|
|
144
|
+
})(AxelarTransferStateJson || {});
|
|
145
|
+
var AutopilotActionJson = /* @__PURE__ */ ((AutopilotActionJson2) => {
|
|
146
|
+
AutopilotActionJson2["LIQUID_STAKE"] = "LIQUID_STAKE";
|
|
147
|
+
AutopilotActionJson2["CLAIM"] = "CLAIM";
|
|
148
|
+
return AutopilotActionJson2;
|
|
149
|
+
})(AutopilotActionJson || {});
|
|
150
|
+
|
|
151
|
+
// src/utils/coingecko.ts
|
|
152
|
+
var getUsdPrice = async (coingeckoId) => {
|
|
153
|
+
try {
|
|
154
|
+
const response = await fetch(`https://api.coingecko.com/api/v3/simple/price?ids=${coingeckoId}&vs_currencies=usd`);
|
|
155
|
+
const data = await response.json();
|
|
156
|
+
return data?.[coingeckoId]?.usd;
|
|
157
|
+
} catch (error) {
|
|
158
|
+
return void 0;
|
|
159
|
+
}
|
|
160
|
+
};
|
|
161
|
+
|
|
162
|
+
// src/utils/numbers.ts
|
|
163
|
+
var convertHumanReadableAmountToCryptoAmount = (humanReadableAmount, decimals) => {
|
|
164
|
+
const cryptoAmount = new bignumber_default(humanReadableAmount).shiftedBy(decimals);
|
|
165
|
+
return cryptoAmount.toFixed(0);
|
|
166
|
+
};
|
|
167
|
+
var formaTestnet = defineChain({
|
|
168
|
+
id: 984123,
|
|
169
|
+
name: "Forma Testnet",
|
|
170
|
+
nativeCurrency: {
|
|
171
|
+
name: "TIA",
|
|
172
|
+
symbol: "TIA",
|
|
173
|
+
decimals: 18
|
|
174
|
+
},
|
|
175
|
+
rpcUrls: {
|
|
176
|
+
default: {
|
|
177
|
+
http: ["https://rpc.sketchpad-1.forma.art"]
|
|
178
|
+
}
|
|
179
|
+
},
|
|
180
|
+
blockExplorers: {
|
|
181
|
+
default: {
|
|
182
|
+
name: "Forma Explorer",
|
|
183
|
+
url: "https://explorer.sketchpad-1.forma.art"
|
|
184
|
+
}
|
|
185
|
+
},
|
|
186
|
+
testnet: true
|
|
187
|
+
});
|
|
188
|
+
var evmChains = [
|
|
189
|
+
arbitrum,
|
|
190
|
+
avalanche,
|
|
191
|
+
base,
|
|
192
|
+
bsc,
|
|
193
|
+
celo,
|
|
194
|
+
fantom,
|
|
195
|
+
filecoin,
|
|
196
|
+
kava,
|
|
197
|
+
linea,
|
|
198
|
+
mainnet,
|
|
199
|
+
manta,
|
|
200
|
+
moonbeam,
|
|
201
|
+
optimism,
|
|
202
|
+
polygon,
|
|
203
|
+
polygonMumbai,
|
|
204
|
+
sepolia,
|
|
205
|
+
avalancheFuji,
|
|
206
|
+
baseSepolia,
|
|
207
|
+
optimismSepolia,
|
|
208
|
+
arbitrumSepolia,
|
|
209
|
+
blast,
|
|
210
|
+
blastSepolia,
|
|
211
|
+
forma,
|
|
212
|
+
formaTestnet,
|
|
213
|
+
sei,
|
|
214
|
+
bscTestnet,
|
|
215
|
+
fantomTestnet,
|
|
216
|
+
kavaTestnet,
|
|
217
|
+
lineaSepolia,
|
|
218
|
+
mantaSepoliaTestnet
|
|
219
|
+
];
|
|
220
|
+
|
|
221
|
+
// src/utils/array.ts
|
|
222
|
+
function isSubset(arrayA, arrayB) {
|
|
223
|
+
const setA = new Set(arrayA);
|
|
224
|
+
return arrayB.every((item) => setA.has(item));
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
// src/public-functions/getRouteWithGasOnReceive.ts
|
|
228
|
+
var GAS_ON_RECEIVE_AMOUNT_USD = {
|
|
229
|
+
["cosmos" /* Cosmos */]: 0.1,
|
|
230
|
+
evm_l2: 2
|
|
231
|
+
};
|
|
232
|
+
var DISABLED_SOURCE_CHAINIDS = ["1", "11155111"];
|
|
233
|
+
var DISABLED_DESTINATION_CHAINIDS = ["solana", "solana-devnet"];
|
|
234
|
+
var getRouteWithGasOnReceive = async (props) => {
|
|
235
|
+
const originalRoute = props.routeResponse;
|
|
236
|
+
try {
|
|
237
|
+
if (DISABLED_SOURCE_CHAINIDS.includes(originalRoute.sourceAssetChainId)) {
|
|
238
|
+
throw new Error(
|
|
239
|
+
`Routes from ${originalRoute.sourceAssetChainId} are not supported`
|
|
240
|
+
);
|
|
241
|
+
}
|
|
242
|
+
if (DISABLED_DESTINATION_CHAINIDS.includes(originalRoute.destAssetChainId)) {
|
|
243
|
+
throw new Error(
|
|
244
|
+
`Routes to ${originalRoute.destAssetChainId} are not supported`
|
|
245
|
+
);
|
|
246
|
+
}
|
|
247
|
+
const skipChains = ClientState.skipChains ? ClientState.skipChains : await chains({
|
|
248
|
+
includeEvm: true,
|
|
249
|
+
includeSvm: true,
|
|
250
|
+
chainIds: [
|
|
251
|
+
originalRoute.sourceAssetChainId,
|
|
252
|
+
originalRoute.destAssetChainId
|
|
253
|
+
],
|
|
254
|
+
onlyTestnets: props.onlyTestnets
|
|
255
|
+
});
|
|
256
|
+
const skipAssets = ClientState.skipAssets ? ClientState.skipAssets : await assets({
|
|
257
|
+
chainIds: [
|
|
258
|
+
originalRoute.sourceAssetChainId,
|
|
259
|
+
originalRoute.destAssetChainId
|
|
260
|
+
],
|
|
261
|
+
includeEvmAssets: true,
|
|
262
|
+
includeSvmAssets: true,
|
|
263
|
+
onlyTestnets: props.onlyTestnets
|
|
264
|
+
});
|
|
265
|
+
const destinationChain = skipChains?.find(
|
|
266
|
+
(chain) => chain.chainId === originalRoute.destAssetChainId
|
|
267
|
+
);
|
|
268
|
+
if (destinationChain?.feeAssets.map((i) => i.denom).includes(originalRoute.destAssetDenom)) {
|
|
269
|
+
throw new Error(
|
|
270
|
+
"Destination asset is already a fee asset on the destination chain"
|
|
271
|
+
);
|
|
272
|
+
}
|
|
273
|
+
const gasOnReceiveAmount = await getGasOnReceiveAmount({
|
|
274
|
+
destinationChain,
|
|
275
|
+
skipAssets,
|
|
276
|
+
sourceAsset: skipAssets?.[originalRoute.sourceAssetChainId]?.find(
|
|
277
|
+
(i) => i.denom === originalRoute.sourceAssetDenom
|
|
278
|
+
)
|
|
279
|
+
});
|
|
280
|
+
if (!gasOnReceiveAmount || gasOnReceiveAmount.length === 0) {
|
|
281
|
+
throw new Error(
|
|
282
|
+
"No gas on receive amount found for the destination chain"
|
|
283
|
+
);
|
|
284
|
+
}
|
|
285
|
+
const splitDenoms = chunkArray(gasOnReceiveAmount, 3);
|
|
286
|
+
let gasRoute;
|
|
287
|
+
for (const chunk of splitDenoms) {
|
|
288
|
+
const feeAssetRoutes = chunk.map(
|
|
289
|
+
async ({ amountOut, denom, amountIn }) => {
|
|
290
|
+
try {
|
|
291
|
+
const res = await route({
|
|
292
|
+
...props.routeRequest,
|
|
293
|
+
destAssetDenom: denom,
|
|
294
|
+
amountIn,
|
|
295
|
+
amountOut,
|
|
296
|
+
allowMultiTx: false
|
|
297
|
+
});
|
|
298
|
+
return res;
|
|
299
|
+
} catch (_e) {
|
|
300
|
+
return null;
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
);
|
|
304
|
+
const result = await Promise.all(feeAssetRoutes);
|
|
305
|
+
const _gasRoute = result.find((result2) => result2?.usdAmountOut);
|
|
306
|
+
if (_gasRoute?.usdAmountOut) {
|
|
307
|
+
gasRoute = _gasRoute;
|
|
308
|
+
break;
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
if (!gasRoute) {
|
|
312
|
+
throw new Error(
|
|
313
|
+
"No gas route found for the destination chain with the provided assets"
|
|
314
|
+
);
|
|
315
|
+
}
|
|
316
|
+
const mainRouteAmountIn = bignumber_default(originalRoute?.amountIn ?? 0).minus(bignumber_default(gasRoute.amountIn ?? 0)).toString();
|
|
317
|
+
const mainRoute = await route({
|
|
318
|
+
...props.routeRequest,
|
|
319
|
+
amountIn: mainRouteAmountIn,
|
|
320
|
+
amountOut: void 0
|
|
321
|
+
});
|
|
322
|
+
if (!mainRoute) {
|
|
323
|
+
throw new Error("No main route found with the provided assets");
|
|
324
|
+
}
|
|
325
|
+
if (originalRoute.txsRequired !== mainRoute.txsRequired || !isSubset(
|
|
326
|
+
originalRoute?.requiredChainAddresses,
|
|
327
|
+
mainRoute.requiredChainAddresses
|
|
328
|
+
)) {
|
|
329
|
+
throw new Error("Main route does not match the original route");
|
|
330
|
+
}
|
|
331
|
+
return {
|
|
332
|
+
mainRoute,
|
|
333
|
+
gasRoute
|
|
334
|
+
};
|
|
335
|
+
} catch (error) {
|
|
336
|
+
return {
|
|
337
|
+
mainRoute: originalRoute,
|
|
338
|
+
gasRoute: void 0
|
|
339
|
+
};
|
|
340
|
+
}
|
|
341
|
+
};
|
|
342
|
+
var getGasOnReceiveAmount = async ({
|
|
343
|
+
destinationChain,
|
|
344
|
+
skipAssets,
|
|
345
|
+
sourceAsset
|
|
346
|
+
}) => {
|
|
347
|
+
switch (destinationChain?.chainType) {
|
|
348
|
+
case "cosmos" /* Cosmos */: {
|
|
349
|
+
const usdPrice = sourceAsset?.coingeckoId ? await getUsdPrice(sourceAsset.coingeckoId) : void 0;
|
|
350
|
+
return destinationChain.feeAssets.map((asset) => {
|
|
351
|
+
const destinationAsset = skipAssets?.[destinationChain.chainId]?.find(
|
|
352
|
+
(i) => i.denom === asset.denom
|
|
353
|
+
);
|
|
354
|
+
const gasPrice = asset.gasPrice?.average ?? asset.gasPrice?.high ?? asset.gasPrice?.low;
|
|
355
|
+
if (!gasPrice || Number(gasPrice) === 0) {
|
|
356
|
+
if (!usdPrice || !sourceAsset?.decimals) return;
|
|
357
|
+
const gasOnReceiveAmountUsd = GAS_ON_RECEIVE_AMOUNT_USD["cosmos"];
|
|
358
|
+
const amountIn = bignumber_default(gasOnReceiveAmountUsd).multipliedBy(usdPrice).toString();
|
|
359
|
+
return {
|
|
360
|
+
amountIn: convertHumanReadableAmountToCryptoAmount(
|
|
361
|
+
amountIn,
|
|
362
|
+
sourceAsset.decimals
|
|
363
|
+
),
|
|
364
|
+
amountOut: void 0,
|
|
365
|
+
denom: asset.denom
|
|
366
|
+
};
|
|
367
|
+
}
|
|
368
|
+
return {
|
|
369
|
+
amountIn: void 0,
|
|
370
|
+
amountOut: gasPrice && destinationAsset?.decimals ? convertHumanReadableAmountToCryptoAmount(
|
|
371
|
+
bignumber_default(gasPrice).multipliedBy(3).toNumber(),
|
|
372
|
+
destinationAsset.decimals
|
|
373
|
+
) : void 0,
|
|
374
|
+
denom: asset.denom
|
|
375
|
+
};
|
|
376
|
+
}).filter(Boolean);
|
|
377
|
+
}
|
|
378
|
+
case "evm" /* Evm */: {
|
|
379
|
+
const sourceAssetPrice = sourceAsset?.coingeckoId ? await getUsdPrice(sourceAsset?.coingeckoId) : void 0;
|
|
380
|
+
const destinationAsset = skipAssets?.[destinationChain.chainId]?.find(
|
|
381
|
+
(i) => i.denom.includes("-native")
|
|
382
|
+
);
|
|
383
|
+
if (!sourceAssetPrice) {
|
|
384
|
+
const chain = evmChains.find(
|
|
385
|
+
(chain2) => chain2.id === Number(destinationChain?.chainId)
|
|
386
|
+
);
|
|
387
|
+
const client = createPublicClient({
|
|
388
|
+
chain,
|
|
389
|
+
transport: fallback([
|
|
390
|
+
http("https://ethereum.publicnode.com"),
|
|
391
|
+
http("https://rpc.ankr.com/eth"),
|
|
392
|
+
http("https://cloudflare-eth.com")
|
|
393
|
+
])
|
|
394
|
+
});
|
|
395
|
+
const fees = await client.estimateFeesPerGas();
|
|
396
|
+
return [
|
|
397
|
+
{
|
|
398
|
+
amountIn: void 0,
|
|
399
|
+
amountOut: bignumber_default(15e4).multipliedBy(fees.maxFeePerGas.toString()).multipliedBy(3).toString(),
|
|
400
|
+
denom: destinationAsset?.denom
|
|
401
|
+
}
|
|
402
|
+
];
|
|
403
|
+
}
|
|
404
|
+
const gasPrice = bignumber_default(GAS_ON_RECEIVE_AMOUNT_USD["evm_l2"]).dividedBy(
|
|
405
|
+
sourceAssetPrice
|
|
406
|
+
).toString();
|
|
407
|
+
return [
|
|
408
|
+
{
|
|
409
|
+
amountOut: void 0,
|
|
410
|
+
amountIn: sourceAsset?.decimals ? convertHumanReadableAmountToCryptoAmount(
|
|
411
|
+
gasPrice,
|
|
412
|
+
sourceAsset.decimals
|
|
413
|
+
) : void 0,
|
|
414
|
+
denom: destinationAsset?.denom
|
|
415
|
+
}
|
|
416
|
+
];
|
|
417
|
+
}
|
|
418
|
+
default: {
|
|
419
|
+
return;
|
|
420
|
+
}
|
|
421
|
+
}
|
|
422
|
+
};
|
|
423
|
+
var chunkArray = (arr, size = 3) => {
|
|
424
|
+
const result = [];
|
|
425
|
+
for (let i = 0; i < arr.length; i += size) {
|
|
426
|
+
result.push(arr.slice(i, i + size));
|
|
427
|
+
}
|
|
428
|
+
return result;
|
|
429
|
+
};
|
|
430
|
+
|
|
431
|
+
export { AutopilotActionJson, AxelarTransferStateJson, AxelarTransferTypeJson, BridgeTypeJson, CCTPTransferStateJson, ChainTypeJson, ContractCallWithTokenErrorTypeJson, FeeBehaviorJson, FeeTypeJson, GoFastTransferStateJson, HyperlaneTransferStateJson, LayerZeroTransferStateJson, OPInitTransferStateJson, PacketErrorTypeJson, ReasonJson, RoutePriceWarningTypeJson, SendTokenErrorTypeJson, StargateTransferStateJson, StatusErrorTypeJson, TransactionStateJson, TransferStateJson, getRouteWithGasOnReceive };
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
import { createValidAddressList, executeTransactions } from './chunk-LAGER3PR.js';
|
|
2
|
+
import { updateRouteDetails, executeAndSubscribeToRouteStatus } from './chunk-WRPS6WK2.js';
|
|
3
|
+
import { messages } from './chunk-P36PE4CR.js';
|
|
4
|
+
import { trackTransaction } from './chunk-SXBG57J3.js';
|
|
5
|
+
import { ApiState } from './chunk-F66EKL3W.js';
|
|
6
|
+
|
|
7
|
+
// src/public-functions/executeMultipleRoutes.ts
|
|
8
|
+
var executeMultipleRoutes = async (options) => {
|
|
9
|
+
const {
|
|
10
|
+
route,
|
|
11
|
+
userAddresses,
|
|
12
|
+
appendCosmosMsgs,
|
|
13
|
+
postRouteHandler,
|
|
14
|
+
slippageTolerancePercent,
|
|
15
|
+
...restOptions
|
|
16
|
+
} = options;
|
|
17
|
+
const addressList = {};
|
|
18
|
+
for (const [routeKey, routeValue] of Object.entries(route)) {
|
|
19
|
+
const _userAddresses = userAddresses[routeKey];
|
|
20
|
+
if (_userAddresses === void 0) {
|
|
21
|
+
throw new Error(
|
|
22
|
+
`executeMultipleRoutes error: no user addresses found for route: ${routeKey}`
|
|
23
|
+
);
|
|
24
|
+
}
|
|
25
|
+
const routeAddressList = await createValidAddressList({
|
|
26
|
+
userAddresses: _userAddresses,
|
|
27
|
+
route: routeValue
|
|
28
|
+
});
|
|
29
|
+
addressList[routeKey] = routeAddressList;
|
|
30
|
+
}
|
|
31
|
+
const msgsResponses = await Promise.all(
|
|
32
|
+
Object.entries(route).map(async ([routeKey, routeValue]) => {
|
|
33
|
+
const routeAddressList = addressList[routeKey];
|
|
34
|
+
if (routeAddressList === void 0) {
|
|
35
|
+
throw new Error(
|
|
36
|
+
`executeMultipleRoutes error: address list not found for route ${routeKey}`
|
|
37
|
+
);
|
|
38
|
+
}
|
|
39
|
+
return await messages({
|
|
40
|
+
timeoutSeconds: options.timeoutSeconds,
|
|
41
|
+
amountIn: routeValue?.amountIn,
|
|
42
|
+
amountOut: routeValue.estimatedAmountOut || "0",
|
|
43
|
+
sourceAssetChainId: routeValue?.sourceAssetChainId,
|
|
44
|
+
sourceAssetDenom: routeValue?.sourceAssetDenom,
|
|
45
|
+
destAssetChainId: routeValue?.destAssetChainId,
|
|
46
|
+
destAssetDenom: routeValue?.destAssetDenom,
|
|
47
|
+
operations: routeValue?.operations,
|
|
48
|
+
addressList: routeAddressList,
|
|
49
|
+
slippageTolerancePercent: slippageTolerancePercent?.[routeKey] || "1",
|
|
50
|
+
chainIdsToAffiliates: ApiState.chainIdsToAffiliates,
|
|
51
|
+
postRouteHandler: postRouteHandler?.[routeKey],
|
|
52
|
+
feePayerAddress: options.svmFeePayer?.address
|
|
53
|
+
});
|
|
54
|
+
})
|
|
55
|
+
);
|
|
56
|
+
let msgsRecord = {};
|
|
57
|
+
msgsResponses.forEach((msg, index2) => {
|
|
58
|
+
const routeKey = Object.keys(route)[index2];
|
|
59
|
+
if (!routeKey) {
|
|
60
|
+
throw new Error(
|
|
61
|
+
`executeMultipleRoutes error: route key not found for index ${index2}`
|
|
62
|
+
);
|
|
63
|
+
}
|
|
64
|
+
const addedCosmosMsgs = appendCosmosMsgs?.[routeKey];
|
|
65
|
+
if (addedCosmosMsgs) {
|
|
66
|
+
Object.entries(addedCosmosMsgs).forEach(([chainId, msgs]) => {
|
|
67
|
+
const txIndex = msg?.txs?.findIndex(
|
|
68
|
+
(tx2) => "cosmosTx" in tx2 && tx2.cosmosTx.chainId === chainId
|
|
69
|
+
);
|
|
70
|
+
if (txIndex === void 0 || txIndex === -1) return;
|
|
71
|
+
const tx = msg?.txs?.[txIndex];
|
|
72
|
+
if (tx && "cosmosTx" in tx) {
|
|
73
|
+
tx.cosmosTx.msgs?.unshift(...msgs);
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
msgsRecord[routeKey] = msg;
|
|
78
|
+
});
|
|
79
|
+
let transferIndexToRouteKey = void 0;
|
|
80
|
+
const cosmosTxIndex0Map = /* @__PURE__ */ new Map();
|
|
81
|
+
let transferIndex = 0;
|
|
82
|
+
for (const [routeKey, msgs] of Object.entries(msgsRecord)) {
|
|
83
|
+
const firstTx = msgs?.txs?.[0];
|
|
84
|
+
if (firstTx && "cosmosTx" in firstTx) {
|
|
85
|
+
const { chainId, msgs: firstTxMsgs } = firstTx.cosmosTx;
|
|
86
|
+
if (!transferIndexToRouteKey) {
|
|
87
|
+
transferIndexToRouteKey = {};
|
|
88
|
+
}
|
|
89
|
+
transferIndexToRouteKey[transferIndex] = routeKey;
|
|
90
|
+
transferIndex++;
|
|
91
|
+
if (!cosmosTxIndex0Map.has(chainId)) {
|
|
92
|
+
cosmosTxIndex0Map.set(chainId, {
|
|
93
|
+
routeKey,
|
|
94
|
+
firstCosmosTx: firstTx.cosmosTx
|
|
95
|
+
});
|
|
96
|
+
} else {
|
|
97
|
+
const existing = cosmosTxIndex0Map.get(chainId);
|
|
98
|
+
if (existing && firstTxMsgs) {
|
|
99
|
+
const modifyTarget = msgsRecord[existing.routeKey]?.txs?.[0];
|
|
100
|
+
if (modifyTarget && "cosmosTx" in modifyTarget) {
|
|
101
|
+
modifyTarget.cosmosTx.msgs?.push(...firstTxMsgs);
|
|
102
|
+
msgsRecord[routeKey]?.txs?.shift();
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
Object.entries(msgsRecord).forEach(([routeKey, msgs]) => {
|
|
109
|
+
if (msgs?.txs?.length === 0) {
|
|
110
|
+
delete msgsRecord[routeKey];
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
let mainRouteId = void 0;
|
|
114
|
+
let msgsRecordIndexToRouteId = {};
|
|
115
|
+
let index = 0;
|
|
116
|
+
const transactionDetailsList = {};
|
|
117
|
+
const executeTransactionList = {};
|
|
118
|
+
const mergedMainAndSecondaryRoutes = Object.entries(msgsRecord).length !== Object.entries(route).length;
|
|
119
|
+
for (const [routeKey, msgsResponse] of Object.entries(msgsRecord)) {
|
|
120
|
+
const { id: routeId } = updateRouteDetails({
|
|
121
|
+
status: "unconfirmed",
|
|
122
|
+
options: {
|
|
123
|
+
route: route[routeKey],
|
|
124
|
+
...restOptions
|
|
125
|
+
},
|
|
126
|
+
mainRouteId,
|
|
127
|
+
transferIndexToRouteKey
|
|
128
|
+
});
|
|
129
|
+
msgsRecordIndexToRouteId[index] = routeId;
|
|
130
|
+
if (routeKey === "mainRoute") {
|
|
131
|
+
mainRouteId = routeId;
|
|
132
|
+
}
|
|
133
|
+
const { transactionDetails, executeTransaction: _executeTransaction } = await executeTransactions({
|
|
134
|
+
...restOptions,
|
|
135
|
+
routeId,
|
|
136
|
+
txs: msgsResponse?.txs,
|
|
137
|
+
route: route[routeKey],
|
|
138
|
+
userAddresses: userAddresses[routeKey],
|
|
139
|
+
isMultiRoutes: true
|
|
140
|
+
});
|
|
141
|
+
const executeTransaction = async (index2) => {
|
|
142
|
+
const txResult = await _executeTransaction(index2);
|
|
143
|
+
if (routeKey !== "mainRoute" || mergedMainAndSecondaryRoutes) {
|
|
144
|
+
const relatedRoutes = Object.entries(route).filter(([key]) => key !== "mainRoute").map(([key, route2]) => ({ route: route2, routeKey: key, status: "pending" }));
|
|
145
|
+
updateRouteDetails({
|
|
146
|
+
options: {
|
|
147
|
+
route: route[routeKey],
|
|
148
|
+
...restOptions
|
|
149
|
+
},
|
|
150
|
+
routeId: mainRouteId,
|
|
151
|
+
transferIndexToRouteKey,
|
|
152
|
+
relatedRoutes
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
return txResult;
|
|
156
|
+
};
|
|
157
|
+
if (transactionDetails[0]?.chainType === "evm" /* Evm */) {
|
|
158
|
+
for (const [index2, transactionDetail] of transactionDetails.entries()) {
|
|
159
|
+
const txResult = await executeTransaction(index2);
|
|
160
|
+
if (txResult.txHash) {
|
|
161
|
+
const trackResponse = await trackTransaction({
|
|
162
|
+
chainId: transactionDetail.chainId,
|
|
163
|
+
txHash: txResult.txHash,
|
|
164
|
+
...options.trackTxPollingOptions
|
|
165
|
+
});
|
|
166
|
+
await options?.onTransactionTracked?.({
|
|
167
|
+
txHash: txResult.txHash,
|
|
168
|
+
chainId: transactionDetail.chainId,
|
|
169
|
+
explorerLink: trackResponse.explorerLink
|
|
170
|
+
});
|
|
171
|
+
transactionDetail.txHash = txResult.txHash;
|
|
172
|
+
transactionDetail.explorerLink = trackResponse.explorerLink;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
} else {
|
|
176
|
+
executeTransactionList[index] = executeTransaction;
|
|
177
|
+
}
|
|
178
|
+
transactionDetailsList[index] = transactionDetails;
|
|
179
|
+
index++;
|
|
180
|
+
}
|
|
181
|
+
await Promise.all(
|
|
182
|
+
Object.entries(msgsRecord).map(([routeKey, msgsResponse], index2) => {
|
|
183
|
+
return executeAndSubscribeToRouteStatus({
|
|
184
|
+
transactionDetails: transactionDetailsList[index2],
|
|
185
|
+
executeTransaction: executeTransactionList[index2],
|
|
186
|
+
routeId: msgsRecordIndexToRouteId[index2],
|
|
187
|
+
options: {
|
|
188
|
+
route: route[routeKey],
|
|
189
|
+
userAddresses: userAddresses[routeKey],
|
|
190
|
+
...restOptions,
|
|
191
|
+
onRouteStatusUpdated: (routeStatus) => {
|
|
192
|
+
const relatedRoutes = Object.entries(route).filter(([key]) => key !== "mainRoute").map(([key, route2]) => ({ route: route2, routeKey: key, status: routeStatus.status }));
|
|
193
|
+
if (routeKey !== "mainRoute") {
|
|
194
|
+
updateRouteDetails({
|
|
195
|
+
options: {
|
|
196
|
+
route: route[routeKey],
|
|
197
|
+
...restOptions
|
|
198
|
+
},
|
|
199
|
+
routeId: mainRouteId,
|
|
200
|
+
transferIndexToRouteKey,
|
|
201
|
+
relatedRoutes
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
options.onRouteStatusUpdated?.(routeStatus);
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
});
|
|
208
|
+
})
|
|
209
|
+
);
|
|
210
|
+
};
|
|
211
|
+
|
|
212
|
+
export { executeMultipleRoutes };
|
|
@@ -1,11 +1,6 @@
|
|
|
1
|
+
import { DEFAULT_GAS_DENOM_OVERRIDES } from './chunk-SWYON2RG.js';
|
|
1
2
|
import { chains } from './chunk-O4J7DHZA.js';
|
|
2
|
-
import { ClientState } from './chunk-
|
|
3
|
-
|
|
4
|
-
// src/constants/constants.ts
|
|
5
|
-
var DEFAULT_GAS_DENOM_OVERRIDES = {
|
|
6
|
-
"noble-1": "uusdc"
|
|
7
|
-
};
|
|
8
|
-
var GAS_STATION_CHAIN_IDS = ["bbn-test-5", "bbn-1"];
|
|
3
|
+
import { ClientState } from './chunk-J24LYWJE.js';
|
|
9
4
|
|
|
10
5
|
// src/private-functions/getDefaultGasTokenForChain.ts
|
|
11
6
|
var getDefaultGasTokenForChain = async (chainId) => {
|
|
@@ -95,4 +90,4 @@ var getFeeInfoForChain = async ({ chainId, apiUrl, apiKey }) => {
|
|
|
95
90
|
};
|
|
96
91
|
};
|
|
97
92
|
|
|
98
|
-
export {
|
|
93
|
+
export { getFeeInfoForChain };
|