@skip-go/client 1.3.6 → 1.4.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 +4 -4
- package/dist/cjs/api/getAssetsBetweenChains.cjs +3 -3
- package/dist/cjs/api/getBridges.cjs +3 -3
- package/dist/cjs/api/getChains.cjs +3 -3
- package/dist/cjs/api/getVenues.cjs +3 -3
- package/dist/cjs/api/postAssetsFromSource.cjs +4 -4
- package/dist/cjs/api/postBalances.cjs +3 -3
- package/dist/cjs/api/postIbcOriginAssets.cjs +3 -3
- package/dist/cjs/api/postMessages.cjs +3 -3
- package/dist/cjs/api/postMessagesDirect.cjs +3 -3
- package/dist/cjs/api/postRecommendAssets.cjs +3 -3
- package/dist/cjs/api/postRoute.cjs +3 -3
- package/dist/cjs/api/postSubmitTransaction.cjs +3 -3
- package/dist/cjs/api/postTrackTransaction.cjs +3 -3
- package/dist/cjs/api/postTransactionStatus.cjs +3 -3
- package/dist/cjs/chunk-3M7YYWGL.cjs +295 -0
- package/dist/cjs/{chunk-IE22IVFA.cjs → chunk-46VB6RQK.cjs} +8 -8
- package/dist/cjs/{chunk-MW3TE7DC.cjs → chunk-5AYPH3ZR.cjs} +2 -2
- package/dist/cjs/{chunk-2CCLIBCC.cjs → chunk-5HDKZVOL.cjs} +2 -2
- package/dist/cjs/{chunk-3FYU3BJ7.cjs → chunk-6LA66667.cjs} +126 -16
- package/dist/cjs/chunk-7MC3BVQN.cjs +370 -0
- package/dist/cjs/{chunk-YYBGBKRE.cjs → chunk-A26H4FVN.cjs} +4 -4
- package/dist/cjs/{chunk-P7CDAHIX.cjs → chunk-AXYRULAI.cjs} +2 -2
- package/dist/cjs/{chunk-WMXUOVHN.cjs → chunk-DWOE6N5S.cjs} +248 -532
- package/dist/cjs/{chunk-7I2KQNIU.cjs → chunk-EJMC4JXF.cjs} +2 -2
- package/dist/cjs/{chunk-HKQ5VION.cjs → chunk-ERGJBZUC.cjs} +5 -1
- package/dist/cjs/{chunk-J5RC6ZU5.cjs → chunk-FNB244QI.cjs} +6 -6
- package/dist/cjs/{chunk-2EKCOIWV.cjs → chunk-IDEJORRT.cjs} +155 -154
- package/dist/cjs/{chunk-DBDB2XWX.cjs → chunk-JBKNEFXB.cjs} +3 -3
- package/dist/cjs/{chunk-N3LR7KTI.cjs → chunk-KM2D7PJL.cjs} +33 -57
- package/dist/cjs/{chunk-XGBCEYWI.cjs → chunk-LHY62HPI.cjs} +2 -2
- package/dist/cjs/{chunk-EXK2GDR5.cjs → chunk-LUVMRHAJ.cjs} +2 -2
- package/dist/cjs/{chunk-QSISUSYP.cjs → chunk-N4UW74AG.cjs} +4 -4
- package/dist/cjs/{chunk-FY56EEFB.cjs → chunk-OZUCMWNE.cjs} +2 -2
- package/dist/cjs/{chunk-JTB3SPCH.cjs → chunk-Q43XCBMX.cjs} +6 -6
- package/dist/cjs/{chunk-2VQ2TNFM.cjs → chunk-QPM7H2YL.cjs} +2 -2
- package/dist/cjs/{chunk-FO25SR66.cjs → chunk-RCGCQD6T.cjs} +6 -6
- package/dist/cjs/chunk-VIG2BHYJ.cjs +185 -0
- package/dist/cjs/{chunk-DCFIIF7G.cjs → chunk-X5AJHZ2J.cjs} +2 -2
- package/dist/cjs/{chunk-SZ64FWGB.cjs → chunk-ZAATXQBG.cjs} +2 -2
- package/dist/cjs/{chunk-MCZ3F457.cjs → chunk-ZBPDDVQ2.cjs} +2 -2
- package/dist/cjs/{chunk-VGS46RWR.cjs → chunk-ZKBSNSHQ.cjs} +188 -209
- package/dist/cjs/index.cjs +57 -51
- package/dist/cjs/public-functions/executeRoute.cjs +16 -15
- package/dist/cjs/public-functions/getCosmosGasAmountForMessage.cjs +5 -4
- package/dist/cjs/public-functions/getFeeInfoForChain.cjs +5 -5
- package/dist/cjs/public-functions/getRecommendedGasPrice.cjs +6 -6
- package/dist/cjs/public-functions/getSigningStargateClient.cjs +6 -5
- package/dist/cjs/public-functions/setApiOptions.cjs +3 -3
- package/dist/cjs/public-functions/setClientOptions.cjs +6 -5
- package/dist/cjs/public-functions/subscribeToRouteStatus.cjs +26 -0
- package/dist/cjs/public-functions/validateCosmosGasBalance.cjs +9 -8
- package/dist/cjs/public-functions/waitForTransaction.cjs +5 -5
- package/dist/esm/api/getAssets.js +2 -2
- package/dist/esm/api/getAssetsBetweenChains.js +2 -2
- package/dist/esm/api/getBridges.js +2 -2
- package/dist/esm/api/getChains.js +2 -2
- package/dist/esm/api/getVenues.js +2 -2
- package/dist/esm/api/postAssetsFromSource.js +3 -3
- package/dist/esm/api/postBalances.js +2 -2
- package/dist/esm/api/postIbcOriginAssets.js +2 -2
- package/dist/esm/api/postMessages.js +2 -2
- package/dist/esm/api/postMessagesDirect.js +2 -2
- package/dist/esm/api/postRecommendAssets.js +2 -2
- package/dist/esm/api/postRoute.js +2 -2
- package/dist/esm/api/postSubmitTransaction.js +2 -2
- package/dist/esm/api/postTrackTransaction.d.ts +2 -1
- package/dist/esm/api/postTrackTransaction.js +2 -2
- package/dist/esm/api/postTransactionStatus.d.ts +1 -1
- package/dist/esm/api/postTransactionStatus.js +2 -2
- package/dist/esm/callbacks-B3kjKg0v.d.ts +175 -0
- package/dist/esm/chunk-3J6O2PVK.js +180 -0
- package/dist/esm/{chunk-SJP6W2SK.js → chunk-3XOGEVJL.js} +1 -1
- package/dist/esm/{chunk-ZL6XF5A3.js → chunk-4RLJWCQR.js} +2 -2
- package/dist/esm/{chunk-JSY7M43P.js → chunk-52PEBJRQ.js} +1 -1
- package/dist/esm/{chunk-7ITTEUMR.js → chunk-7X4ERB3R.js} +1 -1
- package/dist/esm/{chunk-LZI7A4JI.js → chunk-A6KSECAH.js} +5 -1
- package/dist/esm/{chunk-7LSTJXAF.js → chunk-AND7HVIU.js} +1 -1
- package/dist/esm/{chunk-MXCJ2M3K.js → chunk-APRMN34M.js} +1 -1
- package/dist/esm/{chunk-6ZLEWCU2.js → chunk-BAJFQZDT.js} +146 -167
- package/dist/esm/{chunk-5KIWNRW4.js → chunk-CIAOTO3M.js} +1 -1
- package/dist/esm/{chunk-JYUNVL4F.js → chunk-FH2YHZVV.js} +1 -1
- package/dist/esm/{chunk-ADUNNC4O.js → chunk-GHNH5QC3.js} +3 -3
- package/dist/esm/{chunk-OHV2LZEG.js → chunk-JQ4F4WBG.js} +1 -1
- package/dist/esm/{chunk-TV2XPAIF.js → chunk-KNXMSLOB.js} +3 -26
- package/dist/esm/{chunk-YLVFZDR5.js → chunk-KYDY7QRT.js} +109 -3
- package/dist/esm/{chunk-IWXRHEX4.js → chunk-LHNGF5J2.js} +2 -2
- package/dist/esm/{chunk-JIADJKRD.js → chunk-OTS5KO43.js} +1 -1
- package/dist/esm/{chunk-CU6W3622.js → chunk-QIS6ILPS.js} +3 -3
- package/dist/esm/chunk-QO2CYYF5.js +278 -0
- package/dist/esm/{chunk-OL7CWCPB.js → chunk-REWUSU53.js} +4 -3
- package/dist/esm/chunk-RQ7DXNSS.js +365 -0
- package/dist/esm/{chunk-XXTECZG3.js → chunk-S4RO2LHD.js} +1 -1
- package/dist/esm/{chunk-7YN3UVVF.js → chunk-UI3SIFZN.js} +1 -1
- package/dist/esm/{chunk-TD63P2AG.js → chunk-UIDIKXMB.js} +65 -340
- package/dist/esm/{chunk-HT6O3BQ7.js → chunk-Y2YCODZK.js} +1 -1
- package/dist/esm/{chunk-IPHFFTGO.js → chunk-ZI3SYUQH.js} +1 -1
- package/dist/esm/{chunk-2L7PKZDY.js → chunk-ZOUYAZU6.js} +1 -1
- package/dist/esm/index.d.ts +2 -3
- package/dist/esm/index.js +27 -25
- package/dist/esm/public-functions/executeRoute.d.ts +7 -76
- package/dist/esm/public-functions/executeRoute.js +15 -14
- package/dist/esm/public-functions/getCosmosGasAmountForMessage.js +3 -2
- package/dist/esm/public-functions/getFeeInfoForChain.js +4 -4
- package/dist/esm/public-functions/getRecommendedGasPrice.js +5 -5
- package/dist/esm/public-functions/getSigningStargateClient.js +5 -4
- package/dist/esm/public-functions/setApiOptions.js +2 -2
- package/dist/esm/public-functions/setClientOptions.js +5 -4
- package/dist/esm/public-functions/subscribeToRouteStatus.d.ts +12 -0
- package/dist/esm/public-functions/subscribeToRouteStatus.js +5 -0
- package/dist/esm/public-functions/validateCosmosGasBalance.d.ts +3 -2
- package/dist/esm/public-functions/validateCosmosGasBalance.js +8 -7
- package/dist/esm/public-functions/waitForTransaction.d.ts +5 -1
- package/dist/esm/public-functions/waitForTransaction.js +4 -4
- package/package.json +3 -3
- package/dist/cjs/chunk-MN763TPC.cjs +0 -187
- package/dist/esm/callbacks-CuL50GnB.d.ts +0 -38
- package/dist/esm/chunk-VBWLUZXT.js +0 -182
|
@@ -1,16 +1,21 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
3
|
+
var chunkVIG2BHYJ_cjs = require('./chunk-VIG2BHYJ.cjs');
|
|
4
|
+
var chunk3M7YYWGL_cjs = require('./chunk-3M7YYWGL.cjs');
|
|
5
|
+
var chunkN4UW74AG_cjs = require('./chunk-N4UW74AG.cjs');
|
|
5
6
|
var stargate = require('@cosmjs/stargate');
|
|
6
7
|
var utils = require('@cosmjs/utils');
|
|
7
8
|
var binary_js = require('cosmjs-types/binary.js');
|
|
8
9
|
var auth_js = require('cosmjs-types/cosmos/auth/v1beta1/auth.js');
|
|
9
10
|
var coin_js = require('cosmjs-types/cosmos/base/v1beta1/coin.js');
|
|
10
11
|
var protoSigning = require('@cosmjs/proto-signing');
|
|
11
|
-
var sdkTs = require('@injectivelabs/sdk-ts');
|
|
12
12
|
var keys_js = require('cosmjs-types/cosmos/crypto/secp256k1/keys.js');
|
|
13
13
|
var amino = require('@cosmjs/amino');
|
|
14
|
+
var _m0 = require('protobufjs/minimal.js');
|
|
15
|
+
|
|
16
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
17
|
+
|
|
18
|
+
var _m0__default = /*#__PURE__*/_interopDefault(_m0);
|
|
14
19
|
|
|
15
20
|
var createBaseVestingAccount = () => {
|
|
16
21
|
return {
|
|
@@ -170,6 +175,95 @@ var StridePeriodicVestingAccount = {
|
|
|
170
175
|
return message;
|
|
171
176
|
}
|
|
172
177
|
};
|
|
178
|
+
function createBaseEthAccount() {
|
|
179
|
+
return {
|
|
180
|
+
baseAccount: void 0,
|
|
181
|
+
codeHash: new Uint8Array()
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
var EthAccount = {
|
|
185
|
+
typeUrl: "/injective.types.v1beta1.EthAccount",
|
|
186
|
+
encode(message, writer = _m0__default.default.Writer.create()) {
|
|
187
|
+
if (message.baseAccount !== void 0) {
|
|
188
|
+
chunk3M7YYWGL_cjs.BaseAccount.encode(message.baseAccount, writer.uint32(10).fork()).ldelim();
|
|
189
|
+
}
|
|
190
|
+
if (message.codeHash.length !== 0) {
|
|
191
|
+
writer.uint32(18).bytes(message.codeHash);
|
|
192
|
+
}
|
|
193
|
+
return writer;
|
|
194
|
+
},
|
|
195
|
+
decode(input, length) {
|
|
196
|
+
const reader = input instanceof _m0__default.default.Reader ? input : new _m0__default.default.Reader(input);
|
|
197
|
+
let end = length === void 0 ? reader.len : reader.pos + length;
|
|
198
|
+
const message = createBaseEthAccount();
|
|
199
|
+
while (reader.pos < end) {
|
|
200
|
+
const tag = reader.uint32();
|
|
201
|
+
switch (tag >>> 3) {
|
|
202
|
+
case 1:
|
|
203
|
+
message.baseAccount = chunk3M7YYWGL_cjs.BaseAccount.decode(reader, reader.uint32());
|
|
204
|
+
break;
|
|
205
|
+
case 2:
|
|
206
|
+
message.codeHash = reader.bytes();
|
|
207
|
+
break;
|
|
208
|
+
default:
|
|
209
|
+
reader.skipType(tag & 7);
|
|
210
|
+
break;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
return message;
|
|
214
|
+
},
|
|
215
|
+
fromJSON(object) {
|
|
216
|
+
return {
|
|
217
|
+
baseAccount: chunk3M7YYWGL_cjs.isSet(object.baseAccount) ? chunk3M7YYWGL_cjs.BaseAccount.fromJSON(object.baseAccount) : void 0,
|
|
218
|
+
codeHash: chunk3M7YYWGL_cjs.isSet(object.codeHash) ? chunk3M7YYWGL_cjs.bytesFromBase64(object.codeHash) : new Uint8Array()
|
|
219
|
+
};
|
|
220
|
+
},
|
|
221
|
+
toJSON(message) {
|
|
222
|
+
const obj = {};
|
|
223
|
+
message.baseAccount !== void 0 && (obj.baseAccount = message.baseAccount ? chunk3M7YYWGL_cjs.BaseAccount.toJSON(message.baseAccount) : void 0);
|
|
224
|
+
message.codeHash !== void 0 && (obj.codeHash = chunk3M7YYWGL_cjs.base64FromBytes(message.codeHash !== void 0 ? message.codeHash : new Uint8Array()));
|
|
225
|
+
return obj;
|
|
226
|
+
},
|
|
227
|
+
fromPartial(object) {
|
|
228
|
+
const message = createBaseEthAccount();
|
|
229
|
+
message.baseAccount = object.baseAccount !== void 0 && object.baseAccount !== null ? chunk3M7YYWGL_cjs.BaseAccount.fromPartial(object.baseAccount) : void 0;
|
|
230
|
+
message.codeHash = object.codeHash ?? new Uint8Array();
|
|
231
|
+
return message;
|
|
232
|
+
},
|
|
233
|
+
fromAmino(object) {
|
|
234
|
+
const message = createBaseEthAccount();
|
|
235
|
+
if (object.base_account !== void 0 && object.base_account !== null) {
|
|
236
|
+
message.baseAccount = chunk3M7YYWGL_cjs.BaseAccount.fromAmino(object.base_account);
|
|
237
|
+
}
|
|
238
|
+
if (object.code_hash !== void 0 && object.code_hash !== null) {
|
|
239
|
+
message.codeHash = chunk3M7YYWGL_cjs.bytesFromBase64(object.code_hash);
|
|
240
|
+
}
|
|
241
|
+
return message;
|
|
242
|
+
},
|
|
243
|
+
toAmino(message) {
|
|
244
|
+
const obj = {};
|
|
245
|
+
obj.base_account = message.baseAccount ? chunk3M7YYWGL_cjs.BaseAccount.toAmino(message.baseAccount) : void 0;
|
|
246
|
+
obj.code_hash = message.codeHash ? chunk3M7YYWGL_cjs.base64FromBytes(message.codeHash) : void 0;
|
|
247
|
+
return obj;
|
|
248
|
+
},
|
|
249
|
+
fromAminoMsg(object) {
|
|
250
|
+
return EthAccount.fromAmino(object.value);
|
|
251
|
+
},
|
|
252
|
+
fromProtoMsg(message) {
|
|
253
|
+
return EthAccount.decode(message.value);
|
|
254
|
+
},
|
|
255
|
+
toProto(message) {
|
|
256
|
+
return EthAccount.encode(message).finish();
|
|
257
|
+
},
|
|
258
|
+
toProtoMsg(message) {
|
|
259
|
+
return {
|
|
260
|
+
typeUrl: "/injective.types.v1beta1.EthAccount",
|
|
261
|
+
value: EthAccount.encode(message).finish()
|
|
262
|
+
};
|
|
263
|
+
}
|
|
264
|
+
};
|
|
265
|
+
|
|
266
|
+
// src/registry.ts
|
|
173
267
|
var accountParser = (acc) => {
|
|
174
268
|
switch (acc.typeUrl) {
|
|
175
269
|
case "/stride.vesting.StridePeriodicVestingAccount": {
|
|
@@ -183,12 +277,12 @@ var accountParser = (acc) => {
|
|
|
183
277
|
};
|
|
184
278
|
}
|
|
185
279
|
case "/injective.types.v1beta1.EthAccount":
|
|
186
|
-
return
|
|
280
|
+
return accountEthParser(
|
|
187
281
|
acc,
|
|
188
282
|
"/injective.crypto.v1beta1.ethsecp256k1.PubKey"
|
|
189
283
|
);
|
|
190
284
|
case "/ethermint.types.v1.EthAccount":
|
|
191
|
-
return
|
|
285
|
+
return accountEthParser(acc, "/ethermint.crypto.v1.ethsecp256k1.PubKey");
|
|
192
286
|
default: {
|
|
193
287
|
if (acc.typeUrl === "/cosmos.auth.v1beta1.BaseAccount") {
|
|
194
288
|
const { address, pubKey, accountNumber, sequence } = auth_js.BaseAccount.decode(
|
|
@@ -209,14 +303,30 @@ var accountParser = (acc) => {
|
|
|
209
303
|
}
|
|
210
304
|
}
|
|
211
305
|
};
|
|
306
|
+
var accountEthParser = (ethAccount, pubKeyTypeUrl = "/injective.crypto.v1beta1.ethsecp256k1.PubKey") => {
|
|
307
|
+
const account = EthAccount.decode(
|
|
308
|
+
ethAccount.value
|
|
309
|
+
);
|
|
310
|
+
const baseAccount = account.baseAccount;
|
|
311
|
+
const pubKey = baseAccount.pubKey;
|
|
312
|
+
return {
|
|
313
|
+
address: baseAccount.address,
|
|
314
|
+
pubkey: pubKey ? {
|
|
315
|
+
type: pubKeyTypeUrl,
|
|
316
|
+
value: Buffer.from(pubKey.value).toString("base64")
|
|
317
|
+
} : null,
|
|
318
|
+
accountNumber: parseInt(baseAccount.accountNumber.toString(), 10),
|
|
319
|
+
sequence: parseInt(baseAccount.sequence.toString(), 10)
|
|
320
|
+
};
|
|
321
|
+
};
|
|
212
322
|
|
|
213
323
|
// src/private-functions/getRpcEndpointForChain.ts
|
|
214
324
|
var getRpcEndpointForChain = async (chainId) => {
|
|
215
|
-
if (
|
|
216
|
-
return
|
|
325
|
+
if (chunkN4UW74AG_cjs.ClientState.endpointOptions.getRpcEndpointForChain) {
|
|
326
|
+
return chunkN4UW74AG_cjs.ClientState.endpointOptions.getRpcEndpointForChain(chainId);
|
|
217
327
|
}
|
|
218
|
-
if (
|
|
219
|
-
const endpointOptions =
|
|
328
|
+
if (chunkN4UW74AG_cjs.ClientState.endpointOptions.endpoints && chunkN4UW74AG_cjs.ClientState.endpointOptions.endpoints[chainId]) {
|
|
329
|
+
const endpointOptions = chunkN4UW74AG_cjs.ClientState.endpointOptions.endpoints[chainId];
|
|
220
330
|
if (endpointOptions?.rpc) {
|
|
221
331
|
return endpointOptions.rpc;
|
|
222
332
|
}
|
|
@@ -224,7 +334,7 @@ var getRpcEndpointForChain = async (chainId) => {
|
|
|
224
334
|
console.warn(
|
|
225
335
|
"Warning: You are using unreliable public endpoints. We strongly recommend overriding them via endpointOptions for use beyond development settings."
|
|
226
336
|
);
|
|
227
|
-
const chain =
|
|
337
|
+
const chain = chunkVIG2BHYJ_cjs.chains().find((chain2) => chain2.chainId === chainId);
|
|
228
338
|
if (!chain) {
|
|
229
339
|
throw new Error(`getRpcEndpointForChain: failed to find chain id '${chainId}' in registry`);
|
|
230
340
|
}
|
|
@@ -234,7 +344,7 @@ var getRpcEndpointForChain = async (chainId) => {
|
|
|
234
344
|
);
|
|
235
345
|
}
|
|
236
346
|
const endpoints = chain.apis?.rpc?.map((api) => api.address);
|
|
237
|
-
const endpoint = await
|
|
347
|
+
const endpoint = await chunkVIG2BHYJ_cjs.findFirstWorkingEndpoint(endpoints, "rpc");
|
|
238
348
|
if (!endpoint) {
|
|
239
349
|
throw new Error(
|
|
240
350
|
`getRpcEndpointForChain error: failed to find RPC endpoint for chain id '${chainId}'`
|
|
@@ -251,19 +361,19 @@ var getSigningStargateClient = async ({
|
|
|
251
361
|
if (!getOfflineSigner) {
|
|
252
362
|
throw new Error("'getCosmosSigner' is not provided or configured in skip router");
|
|
253
363
|
}
|
|
254
|
-
if (!
|
|
364
|
+
if (!chunkN4UW74AG_cjs.ClientState.signingStargateClientByChainId?.[chainId]) {
|
|
255
365
|
const [signer, endpoint] = await Promise.all([
|
|
256
366
|
getOfflineSigner(chainId),
|
|
257
367
|
getRpcEndpointForChain(chainId)
|
|
258
368
|
]);
|
|
259
|
-
|
|
260
|
-
aminoTypes:
|
|
261
|
-
registry:
|
|
369
|
+
chunkN4UW74AG_cjs.ClientState.signingStargateClientByChainId[chainId] = await stargate.SigningStargateClient.connectWithSigner(endpoint, signer, {
|
|
370
|
+
aminoTypes: chunkN4UW74AG_cjs.ClientState.aminoTypes,
|
|
371
|
+
registry: chunkN4UW74AG_cjs.ClientState.registry,
|
|
262
372
|
accountParser
|
|
263
373
|
});
|
|
264
374
|
}
|
|
265
375
|
return {
|
|
266
|
-
stargateClient:
|
|
376
|
+
stargateClient: chunkN4UW74AG_cjs.ClientState.signingStargateClientByChainId[chainId],
|
|
267
377
|
signer: await getOfflineSigner(chainId)
|
|
268
378
|
};
|
|
269
379
|
};
|
|
@@ -0,0 +1,370 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkLUVMRHAJ_cjs = require('./chunk-LUVMRHAJ.cjs');
|
|
4
|
+
var chunkQPM7H2YL_cjs = require('./chunk-QPM7H2YL.cjs');
|
|
5
|
+
var chunkERGJBZUC_cjs = require('./chunk-ERGJBZUC.cjs');
|
|
6
|
+
var uuid = require('uuid');
|
|
7
|
+
|
|
8
|
+
// src/utils/clientType.ts
|
|
9
|
+
function getClientTransferEvent(transferEvent) {
|
|
10
|
+
const combinedTransferEvent = transferEvent;
|
|
11
|
+
const axelarTransfer = combinedTransferEvent?.axelarTransfer;
|
|
12
|
+
const ibcTransfer = combinedTransferEvent?.ibcTransfer;
|
|
13
|
+
const cctpTransfer = combinedTransferEvent?.cctpTransfer;
|
|
14
|
+
const hyperlaneTransfer = combinedTransferEvent?.hyperlaneTransfer;
|
|
15
|
+
const opInitTransfer = combinedTransferEvent?.opInitTransfer;
|
|
16
|
+
const goFastTransfer = combinedTransferEvent?.goFastTransfer;
|
|
17
|
+
const stargateTransfer = combinedTransferEvent?.stargateTransfer;
|
|
18
|
+
const eurekaTransfer = combinedTransferEvent?.eurekaTransfer;
|
|
19
|
+
const layerZeroTransfer = combinedTransferEvent?.layerZeroTransfer;
|
|
20
|
+
let transferType = "";
|
|
21
|
+
if (axelarTransfer) {
|
|
22
|
+
transferType = "axelarTransfer" /* axelarTransfer */;
|
|
23
|
+
} else if (ibcTransfer) {
|
|
24
|
+
transferType = "ibcTransfer" /* ibcTransfer */;
|
|
25
|
+
} else if (cctpTransfer) {
|
|
26
|
+
transferType = "cctpTransfer" /* cctpTransfer */;
|
|
27
|
+
} else if (hyperlaneTransfer) {
|
|
28
|
+
transferType = "hyperlaneTransfer" /* hyperlaneTransfer */;
|
|
29
|
+
} else if (opInitTransfer) {
|
|
30
|
+
transferType = "opInitTransfer" /* opInitTransfer */;
|
|
31
|
+
} else if (goFastTransfer) {
|
|
32
|
+
transferType = "goFastTransfer" /* goFastTransfer */;
|
|
33
|
+
} else if (stargateTransfer) {
|
|
34
|
+
transferType = "stargateTransfer" /* stargateTransfer */;
|
|
35
|
+
} else if (eurekaTransfer) {
|
|
36
|
+
transferType = "eurekaTransfer" /* eurekaTransfer */;
|
|
37
|
+
} else if (layerZeroTransfer) {
|
|
38
|
+
transferType = "layerZeroTransfer" /* layerZeroTransfer */;
|
|
39
|
+
}
|
|
40
|
+
const getExplorerLink = (type) => {
|
|
41
|
+
switch (transferType) {
|
|
42
|
+
case "ibcTransfer" /* ibcTransfer */:
|
|
43
|
+
if (type === "send") {
|
|
44
|
+
return ibcTransfer.packetTxs.sendTx?.explorerLink;
|
|
45
|
+
}
|
|
46
|
+
return ibcTransfer.packetTxs.receiveTx?.explorerLink;
|
|
47
|
+
case "eurekaTransfer" /* eurekaTransfer */:
|
|
48
|
+
if (type === "send") {
|
|
49
|
+
return eurekaTransfer.packetTxs.sendTx?.explorerLink;
|
|
50
|
+
}
|
|
51
|
+
return eurekaTransfer.packetTxs.receiveTx?.explorerLink;
|
|
52
|
+
case "goFastTransfer" /* goFastTransfer */:
|
|
53
|
+
if (type === "send") {
|
|
54
|
+
return goFastTransfer.txs.orderSubmittedTx?.explorerLink;
|
|
55
|
+
}
|
|
56
|
+
return goFastTransfer.txs.orderFilledTx?.explorerLink;
|
|
57
|
+
case "axelarTransfer" /* axelarTransfer */:
|
|
58
|
+
return axelarTransfer?.axelarScanLink;
|
|
59
|
+
default:
|
|
60
|
+
if (type === "send") {
|
|
61
|
+
return combinedTransferEvent[transferType]?.txs?.sendTx?.explorerLink;
|
|
62
|
+
}
|
|
63
|
+
return combinedTransferEvent[transferType]?.txs?.receiveTx?.explorerLink;
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
const _result = {
|
|
67
|
+
...ibcTransfer,
|
|
68
|
+
...axelarTransfer,
|
|
69
|
+
...cctpTransfer,
|
|
70
|
+
...hyperlaneTransfer,
|
|
71
|
+
...stargateTransfer,
|
|
72
|
+
...hyperlaneTransfer,
|
|
73
|
+
...opInitTransfer,
|
|
74
|
+
...goFastTransfer,
|
|
75
|
+
...stargateTransfer,
|
|
76
|
+
...eurekaTransfer,
|
|
77
|
+
...layerZeroTransfer,
|
|
78
|
+
fromExplorerLink: getExplorerLink("send"),
|
|
79
|
+
toExplorerLink: getExplorerLink("receive")
|
|
80
|
+
};
|
|
81
|
+
const status = getSimpleStatus(_result.state);
|
|
82
|
+
const result = {
|
|
83
|
+
..._result,
|
|
84
|
+
status
|
|
85
|
+
};
|
|
86
|
+
return result;
|
|
87
|
+
}
|
|
88
|
+
function getTransferEventsFromTxStatusResponse(txStatusResponse) {
|
|
89
|
+
if (!txStatusResponse) return [];
|
|
90
|
+
return txStatusResponse?.flatMap((txStatus) => {
|
|
91
|
+
return (txStatus.transferSequence ?? []).map((transferEvent) => {
|
|
92
|
+
return getClientTransferEvent(transferEvent);
|
|
93
|
+
});
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
function getSimpleStatus(state) {
|
|
97
|
+
switch (state) {
|
|
98
|
+
case "TRANSFER_PENDING":
|
|
99
|
+
case "TRANSFER_RECEIVED":
|
|
100
|
+
case "AXELAR_TRANSFER_PENDING_CONFIRMATION":
|
|
101
|
+
case "AXELAR_TRANSFER_PENDING_RECEIPT":
|
|
102
|
+
case "CCTP_TRANSFER_SENT":
|
|
103
|
+
case "CCTP_TRANSFER_PENDING_CONFIRMATION":
|
|
104
|
+
case "CCTP_TRANSFER_CONFIRMED":
|
|
105
|
+
case "HYPERLANE_TRANSFER_SENT":
|
|
106
|
+
case "OPINIT_TRANSFER_SENT":
|
|
107
|
+
case "GO_FAST_TRANSFER_SENT":
|
|
108
|
+
case "STARGATE_TRANSFER_SENT":
|
|
109
|
+
case "LAYER_ZERO_TRANSFER_SENT":
|
|
110
|
+
return "pending";
|
|
111
|
+
case "TRANSFER_SUCCESS":
|
|
112
|
+
case "AXELAR_TRANSFER_SUCCESS":
|
|
113
|
+
case "CCTP_TRANSFER_RECEIVED":
|
|
114
|
+
case "HYPERLANE_TRANSFER_RECEIVED":
|
|
115
|
+
case "OPINIT_TRANSFER_RECEIVED":
|
|
116
|
+
case "STARGATE_TRANSFER_RECEIVED":
|
|
117
|
+
case "GO_FAST_TRANSFER_FILLED":
|
|
118
|
+
case "LAYER_ZERO_TRANSFER_RECEIVED":
|
|
119
|
+
return "completed";
|
|
120
|
+
default:
|
|
121
|
+
return "failed";
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
function getTransactionStatus(state) {
|
|
125
|
+
switch (state) {
|
|
126
|
+
case "STATE_SUBMITTED":
|
|
127
|
+
case "STATE_PENDING":
|
|
128
|
+
return "pending";
|
|
129
|
+
case "STATE_COMPLETED_SUCCESS":
|
|
130
|
+
return "success";
|
|
131
|
+
case "STATE_COMPLETED_ERROR":
|
|
132
|
+
case "STATE_PENDING_ERROR":
|
|
133
|
+
return "failed";
|
|
134
|
+
default:
|
|
135
|
+
return "pending";
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
var isFinalRouteStatus = (routeDetails) => {
|
|
139
|
+
if (routeDetails.status === "completed" || routeDetails.status === "failed" || routeDetails.status === "incomplete") {
|
|
140
|
+
return true;
|
|
141
|
+
}
|
|
142
|
+
return false;
|
|
143
|
+
};
|
|
144
|
+
var isFinalState = (transaction) => {
|
|
145
|
+
const transactionState = transaction?.statusResponse?.state;
|
|
146
|
+
const transactionStatus2 = transaction?.status;
|
|
147
|
+
return transactionState === "STATE_COMPLETED_SUCCESS" || transactionState === "STATE_COMPLETED_ERROR" || transactionState === "STATE_ABANDONED" || transactionStatus2 === "failed" || transactionStatus2 === "success";
|
|
148
|
+
};
|
|
149
|
+
var isSuccessState = (transaction) => {
|
|
150
|
+
const transactionState = transaction?.statusResponse?.state;
|
|
151
|
+
const transactionStatus2 = transaction?.status;
|
|
152
|
+
return transactionState === "STATE_COMPLETED_SUCCESS" || transactionStatus2 === "success";
|
|
153
|
+
};
|
|
154
|
+
var routeDetailsMap = /* @__PURE__ */ new Map();
|
|
155
|
+
var initializeNewRouteDetails = (options) => {
|
|
156
|
+
const newRouteId = uuid.v4();
|
|
157
|
+
const newRouteDetails = {
|
|
158
|
+
id: newRouteId,
|
|
159
|
+
timestamp: Date.now(),
|
|
160
|
+
route: getSimpleRoute(options?.route),
|
|
161
|
+
status: "unconfirmed",
|
|
162
|
+
txsRequired: options?.route?.txsRequired ?? 1,
|
|
163
|
+
txsSigned: 0,
|
|
164
|
+
transactionDetails: [],
|
|
165
|
+
transferEvents: [],
|
|
166
|
+
senderAddress: options?.userAddresses?.[0]?.address ?? "",
|
|
167
|
+
receiverAddress: options?.userAddresses?.at(-1)?.address ?? ""
|
|
168
|
+
};
|
|
169
|
+
routeDetailsMap.set(newRouteId, newRouteDetails);
|
|
170
|
+
return newRouteDetails;
|
|
171
|
+
};
|
|
172
|
+
var subscribeToRouteStatus = (props) => {
|
|
173
|
+
let cancelled = false;
|
|
174
|
+
const unsubscribe = () => {
|
|
175
|
+
cancelled = true;
|
|
176
|
+
};
|
|
177
|
+
executeAndSubscribeToRouteStatus({
|
|
178
|
+
...props,
|
|
179
|
+
isCancelled: () => cancelled
|
|
180
|
+
});
|
|
181
|
+
return unsubscribe;
|
|
182
|
+
};
|
|
183
|
+
var executeAndSubscribeToRouteStatus = async ({
|
|
184
|
+
transactionDetails,
|
|
185
|
+
executeTransaction,
|
|
186
|
+
trackTxPollingOptions,
|
|
187
|
+
onTransactionTracked,
|
|
188
|
+
onTransactionCompleted,
|
|
189
|
+
routeDetails,
|
|
190
|
+
onRouteStatusUpdated,
|
|
191
|
+
options,
|
|
192
|
+
routeId,
|
|
193
|
+
isCancelled
|
|
194
|
+
}) => {
|
|
195
|
+
removeRoutesWithFinalStatus();
|
|
196
|
+
routeId ??= routeDetails?.id;
|
|
197
|
+
const currentRouteDetails = routeDetailsMap.get(routeId ?? "");
|
|
198
|
+
transactionDetails ??= routeDetails?.transactionDetails ?? currentRouteDetails?.transactionDetails ?? [];
|
|
199
|
+
if (routeDetails && isFinalRouteStatus(routeDetails)) {
|
|
200
|
+
return;
|
|
201
|
+
}
|
|
202
|
+
for (const [transactionIndex, transaction] of transactionDetails.entries()) {
|
|
203
|
+
if (executeTransaction && !transaction.txHash) {
|
|
204
|
+
let { txHash, explorerLink } = await executeTransaction?.(transactionIndex);
|
|
205
|
+
transaction.txHash = txHash;
|
|
206
|
+
if (!explorerLink) {
|
|
207
|
+
const trackResponse = await chunkLUVMRHAJ_cjs.trackTransaction({
|
|
208
|
+
chainId: transaction.chainId,
|
|
209
|
+
txHash: transaction.txHash,
|
|
210
|
+
...trackTxPollingOptions
|
|
211
|
+
});
|
|
212
|
+
explorerLink = trackResponse.explorerLink;
|
|
213
|
+
}
|
|
214
|
+
transaction.explorerLink = explorerLink;
|
|
215
|
+
await onTransactionTracked?.({ txHash: transaction.txHash, chainId: transaction.chainId, explorerLink });
|
|
216
|
+
}
|
|
217
|
+
if (transaction.txHash === void 0) {
|
|
218
|
+
updateRouteDetails({
|
|
219
|
+
routeId,
|
|
220
|
+
routeDetails,
|
|
221
|
+
transactionDetails,
|
|
222
|
+
options: {
|
|
223
|
+
onRouteStatusUpdated,
|
|
224
|
+
...options
|
|
225
|
+
}
|
|
226
|
+
});
|
|
227
|
+
return;
|
|
228
|
+
}
|
|
229
|
+
while (!isFinalState(transaction)) {
|
|
230
|
+
if (isCancelled?.()) {
|
|
231
|
+
console.info(`Polling cancelled for route ${routeId}`);
|
|
232
|
+
return;
|
|
233
|
+
}
|
|
234
|
+
try {
|
|
235
|
+
const statusResponse = await chunkQPM7H2YL_cjs.transactionStatus({
|
|
236
|
+
chainId: transaction.chainId,
|
|
237
|
+
txHash: transaction.txHash
|
|
238
|
+
});
|
|
239
|
+
transaction.statusResponse = statusResponse;
|
|
240
|
+
updateRouteDetails({
|
|
241
|
+
routeId,
|
|
242
|
+
routeDetails,
|
|
243
|
+
transactionDetails,
|
|
244
|
+
options: {
|
|
245
|
+
onRouteStatusUpdated,
|
|
246
|
+
...options
|
|
247
|
+
}
|
|
248
|
+
});
|
|
249
|
+
if (isFinalState(transaction)) {
|
|
250
|
+
onTransactionCompleted?.({
|
|
251
|
+
chainId: transaction.chainId,
|
|
252
|
+
txHash: transaction.txHash,
|
|
253
|
+
status: statusResponse
|
|
254
|
+
});
|
|
255
|
+
break;
|
|
256
|
+
}
|
|
257
|
+
} catch (error) {
|
|
258
|
+
console.error(error);
|
|
259
|
+
} finally {
|
|
260
|
+
await chunkERGJBZUC_cjs.wait(1e3);
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
};
|
|
265
|
+
var updateRouteDetails = ({
|
|
266
|
+
transactionDetails,
|
|
267
|
+
routeDetails,
|
|
268
|
+
options,
|
|
269
|
+
status,
|
|
270
|
+
routeId
|
|
271
|
+
}) => {
|
|
272
|
+
routeId ??= routeDetails?.id ?? "";
|
|
273
|
+
let currentRouteDetails = routeDetails ?? routeDetailsMap.get(routeId);
|
|
274
|
+
if (!routeId && currentRouteDetails == void 0) {
|
|
275
|
+
currentRouteDetails = initializeNewRouteDetails(options);
|
|
276
|
+
routeId = currentRouteDetails?.id;
|
|
277
|
+
}
|
|
278
|
+
if (currentRouteDetails === void 0) {
|
|
279
|
+
throw new Error("No route details found");
|
|
280
|
+
}
|
|
281
|
+
transactionDetails ??= currentRouteDetails?.transactionDetails ?? [];
|
|
282
|
+
const txsRequired = currentRouteDetails?.txsRequired ?? options?.route?.txsRequired ?? 1;
|
|
283
|
+
if (currentRouteDetails?.status === "signing" && status === "pending") {
|
|
284
|
+
currentRouteDetails.txsSigned += 1;
|
|
285
|
+
}
|
|
286
|
+
const transferEvents = routeDetails?.transferEvents ?? getTransferEventsFromTxStatusResponse(transactionDetails.map((tx) => tx.statusResponse).filter((status2) => status2 !== void 0));
|
|
287
|
+
const allExpectedTxsStarted = transactionDetails.every(
|
|
288
|
+
(tx) => tx.txHash || tx.status === void 0
|
|
289
|
+
);
|
|
290
|
+
const allKnownDetailsHaveFinalStatus = transactionDetails.every(
|
|
291
|
+
(transaction) => isFinalState(transaction)
|
|
292
|
+
);
|
|
293
|
+
const isAllSettled = allExpectedTxsStarted && allKnownDetailsHaveFinalStatus;
|
|
294
|
+
const someTxSucceeded = transactionDetails.some((tx) => isSuccessState(tx));
|
|
295
|
+
const someTxFailed = transactionDetails.some((tx) => !isSuccessState(tx));
|
|
296
|
+
const getRouteStatus = () => {
|
|
297
|
+
if (status) return status;
|
|
298
|
+
if (someTxSucceeded && !allExpectedTxsStarted) return "incomplete";
|
|
299
|
+
if (isAllSettled) {
|
|
300
|
+
if (!someTxFailed) {
|
|
301
|
+
return "completed";
|
|
302
|
+
} else if (someTxSucceeded && someTxFailed) {
|
|
303
|
+
return "incomplete";
|
|
304
|
+
} else if (someTxFailed) {
|
|
305
|
+
return "failed";
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
return currentRouteDetails?.status;
|
|
309
|
+
};
|
|
310
|
+
const transferAssetRelease = transactionDetails?.findLast((i) => i.statusResponse?.transferAssetRelease)?.statusResponse?.transferAssetRelease;
|
|
311
|
+
const senderAddress = options?.userAddresses?.at(0);
|
|
312
|
+
const receiverAddress = options?.userAddresses?.at(-1);
|
|
313
|
+
const newRouteDetails = {
|
|
314
|
+
id: routeId,
|
|
315
|
+
timestamp: currentRouteDetails.timestamp,
|
|
316
|
+
status: getRouteStatus(),
|
|
317
|
+
route: getSimpleRoute(currentRouteDetails?.route ?? options?.route),
|
|
318
|
+
txsRequired,
|
|
319
|
+
transactionDetails,
|
|
320
|
+
transferEvents,
|
|
321
|
+
transferAssetRelease,
|
|
322
|
+
senderAddress: currentRouteDetails?.senderAddress ?? senderAddress?.address ?? "",
|
|
323
|
+
receiverAddress: currentRouteDetails?.receiverAddress ?? receiverAddress?.address ?? "",
|
|
324
|
+
txsSigned: currentRouteDetails?.txsSigned
|
|
325
|
+
};
|
|
326
|
+
const newRouteStatus = getRouteDetailsWithSimpleTransactionDetailsStatus(newRouteDetails);
|
|
327
|
+
const previousRouteStatus = getRouteDetailsWithSimpleTransactionDetailsStatus(currentRouteDetails);
|
|
328
|
+
if (options?.onRouteStatusUpdated && JSON.stringify(newRouteStatus) !== JSON.stringify(previousRouteStatus)) {
|
|
329
|
+
options?.onRouteStatusUpdated?.(newRouteStatus);
|
|
330
|
+
}
|
|
331
|
+
if (routeId) {
|
|
332
|
+
routeDetailsMap.set(routeId, newRouteDetails);
|
|
333
|
+
}
|
|
334
|
+
return newRouteDetails;
|
|
335
|
+
};
|
|
336
|
+
var getSimpleRoute = (route) => {
|
|
337
|
+
return {
|
|
338
|
+
amountIn: route?.amountIn,
|
|
339
|
+
amountOut: route?.amountOut,
|
|
340
|
+
sourceAssetDenom: route?.sourceAssetDenom,
|
|
341
|
+
sourceAssetChainId: route?.sourceAssetChainId,
|
|
342
|
+
destAssetDenom: route?.destAssetDenom,
|
|
343
|
+
destAssetChainId: route?.destAssetChainId,
|
|
344
|
+
estimatedRouteDurationSeconds: route?.estimatedRouteDurationSeconds
|
|
345
|
+
};
|
|
346
|
+
};
|
|
347
|
+
var getRouteDetailsWithSimpleTransactionDetailsStatus = (routeDetails) => {
|
|
348
|
+
return {
|
|
349
|
+
...routeDetails,
|
|
350
|
+
transactionDetails: routeDetails.transactionDetails.map((txDetails) => {
|
|
351
|
+
const { statusResponse, ...rest } = txDetails;
|
|
352
|
+
return {
|
|
353
|
+
...rest,
|
|
354
|
+
status: txDetails?.status ?? getTransactionStatus(txDetails.statusResponse?.state)
|
|
355
|
+
};
|
|
356
|
+
})
|
|
357
|
+
};
|
|
358
|
+
};
|
|
359
|
+
var removeRoutesWithFinalStatus = () => {
|
|
360
|
+
routeDetailsMap.forEach((routeDetails, routeId) => {
|
|
361
|
+
if (routeDetails.status === "completed" || routeDetails.status === "failed" || routeDetails.status === "incomplete") {
|
|
362
|
+
routeDetailsMap.delete(routeId);
|
|
363
|
+
}
|
|
364
|
+
});
|
|
365
|
+
};
|
|
366
|
+
|
|
367
|
+
exports.executeAndSubscribeToRouteStatus = executeAndSubscribeToRouteStatus;
|
|
368
|
+
exports.getTransactionStatus = getTransactionStatus;
|
|
369
|
+
exports.subscribeToRouteStatus = subscribeToRouteStatus;
|
|
370
|
+
exports.updateRouteDetails = updateRouteDetails;
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
3
|
+
var chunkN4UW74AG_cjs = require('./chunk-N4UW74AG.cjs');
|
|
4
|
+
var chunkERGJBZUC_cjs = require('./chunk-ERGJBZUC.cjs');
|
|
5
5
|
|
|
6
6
|
// src/api/postAssetsFromSource.ts
|
|
7
|
-
var assetsFromSource =
|
|
7
|
+
var assetsFromSource = chunkERGJBZUC_cjs.api({
|
|
8
8
|
methodName: "assetsFromSource",
|
|
9
9
|
method: "post",
|
|
10
10
|
path: "v2/fungible/assets_from_source",
|
|
11
11
|
transformResponse(response) {
|
|
12
|
-
return
|
|
12
|
+
return chunkN4UW74AG_cjs.transformAssetsMap(response.destAssets);
|
|
13
13
|
}
|
|
14
14
|
});
|
|
15
15
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkERGJBZUC_cjs = require('./chunk-ERGJBZUC.cjs');
|
|
4
4
|
|
|
5
5
|
// src/api/getBridges.ts
|
|
6
|
-
var bridges =
|
|
6
|
+
var bridges = chunkERGJBZUC_cjs.api({
|
|
7
7
|
methodName: "bridges",
|
|
8
8
|
path: "v2/info/bridges",
|
|
9
9
|
transformResponse: (response) => response.bridges
|