@skip-go/client 1.6.0-alpha.3 → 1.6.0-alpha.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.
Files changed (158) hide show
  1. package/dist/cjs/api/getAssets.cjs +16 -0
  2. package/dist/cjs/api/getAssetsBetweenChains.cjs +12 -0
  3. package/dist/cjs/api/getBridges.cjs +12 -0
  4. package/dist/cjs/api/getChains.cjs +12 -0
  5. package/dist/cjs/api/getVenues.cjs +12 -0
  6. package/dist/cjs/api/postAssetsFromSource.cjs +13 -0
  7. package/dist/cjs/api/postBalances.cjs +12 -0
  8. package/dist/cjs/api/postIbcOriginAssets.cjs +12 -0
  9. package/dist/cjs/api/postMessages.cjs +12 -0
  10. package/dist/cjs/api/postMessagesDirect.cjs +12 -0
  11. package/dist/cjs/api/postRecommendAssets.cjs +12 -0
  12. package/dist/cjs/api/postRoute.cjs +12 -0
  13. package/dist/cjs/api/postSubmitTransaction.cjs +12 -0
  14. package/dist/cjs/api/postTrackTransaction.cjs +12 -0
  15. package/dist/cjs/api/postTransactionStatus.cjs +12 -0
  16. package/dist/cjs/chunk-25TA7Z7R.cjs +460 -0
  17. package/dist/cjs/chunk-2QPPD3BB.cjs +210 -0
  18. package/dist/cjs/chunk-2SA3OAIJ.cjs +18 -0
  19. package/dist/cjs/chunk-3KO2DHFX.cjs +1495 -0
  20. package/dist/cjs/chunk-477CU2G2.cjs +280 -0
  21. package/dist/cjs/chunk-4BWE7SOV.cjs +68 -0
  22. package/dist/cjs/chunk-4GHUZDDP.cjs +16 -0
  23. package/dist/cjs/chunk-4ZIVDKQN.cjs +387 -0
  24. package/dist/cjs/chunk-6T4SBY5H.cjs +214 -0
  25. package/dist/cjs/chunk-A3UNNRKD.cjs +574 -0
  26. package/dist/cjs/chunk-A5S6SIYN.cjs +12 -0
  27. package/dist/cjs/chunk-ASDMDYTC.cjs +11 -0
  28. package/dist/cjs/chunk-ATW6UNT5.cjs +136 -0
  29. package/dist/cjs/chunk-AUTOIM57.cjs +22 -0
  30. package/dist/cjs/chunk-AVWWCQ5P.cjs +2264 -0
  31. package/dist/cjs/chunk-CIZTNJ3K.cjs +24 -0
  32. package/dist/cjs/chunk-CK6CQWQU.cjs +49 -0
  33. package/dist/cjs/chunk-EAZQ2ECA.cjs +185 -0
  34. package/dist/cjs/chunk-F3EB2AQG.cjs +28 -0
  35. package/dist/cjs/chunk-FCTBCHOT.cjs +12 -0
  36. package/dist/cjs/chunk-IJIBMN2F.cjs +12 -0
  37. package/dist/cjs/chunk-IUMMXFGP.cjs +189 -0
  38. package/dist/cjs/chunk-JRXPJ45U.cjs +12 -0
  39. package/dist/cjs/chunk-LJV45UGL.cjs +582 -0
  40. package/dist/cjs/chunk-MUJBB64F.cjs +291 -0
  41. package/dist/cjs/chunk-NCFH5MGF.cjs +39 -0
  42. package/dist/cjs/chunk-NM4PISTQ.cjs +3359 -0
  43. package/dist/cjs/chunk-OJISEAMX.cjs +13 -0
  44. package/dist/cjs/chunk-OVKHTOBP.cjs +99 -0
  45. package/dist/cjs/chunk-PDNKS5R2.cjs +13 -0
  46. package/dist/cjs/chunk-TELXDMYL.cjs +55 -0
  47. package/dist/cjs/chunk-UXW4XVHF.cjs +15 -0
  48. package/dist/cjs/index.cjs +349 -0
  49. package/dist/cjs/public-functions/executeMultipleRoutes.cjs +27 -0
  50. package/dist/cjs/public-functions/executeRoute.cjs +27 -0
  51. package/dist/cjs/public-functions/getCosmosGasAmountForMessage.cjs +16 -0
  52. package/dist/cjs/public-functions/getEvmGasAmountForMessage.cjs +11 -0
  53. package/dist/cjs/public-functions/getFeeInfoForChain.cjs +14 -0
  54. package/dist/cjs/public-functions/getRecommendedGasPrice.cjs +15 -0
  55. package/dist/cjs/public-functions/getRouteWithGasOnReceive.cjs +41 -0
  56. package/dist/cjs/public-functions/getSigningStargateClient.cjs +15 -0
  57. package/dist/cjs/public-functions/setApiOptions.cjs +12 -0
  58. package/dist/cjs/public-functions/setClientOptions.cjs +16 -0
  59. package/dist/cjs/public-functions/subscribeToRouteStatus.cjs +26 -0
  60. package/dist/cjs/public-functions/validateCosmosGasBalance.cjs +18 -0
  61. package/dist/cjs/public-functions/waitForTransaction.cjs +18 -0
  62. package/dist/esm/api/getAssets.d.ts +19 -0
  63. package/dist/esm/api/getAssets.js +3 -0
  64. package/dist/esm/api/getAssetsBetweenChains.d.ts +56 -0
  65. package/dist/esm/api/getAssetsBetweenChains.js +3 -0
  66. package/dist/esm/api/getBridges.d.ts +55 -0
  67. package/dist/esm/api/getBridges.js +3 -0
  68. package/dist/esm/api/getChains.d.ts +41 -0
  69. package/dist/esm/api/getChains.js +3 -0
  70. package/dist/esm/api/getVenues.d.ts +13 -0
  71. package/dist/esm/api/getVenues.js +3 -0
  72. package/dist/esm/api/postAssetsFromSource.d.ts +22 -0
  73. package/dist/esm/api/postAssetsFromSource.js +4 -0
  74. package/dist/esm/api/postBalances.d.ts +35 -0
  75. package/dist/esm/api/postBalances.js +3 -0
  76. package/dist/esm/api/postIbcOriginAssets.d.ts +32 -0
  77. package/dist/esm/api/postIbcOriginAssets.js +3 -0
  78. package/dist/esm/api/postMessages.d.ts +101 -0
  79. package/dist/esm/api/postMessages.js +3 -0
  80. package/dist/esm/api/postMessagesDirect.d.ts +640 -0
  81. package/dist/esm/api/postMessagesDirect.js +3 -0
  82. package/dist/esm/api/postRecommendAssets.d.ts +40 -0
  83. package/dist/esm/api/postRecommendAssets.js +3 -0
  84. package/dist/esm/api/postRoute.d.ts +530 -0
  85. package/dist/esm/api/postRoute.js +3 -0
  86. package/dist/esm/api/postSubmitTransaction.d.ts +17 -0
  87. package/dist/esm/api/postSubmitTransaction.js +3 -0
  88. package/dist/esm/api/postTrackTransaction.d.ts +12 -0
  89. package/dist/esm/api/postTrackTransaction.js +3 -0
  90. package/dist/esm/api/postTransactionStatus.d.ts +639 -0
  91. package/dist/esm/api/postTransactionStatus.js +3 -0
  92. package/dist/esm/apiState-1VvikVK-.d.ts +8 -0
  93. package/dist/esm/callbacks-DdC6QMlE.d.ts +158 -0
  94. package/dist/esm/chunk-3DIX6KRJ.js +566 -0
  95. package/dist/esm/chunk-3JHLVPRG.js +10 -0
  96. package/dist/esm/chunk-5WYMRZIO.js +97 -0
  97. package/dist/esm/chunk-A5NZMSTI.js +10 -0
  98. package/dist/esm/chunk-BU5RCZQH.js +187 -0
  99. package/dist/esm/chunk-CGJRRAFS.js +22 -0
  100. package/dist/esm/chunk-DMJMN4J3.js +379 -0
  101. package/dist/esm/chunk-E4NRDAVO.js +65 -0
  102. package/dist/esm/chunk-ETBJVFQP.js +10 -0
  103. package/dist/esm/chunk-F2LQB2DP.js +3323 -0
  104. package/dist/esm/chunk-F66EKL3W.js +203 -0
  105. package/dist/esm/chunk-G665WTT3.js +212 -0
  106. package/dist/esm/chunk-GPEO2I4P.js +272 -0
  107. package/dist/esm/chunk-GV2QOWB4.js +26 -0
  108. package/dist/esm/chunk-GZJLX2CP.js +2258 -0
  109. package/dist/esm/chunk-HNU2Y3JI.js +13 -0
  110. package/dist/esm/chunk-IZUHXTBP.js +53 -0
  111. package/dist/esm/chunk-J24LYWJE.js +130 -0
  112. package/dist/esm/chunk-KZKAL5ZN.js +16 -0
  113. package/dist/esm/chunk-N4PTRCNT.js +11 -0
  114. package/dist/esm/chunk-NUHMTWHP.js +180 -0
  115. package/dist/esm/chunk-P36PE4CR.js +37 -0
  116. package/dist/esm/chunk-QYXGDTUU.js +47 -0
  117. package/dist/esm/chunk-RH7PDDI5.js +433 -0
  118. package/dist/esm/chunk-RTDD7HZ3.js +275 -0
  119. package/dist/esm/chunk-SXBG57J3.js +20 -0
  120. package/dist/esm/chunk-TGTOO2ZQ.js +14 -0
  121. package/dist/esm/chunk-UHCKOKBM.js +9 -0
  122. package/dist/esm/chunk-ULUX2CVU.js +557 -0
  123. package/dist/esm/chunk-UN46DUOV.js +11 -0
  124. package/dist/esm/chunk-XIVAEU6S.js +1492 -0
  125. package/dist/esm/chunk-XNU3TKKM.js +10 -0
  126. package/dist/esm/client-types-D03Tellv.d.ts +114 -0
  127. package/dist/esm/generateApi-Bv02Xt5y.d.ts +56 -0
  128. package/dist/esm/index.d.ts +1859 -0
  129. package/dist/esm/index.js +32 -0
  130. package/dist/esm/public-functions/executeMultipleRoutes.d.ts +80 -0
  131. package/dist/esm/public-functions/executeMultipleRoutes.js +18 -0
  132. package/dist/esm/public-functions/executeRoute.d.ts +12 -0
  133. package/dist/esm/public-functions/executeRoute.js +18 -0
  134. package/dist/esm/public-functions/getCosmosGasAmountForMessage.d.ts +8 -0
  135. package/dist/esm/public-functions/getCosmosGasAmountForMessage.js +3 -0
  136. package/dist/esm/public-functions/getEvmGasAmountForMessage.d.ts +14 -0
  137. package/dist/esm/public-functions/getEvmGasAmountForMessage.js +2 -0
  138. package/dist/esm/public-functions/getFeeInfoForChain.d.ts +9 -0
  139. package/dist/esm/public-functions/getFeeInfoForChain.js +5 -0
  140. package/dist/esm/public-functions/getRecommendedGasPrice.d.ts +9 -0
  141. package/dist/esm/public-functions/getRecommendedGasPrice.js +6 -0
  142. package/dist/esm/public-functions/getRouteWithGasOnReceive.d.ts +20 -0
  143. package/dist/esm/public-functions/getRouteWithGasOnReceive.js +32 -0
  144. package/dist/esm/public-functions/getSigningStargateClient.d.ts +13 -0
  145. package/dist/esm/public-functions/getSigningStargateClient.js +6 -0
  146. package/dist/esm/public-functions/setApiOptions.d.ts +9 -0
  147. package/dist/esm/public-functions/setApiOptions.js +3 -0
  148. package/dist/esm/public-functions/setClientOptions.d.ts +11 -0
  149. package/dist/esm/public-functions/setClientOptions.js +7 -0
  150. package/dist/esm/public-functions/subscribeToRouteStatus.d.ts +12 -0
  151. package/dist/esm/public-functions/subscribeToRouteStatus.js +5 -0
  152. package/dist/esm/public-functions/validateCosmosGasBalance.d.ts +44 -0
  153. package/dist/esm/public-functions/validateCosmosGasBalance.js +9 -0
  154. package/dist/esm/public-functions/waitForTransaction.d.ts +1279 -0
  155. package/dist/esm/public-functions/waitForTransaction.js +5 -0
  156. package/dist/esm/setClientOptions-CTwe8YVX.d.ts +76 -0
  157. package/dist/esm/swaggerTypes-CzGbnX_b.d.ts +2067 -0
  158. package/package.json +1 -1
@@ -0,0 +1,2067 @@
1
+ /**
2
+ * Indicates whether the fee is deducted from the transfer amount or charged additionally.
3
+ * - FEE_BEHAVIOR_DEDUCTED: Fee is subtracted from the transfer amount (default, typical for Cosmos chains)
4
+ * - FEE_BEHAVIOR_ADDITIONAL: Fee is charged on top of the transfer amount (typical for EVM chains with native tokens)
5
+ */
6
+ declare enum FeeBehavior {
7
+ FEE_BEHAVIOR_DEDUCTED = "FEE_BEHAVIOR_DEDUCTED",
8
+ FEE_BEHAVIOR_ADDITIONAL = "FEE_BEHAVIOR_ADDITIONAL"
9
+ }
10
+ /**
11
+ * Fee type:
12
+ * * SMART_RELAY - Fees for Smart relaying services.'
13
+ */
14
+ declare enum FeeType {
15
+ SMART_RELAY = "SMART_RELAY"
16
+ }
17
+ /**
18
+ * Transfer state:
19
+ * * `TRANSFER_UNKNOWN` - Transfer state is not known.
20
+ * * `TRANSFER_PENDING` - The send packet for the transfer has been committed and the transfer is pending.
21
+ * * `TRANSFER_RECEIVED` - The transfer packet has been received by the destination chain. It can still fail and revert if it is part of a multi-hop PFM transfer.
22
+ * * `TRANSFER_SUCCESS` - The transfer has been successfully completed and will not revert.
23
+ * * `TRANSFER_FAILURE`- The transfer has failed.
24
+ */
25
+ declare enum TransferState {
26
+ TRANSFER_UNKNOWN = "TRANSFER_UNKNOWN",
27
+ TRANSFER_PENDING = "TRANSFER_PENDING",
28
+ TRANSFER_RECEIVED = "TRANSFER_RECEIVED",
29
+ TRANSFER_SUCCESS = "TRANSFER_SUCCESS",
30
+ TRANSFER_FAILURE = "TRANSFER_FAILURE"
31
+ }
32
+ /**
33
+ * LayerZero transfer state:
34
+ * * `LAYER_ZERO_TRANSFER_UNKNOWN` - Unknown error
35
+ * * `LAYER_ZERO_TRANSFER_SENT` - The transaction on the source chain has executed
36
+ * * `LAYER_ZERO_TRANSFER_WAITING_FOR_COMPOSE` - The transfer has been delivered to the destination chain but there is an additional lz_compose transaction that still needs to be delivered before marking this transfer as LAYER_ZERO_TRANSFER_RECEIVED
37
+ * * `LAYER_ZERO_TRANSFER_RECEIVED` - The transfer has been received at the destination chain
38
+ * * `LAYER_ZERO_TRANSFER_FAILED` - The transfer has failed
39
+ */
40
+ declare enum LayerZeroTransferState {
41
+ LAYER_ZERO_TRANSFER_UNKNOWN = "LAYER_ZERO_TRANSFER_UNKNOWN",
42
+ LAYER_ZERO_TRANSFER_SENT = "LAYER_ZERO_TRANSFER_SENT",
43
+ LAYER_ZERO_TRANSFER_WAITING_FOR_COMPOSE = "LAYER_ZERO_TRANSFER_WAITING_FOR_COMPOSE",
44
+ LAYER_ZERO_TRANSFER_RECEIVED = "LAYER_ZERO_TRANSFER_RECEIVED",
45
+ LAYER_ZERO_TRANSFER_FAILED = "LAYER_ZERO_TRANSFER_FAILED"
46
+ }
47
+ /**
48
+ * OPInit transfer state:
49
+ * * `OPINIT_TRANSFER_UNKNOWN` - Unknown error
50
+ * * `OPINIT_TRANSFER_SENT` - The deposit transaction on the source chain has executed
51
+ * * `OPINIT_TRANSFER_RECEIVED` - OPInit transfer has been received at the destination chain
52
+ */
53
+ declare enum OPInitTransferState {
54
+ OPINIT_TRANSFER_UNKNOWN = "OPINIT_TRANSFER_UNKNOWN",
55
+ OPINIT_TRANSFER_SENT = "OPINIT_TRANSFER_SENT",
56
+ OPINIT_TRANSFER_RECEIVED = "OPINIT_TRANSFER_RECEIVED"
57
+ }
58
+ /**
59
+ * Transaction state:
60
+ * * `STATE_SUBMITTED` - The initial transaction has been submitted to Skip Go API but not observed on chain yet
61
+ * * `STATE_PENDING` - The initial transaction has been observed on chain, and there are still pending actions
62
+ * * `STATE_COMPLETED_SUCCESS` - The route has completed successfully and the user has their tokens on the destination. (indicated by `transfer_asset_release`)
63
+ * * `STATE_COMPLETED_ERROR` - The route errored somewhere and the user has their tokens unlocked in one of their wallets. Their tokens are either on the source chain, an intermediate chain, or the destination chain but as the wrong asset.
64
+ * (Again, `transfer_asset_release` indicates where the tokens are)
65
+ * * `STATE_ABANDONED` - Tracking for the transaction has been abandoned. This happens if the cross-chain sequence of actions stalls for more than 10 minutes or if the initial transaction does not get observed in a block for 5 minutes.
66
+ * * `STATE_PENDING_ERROR` - The overall transaction will fail, pending error propagation
67
+ */
68
+ declare enum TransactionState {
69
+ STATE_SUBMITTED = "STATE_SUBMITTED",
70
+ STATE_PENDING = "STATE_PENDING",
71
+ STATE_ABANDONED = "STATE_ABANDONED",
72
+ STATE_COMPLETED_SUCCESS = "STATE_COMPLETED_SUCCESS",
73
+ STATE_COMPLETED_ERROR = "STATE_COMPLETED_ERROR",
74
+ STATE_PENDING_ERROR = "STATE_PENDING_ERROR"
75
+ }
76
+ /**
77
+ * Packet error types:
78
+ * * `STATUS_ERROR_UNKNOWN` - Unknown error
79
+ * * `STATUS_ERROR_TRANSACTION_EXECUTION` - Error was encountered during transaction execution
80
+ * * `STATUS_ERROR_INDEXING` - Error was encountered while indexing the transaction and packet data
81
+ * * `STATUS_ERROR_TRANSFER` - The transfer failed to complete successfully
82
+ */
83
+ declare enum StatusErrorType {
84
+ STATUS_ERROR_UNKNOWN = "STATUS_ERROR_UNKNOWN",
85
+ STATUS_ERROR_TRANSACTION_EXECUTION = "STATUS_ERROR_TRANSACTION_EXECUTION",
86
+ STATUS_ERROR_INDEXING = "STATUS_ERROR_INDEXING",
87
+ STATUS_ERROR_TRANSFER = "STATUS_ERROR_TRANSFER"
88
+ }
89
+ /**
90
+ * SendToken error types:
91
+ * * `SEND_TOKEN_EXECUTION_ERROR` - Error occurred during the execute transaction
92
+ */
93
+ declare enum SendTokenErrorType {
94
+ SEND_TOKEN_EXECUTION_ERROR = "SEND_TOKEN_EXECUTION_ERROR"
95
+ }
96
+ /**
97
+ * Recommendation reason:
98
+ * * `LOW_INFO_WARNING` - Not enough asset pricing information to determine the price safety of the route.
99
+ * * `BAD_PRICE_WARNING` - The execution price of the route deviates significantly from the current market price.
100
+ */
101
+ declare enum RoutePriceWarningType {
102
+ LOW_INFO_WARNING = "LOW_INFO_WARNING",
103
+ BAD_PRICE_WARNING = "BAD_PRICE_WARNING"
104
+ }
105
+ /**
106
+ * Recommendation reason:
107
+ * * `UNKNOWN` - Unknown recommendation reason.
108
+ * * `MOST_LIQUID` - Highest liquidity form of the transferred token on the destination chain.
109
+ * * `BASE_TOKEN` - The base token if the destination chain is the origin chain of the source token.
110
+ * * `DIRECT` - The token resulting from the least amount of transfers to the destination chain.
111
+ */
112
+ declare enum Reason {
113
+ UNKNOWN = "UNKNOWN",
114
+ MOST_LIQUID = "MOST_LIQUID",
115
+ BASE_TOKEN = "BASE_TOKEN",
116
+ DIRECT = "DIRECT"
117
+ }
118
+ /**
119
+ * Packet error type:
120
+ * * `PACKET_ERROR_UNKNOWN` - Unknown error
121
+ * * `PACKET_ERROR_ACKNOWLEDGEMENT` - Packet acknowledgement error
122
+ * * `PACKET_ERROR_TIMEOUT` - Packet timed out
123
+ */
124
+ declare enum PacketErrorType {
125
+ PACKET_ERROR_UNKNOWN = "PACKET_ERROR_UNKNOWN",
126
+ PACKET_ERROR_ACKNOWLEDGEMENT = "PACKET_ERROR_ACKNOWLEDGEMENT",
127
+ PACKET_ERROR_TIMEOUT = "PACKET_ERROR_TIMEOUT"
128
+ }
129
+ /**
130
+ * Hyperlane transfer state:
131
+ * * `HYPERLANE_TRANSFER_UNKNOWN` - Unknown error
132
+ * * `HYPERLANE_TRANSFER_SENT` - The Hyperlane transfer transaction on the source chain has executed
133
+ * * `HYPERLANE_TRANSFER_FAILED` - The Hyperlane transfer failed
134
+ * * `HYPERLANE_TRANSFER_RECEIVED` - The Hyperlane transfer has been received at the destination chain
135
+ */
136
+ declare enum HyperlaneTransferState {
137
+ HYPERLANE_TRANSFER_UNKNOWN = "HYPERLANE_TRANSFER_UNKNOWN",
138
+ HYPERLANE_TRANSFER_SENT = "HYPERLANE_TRANSFER_SENT",
139
+ HYPERLANE_TRANSFER_FAILED = "HYPERLANE_TRANSFER_FAILED",
140
+ HYPERLANE_TRANSFER_RECEIVED = "HYPERLANE_TRANSFER_RECEIVED"
141
+ }
142
+ /**
143
+ * ContractCallWithToken errors:
144
+ * * `CONTRACT_CALL_WITH_TOKEN_EXECUTION_ERROR` - Error occurred during the execute transaction
145
+ */
146
+ declare enum ContractCallWithTokenErrorType {
147
+ CONTRACT_CALL_WITH_TOKEN_EXECUTION_ERROR = "CONTRACT_CALL_WITH_TOKEN_EXECUTION_ERROR"
148
+ }
149
+ declare enum ChainType {
150
+ Cosmos = "cosmos",
151
+ Evm = "evm",
152
+ Svm = "svm"
153
+ }
154
+ /**
155
+ * Bridge Type:
156
+ * * `IBC` - IBC Bridge
157
+ * * `AXELAR` - Axelar Bridge
158
+ * * `CCTP` - CCTP Bridge
159
+ * * `HYPERLANE` - Hyperlane Bridge
160
+ * * `OPINIT` - Opinit Bridge
161
+ * * `GO_FAST` - Go Fast Bridge
162
+ * * `STARGATE` - Stargate Bridge
163
+ * * `LAYER_ZERO` - Layerzero Bridge
164
+ * * `EUREKA` - IBC Eureka Bridge
165
+ */
166
+ declare enum BridgeType {
167
+ IBC = "IBC",
168
+ AXELAR = "AXELAR",
169
+ CCTP = "CCTP",
170
+ HYPERLANE = "HYPERLANE",
171
+ OPINIT = "OPINIT",
172
+ GO_FAST = "GO_FAST",
173
+ STARGATE = "STARGATE",
174
+ LAYER_ZERO = "LAYER_ZERO",
175
+ EUREKA = "EUREKA",
176
+ CCTP_V2 = "CCTP_V2"
177
+ }
178
+ /**
179
+ * GoFast transfer state:
180
+ * * `GO_FAST_TRANSFER_UNKNOWN` - Unknown state
181
+ * * `GO_FAST_TRANSFER_SENT` - Order submitted on source chain
182
+ * * `GO_FAST_POST_ACTION_FAILED` - Order filled, but subsequent action (e.g., swap) failed
183
+ * * `GO_FAST_TRANSFER_TIMEOUT` - Order timed out
184
+ * * `GO_FAST_TRANSFER_FILLED` - Order filled on destination chain
185
+ * * `GO_FAST_TRANSFER_REFUNDED` - Order refunded
186
+ */
187
+ declare enum GoFastTransferState {
188
+ GO_FAST_TRANSFER_UNKNOWN = "GO_FAST_TRANSFER_UNKNOWN",
189
+ GO_FAST_TRANSFER_SENT = "GO_FAST_TRANSFER_SENT",
190
+ GO_FAST_POST_ACTION_FAILED = "GO_FAST_POST_ACTION_FAILED",
191
+ GO_FAST_TRANSFER_TIMEOUT = "GO_FAST_TRANSFER_TIMEOUT",
192
+ GO_FAST_TRANSFER_FILLED = "GO_FAST_TRANSFER_FILLED",
193
+ GO_FAST_TRANSFER_REFUNDED = "GO_FAST_TRANSFER_REFUNDED"
194
+ }
195
+ /**
196
+ * Stargate transfer state:
197
+ * * `STARGATE_TRANSFER_UNKNOWN` - Unknown error
198
+ * * `STARGATE_TRANSFER_SENT` - The Stargate transfer transaction on the source chain has executed
199
+ * * `STARGATE_TRANSFER_PENDING_CONFIRMATION` - Stargate transfer is pending confirmation
200
+ * * `STARGATE_TRANSFER_CONFIRMED` - Stargate transfer has been confirmed
201
+ * * `STARGATE_TRANSFER_RECEIVED` - Stargate transfer has been received at the destination chain
202
+ * * `STARGATE_TRANSFER_FAILED` - Stargate transfer failed
203
+ */
204
+ declare enum StargateTransferState {
205
+ STARGATE_TRANSFER_UNKNOWN = "STARGATE_TRANSFER_UNKNOWN",
206
+ STARGATE_TRANSFER_SENT = "STARGATE_TRANSFER_SENT",
207
+ STARGATE_TRANSFER_PENDING_CONFIRMATION = "STARGATE_TRANSFER_PENDING_CONFIRMATION",
208
+ STARGATE_TRANSFER_CONFIRMED = "STARGATE_TRANSFER_CONFIRMED",
209
+ STARGATE_TRANSFER_RECEIVED = "STARGATE_TRANSFER_RECEIVED",
210
+ STARGATE_TRANSFER_FAILED = "STARGATE_TRANSFER_FAILED"
211
+ }
212
+ /**
213
+ * CCTP transfer state:
214
+ * * `CCTP_TRANSFER_UNKNOWN` - Unknown error
215
+ * * `CCTP_TRANSFER_SENT` - The burn transaction on the source chain has executed
216
+ * * `CCTP_TRANSFER_PENDING_CONFIRMATION` - CCTP transfer is pending confirmation by the cctp attestation api
217
+ * * `CCTP_TRANSFER_CONFIRMED` - CCTP transfer has been confirmed by the cctp attestation api
218
+ * * `CCTP_TRANSFER_RECEIVED` - CCTP transfer has been received at the destination chain
219
+ */
220
+ declare enum CCTPTransferState {
221
+ CCTP_TRANSFER_UNKNOWN = "CCTP_TRANSFER_UNKNOWN",
222
+ CCTP_TRANSFER_SENT = "CCTP_TRANSFER_SENT",
223
+ CCTP_TRANSFER_PENDING_CONFIRMATION = "CCTP_TRANSFER_PENDING_CONFIRMATION",
224
+ CCTP_TRANSFER_CONFIRMED = "CCTP_TRANSFER_CONFIRMED",
225
+ CCTP_TRANSFER_RECEIVED = "CCTP_TRANSFER_RECEIVED"
226
+ }
227
+ /**
228
+ * Axelar transfer type:
229
+ * * `AXELAR_TRANSFER_CONTRACT_CALL_WITH_TOKEN` - GMP contract call with token transfer type
230
+ * * `AXELAR_TRANSFER_SEND_TOKEN` - Send token transfer type
231
+ */
232
+ declare enum AxelarTransferType {
233
+ AXELAR_TRANSFER_CONTRACT_CALL_WITH_TOKEN = "AXELAR_TRANSFER_CONTRACT_CALL_WITH_TOKEN",
234
+ AXELAR_TRANSFER_SEND_TOKEN = "AXELAR_TRANSFER_SEND_TOKEN"
235
+ }
236
+ /**
237
+ * Axelar transfer state:
238
+ * * `AXELAR_TRANSFER_UNKNOWN` - Unknown error
239
+ * * `AXELAR_TRANSFER_PENDING_CONFIRMATION` - Axelar transfer is pending confirmation
240
+ * * `AXELAR_TRANSFER_PENDING_RECEIPT` - Axelar transfer is pending receipt at destination
241
+ * * `AXELAR_TRANSFER_SUCCESS` - Axelar transfer succeeded and assets have been received
242
+ * * `AXELAR_TRANSFER_FAILURE` - Axelar transfer failed
243
+ */
244
+ declare enum AxelarTransferState {
245
+ AXELAR_TRANSFER_UNKNOWN = "AXELAR_TRANSFER_UNKNOWN",
246
+ AXELAR_TRANSFER_PENDING_CONFIRMATION = "AXELAR_TRANSFER_PENDING_CONFIRMATION",
247
+ AXELAR_TRANSFER_PENDING_RECEIPT = "AXELAR_TRANSFER_PENDING_RECEIPT",
248
+ AXELAR_TRANSFER_SUCCESS = "AXELAR_TRANSFER_SUCCESS",
249
+ AXELAR_TRANSFER_FAILURE = "AXELAR_TRANSFER_FAILURE"
250
+ }
251
+ declare enum AutopilotAction {
252
+ LIQUID_STAKE = "LIQUID_STAKE",
253
+ CLAIM = "CLAIM"
254
+ }
255
+ interface AcknowledgementErrorDetails {
256
+ /** Error code */
257
+ code?: number;
258
+ /** Error message */
259
+ message?: string;
260
+ }
261
+ /** An affiliate that receives fees from a swap */
262
+ interface Affiliate {
263
+ /** Address to which to pay the fee */
264
+ address?: string;
265
+ /** Bps fee to pay to the affiliate */
266
+ basisPointsFee?: string;
267
+ }
268
+ interface ApiError {
269
+ /** Error message */
270
+ message?: string;
271
+ }
272
+ interface Asset {
273
+ /** Denom of the asset */
274
+ denom: string;
275
+ /** Chain-id of the asset */
276
+ chainId: string;
277
+ /** Denom of the origin of the asset. If this is an ibc denom, this is the original denom that the ibc token represents */
278
+ originDenom: string;
279
+ /** Chain-id of the origin of the asset. If this is an ibc denom, this is the chain-id of the asset that the ibc token represents */
280
+ originChainId: string;
281
+ /** The forward slash delimited sequence of ibc ports and channels that can be traversed to unwind an ibc token to its origin asset. */
282
+ trace: string;
283
+ /** Indicates whether asset is a CW20 token */
284
+ isCw20: boolean;
285
+ /** Indicates whether asset is an EVM token */
286
+ isEvm: boolean;
287
+ /** Indicates whether asset is an SVM token */
288
+ isSvm: boolean;
289
+ /** Symbol of the asset, e.g. ATOM for uatom */
290
+ symbol?: string;
291
+ /** Name of the asset */
292
+ name?: string;
293
+ /** URI pointing to an image of the logo of the asset */
294
+ logoUri?: string;
295
+ /** Number of decimals used for amounts of the asset */
296
+ decimals?: number;
297
+ /** Address of the contract for the asset, e.g. if it is a CW20 or ERC20 token */
298
+ tokenContract?: string;
299
+ /** Description of the asset */
300
+ description?: string;
301
+ /** Coingecko id of the asset */
302
+ coingeckoId?: string;
303
+ /** Recommended symbol of the asset used to differentiate between bridged assets with the same symbol, e.g. USDC.axl for Axelar USDC and USDC.grv for Gravity USDC */
304
+ recommendedSymbol?: string;
305
+ }
306
+ interface AssetBetweenChains {
307
+ assetOnSource?: Asset;
308
+ assetOnDest?: Asset;
309
+ /** Number of transactions required to transfer the asset */
310
+ txsRequired: number;
311
+ /** Bridges that are used to transfer the asset */
312
+ bridges?: BridgeType[];
313
+ }
314
+ interface AssetRecommendation {
315
+ /** Asset that is recommended */
316
+ asset?: Asset;
317
+ /** Reason for recommending the asset */
318
+ reason?: Reason;
319
+ }
320
+ interface AutopilotMsg {
321
+ action?: AutopilotAction;
322
+ receiver?: string;
323
+ }
324
+ interface AutopilotMsgWrapper {
325
+ autpilotMsg?: AutopilotMsg;
326
+ }
327
+ /** A transfer facilitated by the Axelar bridge */
328
+ interface AxelarTransfer {
329
+ /** Canonical chain-id of the source chain of the bridge transaction */
330
+ fromChainId?: string;
331
+ /** Canonical chain-id of the destination chain of the bridge transaction */
332
+ toChainId?: string;
333
+ /** Axelar-name of the asset to bridge */
334
+ asset?: string;
335
+ /** Whether to unwrap the asset at the destination chain (from ERC-20 to native) */
336
+ shouldUnwrap?: boolean;
337
+ /** Denom of the input asset */
338
+ denomIn?: string;
339
+ /** Denom of the output asset */
340
+ denomOut?: string;
341
+ /** Amount of the fee asset to be paid as the Axelar bridge fee. This is denominated in the fee asset. */
342
+ feeAmount?: string;
343
+ /** Amount of the fee asset to be paid as the Axelar bridge fee, converted to USD value */
344
+ usdFeeAmount?: string;
345
+ feeAsset?: Asset;
346
+ /** Whether the source and destination chains are both testnets */
347
+ isTestnet?: boolean;
348
+ /** A cross-chain transfer */
349
+ ibcTransferToAxelar?: Transfer;
350
+ /**
351
+ * Bridge Type:
352
+ * * `IBC` - IBC Bridge
353
+ * * `AXELAR` - Axelar Bridge
354
+ * * `CCTP` - CCTP Bridge
355
+ * * `HYPERLANE` - Hyperlane Bridge
356
+ * * `OPINIT` - Opinit Bridge
357
+ * * `GO_FAST` - Go Fast Bridge
358
+ * * `STARGATE` - Stargate Bridge
359
+ * * `LAYER_ZERO` - Layerzero Bridge
360
+ * * `EUREKA` - IBC Eureka Bridge
361
+ */
362
+ bridgeId?: BridgeType;
363
+ /** Indicates whether this transfer is relayed via Smart Relay */
364
+ smartRelay?: boolean;
365
+ /**
366
+ * Deprecated, use from_chain_id instead. Name for source chain of the bridge transaction used on Axelar
367
+ * @deprecated
368
+ */
369
+ fromChain?: string;
370
+ /**
371
+ * Deprecated, use to_chain_id instead. Name for destination chain of the bridge transaction used on Axelar
372
+ * @deprecated
373
+ */
374
+ toChain?: string;
375
+ }
376
+ interface AxelarTransferInfo {
377
+ /** Link to the transaction on the Axelar Scan explorer */
378
+ axelarScanLink?: string;
379
+ /** Chain ID of the destination chain */
380
+ toChainId: string;
381
+ /** Chain ID of the source chain */
382
+ fromChainId: string;
383
+ /**
384
+ * Axelar transfer state:
385
+ * * `AXELAR_TRANSFER_UNKNOWN` - Unknown error
386
+ * * `AXELAR_TRANSFER_PENDING_CONFIRMATION` - Axelar transfer is pending confirmation
387
+ * * `AXELAR_TRANSFER_PENDING_RECEIPT` - Axelar transfer is pending receipt at destination
388
+ * * `AXELAR_TRANSFER_SUCCESS` - Axelar transfer succeeded and assets have been received
389
+ * * `AXELAR_TRANSFER_FAILURE` - Axelar transfer failed
390
+ */
391
+ state: AxelarTransferState;
392
+ txs: {
393
+ contractCallWithTokenTxs?: ContractCallWithTokenTxs;
394
+ } | SendTokenTxs;
395
+ /**
396
+ * Axelar transfer type:
397
+ * * `AXELAR_TRANSFER_CONTRACT_CALL_WITH_TOKEN` - GMP contract call with token transfer type
398
+ * * `AXELAR_TRANSFER_SEND_TOKEN` - Send token transfer type
399
+ */
400
+ type?: AxelarTransferType;
401
+ }
402
+ interface AxelarTransferWrapper {
403
+ /** A transfer facilitated by the Axelar bridge */
404
+ axelarTransfer?: AxelarTransfer;
405
+ }
406
+ /** Details about the fee paid for Smart Relaying */
407
+ interface SmartRelayFeeQuote {
408
+ /** The USDC fee amount */
409
+ feeAmount?: string;
410
+ /** Address of the relayer */
411
+ relayerAddress?: string;
412
+ /** Expiration time of the fee quote */
413
+ expiration?: string;
414
+ /** The fee asset denomination */
415
+ feeDenom?: string;
416
+ /** The address the fee should be sent to */
417
+ feePaymentAddress?: string;
418
+ }
419
+ /** A transfer facilitated by the CCTP bridge */
420
+ interface CCTPTransfer {
421
+ /** Canonical chain-id of the source chain of the bridge transaction */
422
+ fromChainId?: string;
423
+ /** Canonical chain-id of the destination chain of the bridge transaction */
424
+ toChainId?: string;
425
+ /** Name of the asset to bridge. It will be the erc-20 contract address for EVM chains and `uusdc` for Noble. */
426
+ burnToken?: string;
427
+ /** Denom of the input asset */
428
+ denomIn?: string;
429
+ /** Denom of the output asset */
430
+ denomOut?: string;
431
+ /**
432
+ * Bridge Type:
433
+ * * `IBC` - IBC Bridge
434
+ * * `AXELAR` - Axelar Bridge
435
+ * * `CCTP` - CCTP Bridge
436
+ * * `HYPERLANE` - Hyperlane Bridge
437
+ * * `OPINIT` - Opinit Bridge
438
+ * * `GO_FAST` - Go Fast Bridge
439
+ * * `STARGATE` - Stargate Bridge
440
+ * * `LAYER_ZERO` - Layerzero Bridge
441
+ * * `EUREKA` - IBC Eureka Bridge
442
+ */
443
+ bridgeId?: BridgeType;
444
+ /** Indicates whether this transfer is relayed via Smart Relay */
445
+ smartRelay?: boolean;
446
+ smartRelayFeeQuote?: SmartRelayFeeQuote;
447
+ }
448
+ interface CCTPTransferInfo {
449
+ /** Chain ID of the destination chain */
450
+ toChainId?: string;
451
+ /** Chain ID of the source chain */
452
+ fromChainId?: string;
453
+ /**
454
+ * CCTP transfer state:
455
+ * * `CCTP_TRANSFER_UNKNOWN` - Unknown error
456
+ * * `CCTP_TRANSFER_SENT` - The burn transaction on the source chain has executed
457
+ * * `CCTP_TRANSFER_PENDING_CONFIRMATION` - CCTP transfer is pending confirmation by the cctp attestation api
458
+ * * `CCTP_TRANSFER_CONFIRMED` - CCTP transfer has been confirmed by the cctp attestation api
459
+ * * `CCTP_TRANSFER_RECEIVED` - CCTP transfer has been received at the destination chain
460
+ */
461
+ state?: CCTPTransferState;
462
+ txs?: CCTPTransferTxs;
463
+ }
464
+ interface CCTPTransferTxs {
465
+ sendTx?: ChainTransaction;
466
+ receiveTx?: ChainTransaction;
467
+ }
468
+ interface CCTPTransferWrapper {
469
+ /** A transfer facilitated by the CCTP bridge */
470
+ cctpTransfer?: CCTPTransfer;
471
+ }
472
+ interface CCTPTransferV2 {
473
+ fromChainId?: string;
474
+ toChainId?: string;
475
+ burnToken?: string;
476
+ denomIn?: string;
477
+ denomOut?: string;
478
+ bridgeId?: BridgeType;
479
+ smartRelay?: boolean;
480
+ smartRelayFeeQuote?: SmartRelayFeeQuote;
481
+ destinationDomain?: number;
482
+ finalityThreshold?: number;
483
+ maxFee?: string;
484
+ }
485
+ interface CCTPTransferV2Wrapper {
486
+ /** A transfer facilitated by the CCTP V2 bridge */
487
+ cctpTransferV2?: CCTPTransferV2;
488
+ }
489
+ /** A transfer facilitated by the Stargate bridge */
490
+ interface StargateTransfer {
491
+ /** Canonical chain-id of the source chain of the bridge transaction */
492
+ fromChainId?: string;
493
+ /** Canonical chain-id of the destination chain of the bridge transaction */
494
+ toChainId?: string;
495
+ /** Denom of the input asset */
496
+ denomIn?: string;
497
+ /** Denom of the output asset */
498
+ denomOut?: string;
499
+ poolAddress?: string;
500
+ destinationEndpointId?: number;
501
+ oftFeeAsset?: Asset;
502
+ oftFeeAmount?: string;
503
+ oftFeeAmountUsd?: string;
504
+ messagingFeeAsset?: Asset;
505
+ messagingFeeAmount?: string;
506
+ messagingFeeAmountUsd?: string;
507
+ /**
508
+ * Bridge Type:
509
+ * * `IBC` - IBC Bridge
510
+ * * `AXELAR` - Axelar Bridge
511
+ * * `CCTP` - CCTP Bridge
512
+ * * `HYPERLANE` - Hyperlane Bridge
513
+ * * `OPINIT` - Opinit Bridge
514
+ * * `GO_FAST` - Go Fast Bridge
515
+ * * `STARGATE` - Stargate Bridge
516
+ * * `LAYER_ZERO` - Layerzero Bridge
517
+ * * `EUREKA` - IBC Eureka Bridge
518
+ */
519
+ bridgeId?: BridgeType;
520
+ }
521
+ interface StargateTransferTxs {
522
+ sendTx?: ChainTransaction;
523
+ receiveTx?: ChainTransaction;
524
+ errorTx?: ChainTransaction;
525
+ }
526
+ interface StargateTransferInfo {
527
+ /** Chain ID of the source chain */
528
+ fromChainId?: string;
529
+ /** Chain ID of the destination chain */
530
+ toChainId?: string;
531
+ /**
532
+ * Stargate transfer state:
533
+ * * `STARGATE_TRANSFER_UNKNOWN` - Unknown error
534
+ * * `STARGATE_TRANSFER_SENT` - The Stargate transfer transaction on the source chain has executed
535
+ * * `STARGATE_TRANSFER_PENDING_CONFIRMATION` - Stargate transfer is pending confirmation
536
+ * * `STARGATE_TRANSFER_CONFIRMED` - Stargate transfer has been confirmed
537
+ * * `STARGATE_TRANSFER_RECEIVED` - Stargate transfer has been received at the destination chain
538
+ * * `STARGATE_TRANSFER_FAILED` - Stargate transfer failed
539
+ */
540
+ state?: StargateTransferState;
541
+ txs?: StargateTransferTxs;
542
+ }
543
+ interface StargateTransferWrapper {
544
+ /** A transfer facilitated by the Stargate bridge */
545
+ stargateTransfer?: StargateTransfer;
546
+ }
547
+ /** A transfer facilitated by GoFast */
548
+ interface GoFastTransfer {
549
+ /** Canonical chain-id of the source chain of the bridge transaction */
550
+ fromChainId?: string;
551
+ /** Canonical chain-id of the destination chain of the bridge transaction */
552
+ toChainId?: string;
553
+ /** Go fast Fee */
554
+ fee?: GoFastFee;
555
+ /**
556
+ * Bridge Type:
557
+ * * `IBC` - IBC Bridge
558
+ * * `AXELAR` - Axelar Bridge
559
+ * * `CCTP` - CCTP Bridge
560
+ * * `HYPERLANE` - Hyperlane Bridge
561
+ * * `OPINIT` - Opinit Bridge
562
+ * * `GO_FAST` - Go Fast Bridge
563
+ * * `STARGATE` - Stargate Bridge
564
+ * * `LAYER_ZERO` - Layerzero Bridge
565
+ * * `EUREKA` - IBC Eureka Bridge
566
+ */
567
+ bridgeId?: BridgeType;
568
+ /** Denom of the input asset */
569
+ denomIn?: string;
570
+ /** Denom of the output asset */
571
+ denomOut?: string;
572
+ /** Source domain ID of the transfer */
573
+ sourceDomain?: string;
574
+ /** Destination domain ID of the transfer */
575
+ destinationDomain?: string;
576
+ }
577
+ interface GoFastTransferTxs {
578
+ orderSubmittedTx?: ChainTransaction;
579
+ orderFilledTx?: ChainTransaction;
580
+ orderRefundedTx?: ChainTransaction;
581
+ orderTimeoutTx?: ChainTransaction;
582
+ }
583
+ interface GoFastTransferInfo {
584
+ /** Chain Id of the source chain */
585
+ fromChainId: string;
586
+ /** Chain Id of the destination chain */
587
+ toChainId: string;
588
+ /**
589
+ * GoFast transfer state:
590
+ * * `GO_FAST_TRANSFER_UNKNOWN` - Unknown state
591
+ * * `GO_FAST_TRANSFER_SENT` - Order submitted on source chain
592
+ * * `GO_FAST_POST_ACTION_FAILED` - Order filled, but subsequent action (e.g., swap) failed
593
+ * * `GO_FAST_TRANSFER_TIMEOUT` - Order timed out
594
+ * * `GO_FAST_TRANSFER_FILLED` - Order filled on destination chain
595
+ * * `GO_FAST_TRANSFER_REFUNDED` - Order refunded
596
+ */
597
+ state: GoFastTransferState;
598
+ txs: GoFastTransferTxs;
599
+ /** Error message if the transfer failed post-fill */
600
+ errorMessage?: string;
601
+ }
602
+ interface GoFastTransferWrapper {
603
+ /** A transfer facilitated by GoFast */
604
+ goFastTransfer?: GoFastTransfer;
605
+ }
606
+ interface BalanceRequestChainEntry {
607
+ /** Address of the wallet that the balance is requested for */
608
+ address?: string;
609
+ /** Denoms of the assets to get the balance for */
610
+ denoms?: string[];
611
+ }
612
+ interface BalanceResponseDenomEntry {
613
+ amount: string;
614
+ /** @format int32 */
615
+ decimals?: number;
616
+ formattedAmount: string;
617
+ price?: string;
618
+ valueUsd?: string;
619
+ error?: ApiError;
620
+ }
621
+ interface BalanceResponseChainEntry {
622
+ denoms?: Record<string, BalanceResponseDenomEntry>;
623
+ }
624
+ interface BankSend {
625
+ /** Chain-id of the chain that the transaction is intended for */
626
+ chainId?: string;
627
+ /** Denom of the asset to send */
628
+ denom?: string;
629
+ }
630
+ interface BankSendWrapper {
631
+ bankSend?: BankSend;
632
+ }
633
+ interface Bridge {
634
+ /**
635
+ * Bridge Type:
636
+ * * `IBC` - IBC Bridge
637
+ * * `AXELAR` - Axelar Bridge
638
+ * * `CCTP` - CCTP Bridge
639
+ * * `HYPERLANE` - Hyperlane Bridge
640
+ * * `OPINIT` - Opinit Bridge
641
+ * * `GO_FAST` - Go Fast Bridge
642
+ * * `STARGATE` - Stargate Bridge
643
+ * * `LAYER_ZERO` - Layerzero Bridge
644
+ * * `EUREKA` - IBC Eureka Bridge
645
+ */
646
+ id?: BridgeType;
647
+ /** Name of the bridge */
648
+ name?: string;
649
+ /** URI pointing to an image of the logo of the bridge */
650
+ logoUri?: string;
651
+ }
652
+ interface Chain {
653
+ /** Name of the chain */
654
+ chainName: string;
655
+ /** Chain-id of the chain */
656
+ chainId: string;
657
+ /** Whether the PFM module is enabled on the chain */
658
+ pfmEnabled: boolean;
659
+ /** Supported cosmos modules */
660
+ cosmosModuleSupport: CosmosModuleSupport;
661
+ /** Whether the chain supports IBC memos */
662
+ supportsMemo: boolean;
663
+ /** chain logo URI */
664
+ logoUri?: string;
665
+ /** Bech32 prefix of the chain */
666
+ bech32Prefix: string;
667
+ /** Fee assets of the chain */
668
+ feeAssets: FeeAsset[];
669
+ /** Type of chain, e.g. "cosmos" or "evm" */
670
+ chainType: ChainType;
671
+ /** IBC capabilities of the chain */
672
+ ibcCapabilities: IbcCapabilities;
673
+ /** Whether the chain is a testnet */
674
+ isTestnet: boolean;
675
+ /** User friendly name of the chain */
676
+ prettyName: string;
677
+ }
678
+ interface ChainAffiliates {
679
+ /** An array of affiliates that receives fees from a swap */
680
+ affiliates?: Affiliate[];
681
+ }
682
+ interface ContractCallWithTokenError {
683
+ /** Error message */
684
+ message?: string;
685
+ /**
686
+ * ContractCallWithToken errors:
687
+ * * `CONTRACT_CALL_WITH_TOKEN_EXECUTION_ERROR` - Error occurred during the execute transaction
688
+ */
689
+ type?: ContractCallWithTokenErrorType;
690
+ }
691
+ interface ContractCallWithTokenTxs {
692
+ approveTx?: ChainTransaction;
693
+ confirmTx?: ChainTransaction;
694
+ error?: ContractCallWithTokenError;
695
+ executeTx?: ChainTransaction;
696
+ gasPaidTx?: ChainTransaction;
697
+ sendTx?: ChainTransaction;
698
+ }
699
+ interface CosmWasmContractMsg {
700
+ /** Address of the contract to execute the message on */
701
+ contractAddress?: string;
702
+ /** JSON string of the message */
703
+ msg?: string;
704
+ }
705
+ interface CosmWasmContractMsgWrapper {
706
+ wasmMsg?: CosmWasmContractMsg;
707
+ }
708
+ /** An ERC20 token contract approval */
709
+ interface Erc20Approval {
710
+ /** Amount of the approval */
711
+ amount: string;
712
+ /** Address of the spender */
713
+ spender: string;
714
+ /** Address of the ERC20 token contract */
715
+ tokenContract: string;
716
+ }
717
+ interface ErrorDetail {
718
+ /**
719
+ * Error detail:
720
+ * * `LOW_INFO_ERROR` - Not enough asset pricing information to determine the price safety of the route.
721
+ * * `BAD_PRICE_ERROR` - The execution price of the route deviates significantly from the current market price.
722
+ * * `HIGH_LOSS_ERROR` - The route would result in a USD loss exceeding the configured threshold and has been blocked.
723
+ */
724
+ reason?: "LOW_INFO_ERROR" | "BAD_PRICE_ERROR" | "HIGH_LOSS_ERROR";
725
+ }
726
+ interface Error {
727
+ /** Error code */
728
+ code?: GRPCStatusCode;
729
+ /** Additional error details */
730
+ details?: ErrorDetail[];
731
+ /** Error message */
732
+ message?: string;
733
+ }
734
+ /** A message in a cosmos transaction */
735
+ interface CosmosMsg {
736
+ /** JSON string of the message */
737
+ msg?: string;
738
+ /** TypeUrl of the message */
739
+ msgTypeUrl?: string;
740
+ }
741
+ /** A transaction on a Cosmos chain */
742
+ interface CosmosTx {
743
+ /** Chain-id of the chain that the transaction is intended for */
744
+ chainId: string;
745
+ /** Path of chain-ids that the message is intended to interact with */
746
+ path?: string[];
747
+ /** The address of the wallet that will sign this transaction */
748
+ signerAddress?: string;
749
+ /** The messages that should be included in the transaction. The ordering must be adhered to. */
750
+ msgs?: CosmosMsg[];
751
+ }
752
+ interface CosmosTxWrapper {
753
+ /** A transaction on a Cosmos chain */
754
+ cosmosTx: CosmosTx;
755
+ }
756
+ /** A swap on an EVM chain */
757
+ interface EvmSwap {
758
+ /** Address of the input token. Empty string if native token. */
759
+ inputToken?: string;
760
+ /** Amount of the input token */
761
+ amountIn?: string;
762
+ /** Calldata for the swap */
763
+ swapCalldata?: string;
764
+ /** Amount of the output token */
765
+ amountOut?: string;
766
+ /** Chain-id for the swap */
767
+ fromChainId?: string;
768
+ /** Denom of the input asset */
769
+ denomIn?: string;
770
+ /** Denom of the output asset */
771
+ denomOut?: string;
772
+ /** Venues used for the swap */
773
+ swapVenues?: SwapVenue[];
774
+ }
775
+ interface EvmSwapWrapper {
776
+ /** A swap on an EVM chain */
777
+ evmSwap?: EvmSwap;
778
+ }
779
+ /** A transaction on an EVM chain */
780
+ interface EvmTx {
781
+ /** Chain-id of the chain that the transaction is intended for */
782
+ chainId: string;
783
+ /** Data of the transaction */
784
+ data?: string;
785
+ /** ERC20 approvals required for the transaction */
786
+ requiredErc20Approvals?: Erc20Approval[];
787
+ /** The address of the wallet that will sign this transaction */
788
+ signerAddress?: string;
789
+ /** Address of the recipient of the transaction */
790
+ to?: string;
791
+ /** Amount of the transaction */
792
+ value?: string;
793
+ }
794
+ interface EvmTxWrapper {
795
+ /** A transaction on an EVM chain */
796
+ evmTx: EvmTx;
797
+ }
798
+ /** A transaction on an SVM chain */
799
+ interface SvmTx {
800
+ /** Chain-id of the chain that the transaction is intended for */
801
+ chainId: string;
802
+ /** The address of the wallet that will sign this transaction */
803
+ signerAddress?: string;
804
+ /** Base64 encoded unsigned or partially signed transaction */
805
+ tx?: string;
806
+ }
807
+ interface SvmTxWrapper {
808
+ /** A transaction on an SVM chain */
809
+ svmTx: SvmTx;
810
+ }
811
+ /** Asset used to pay gas fees and the recommended price tiers. Assets and gas price recommendations are sourced from the [keplr chain registry](https://github.com/chainapsis/keplr-chain-registry) */
812
+ interface FeeAsset {
813
+ /** Asset denom */
814
+ denom: string;
815
+ /** Gas price tiers */
816
+ gasPrice?: {
817
+ /** Average gas price */
818
+ average?: string;
819
+ /** High gas price */
820
+ high?: string;
821
+ /** Low gas price */
822
+ low?: string;
823
+ };
824
+ }
825
+ /** Go fast Fee */
826
+ interface GoFastFee {
827
+ feeAsset: Asset;
828
+ bpsFee?: string;
829
+ bpsFeeAmount?: string;
830
+ bpsFeeUsd?: string;
831
+ sourceChainFeeAmount?: string;
832
+ sourceChainFeeUsd?: string;
833
+ destinationChainFeeAmount?: string;
834
+ destinationChainFeeUsd?: string;
835
+ }
836
+ /** grpc status codes as defined [here](https://grpc.github.io/grpc/core/md_doc_statuscodes.html) */
837
+ type GRPCStatusCode = number;
838
+ /** A transfer facilitated by the Hyperlane bridge */
839
+ interface HyperlaneTransfer {
840
+ /** Canonical chain-id of the source chain of the bridge transaction */
841
+ fromChainId?: string;
842
+ /** Canonical chain-id of the destination chain of the bridge transaction */
843
+ toChainId?: string;
844
+ /** Denom of the input asset */
845
+ denomIn?: string;
846
+ /** Denom of the output asset */
847
+ denomOut?: string;
848
+ /** Contract address of the hyperlane warp route contract that initiates the transfer */
849
+ hyperlaneContractAddress?: string;
850
+ /** Amount of the fee asset to be paid as the Hyperlane bridge fee. This is denominated in the fee asset. */
851
+ feeAmount?: string;
852
+ /** Amount of the fee asset to be paid as the Hyperlane bridge fee, converted to USD value */
853
+ usdFeeAmount?: string;
854
+ feeAsset?: Asset;
855
+ /**
856
+ * Bridge Type:
857
+ * * `IBC` - IBC Bridge
858
+ * * `AXELAR` - Axelar Bridge
859
+ * * `CCTP` - CCTP Bridge
860
+ * * `HYPERLANE` - Hyperlane Bridge
861
+ * * `OPINIT` - Opinit Bridge
862
+ * * `GO_FAST` - Go Fast Bridge
863
+ * * `STARGATE` - Stargate Bridge
864
+ * * `LAYER_ZERO` - Layerzero Bridge
865
+ * * `EUREKA` - IBC Eureka Bridge
866
+ */
867
+ bridgeId?: BridgeType;
868
+ /** Indicates whether this transfer is relayed via Smart Relay */
869
+ smartRelay?: boolean;
870
+ }
871
+ interface HyperlaneTransferInfo {
872
+ /** Chain ID of the source chain */
873
+ fromChainId: string;
874
+ /** Chain ID of the destination chain */
875
+ toChainId: string;
876
+ /**
877
+ * Hyperlane transfer state:
878
+ * * `HYPERLANE_TRANSFER_UNKNOWN` - Unknown error
879
+ * * `HYPERLANE_TRANSFER_SENT` - The Hyperlane transfer transaction on the source chain has executed
880
+ * * `HYPERLANE_TRANSFER_FAILED` - The Hyperlane transfer failed
881
+ * * `HYPERLANE_TRANSFER_RECEIVED` - The Hyperlane transfer has been received at the destination chain
882
+ */
883
+ state: HyperlaneTransferState;
884
+ txs: HyperlaneTransferTransactions;
885
+ }
886
+ interface HyperlaneTransferTransactions {
887
+ sendTx?: ChainTransaction;
888
+ receiveTx?: ChainTransaction;
889
+ }
890
+ interface HyperlaneTransferWrapper {
891
+ /** A transfer facilitated by the Hyperlane bridge */
892
+ hyperlaneTransfer?: HyperlaneTransfer;
893
+ }
894
+ interface IBCTransferInfo {
895
+ /** Chain ID of the destination chain */
896
+ toChainId: string;
897
+ packetTxs: Packet;
898
+ /** Chain ID of the source chain */
899
+ fromChainId: string;
900
+ /**
901
+ * Transfer state:
902
+ * * `TRANSFER_UNKNOWN` - Transfer state is not known.
903
+ * * `TRANSFER_PENDING` - The send packet for the transfer has been committed and the transfer is pending.
904
+ * * `TRANSFER_RECEIVED` - The transfer packet has been received by the destination chain. It can still fail and revert if it is part of a multi-hop PFM transfer.
905
+ * * `TRANSFER_SUCCESS` - The transfer has been successfully completed and will not revert.
906
+ * * `TRANSFER_FAILURE`- The transfer has failed.
907
+ */
908
+ state: TransferState;
909
+ }
910
+ type Msg = MultiChainMsgWrapper | EvmTxWrapper | SvmTxWrapper;
911
+ type Tx = (CosmosTxWrapper | EvmTxWrapper | SvmTxWrapper) & {
912
+ /** Array of indices of the operations that this transaction executes */
913
+ operationsIndices?: number[];
914
+ };
915
+ /** A message that interacts with multiple chains */
916
+ interface MultiChainMsg {
917
+ /** Chain-id of the chain that the transaction containing the message is intended for */
918
+ chainId?: string;
919
+ /** JSON string of the message */
920
+ msg?: string;
921
+ /** TypeUrl of the message */
922
+ msgTypeUrl?: string;
923
+ /** Path of chain-ids that the message is intended to interact with */
924
+ path?: string[];
925
+ }
926
+ interface MultiChainMsgWrapper {
927
+ /** A message that interacts with multiple chains */
928
+ multiChainMsg?: MultiChainMsg;
929
+ }
930
+ type Operation = (TransferWrapper | SwapWrapper | AxelarTransferWrapper | BankSendWrapper | CCTPTransferWrapper | CCTPTransferV2Wrapper | HyperlaneTransferWrapper | EvmSwapWrapper | OPInitTransferWrapper | GoFastTransferWrapper | StargateTransferWrapper | LayerZeroTransferWrapper | EurekaTransferWrapper) & {
931
+ /** Index of the tx returned from Msgs that executes this operation */
932
+ txIndex: number;
933
+ /** Amount of input asset to this operation */
934
+ amountIn: string;
935
+ /** Amount of output asset from this operation */
936
+ amountOut: string;
937
+ };
938
+ interface OptionalAsset {
939
+ asset?: Asset;
940
+ /** Whether the asset was found */
941
+ assetFound?: boolean;
942
+ }
943
+ interface LayerZeroTransferTransactions {
944
+ sendTx?: ChainTransaction;
945
+ receiveTx?: ChainTransaction;
946
+ composeTx?: ChainTransaction;
947
+ errorTx?: ChainTransaction;
948
+ }
949
+ interface Packet {
950
+ acknowledgeTx?: ChainTransaction;
951
+ error?: PacketError;
952
+ receiveTx?: ChainTransaction;
953
+ sendTx?: ChainTransaction;
954
+ timeoutTx?: ChainTransaction;
955
+ }
956
+ interface PacketError {
957
+ details?: AcknowledgementErrorDetails;
958
+ /** Error message */
959
+ message?: string;
960
+ /**
961
+ * Packet error type:
962
+ * * `PACKET_ERROR_UNKNOWN` - Unknown error
963
+ * * `PACKET_ERROR_ACKNOWLEDGEMENT` - Packet acknowledgement error
964
+ * * `PACKET_ERROR_TIMEOUT` - Packet timed out
965
+ */
966
+ type?: PacketErrorType;
967
+ }
968
+ interface ChainTransaction {
969
+ /** Chain ID the packet event occurs on */
970
+ chainId?: string;
971
+ /** Link to the transaction on block explorer */
972
+ explorerLink: string;
973
+ /** Hash of the transaction the packet event occurred in */
974
+ txHash?: string;
975
+ /** RFC3339 formatted UTC timestamp of when the transaction landed on chain */
976
+ onChainAt?: string;
977
+ }
978
+ type PostHandler = CosmWasmContractMsgWrapper | AutopilotMsgWrapper;
979
+ interface Route {
980
+ /** Amount of source asset to be transferred or swapped */
981
+ amountIn: string;
982
+ /** Amount of destination asset out */
983
+ amountOut: string;
984
+ /** Chain-ids of all chains of the transfer or swap, in order of usage by operations in the route */
985
+ chainIds: string[];
986
+ /** All chain-ids that require an address to be provided for, in order of usage by operations in the route */
987
+ requiredChainAddresses: string[];
988
+ /** Chain-id of the destination asset */
989
+ destAssetChainId: string;
990
+ /** Denom of the destination asset */
991
+ destAssetDenom: string;
992
+ /** Whether this route performs a swap */
993
+ doesSwap?: boolean;
994
+ /** Amount of destination asset out, if a swap is performed */
995
+ estimatedAmountOut: string;
996
+ /** Array of operations required to perform the transfer or swap */
997
+ operations: Operation[];
998
+ /** Chain-id of the source asset */
999
+ sourceAssetChainId: string;
1000
+ /** Denom of the source asset */
1001
+ sourceAssetDenom: string;
1002
+ /** Swap venue on which the swap is performed, if a swap is performed */
1003
+ swapVenues?: SwapVenue[];
1004
+ /** Number of transactions required to perform the transfer or swap */
1005
+ txsRequired: number;
1006
+ /** Amount of the source denom, converted to USD value */
1007
+ usdAmountIn?: string;
1008
+ /** Amount of the destination denom expected to be received, converted to USD value */
1009
+ usdAmountOut?: string;
1010
+ /** Price impact of the estimated swap, if present. Measured in percentage e.g. "0.5" is .5% */
1011
+ swapPriceImpactPercent?: string;
1012
+ /** Indicates if the route is unsafe due to poor execution price or if safety cannot be determined due to lack of pricing information */
1013
+ warning?: {
1014
+ /**
1015
+ * Recommendation reason:
1016
+ * * `LOW_INFO_WARNING` - Not enough asset pricing information to determine the price safety of the route.
1017
+ * * `BAD_PRICE_WARNING` - The execution price of the route deviates significantly from the current market price.
1018
+ */
1019
+ type?: RoutePriceWarningType;
1020
+ /** Warning message */
1021
+ message?: string;
1022
+ };
1023
+ /** Indicates fees incurred in the execution of the transfer */
1024
+ estimatedFees?: Fee[];
1025
+ /** The estimated time in seconds for the route to execute */
1026
+ estimatedRouteDurationSeconds: number;
1027
+ }
1028
+ interface SendTokenError {
1029
+ /** Error message */
1030
+ message?: string;
1031
+ /**
1032
+ * SendToken error types:
1033
+ * * `SEND_TOKEN_EXECUTION_ERROR` - Error occurred during the execute transaction
1034
+ */
1035
+ type?: SendTokenErrorType;
1036
+ }
1037
+ interface SendTokenTxs {
1038
+ confirmTx?: ChainTransaction;
1039
+ error?: SendTokenError;
1040
+ executeTx?: ChainTransaction;
1041
+ sendTx?: ChainTransaction;
1042
+ }
1043
+ interface StatusError {
1044
+ details?: TransactionExecutionErrorDetails;
1045
+ /** Error message */
1046
+ message?: string;
1047
+ /**
1048
+ * Packet error types:
1049
+ * * `STATUS_ERROR_UNKNOWN` - Unknown error
1050
+ * * `STATUS_ERROR_TRANSACTION_EXECUTION` - Error was encountered during transaction execution
1051
+ * * `STATUS_ERROR_INDEXING` - Error was encountered while indexing the transaction and packet data
1052
+ * * `STATUS_ERROR_TRANSFER` - The transfer failed to complete successfully
1053
+ */
1054
+ type?: StatusErrorType;
1055
+ }
1056
+ type Swap = (SwapInWrapper | SwapOutWrapper | SmartSwapInWrapper) & {
1057
+ /** Estimated total affiliate fee generated by the swap */
1058
+ estimatedAffiliateFee?: string;
1059
+ /** Chain ID that the swap will be executed on (alias for chain_id) */
1060
+ fromChainId?: string;
1061
+ /** Chain ID that the swap will be executed on */
1062
+ chainId?: string;
1063
+ /** Input denom of the swap */
1064
+ denomIn?: string;
1065
+ /** Output denom of the swap */
1066
+ denomOut?: string;
1067
+ /** Swap venues that the swap will route through */
1068
+ swapVenues?: SwapVenue[];
1069
+ };
1070
+ /** Specification of a swap with an exact amount in */
1071
+ interface SwapExactCoinIn {
1072
+ /** Swap venue that this swap should execute on */
1073
+ swapVenue?: SwapVenue;
1074
+ /** Operations required to execute the swap */
1075
+ swapOperations?: SwapOperation[];
1076
+ /** Amount to swap in */
1077
+ swapAmountIn?: string;
1078
+ /** Price impact of the estimated swap, if present. Measured in percentage e.g. "0.5" is .5% */
1079
+ priceImpactPercent?: string;
1080
+ /** The estimated amount out received from the swap */
1081
+ estimatedAmountOut?: string;
1082
+ }
1083
+ /** Specification of a swap with an exact amount out */
1084
+ interface SwapExactCoinOut {
1085
+ /** Swap venue that this swap should execute on */
1086
+ swapVenue?: SwapVenue;
1087
+ /** Operations required to execute the swap */
1088
+ swapOperations?: SwapOperation[];
1089
+ /** Amount to get out of the swap */
1090
+ swapAmountOut?: string;
1091
+ /** Price impact of the estimated swap, if present. Measured in percentage e.g. "0.5" is .5% */
1092
+ priceImpactPercent?: string;
1093
+ }
1094
+ interface SwapInWrapper {
1095
+ /** Specification of a swap with an exact amount in */
1096
+ swapIn?: SwapExactCoinIn;
1097
+ }
1098
+ /** Description of a single swap operation */
1099
+ interface SwapOperation {
1100
+ /** Input denom of the swap */
1101
+ denomIn?: string;
1102
+ /** Output denom of the swap */
1103
+ denomOut?: string;
1104
+ /** Identifier of the pool to use for the swap */
1105
+ pool?: string;
1106
+ /** Optional dditional metadata a swap adapter may require */
1107
+ interface?: string;
1108
+ }
1109
+ interface SwapOutWrapper {
1110
+ /** Specification of a swap with an exact amount out */
1111
+ swapOut?: SwapExactCoinOut;
1112
+ }
1113
+ interface SwapRoute {
1114
+ /** Amount to swap in */
1115
+ swapAmountIn?: string;
1116
+ /** Denom in of the swap */
1117
+ denomIn?: string;
1118
+ /** Operations required to execute the swap route */
1119
+ swapOperations?: SwapOperation[];
1120
+ }
1121
+ /** Specification of a smart swap in operation */
1122
+ interface SmartSwapExactCoinIn {
1123
+ /** Swap venue that this swap should execute on */
1124
+ swapVenue?: SwapVenue;
1125
+ /** Routes to execute the swap */
1126
+ swapRoutes?: SwapRoute[];
1127
+ /** The estimated amount out received from the swap */
1128
+ estimatedAmountOut?: string;
1129
+ }
1130
+ interface SmartSwapOptions {
1131
+ /** Indicates whether the swap can be split into multiple swap routes */
1132
+ splitRoutes?: boolean;
1133
+ /** Indicates whether to include routes that swap on EVM chains */
1134
+ evmSwaps?: boolean;
1135
+ }
1136
+ interface SmartSwapInWrapper {
1137
+ /** Specification of a smart swap in operation */
1138
+ smartSwapIn?: SmartSwapExactCoinIn;
1139
+ }
1140
+ /** A venue on which swaps can be exceuted */
1141
+ interface SwapVenue {
1142
+ /** Chain ID of the swap venue */
1143
+ chainId?: string;
1144
+ /** Name of the swap venue */
1145
+ name?: string;
1146
+ /** URI for the venue's logo */
1147
+ logoUri?: string;
1148
+ }
1149
+ interface SwapWrapper {
1150
+ swap?: Swap;
1151
+ }
1152
+ interface TransactionExecutionErrorDetails {
1153
+ /** Error code */
1154
+ code?: number;
1155
+ /** Error message */
1156
+ message?: string;
1157
+ }
1158
+ /** A transfer facilitated by the OP Init bridge */
1159
+ interface OPInitTransfer {
1160
+ /** Canonical chain-id of the source chain of the bridge transaction */
1161
+ fromChainId?: string;
1162
+ /** Canonical chain-id of the destination chain of the bridge transaction */
1163
+ toChainId?: string;
1164
+ /** Denom of the input asset */
1165
+ denomIn?: string;
1166
+ /** Denom of the output asset */
1167
+ denomOut?: string;
1168
+ /** Identifier used by the OPInit bridge to identify the L1-L2 pair the transfer occurs between */
1169
+ opInitBridgeId?: any;
1170
+ /**
1171
+ * Bridge Type:
1172
+ * * `IBC` - IBC Bridge
1173
+ * * `AXELAR` - Axelar Bridge
1174
+ * * `CCTP` - CCTP Bridge
1175
+ * * `HYPERLANE` - Hyperlane Bridge
1176
+ * * `OPINIT` - Opinit Bridge
1177
+ * * `GO_FAST` - Go Fast Bridge
1178
+ * * `STARGATE` - Stargate Bridge
1179
+ * * `LAYER_ZERO` - Layerzero Bridge
1180
+ * * `EUREKA` - IBC Eureka Bridge
1181
+ */
1182
+ bridgeId?: BridgeType;
1183
+ /** Indicates whether this transfer is relayed via Smart Relay */
1184
+ smartRelay?: boolean;
1185
+ }
1186
+ interface OPInitTransferWrapper {
1187
+ /** A transfer facilitated by the OP Init bridge */
1188
+ opInitTransfer?: OPInitTransfer;
1189
+ }
1190
+ interface OPInitTransferInfo {
1191
+ /** Chain ID of the destination chain */
1192
+ toChainId: string;
1193
+ /** Chain ID of the source chain */
1194
+ fromChainId: string;
1195
+ /**
1196
+ * OPInit transfer state:
1197
+ * * `OPINIT_TRANSFER_UNKNOWN` - Unknown error
1198
+ * * `OPINIT_TRANSFER_SENT` - The deposit transaction on the source chain has executed
1199
+ * * `OPINIT_TRANSFER_RECEIVED` - OPInit transfer has been received at the destination chain
1200
+ */
1201
+ state: OPInitTransferState;
1202
+ txs: OPInitTransferTxs;
1203
+ }
1204
+ interface OPInitTransferTxs {
1205
+ sendTx?: ChainTransaction;
1206
+ receiveTx?: ChainTransaction;
1207
+ }
1208
+ /** A cross-chain transfer */
1209
+ interface Transfer {
1210
+ /** Port to use to initiate the transfer */
1211
+ port?: string;
1212
+ /** Channel to use to initiate the transfer */
1213
+ channel?: string;
1214
+ /** Chain-id on which the transfer is initiated */
1215
+ fromChainId?: string;
1216
+ /** Chain-id on which the transfer is received */
1217
+ toChainId?: string;
1218
+ /** Whether pfm is enabled on the chain where the transfer is initiated */
1219
+ pfmEnabled?: boolean;
1220
+ /** Whether the transfer chain supports a memo */
1221
+ supportsMemo?: boolean;
1222
+ /** Denom of the input asset of the transfer */
1223
+ denomIn?: string;
1224
+ /** Denom of the output asset of the transfer */
1225
+ denomOut?: string;
1226
+ /** Amount of the fee asset to be paid as the transfer fee if applicable. */
1227
+ feeAmount?: string;
1228
+ /** Amount of the fee asset to be paid as the transfer fee if applicable, converted to USD value */
1229
+ usdFeeAmount?: string;
1230
+ /** Asset to be paid as the transfer fee if applicable. */
1231
+ feeAsset?: Asset;
1232
+ /**
1233
+ * Bridge Type:
1234
+ * * `IBC` - IBC Bridge
1235
+ * * `AXELAR` - Axelar Bridge
1236
+ * * `CCTP` - CCTP Bridge
1237
+ * * `HYPERLANE` - Hyperlane Bridge
1238
+ * * `OPINIT` - Opinit Bridge
1239
+ * * `GO_FAST` - Go Fast Bridge
1240
+ * * `STARGATE` - Stargate Bridge
1241
+ * * `LAYER_ZERO` - Layerzero Bridge
1242
+ * * `EUREKA` - IBC Eureka Bridge
1243
+ */
1244
+ bridgeId?: BridgeType;
1245
+ /** Indicates whether this transfer is relayed via Smart Relay */
1246
+ smartRelay?: boolean;
1247
+ /** Address of the entry contract on the destination chain */
1248
+ toChainEntryContractAddress?: string;
1249
+ /** Address of the callback contract on the destination chain */
1250
+ toChainCallbackContractAddress?: string;
1251
+ /**
1252
+ * Deprecated, use denom_out instead. Denom of the destination asset of the transfer
1253
+ * @deprecated
1254
+ */
1255
+ destDenom?: string;
1256
+ }
1257
+ interface TransferEvent {
1258
+ ibcTransfer?: IBCTransferInfo;
1259
+ axelarTransfer?: AxelarTransferInfo;
1260
+ cctpTransfer?: CCTPTransferInfo;
1261
+ hyperlaneTransfer?: HyperlaneTransferInfo;
1262
+ opInitTransfer?: OPInitTransferInfo;
1263
+ stargateTransfer?: StargateTransferInfo;
1264
+ goFastTransfer?: GoFastTransferInfo;
1265
+ eurekaTransfer?: EurekaTransferInfo;
1266
+ layerZeroTransfer?: LayerZeroTransferInfo;
1267
+ }
1268
+ /** Indicates location and denom of transfer asset release. */
1269
+ interface TransferAssetRelease {
1270
+ /** The chain ID of the chain that the transfer asset is released on. */
1271
+ chainId?: string;
1272
+ /** The denom of the asset that is released. */
1273
+ denom?: string;
1274
+ /** The amount of the asset that is released. */
1275
+ amount?: string;
1276
+ /** Indicates whether assets have been released and are accessible. The assets may still be in transit. */
1277
+ released?: boolean;
1278
+ }
1279
+ interface TransferStatus {
1280
+ /**
1281
+ * Transaction state:
1282
+ * * `STATE_SUBMITTED` - The initial transaction has been submitted to Skip Go API but not observed on chain yet
1283
+ * * `STATE_PENDING` - The initial transaction has been observed on chain, and there are still pending actions
1284
+ * * `STATE_COMPLETED_SUCCESS` - The route has completed successfully and the user has their tokens on the destination. (indicated by `transfer_asset_release`)
1285
+ * * `STATE_COMPLETED_ERROR` - The route errored somewhere and the user has their tokens unlocked in one of their wallets. Their tokens are either on the source chain, an intermediate chain, or the destination chain but as the wrong asset.
1286
+ * (Again, `transfer_asset_release` indicates where the tokens are)
1287
+ * * `STATE_ABANDONED` - Tracking for the transaction has been abandoned. This happens if the cross-chain sequence of actions stalls for more than 10 minutes or if the initial transaction does not get observed in a block for 5 minutes.
1288
+ * * `STATE_PENDING_ERROR` - The overall transaction will fail, pending error propagation
1289
+ */
1290
+ state?: TransactionState;
1291
+ /** Lists any IBC and Axelar transfers as they are seen. */
1292
+ transferSequence?: TransferEvent[];
1293
+ /** Indicates which entry in the `transfer_sequence` field that the transfer is blocked on. Will be null if there is no blocked transfer. */
1294
+ nextBlockingTransfer?: {
1295
+ /** The index of the entry in the `transfer_sequence` field that the transfer is blocked on. */
1296
+ transferSequenceIndex?: number;
1297
+ };
1298
+ /** Indicates location and denom of transfer asset release. */
1299
+ transferAssetRelease?: TransferAssetRelease;
1300
+ error?: StatusError;
1301
+ }
1302
+ interface TransferWrapper {
1303
+ /** A cross-chain transfer */
1304
+ transfer?: Transfer;
1305
+ }
1306
+ /** An IBC Eureka transfer */
1307
+ interface EurekaTransfer {
1308
+ /** Port on the destination chain */
1309
+ destinationPort?: string;
1310
+ /** Client on the source chain */
1311
+ sourceClient?: string;
1312
+ /** Chain-id on which the transfer is initiated */
1313
+ fromChainId?: string;
1314
+ /** Chain-id on which the transfer is received */
1315
+ toChainId?: string;
1316
+ /** Whether pfm is enabled on the chain where the transfer is initiated */
1317
+ pfmEnabled?: boolean;
1318
+ /** Whether the transfer chain supports a memo */
1319
+ supportsMemo?: boolean;
1320
+ /** Denom of the input asset of the transfer */
1321
+ denomIn?: string;
1322
+ /** Denom of the output asset of the transfer */
1323
+ denomOut?: string;
1324
+ /** Address of the Eureka entry contract on the source chain */
1325
+ entryContractAddress?: string;
1326
+ /** Optional address of the Eureka callback adapter contract on the source chain */
1327
+ callbackAdapterContractAddress?: string;
1328
+ /**
1329
+ * Bridge Type:
1330
+ * * `IBC` - IBC Bridge
1331
+ * * `AXELAR` - Axelar Bridge
1332
+ * * `CCTP` - CCTP Bridge
1333
+ * * `HYPERLANE` - Hyperlane Bridge
1334
+ * * `OPINIT` - Opinit Bridge
1335
+ * * `GO_FAST` - Go Fast Bridge
1336
+ * * `STARGATE` - Stargate Bridge
1337
+ * * `LAYER_ZERO` - Layerzero Bridge
1338
+ * * `EUREKA` - IBC Eureka Bridge
1339
+ */
1340
+ bridgeId?: BridgeType;
1341
+ /** Indicates whether this transfer is relayed via Smart Relay */
1342
+ smartRelay?: boolean;
1343
+ smartRelayFeeQuote?: SmartRelayFeeQuote;
1344
+ /** Optional address of the Eureka callback contract on the destination chain */
1345
+ toChainCallbackContractAddress?: string;
1346
+ /** Optional address of the Eureka entry contract on the destination chain */
1347
+ toChainEntryContractAddress?: string;
1348
+ }
1349
+ interface EurekaTransferInfo {
1350
+ /** Chain ID of the source chain */
1351
+ fromChainId: string;
1352
+ /** Chain ID of the destination chain */
1353
+ toChainId: string;
1354
+ /**
1355
+ * Transfer state:
1356
+ * * `TRANSFER_UNKNOWN` - Transfer state is not known.
1357
+ * * `TRANSFER_PENDING` - The send packet for the transfer has been committed and the transfer is pending.
1358
+ * * `TRANSFER_RECEIVED` - The transfer packet has been received by the destination chain. It can still fail and revert if it is part of a multi-hop PFM transfer.
1359
+ * * `TRANSFER_SUCCESS` - The transfer has been successfully completed and will not revert.
1360
+ * * `TRANSFER_FAILURE`- The transfer has failed.
1361
+ */
1362
+ state: TransferState;
1363
+ packetTxs: Packet;
1364
+ }
1365
+ interface EurekaTransferWrapper {
1366
+ /** An IBC Eureka transfer */
1367
+ eurekaTransfer?: EurekaTransfer;
1368
+ }
1369
+ /** A Layer Zero Transfer */
1370
+ interface LayerZeroTransfer {
1371
+ /** Chain-id on which the transfer is initiated */
1372
+ fromChainId: string;
1373
+ /** Chain-id on which the transfer is received */
1374
+ toChainId: string;
1375
+ /** Denom of the input asset of the transfer */
1376
+ denomIn: string;
1377
+ /** Denom of the output asset of the transfer */
1378
+ denomOut: string;
1379
+ sourceOftContractAddress: string;
1380
+ destinationEndpointId: number;
1381
+ messagingFeeAsset: Asset;
1382
+ messagingFeeAmount: string;
1383
+ messagingFeeAmountUsd: string;
1384
+ /**
1385
+ * Bridge Type:
1386
+ * * `IBC` - IBC Bridge
1387
+ * * `AXELAR` - Axelar Bridge
1388
+ * * `CCTP` - CCTP Bridge
1389
+ * * `HYPERLANE` - Hyperlane Bridge
1390
+ * * `OPINIT` - Opinit Bridge
1391
+ * * `GO_FAST` - Go Fast Bridge
1392
+ * * `STARGATE` - Stargate Bridge
1393
+ * * `LAYER_ZERO` - Layerzero Bridge
1394
+ * * `EUREKA` - IBC Eureka Bridge
1395
+ */
1396
+ bridgeId: BridgeType;
1397
+ }
1398
+ interface LayerZeroTransferInfo {
1399
+ /** Chain ID of the source chain */
1400
+ fromChainId: string;
1401
+ /** Chain ID of the destination chain */
1402
+ toChainId: string;
1403
+ /**
1404
+ * LayerZero transfer state:
1405
+ * * `LAYER_ZERO_TRANSFER_UNKNOWN` - Unknown error
1406
+ * * `LAYER_ZERO_TRANSFER_SENT` - The transaction on the source chain has executed
1407
+ * * `LAYER_ZERO_TRANSFER_WAITING_FOR_COMPOSE` - The transfer has been delivered to the destination chain but there is an additional lz_compose transaction that still needs to be delivered before marking this transfer as LAYER_ZERO_TRANSFER_RECEIVED
1408
+ * * `LAYER_ZERO_TRANSFER_RECEIVED` - The transfer has been received at the destination chain
1409
+ * * `LAYER_ZERO_TRANSFER_FAILED` - The transfer has failed
1410
+ */
1411
+ state: LayerZeroTransferState;
1412
+ txs: LayerZeroTransferTransactions;
1413
+ }
1414
+ interface LayerZeroTransferWrapper {
1415
+ /** A Layer Zero Transfer */
1416
+ layerZeroTransfer?: LayerZeroTransfer;
1417
+ }
1418
+ interface RecommendationRequest {
1419
+ /** Denom of the source asset */
1420
+ sourceAssetDenom?: string;
1421
+ /** Chain-id of the source asset */
1422
+ sourceAssetChainId?: string;
1423
+ /** Chain-id of the recommended destination asset */
1424
+ destChainId?: string;
1425
+ /** Reason for recommendation (optional) */
1426
+ reason?: Reason;
1427
+ }
1428
+ interface CosmosModuleSupport {
1429
+ /** Whether the authz module is supported */
1430
+ authz?: boolean;
1431
+ /** Whether the feegrant module is supported */
1432
+ feegrant?: boolean;
1433
+ }
1434
+ interface IbcCapabilities {
1435
+ /** Whether the packet forwarding middleware module is supported */
1436
+ cosmosPfm?: boolean;
1437
+ /** Whether the ibc hooks module is supported */
1438
+ cosmosIbcHooks?: boolean;
1439
+ /** Whether the chain supports IBC memos */
1440
+ cosmosMemo?: boolean;
1441
+ /** Whether the autopilot module is supported */
1442
+ cosmosAutopilot?: boolean;
1443
+ }
1444
+ interface Fee {
1445
+ /**
1446
+ * Fee type:
1447
+ * * SMART_RELAY - Fees for Smart relaying services.'
1448
+ */
1449
+ feeType?: FeeType;
1450
+ /**
1451
+ * Bridge Type:
1452
+ * * `IBC` - IBC Bridge
1453
+ * * `AXELAR` - Axelar Bridge
1454
+ * * `CCTP` - CCTP Bridge
1455
+ * * `HYPERLANE` - Hyperlane Bridge
1456
+ * * `OPINIT` - Opinit Bridge
1457
+ * * `GO_FAST` - Go Fast Bridge
1458
+ * * `STARGATE` - Stargate Bridge
1459
+ * * `LAYER_ZERO` - Layerzero Bridge
1460
+ * * `EUREKA` - IBC Eureka Bridge
1461
+ */
1462
+ bridgeId?: BridgeType;
1463
+ /** Amount of the fee asset to be paid */
1464
+ amount?: string;
1465
+ /** The value of the fee in USD */
1466
+ usdAmount?: string;
1467
+ originAsset: Asset;
1468
+ /** Chain ID of the chain where fees are collected */
1469
+ chainId?: string;
1470
+ /** The index of the transaction in the list of transactions required to execute the transfer where fees are paid */
1471
+ txIndex?: number;
1472
+ /** The index of the operation in the returned operations list which incurs the fee */
1473
+ operationIndex?: number;
1474
+ /** Indicates whether this fee is deducted from the transfer amount or charged additionally */
1475
+ feeBehavior?: FeeBehavior;
1476
+ }
1477
+ interface BalancesRequest {
1478
+ chains?: Record<string, BalanceRequestChainEntry>;
1479
+ }
1480
+ interface AssetsFromSourceRequest {
1481
+ /** Denom of the source asset */
1482
+ sourceAssetDenom: string;
1483
+ /** Chain-id of the source asset */
1484
+ sourceAssetChainId: string;
1485
+ /**
1486
+ * Whether to include recommendations requiring multiple transactions to reach the destination
1487
+ * @default false
1488
+ */
1489
+ allowMultiTx?: boolean;
1490
+ /** Optional reason for recommending assets */
1491
+ recommendationReason?: Reason;
1492
+ /**
1493
+ * Whether to include swap routes
1494
+ * @default false
1495
+ */
1496
+ includeSwaps?: boolean;
1497
+ /** Swap venues to consider if including swap routes */
1498
+ swapVenues?: SwapVenue[];
1499
+ /**
1500
+ * Whether to only return native assets
1501
+ * @default false
1502
+ */
1503
+ nativeOnly?: boolean;
1504
+ /** Optional grouping key for results */
1505
+ groupBy?: string;
1506
+ /**
1507
+ * Whether to include CW20 tokens
1508
+ * @default false
1509
+ */
1510
+ includeCw20Assets?: boolean;
1511
+ }
1512
+ interface RouteRequest {
1513
+ /** Denom of the source asset */
1514
+ sourceAssetDenom?: string;
1515
+ /** Chain-id of the source asset */
1516
+ sourceAssetChainId?: string;
1517
+ /** Denom of the destination asset */
1518
+ destAssetDenom?: string;
1519
+ /** Chain-id of the destination asset */
1520
+ destAssetChainId?: string;
1521
+ /** Amount of source asset to be transferred or swapped. Only one of amount_in and amount_out should be provided. */
1522
+ amountIn?: string;
1523
+ /** Amount of destination asset to receive. Only one of amount_in and amount_out should be provided. If amount_out is provided for a swap, the route will be computed to give exactly amount_out. */
1524
+ amountOut?: string;
1525
+ /** Cumulative fee to be distributed to affiliates, in bps (optional) */
1526
+ cumulativeAffiliateFeeBps?: string;
1527
+ /** Swap venues to consider, if provided (optional) */
1528
+ swapVenues?: SwapVenue[];
1529
+ /** Toggles whether the api should return routes that fail price safety checks. */
1530
+ allowUnsafe?: boolean;
1531
+ /** Array of experimental features to enable */
1532
+ experimentalFeatures?: string[];
1533
+ /**
1534
+ * Whether to allow route responses requiring multiple
1535
+ * transactions
1536
+ */
1537
+ allowMultiTx?: boolean;
1538
+ /** Array of bridges to use */
1539
+ bridges?: BridgeType[];
1540
+ /** Indicates whether this transfer route should be relayed via Skip's Smart Relay service - true by default. */
1541
+ smartRelay?: boolean;
1542
+ smartSwapOptions?: SmartSwapOptions;
1543
+ /** Whether to allow swaps in the route */
1544
+ allowSwaps?: boolean;
1545
+ /** Whether to enable Go Fast routes */
1546
+ goFast?: boolean;
1547
+ /** Whether to enable fast transfer routes */
1548
+ fastTransfer?: boolean;
1549
+ }
1550
+ interface MsgsRequest {
1551
+ /** Denom of the source asset */
1552
+ sourceAssetDenom?: string;
1553
+ /** Chain-id of the source asset */
1554
+ sourceAssetChainId?: string;
1555
+ /** Denom of the destination asset */
1556
+ destAssetDenom?: string;
1557
+ /** Chain-id of the destination asset */
1558
+ destAssetChainId?: string;
1559
+ /** Amount of source asset to be transferred or swapped */
1560
+ amountIn?: string;
1561
+ /** Amount of destination asset out */
1562
+ amountOut?: string;
1563
+ /** Array of receipient and/or sender address for each chain in the path, corresponding to the required_chain_addresses array returned from a route request */
1564
+ addressList?: string[];
1565
+ /** Array of operations required to perform the transfer or swap */
1566
+ operations?: Operation[];
1567
+ estimatedAmountOut?: string;
1568
+ /** Percent tolerance for slippage on swap, if a swap is performed */
1569
+ slippageTolerancePercent?: string;
1570
+ /** Map of chain-ids to arrays of affiliates. The API expects all chains to have the same cumulative affiliate fee bps for each chain specified. If any of the provided affiliate arrays does not have the same cumulative fee, the API will return an error. */
1571
+ chainIdsToAffiliates?: Record<string, ChainAffiliates>;
1572
+ postRouteHandler?: PostHandler;
1573
+ /** Number of seconds for the IBC transfer timeout, defaults to 5 minutes */
1574
+ timeoutSeconds?: string;
1575
+ /**
1576
+ * Whether to enable gas warnings for intermediate and destination chains
1577
+ * @default false
1578
+ */
1579
+ enableGasWarnings?: boolean;
1580
+ /**
1581
+ * Alternative address to use for paying for fees, currently only for SVM source CCTP transfers, in b58 format.
1582
+ * @default false
1583
+ */
1584
+ feePayerAddress?: string;
1585
+ }
1586
+ interface MsgsDirectRequest {
1587
+ /** Denom of the source asset */
1588
+ sourceAssetDenom?: string;
1589
+ /** Chain-id of the source asset */
1590
+ sourceAssetChainId?: string;
1591
+ /** Denom of the destination asset */
1592
+ destAssetDenom?: string;
1593
+ /** Chain-id of the destination asset */
1594
+ destAssetChainId?: string;
1595
+ /** Amount of source asset to be transferred or swapped. If this is a swap, only one of amount_in and amount_out should be provided. */
1596
+ amountIn?: string;
1597
+ /** Amount of destination asset out. If this is a swap, only one of amount_in and amount_out should be provided. If amount_out is provided for a swap, the route will be computed to give exactly amount_out. */
1598
+ amountOut?: string;
1599
+ /** Map of chain-ids to receipient and/or sender address for each chain in the path. Since the path is not known to the caller beforehand, the caller should attempt to provide addresses for all chains in the path, and the API will return an error if the path cannot be constructed. */
1600
+ chainIdsToAddresses?: Record<string, string>;
1601
+ /** Swap venues to consider, if provided (optional) */
1602
+ swapVenues?: SwapVenue[];
1603
+ /** Percent tolerance for slippage on swap, if a swap is performed */
1604
+ slippageTolerancePercent?: string;
1605
+ /** Map of chain-ids to arrays of affiliates. Since cumulative_affiliate_fee_bps must be provided to retrieve a route, and the swap chain is not known at this time, all chains must have the same cumulative_affiliate_fee_bps otherwise the API will return an error. */
1606
+ chainIdsToAffiliates?: Record<string, ChainAffiliates>;
1607
+ postRouteHandler?: PostHandler;
1608
+ /** Number of seconds for the IBC transfer timeout, defaults to 5 minutes */
1609
+ timeoutSeconds?: string;
1610
+ /** Toggles whether the api should return routes that fail price safety checks. */
1611
+ allowUnsafe?: boolean;
1612
+ /** Array of experimental features to enable */
1613
+ experimentalFeatures?: string[];
1614
+ /**
1615
+ * Whether to allow route responses requiring multiple
1616
+ * transactions
1617
+ */
1618
+ allowMultiTx?: boolean;
1619
+ /** Array of bridges to use */
1620
+ bridges?: BridgeType[];
1621
+ /** Indicates whether this transfer route should be relayed via Skip's Smart Relay service */
1622
+ smartRelay?: boolean;
1623
+ smartSwapOptions?: SmartSwapOptions;
1624
+ /** Whether to allow swaps in the route */
1625
+ allowSwaps?: boolean;
1626
+ /**
1627
+ * Whether to enable gas warnings for intermediate and destination chains
1628
+ * @default false
1629
+ */
1630
+ enableGasWarnings?: boolean;
1631
+ /** Whether to enable Go Fast routes */
1632
+ goFast?: boolean;
1633
+ /**
1634
+ * Alternative address to use for paying for fees, currently only for SVM source CCTP transfers, in b58 format.
1635
+ * @default false
1636
+ */
1637
+ feePayerAddress?: string;
1638
+ }
1639
+ interface AssetRecommendationsRequest {
1640
+ /** Array where each entry corresponds to a distinct asset recommendation request. */
1641
+ requests?: RecommendationRequest[];
1642
+ }
1643
+ interface SubmitTxRequest {
1644
+ /** Signed base64 encoded transaction */
1645
+ tx?: string;
1646
+ /** Chain ID of the transaction */
1647
+ chainId?: string;
1648
+ }
1649
+ interface TrackTxRequest {
1650
+ /** Hex encoded hash of the transaction to track */
1651
+ txHash: string;
1652
+ /** Chain ID of the transaction */
1653
+ chainId: string;
1654
+ }
1655
+ interface TrackTxResponse {
1656
+ /** Hash of the transaction */
1657
+ txHash: string;
1658
+ /** Link to the transaction on the relevant block explorer */
1659
+ explorerLink: string;
1660
+ }
1661
+ interface StatusTxResponse {
1662
+ /** Transfer status for all transfers initiated by the transaction in the order they were initiated. */
1663
+ transfers?: TransferStatus[];
1664
+ /** The overall state reflecting the end-to-end status of all transfers initiated by the original transaction. */
1665
+ state: TransactionState;
1666
+ /** Details about the next transfer in the sequence that is preventing further progress, if any. */
1667
+ nextBlockingTransfer?: {
1668
+ transferSequenceIndex?: number;
1669
+ };
1670
+ /** Indicates location and denom of transfer asset release. */
1671
+ transferAssetRelease?: TransferAssetRelease;
1672
+ /** Details about any error encountered during the transaction or its subsequent transfers. */
1673
+ error?: StatusError;
1674
+ /**
1675
+ * **DEPRECATED.** This field provides a flat list of all transfer events. For a more structured and detailed status of each transfer leg, including its individual events, please use the 'transfers' array instead. This field may be removed in a future version.
1676
+ * @deprecated
1677
+ */
1678
+ transferSequence: TransferEvent[];
1679
+ /**
1680
+ * A high-level status indicator for the transaction's completion state.
1681
+ * @example "STATE_COMPLETED"
1682
+ */
1683
+ status?: string;
1684
+ }
1685
+ interface IbcOriginAssetsRequest {
1686
+ /** Array of assets to get origin assets for */
1687
+ assets?: {
1688
+ /** Denom of the asset */
1689
+ denom?: string;
1690
+ /** Chain-id of the asset */
1691
+ chainId?: string;
1692
+ }[];
1693
+ }
1694
+ interface AssetsBetweenChainsRequest {
1695
+ /** Chain-id of the source chain */
1696
+ sourceChainId?: string;
1697
+ /** Chain-id of the destination chain */
1698
+ destChainId?: string;
1699
+ /**
1700
+ * Whether to include assets without metadata (symbol, name, logo_uri, etc.)
1701
+ * @default false
1702
+ */
1703
+ includeNoMetadataAssets?: boolean;
1704
+ /**
1705
+ * Whether to include CW20 tokens
1706
+ * @default false
1707
+ */
1708
+ includeCw20Assets?: boolean;
1709
+ /**
1710
+ * Whether to include EVM tokens
1711
+ * @default false
1712
+ */
1713
+ includeEvmAssets?: boolean;
1714
+ /**
1715
+ * Whether to include recommendations requiring multiple transactions to reach the destination
1716
+ * @default false
1717
+ */
1718
+ allowMultiTx?: boolean;
1719
+ }
1720
+ interface ChainsRequest {
1721
+ /** Chain IDs to limit the response to, defaults to all chains if not provided */
1722
+ chainIds?: string[];
1723
+ /**
1724
+ * Whether to include EVM chains in the response
1725
+ * @example false
1726
+ */
1727
+ includeEvm?: boolean;
1728
+ /** Whether to include SVM chains in the response */
1729
+ includeSvm?: boolean;
1730
+ /**
1731
+ * Whether to display only testnets in the response
1732
+ * @example false
1733
+ */
1734
+ onlyTestnets?: boolean;
1735
+ }
1736
+ interface ChainsResponse {
1737
+ /** Array of supported chain-ids */
1738
+ chains?: Chain[];
1739
+ }
1740
+ interface BalancesResponse {
1741
+ chains?: Record<string, BalanceResponseChainEntry>;
1742
+ }
1743
+ interface BridgesResponse {
1744
+ /** Array of supported bridges */
1745
+ bridges?: Bridge[];
1746
+ }
1747
+ interface VenuesRequest {
1748
+ /**
1749
+ * Whether to display only venues from testnets in the response
1750
+ * @example false
1751
+ */
1752
+ onlyTestnets?: boolean;
1753
+ }
1754
+ interface VenuesResponse {
1755
+ /** Array of supported swap venues */
1756
+ venues?: SwapVenue[];
1757
+ }
1758
+ interface AssetsRequest {
1759
+ /** Chain IDs to limit the response to, defaults to all chains if not provided */
1760
+ chainIds?: string[];
1761
+ /** Whether to restrict assets to those native to their chain */
1762
+ nativeOnly?: boolean;
1763
+ /** Whether to include assets without metadata (symbol, name, logo_uri, etc.) */
1764
+ includeNoMetadataAssets?: boolean;
1765
+ /** Whether to include CW20 tokens */
1766
+ includeCw20Assets?: boolean;
1767
+ /** Whether to include EVM tokens */
1768
+ includeEvmAssets?: boolean;
1769
+ /** Whether to include SVM tokens */
1770
+ includeSvmAssets?: boolean;
1771
+ /**
1772
+ * Whether to display only assets from testnets in the response
1773
+ * @example false
1774
+ */
1775
+ onlyTestnets?: boolean;
1776
+ }
1777
+ interface AssetsResponse {
1778
+ /** Map of chain-ids to array of assets supported on the chain */
1779
+ chainToAssetsMap?: Record<string, {
1780
+ assets?: Asset[];
1781
+ }>;
1782
+ }
1783
+ interface AssetsFromSourceResponse {
1784
+ /** Array of assets that are reachable from the specified source asset */
1785
+ destAssets?: Record<string, {
1786
+ assets?: Asset[];
1787
+ }>;
1788
+ }
1789
+ type RouteResponse = Route;
1790
+ interface MsgsResponse {
1791
+ msgs?: Msg[];
1792
+ txs?: Tx[];
1793
+ /** Minimum possible output after all operations, including fees and slippage */
1794
+ minAmountOut?: string;
1795
+ /** Indicates fees incurred in the execution of the transfer */
1796
+ estimatedFees?: Fee[];
1797
+ }
1798
+ interface MsgsDirectResponse {
1799
+ msgs?: Msg[];
1800
+ txs?: Tx[];
1801
+ /** Minimum possible output after all operations, including fees and slippage */
1802
+ minAmountOut?: string;
1803
+ route?: Route;
1804
+ }
1805
+ interface AssetRecommendationsResponse {
1806
+ /** Array of recommendations for each entry in the `request` field. */
1807
+ recommendationEntries?: {
1808
+ recommendations?: AssetRecommendation[];
1809
+ error?: ApiError;
1810
+ }[];
1811
+ }
1812
+ interface SubmitResponse {
1813
+ /** Hash of the transaction */
1814
+ txHash?: string;
1815
+ /** Link to the transaction on the relevant block explorer */
1816
+ explorerLink?: string;
1817
+ }
1818
+ type TrackResponse = TrackTxResponse;
1819
+ interface StatusRequest {
1820
+ /**
1821
+ * Hex encoded hash of the transaction to query for
1822
+ * @example "EEC65138E6A7BDD047ED0D4BBA249A754F0BBBC7AA976568C4F35A32CD7FB8EB"
1823
+ */
1824
+ txHash: string;
1825
+ /**
1826
+ * Chain ID of the transaction
1827
+ * @example "cosmoshub-4"
1828
+ */
1829
+ chainId: string;
1830
+ }
1831
+ type StatusResponse = StatusTxResponse;
1832
+ interface IbcOriginAssetsResponse {
1833
+ originAssets?: OptionalAsset[];
1834
+ }
1835
+ interface FungibleAssetsBetweenChainsCreateResponse {
1836
+ assetsBetweenChains?: AssetBetweenChains[];
1837
+ }
1838
+ type QueryParamsType = Record<string | number, any>;
1839
+ type ResponseFormat = keyof Omit<Body, "body" | "bodyUsed">;
1840
+ interface FullRequestParams extends Omit<RequestInit, "body"> {
1841
+ /** set parameter to `true` for call `securityWorker` for this request */
1842
+ secure?: boolean;
1843
+ /** request path */
1844
+ path: string;
1845
+ /** content type of request body */
1846
+ type?: ContentType;
1847
+ /** query params */
1848
+ query?: QueryParamsType;
1849
+ /** format of response (i.e. response.json() -> format: "json") */
1850
+ format?: ResponseFormat;
1851
+ /** request body */
1852
+ body?: unknown;
1853
+ /** base url */
1854
+ baseUrl?: string;
1855
+ /** request cancellation token */
1856
+ cancelToken?: CancelToken;
1857
+ }
1858
+ type RequestParams = Omit<FullRequestParams, "body" | "method" | "query" | "path">;
1859
+ interface ApiConfig<SecurityDataType = unknown> {
1860
+ baseUrl?: string;
1861
+ baseApiParams?: Omit<RequestParams, "baseUrl" | "cancelToken" | "signal">;
1862
+ securityWorker?: (securityData: SecurityDataType | null) => Promise<RequestParams | void> | RequestParams | void;
1863
+ customFetch?: typeof fetch;
1864
+ }
1865
+ interface HttpResponse<D extends unknown, E extends unknown = unknown> extends Response {
1866
+ data: D;
1867
+ error: E;
1868
+ }
1869
+ type CancelToken = Symbol | string | number;
1870
+ declare enum ContentType {
1871
+ Json = "application/json",
1872
+ JsonApi = "application/vnd.api+json",
1873
+ FormData = "multipart/form-data",
1874
+ UrlEncoded = "application/x-www-form-urlencoded",
1875
+ Text = "text/plain"
1876
+ }
1877
+ declare class HttpClient<SecurityDataType = unknown> {
1878
+ baseUrl: string;
1879
+ private securityData;
1880
+ private securityWorker?;
1881
+ private abortControllers;
1882
+ private customFetch;
1883
+ private baseApiParams;
1884
+ constructor(apiConfig?: ApiConfig<SecurityDataType>);
1885
+ setSecurityData: (data: SecurityDataType | null) => void;
1886
+ protected encodeQueryParam(key: string, value: any): string;
1887
+ protected addQueryParam(query: QueryParamsType, key: string): string;
1888
+ protected addArrayQueryParam(query: QueryParamsType, key: string): any;
1889
+ protected toQueryString(rawQuery?: QueryParamsType): string;
1890
+ protected addQueryParams(rawQuery?: QueryParamsType): string;
1891
+ private contentFormatters;
1892
+ protected mergeRequestParams(params1: RequestParams, params2?: RequestParams): RequestParams;
1893
+ protected createAbortSignal: (cancelToken: CancelToken) => AbortSignal | undefined;
1894
+ abortRequest: (cancelToken: CancelToken) => void;
1895
+ request: <T = any, E = any>({ body, secure, path, type, query, format, baseUrl, cancelToken, ...params }: FullRequestParams) => Promise<HttpResponse<T, E>>;
1896
+ }
1897
+ /**
1898
+ * @title Skip Go API
1899
+ * @version 0.1.0
1900
+ * @baseUrl https://api.skip.build
1901
+ *
1902
+ * Simple APIs to build seamless cross-chain products that do more with fewer transactions. For devs with all levels of cross-chain experience.
1903
+ */
1904
+ declare class Api<SecurityDataType extends unknown> extends HttpClient<SecurityDataType> {
1905
+ /**
1906
+ * @description Get all supported chains along with additional data useful for building applications + frontends that interface with them (e.g. logo URI, IBC capabilities, fee assets, bech32 prefix, etc...)
1907
+ *
1908
+ * @tags Info
1909
+ * @name Chains
1910
+ * @request GET:/v2/info/chains
1911
+ * @response `200` `ChainsResponse` Returns a list of supported chains with additional data
1912
+ */
1913
+ chains: (query: ChainsRequest, params?: RequestParams) => Promise<HttpResponse<ChainsResponse, any>>;
1914
+ /**
1915
+ * @description Get the balances of a given set of assets on a given chain and wallet address. Compatible with all Skip Go-supported assets, excluding CW20 assets, across SVM, EVM, and Cosmos chains.
1916
+ *
1917
+ * @tags Info
1918
+ * @name Balances
1919
+ * @request POST:/v2/info/balances
1920
+ * @response `200` `BalancesResponse` The balances of the assets
1921
+ */
1922
+ balances: (data: BalancesRequest, params?: RequestParams) => Promise<HttpResponse<BalancesResponse, any>>;
1923
+ /**
1924
+ * @description Get all supported bridges
1925
+ *
1926
+ * @tags Info
1927
+ * @name Bridges
1928
+ * @request GET:/v2/info/bridges
1929
+ * @response `200` `BridgesResponse` A list of supported bridges
1930
+ */
1931
+ bridges: (params?: RequestParams) => Promise<HttpResponse<BridgesResponse, any>>;
1932
+ /**
1933
+ * @description Get supported swap venues.
1934
+ *
1935
+ * @tags Fungible
1936
+ * @name Venues
1937
+ * @request GET:/v2/fungible/venues
1938
+ * @response `200` `VenuesResponse` A list of supported swap venues
1939
+ */
1940
+ venues: (query: VenuesRequest, params?: RequestParams) => Promise<HttpResponse<VenuesResponse, any>>;
1941
+ /**
1942
+ * @description Get supported assets. Optionally limit to assets on a given chain and/or native assets.
1943
+ *
1944
+ * @tags Fungible
1945
+ * @name Assets
1946
+ * @request GET:/v2/fungible/assets
1947
+ * @response `200` `AssetsResponse` A map of chain_id to assets
1948
+ * @response `400` `Error` The request was invalid, e.g. field is invalid
1949
+ * @response `500` `Error` Internal server error
1950
+ */
1951
+ assets: (query: AssetsRequest, params?: RequestParams) => Promise<HttpResponse<AssetsResponse, Error>>;
1952
+ /**
1953
+ * @description Get assets that can be reached from a source via transfers under different conditions (e.g. single vs multiple txs)
1954
+ *
1955
+ * @tags Fungible
1956
+ * @name AssetsFromSource
1957
+ * @request POST:/v2/fungible/assets_from_source
1958
+ * @response `200` `AssetsFromSourceResponse` Assets reachable from the specified source without swapping
1959
+ * @response `400` `Error` The request was invalid, e.g. field is invalid
1960
+ * @response `500` `Error` Internal server error
1961
+ */
1962
+ assetsFromSource: (data: AssetsFromSourceRequest, params?: RequestParams) => Promise<HttpResponse<AssetsFromSourceResponse, Error>>;
1963
+ /**
1964
+ * @description This supports cross-chain actions among EVM chains, Cosmos chains, and between them. Returns the sequence of transfers and/or swaps to reach the given destination asset from the given source asset, along with estimated amount out. Commonly called before /msgs to generate route info and quote.
1965
+ *
1966
+ * @tags Fungible
1967
+ * @name Route
1968
+ * @request POST:/v2/fungible/route
1969
+ * @response `200` `RouteResponse` Swap and transfer route summary & quote
1970
+ * @response `400` `Error` The request was invalid, e.g. an invalid amount was passed or the swap size is unsafe
1971
+ * @response `500` `Error` Internal server error
1972
+ */
1973
+ route: (data: RouteRequest, params?: RequestParams) => Promise<HttpResponse<Route, Error>>;
1974
+ /**
1975
+ * @description This supports cross-chain actions among EVM chains, Cosmos chains, and between them. Returns minimal number of messages required to execute a multi-chain swap or transfer. Input consists of the output of route with additional information required for message construction (e.g. destination addresses for each chain)
1976
+ *
1977
+ * @tags Fungible
1978
+ * @name Msgs
1979
+ * @request POST:/v2/fungible/msgs
1980
+ * @response `200` `MsgsResponse` The messages required to execute the swap, as JSON.
1981
+ * @response `400` `Error` The request was invalid, e.g. an invalid amount was passed.
1982
+ * @response `500` `Error` Internal server error
1983
+ */
1984
+ msgs: (data: MsgsRequest, params?: RequestParams) => Promise<HttpResponse<MsgsResponse, Error>>;
1985
+ /**
1986
+ * @description This supports cross-chain actions among EVM chains, Cosmos chains, and between them. Returns minimal number of messages required to execute a multi-chain swap or transfer. This is a convenience endpoint that combines /route and /msgs into a single call.
1987
+ *
1988
+ * @tags Fungible
1989
+ * @name MsgsDirect
1990
+ * @request POST:/v2/fungible/msgs_direct
1991
+ * @response `200` `MsgsDirectResponse` The messages required to execute the swap, as JSON.
1992
+ * @response `400` `Error` The request was invalid, e.g. an invalid amount was passed or the swap size is unsafe
1993
+ * @response `500` `Error` Internal server error
1994
+ */
1995
+ msgsDirect: (data: MsgsDirectRequest, params?: RequestParams) => Promise<HttpResponse<MsgsDirectResponse, Error>>;
1996
+ /**
1997
+ * @description Request asset recommendations for the given source assets on a given destination chain. The response includes recommended destination assets and recommendation reasons.
1998
+ *
1999
+ * @tags Fungible
2000
+ * @name AssetRecommendations
2001
+ * @request POST:/v2/fungible/recommend_assets
2002
+ * @response `200` `AssetRecommendationsResponse` Recommended destination assets and reasons
2003
+ * @response `400` `Error` The request was invalid, i.e. required fields are missing
2004
+ * @response `404` `Error` A recommendation or the specified token was not found
2005
+ * @response `500` `Error` Internal server error
2006
+ */
2007
+ assetRecommendations: (data: AssetRecommendationsRequest, params?: RequestParams) => Promise<HttpResponse<AssetRecommendationsResponse, Error>>;
2008
+ /**
2009
+ * @description Submit a signed base64 encoded transaction to be broadcast to the specified network. On successful submission, the status of the transaction and any subsequent IBC or Axelar transfers can be queried through the /status endpoint.
2010
+ *
2011
+ * @tags Transaction
2012
+ * @name Submit
2013
+ * @request POST:/v2/tx/submit
2014
+ * @response `200` `SubmitResponse` The hash of the transaction.
2015
+ * @response `400` `Error` The request was invalid, i.e. the submitted transaction was malformed or fails on execution.
2016
+ * @response `404` `Error` The specified chain is not supported.
2017
+ * @response `500` `Error` Internal server error
2018
+ */
2019
+ submit: (data: SubmitTxRequest, params?: RequestParams) => Promise<HttpResponse<SubmitResponse, Error>>;
2020
+ /**
2021
+ * @description Requests tracking of a transaction that has already landed on-chain but was not broadcast through the Skip Go API. The status of a tracked transaction and subsequent IBC or Axelar transfers if routing assets cross chain can be queried through the /status endpoint.
2022
+ *
2023
+ * @tags Transaction
2024
+ * @name Track
2025
+ * @request POST:/v2/tx/track
2026
+ * @response `200` `TrackResponse` The hash of the transaction and a link to its explorer page.
2027
+ * @response `400` `Error` The request was invalid, i.e. the transaction hash was malformed or the specified transaction did not execute successfully.
2028
+ * @response `404` `Error` The specified chain is not supported or the specified transaction was not found.
2029
+ * @response `500` `Error` Internal server error
2030
+ */
2031
+ track: (data: TrackTxRequest, params?: RequestParams) => Promise<HttpResponse<TrackTxResponse, Error>>;
2032
+ /**
2033
+ * @description Get the status of the specified transaction and any subsequent IBC or Axelar transfers if routing assets cross chain. The transaction must have previously been submitted to either the /submit or /track endpoints.
2034
+ *
2035
+ * @tags Transaction
2036
+ * @name Status
2037
+ * @request GET:/v2/tx/status
2038
+ * @response `200` `StatusResponse` The status of the transaction and any subsequent ibc or Axelar transfers.
2039
+ * @response `404` `Error` The specified tx was not found.
2040
+ * @response `500` `Error` Internal server error
2041
+ */
2042
+ status: (query: StatusRequest, params?: RequestParams) => Promise<HttpResponse<StatusTxResponse, Error>>;
2043
+ /**
2044
+ * @description Get origin assets from a given list of denoms and chain IDs.
2045
+ *
2046
+ * @tags Fungible
2047
+ * @name IbcOriginAssets
2048
+ * @request POST:/v2/fungible/ibc_origin_assets
2049
+ * @response `200` `IbcOriginAssetsResponse` The origin assets of the specified denoms and chain IDs.
2050
+ * @response `400` `Error` The request was invalid, i.e. required fields are missing
2051
+ * @response `500` `Error` Internal server error
2052
+ */
2053
+ ibcOriginAssets: (data: IbcOriginAssetsRequest, params?: RequestParams) => Promise<HttpResponse<IbcOriginAssetsResponse, Error>>;
2054
+ /**
2055
+ * @description Given 2 chain IDs, returns a list of equivalent assets that can be transferred
2056
+ *
2057
+ * @tags Fungible
2058
+ * @name FungibleAssetsBetweenChainsCreate
2059
+ * @request POST:/v2/fungible/assets_between_chains
2060
+ * @response `200` `FungibleAssetsBetweenChainsCreateResponse` OK
2061
+ * @response `404` `Error` One of the chain IDs was not found
2062
+ * @response `500` `Error` Internal server error
2063
+ */
2064
+ fungibleAssetsBetweenChainsCreate: (data: AssetsBetweenChainsRequest, params?: RequestParams) => Promise<HttpResponse<FungibleAssetsBetweenChainsCreateResponse, Error>>;
2065
+ }
2066
+
2067
+ export { type Chain as $, AxelarTransferType as A, BridgeType as B, ContractCallWithTokenErrorType as C, type CCTPTransferV2Wrapper as D, type StargateTransfer as E, FeeBehavior as F, GoFastTransferState as G, HyperlaneTransferState as H, type StargateTransferTxs as I, type StargateTransferInfo as J, type StargateTransferWrapper as K, LayerZeroTransferState as L, type GoFastTransfer as M, type GoFastTransferTxs as N, OPInitTransferState as O, PacketErrorType as P, type GoFastTransferInfo as Q, RoutePriceWarningType as R, StatusErrorType as S, TransferState as T, type GoFastTransferWrapper as U, type BalanceRequestChainEntry as V, type BalanceResponseDenomEntry as W, type BalanceResponseChainEntry as X, type BankSend as Y, type BankSendWrapper as Z, type Bridge as _, FeeType as a, type EurekaTransferInfo as a$, type ChainAffiliates as a0, type ContractCallWithTokenError as a1, type ContractCallWithTokenTxs as a2, type CosmWasmContractMsg as a3, type CosmWasmContractMsgWrapper as a4, type Erc20Approval as a5, type ErrorDetail as a6, type Error as a7, type CosmosMsg as a8, type CosmosTx as a9, type Route as aA, type SendTokenError as aB, type SendTokenTxs as aC, type StatusError as aD, type Swap as aE, type SwapExactCoinIn as aF, type SwapExactCoinOut as aG, type SwapInWrapper as aH, type SwapOperation as aI, type SwapOutWrapper as aJ, type SwapRoute as aK, type SmartSwapExactCoinIn as aL, type SmartSwapOptions as aM, type SmartSwapInWrapper as aN, type SwapVenue as aO, type SwapWrapper as aP, type TransactionExecutionErrorDetails as aQ, type OPInitTransfer as aR, type OPInitTransferWrapper as aS, type OPInitTransferInfo as aT, type OPInitTransferTxs as aU, type Transfer as aV, type TransferEvent as aW, type TransferAssetRelease as aX, type TransferStatus as aY, type TransferWrapper as aZ, type EurekaTransfer as a_, type CosmosTxWrapper as aa, type EvmSwap as ab, type EvmSwapWrapper as ac, type EvmTx as ad, type EvmTxWrapper as ae, type SvmTx as af, type SvmTxWrapper as ag, type FeeAsset as ah, type GoFastFee as ai, type GRPCStatusCode as aj, type HyperlaneTransfer as ak, type HyperlaneTransferInfo as al, type HyperlaneTransferTransactions as am, type HyperlaneTransferWrapper as an, type IBCTransferInfo as ao, type Msg as ap, type Tx as aq, type MultiChainMsg as ar, type MultiChainMsgWrapper as as, type Operation as at, type OptionalAsset as au, type LayerZeroTransferTransactions as av, type Packet as aw, type PacketError as ax, type ChainTransaction as ay, type PostHandler as az, TransactionState as b, type EurekaTransferWrapper as b0, type LayerZeroTransfer as b1, type LayerZeroTransferInfo as b2, type LayerZeroTransferWrapper as b3, type RecommendationRequest as b4, type CosmosModuleSupport as b5, type IbcCapabilities as b6, type Fee as b7, type BalancesRequest as b8, type AssetsFromSourceRequest as b9, type IbcOriginAssetsResponse as bA, type FungibleAssetsBetweenChainsCreateResponse as bB, type QueryParamsType as bC, type ResponseFormat as bD, type FullRequestParams as bE, type RequestParams as bF, type ApiConfig as bG, type HttpResponse as bH, ContentType as bI, HttpClient as bJ, Api as bK, type RouteRequest as bL, type MsgsRequest as ba, type MsgsDirectRequest as bb, type AssetRecommendationsRequest as bc, type SubmitTxRequest as bd, type TrackTxRequest as be, type TrackTxResponse as bf, type StatusTxResponse as bg, type IbcOriginAssetsRequest as bh, type AssetsBetweenChainsRequest as bi, type ChainsRequest as bj, type ChainsResponse as bk, type BalancesResponse as bl, type BridgesResponse as bm, type VenuesRequest as bn, type VenuesResponse as bo, type AssetsRequest as bp, type AssetsResponse as bq, type AssetsFromSourceResponse as br, type RouteResponse as bs, type MsgsResponse as bt, type MsgsDirectResponse as bu, type AssetRecommendationsResponse as bv, type SubmitResponse as bw, type TrackResponse as bx, type StatusRequest as by, type StatusResponse as bz, SendTokenErrorType as c, Reason as d, ChainType as e, StargateTransferState as f, CCTPTransferState as g, AxelarTransferState as h, AutopilotAction as i, type AcknowledgementErrorDetails as j, type Affiliate as k, type ApiError as l, type Asset as m, type AssetBetweenChains as n, type AssetRecommendation as o, type AutopilotMsg as p, type AutopilotMsgWrapper as q, type AxelarTransfer as r, type AxelarTransferInfo as s, type AxelarTransferWrapper as t, type SmartRelayFeeQuote as u, type CCTPTransfer as v, type CCTPTransferInfo as w, type CCTPTransferTxs as x, type CCTPTransferWrapper as y, type CCTPTransferV2 as z };