@skip-go/client 1.5.2 → 1.5.3-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (151) hide show
  1. package/dist/cjs/api/getAssets.cjs +5 -5
  2. package/dist/cjs/api/getAssetsBetweenChains.cjs +4 -4
  3. package/dist/cjs/api/getBridges.cjs +4 -4
  4. package/dist/cjs/api/getChains.cjs +4 -4
  5. package/dist/cjs/api/getVenues.cjs +4 -4
  6. package/dist/cjs/api/postAssetsFromSource.cjs +5 -5
  7. package/dist/cjs/api/postBalances.cjs +4 -4
  8. package/dist/cjs/api/postIbcOriginAssets.cjs +4 -4
  9. package/dist/cjs/api/postMessages.cjs +4 -4
  10. package/dist/cjs/api/postMessagesDirect.cjs +4 -4
  11. package/dist/cjs/api/postRecommendAssets.cjs +4 -4
  12. package/dist/cjs/api/postRoute.cjs +4 -4
  13. package/dist/cjs/api/postSubmitTransaction.cjs +4 -4
  14. package/dist/cjs/api/postTrackTransaction.cjs +4 -4
  15. package/dist/cjs/api/postTransactionStatus.cjs +4 -4
  16. package/dist/cjs/{chunk-EI4ZWAEU.cjs → chunk-262HFM6V.cjs} +2 -2
  17. package/dist/cjs/{chunk-XPQRSO4J.cjs → chunk-3NHW3XWK.cjs} +2 -2
  18. package/dist/cjs/{chunk-XEBVLUYW.cjs → chunk-4MV4GLIA.cjs} +2 -2
  19. package/dist/cjs/{chunk-MHVCR4QO.cjs → chunk-4NGHNHAS.cjs} +6 -6
  20. package/dist/cjs/{chunk-3IWLZ562.cjs → chunk-7SZZBUBD.cjs} +3 -3
  21. package/dist/cjs/{chunk-LARLMUFZ.cjs → chunk-APJDSXWR.cjs} +10 -10
  22. package/dist/cjs/{chunk-R3TSJPKH.cjs → chunk-AW6IQ7JH.cjs} +2 -2
  23. package/dist/cjs/{chunk-7D433NQ5.cjs → chunk-BCX2D6TE.cjs} +91 -18
  24. package/dist/cjs/{chunk-JUKPQLLQ.cjs → chunk-FF5UWES6.cjs} +4 -4
  25. package/dist/cjs/{chunk-MMGVGXA5.cjs → chunk-HFEMNOJS.cjs} +7 -1
  26. package/dist/cjs/{chunk-HEYFLFKD.cjs → chunk-I2FDWZZJ.cjs} +810 -109
  27. package/dist/cjs/{chunk-MFJ6S6TL.cjs → chunk-JWWJIJUE.cjs} +2 -2
  28. package/dist/cjs/{chunk-5RP766TT.cjs → chunk-KWH6S7PB.cjs} +6 -6
  29. package/dist/cjs/{chunk-GO4BJ6G2.cjs → chunk-NWD4MAMT.cjs} +14 -8
  30. package/dist/cjs/{chunk-66VIHDGM.cjs → chunk-PDTIT3JO.cjs} +13 -13
  31. package/dist/cjs/{chunk-2MAYN27U.cjs → chunk-PLO5CVGN.cjs} +2 -2
  32. package/dist/cjs/{chunk-5HZLL5KD.cjs → chunk-QAHHTQ7V.cjs} +4 -4
  33. package/dist/cjs/{chunk-AJYZ5GAD.cjs → chunk-RBM66GW6.cjs} +2 -2
  34. package/dist/cjs/{chunk-ULD54VE4.cjs → chunk-RC73RNNQ.cjs} +4 -4
  35. package/dist/cjs/{chunk-N2RG3CRN.cjs → chunk-S3BKLN4L.cjs} +2 -2
  36. package/dist/cjs/{chunk-KPV3PGBG.cjs → chunk-T5EGKQAT.cjs} +2 -2
  37. package/dist/cjs/chunk-UMBMSRZZ.cjs +185 -0
  38. package/dist/cjs/{chunk-4R6OCWRR.cjs → chunk-WKYP2NMS.cjs} +8 -6
  39. package/dist/cjs/{chunk-VMWCRZVT.cjs → chunk-XCFPRLX3.cjs} +8 -8
  40. package/dist/cjs/{chunk-XDKONUY6.cjs → chunk-ZBJZTBIW.cjs} +2 -2
  41. package/dist/cjs/index.cjs +189 -251
  42. package/dist/cjs/public-functions/executeMultipleRoutes.cjs +27 -17
  43. package/dist/cjs/public-functions/executeRoute.cjs +27 -17
  44. package/dist/cjs/public-functions/getEvmGasAmountForMessage.cjs +1 -1
  45. package/dist/cjs/public-functions/getFeeInfoForChain.cjs +6 -7
  46. package/dist/cjs/public-functions/getRecommendedGasPrice.cjs +8 -9
  47. package/dist/cjs/public-functions/getRouteWithGasOnReceive.cjs +39 -0
  48. package/dist/cjs/public-functions/getSigningStargateClient.cjs +6 -6
  49. package/dist/cjs/public-functions/setApiOptions.cjs +4 -4
  50. package/dist/cjs/public-functions/setClientOptions.cjs +5 -5
  51. package/dist/cjs/public-functions/subscribeToRouteStatus.cjs +9 -9
  52. package/dist/cjs/public-functions/validateCosmosGasBalance.cjs +8 -8
  53. package/dist/cjs/public-functions/waitForTransaction.cjs +6 -6
  54. package/dist/esm/api/getAssets.d.ts +1 -1
  55. package/dist/esm/api/getAssets.js +3 -3
  56. package/dist/esm/api/getAssetsBetweenChains.d.ts +21 -21
  57. package/dist/esm/api/getAssetsBetweenChains.js +3 -3
  58. package/dist/esm/api/getBridges.d.ts +1 -1
  59. package/dist/esm/api/getBridges.js +3 -3
  60. package/dist/esm/api/getChains.d.ts +1 -1
  61. package/dist/esm/api/getChains.js +3 -3
  62. package/dist/esm/api/getVenues.js +3 -3
  63. package/dist/esm/api/postAssetsFromSource.d.ts +1 -1
  64. package/dist/esm/api/postAssetsFromSource.js +4 -4
  65. package/dist/esm/api/postBalances.d.ts +2 -2
  66. package/dist/esm/api/postBalances.js +3 -3
  67. package/dist/esm/api/postIbcOriginAssets.d.ts +10 -10
  68. package/dist/esm/api/postIbcOriginAssets.js +3 -3
  69. package/dist/esm/api/postMessages.d.ts +12 -12
  70. package/dist/esm/api/postMessages.js +3 -3
  71. package/dist/esm/api/postMessagesDirect.d.ts +163 -161
  72. package/dist/esm/api/postMessagesDirect.js +3 -3
  73. package/dist/esm/api/postRecommendAssets.d.ts +11 -11
  74. package/dist/esm/api/postRecommendAssets.js +3 -3
  75. package/dist/esm/api/postRoute.d.ts +161 -159
  76. package/dist/esm/api/postRoute.js +3 -3
  77. package/dist/esm/api/postSubmitTransaction.d.ts +2 -2
  78. package/dist/esm/api/postSubmitTransaction.js +3 -3
  79. package/dist/esm/api/postTrackTransaction.d.ts +2 -2
  80. package/dist/esm/api/postTrackTransaction.js +3 -3
  81. package/dist/esm/api/postTransactionStatus.d.ts +36 -36
  82. package/dist/esm/api/postTransactionStatus.js +3 -3
  83. package/dist/esm/{callbacks-DCqqd0D9.d.ts → callbacks-C-KUJnDv.d.ts} +34 -4
  84. package/dist/esm/{chunk-GU3UHER5.js → chunk-2PWROHHX.js} +3 -3
  85. package/dist/esm/{chunk-MFHZBJGQ.js → chunk-3WFXBPS2.js} +1 -1
  86. package/dist/esm/{chunk-B36HVX2L.js → chunk-44IX6KPJ.js} +1 -1
  87. package/dist/esm/{chunk-WSAZDCXR.js → chunk-5IXH2QPF.js} +86 -16
  88. package/dist/esm/{chunk-Z2HSHJLW.js → chunk-6M7N6EAO.js} +3 -3
  89. package/dist/esm/{chunk-6HKZYODA.js → chunk-AUNRER4I.js} +1 -1
  90. package/dist/esm/{chunk-H2HTF2UF.js → chunk-FNTPI2AV.js} +1 -1
  91. package/dist/esm/{chunk-W5AA7QOQ.js → chunk-HDW6XFWX.js} +1 -1
  92. package/dist/esm/{chunk-RXZJUE4K.js → chunk-HELQO7PA.js} +2 -2
  93. package/dist/esm/{chunk-45B6E7AT.js → chunk-IHSSWY3M.js} +1 -1
  94. package/dist/esm/{chunk-JQOJIEZA.js → chunk-IKWC55JU.js} +739 -60
  95. package/dist/esm/{chunk-VQ5SIQWU.js → chunk-JYYCFKB4.js} +8 -7
  96. package/dist/esm/chunk-KNXMSLOB.js +1 -1
  97. package/dist/esm/{chunk-HPA2XUA3.js → chunk-KXQ2ASHQ.js} +1 -1
  98. package/dist/esm/{chunk-263RYJUL.js → chunk-MYGJGC62.js} +1 -1
  99. package/dist/esm/chunk-O4J7DHZA.js +180 -0
  100. package/dist/esm/{chunk-BNMWBXN3.js → chunk-QRKO56DH.js} +9 -4
  101. package/dist/esm/{chunk-VG3G5QHN.js → chunk-RFJYCJK4.js} +1 -1
  102. package/dist/esm/{chunk-A4MFVNZO.js → chunk-SFWTQBQT.js} +3 -3
  103. package/dist/esm/{chunk-7WXPBTSR.js → chunk-TNIGHYH2.js} +3 -3
  104. package/dist/esm/{chunk-EJZGYHGH.js → chunk-UBVBVJPY.js} +1 -1
  105. package/dist/esm/chunk-UIDIKXMB.js +1 -1
  106. package/dist/esm/{chunk-DQXGZGNJ.js → chunk-V7VKYD4J.js} +2 -2
  107. package/dist/esm/{chunk-X3PQKUOS.js → chunk-VGCTTJO7.js} +7 -1
  108. package/dist/esm/{chunk-TLVHKYQ3.js → chunk-VWOMKMH2.js} +1 -1
  109. package/dist/esm/{chunk-AGHQ7SIE.js → chunk-YGQ4NKTM.js} +1 -1
  110. package/dist/esm/{chunk-A35RPDUV.js → chunk-YLVUKXLR.js} +1 -1
  111. package/dist/esm/{client-types-BSZasIDd.d.ts → client-types-CGMuZ3zo.d.ts} +2 -2
  112. package/dist/esm/{generateApi-CwM4Ca30.d.ts → generateApi-D_-Gso-x.d.ts} +1 -1
  113. package/dist/esm/index.d.ts +166 -143
  114. package/dist/esm/index.js +26 -175
  115. package/dist/esm/public-functions/executeMultipleRoutes.d.ts +30 -10
  116. package/dist/esm/public-functions/executeMultipleRoutes.js +26 -16
  117. package/dist/esm/public-functions/executeRoute.d.ts +4 -4
  118. package/dist/esm/public-functions/executeRoute.js +26 -16
  119. package/dist/esm/public-functions/getCosmosGasAmountForMessage.d.ts +1 -1
  120. package/dist/esm/public-functions/getEvmGasAmountForMessage.d.ts +3 -3
  121. package/dist/esm/public-functions/getEvmGasAmountForMessage.js +1 -1
  122. package/dist/esm/public-functions/getFeeInfoForChain.d.ts +1 -1
  123. package/dist/esm/public-functions/getFeeInfoForChain.js +5 -6
  124. package/dist/esm/public-functions/getRecommendedGasPrice.js +7 -8
  125. package/dist/esm/public-functions/getRouteWithGasOnReceive.d.ts +20 -0
  126. package/dist/esm/public-functions/getRouteWithGasOnReceive.js +30 -0
  127. package/dist/esm/public-functions/getSigningStargateClient.js +5 -5
  128. package/dist/esm/public-functions/setApiOptions.d.ts +1 -1
  129. package/dist/esm/public-functions/setApiOptions.js +3 -3
  130. package/dist/esm/public-functions/setClientOptions.d.ts +4 -4
  131. package/dist/esm/public-functions/setClientOptions.js +4 -4
  132. package/dist/esm/public-functions/subscribeToRouteStatus.d.ts +4 -4
  133. package/dist/esm/public-functions/subscribeToRouteStatus.js +5 -5
  134. package/dist/esm/public-functions/validateCosmosGasBalance.d.ts +4 -4
  135. package/dist/esm/public-functions/validateCosmosGasBalance.js +7 -7
  136. package/dist/esm/public-functions/waitForTransaction.d.ts +38 -38
  137. package/dist/esm/public-functions/waitForTransaction.js +5 -5
  138. package/dist/esm/setClientOptions-C8g92xTm.d.ts +76 -0
  139. package/dist/esm/{swaggerTypes-Bh6hu5Q-.d.ts → swaggerTypes-B_jKfpvz.d.ts} +154 -132
  140. package/package.json +1 -1
  141. package/dist/cjs/chunk-D57TNRV3.cjs +0 -214
  142. package/dist/cjs/chunk-KSJ5QYMR.cjs +0 -185
  143. package/dist/cjs/chunk-KZOSEIWH.cjs +0 -10
  144. package/dist/cjs/chunk-Q33F7U2Y.cjs +0 -55
  145. package/dist/esm/chunk-4YTLUDRU.js +0 -212
  146. package/dist/esm/chunk-CP55HI6R.js +0 -53
  147. package/dist/esm/chunk-RHGDUD76.js +0 -180
  148. package/dist/esm/chunk-SWYON2RG.js +0 -7
  149. package/dist/esm/setClientOptions-CrXIODm0.d.ts +0 -19
  150. package/dist/cjs/{chunk-IDDRJJO5.cjs → chunk-DLT6Q6RB.cjs} +1 -1
  151. package/dist/esm/{chunk-OQDBWVET.js → chunk-QL423UEF.js} +1 -1
@@ -1,17 +1,20 @@
1
1
  'use strict';
2
2
 
3
- var chunk7D433NQ5_cjs = require('./chunk-7D433NQ5.cjs');
4
- var chunkLARLMUFZ_cjs = require('./chunk-LARLMUFZ.cjs');
3
+ var chunkBCX2D6TE_cjs = require('./chunk-BCX2D6TE.cjs');
4
+ var chunkAPJDSXWR_cjs = require('./chunk-APJDSXWR.cjs');
5
5
  var chunkKM2D7PJL_cjs = require('./chunk-KM2D7PJL.cjs');
6
6
  var chunkF3EB2AQG_cjs = require('./chunk-F3EB2AQG.cjs');
7
- var chunk4R6OCWRR_cjs = require('./chunk-4R6OCWRR.cjs');
8
- var chunkKZOSEIWH_cjs = require('./chunk-KZOSEIWH.cjs');
9
- var chunk66VIHDGM_cjs = require('./chunk-66VIHDGM.cjs');
10
- var chunkKSJ5QYMR_cjs = require('./chunk-KSJ5QYMR.cjs');
11
- var chunkEI4ZWAEU_cjs = require('./chunk-EI4ZWAEU.cjs');
12
- var chunkKPV3PGBG_cjs = require('./chunk-KPV3PGBG.cjs');
13
- var chunk5HZLL5KD_cjs = require('./chunk-5HZLL5KD.cjs');
14
- var chunkMMGVGXA5_cjs = require('./chunk-MMGVGXA5.cjs');
7
+ var chunkWKYP2NMS_cjs = require('./chunk-WKYP2NMS.cjs');
8
+ var chunkNWD4MAMT_cjs = require('./chunk-NWD4MAMT.cjs');
9
+ var chunkPDTIT3JO_cjs = require('./chunk-PDTIT3JO.cjs');
10
+ var chunkUMBMSRZZ_cjs = require('./chunk-UMBMSRZZ.cjs');
11
+ var chunk3NHW3XWK_cjs = require('./chunk-3NHW3XWK.cjs');
12
+ var chunk7SZZBUBD_cjs = require('./chunk-7SZZBUBD.cjs');
13
+ var chunk262HFM6V_cjs = require('./chunk-262HFM6V.cjs');
14
+ var chunkPLO5CVGN_cjs = require('./chunk-PLO5CVGN.cjs');
15
+ var chunkT5EGKQAT_cjs = require('./chunk-T5EGKQAT.cjs');
16
+ var chunkQAHHTQ7V_cjs = require('./chunk-QAHHTQ7V.cjs');
17
+ var chunkHFEMNOJS_cjs = require('./chunk-HFEMNOJS.cjs');
15
18
  var stargate = require('@cosmjs/stargate');
16
19
  var tx_js = require('cosmjs-types/cosmos/tx/v1beta1/tx.js');
17
20
  var protoSigning = require('@cosmjs/proto-signing');
@@ -24,19 +27,164 @@ var signing_js = require('cosmjs-types/cosmos/tx/signing/v1beta1/signing.js');
24
27
  var viem = require('viem');
25
28
  var web3_js = require('@solana/web3.js');
26
29
  var bech32 = require('bech32');
30
+ var chains = require('viem/chains');
31
+
32
+ // src/types/swaggerTypesJson.ts
33
+ var AutopilotActionJson = /* @__PURE__ */ ((AutopilotActionJson2) => {
34
+ AutopilotActionJson2["LIQUID_STAKE"] = "LIQUID_STAKE";
35
+ AutopilotActionJson2["CLAIM"] = "CLAIM";
36
+ return AutopilotActionJson2;
37
+ })(AutopilotActionJson || {});
38
+ var AxelarTransferStateJson = /* @__PURE__ */ ((AxelarTransferStateJson2) => {
39
+ AxelarTransferStateJson2["AXELAR_TRANSFER_UNKNOWN"] = "AXELAR_TRANSFER_UNKNOWN";
40
+ AxelarTransferStateJson2["AXELAR_TRANSFER_PENDING_CONFIRMATION"] = "AXELAR_TRANSFER_PENDING_CONFIRMATION";
41
+ AxelarTransferStateJson2["AXELAR_TRANSFER_PENDING_RECEIPT"] = "AXELAR_TRANSFER_PENDING_RECEIPT";
42
+ AxelarTransferStateJson2["AXELAR_TRANSFER_SUCCESS"] = "AXELAR_TRANSFER_SUCCESS";
43
+ AxelarTransferStateJson2["AXELAR_TRANSFER_FAILURE"] = "AXELAR_TRANSFER_FAILURE";
44
+ return AxelarTransferStateJson2;
45
+ })(AxelarTransferStateJson || {});
46
+ var AxelarTransferTypeJson = /* @__PURE__ */ ((AxelarTransferTypeJson2) => {
47
+ AxelarTransferTypeJson2["AXELAR_TRANSFER_CONTRACT_CALL_WITH_TOKEN"] = "AXELAR_TRANSFER_CONTRACT_CALL_WITH_TOKEN";
48
+ AxelarTransferTypeJson2["AXELAR_TRANSFER_SEND_TOKEN"] = "AXELAR_TRANSFER_SEND_TOKEN";
49
+ return AxelarTransferTypeJson2;
50
+ })(AxelarTransferTypeJson || {});
51
+ var CCTPTransferStateJson = /* @__PURE__ */ ((CCTPTransferStateJson2) => {
52
+ CCTPTransferStateJson2["CCTP_TRANSFER_UNKNOWN"] = "CCTP_TRANSFER_UNKNOWN";
53
+ CCTPTransferStateJson2["CCTP_TRANSFER_SENT"] = "CCTP_TRANSFER_SENT";
54
+ CCTPTransferStateJson2["CCTP_TRANSFER_PENDING_CONFIRMATION"] = "CCTP_TRANSFER_PENDING_CONFIRMATION";
55
+ CCTPTransferStateJson2["CCTP_TRANSFER_CONFIRMED"] = "CCTP_TRANSFER_CONFIRMED";
56
+ CCTPTransferStateJson2["CCTP_TRANSFER_RECEIVED"] = "CCTP_TRANSFER_RECEIVED";
57
+ return CCTPTransferStateJson2;
58
+ })(CCTPTransferStateJson || {});
59
+ var StargateTransferStateJson = /* @__PURE__ */ ((StargateTransferStateJson2) => {
60
+ StargateTransferStateJson2["STARGATE_TRANSFER_UNKNOWN"] = "STARGATE_TRANSFER_UNKNOWN";
61
+ StargateTransferStateJson2["STARGATE_TRANSFER_SENT"] = "STARGATE_TRANSFER_SENT";
62
+ StargateTransferStateJson2["STARGATE_TRANSFER_PENDING_CONFIRMATION"] = "STARGATE_TRANSFER_PENDING_CONFIRMATION";
63
+ StargateTransferStateJson2["STARGATE_TRANSFER_CONFIRMED"] = "STARGATE_TRANSFER_CONFIRMED";
64
+ StargateTransferStateJson2["STARGATE_TRANSFER_RECEIVED"] = "STARGATE_TRANSFER_RECEIVED";
65
+ StargateTransferStateJson2["STARGATE_TRANSFER_FAILED"] = "STARGATE_TRANSFER_FAILED";
66
+ return StargateTransferStateJson2;
67
+ })(StargateTransferStateJson || {});
68
+ var GoFastTransferStateJson = /* @__PURE__ */ ((GoFastTransferStateJson2) => {
69
+ GoFastTransferStateJson2["GO_FAST_TRANSFER_UNKNOWN"] = "GO_FAST_TRANSFER_UNKNOWN";
70
+ GoFastTransferStateJson2["GO_FAST_TRANSFER_SENT"] = "GO_FAST_TRANSFER_SENT";
71
+ GoFastTransferStateJson2["GO_FAST_POST_ACTION_FAILED"] = "GO_FAST_POST_ACTION_FAILED";
72
+ GoFastTransferStateJson2["GO_FAST_TRANSFER_TIMEOUT"] = "GO_FAST_TRANSFER_TIMEOUT";
73
+ GoFastTransferStateJson2["GO_FAST_TRANSFER_FILLED"] = "GO_FAST_TRANSFER_FILLED";
74
+ GoFastTransferStateJson2["GO_FAST_TRANSFER_REFUNDED"] = "GO_FAST_TRANSFER_REFUNDED";
75
+ return GoFastTransferStateJson2;
76
+ })(GoFastTransferStateJson || {});
77
+ var BridgeTypeJson = /* @__PURE__ */ ((BridgeTypeJson2) => {
78
+ BridgeTypeJson2["IBC"] = "IBC";
79
+ BridgeTypeJson2["AXELAR"] = "AXELAR";
80
+ BridgeTypeJson2["CCTP"] = "CCTP";
81
+ BridgeTypeJson2["HYPERLANE"] = "HYPERLANE";
82
+ BridgeTypeJson2["OPINIT"] = "OPINIT";
83
+ BridgeTypeJson2["GO_FAST"] = "GO_FAST";
84
+ BridgeTypeJson2["STARGATE"] = "STARGATE";
85
+ BridgeTypeJson2["LAYER_ZERO"] = "LAYER_ZERO";
86
+ BridgeTypeJson2["EUREKA"] = "EUREKA";
87
+ return BridgeTypeJson2;
88
+ })(BridgeTypeJson || {});
89
+ var ChainTypeJson = /* @__PURE__ */ ((ChainTypeJson2) => {
90
+ ChainTypeJson2["Cosmos"] = "cosmos";
91
+ ChainTypeJson2["Evm"] = "evm";
92
+ ChainTypeJson2["Svm"] = "svm";
93
+ return ChainTypeJson2;
94
+ })(ChainTypeJson || {});
95
+ var ContractCallWithTokenErrorTypeJson = /* @__PURE__ */ ((ContractCallWithTokenErrorTypeJson2) => {
96
+ ContractCallWithTokenErrorTypeJson2["CONTRACT_CALL_WITH_TOKEN_EXECUTION_ERROR"] = "CONTRACT_CALL_WITH_TOKEN_EXECUTION_ERROR";
97
+ return ContractCallWithTokenErrorTypeJson2;
98
+ })(ContractCallWithTokenErrorTypeJson || {});
99
+ var HyperlaneTransferStateJson = /* @__PURE__ */ ((HyperlaneTransferStateJson2) => {
100
+ HyperlaneTransferStateJson2["HYPERLANE_TRANSFER_UNKNOWN"] = "HYPERLANE_TRANSFER_UNKNOWN";
101
+ HyperlaneTransferStateJson2["HYPERLANE_TRANSFER_SENT"] = "HYPERLANE_TRANSFER_SENT";
102
+ HyperlaneTransferStateJson2["HYPERLANE_TRANSFER_FAILED"] = "HYPERLANE_TRANSFER_FAILED";
103
+ HyperlaneTransferStateJson2["HYPERLANE_TRANSFER_RECEIVED"] = "HYPERLANE_TRANSFER_RECEIVED";
104
+ return HyperlaneTransferStateJson2;
105
+ })(HyperlaneTransferStateJson || {});
106
+ var PacketErrorTypeJson = /* @__PURE__ */ ((PacketErrorTypeJson2) => {
107
+ PacketErrorTypeJson2["PACKET_ERROR_UNKNOWN"] = "PACKET_ERROR_UNKNOWN";
108
+ PacketErrorTypeJson2["PACKET_ERROR_ACKNOWLEDGEMENT"] = "PACKET_ERROR_ACKNOWLEDGEMENT";
109
+ PacketErrorTypeJson2["PACKET_ERROR_TIMEOUT"] = "PACKET_ERROR_TIMEOUT";
110
+ return PacketErrorTypeJson2;
111
+ })(PacketErrorTypeJson || {});
112
+ var ReasonJson = /* @__PURE__ */ ((ReasonJson2) => {
113
+ ReasonJson2["UNKNOWN"] = "UNKNOWN";
114
+ ReasonJson2["MOST_LIQUID"] = "MOST_LIQUID";
115
+ ReasonJson2["BASE_TOKEN"] = "BASE_TOKEN";
116
+ ReasonJson2["DIRECT"] = "DIRECT";
117
+ return ReasonJson2;
118
+ })(ReasonJson || {});
119
+ var RoutePriceWarningTypeJson = /* @__PURE__ */ ((RoutePriceWarningTypeJson2) => {
120
+ RoutePriceWarningTypeJson2["LOW_INFO_WARNING"] = "LOW_INFO_WARNING";
121
+ RoutePriceWarningTypeJson2["BAD_PRICE_WARNING"] = "BAD_PRICE_WARNING";
122
+ return RoutePriceWarningTypeJson2;
123
+ })(RoutePriceWarningTypeJson || {});
124
+ var SendTokenErrorTypeJson = /* @__PURE__ */ ((SendTokenErrorTypeJson2) => {
125
+ SendTokenErrorTypeJson2["SEND_TOKEN_EXECUTION_ERROR"] = "SEND_TOKEN_EXECUTION_ERROR";
126
+ return SendTokenErrorTypeJson2;
127
+ })(SendTokenErrorTypeJson || {});
128
+ var StatusErrorTypeJson = /* @__PURE__ */ ((StatusErrorTypeJson2) => {
129
+ StatusErrorTypeJson2["STATUS_ERROR_UNKNOWN"] = "STATUS_ERROR_UNKNOWN";
130
+ StatusErrorTypeJson2["STATUS_ERROR_TRANSACTION_EXECUTION"] = "STATUS_ERROR_TRANSACTION_EXECUTION";
131
+ StatusErrorTypeJson2["STATUS_ERROR_INDEXING"] = "STATUS_ERROR_INDEXING";
132
+ StatusErrorTypeJson2["STATUS_ERROR_TRANSFER"] = "STATUS_ERROR_TRANSFER";
133
+ return StatusErrorTypeJson2;
134
+ })(StatusErrorTypeJson || {});
135
+ var TransactionStateJson = /* @__PURE__ */ ((TransactionStateJson2) => {
136
+ TransactionStateJson2["STATE_SUBMITTED"] = "STATE_SUBMITTED";
137
+ TransactionStateJson2["STATE_PENDING"] = "STATE_PENDING";
138
+ TransactionStateJson2["STATE_ABANDONED"] = "STATE_ABANDONED";
139
+ TransactionStateJson2["STATE_COMPLETED_SUCCESS"] = "STATE_COMPLETED_SUCCESS";
140
+ TransactionStateJson2["STATE_COMPLETED_ERROR"] = "STATE_COMPLETED_ERROR";
141
+ TransactionStateJson2["STATE_PENDING_ERROR"] = "STATE_PENDING_ERROR";
142
+ return TransactionStateJson2;
143
+ })(TransactionStateJson || {});
144
+ var OPInitTransferStateJson = /* @__PURE__ */ ((OPInitTransferStateJson2) => {
145
+ OPInitTransferStateJson2["OPINIT_TRANSFER_UNKNOWN"] = "OPINIT_TRANSFER_UNKNOWN";
146
+ OPInitTransferStateJson2["OPINIT_TRANSFER_SENT"] = "OPINIT_TRANSFER_SENT";
147
+ OPInitTransferStateJson2["OPINIT_TRANSFER_RECEIVED"] = "OPINIT_TRANSFER_RECEIVED";
148
+ return OPInitTransferStateJson2;
149
+ })(OPInitTransferStateJson || {});
150
+ var LayerZeroTransferStateJson = /* @__PURE__ */ ((LayerZeroTransferStateJson2) => {
151
+ LayerZeroTransferStateJson2["LAYER_ZERO_TRANSFER_UNKNOWN"] = "LAYER_ZERO_TRANSFER_UNKNOWN";
152
+ LayerZeroTransferStateJson2["LAYER_ZERO_TRANSFER_SENT"] = "LAYER_ZERO_TRANSFER_SENT";
153
+ LayerZeroTransferStateJson2["LAYER_ZERO_TRANSFER_WAITING_FOR_COMPOSE"] = "LAYER_ZERO_TRANSFER_WAITING_FOR_COMPOSE";
154
+ LayerZeroTransferStateJson2["LAYER_ZERO_TRANSFER_RECEIVED"] = "LAYER_ZERO_TRANSFER_RECEIVED";
155
+ LayerZeroTransferStateJson2["LAYER_ZERO_TRANSFER_FAILED"] = "LAYER_ZERO_TRANSFER_FAILED";
156
+ return LayerZeroTransferStateJson2;
157
+ })(LayerZeroTransferStateJson || {});
158
+ var TransferStateJson = /* @__PURE__ */ ((TransferStateJson2) => {
159
+ TransferStateJson2["TRANSFER_UNKNOWN"] = "TRANSFER_UNKNOWN";
160
+ TransferStateJson2["TRANSFER_PENDING"] = "TRANSFER_PENDING";
161
+ TransferStateJson2["TRANSFER_RECEIVED"] = "TRANSFER_RECEIVED";
162
+ TransferStateJson2["TRANSFER_SUCCESS"] = "TRANSFER_SUCCESS";
163
+ TransferStateJson2["TRANSFER_FAILURE"] = "TRANSFER_FAILURE";
164
+ return TransferStateJson2;
165
+ })(TransferStateJson || {});
166
+ var FeeTypeJson = /* @__PURE__ */ ((FeeTypeJson2) => {
167
+ FeeTypeJson2["SMART_RELAY"] = "SMART_RELAY";
168
+ return FeeTypeJson2;
169
+ })(FeeTypeJson || {});
170
+ var FeeBehaviorJson = /* @__PURE__ */ ((FeeBehaviorJson2) => {
171
+ FeeBehaviorJson2["FEE_BEHAVIOR_DEDUCTED"] = "FEE_BEHAVIOR_DEDUCTED";
172
+ FeeBehaviorJson2["FEE_BEHAVIOR_ADDITIONAL"] = "FEE_BEHAVIOR_ADDITIONAL";
173
+ return FeeBehaviorJson2;
174
+ })(FeeBehaviorJson || {});
27
175
 
28
176
  // src/private-functions/getRestEndpointForChain.ts
29
177
  var getRestEndpointForChain = async (chainId) => {
30
- if (chunk5HZLL5KD_cjs.ClientState.endpointOptions.getRestEndpointForChain) {
31
- return chunk5HZLL5KD_cjs.ClientState.endpointOptions.getRestEndpointForChain(chainId);
178
+ if (chunkQAHHTQ7V_cjs.ClientState.endpointOptions.getRestEndpointForChain) {
179
+ return chunkQAHHTQ7V_cjs.ClientState.endpointOptions.getRestEndpointForChain(chainId);
32
180
  }
33
- if (chunk5HZLL5KD_cjs.ClientState.endpointOptions.endpoints && chunk5HZLL5KD_cjs.ClientState.endpointOptions.endpoints[chainId]) {
34
- const endpointOptions = chunk5HZLL5KD_cjs.ClientState.endpointOptions.endpoints[chainId];
181
+ if (chunkQAHHTQ7V_cjs.ClientState.endpointOptions.endpoints && chunkQAHHTQ7V_cjs.ClientState.endpointOptions.endpoints[chainId]) {
182
+ const endpointOptions = chunkQAHHTQ7V_cjs.ClientState.endpointOptions.endpoints[chainId];
35
183
  if (endpointOptions?.rest) {
36
184
  return endpointOptions.rest;
37
185
  }
38
186
  }
39
- const chain = chunkKSJ5QYMR_cjs.chains().find((chain2) => chain2.chainId === chainId);
187
+ const chain = chunkUMBMSRZZ_cjs.chains().find((chain2) => chain2.chainId === chainId);
40
188
  if (!chain) {
41
189
  throw new Error(
42
190
  `getRestEndpointForChain error: failed to find chain id '${chainId}' in registry`
@@ -48,7 +196,7 @@ var getRestEndpointForChain = async (chainId) => {
48
196
  );
49
197
  }
50
198
  const endpoints = chain.apis?.rest?.map((api) => api.address);
51
- const endpoint = await chunkKSJ5QYMR_cjs.findFirstWorkingEndpoint(endpoints, "rest");
199
+ const endpoint = await chunkUMBMSRZZ_cjs.findFirstWorkingEndpoint(endpoints, "rest");
52
200
  if (!endpoint) {
53
201
  throw new Error(
54
202
  `getRestEndpointForChain error: failed to find REST endpoint for chain id '${chainId}'`
@@ -62,9 +210,9 @@ var getAccountNumberAndSequence = async (address, chainId) => {
62
210
  if (chainId.includes("dymension")) {
63
211
  return getAccountNumberAndSequenceFromDymension(address, chainId);
64
212
  }
65
- const endpoint = await chunk66VIHDGM_cjs.getRpcEndpointForChain(chainId);
66
- const client = chunk5HZLL5KD_cjs.ClientState.signingStargateClientByChainId[chainId] ?? await stargate.StargateClient.connect(endpoint, {
67
- accountParser: chunk66VIHDGM_cjs.accountParser
213
+ const endpoint = await chunkPDTIT3JO_cjs.getRpcEndpointForChain(chainId);
214
+ const client = chunkQAHHTQ7V_cjs.ClientState.signingStargateClientByChainId[chainId] ?? await stargate.StargateClient.connect(endpoint, {
215
+ accountParser: chunkPDTIT3JO_cjs.accountParser
68
216
  });
69
217
  const account = await client.getAccount(address);
70
218
  if (!account) {
@@ -90,7 +238,7 @@ var getAccountNumberAndSequenceFromDymension = async (address, chainId) => {
90
238
  throw new Error(`Failed to fetch account data: ${res.statusText}`);
91
239
  }
92
240
  const jsonResponse = await res.json();
93
- const response = chunkMMGVGXA5_cjs.toCamel(jsonResponse);
241
+ const response = chunkHFEMNOJS_cjs.toCamel(jsonResponse);
94
242
  let sequence = 0;
95
243
  let accountNumber = 0;
96
244
  if (response.account.baseAccount) {
@@ -125,7 +273,7 @@ function encodeEthSecp256k1Pubkey(pubkey) {
125
273
 
126
274
  // src/proto-signing/pubkey.ts
127
275
  function makePubkeyAnyFromAccount(account, chainId) {
128
- const isEthermint = chunkKSJ5QYMR_cjs.getIsEthermint(chainId);
276
+ const isEthermint = chunkUMBMSRZZ_cjs.getIsEthermint(chainId);
129
277
  const pubkey = isEthermint ? encodeEthSecp256k1Pubkey(account.pubkey) : amino.encodeSecp256k1Pubkey(account.pubkey);
130
278
  const pubkeyAny = encodePubkeyToAny(pubkey, chainId, isEthermint);
131
279
  return pubkeyAny;
@@ -146,7 +294,7 @@ function encodePubkeyToAny(pubkey, chainId, isEthermint) {
146
294
  value: Uint8Array.from(keys_js.PubKey.encode(pubkeyProto).finish())
147
295
  });
148
296
  } else {
149
- const isInitia = chunkKSJ5QYMR_cjs.getIsInitia(chainId);
297
+ const isInitia = chunkUMBMSRZZ_cjs.getIsInitia(chainId);
150
298
  const pubkeyProto = keys_js.PubKey.fromPartial({
151
299
  key: encoding.fromBase64(pubkey.value)
152
300
  });
@@ -173,14 +321,14 @@ var signCosmosMessageDirect = async (options) => {
173
321
  if (!accountFromSigner) {
174
322
  throw new Error("signCosmosMessageDirect error: failed to retrieve account from signer");
175
323
  }
176
- const messages = cosmosMsgs.map((cosmosMsg) => chunkKM2D7PJL_cjs.getEncodeObjectFromCosmosMessage(cosmosMsg));
324
+ const messages2 = cosmosMsgs.map((cosmosMsg) => chunkKM2D7PJL_cjs.getEncodeObjectFromCosmosMessage(cosmosMsg));
177
325
  const txBodyEncodeObject = {
178
326
  typeUrl: "/cosmos.tx.v1beta1.TxBody",
179
327
  value: {
180
- messages
328
+ messages: messages2
181
329
  }
182
330
  };
183
- const txBodyBytes = chunk5HZLL5KD_cjs.ClientState.registry.encode(txBodyEncodeObject);
331
+ const txBodyBytes = chunkQAHHTQ7V_cjs.ClientState.registry.encode(txBodyEncodeObject);
184
332
  const gasLimit = math.Int53.fromString(fee.gas).toNumber();
185
333
  const pubkeyAny = makePubkeyAnyFromAccount(accountFromSigner, chainId);
186
334
  const authInfoBytes = protoSigning.makeAuthInfoBytes(
@@ -216,11 +364,11 @@ var signCosmosMessageAmino = async (options) => {
216
364
  "signCosmosMessageAmino: failed to retrieve account from signer"
217
365
  );
218
366
  }
219
- const messages = cosmosMsgs.map(
367
+ const messages2 = cosmosMsgs.map(
220
368
  (cosmosMsg) => chunkKM2D7PJL_cjs.getEncodeObjectFromCosmosMessage(cosmosMsg)
221
369
  );
222
370
  const signMode = signing_js.SignMode.SIGN_MODE_LEGACY_AMINO_JSON;
223
- const msgs = messages.map((msg) => chunk5HZLL5KD_cjs.ClientState.aminoTypes.toAmino(msg));
371
+ const msgs = messages2.map((msg) => chunkQAHHTQ7V_cjs.ClientState.aminoTypes.toAmino(msg));
224
372
  const signDoc = amino.makeSignDoc(
225
373
  msgs,
226
374
  fee,
@@ -231,15 +379,15 @@ var signCosmosMessageAmino = async (options) => {
231
379
  );
232
380
  const { signature, signed } = await signer.signAmino(signerAddress, signDoc);
233
381
  const signedTxBody = {
234
- messages: signed.msgs.map((msg) => chunk5HZLL5KD_cjs.ClientState.aminoTypes.fromAmino(msg)),
382
+ messages: signed.msgs.map((msg) => chunkQAHHTQ7V_cjs.ClientState.aminoTypes.fromAmino(msg)),
235
383
  memo: signed.memo
236
384
  };
237
- signedTxBody.messages[0].value.memo = messages[0].value.memo;
385
+ signedTxBody.messages[0].value.memo = messages2[0].value.memo;
238
386
  const signedTxBodyEncodeObject = {
239
387
  typeUrl: "/cosmos.tx.v1beta1.TxBody",
240
388
  value: signedTxBody
241
389
  };
242
- const signedTxBodyBytes = chunk5HZLL5KD_cjs.ClientState.registry.encode(
390
+ const signedTxBodyBytes = chunkQAHHTQ7V_cjs.ClientState.registry.encode(
243
391
  signedTxBodyEncodeObject
244
392
  );
245
393
  const signedGasLimit = math.Int53.fromString(signed.fee.gas).toNumber();
@@ -272,9 +420,9 @@ var signCosmosTransaction = async ({
272
420
  throw new Error("executeCosmosTransaction error: tx is undefined");
273
421
  }
274
422
  const chainId = tx.cosmosTx?.chainId;
275
- const messages = tx.cosmosTx?.msgs;
423
+ const messages2 = tx.cosmosTx?.msgs;
276
424
  const currentUserAddress = userAddresses.find((x) => x.chainId === tx.cosmosTx?.chainId)?.address;
277
- const gasArray = chunk5HZLL5KD_cjs.ClientState.validateGasResults;
425
+ const gasArray = chunkQAHHTQ7V_cjs.ClientState.validateGasResults;
278
426
  const gas = gasArray?.find((gas2) => gas2?.error !== null && gas2?.error !== void 0);
279
427
  if (typeof gas?.error === "string") {
280
428
  throw new Error(gas?.error);
@@ -286,10 +434,10 @@ var signCosmosTransaction = async ({
286
434
  if (chainId === void 0) {
287
435
  throw new Error("no chainId found for tx");
288
436
  }
289
- if (messages === void 0) {
437
+ if (messages2 === void 0) {
290
438
  throw new Error("no messages found for tx");
291
439
  }
292
- const { signer } = await chunk66VIHDGM_cjs.getSigningStargateClient({
440
+ const { signer } = await chunkPDTIT3JO_cjs.getSigningStargateClient({
293
441
  chainId,
294
442
  getOfflineSigner: options?.getCosmosSigner
295
443
  });
@@ -315,7 +463,7 @@ var signCosmosTransaction = async ({
315
463
  const commonRawTxBody = {
316
464
  signerAddress: currentUserAddress,
317
465
  chainId,
318
- cosmosMsgs: messages,
466
+ cosmosMsgs: messages2,
319
467
  fee,
320
468
  signerData: {
321
469
  accountNumber,
@@ -328,7 +476,7 @@ var signCosmosTransaction = async ({
328
476
  txIndex: index,
329
477
  signerAddress: currentUserAddress
330
478
  });
331
- chunk7D433NQ5_cjs.updateRouteDetails({
479
+ chunkBCX2D6TE_cjs.updateRouteDetails({
332
480
  status: "signing",
333
481
  routeId,
334
482
  options
@@ -344,7 +492,7 @@ var signCosmosTransaction = async ({
344
492
  options?.onTransactionSigned?.({
345
493
  chainId
346
494
  });
347
- chunk7D433NQ5_cjs.updateRouteDetails({
495
+ chunkBCX2D6TE_cjs.updateRouteDetails({
348
496
  status: "pending",
349
497
  routeId,
350
498
  options
@@ -371,7 +519,7 @@ var executeCosmosTransaction = async ({
371
519
  routeId
372
520
  });
373
521
  const chainId = tx.cosmosTx?.chainId;
374
- const txResponse = await chunkEI4ZWAEU_cjs.submitTransaction({
522
+ const txResponse = await chunk262HFM6V_cjs.submitTransaction({
375
523
  chainId,
376
524
  tx: rawTxBase64
377
525
  });
@@ -584,7 +732,7 @@ var erc20ABI = /* @__PURE__ */ createAbi([
584
732
 
585
733
  // src/private-functions/evm/executeEvmTransaction.ts
586
734
  var executeEvmTransaction = async (message, options, index, routeId) => {
587
- const gasArray = chunk5HZLL5KD_cjs.ClientState.validateGasResults;
735
+ const gasArray = chunkQAHHTQ7V_cjs.ClientState.validateGasResults;
588
736
  const gas = gasArray?.find((gas2) => gas2?.error !== null && gas2?.error !== void 0);
589
737
  if (typeof gas?.error === "string") {
590
738
  throw new Error(gas?.error);
@@ -630,7 +778,7 @@ var executeEvmTransaction = async (message, options, index, routeId) => {
630
778
  status: "pending",
631
779
  allowance: requiredApproval
632
780
  });
633
- chunk7D433NQ5_cjs.updateRouteDetails({
781
+ chunkBCX2D6TE_cjs.updateRouteDetails({
634
782
  status: "allowance",
635
783
  routeId,
636
784
  options
@@ -664,7 +812,7 @@ var executeEvmTransaction = async (message, options, index, routeId) => {
664
812
  signerAddress: evmSigner.account.address,
665
813
  txIndex: index
666
814
  });
667
- chunk7D433NQ5_cjs.updateRouteDetails({
815
+ chunkBCX2D6TE_cjs.updateRouteDetails({
668
816
  status: "signing",
669
817
  routeId,
670
818
  options
@@ -676,7 +824,7 @@ var executeEvmTransaction = async (message, options, index, routeId) => {
676
824
  chain: evmSigner.chain,
677
825
  value: evmTx.value === "" ? void 0 : BigInt(evmTx.value)
678
826
  });
679
- chunk7D433NQ5_cjs.updateRouteDetails({
827
+ chunkBCX2D6TE_cjs.updateRouteDetails({
680
828
  status: "pending",
681
829
  routeId,
682
830
  options
@@ -695,7 +843,7 @@ var signSvmTransaction = async ({
695
843
  index,
696
844
  routeId
697
845
  }) => {
698
- const gasArray = chunk5HZLL5KD_cjs.ClientState.validateGasResults;
846
+ const gasArray = chunkQAHHTQ7V_cjs.ClientState.validateGasResults;
699
847
  if (tx === void 0) {
700
848
  throw new Error("executeSvmTransaction error: tx is undefined");
701
849
  }
@@ -732,14 +880,14 @@ var signSvmTransaction = async ({
732
880
  signerAddress: signer.publicKey?.toBase58(),
733
881
  txIndex: index
734
882
  });
735
- chunk7D433NQ5_cjs.updateRouteDetails({
883
+ chunkBCX2D6TE_cjs.updateRouteDetails({
736
884
  status: "signing",
737
885
  routeId,
738
886
  options
739
887
  });
740
888
  const signedTx = await signer.signTransaction(transaction);
741
889
  options?.onTransactionSigned?.({ chainId: svmTx.chainId });
742
- chunk7D433NQ5_cjs.updateRouteDetails({
890
+ chunkBCX2D6TE_cjs.updateRouteDetails({
743
891
  status: "pending",
744
892
  routeId,
745
893
  options
@@ -758,10 +906,10 @@ var executeSvmTransaction = async (tx, options, index, routeId) => {
758
906
  if (!signedTx) {
759
907
  throw new Error("executeSvmTransaction error: signedTx is undefined");
760
908
  }
761
- const endpoint = await chunk66VIHDGM_cjs.getRpcEndpointForChain(svmTx.chainId);
909
+ const endpoint = await chunkPDTIT3JO_cjs.getRpcEndpointForChain(svmTx.chainId);
762
910
  const connection = new web3_js.Connection(endpoint);
763
911
  let signature;
764
- const submitTxResponse = await chunkEI4ZWAEU_cjs.submitTransaction({
912
+ const submitTxResponse = await chunk262HFM6V_cjs.submitTransaction({
765
913
  chainId: svmTx.chainId,
766
914
  tx: signedTx.toString("base64")
767
915
  });
@@ -789,13 +937,13 @@ var executeSvmTransaction = async (tx, options, index, routeId) => {
789
937
  };
790
938
  }
791
939
  if (getStatusCount > 12) {
792
- await chunkMMGVGXA5_cjs.wait(3e3);
940
+ await chunkHFEMNOJS_cjs.wait(3e3);
793
941
  throw new Error(
794
942
  `executeSvmTransaction error: waiting finalized status timed out for ${signature}`
795
943
  );
796
944
  }
797
945
  getStatusCount++;
798
- await chunkMMGVGXA5_cjs.wait(3e3);
946
+ await chunkHFEMNOJS_cjs.wait(3e3);
799
947
  } catch (error) {
800
948
  errorCount++;
801
949
  if (errorCount > 12) {
@@ -829,7 +977,7 @@ var validateEvmTokenApproval = async ({
829
977
  const fee = await extendedSigner.estimateFeesPerGas();
830
978
  const allowanceGasFee = BigInt(fee.maxFeePerGas) * BigInt(1e5);
831
979
  if (!gasBalance) {
832
- const chainAssets = (await chunk5HZLL5KD_cjs.ClientState.getSkipAssets({ chainId: tx.chainId }))[tx.chainId];
980
+ const chainAssets = (await chunkQAHHTQ7V_cjs.ClientState.getSkipAssets({ chainId: tx.chainId }))[tx.chainId];
833
981
  const nativeAsset = chainAssets?.find((x) => x.denom.includes("-native"));
834
982
  const zeroAddressAsset = chainAssets?.find(
835
983
  (x) => x.denom.toLowerCase() === "0x0000000000000000000000000000000000000000"
@@ -845,8 +993,8 @@ var validateEvmTokenApproval = async ({
845
993
  `Insufficient balance for gas on ${chain.prettyName}. Need ${formattedGasAmount} ${asset.symbol}.`
846
994
  );
847
995
  }
848
- if (chunk4R6OCWRR_cjs.BigNumber(gasBalance.amount).lt(Number(allowanceGasFee))) {
849
- const chainAssets = (await chunk5HZLL5KD_cjs.ClientState.getSkipAssets({ chainId: tx.chainId }))[tx.chainId];
996
+ if (chunkWKYP2NMS_cjs.BigNumber(gasBalance.amount).lt(Number(allowanceGasFee))) {
997
+ const chainAssets = (await chunkQAHHTQ7V_cjs.ClientState.getSkipAssets({ chainId: tx.chainId }))[tx.chainId];
850
998
  const asset = chainAssets?.find(
851
999
  (x) => x.denom.includes("-native") || x.denom.toLowerCase() === "0x0000000000000000000000000000000000000000"
852
1000
  );
@@ -895,8 +1043,8 @@ var validateEvmGasBalance = async ({
895
1043
  bypassApprovalCheck
896
1044
  }) => {
897
1045
  const chainId = tx?.chainId ?? "";
898
- const skipAssets = (await chunk5HZLL5KD_cjs.ClientState.getSkipAssets({ chainId }))?.[chainId];
899
- const skipChains = await chunk5HZLL5KD_cjs.ClientState.getSkipChains();
1046
+ const skipAssets = (await chunkQAHHTQ7V_cjs.ClientState.getSkipAssets({ chainId }))?.[chainId];
1047
+ const skipChains = await chunkQAHHTQ7V_cjs.ClientState.getSkipChains();
900
1048
  const chain = skipChains?.find?.((chain2) => chain2.chainId === chainId);
901
1049
  if (!chain) {
902
1050
  throw new Error(`failed to find chain for chainId: '${chainId}'`);
@@ -904,7 +1052,7 @@ var validateEvmGasBalance = async ({
904
1052
  if (!signer.account?.address) {
905
1053
  throw new Error("validateEvmGasBalance: Signer address not found");
906
1054
  }
907
- const skipBalances = (await chunk5HZLL5KD_cjs.balances({
1055
+ const skipBalances = (await chunkQAHHTQ7V_cjs.balances({
908
1056
  chains: {
909
1057
  [tx?.chainId ?? ""]: {
910
1058
  address: signer.account?.address
@@ -957,7 +1105,7 @@ var validateEvmGasBalance = async ({
957
1105
  fee: null
958
1106
  };
959
1107
  }
960
- if (chunk4R6OCWRR_cjs.BigNumber(gasBalance.amount ?? "").lt(Number(gasAmount))) {
1108
+ if (chunkWKYP2NMS_cjs.BigNumber(gasBalance.amount ?? "").lt(Number(gasAmount))) {
961
1109
  const asset = skipAssets?.find(
962
1110
  (x) => x.denom?.includes("-native") || x.denom?.toLowerCase() === "0x0000000000000000000000000000000000000000"
963
1111
  );
@@ -978,7 +1126,8 @@ var validateEvmGasBalance = async ({
978
1126
  };
979
1127
  var validateSvmGasBalance = async ({
980
1128
  tx,
981
- simulate
1129
+ simulate,
1130
+ feePayerAddress
982
1131
  }) => {
983
1132
  if (!tx) throw new Error("Transaction is required");
984
1133
  if (simulate === false) {
@@ -990,58 +1139,55 @@ var validateSvmGasBalance = async ({
990
1139
  fee: null
991
1140
  };
992
1141
  }
993
- const endpoint = await chunk66VIHDGM_cjs.getRpcEndpointForChain(tx.chainId ?? "");
1142
+ const endpoint = await chunkPDTIT3JO_cjs.getRpcEndpointForChain(tx.chainId ?? "");
994
1143
  const connection = new web3_js.Connection(endpoint);
995
1144
  if (!connection) throw new Error(`Failed to connect to ${tx.chainId}`);
996
- if (!tx.tx) {
997
- throw new Error("Transaction is required");
998
- }
999
- const txBuffer = Buffer.from(tx.tx, "base64");
1000
- let transaction;
1001
- try {
1002
- transaction = web3_js.Transaction.from(txBuffer);
1003
- } catch (decodeError) {
1145
+ const gasAmount = await getSVMGasAmountForMessage(connection, tx);
1146
+ const skipBalances = await chunkQAHHTQ7V_cjs.balances({
1147
+ chains: {
1148
+ solana: {
1149
+ address: feePayerAddress ?? tx?.signerAddress,
1150
+ denoms: ["solana-native"]
1151
+ }
1152
+ }
1153
+ });
1154
+ const gasBalance = skipBalances?.chains?.["solana"]?.denoms?.["solana-native"];
1155
+ if (!gasBalance) {
1004
1156
  return {
1005
1157
  success: false,
1006
- error: { decodeError: decodeError.message },
1158
+ error: `Insufficient balance for gas on Solana. Need ${gasAmount / web3_js.LAMPORTS_PER_SOL} SOL.`,
1007
1159
  asset: null,
1008
1160
  fee: null
1009
1161
  };
1010
1162
  }
1011
- const simulation = await connection.simulateTransaction(transaction);
1012
- if (simulation.value.err) {
1013
- const logs = simulation.value.logs ?? [];
1014
- const shortfall = getSolShortfall(logs);
1015
- const insufficientLamports = logs.some((log) => log.includes("insufficient lamports")) && shortfall !== null;
1016
- const insufficientFundsForRent = Object.keys(simulation.value.err).includes(
1017
- "InsufficientFundsForRent"
1018
- );
1019
- const errMsg = insufficientLamports ? `Insufficient balance for gas on Solana. You need ${shortfall.toFixed(6)} SOL to proceed.` : insufficientFundsForRent ? "Insufficient funds for rent on Solana. You need to fund your account." : "Simulation failed";
1163
+ if (chunkWKYP2NMS_cjs.bignumber_default(gasBalance.amount ?? "").lt(gasAmount)) {
1020
1164
  return {
1021
1165
  success: false,
1022
- logs,
1023
- error: errMsg,
1166
+ error: `Insufficient balance for gas on Solana. Need ${gasAmount / web3_js.LAMPORTS_PER_SOL} SOL but only have ${gasBalance.formattedAmount} SOL.`,
1024
1167
  asset: null,
1025
1168
  fee: null
1026
1169
  };
1027
1170
  }
1028
1171
  return {
1029
1172
  success: true,
1030
- logs: simulation.value.logs ?? [],
1031
1173
  error: null,
1032
1174
  asset: null,
1033
1175
  fee: null
1034
1176
  };
1035
1177
  };
1036
- function getSolShortfall(logs) {
1037
- const line = logs.find((l) => l.includes("insufficient lamports"));
1038
- if (!line) return null;
1039
- const m = line.match(/insufficient lamports (\d+), need (\d+)/);
1040
- if (!m) return null;
1041
- const have = parseInt(m[1] ?? "0", 10);
1042
- const need = parseInt(m[2] ?? "0", 10);
1043
- const shortfallLamports = need - have;
1044
- return shortfallLamports / web3_js.LAMPORTS_PER_SOL;
1178
+ async function getSVMGasAmountForMessage(connection, tx) {
1179
+ const _tx = Buffer.from(tx?.tx ?? "", "base64");
1180
+ const transaction = web3_js.Transaction.from(_tx);
1181
+ const gas = await connection.getFeeForMessage(
1182
+ transaction.compileMessage(),
1183
+ "confirmed"
1184
+ );
1185
+ if (!gas.value) {
1186
+ throw new Error(
1187
+ `estimateGasForSVMTx error: unable to get gas for transaction on ${tx?.chainId}`
1188
+ );
1189
+ }
1190
+ return gas.value;
1045
1191
  }
1046
1192
 
1047
1193
  // src/private-functions/validateGasBalances.ts
@@ -1068,7 +1214,7 @@ var validateGasBalances = async ({
1068
1214
  onValidateGasBalance?.({
1069
1215
  status: "pending"
1070
1216
  });
1071
- chunk7D433NQ5_cjs.updateRouteDetails({
1217
+ chunkBCX2D6TE_cjs.updateRouteDetails({
1072
1218
  status: "validating",
1073
1219
  routeId,
1074
1220
  options
@@ -1077,7 +1223,7 @@ var validateGasBalances = async ({
1077
1223
  throw new Error(`invalid msgs ${tx?.cosmosTx?.msgs}`);
1078
1224
  }
1079
1225
  try {
1080
- const res = await chunkLARLMUFZ_cjs.validateCosmosGasBalance({
1226
+ const res = await chunkAPJDSXWR_cjs.validateCosmosGasBalance({
1081
1227
  chainId: tx.cosmosTx.chainId ?? "",
1082
1228
  signerAddress: tx.cosmosTx.signerAddress ?? "",
1083
1229
  messages: tx.cosmosTx.msgs,
@@ -1102,7 +1248,7 @@ var validateGasBalances = async ({
1102
1248
  onValidateGasBalance?.({
1103
1249
  status: "pending"
1104
1250
  });
1105
- chunk7D433NQ5_cjs.updateRouteDetails({
1251
+ chunkBCX2D6TE_cjs.updateRouteDetails({
1106
1252
  status: "validating",
1107
1253
  routeId,
1108
1254
  options
@@ -1135,7 +1281,7 @@ var validateGasBalances = async ({
1135
1281
  onValidateGasBalance?.({
1136
1282
  status: "pending"
1137
1283
  });
1138
- chunk7D433NQ5_cjs.updateRouteDetails({
1284
+ chunkBCX2D6TE_cjs.updateRouteDetails({
1139
1285
  status: "validating",
1140
1286
  routeId,
1141
1287
  options
@@ -1143,7 +1289,8 @@ var validateGasBalances = async ({
1143
1289
  try {
1144
1290
  const res = await validateSvmGasBalance({
1145
1291
  tx: tx.svmTx,
1146
- simulate
1292
+ simulate,
1293
+ feePayerAddress: options.svmFeePayer?.address
1147
1294
  });
1148
1295
  return res;
1149
1296
  } catch (e) {
@@ -1165,13 +1312,13 @@ var validateGasBalances = async ({
1165
1312
  onValidateGasBalance?.({
1166
1313
  status: "error"
1167
1314
  });
1168
- chunk5HZLL5KD_cjs.ClientState.validateGasResults = validateResult;
1315
+ chunkQAHHTQ7V_cjs.ClientState.validateGasResults = validateResult;
1169
1316
  throw new Error(`${txError.error}`);
1170
1317
  }
1171
1318
  onValidateGasBalance?.({
1172
1319
  status: "completed"
1173
1320
  });
1174
- chunk5HZLL5KD_cjs.ClientState.validateGasResults = validateResult;
1321
+ chunkQAHHTQ7V_cjs.ClientState.validateGasResults = validateResult;
1175
1322
  };
1176
1323
 
1177
1324
  // src/private-functions/getChainIdsFromTxs.ts
@@ -1231,16 +1378,16 @@ var executeTransactions = async (options) => {
1231
1378
  throw new Error("executeRoute error: invalid message type");
1232
1379
  }
1233
1380
  });
1234
- chunk7D433NQ5_cjs.updateRouteDetails({
1381
+ chunkBCX2D6TE_cjs.updateRouteDetails({
1235
1382
  transactionDetails,
1236
1383
  routeId,
1237
1384
  options
1238
1385
  });
1239
1386
  const isGasStationSourceEVM = chainIds.find((item, i, array) => {
1240
- return chunkKZOSEIWH_cjs.GAS_STATION_CHAIN_IDS.includes(item?.chainId ?? "") && array[i - 1]?.chainType === "evm" /* Evm */;
1387
+ return chunkNWD4MAMT_cjs.GAS_STATION_CHAIN_IDS.includes(item?.chainId ?? "") && array[i - 1]?.chainType === "evm" /* Evm */;
1241
1388
  });
1242
- chunk5HZLL5KD_cjs.ClientState.validateGasResults = void 0;
1243
- const validateChainIds = !batchSimulate ? chainIds.map((x) => x?.chainId ?? "") : isGasStationSourceEVM ? chunkKZOSEIWH_cjs.GAS_STATION_CHAIN_IDS : [];
1389
+ chunkQAHHTQ7V_cjs.ClientState.validateGasResults = void 0;
1390
+ const validateChainIds = !batchSimulate ? chainIds.map((x) => x?.chainId ?? "") : isGasStationSourceEVM ? chunkNWD4MAMT_cjs.GAS_STATION_CHAIN_IDS : [];
1244
1391
  await validateGasBalances({
1245
1392
  txs,
1246
1393
  getFallbackGasAmount,
@@ -1342,7 +1489,7 @@ var executeTransactions = async (options) => {
1342
1489
  let txResult;
1343
1490
  const txSigned = signedTxs.find((item) => item.index === index);
1344
1491
  if (txSigned) {
1345
- const txResponse = await chunkEI4ZWAEU_cjs.submitTransaction({
1492
+ const txResponse = await chunk262HFM6V_cjs.submitTransaction({
1346
1493
  chainId: txSigned.chainId,
1347
1494
  tx: txSigned.tx
1348
1495
  });
@@ -1398,7 +1545,7 @@ var getDefaultFallbackGasAmount = async (chainId, chainType) => {
1398
1545
  return EVM_GAS_AMOUNT;
1399
1546
  }
1400
1547
  if (chainType !== "cosmos" /* Cosmos */) return void 0;
1401
- const venuesResult = await chunkKPV3PGBG_cjs.venues();
1548
+ const venuesResult = await chunkT5EGKQAT_cjs.venues();
1402
1549
  const isSwapChain = venuesResult?.some(
1403
1550
  (venue) => venue.chainId === chainId
1404
1551
  ) ?? false;
@@ -1411,9 +1558,9 @@ var getDefaultFallbackGasAmount = async (chainId, chainType) => {
1411
1558
  return defaultGasAmount;
1412
1559
  };
1413
1560
  var validateUserAddresses = async (userAddresses) => {
1414
- const chains2 = await chunk5HZLL5KD_cjs.ClientState.getSkipChains();
1561
+ const chains3 = await chunkQAHHTQ7V_cjs.ClientState.getSkipChains();
1415
1562
  const validations = userAddresses.map((userAddress) => {
1416
- const chain = chains2.find((chain2) => chain2.chainId === userAddress.chainId);
1563
+ const chain = chains3.find((chain2) => chain2.chainId === userAddress.chainId);
1417
1564
  switch (chain?.chainType) {
1418
1565
  case "cosmos" /* Cosmos */:
1419
1566
  try {
@@ -1451,19 +1598,19 @@ var validateUserAddresses = async (userAddresses) => {
1451
1598
  };
1452
1599
  var createValidAddressList = async ({
1453
1600
  userAddresses,
1454
- route
1601
+ route: route2
1455
1602
  }) => {
1456
1603
  let addressList = [];
1457
1604
  userAddresses.forEach((userAddress, index) => {
1458
- const requiredChainAddress = route.requiredChainAddresses[index];
1605
+ const requiredChainAddress = route2.requiredChainAddresses[index];
1459
1606
  if (requiredChainAddress === userAddress?.chainId) {
1460
1607
  addressList.push(userAddress.address);
1461
1608
  }
1462
1609
  });
1463
- if (addressList.length !== route.requiredChainAddresses.length) {
1610
+ if (addressList.length !== route2.requiredChainAddresses.length) {
1464
1611
  addressList = userAddresses.map((x) => x.address);
1465
1612
  }
1466
- const validLength = addressList.length === route.requiredChainAddresses.length || addressList.length === route.chainIds?.length;
1613
+ const validLength = addressList.length === route2.requiredChainAddresses.length || addressList.length === route2.chainIds?.length;
1467
1614
  if (!validLength) {
1468
1615
  throw new Error("createValidAddressList error: invalid address list");
1469
1616
  }
@@ -1474,5 +1621,559 @@ var createValidAddressList = async ({
1474
1621
  return addressList;
1475
1622
  };
1476
1623
 
1477
- exports.createValidAddressList = createValidAddressList;
1478
- exports.executeTransactions = executeTransactions;
1624
+ // src/public-functions/executeRoute.ts
1625
+ var executeRoute = async (options) => {
1626
+ const { route: route2, userAddresses, appendCosmosMsgs, timeoutSeconds } = options;
1627
+ const { id: routeId } = chunkBCX2D6TE_cjs.updateRouteDetails({
1628
+ status: "unconfirmed",
1629
+ options
1630
+ });
1631
+ const addressList = await createValidAddressList({
1632
+ userAddresses,
1633
+ route: route2
1634
+ });
1635
+ const response = await chunk3NHW3XWK_cjs.messages({
1636
+ timeoutSeconds,
1637
+ amountIn: route2?.amountIn,
1638
+ amountOut: route2.estimatedAmountOut || "0",
1639
+ sourceAssetChainId: route2?.sourceAssetChainId,
1640
+ sourceAssetDenom: route2?.sourceAssetDenom,
1641
+ destAssetChainId: route2?.destAssetChainId,
1642
+ destAssetDenom: route2?.destAssetDenom,
1643
+ operations: route2?.operations,
1644
+ addressList,
1645
+ slippageTolerancePercent: options.slippageTolerancePercent || "1",
1646
+ chainIdsToAffiliates: chunkHFEMNOJS_cjs.ApiState.chainIdsToAffiliates,
1647
+ postRouteHandler: options.postRouteHandler,
1648
+ feePayerAddress: options.svmFeePayer?.address
1649
+ });
1650
+ if (appendCosmosMsgs) {
1651
+ Object.entries(appendCosmosMsgs).forEach(([chainId, msgs]) => {
1652
+ const txIndex = response?.txs?.findIndex(
1653
+ (tx2) => "cosmosTx" in tx2 && tx2.cosmosTx.chainId === chainId
1654
+ );
1655
+ if (txIndex === void 0 || txIndex === -1) return;
1656
+ const tx = response?.txs?.[txIndex];
1657
+ if (tx && "cosmosTx" in tx) {
1658
+ tx.cosmosTx.msgs?.unshift(...msgs);
1659
+ }
1660
+ });
1661
+ }
1662
+ const { transactionDetails, executeTransaction } = await executeTransactions({ ...options, routeId, txs: response?.txs });
1663
+ await chunkBCX2D6TE_cjs.executeAndSubscribeToRouteStatus({
1664
+ transactionDetails,
1665
+ executeTransaction,
1666
+ routeId,
1667
+ options
1668
+ });
1669
+ };
1670
+
1671
+ // src/public-functions/executeMultipleRoutes.ts
1672
+ var executeMultipleRoutes = async (options) => {
1673
+ const {
1674
+ route: route2,
1675
+ userAddresses,
1676
+ appendCosmosMsgs,
1677
+ postRouteHandler,
1678
+ slippageTolerancePercent,
1679
+ ...restOptions
1680
+ } = options;
1681
+ const addressList = {};
1682
+ for (const [routeKey, routeValue] of Object.entries(route2)) {
1683
+ const _userAddresses = userAddresses[routeKey];
1684
+ if (_userAddresses === void 0) {
1685
+ throw new Error(
1686
+ `executeMultipleRoutes error: no user addresses found for route: ${routeKey}`
1687
+ );
1688
+ }
1689
+ const routeAddressList = await createValidAddressList({
1690
+ userAddresses: _userAddresses,
1691
+ route: routeValue
1692
+ });
1693
+ addressList[routeKey] = routeAddressList;
1694
+ }
1695
+ const msgsResponses = await Promise.all(
1696
+ Object.entries(route2).map(async ([routeKey, routeValue]) => {
1697
+ const routeAddressList = addressList[routeKey];
1698
+ if (routeAddressList === void 0) {
1699
+ throw new Error(
1700
+ `executeMultipleRoutes error: address list not found for route ${routeKey}`
1701
+ );
1702
+ }
1703
+ return await chunk3NHW3XWK_cjs.messages({
1704
+ timeoutSeconds: options.timeoutSeconds,
1705
+ amountIn: routeValue?.amountIn,
1706
+ amountOut: routeValue.estimatedAmountOut || "0",
1707
+ sourceAssetChainId: routeValue?.sourceAssetChainId,
1708
+ sourceAssetDenom: routeValue?.sourceAssetDenom,
1709
+ destAssetChainId: routeValue?.destAssetChainId,
1710
+ destAssetDenom: routeValue?.destAssetDenom,
1711
+ operations: routeValue?.operations,
1712
+ addressList: routeAddressList,
1713
+ slippageTolerancePercent: slippageTolerancePercent?.[routeKey] || "1",
1714
+ chainIdsToAffiliates: chunkHFEMNOJS_cjs.ApiState.chainIdsToAffiliates,
1715
+ postRouteHandler: postRouteHandler?.[routeKey],
1716
+ feePayerAddress: options.svmFeePayer?.address
1717
+ });
1718
+ })
1719
+ );
1720
+ let msgsRecord = {};
1721
+ msgsResponses.forEach((msg, index2) => {
1722
+ const routeKey = Object.keys(route2)[index2];
1723
+ if (!routeKey) {
1724
+ throw new Error(
1725
+ `executeMultipleRoutes error: route key not found for index ${index2}`
1726
+ );
1727
+ }
1728
+ const addedCosmosMsgs = appendCosmosMsgs?.[routeKey];
1729
+ if (addedCosmosMsgs) {
1730
+ Object.entries(addedCosmosMsgs).forEach(([chainId, msgs]) => {
1731
+ const txIndex = msg?.txs?.findIndex(
1732
+ (tx2) => "cosmosTx" in tx2 && tx2.cosmosTx.chainId === chainId
1733
+ );
1734
+ if (txIndex === void 0 || txIndex === -1) return;
1735
+ const tx = msg?.txs?.[txIndex];
1736
+ if (tx && "cosmosTx" in tx) {
1737
+ tx.cosmosTx.msgs?.unshift(...msgs);
1738
+ }
1739
+ });
1740
+ }
1741
+ msgsRecord[routeKey] = msg;
1742
+ });
1743
+ let transferIndexToRouteKey = void 0;
1744
+ const cosmosTxIndex0Map = /* @__PURE__ */ new Map();
1745
+ let transferIndex = 0;
1746
+ for (const [routeKey, msgs] of Object.entries(msgsRecord)) {
1747
+ const firstTx = msgs?.txs?.[0];
1748
+ if (firstTx && "cosmosTx" in firstTx) {
1749
+ const { chainId, msgs: firstTxMsgs } = firstTx.cosmosTx;
1750
+ if (!transferIndexToRouteKey) {
1751
+ transferIndexToRouteKey = {};
1752
+ }
1753
+ transferIndexToRouteKey[transferIndex] = routeKey;
1754
+ transferIndex++;
1755
+ if (!cosmosTxIndex0Map.has(chainId)) {
1756
+ cosmosTxIndex0Map.set(chainId, {
1757
+ routeKey,
1758
+ firstCosmosTx: firstTx.cosmosTx
1759
+ });
1760
+ } else {
1761
+ const existing = cosmosTxIndex0Map.get(chainId);
1762
+ if (existing && firstTxMsgs) {
1763
+ const modifyTarget = msgsRecord[existing.routeKey]?.txs?.[0];
1764
+ if (modifyTarget && "cosmosTx" in modifyTarget) {
1765
+ modifyTarget.cosmosTx.msgs?.push(...firstTxMsgs);
1766
+ msgsRecord[routeKey]?.txs?.shift();
1767
+ }
1768
+ }
1769
+ }
1770
+ }
1771
+ }
1772
+ Object.entries(msgsRecord).forEach(([routeKey, msgs]) => {
1773
+ if (msgs?.txs?.length === 0) {
1774
+ delete msgsRecord[routeKey];
1775
+ }
1776
+ });
1777
+ let mainRouteId = void 0;
1778
+ let msgsRecordIndexToRouteId = {};
1779
+ let index = 0;
1780
+ const transactionDetailsList = {};
1781
+ const executeTransactionList = {};
1782
+ const mergedMainAndSecondaryRoutes = Object.entries(msgsRecord).length !== Object.entries(route2).length;
1783
+ for (const [routeKey, msgsResponse] of Object.entries(msgsRecord)) {
1784
+ const { id: routeId } = chunkBCX2D6TE_cjs.updateRouteDetails({
1785
+ status: "unconfirmed",
1786
+ options: {
1787
+ route: route2[routeKey],
1788
+ ...restOptions
1789
+ },
1790
+ mainRouteId,
1791
+ transferIndexToRouteKey
1792
+ });
1793
+ msgsRecordIndexToRouteId[index] = routeId;
1794
+ if (routeKey === "mainRoute") {
1795
+ mainRouteId = routeId;
1796
+ }
1797
+ const { transactionDetails, executeTransaction: _executeTransaction } = await executeTransactions({
1798
+ ...restOptions,
1799
+ routeId,
1800
+ txs: msgsResponse?.txs,
1801
+ route: route2[routeKey],
1802
+ userAddresses: userAddresses[routeKey],
1803
+ isMultiRoutes: true
1804
+ });
1805
+ const executeTransaction = async (index2) => {
1806
+ const txResult = await _executeTransaction(index2);
1807
+ if (routeKey !== "mainRoute" || mergedMainAndSecondaryRoutes) {
1808
+ const relatedRoutes = Object.entries(route2).filter(([key]) => key !== "mainRoute").map(([key, route3]) => ({ route: route3, routeKey: key, status: "pending" }));
1809
+ chunkBCX2D6TE_cjs.updateRouteDetails({
1810
+ options: {
1811
+ route: route2[routeKey],
1812
+ ...restOptions
1813
+ },
1814
+ routeId: mainRouteId,
1815
+ transferIndexToRouteKey,
1816
+ relatedRoutes
1817
+ });
1818
+ }
1819
+ return txResult;
1820
+ };
1821
+ if (transactionDetails[0]?.chainType === "evm" /* Evm */) {
1822
+ for (const [index2, transactionDetail] of transactionDetails.entries()) {
1823
+ const txResult = await executeTransaction(index2);
1824
+ if (txResult.txHash) {
1825
+ const trackResponse = await chunkPLO5CVGN_cjs.trackTransaction({
1826
+ chainId: transactionDetail.chainId,
1827
+ txHash: txResult.txHash,
1828
+ ...options.trackTxPollingOptions
1829
+ });
1830
+ await options?.onTransactionTracked?.({
1831
+ txHash: txResult.txHash,
1832
+ chainId: transactionDetail.chainId,
1833
+ explorerLink: trackResponse.explorerLink
1834
+ });
1835
+ transactionDetail.txHash = txResult.txHash;
1836
+ transactionDetail.explorerLink = trackResponse.explorerLink;
1837
+ }
1838
+ }
1839
+ } else {
1840
+ executeTransactionList[index] = executeTransaction;
1841
+ }
1842
+ transactionDetailsList[index] = transactionDetails;
1843
+ index++;
1844
+ }
1845
+ await Promise.all(
1846
+ Object.entries(msgsRecord).map(([routeKey, msgsResponse], index2) => {
1847
+ return chunkBCX2D6TE_cjs.executeAndSubscribeToRouteStatus({
1848
+ transactionDetails: transactionDetailsList[index2],
1849
+ executeTransaction: executeTransactionList[index2],
1850
+ routeId: msgsRecordIndexToRouteId[index2],
1851
+ options: {
1852
+ route: route2[routeKey],
1853
+ userAddresses: userAddresses[routeKey],
1854
+ ...restOptions,
1855
+ onRouteStatusUpdated: (routeStatus) => {
1856
+ const relatedRoutes = Object.entries(route2).filter(([key]) => key !== "mainRoute").map(([key, route3]) => ({ route: route3, routeKey: key, status: routeStatus.status }));
1857
+ if (routeKey !== "mainRoute") {
1858
+ chunkBCX2D6TE_cjs.updateRouteDetails({
1859
+ options: {
1860
+ route: route2[routeKey],
1861
+ ...restOptions
1862
+ },
1863
+ routeId: mainRouteId,
1864
+ transferIndexToRouteKey,
1865
+ relatedRoutes
1866
+ });
1867
+ }
1868
+ options.onRouteStatusUpdated?.(routeStatus);
1869
+ }
1870
+ }
1871
+ });
1872
+ })
1873
+ );
1874
+ };
1875
+
1876
+ // src/utils/coingecko.ts
1877
+ var getUsdPrice = async (coingeckoId) => {
1878
+ try {
1879
+ const response = await fetch(`https://api.coingecko.com/api/v3/simple/price?ids=${coingeckoId}&vs_currencies=usd`);
1880
+ const data = await response.json();
1881
+ return data?.[coingeckoId]?.usd;
1882
+ } catch (error) {
1883
+ return void 0;
1884
+ }
1885
+ };
1886
+
1887
+ // src/utils/numbers.ts
1888
+ var convertHumanReadableAmountToCryptoAmount = (humanReadableAmount, decimals) => {
1889
+ const cryptoAmount = new chunkWKYP2NMS_cjs.bignumber_default(humanReadableAmount).shiftedBy(decimals);
1890
+ return cryptoAmount.toFixed(0);
1891
+ };
1892
+ var formaTestnet = viem.defineChain({
1893
+ id: 984123,
1894
+ name: "Forma Testnet",
1895
+ nativeCurrency: {
1896
+ name: "TIA",
1897
+ symbol: "TIA",
1898
+ decimals: 18
1899
+ },
1900
+ rpcUrls: {
1901
+ default: {
1902
+ http: ["https://rpc.sketchpad-1.forma.art"]
1903
+ }
1904
+ },
1905
+ blockExplorers: {
1906
+ default: {
1907
+ name: "Forma Explorer",
1908
+ url: "https://explorer.sketchpad-1.forma.art"
1909
+ }
1910
+ },
1911
+ testnet: true
1912
+ });
1913
+ var evmChains = [
1914
+ chains.arbitrum,
1915
+ chains.avalanche,
1916
+ chains.base,
1917
+ chains.bsc,
1918
+ chains.celo,
1919
+ chains.fantom,
1920
+ chains.filecoin,
1921
+ chains.kava,
1922
+ chains.linea,
1923
+ chains.mainnet,
1924
+ chains.manta,
1925
+ chains.moonbeam,
1926
+ chains.optimism,
1927
+ chains.polygon,
1928
+ chains.polygonMumbai,
1929
+ chains.sepolia,
1930
+ chains.avalancheFuji,
1931
+ chains.baseSepolia,
1932
+ chains.optimismSepolia,
1933
+ chains.arbitrumSepolia,
1934
+ chains.blast,
1935
+ chains.blastSepolia,
1936
+ chains.forma,
1937
+ formaTestnet,
1938
+ chains.sei,
1939
+ chains.bscTestnet,
1940
+ chains.fantomTestnet,
1941
+ chains.kavaTestnet,
1942
+ chains.lineaSepolia,
1943
+ chains.mantaSepoliaTestnet
1944
+ ];
1945
+
1946
+ // src/utils/array.ts
1947
+ function isSubset(arrayA, arrayB) {
1948
+ const setA = new Set(arrayA);
1949
+ return arrayB.every((item) => setA.has(item));
1950
+ }
1951
+
1952
+ // src/public-functions/getRouteWithGasOnReceive.ts
1953
+ var GAS_ON_RECEIVE_AMOUNT_USD = {
1954
+ ["cosmos" /* Cosmos */]: 0.1,
1955
+ evm_l2: 2
1956
+ };
1957
+ var DISABLED_SOURCE_CHAINIDS = ["1", "11155111"];
1958
+ var DISABLED_DESTINATION_CHAINIDS = ["solana", "solana-devnet"];
1959
+ var getRouteWithGasOnReceive = async (props) => {
1960
+ const originalRoute = props.routeResponse;
1961
+ try {
1962
+ if (DISABLED_SOURCE_CHAINIDS.includes(originalRoute.sourceAssetChainId)) {
1963
+ throw new Error(
1964
+ `Routes from ${originalRoute.sourceAssetChainId} are not supported`
1965
+ );
1966
+ }
1967
+ if (DISABLED_DESTINATION_CHAINIDS.includes(originalRoute.destAssetChainId)) {
1968
+ throw new Error(
1969
+ `Routes to ${originalRoute.destAssetChainId} are not supported`
1970
+ );
1971
+ }
1972
+ const skipChains = chunkQAHHTQ7V_cjs.ClientState.skipChains ? chunkQAHHTQ7V_cjs.ClientState.skipChains : await chunkQAHHTQ7V_cjs.chains({
1973
+ includeEvm: true,
1974
+ includeSvm: true,
1975
+ chainIds: [
1976
+ originalRoute.sourceAssetChainId,
1977
+ originalRoute.destAssetChainId
1978
+ ],
1979
+ onlyTestnets: props.onlyTestnets
1980
+ });
1981
+ const skipAssets = chunkQAHHTQ7V_cjs.ClientState.skipAssets ? chunkQAHHTQ7V_cjs.ClientState.skipAssets : await chunkQAHHTQ7V_cjs.assets({
1982
+ chainIds: [
1983
+ originalRoute.sourceAssetChainId,
1984
+ originalRoute.destAssetChainId
1985
+ ],
1986
+ includeEvmAssets: true,
1987
+ includeSvmAssets: true,
1988
+ onlyTestnets: props.onlyTestnets
1989
+ });
1990
+ const destinationChain = skipChains?.find(
1991
+ (chain) => chain.chainId === originalRoute.destAssetChainId
1992
+ );
1993
+ if (destinationChain?.feeAssets.map((i) => i.denom).includes(originalRoute.destAssetDenom)) {
1994
+ throw new Error(
1995
+ "Destination asset is already a fee asset on the destination chain"
1996
+ );
1997
+ }
1998
+ const gasOnReceiveAmount = await getGasOnReceiveAmount({
1999
+ destinationChain,
2000
+ skipAssets,
2001
+ sourceAsset: skipAssets?.[originalRoute.sourceAssetChainId]?.find(
2002
+ (i) => i.denom === originalRoute.sourceAssetDenom
2003
+ )
2004
+ });
2005
+ if (!gasOnReceiveAmount || gasOnReceiveAmount.length === 0) {
2006
+ throw new Error(
2007
+ "No gas on receive amount found for the destination chain"
2008
+ );
2009
+ }
2010
+ const splitDenoms = chunkArray(gasOnReceiveAmount, 3);
2011
+ let gasRoute;
2012
+ for (const chunk of splitDenoms) {
2013
+ const feeAssetRoutes = chunk.map(
2014
+ async ({ amountOut, denom, amountIn }) => {
2015
+ try {
2016
+ const res = await chunk7SZZBUBD_cjs.route({
2017
+ ...props.routeRequest,
2018
+ destAssetDenom: denom,
2019
+ amountIn,
2020
+ amountOut,
2021
+ allowMultiTx: false
2022
+ });
2023
+ return res;
2024
+ } catch (_e) {
2025
+ return null;
2026
+ }
2027
+ }
2028
+ );
2029
+ const result = await Promise.all(feeAssetRoutes);
2030
+ const _gasRoute = result.find((result2) => result2?.usdAmountOut);
2031
+ if (_gasRoute?.usdAmountOut) {
2032
+ gasRoute = _gasRoute;
2033
+ break;
2034
+ }
2035
+ }
2036
+ if (!gasRoute) {
2037
+ throw new Error(
2038
+ "No gas route found for the destination chain with the provided assets"
2039
+ );
2040
+ }
2041
+ const mainRouteAmountIn = chunkWKYP2NMS_cjs.bignumber_default(originalRoute?.amountIn ?? 0).minus(chunkWKYP2NMS_cjs.bignumber_default(gasRoute.amountIn ?? 0)).toString();
2042
+ const mainRoute = await chunk7SZZBUBD_cjs.route({
2043
+ ...props.routeRequest,
2044
+ amountIn: mainRouteAmountIn,
2045
+ amountOut: void 0
2046
+ });
2047
+ if (!mainRoute) {
2048
+ throw new Error("No main route found with the provided assets");
2049
+ }
2050
+ if (originalRoute.txsRequired !== mainRoute.txsRequired || !isSubset(
2051
+ originalRoute?.requiredChainAddresses,
2052
+ mainRoute.requiredChainAddresses
2053
+ )) {
2054
+ throw new Error("Main route does not match the original route");
2055
+ }
2056
+ return {
2057
+ mainRoute,
2058
+ gasRoute
2059
+ };
2060
+ } catch (error) {
2061
+ return {
2062
+ mainRoute: originalRoute,
2063
+ gasRoute: void 0
2064
+ };
2065
+ }
2066
+ };
2067
+ var getGasOnReceiveAmount = async ({
2068
+ destinationChain,
2069
+ skipAssets,
2070
+ sourceAsset
2071
+ }) => {
2072
+ switch (destinationChain?.chainType) {
2073
+ case "cosmos" /* Cosmos */: {
2074
+ const usdPrice = sourceAsset?.coingeckoId ? await getUsdPrice(sourceAsset.coingeckoId) : void 0;
2075
+ return destinationChain.feeAssets.map((asset) => {
2076
+ const destinationAsset = skipAssets?.[destinationChain.chainId]?.find(
2077
+ (i) => i.denom === asset.denom
2078
+ );
2079
+ const gasPrice = asset.gasPrice?.average ?? asset.gasPrice?.high ?? asset.gasPrice?.low;
2080
+ if (!gasPrice || Number(gasPrice) === 0) {
2081
+ if (!usdPrice || !sourceAsset?.decimals) return;
2082
+ const gasOnReceiveAmountUsd = GAS_ON_RECEIVE_AMOUNT_USD["cosmos"];
2083
+ const amountIn = chunkWKYP2NMS_cjs.bignumber_default(gasOnReceiveAmountUsd).multipliedBy(usdPrice).toString();
2084
+ return {
2085
+ amountIn: convertHumanReadableAmountToCryptoAmount(
2086
+ amountIn,
2087
+ sourceAsset.decimals
2088
+ ),
2089
+ amountOut: void 0,
2090
+ denom: asset.denom
2091
+ };
2092
+ }
2093
+ return {
2094
+ amountIn: void 0,
2095
+ amountOut: gasPrice && destinationAsset?.decimals ? convertHumanReadableAmountToCryptoAmount(
2096
+ chunkWKYP2NMS_cjs.bignumber_default(gasPrice).multipliedBy(3).toNumber(),
2097
+ destinationAsset.decimals
2098
+ ) : void 0,
2099
+ denom: asset.denom
2100
+ };
2101
+ }).filter(Boolean);
2102
+ }
2103
+ case "evm" /* Evm */: {
2104
+ const sourceAssetPrice = sourceAsset?.coingeckoId ? await getUsdPrice(sourceAsset?.coingeckoId) : void 0;
2105
+ const destinationAsset = skipAssets?.[destinationChain.chainId]?.find(
2106
+ (i) => i.denom.includes("-native")
2107
+ );
2108
+ if (!sourceAssetPrice) {
2109
+ const chain = evmChains.find(
2110
+ (chain2) => chain2.id === Number(destinationChain?.chainId)
2111
+ );
2112
+ const client = viem.createPublicClient({
2113
+ chain,
2114
+ transport: viem.fallback([
2115
+ viem.http("https://ethereum.publicnode.com"),
2116
+ viem.http("https://rpc.ankr.com/eth"),
2117
+ viem.http("https://cloudflare-eth.com")
2118
+ ])
2119
+ });
2120
+ const fees = await client.estimateFeesPerGas();
2121
+ return [
2122
+ {
2123
+ amountIn: void 0,
2124
+ amountOut: chunkWKYP2NMS_cjs.bignumber_default(15e4).multipliedBy(fees.maxFeePerGas.toString()).multipliedBy(3).toString(),
2125
+ denom: destinationAsset?.denom
2126
+ }
2127
+ ];
2128
+ }
2129
+ const gasPrice = chunkWKYP2NMS_cjs.bignumber_default(GAS_ON_RECEIVE_AMOUNT_USD["evm_l2"]).dividedBy(
2130
+ sourceAssetPrice
2131
+ ).toString();
2132
+ return [
2133
+ {
2134
+ amountOut: void 0,
2135
+ amountIn: sourceAsset?.decimals ? convertHumanReadableAmountToCryptoAmount(
2136
+ gasPrice,
2137
+ sourceAsset.decimals
2138
+ ) : void 0,
2139
+ denom: destinationAsset?.denom
2140
+ }
2141
+ ];
2142
+ }
2143
+ default: {
2144
+ return;
2145
+ }
2146
+ }
2147
+ };
2148
+ var chunkArray = (arr, size = 3) => {
2149
+ const result = [];
2150
+ for (let i = 0; i < arr.length; i += size) {
2151
+ result.push(arr.slice(i, i + size));
2152
+ }
2153
+ return result;
2154
+ };
2155
+
2156
+ exports.AutopilotActionJson = AutopilotActionJson;
2157
+ exports.AxelarTransferStateJson = AxelarTransferStateJson;
2158
+ exports.AxelarTransferTypeJson = AxelarTransferTypeJson;
2159
+ exports.BridgeTypeJson = BridgeTypeJson;
2160
+ exports.CCTPTransferStateJson = CCTPTransferStateJson;
2161
+ exports.ChainTypeJson = ChainTypeJson;
2162
+ exports.ContractCallWithTokenErrorTypeJson = ContractCallWithTokenErrorTypeJson;
2163
+ exports.FeeBehaviorJson = FeeBehaviorJson;
2164
+ exports.FeeTypeJson = FeeTypeJson;
2165
+ exports.GoFastTransferStateJson = GoFastTransferStateJson;
2166
+ exports.HyperlaneTransferStateJson = HyperlaneTransferStateJson;
2167
+ exports.LayerZeroTransferStateJson = LayerZeroTransferStateJson;
2168
+ exports.OPInitTransferStateJson = OPInitTransferStateJson;
2169
+ exports.PacketErrorTypeJson = PacketErrorTypeJson;
2170
+ exports.ReasonJson = ReasonJson;
2171
+ exports.RoutePriceWarningTypeJson = RoutePriceWarningTypeJson;
2172
+ exports.SendTokenErrorTypeJson = SendTokenErrorTypeJson;
2173
+ exports.StargateTransferStateJson = StargateTransferStateJson;
2174
+ exports.StatusErrorTypeJson = StatusErrorTypeJson;
2175
+ exports.TransactionStateJson = TransactionStateJson;
2176
+ exports.TransferStateJson = TransferStateJson;
2177
+ exports.executeMultipleRoutes = executeMultipleRoutes;
2178
+ exports.executeRoute = executeRoute;
2179
+ exports.getRouteWithGasOnReceive = getRouteWithGasOnReceive;