@skip-go/client 1.6.0-alpha.3 → 1.6.0-alpha.5

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,28 @@
1
+ 'use strict';
2
+
3
+ var viem = require('viem');
4
+
5
+ // src/public-functions/getEvmGasAmountForMessage.ts
6
+ async function getEVMGasAmountForMessage(signer, tx, getFallbackGasAmount) {
7
+ const { to, data, value } = tx;
8
+ if (!signer.account) throw new Error("estimateGasForEvmTx: No account found");
9
+ const extendedSigner = signer.extend(viem.publicActions);
10
+ const fee = await extendedSigner.estimateFeesPerGas();
11
+ try {
12
+ const gasAmount = await extendedSigner.estimateGas({
13
+ account: signer.account,
14
+ to,
15
+ data: `0x${data}`,
16
+ value: value === "" ? void 0 : BigInt(value ?? "")
17
+ });
18
+ return gasAmount * fee.maxFeePerGas;
19
+ } catch (error) {
20
+ const fallbackGasAmount = await getFallbackGasAmount?.(tx.chainId ?? "", "evm" /* Evm */);
21
+ if (fallbackGasAmount) {
22
+ return BigInt(fallbackGasAmount) * fee.maxFeePerGas;
23
+ }
24
+ throw error;
25
+ }
26
+ }
27
+
28
+ exports.getEVMGasAmountForMessage = getEVMGasAmountForMessage;
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ var chunk2QPPD3BB_cjs = require('./chunk-2QPPD3BB.cjs');
4
+
5
+ // src/api/getVenues.ts
6
+ var venues = chunk2QPPD3BB_cjs.api({
7
+ methodName: "venues",
8
+ path: "v2/fungible/venues",
9
+ transformResponse: (response) => response.venues
10
+ });
11
+
12
+ exports.venues = venues;
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ var chunk2QPPD3BB_cjs = require('./chunk-2QPPD3BB.cjs');
4
+
5
+ // src/api/getBridges.ts
6
+ var bridges = chunk2QPPD3BB_cjs.api({
7
+ methodName: "bridges",
8
+ path: "v2/info/bridges",
9
+ transformResponse: (response) => response.bridges
10
+ });
11
+
12
+ exports.bridges = bridges;
@@ -0,0 +1,189 @@
1
+ 'use strict';
2
+
3
+ var chunk477CU2G2_cjs = require('./chunk-477CU2G2.cjs');
4
+ var chunk4ZIVDKQN_cjs = require('./chunk-4ZIVDKQN.cjs');
5
+ var chunkATW6UNT5_cjs = require('./chunk-ATW6UNT5.cjs');
6
+ var bignumber_js = require('bignumber.js');
7
+ var stargate = require('@cosmjs/stargate');
8
+ var math = require('@cosmjs/math');
9
+
10
+ var validateCosmosGasBalance = async ({
11
+ chainId,
12
+ signerAddress,
13
+ messages,
14
+ getFallbackGasAmount,
15
+ getOfflineSigner,
16
+ txIndex,
17
+ simulate,
18
+ getCosmosPriorityFeeDenom,
19
+ isMultiRoutes
20
+ }) => {
21
+ const skipAssets = (await chunkATW6UNT5_cjs.ClientState.getSkipAssets({ chainId }))?.[chainId];
22
+ const skipChains = await chunkATW6UNT5_cjs.ClientState.getSkipChains();
23
+ const prioFeeDenom = await getCosmosPriorityFeeDenom?.(chainId);
24
+ const chain = skipChains?.find((c) => c.chainId === chainId);
25
+ if (!chain) {
26
+ throw new Error(`failed to find chain id '${chainId}'`);
27
+ }
28
+ const { feeAssets } = chain;
29
+ if (!feeAssets) {
30
+ throw new Error(`failed to find fee assets for chain id '${chainId}'`);
31
+ }
32
+ const estimatedGasAmount = await (async () => {
33
+ try {
34
+ if (simulate === false) throw new Error("simulate");
35
+ if (txIndex !== 0 && chainId === "noble-1") {
36
+ return "0";
37
+ }
38
+ const { stargateClient } = await chunk4ZIVDKQN_cjs.getSigningStargateClient({
39
+ chainId,
40
+ getOfflineSigner
41
+ });
42
+ const estimatedGas = await chunk477CU2G2_cjs.getCosmosGasAmountForMessage(
43
+ stargateClient,
44
+ signerAddress,
45
+ chainId,
46
+ messages
47
+ );
48
+ return estimatedGas;
49
+ } catch (e) {
50
+ const error = e;
51
+ if (error.message === "simulate" && !getFallbackGasAmount) {
52
+ throw new Error(`unable to get gas amount for ${chainId}'s message(s)`);
53
+ }
54
+ if (getFallbackGasAmount) {
55
+ const fallbackGasAmount = await getFallbackGasAmount(
56
+ chainId,
57
+ "cosmos" /* Cosmos */
58
+ );
59
+ if (!fallbackGasAmount) {
60
+ throw new Error(`unable to estimate gas for message(s) ${messages}`);
61
+ }
62
+ return String(fallbackGasAmount);
63
+ }
64
+ throw error;
65
+ }
66
+ })();
67
+ const fees = feeAssets.map((asset) => {
68
+ const gasPrice = (() => {
69
+ if (!asset?.gasPrice) return void 0;
70
+ let price = asset.gasPrice.average;
71
+ if (price === "") {
72
+ price = asset.gasPrice.high;
73
+ }
74
+ if (price === "") {
75
+ price = asset.gasPrice.low;
76
+ }
77
+ if (!price) return;
78
+ return new stargate.GasPrice(
79
+ math.Decimal.fromUserInput(bignumber_js.BigNumber(price).toFixed(), 18),
80
+ asset?.denom ?? ""
81
+ );
82
+ })();
83
+ if (!gasPrice) {
84
+ return null;
85
+ }
86
+ if (chainId === "noble-1") {
87
+ if (isMultiRoutes && txIndex === 0) {
88
+ return stargate.calculateFee(
89
+ Math.ceil(parseFloat(estimatedGasAmount)),
90
+ gasPrice
91
+ );
92
+ }
93
+ if (asset.denom.toLowerCase() === "ibc/EF48E6B1A1A19F47ECAEA62F5670C37C0580E86A9E88498B7E393EB6F49F33C0".toLowerCase()) {
94
+ const fee2 = stargate.calculateFee(2e6, gasPrice);
95
+ return fee2;
96
+ }
97
+ const fee = stargate.calculateFee(2e5, gasPrice);
98
+ return fee;
99
+ }
100
+ return stargate.calculateFee(Math.ceil(parseFloat(estimatedGasAmount)), gasPrice);
101
+ });
102
+ const feeBalance = await chunkATW6UNT5_cjs.balances({
103
+ chains: {
104
+ [chainId]: {
105
+ address: signerAddress,
106
+ denoms: feeAssets.map((asset) => asset.denom ?? "")
107
+ }
108
+ }
109
+ });
110
+ const validatedAssets = feeAssets.map((asset, index) => {
111
+ const chainAsset = skipAssets?.find((x) => x.denom === asset.denom);
112
+ const symbol = chainAsset?.recommendedSymbol?.toUpperCase();
113
+ const decimal = Number(chainAsset?.decimals);
114
+ if (!chainAsset) {
115
+ return {
116
+ error: `(${chain?.prettyName}) Unable to find asset for ${asset.denom}`
117
+ };
118
+ }
119
+ if (isNaN(decimal))
120
+ return {
121
+ error: `(${chain?.prettyName}) Unable to find decimal for ${symbol}`
122
+ };
123
+ const fee = fees[index];
124
+ if (!fee) {
125
+ return {
126
+ error: `(${chain?.prettyName}) Unable to calculate fee for ${symbol}`,
127
+ asset
128
+ };
129
+ }
130
+ if (txIndex !== 0 && chainId === "noble-1") {
131
+ return {
132
+ error: null,
133
+ asset,
134
+ fee
135
+ };
136
+ }
137
+ let balance = feeBalance?.chains?.[chainId]?.denoms?.[asset?.denom ?? ""];
138
+ if (!balance) {
139
+ balance = {
140
+ amount: "0",
141
+ formattedAmount: "0"
142
+ };
143
+ }
144
+ if (!fee.amount[0]?.amount) {
145
+ return {
146
+ error: `(${chain?.prettyName}) Unable to get fee for ${symbol}`,
147
+ asset
148
+ };
149
+ }
150
+ if (parseInt(balance?.amount ?? "") < parseInt(fee.amount[0]?.amount)) {
151
+ const userAmount = new bignumber_js.BigNumber(parseFloat(balance?.amount ?? "")).shiftedBy(-decimal).toFixed(decimal);
152
+ const feeAmount = new bignumber_js.BigNumber(parseFloat(fee.amount[0]?.amount)).shiftedBy(-decimal).toFixed(decimal);
153
+ return {
154
+ error: `Insufficient balance for gas on ${chain?.prettyName}. Need ${feeAmount} ${symbol} but only have ${userAmount} ${symbol}.`,
155
+ asset
156
+ };
157
+ }
158
+ return {
159
+ error: null,
160
+ asset,
161
+ fee
162
+ };
163
+ });
164
+ if (prioFeeDenom) {
165
+ const availableAssets = validatedAssets.filter(
166
+ (res) => res?.error === null
167
+ );
168
+ const prioFeeAsset = availableAssets.find(
169
+ (res) => res?.asset?.denom === prioFeeDenom
170
+ );
171
+ if (prioFeeAsset) {
172
+ return prioFeeAsset;
173
+ }
174
+ }
175
+ const feeUsed = validatedAssets.find((res) => res?.error === null);
176
+ if (!feeUsed) {
177
+ if (validatedAssets.length > 1) {
178
+ throw new Error(
179
+ validatedAssets[0]?.error || `Insufficient fee token to initiate transfer on ${chain.prettyName}.`
180
+ );
181
+ }
182
+ throw new Error(
183
+ validatedAssets[0]?.error || `Insufficient fee token to initiate transfer on ${chain.prettyName}.`
184
+ );
185
+ }
186
+ return feeUsed;
187
+ };
188
+
189
+ exports.validateCosmosGasBalance = validateCosmosGasBalance;
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ var chunk2QPPD3BB_cjs = require('./chunk-2QPPD3BB.cjs');
4
+
5
+ // src/api/postSubmitTransaction.ts
6
+ var submitTransaction = chunk2QPPD3BB_cjs.api({
7
+ methodName: "submit",
8
+ method: "post",
9
+ path: "v2/tx/submit"
10
+ });
11
+
12
+ exports.submitTransaction = submitTransaction;