@skip-go/client 1.5.1 → 1.5.3-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/api/getAssets.cjs +5 -5
- package/dist/cjs/api/getAssetsBetweenChains.cjs +4 -4
- package/dist/cjs/api/getBridges.cjs +4 -4
- package/dist/cjs/api/getChains.cjs +4 -4
- package/dist/cjs/api/getVenues.cjs +4 -4
- package/dist/cjs/api/postAssetsFromSource.cjs +5 -5
- package/dist/cjs/api/postBalances.cjs +4 -4
- package/dist/cjs/api/postIbcOriginAssets.cjs +4 -4
- package/dist/cjs/api/postMessages.cjs +4 -4
- package/dist/cjs/api/postMessagesDirect.cjs +4 -4
- package/dist/cjs/api/postRecommendAssets.cjs +4 -4
- package/dist/cjs/api/postRoute.cjs +4 -4
- package/dist/cjs/api/postSubmitTransaction.cjs +4 -4
- package/dist/cjs/api/postTrackTransaction.cjs +4 -4
- package/dist/cjs/api/postTransactionStatus.cjs +4 -4
- package/dist/cjs/{chunk-5HDKZVOL.cjs → chunk-262HFM6V.cjs} +2 -2
- package/dist/cjs/{chunk-OZUCMWNE.cjs → chunk-3NHW3XWK.cjs} +2 -2
- package/dist/cjs/{chunk-LHY62HPI.cjs → chunk-4MV4GLIA.cjs} +2 -2
- package/dist/cjs/{chunk-FNB244QI.cjs → chunk-4NGHNHAS.cjs} +6 -6
- package/dist/cjs/{chunk-JBKNEFXB.cjs → chunk-7SZZBUBD.cjs} +3 -3
- package/dist/cjs/{chunk-EZGHN6ZL.cjs → chunk-ARCCHERF.cjs} +55 -55
- package/dist/cjs/{chunk-ZBPDDVQ2.cjs → chunk-AW6IQ7JH.cjs} +2 -2
- package/dist/cjs/{chunk-KHJQE3DI.cjs → chunk-BCX2D6TE.cjs} +91 -18
- package/dist/cjs/{chunk-NDSHB4I6.cjs → chunk-BQDOKZFX.cjs} +15 -15
- package/dist/cjs/{chunk-V3FWWJG2.cjs → chunk-CZKIE576.cjs} +10 -10
- package/dist/cjs/chunk-EVEVOW2U.cjs +2179 -0
- package/dist/cjs/{chunk-A26H4FVN.cjs → chunk-FF5UWES6.cjs} +4 -4
- package/dist/cjs/chunk-GGSF5JZH.cjs +101 -0
- package/dist/cjs/chunk-GWRZ6MPC.cjs +2179 -0
- package/dist/cjs/{chunk-N5V3YW5K.cjs → chunk-H2T4LMS2.cjs} +10 -10
- package/dist/cjs/{chunk-ERGJBZUC.cjs → chunk-HFEMNOJS.cjs} +12 -18
- package/dist/cjs/chunk-I6VYDEUV.cjs +454 -0
- package/dist/cjs/{chunk-RVXCF6AL.cjs → chunk-J7HZ6VJE.cjs} +10 -10
- package/dist/cjs/{chunk-QPM7H2YL.cjs → chunk-JWWJIJUE.cjs} +2 -2
- package/dist/cjs/{chunk-RCGCQD6T.cjs → chunk-KWH6S7PB.cjs} +8 -6
- package/dist/cjs/{chunk-QZ2BGX6O.cjs → chunk-MOWOIPUG.cjs} +4 -4
- package/dist/cjs/{chunk-LUVMRHAJ.cjs → chunk-PLO5CVGN.cjs} +2 -2
- package/dist/cjs/{chunk-N4UW74AG.cjs → chunk-QAHHTQ7V.cjs} +4 -4
- package/dist/cjs/{chunk-X5AJHZ2J.cjs → chunk-RBM66GW6.cjs} +2 -2
- package/dist/cjs/{chunk-AXYRULAI.cjs → chunk-S3BKLN4L.cjs} +2 -2
- package/dist/cjs/{chunk-5AYPH3ZR.cjs → chunk-T5EGKQAT.cjs} +2 -2
- package/dist/cjs/{chunk-5CB6SPCX.cjs → chunk-UY5LWG5D.cjs} +2 -2
- package/dist/cjs/chunk-W6ID22B6.cjs +24 -0
- package/dist/{esm/chunk-VQ5SIQWU.js → cjs/chunk-WKYP2NMS.cjs} +11 -7
- package/dist/cjs/{chunk-23YF4LFI.cjs → chunk-XCFPRLX3.cjs} +10 -7
- package/dist/cjs/{chunk-EJMC4JXF.cjs → chunk-ZBJZTBIW.cjs} +2 -2
- package/dist/cjs/index.cjs +188 -250
- package/dist/cjs/public-functions/executeMultipleRoutes.cjs +26 -16
- package/dist/cjs/public-functions/executeRoute.cjs +26 -16
- package/dist/cjs/public-functions/getEvmGasAmountForMessage.cjs +1 -1
- package/dist/cjs/public-functions/getFeeInfoForChain.cjs +5 -6
- package/dist/cjs/public-functions/getRecommendedGasPrice.cjs +7 -8
- package/dist/cjs/public-functions/getRouteWithGasOnReceive.cjs +39 -0
- package/dist/cjs/public-functions/getSigningStargateClient.cjs +5 -5
- package/dist/cjs/public-functions/setApiOptions.cjs +4 -4
- package/dist/cjs/public-functions/setClientOptions.cjs +5 -5
- package/dist/cjs/public-functions/subscribeToRouteStatus.cjs +9 -9
- package/dist/cjs/public-functions/validateCosmosGasBalance.cjs +7 -7
- package/dist/cjs/public-functions/waitForTransaction.cjs +6 -6
- package/dist/esm/api/getAssets.d.ts +2 -2
- package/dist/esm/api/getAssets.js +3 -3
- package/dist/esm/api/getAssetsBetweenChains.d.ts +22 -22
- package/dist/esm/api/getAssetsBetweenChains.js +3 -3
- package/dist/esm/api/getBridges.d.ts +2 -2
- package/dist/esm/api/getBridges.js +3 -3
- package/dist/esm/api/getChains.d.ts +2 -2
- package/dist/esm/api/getChains.js +3 -3
- package/dist/esm/api/getVenues.d.ts +1 -1
- package/dist/esm/api/getVenues.js +3 -3
- package/dist/esm/api/postAssetsFromSource.d.ts +2 -2
- package/dist/esm/api/postAssetsFromSource.js +4 -4
- package/dist/esm/api/postBalances.d.ts +3 -3
- package/dist/esm/api/postBalances.js +3 -3
- package/dist/esm/api/postIbcOriginAssets.d.ts +11 -11
- package/dist/esm/api/postIbcOriginAssets.js +3 -3
- package/dist/esm/api/postMessages.d.ts +13 -13
- package/dist/esm/api/postMessages.js +3 -3
- package/dist/esm/api/postMessagesDirect.d.ts +164 -162
- package/dist/esm/api/postMessagesDirect.js +3 -3
- package/dist/esm/api/postRecommendAssets.d.ts +12 -12
- package/dist/esm/api/postRecommendAssets.js +3 -3
- package/dist/esm/api/postRoute.d.ts +162 -160
- package/dist/esm/api/postRoute.js +3 -3
- package/dist/esm/api/postSubmitTransaction.d.ts +3 -3
- package/dist/esm/api/postSubmitTransaction.js +3 -3
- package/dist/esm/api/postTrackTransaction.d.ts +3 -3
- package/dist/esm/api/postTrackTransaction.js +3 -3
- package/dist/esm/api/postTransactionStatus.d.ts +37 -37
- package/dist/esm/api/postTransactionStatus.js +3 -3
- package/dist/esm/{apiState-DwZhwVul.d.ts → apiState-1VvikVK-.d.ts} +1 -0
- package/dist/esm/{callbacks-DCqqd0D9.d.ts → callbacks-C-KUJnDv.d.ts} +34 -4
- package/dist/esm/{chunk-APRMN34M.js → chunk-3WFXBPS2.js} +1 -1
- package/dist/esm/{chunk-3XOGEVJL.js → chunk-44IX6KPJ.js} +1 -1
- package/dist/esm/{chunk-VZGOU6MB.js → chunk-47HN6VKU.js} +3 -3
- package/dist/esm/{chunk-XYYXRVFN.js → chunk-5IXH2QPF.js} +86 -16
- package/dist/esm/{chunk-WBZVMPPV.js → chunk-6M7N6EAO.js} +7 -4
- package/dist/esm/{chunk-7X4ERB3R.js → chunk-AUNRER4I.js} +1 -1
- package/dist/esm/{chunk-562J5DCB.js → chunk-DL374PFE.js} +4 -4
- package/dist/esm/chunk-FDRLM2JD.js +431 -0
- package/dist/esm/{chunk-52PEBJRQ.js → chunk-FNTPI2AV.js} +1 -1
- package/dist/esm/{chunk-3J5IMMMB.js → chunk-H3MY23AH.js} +1 -1
- package/dist/esm/{chunk-JQ4F4WBG.js → chunk-HDW6XFWX.js} +1 -1
- package/dist/esm/{chunk-LHNGF5J2.js → chunk-HELQO7PA.js} +2 -2
- package/dist/esm/{chunk-W5EGS2G4.js → chunk-IGK7LJCM.js} +8 -8
- package/dist/esm/{chunk-AND7HVIU.js → chunk-IHSSWY3M.js} +1 -1
- package/dist/esm/{chunk-2DD5F6PK.js → chunk-JNVGNIOE.js} +2 -2
- package/dist/{cjs/chunk-4R6OCWRR.cjs → esm/chunk-JYYCFKB4.js} +8 -9
- package/dist/esm/chunk-KNXMSLOB.js +1 -1
- package/dist/esm/{chunk-Y2YCODZK.js → chunk-KXQ2ASHQ.js} +1 -1
- package/dist/esm/{chunk-ZOUYAZU6.js → chunk-MYGJGC62.js} +1 -1
- package/dist/esm/{chunk-ZI3SYUQH.js → chunk-RFJYCJK4.js} +1 -1
- package/dist/esm/{chunk-FVQFGEL2.js → chunk-RHLE3EW7.js} +6 -6
- package/dist/esm/chunk-RJ35JBT4.js +2154 -0
- package/dist/esm/{chunk-BZDVQMHK.js → chunk-SOVU5NCL.js} +2 -2
- package/dist/esm/{chunk-QIS6ILPS.js → chunk-TNIGHYH2.js} +3 -3
- package/dist/esm/{chunk-FH2YHZVV.js → chunk-UBVBVJPY.js} +5 -3
- package/dist/esm/chunk-UIDIKXMB.js +1 -1
- package/dist/esm/{chunk-A6KSECAH.js → chunk-VGCTTJO7.js} +12 -18
- package/dist/esm/{chunk-OTS5KO43.js → chunk-VWOMKMH2.js} +1 -1
- package/dist/esm/chunk-X2IBEHMZ.js +2154 -0
- package/dist/esm/chunk-XHLXJGVB.js +22 -0
- package/dist/esm/{chunk-S4RO2LHD.js → chunk-YGQ4NKTM.js} +1 -1
- package/dist/esm/{chunk-UI3SIFZN.js → chunk-YLVUKXLR.js} +1 -1
- package/dist/esm/chunk-YWG4XR5A.js +98 -0
- package/dist/esm/{client-types-BSZasIDd.d.ts → client-types-CGMuZ3zo.d.ts} +2 -2
- package/dist/esm/{generateApi-CwM4Ca30.d.ts → generateApi-D_-Gso-x.d.ts} +1 -1
- package/dist/esm/index.d.ts +167 -144
- package/dist/esm/index.js +25 -174
- package/dist/esm/public-functions/executeMultipleRoutes.d.ts +31 -11
- package/dist/esm/public-functions/executeMultipleRoutes.js +25 -15
- package/dist/esm/public-functions/executeRoute.d.ts +5 -5
- package/dist/esm/public-functions/executeRoute.js +25 -15
- package/dist/esm/public-functions/getCosmosGasAmountForMessage.d.ts +1 -1
- package/dist/esm/public-functions/getEvmGasAmountForMessage.d.ts +4 -4
- package/dist/esm/public-functions/getEvmGasAmountForMessage.js +1 -1
- package/dist/esm/public-functions/getFeeInfoForChain.d.ts +2 -2
- package/dist/esm/public-functions/getFeeInfoForChain.js +4 -5
- package/dist/esm/public-functions/getRecommendedGasPrice.d.ts +1 -1
- package/dist/esm/public-functions/getRecommendedGasPrice.js +6 -7
- package/dist/esm/public-functions/getRouteWithGasOnReceive.d.ts +20 -0
- package/dist/esm/public-functions/getRouteWithGasOnReceive.js +30 -0
- package/dist/esm/public-functions/getSigningStargateClient.js +4 -4
- package/dist/esm/public-functions/setApiOptions.d.ts +3 -3
- package/dist/esm/public-functions/setApiOptions.js +3 -3
- package/dist/esm/public-functions/setClientOptions.d.ts +5 -5
- package/dist/esm/public-functions/setClientOptions.js +4 -4
- package/dist/esm/public-functions/subscribeToRouteStatus.d.ts +5 -5
- package/dist/esm/public-functions/subscribeToRouteStatus.js +5 -5
- package/dist/esm/public-functions/validateCosmosGasBalance.d.ts +5 -5
- package/dist/esm/public-functions/validateCosmosGasBalance.js +6 -6
- package/dist/esm/public-functions/waitForTransaction.d.ts +39 -39
- package/dist/esm/public-functions/waitForTransaction.js +5 -5
- package/dist/esm/setClientOptions-C8g92xTm.d.ts +76 -0
- package/dist/esm/{swaggerTypes-Bh6hu5Q-.d.ts → swaggerTypes-B_jKfpvz.d.ts} +154 -132
- package/package.json +1 -1
- package/dist/esm/setClientOptions-0DYCj_A5.d.ts +0 -19
- package/dist/cjs/{chunk-IDDRJJO5.cjs → chunk-DLT6Q6RB.cjs} +1 -1
- package/dist/esm/{chunk-OQDBWVET.js → chunk-QL423UEF.js} +1 -1
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
5
|
-
var
|
|
6
|
-
var
|
|
3
|
+
var chunkARCCHERF_cjs = require('./chunk-ARCCHERF.cjs');
|
|
4
|
+
var chunkBCX2D6TE_cjs = require('./chunk-BCX2D6TE.cjs');
|
|
5
|
+
var chunk3NHW3XWK_cjs = require('./chunk-3NHW3XWK.cjs');
|
|
6
|
+
var chunkHFEMNOJS_cjs = require('./chunk-HFEMNOJS.cjs');
|
|
7
7
|
|
|
8
8
|
// src/public-functions/executeRoute.ts
|
|
9
9
|
var executeRoute = async (options) => {
|
|
10
10
|
const { route, userAddresses, appendCosmosMsgs, timeoutSeconds } = options;
|
|
11
|
-
const { id: routeId } =
|
|
11
|
+
const { id: routeId } = chunkBCX2D6TE_cjs.updateRouteDetails({
|
|
12
12
|
status: "unconfirmed",
|
|
13
13
|
options
|
|
14
14
|
});
|
|
15
|
-
const addressList = await
|
|
15
|
+
const addressList = await chunkARCCHERF_cjs.createValidAddressList({
|
|
16
16
|
userAddresses,
|
|
17
17
|
route
|
|
18
18
|
});
|
|
19
|
-
const response = await
|
|
19
|
+
const response = await chunk3NHW3XWK_cjs.messages({
|
|
20
20
|
timeoutSeconds,
|
|
21
21
|
amountIn: route?.amountIn,
|
|
22
22
|
amountOut: route.estimatedAmountOut || "0",
|
|
@@ -27,7 +27,7 @@ var executeRoute = async (options) => {
|
|
|
27
27
|
operations: route?.operations,
|
|
28
28
|
addressList,
|
|
29
29
|
slippageTolerancePercent: options.slippageTolerancePercent || "1",
|
|
30
|
-
chainIdsToAffiliates:
|
|
30
|
+
chainIdsToAffiliates: chunkHFEMNOJS_cjs.ApiState.chainIdsToAffiliates,
|
|
31
31
|
postRouteHandler: options.postRouteHandler,
|
|
32
32
|
feePayerAddress: options.svmFeePayer?.address
|
|
33
33
|
});
|
|
@@ -43,8 +43,8 @@ var executeRoute = async (options) => {
|
|
|
43
43
|
}
|
|
44
44
|
});
|
|
45
45
|
}
|
|
46
|
-
const { transactionDetails, executeTransaction } = await
|
|
47
|
-
await
|
|
46
|
+
const { transactionDetails, executeTransaction } = await chunkARCCHERF_cjs.executeTransactions({ ...options, routeId, txs: response?.txs });
|
|
47
|
+
await chunkBCX2D6TE_cjs.executeAndSubscribeToRouteStatus({
|
|
48
48
|
transactionDetails,
|
|
49
49
|
executeTransaction,
|
|
50
50
|
routeId,
|
|
@@ -63,7 +63,13 @@ var createRequestClient = ({ apiUrl, apiKey, apiHeaders }) => {
|
|
|
63
63
|
if (params && typeof params === "object") {
|
|
64
64
|
Object.entries(params).forEach(([key, value]) => {
|
|
65
65
|
if (value !== void 0 && value !== null) {
|
|
66
|
-
|
|
66
|
+
if (Array.isArray(value)) {
|
|
67
|
+
value.forEach((item) => {
|
|
68
|
+
url.searchParams.append(key, String(item));
|
|
69
|
+
});
|
|
70
|
+
} else {
|
|
71
|
+
url.searchParams.append(key, String(value));
|
|
72
|
+
}
|
|
67
73
|
}
|
|
68
74
|
});
|
|
69
75
|
}
|
|
@@ -98,15 +104,14 @@ function createRequest({
|
|
|
98
104
|
const request = async (options) => {
|
|
99
105
|
const { apiKey, apiUrl, apiHeaders, abortDuplicateRequests, ...requestParams } = options ?? {};
|
|
100
106
|
let fetchClient = ApiState.client;
|
|
101
|
-
if (apiUrl ||
|
|
107
|
+
if (apiKey || apiUrl || apiHeaders || fetchClient === void 0) {
|
|
102
108
|
fetchClient = createRequestClient({
|
|
103
109
|
apiUrl: apiUrl || "https://api.skip.build",
|
|
104
110
|
apiKey,
|
|
105
111
|
apiHeaders
|
|
106
112
|
});
|
|
107
|
-
} else {
|
|
108
|
-
await ApiState.clientInitialized;
|
|
109
113
|
}
|
|
114
|
+
ApiState.apiCalled = true;
|
|
110
115
|
if (abortDuplicateRequests && controller && !controller?.signal?.aborted) {
|
|
111
116
|
controller?.abort();
|
|
112
117
|
}
|
|
@@ -186,23 +191,12 @@ function pollingApi({
|
|
|
186
191
|
}
|
|
187
192
|
|
|
188
193
|
// src/state/apiState.ts
|
|
189
|
-
var ApiState = class
|
|
194
|
+
var ApiState = class {
|
|
190
195
|
static client;
|
|
191
196
|
static chainIdsToAffiliates;
|
|
192
197
|
static cumulativeAffiliateFeeBPS = "0";
|
|
193
|
-
static
|
|
194
|
-
static
|
|
195
|
-
static clientInitialized = new Promise((resolve) => {
|
|
196
|
-
_ApiState.resolveInitialization = () => {
|
|
197
|
-
if (!_ApiState.isInitialized) {
|
|
198
|
-
_ApiState.isInitialized = true;
|
|
199
|
-
resolve();
|
|
200
|
-
}
|
|
201
|
-
};
|
|
202
|
-
});
|
|
203
|
-
static setClientInitialized() {
|
|
204
|
-
_ApiState.resolveInitialization();
|
|
205
|
-
}
|
|
198
|
+
static initialized = false;
|
|
199
|
+
static apiCalled = false;
|
|
206
200
|
};
|
|
207
201
|
|
|
208
202
|
exports.ApiState = ApiState;
|
|
@@ -0,0 +1,454 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkWKYP2NMS_cjs = require('./chunk-WKYP2NMS.cjs');
|
|
4
|
+
var chunk7SZZBUBD_cjs = require('./chunk-7SZZBUBD.cjs');
|
|
5
|
+
var chunkQAHHTQ7V_cjs = require('./chunk-QAHHTQ7V.cjs');
|
|
6
|
+
var viem = require('viem');
|
|
7
|
+
var chains = require('viem/chains');
|
|
8
|
+
|
|
9
|
+
// src/types/swaggerTypesJson.ts
|
|
10
|
+
var AutopilotActionJson = /* @__PURE__ */ ((AutopilotActionJson2) => {
|
|
11
|
+
AutopilotActionJson2["LIQUID_STAKE"] = "LIQUID_STAKE";
|
|
12
|
+
AutopilotActionJson2["CLAIM"] = "CLAIM";
|
|
13
|
+
return AutopilotActionJson2;
|
|
14
|
+
})(AutopilotActionJson || {});
|
|
15
|
+
var AxelarTransferStateJson = /* @__PURE__ */ ((AxelarTransferStateJson2) => {
|
|
16
|
+
AxelarTransferStateJson2["AXELAR_TRANSFER_UNKNOWN"] = "AXELAR_TRANSFER_UNKNOWN";
|
|
17
|
+
AxelarTransferStateJson2["AXELAR_TRANSFER_PENDING_CONFIRMATION"] = "AXELAR_TRANSFER_PENDING_CONFIRMATION";
|
|
18
|
+
AxelarTransferStateJson2["AXELAR_TRANSFER_PENDING_RECEIPT"] = "AXELAR_TRANSFER_PENDING_RECEIPT";
|
|
19
|
+
AxelarTransferStateJson2["AXELAR_TRANSFER_SUCCESS"] = "AXELAR_TRANSFER_SUCCESS";
|
|
20
|
+
AxelarTransferStateJson2["AXELAR_TRANSFER_FAILURE"] = "AXELAR_TRANSFER_FAILURE";
|
|
21
|
+
return AxelarTransferStateJson2;
|
|
22
|
+
})(AxelarTransferStateJson || {});
|
|
23
|
+
var AxelarTransferTypeJson = /* @__PURE__ */ ((AxelarTransferTypeJson2) => {
|
|
24
|
+
AxelarTransferTypeJson2["AXELAR_TRANSFER_CONTRACT_CALL_WITH_TOKEN"] = "AXELAR_TRANSFER_CONTRACT_CALL_WITH_TOKEN";
|
|
25
|
+
AxelarTransferTypeJson2["AXELAR_TRANSFER_SEND_TOKEN"] = "AXELAR_TRANSFER_SEND_TOKEN";
|
|
26
|
+
return AxelarTransferTypeJson2;
|
|
27
|
+
})(AxelarTransferTypeJson || {});
|
|
28
|
+
var CCTPTransferStateJson = /* @__PURE__ */ ((CCTPTransferStateJson2) => {
|
|
29
|
+
CCTPTransferStateJson2["CCTP_TRANSFER_UNKNOWN"] = "CCTP_TRANSFER_UNKNOWN";
|
|
30
|
+
CCTPTransferStateJson2["CCTP_TRANSFER_SENT"] = "CCTP_TRANSFER_SENT";
|
|
31
|
+
CCTPTransferStateJson2["CCTP_TRANSFER_PENDING_CONFIRMATION"] = "CCTP_TRANSFER_PENDING_CONFIRMATION";
|
|
32
|
+
CCTPTransferStateJson2["CCTP_TRANSFER_CONFIRMED"] = "CCTP_TRANSFER_CONFIRMED";
|
|
33
|
+
CCTPTransferStateJson2["CCTP_TRANSFER_RECEIVED"] = "CCTP_TRANSFER_RECEIVED";
|
|
34
|
+
return CCTPTransferStateJson2;
|
|
35
|
+
})(CCTPTransferStateJson || {});
|
|
36
|
+
var StargateTransferStateJson = /* @__PURE__ */ ((StargateTransferStateJson2) => {
|
|
37
|
+
StargateTransferStateJson2["STARGATE_TRANSFER_UNKNOWN"] = "STARGATE_TRANSFER_UNKNOWN";
|
|
38
|
+
StargateTransferStateJson2["STARGATE_TRANSFER_SENT"] = "STARGATE_TRANSFER_SENT";
|
|
39
|
+
StargateTransferStateJson2["STARGATE_TRANSFER_PENDING_CONFIRMATION"] = "STARGATE_TRANSFER_PENDING_CONFIRMATION";
|
|
40
|
+
StargateTransferStateJson2["STARGATE_TRANSFER_CONFIRMED"] = "STARGATE_TRANSFER_CONFIRMED";
|
|
41
|
+
StargateTransferStateJson2["STARGATE_TRANSFER_RECEIVED"] = "STARGATE_TRANSFER_RECEIVED";
|
|
42
|
+
StargateTransferStateJson2["STARGATE_TRANSFER_FAILED"] = "STARGATE_TRANSFER_FAILED";
|
|
43
|
+
return StargateTransferStateJson2;
|
|
44
|
+
})(StargateTransferStateJson || {});
|
|
45
|
+
var GoFastTransferStateJson = /* @__PURE__ */ ((GoFastTransferStateJson2) => {
|
|
46
|
+
GoFastTransferStateJson2["GO_FAST_TRANSFER_UNKNOWN"] = "GO_FAST_TRANSFER_UNKNOWN";
|
|
47
|
+
GoFastTransferStateJson2["GO_FAST_TRANSFER_SENT"] = "GO_FAST_TRANSFER_SENT";
|
|
48
|
+
GoFastTransferStateJson2["GO_FAST_POST_ACTION_FAILED"] = "GO_FAST_POST_ACTION_FAILED";
|
|
49
|
+
GoFastTransferStateJson2["GO_FAST_TRANSFER_TIMEOUT"] = "GO_FAST_TRANSFER_TIMEOUT";
|
|
50
|
+
GoFastTransferStateJson2["GO_FAST_TRANSFER_FILLED"] = "GO_FAST_TRANSFER_FILLED";
|
|
51
|
+
GoFastTransferStateJson2["GO_FAST_TRANSFER_REFUNDED"] = "GO_FAST_TRANSFER_REFUNDED";
|
|
52
|
+
return GoFastTransferStateJson2;
|
|
53
|
+
})(GoFastTransferStateJson || {});
|
|
54
|
+
var BridgeTypeJson = /* @__PURE__ */ ((BridgeTypeJson2) => {
|
|
55
|
+
BridgeTypeJson2["IBC"] = "IBC";
|
|
56
|
+
BridgeTypeJson2["AXELAR"] = "AXELAR";
|
|
57
|
+
BridgeTypeJson2["CCTP"] = "CCTP";
|
|
58
|
+
BridgeTypeJson2["HYPERLANE"] = "HYPERLANE";
|
|
59
|
+
BridgeTypeJson2["OPINIT"] = "OPINIT";
|
|
60
|
+
BridgeTypeJson2["GO_FAST"] = "GO_FAST";
|
|
61
|
+
BridgeTypeJson2["STARGATE"] = "STARGATE";
|
|
62
|
+
BridgeTypeJson2["LAYER_ZERO"] = "LAYER_ZERO";
|
|
63
|
+
BridgeTypeJson2["EUREKA"] = "EUREKA";
|
|
64
|
+
return BridgeTypeJson2;
|
|
65
|
+
})(BridgeTypeJson || {});
|
|
66
|
+
var ChainTypeJson = /* @__PURE__ */ ((ChainTypeJson2) => {
|
|
67
|
+
ChainTypeJson2["Cosmos"] = "cosmos";
|
|
68
|
+
ChainTypeJson2["Evm"] = "evm";
|
|
69
|
+
ChainTypeJson2["Svm"] = "svm";
|
|
70
|
+
return ChainTypeJson2;
|
|
71
|
+
})(ChainTypeJson || {});
|
|
72
|
+
var ContractCallWithTokenErrorTypeJson = /* @__PURE__ */ ((ContractCallWithTokenErrorTypeJson2) => {
|
|
73
|
+
ContractCallWithTokenErrorTypeJson2["CONTRACT_CALL_WITH_TOKEN_EXECUTION_ERROR"] = "CONTRACT_CALL_WITH_TOKEN_EXECUTION_ERROR";
|
|
74
|
+
return ContractCallWithTokenErrorTypeJson2;
|
|
75
|
+
})(ContractCallWithTokenErrorTypeJson || {});
|
|
76
|
+
var HyperlaneTransferStateJson = /* @__PURE__ */ ((HyperlaneTransferStateJson2) => {
|
|
77
|
+
HyperlaneTransferStateJson2["HYPERLANE_TRANSFER_UNKNOWN"] = "HYPERLANE_TRANSFER_UNKNOWN";
|
|
78
|
+
HyperlaneTransferStateJson2["HYPERLANE_TRANSFER_SENT"] = "HYPERLANE_TRANSFER_SENT";
|
|
79
|
+
HyperlaneTransferStateJson2["HYPERLANE_TRANSFER_FAILED"] = "HYPERLANE_TRANSFER_FAILED";
|
|
80
|
+
HyperlaneTransferStateJson2["HYPERLANE_TRANSFER_RECEIVED"] = "HYPERLANE_TRANSFER_RECEIVED";
|
|
81
|
+
return HyperlaneTransferStateJson2;
|
|
82
|
+
})(HyperlaneTransferStateJson || {});
|
|
83
|
+
var PacketErrorTypeJson = /* @__PURE__ */ ((PacketErrorTypeJson2) => {
|
|
84
|
+
PacketErrorTypeJson2["PACKET_ERROR_UNKNOWN"] = "PACKET_ERROR_UNKNOWN";
|
|
85
|
+
PacketErrorTypeJson2["PACKET_ERROR_ACKNOWLEDGEMENT"] = "PACKET_ERROR_ACKNOWLEDGEMENT";
|
|
86
|
+
PacketErrorTypeJson2["PACKET_ERROR_TIMEOUT"] = "PACKET_ERROR_TIMEOUT";
|
|
87
|
+
return PacketErrorTypeJson2;
|
|
88
|
+
})(PacketErrorTypeJson || {});
|
|
89
|
+
var ReasonJson = /* @__PURE__ */ ((ReasonJson2) => {
|
|
90
|
+
ReasonJson2["UNKNOWN"] = "UNKNOWN";
|
|
91
|
+
ReasonJson2["MOST_LIQUID"] = "MOST_LIQUID";
|
|
92
|
+
ReasonJson2["BASE_TOKEN"] = "BASE_TOKEN";
|
|
93
|
+
ReasonJson2["DIRECT"] = "DIRECT";
|
|
94
|
+
return ReasonJson2;
|
|
95
|
+
})(ReasonJson || {});
|
|
96
|
+
var RoutePriceWarningTypeJson = /* @__PURE__ */ ((RoutePriceWarningTypeJson2) => {
|
|
97
|
+
RoutePriceWarningTypeJson2["LOW_INFO_WARNING"] = "LOW_INFO_WARNING";
|
|
98
|
+
RoutePriceWarningTypeJson2["BAD_PRICE_WARNING"] = "BAD_PRICE_WARNING";
|
|
99
|
+
return RoutePriceWarningTypeJson2;
|
|
100
|
+
})(RoutePriceWarningTypeJson || {});
|
|
101
|
+
var SendTokenErrorTypeJson = /* @__PURE__ */ ((SendTokenErrorTypeJson2) => {
|
|
102
|
+
SendTokenErrorTypeJson2["SEND_TOKEN_EXECUTION_ERROR"] = "SEND_TOKEN_EXECUTION_ERROR";
|
|
103
|
+
return SendTokenErrorTypeJson2;
|
|
104
|
+
})(SendTokenErrorTypeJson || {});
|
|
105
|
+
var StatusErrorTypeJson = /* @__PURE__ */ ((StatusErrorTypeJson2) => {
|
|
106
|
+
StatusErrorTypeJson2["STATUS_ERROR_UNKNOWN"] = "STATUS_ERROR_UNKNOWN";
|
|
107
|
+
StatusErrorTypeJson2["STATUS_ERROR_TRANSACTION_EXECUTION"] = "STATUS_ERROR_TRANSACTION_EXECUTION";
|
|
108
|
+
StatusErrorTypeJson2["STATUS_ERROR_INDEXING"] = "STATUS_ERROR_INDEXING";
|
|
109
|
+
StatusErrorTypeJson2["STATUS_ERROR_TRANSFER"] = "STATUS_ERROR_TRANSFER";
|
|
110
|
+
return StatusErrorTypeJson2;
|
|
111
|
+
})(StatusErrorTypeJson || {});
|
|
112
|
+
var TransactionStateJson = /* @__PURE__ */ ((TransactionStateJson2) => {
|
|
113
|
+
TransactionStateJson2["STATE_SUBMITTED"] = "STATE_SUBMITTED";
|
|
114
|
+
TransactionStateJson2["STATE_PENDING"] = "STATE_PENDING";
|
|
115
|
+
TransactionStateJson2["STATE_ABANDONED"] = "STATE_ABANDONED";
|
|
116
|
+
TransactionStateJson2["STATE_COMPLETED_SUCCESS"] = "STATE_COMPLETED_SUCCESS";
|
|
117
|
+
TransactionStateJson2["STATE_COMPLETED_ERROR"] = "STATE_COMPLETED_ERROR";
|
|
118
|
+
TransactionStateJson2["STATE_PENDING_ERROR"] = "STATE_PENDING_ERROR";
|
|
119
|
+
return TransactionStateJson2;
|
|
120
|
+
})(TransactionStateJson || {});
|
|
121
|
+
var OPInitTransferStateJson = /* @__PURE__ */ ((OPInitTransferStateJson2) => {
|
|
122
|
+
OPInitTransferStateJson2["OPINIT_TRANSFER_UNKNOWN"] = "OPINIT_TRANSFER_UNKNOWN";
|
|
123
|
+
OPInitTransferStateJson2["OPINIT_TRANSFER_SENT"] = "OPINIT_TRANSFER_SENT";
|
|
124
|
+
OPInitTransferStateJson2["OPINIT_TRANSFER_RECEIVED"] = "OPINIT_TRANSFER_RECEIVED";
|
|
125
|
+
return OPInitTransferStateJson2;
|
|
126
|
+
})(OPInitTransferStateJson || {});
|
|
127
|
+
var LayerZeroTransferStateJson = /* @__PURE__ */ ((LayerZeroTransferStateJson2) => {
|
|
128
|
+
LayerZeroTransferStateJson2["LAYER_ZERO_TRANSFER_UNKNOWN"] = "LAYER_ZERO_TRANSFER_UNKNOWN";
|
|
129
|
+
LayerZeroTransferStateJson2["LAYER_ZERO_TRANSFER_SENT"] = "LAYER_ZERO_TRANSFER_SENT";
|
|
130
|
+
LayerZeroTransferStateJson2["LAYER_ZERO_TRANSFER_WAITING_FOR_COMPOSE"] = "LAYER_ZERO_TRANSFER_WAITING_FOR_COMPOSE";
|
|
131
|
+
LayerZeroTransferStateJson2["LAYER_ZERO_TRANSFER_RECEIVED"] = "LAYER_ZERO_TRANSFER_RECEIVED";
|
|
132
|
+
LayerZeroTransferStateJson2["LAYER_ZERO_TRANSFER_FAILED"] = "LAYER_ZERO_TRANSFER_FAILED";
|
|
133
|
+
return LayerZeroTransferStateJson2;
|
|
134
|
+
})(LayerZeroTransferStateJson || {});
|
|
135
|
+
var TransferStateJson = /* @__PURE__ */ ((TransferStateJson2) => {
|
|
136
|
+
TransferStateJson2["TRANSFER_UNKNOWN"] = "TRANSFER_UNKNOWN";
|
|
137
|
+
TransferStateJson2["TRANSFER_PENDING"] = "TRANSFER_PENDING";
|
|
138
|
+
TransferStateJson2["TRANSFER_RECEIVED"] = "TRANSFER_RECEIVED";
|
|
139
|
+
TransferStateJson2["TRANSFER_SUCCESS"] = "TRANSFER_SUCCESS";
|
|
140
|
+
TransferStateJson2["TRANSFER_FAILURE"] = "TRANSFER_FAILURE";
|
|
141
|
+
return TransferStateJson2;
|
|
142
|
+
})(TransferStateJson || {});
|
|
143
|
+
var FeeTypeJson = /* @__PURE__ */ ((FeeTypeJson2) => {
|
|
144
|
+
FeeTypeJson2["SMART_RELAY"] = "SMART_RELAY";
|
|
145
|
+
return FeeTypeJson2;
|
|
146
|
+
})(FeeTypeJson || {});
|
|
147
|
+
var FeeBehaviorJson = /* @__PURE__ */ ((FeeBehaviorJson2) => {
|
|
148
|
+
FeeBehaviorJson2["FEE_BEHAVIOR_DEDUCTED"] = "FEE_BEHAVIOR_DEDUCTED";
|
|
149
|
+
FeeBehaviorJson2["FEE_BEHAVIOR_ADDITIONAL"] = "FEE_BEHAVIOR_ADDITIONAL";
|
|
150
|
+
return FeeBehaviorJson2;
|
|
151
|
+
})(FeeBehaviorJson || {});
|
|
152
|
+
|
|
153
|
+
// src/utils/coingecko.ts
|
|
154
|
+
var getUsdPrice = async (coingeckoId) => {
|
|
155
|
+
try {
|
|
156
|
+
const response = await fetch(`https://api.coingecko.com/api/v3/simple/price?ids=${coingeckoId}&vs_currencies=usd`);
|
|
157
|
+
const data = await response.json();
|
|
158
|
+
return data?.[coingeckoId]?.usd;
|
|
159
|
+
} catch (error) {
|
|
160
|
+
return void 0;
|
|
161
|
+
}
|
|
162
|
+
};
|
|
163
|
+
|
|
164
|
+
// src/utils/numbers.ts
|
|
165
|
+
var convertHumanReadableAmountToCryptoAmount = (humanReadableAmount, decimals) => {
|
|
166
|
+
const cryptoAmount = new chunkWKYP2NMS_cjs.bignumber_default(humanReadableAmount).shiftedBy(decimals);
|
|
167
|
+
return cryptoAmount.toFixed(0);
|
|
168
|
+
};
|
|
169
|
+
var formaTestnet = viem.defineChain({
|
|
170
|
+
id: 984123,
|
|
171
|
+
name: "Forma Testnet",
|
|
172
|
+
nativeCurrency: {
|
|
173
|
+
name: "TIA",
|
|
174
|
+
symbol: "TIA",
|
|
175
|
+
decimals: 18
|
|
176
|
+
},
|
|
177
|
+
rpcUrls: {
|
|
178
|
+
default: {
|
|
179
|
+
http: ["https://rpc.sketchpad-1.forma.art"]
|
|
180
|
+
}
|
|
181
|
+
},
|
|
182
|
+
blockExplorers: {
|
|
183
|
+
default: {
|
|
184
|
+
name: "Forma Explorer",
|
|
185
|
+
url: "https://explorer.sketchpad-1.forma.art"
|
|
186
|
+
}
|
|
187
|
+
},
|
|
188
|
+
testnet: true
|
|
189
|
+
});
|
|
190
|
+
var evmChains = [
|
|
191
|
+
chains.arbitrum,
|
|
192
|
+
chains.avalanche,
|
|
193
|
+
chains.base,
|
|
194
|
+
chains.bsc,
|
|
195
|
+
chains.celo,
|
|
196
|
+
chains.fantom,
|
|
197
|
+
chains.filecoin,
|
|
198
|
+
chains.kava,
|
|
199
|
+
chains.linea,
|
|
200
|
+
chains.mainnet,
|
|
201
|
+
chains.manta,
|
|
202
|
+
chains.moonbeam,
|
|
203
|
+
chains.optimism,
|
|
204
|
+
chains.polygon,
|
|
205
|
+
chains.polygonMumbai,
|
|
206
|
+
chains.sepolia,
|
|
207
|
+
chains.avalancheFuji,
|
|
208
|
+
chains.baseSepolia,
|
|
209
|
+
chains.optimismSepolia,
|
|
210
|
+
chains.arbitrumSepolia,
|
|
211
|
+
chains.blast,
|
|
212
|
+
chains.blastSepolia,
|
|
213
|
+
chains.forma,
|
|
214
|
+
formaTestnet,
|
|
215
|
+
chains.sei,
|
|
216
|
+
chains.bscTestnet,
|
|
217
|
+
chains.fantomTestnet,
|
|
218
|
+
chains.kavaTestnet,
|
|
219
|
+
chains.lineaSepolia,
|
|
220
|
+
chains.mantaSepoliaTestnet
|
|
221
|
+
];
|
|
222
|
+
|
|
223
|
+
// src/utils/array.ts
|
|
224
|
+
function isSubset(arrayA, arrayB) {
|
|
225
|
+
const setA = new Set(arrayA);
|
|
226
|
+
return arrayB.every((item) => setA.has(item));
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
// src/public-functions/getRouteWithGasOnReceive.ts
|
|
230
|
+
var GAS_ON_RECEIVE_AMOUNT_USD = {
|
|
231
|
+
["cosmos" /* Cosmos */]: 0.1,
|
|
232
|
+
evm_l2: 2
|
|
233
|
+
};
|
|
234
|
+
var DISABLED_SOURCE_CHAINIDS = ["1", "11155111"];
|
|
235
|
+
var DISABLED_DESTINATION_CHAINIDS = ["solana", "solana-devnet"];
|
|
236
|
+
var getRouteWithGasOnReceive = async (props) => {
|
|
237
|
+
const originalRoute = props.routeResponse;
|
|
238
|
+
try {
|
|
239
|
+
if (DISABLED_SOURCE_CHAINIDS.includes(originalRoute.sourceAssetChainId)) {
|
|
240
|
+
throw new Error(
|
|
241
|
+
`Routes from ${originalRoute.sourceAssetChainId} are not supported`
|
|
242
|
+
);
|
|
243
|
+
}
|
|
244
|
+
if (DISABLED_DESTINATION_CHAINIDS.includes(originalRoute.destAssetChainId)) {
|
|
245
|
+
throw new Error(
|
|
246
|
+
`Routes to ${originalRoute.destAssetChainId} are not supported`
|
|
247
|
+
);
|
|
248
|
+
}
|
|
249
|
+
const skipChains = chunkQAHHTQ7V_cjs.ClientState.skipChains ? chunkQAHHTQ7V_cjs.ClientState.skipChains : await chunkQAHHTQ7V_cjs.chains({
|
|
250
|
+
includeEvm: true,
|
|
251
|
+
includeSvm: true,
|
|
252
|
+
chainIds: [
|
|
253
|
+
originalRoute.sourceAssetChainId,
|
|
254
|
+
originalRoute.destAssetChainId
|
|
255
|
+
],
|
|
256
|
+
onlyTestnets: props.onlyTestnets
|
|
257
|
+
});
|
|
258
|
+
const skipAssets = chunkQAHHTQ7V_cjs.ClientState.skipAssets ? chunkQAHHTQ7V_cjs.ClientState.skipAssets : await chunkQAHHTQ7V_cjs.assets({
|
|
259
|
+
chainIds: [
|
|
260
|
+
originalRoute.sourceAssetChainId,
|
|
261
|
+
originalRoute.destAssetChainId
|
|
262
|
+
],
|
|
263
|
+
includeEvmAssets: true,
|
|
264
|
+
includeSvmAssets: true,
|
|
265
|
+
onlyTestnets: props.onlyTestnets
|
|
266
|
+
});
|
|
267
|
+
const destinationChain = skipChains?.find(
|
|
268
|
+
(chain) => chain.chainId === originalRoute.destAssetChainId
|
|
269
|
+
);
|
|
270
|
+
if (destinationChain?.feeAssets.map((i) => i.denom).includes(originalRoute.destAssetDenom)) {
|
|
271
|
+
throw new Error(
|
|
272
|
+
"Destination asset is already a fee asset on the destination chain"
|
|
273
|
+
);
|
|
274
|
+
}
|
|
275
|
+
const gasOnReceiveAmount = await getGasOnReceiveAmount({
|
|
276
|
+
destinationChain,
|
|
277
|
+
skipAssets,
|
|
278
|
+
sourceAsset: skipAssets?.[originalRoute.sourceAssetChainId]?.find(
|
|
279
|
+
(i) => i.denom === originalRoute.sourceAssetDenom
|
|
280
|
+
)
|
|
281
|
+
});
|
|
282
|
+
if (!gasOnReceiveAmount || gasOnReceiveAmount.length === 0) {
|
|
283
|
+
throw new Error(
|
|
284
|
+
"No gas on receive amount found for the destination chain"
|
|
285
|
+
);
|
|
286
|
+
}
|
|
287
|
+
const splitDenoms = chunkArray(gasOnReceiveAmount, 3);
|
|
288
|
+
let gasRoute;
|
|
289
|
+
for (const chunk of splitDenoms) {
|
|
290
|
+
const feeAssetRoutes = chunk.map(
|
|
291
|
+
async ({ amountOut, denom, amountIn }) => {
|
|
292
|
+
try {
|
|
293
|
+
const res = await chunk7SZZBUBD_cjs.route({
|
|
294
|
+
...props.routeRequest,
|
|
295
|
+
destAssetDenom: denom,
|
|
296
|
+
amountIn,
|
|
297
|
+
amountOut,
|
|
298
|
+
allowMultiTx: false
|
|
299
|
+
});
|
|
300
|
+
return res;
|
|
301
|
+
} catch (_e) {
|
|
302
|
+
return null;
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
);
|
|
306
|
+
const result = await Promise.all(feeAssetRoutes);
|
|
307
|
+
const _gasRoute = result.find((result2) => result2?.usdAmountOut);
|
|
308
|
+
if (_gasRoute?.usdAmountOut) {
|
|
309
|
+
gasRoute = _gasRoute;
|
|
310
|
+
break;
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
if (!gasRoute) {
|
|
314
|
+
throw new Error(
|
|
315
|
+
"No gas route found for the destination chain with the provided assets"
|
|
316
|
+
);
|
|
317
|
+
}
|
|
318
|
+
const mainRouteAmountIn = chunkWKYP2NMS_cjs.bignumber_default(originalRoute?.amountIn ?? 0).minus(chunkWKYP2NMS_cjs.bignumber_default(gasRoute.amountIn ?? 0)).toString();
|
|
319
|
+
const mainRoute = await chunk7SZZBUBD_cjs.route({
|
|
320
|
+
...props.routeRequest,
|
|
321
|
+
amountIn: mainRouteAmountIn,
|
|
322
|
+
amountOut: void 0
|
|
323
|
+
});
|
|
324
|
+
if (!mainRoute) {
|
|
325
|
+
throw new Error("No main route found with the provided assets");
|
|
326
|
+
}
|
|
327
|
+
if (originalRoute.txsRequired !== mainRoute.txsRequired || !isSubset(
|
|
328
|
+
originalRoute?.requiredChainAddresses,
|
|
329
|
+
mainRoute.requiredChainAddresses
|
|
330
|
+
)) {
|
|
331
|
+
throw new Error("Main route does not match the original route");
|
|
332
|
+
}
|
|
333
|
+
return {
|
|
334
|
+
mainRoute,
|
|
335
|
+
gasRoute
|
|
336
|
+
};
|
|
337
|
+
} catch (error) {
|
|
338
|
+
return {
|
|
339
|
+
mainRoute: originalRoute,
|
|
340
|
+
gasRoute: void 0
|
|
341
|
+
};
|
|
342
|
+
}
|
|
343
|
+
};
|
|
344
|
+
var getGasOnReceiveAmount = async ({
|
|
345
|
+
destinationChain,
|
|
346
|
+
skipAssets,
|
|
347
|
+
sourceAsset
|
|
348
|
+
}) => {
|
|
349
|
+
switch (destinationChain?.chainType) {
|
|
350
|
+
case "cosmos" /* Cosmos */: {
|
|
351
|
+
const usdPrice = sourceAsset?.coingeckoId ? await getUsdPrice(sourceAsset.coingeckoId) : void 0;
|
|
352
|
+
return destinationChain.feeAssets.map((asset) => {
|
|
353
|
+
const destinationAsset = skipAssets?.[destinationChain.chainId]?.find(
|
|
354
|
+
(i) => i.denom === asset.denom
|
|
355
|
+
);
|
|
356
|
+
const gasPrice = asset.gasPrice?.average ?? asset.gasPrice?.high ?? asset.gasPrice?.low;
|
|
357
|
+
if (!gasPrice || Number(gasPrice) === 0) {
|
|
358
|
+
if (!usdPrice || !sourceAsset?.decimals) return;
|
|
359
|
+
const gasOnReceiveAmountUsd = GAS_ON_RECEIVE_AMOUNT_USD["cosmos"];
|
|
360
|
+
const amountIn = chunkWKYP2NMS_cjs.bignumber_default(gasOnReceiveAmountUsd).multipliedBy(usdPrice).toString();
|
|
361
|
+
return {
|
|
362
|
+
amountIn: convertHumanReadableAmountToCryptoAmount(
|
|
363
|
+
amountIn,
|
|
364
|
+
sourceAsset.decimals
|
|
365
|
+
),
|
|
366
|
+
amountOut: void 0,
|
|
367
|
+
denom: asset.denom
|
|
368
|
+
};
|
|
369
|
+
}
|
|
370
|
+
return {
|
|
371
|
+
amountIn: void 0,
|
|
372
|
+
amountOut: gasPrice && destinationAsset?.decimals ? convertHumanReadableAmountToCryptoAmount(
|
|
373
|
+
chunkWKYP2NMS_cjs.bignumber_default(gasPrice).multipliedBy(3).toNumber(),
|
|
374
|
+
destinationAsset.decimals
|
|
375
|
+
) : void 0,
|
|
376
|
+
denom: asset.denom
|
|
377
|
+
};
|
|
378
|
+
}).filter(Boolean);
|
|
379
|
+
}
|
|
380
|
+
case "evm" /* Evm */: {
|
|
381
|
+
const sourceAssetPrice = sourceAsset?.coingeckoId ? await getUsdPrice(sourceAsset?.coingeckoId) : void 0;
|
|
382
|
+
const destinationAsset = skipAssets?.[destinationChain.chainId]?.find(
|
|
383
|
+
(i) => i.denom.includes("-native")
|
|
384
|
+
);
|
|
385
|
+
if (!sourceAssetPrice) {
|
|
386
|
+
const chain = evmChains.find(
|
|
387
|
+
(chain2) => chain2.id === Number(destinationChain?.chainId)
|
|
388
|
+
);
|
|
389
|
+
const client = viem.createPublicClient({
|
|
390
|
+
chain,
|
|
391
|
+
transport: viem.fallback([
|
|
392
|
+
viem.http("https://ethereum.publicnode.com"),
|
|
393
|
+
viem.http("https://rpc.ankr.com/eth"),
|
|
394
|
+
viem.http("https://cloudflare-eth.com")
|
|
395
|
+
])
|
|
396
|
+
});
|
|
397
|
+
const fees = await client.estimateFeesPerGas();
|
|
398
|
+
return [
|
|
399
|
+
{
|
|
400
|
+
amountIn: void 0,
|
|
401
|
+
amountOut: chunkWKYP2NMS_cjs.bignumber_default(15e4).multipliedBy(fees.maxFeePerGas.toString()).multipliedBy(3).toString(),
|
|
402
|
+
denom: destinationAsset?.denom
|
|
403
|
+
}
|
|
404
|
+
];
|
|
405
|
+
}
|
|
406
|
+
const gasPrice = chunkWKYP2NMS_cjs.bignumber_default(GAS_ON_RECEIVE_AMOUNT_USD["evm_l2"]).dividedBy(
|
|
407
|
+
sourceAssetPrice
|
|
408
|
+
).toString();
|
|
409
|
+
return [
|
|
410
|
+
{
|
|
411
|
+
amountOut: void 0,
|
|
412
|
+
amountIn: sourceAsset?.decimals ? convertHumanReadableAmountToCryptoAmount(
|
|
413
|
+
gasPrice,
|
|
414
|
+
sourceAsset.decimals
|
|
415
|
+
) : void 0,
|
|
416
|
+
denom: destinationAsset?.denom
|
|
417
|
+
}
|
|
418
|
+
];
|
|
419
|
+
}
|
|
420
|
+
default: {
|
|
421
|
+
return;
|
|
422
|
+
}
|
|
423
|
+
}
|
|
424
|
+
};
|
|
425
|
+
var chunkArray = (arr, size = 3) => {
|
|
426
|
+
const result = [];
|
|
427
|
+
for (let i = 0; i < arr.length; i += size) {
|
|
428
|
+
result.push(arr.slice(i, i + size));
|
|
429
|
+
}
|
|
430
|
+
return result;
|
|
431
|
+
};
|
|
432
|
+
|
|
433
|
+
exports.AutopilotActionJson = AutopilotActionJson;
|
|
434
|
+
exports.AxelarTransferStateJson = AxelarTransferStateJson;
|
|
435
|
+
exports.AxelarTransferTypeJson = AxelarTransferTypeJson;
|
|
436
|
+
exports.BridgeTypeJson = BridgeTypeJson;
|
|
437
|
+
exports.CCTPTransferStateJson = CCTPTransferStateJson;
|
|
438
|
+
exports.ChainTypeJson = ChainTypeJson;
|
|
439
|
+
exports.ContractCallWithTokenErrorTypeJson = ContractCallWithTokenErrorTypeJson;
|
|
440
|
+
exports.FeeBehaviorJson = FeeBehaviorJson;
|
|
441
|
+
exports.FeeTypeJson = FeeTypeJson;
|
|
442
|
+
exports.GoFastTransferStateJson = GoFastTransferStateJson;
|
|
443
|
+
exports.HyperlaneTransferStateJson = HyperlaneTransferStateJson;
|
|
444
|
+
exports.LayerZeroTransferStateJson = LayerZeroTransferStateJson;
|
|
445
|
+
exports.OPInitTransferStateJson = OPInitTransferStateJson;
|
|
446
|
+
exports.PacketErrorTypeJson = PacketErrorTypeJson;
|
|
447
|
+
exports.ReasonJson = ReasonJson;
|
|
448
|
+
exports.RoutePriceWarningTypeJson = RoutePriceWarningTypeJson;
|
|
449
|
+
exports.SendTokenErrorTypeJson = SendTokenErrorTypeJson;
|
|
450
|
+
exports.StargateTransferStateJson = StargateTransferStateJson;
|
|
451
|
+
exports.StatusErrorTypeJson = StatusErrorTypeJson;
|
|
452
|
+
exports.TransactionStateJson = TransactionStateJson;
|
|
453
|
+
exports.TransferStateJson = TransferStateJson;
|
|
454
|
+
exports.getRouteWithGasOnReceive = getRouteWithGasOnReceive;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var chunk3M7YYWGL_cjs = require('./chunk-3M7YYWGL.cjs');
|
|
4
4
|
var chunkKSJ5QYMR_cjs = require('./chunk-KSJ5QYMR.cjs');
|
|
5
|
-
var
|
|
5
|
+
var chunkQAHHTQ7V_cjs = require('./chunk-QAHHTQ7V.cjs');
|
|
6
6
|
var stargate = require('@cosmjs/stargate');
|
|
7
7
|
var utils = require('@cosmjs/utils');
|
|
8
8
|
var binary_js = require('cosmjs-types/binary.js');
|
|
@@ -322,11 +322,11 @@ var accountEthParser = (ethAccount, pubKeyTypeUrl = "/injective.crypto.v1beta1.e
|
|
|
322
322
|
|
|
323
323
|
// src/private-functions/getRpcEndpointForChain.ts
|
|
324
324
|
var getRpcEndpointForChain = async (chainId) => {
|
|
325
|
-
if (
|
|
326
|
-
return
|
|
325
|
+
if (chunkQAHHTQ7V_cjs.ClientState.endpointOptions.getRpcEndpointForChain) {
|
|
326
|
+
return chunkQAHHTQ7V_cjs.ClientState.endpointOptions.getRpcEndpointForChain(chainId);
|
|
327
327
|
}
|
|
328
|
-
if (
|
|
329
|
-
const endpointOptions =
|
|
328
|
+
if (chunkQAHHTQ7V_cjs.ClientState.endpointOptions.endpoints && chunkQAHHTQ7V_cjs.ClientState.endpointOptions.endpoints[chainId]) {
|
|
329
|
+
const endpointOptions = chunkQAHHTQ7V_cjs.ClientState.endpointOptions.endpoints[chainId];
|
|
330
330
|
if (endpointOptions?.rpc) {
|
|
331
331
|
return endpointOptions.rpc;
|
|
332
332
|
}
|
|
@@ -361,19 +361,19 @@ var getSigningStargateClient = async ({
|
|
|
361
361
|
if (!getOfflineSigner) {
|
|
362
362
|
throw new Error("'getCosmosSigner' is not provided or configured in skip router");
|
|
363
363
|
}
|
|
364
|
-
if (!
|
|
364
|
+
if (!chunkQAHHTQ7V_cjs.ClientState.signingStargateClientByChainId?.[chainId]) {
|
|
365
365
|
const [signer, endpoint] = await Promise.all([
|
|
366
366
|
getOfflineSigner(chainId),
|
|
367
367
|
getRpcEndpointForChain(chainId)
|
|
368
368
|
]);
|
|
369
|
-
|
|
370
|
-
aminoTypes:
|
|
371
|
-
registry:
|
|
369
|
+
chunkQAHHTQ7V_cjs.ClientState.signingStargateClientByChainId[chainId] = await stargate.SigningStargateClient.connectWithSigner(endpoint, signer, {
|
|
370
|
+
aminoTypes: chunkQAHHTQ7V_cjs.ClientState.aminoTypes,
|
|
371
|
+
registry: chunkQAHHTQ7V_cjs.ClientState.registry,
|
|
372
372
|
accountParser
|
|
373
373
|
});
|
|
374
374
|
}
|
|
375
375
|
return {
|
|
376
|
-
stargateClient:
|
|
376
|
+
stargateClient: chunkQAHHTQ7V_cjs.ClientState.signingStargateClientByChainId[chainId],
|
|
377
377
|
signer: await getOfflineSigner(chainId)
|
|
378
378
|
};
|
|
379
379
|
};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkHFEMNOJS_cjs = require('./chunk-HFEMNOJS.cjs');
|
|
4
4
|
|
|
5
5
|
// src/api/postTransactionStatus.ts
|
|
6
|
-
var transactionStatus =
|
|
6
|
+
var transactionStatus = chunkHFEMNOJS_cjs.pollingApi({
|
|
7
7
|
methodName: "status",
|
|
8
8
|
path: "v2/tx/status",
|
|
9
9
|
method: "get",
|
|
@@ -1,20 +1,22 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkHFEMNOJS_cjs = require('./chunk-HFEMNOJS.cjs');
|
|
4
4
|
|
|
5
5
|
// src/public-functions/setApiOptions.ts
|
|
6
6
|
var setApiOptions = (options = {}) => {
|
|
7
|
-
|
|
7
|
+
chunkHFEMNOJS_cjs.ApiState.client = chunkHFEMNOJS_cjs.createRequestClient({
|
|
8
8
|
apiUrl: options.apiUrl || "https://api.skip.build",
|
|
9
9
|
apiKey: options.apiKey,
|
|
10
10
|
apiHeaders: options.apiHeaders
|
|
11
11
|
});
|
|
12
|
-
chunkERGJBZUC_cjs.ApiState.setClientInitialized();
|
|
13
12
|
if (options.chainIdsToAffiliates) {
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
chunkHFEMNOJS_cjs.ApiState.cumulativeAffiliateFeeBPS = validateChainIdsToAffiliates(options.chainIdsToAffiliates);
|
|
14
|
+
chunkHFEMNOJS_cjs.ApiState.chainIdsToAffiliates = options.chainIdsToAffiliates;
|
|
16
15
|
}
|
|
17
|
-
|
|
16
|
+
if (!options.allowOptionsUpdateAfterApiCall && chunkHFEMNOJS_cjs.ApiState.apiCalled && !chunkHFEMNOJS_cjs.ApiState.initialized) {
|
|
17
|
+
throw new Error("setApiOptions must be called before an api request is made");
|
|
18
|
+
}
|
|
19
|
+
chunkHFEMNOJS_cjs.ApiState.initialized = true;
|
|
18
20
|
};
|
|
19
21
|
function validateChainIdsToAffiliates(chainIdsToAffiliates) {
|
|
20
22
|
const affiliatesArray = Object.values(chainIdsToAffiliates).map((chain) => chain.affiliates).filter((a) => a !== void 0);
|