@skip-go/client 1.4.0 → 1.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{chunk-IDEJORRT.cjs → chunk-23YF4LFI.cjs} +30 -0
- package/dist/cjs/{chunk-Q43XCBMX.cjs → chunk-5CB6SPCX.cjs} +4 -4
- package/dist/cjs/{chunk-ZKBSNSHQ.cjs → chunk-EZGHN6ZL.cjs} +120 -116
- package/dist/cjs/{chunk-7MC3BVQN.cjs → chunk-KHJQE3DI.cjs} +133 -35
- package/dist/cjs/chunk-KSJ5QYMR.cjs +185 -0
- package/dist/cjs/chunk-N5V3YW5K.cjs +55 -0
- package/dist/cjs/chunk-NDSHB4I6.cjs +214 -0
- package/dist/cjs/{chunk-ZAATXQBG.cjs → chunk-QZ2BGX6O.cjs} +2 -2
- package/dist/cjs/{chunk-6LA66667.cjs → chunk-RVXCF6AL.cjs} +3 -3
- package/dist/cjs/{chunk-46VB6RQK.cjs → chunk-V3FWWJG2.cjs} +10 -3
- package/dist/cjs/index.cjs +26 -20
- package/dist/cjs/public-functions/executeMultipleRoutes.cjs +29 -0
- package/dist/cjs/public-functions/executeRoute.cjs +8 -7
- package/dist/cjs/public-functions/getFeeInfoForChain.cjs +3 -3
- package/dist/cjs/public-functions/getRecommendedGasPrice.cjs +4 -4
- package/dist/cjs/public-functions/getSigningStargateClient.cjs +3 -3
- package/dist/cjs/public-functions/setClientOptions.cjs +2 -2
- package/dist/cjs/public-functions/subscribeToRouteStatus.cjs +5 -5
- package/dist/cjs/public-functions/validateCosmosGasBalance.cjs +5 -5
- package/dist/esm/api/getAssets.d.ts +1 -1
- package/dist/esm/api/getAssetsBetweenChains.d.ts +1 -1
- package/dist/esm/api/getBridges.d.ts +3 -3
- package/dist/esm/api/getChains.d.ts +1 -1
- package/dist/esm/api/postAssetsFromSource.d.ts +10 -1
- package/dist/esm/api/postBalances.d.ts +2 -2
- package/dist/esm/api/postMessages.d.ts +2 -2
- package/dist/esm/api/postMessagesDirect.d.ts +3 -1
- package/dist/esm/api/postRecommendAssets.d.ts +1 -1
- package/dist/esm/api/postRoute.d.ts +4 -2
- package/dist/esm/api/postSubmitTransaction.d.ts +2 -2
- package/dist/esm/api/postTrackTransaction.d.ts +2 -2
- package/dist/esm/api/postTransactionStatus.d.ts +2 -2
- package/dist/esm/{callbacks-B3kjKg0v.d.ts → callbacks-DCqqd0D9.d.ts} +22 -69
- package/dist/esm/{chunk-CIAOTO3M.js → chunk-2DD5F6PK.js} +1 -1
- package/dist/esm/{chunk-4RLJWCQR.js → chunk-3J5IMMMB.js} +1 -1
- package/dist/esm/chunk-562J5DCB.js +53 -0
- package/dist/esm/{chunk-KYDY7QRT.js → chunk-BZDVQMHK.js} +1 -1
- package/dist/esm/chunk-FVQFGEL2.js +212 -0
- package/dist/esm/chunk-RHGDUD76.js +180 -0
- package/dist/esm/{chunk-GHNH5QC3.js → chunk-VZGOU6MB.js} +9 -2
- package/dist/esm/{chunk-BAJFQZDT.js → chunk-W5EGS2G4.js} +99 -96
- package/dist/esm/{chunk-REWUSU53.js → chunk-WBZVMPPV.js} +30 -0
- package/dist/esm/{chunk-RQ7DXNSS.js → chunk-XYYXRVFN.js} +133 -35
- package/dist/esm/client-types-BSZasIDd.d.ts +114 -0
- package/dist/esm/{generateApi-C_xgtxrO.d.ts → generateApi-CwM4Ca30.d.ts} +1 -1
- package/dist/esm/index.d.ts +216 -6
- package/dist/esm/index.js +12 -10
- package/dist/esm/public-functions/executeMultipleRoutes.d.ts +60 -0
- package/dist/esm/public-functions/executeMultipleRoutes.js +20 -0
- package/dist/esm/public-functions/executeRoute.d.ts +5 -5
- package/dist/esm/public-functions/executeRoute.js +7 -6
- package/dist/esm/public-functions/getCosmosGasAmountForMessage.d.ts +1 -1
- package/dist/esm/public-functions/getEvmGasAmountForMessage.d.ts +5 -2
- package/dist/esm/public-functions/getFeeInfoForChain.d.ts +1 -1
- package/dist/esm/public-functions/getFeeInfoForChain.js +2 -2
- package/dist/esm/public-functions/getRecommendedGasPrice.js +3 -3
- package/dist/esm/public-functions/getSigningStargateClient.js +2 -2
- package/dist/esm/public-functions/setApiOptions.d.ts +1 -1
- package/dist/esm/public-functions/setClientOptions.d.ts +5 -3
- package/dist/esm/public-functions/setClientOptions.js +1 -1
- package/dist/esm/public-functions/subscribeToRouteStatus.d.ts +5 -5
- package/dist/esm/public-functions/subscribeToRouteStatus.js +1 -1
- package/dist/esm/public-functions/validateCosmosGasBalance.d.ts +7 -6
- package/dist/esm/public-functions/validateCosmosGasBalance.js +4 -4
- package/dist/esm/public-functions/waitForTransaction.d.ts +5 -5
- package/dist/esm/{setClientOptions-BTRwCbmt.d.ts → setClientOptions-0DYCj_A5.d.ts} +1 -1
- package/dist/esm/{swaggerTypes-DDwqIjap.d.ts → swaggerTypes-Bh6hu5Q-.d.ts} +220 -196
- package/package.json +1 -1
- package/dist/cjs/chunk-VIG2BHYJ.cjs +0 -185
- package/dist/esm/chunk-3J6O2PVK.js +0 -180
- package/dist/esm/client-types-B7Fin0mq.d.ts +0 -61
|
@@ -140,12 +140,12 @@ var isFinalRouteStatus = (routeDetails) => {
|
|
|
140
140
|
return false;
|
|
141
141
|
};
|
|
142
142
|
var isFinalState = (transaction) => {
|
|
143
|
-
const transactionState = transaction?.statusResponse?.state;
|
|
143
|
+
const transactionState = transaction?.statusResponse?.transfers?.[0]?.state;
|
|
144
144
|
const transactionStatus2 = transaction?.status;
|
|
145
145
|
return transactionState === "STATE_COMPLETED_SUCCESS" || transactionState === "STATE_COMPLETED_ERROR" || transactionState === "STATE_ABANDONED" || transactionStatus2 === "failed" || transactionStatus2 === "success";
|
|
146
146
|
};
|
|
147
147
|
var isSuccessState = (transaction) => {
|
|
148
|
-
const transactionState = transaction?.statusResponse?.state;
|
|
148
|
+
const transactionState = transaction?.statusResponse?.transfers?.[0]?.state;
|
|
149
149
|
const transactionStatus2 = transaction?.status;
|
|
150
150
|
return transactionState === "STATE_COMPLETED_SUCCESS" || transactionStatus2 === "success";
|
|
151
151
|
};
|
|
@@ -161,29 +161,41 @@ var initializeNewRouteDetails = (options) => {
|
|
|
161
161
|
txsSigned: 0,
|
|
162
162
|
transactionDetails: [],
|
|
163
163
|
transferEvents: [],
|
|
164
|
-
|
|
165
|
-
|
|
164
|
+
relatedRoutes: [],
|
|
165
|
+
userAddresses: options?.userAddresses ?? []
|
|
166
166
|
};
|
|
167
167
|
routeDetailsMap.set(newRouteId, newRouteDetails);
|
|
168
168
|
return newRouteDetails;
|
|
169
169
|
};
|
|
170
170
|
var subscribeToRouteStatus = (props) => {
|
|
171
|
-
|
|
172
|
-
const
|
|
173
|
-
|
|
171
|
+
const { routeDetails, onRouteStatusUpdated } = props;
|
|
172
|
+
const routeList = Array.isArray(routeDetails) ? routeDetails : [routeDetails];
|
|
173
|
+
const cancelFlags = /* @__PURE__ */ new Map();
|
|
174
|
+
const unsubscribers = [];
|
|
175
|
+
for (const route of routeList) {
|
|
176
|
+
const cancelFlag = { cancelled: false };
|
|
177
|
+
cancelFlags.set(route?.id ?? v4(), cancelFlag);
|
|
178
|
+
const unsubscribe = () => {
|
|
179
|
+
cancelFlag.cancelled = true;
|
|
180
|
+
};
|
|
181
|
+
unsubscribers.push(unsubscribe);
|
|
182
|
+
void executeAndSubscribeToRouteStatus({
|
|
183
|
+
routeDetails: route,
|
|
184
|
+
onRouteStatusUpdated,
|
|
185
|
+
isCancelled: () => cancelFlag.cancelled
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
const unsubscribeAll = () => {
|
|
189
|
+
for (const unsubscribe of unsubscribers) {
|
|
190
|
+
unsubscribe();
|
|
191
|
+
}
|
|
174
192
|
};
|
|
175
|
-
|
|
176
|
-
...props,
|
|
177
|
-
isCancelled: () => cancelled
|
|
178
|
-
});
|
|
179
|
-
return unsubscribe;
|
|
193
|
+
return unsubscribeAll;
|
|
180
194
|
};
|
|
181
195
|
var executeAndSubscribeToRouteStatus = async ({
|
|
182
196
|
transactionDetails,
|
|
183
197
|
executeTransaction,
|
|
184
198
|
trackTxPollingOptions,
|
|
185
|
-
onTransactionTracked,
|
|
186
|
-
onTransactionCompleted,
|
|
187
199
|
routeDetails,
|
|
188
200
|
onRouteStatusUpdated,
|
|
189
201
|
options,
|
|
@@ -194,7 +206,9 @@ var executeAndSubscribeToRouteStatus = async ({
|
|
|
194
206
|
routeId ??= routeDetails?.id;
|
|
195
207
|
const currentRouteDetails = routeDetailsMap.get(routeId ?? "");
|
|
196
208
|
transactionDetails ??= routeDetails?.transactionDetails ?? currentRouteDetails?.transactionDetails ?? [];
|
|
197
|
-
if (routeDetails && isFinalRouteStatus(routeDetails)
|
|
209
|
+
if (routeDetails && isFinalRouteStatus(routeDetails) && routeDetails?.relatedRoutes?.every(
|
|
210
|
+
(relatedRoute) => isFinalRouteStatus(relatedRoute)
|
|
211
|
+
)) {
|
|
198
212
|
return;
|
|
199
213
|
}
|
|
200
214
|
for (const [transactionIndex, transaction] of transactionDetails.entries()) {
|
|
@@ -210,7 +224,11 @@ var executeAndSubscribeToRouteStatus = async ({
|
|
|
210
224
|
explorerLink = trackResponse.explorerLink;
|
|
211
225
|
}
|
|
212
226
|
transaction.explorerLink = explorerLink;
|
|
213
|
-
await onTransactionTracked?.({
|
|
227
|
+
await options?.onTransactionTracked?.({
|
|
228
|
+
txHash: transaction.txHash,
|
|
229
|
+
chainId: transaction.chainId,
|
|
230
|
+
explorerLink
|
|
231
|
+
});
|
|
214
232
|
}
|
|
215
233
|
if (transaction.txHash === void 0) {
|
|
216
234
|
updateRouteDetails({
|
|
@@ -224,10 +242,22 @@ var executeAndSubscribeToRouteStatus = async ({
|
|
|
224
242
|
});
|
|
225
243
|
return;
|
|
226
244
|
}
|
|
227
|
-
while (
|
|
245
|
+
while (true) {
|
|
246
|
+
const updatedRouteDetails = routeDetailsMap.get(routeId ?? "");
|
|
247
|
+
const allRelatedRoutesFinal = updatedRouteDetails?.relatedRoutes?.every(
|
|
248
|
+
(relatedRoute) => relatedRoute && isFinalRouteStatus(relatedRoute)
|
|
249
|
+
);
|
|
250
|
+
if (isFinalState(transaction) && allRelatedRoutesFinal) {
|
|
251
|
+
options?.onTransactionCompleted?.({
|
|
252
|
+
chainId: transaction.chainId,
|
|
253
|
+
txHash: transaction.txHash,
|
|
254
|
+
status: transaction.statusResponse
|
|
255
|
+
});
|
|
256
|
+
break;
|
|
257
|
+
}
|
|
228
258
|
if (isCancelled?.()) {
|
|
229
259
|
console.info(`Polling cancelled for route ${routeId}`);
|
|
230
|
-
|
|
260
|
+
break;
|
|
231
261
|
}
|
|
232
262
|
try {
|
|
233
263
|
const statusResponse = await transactionStatus({
|
|
@@ -242,15 +272,30 @@ var executeAndSubscribeToRouteStatus = async ({
|
|
|
242
272
|
options: {
|
|
243
273
|
onRouteStatusUpdated,
|
|
244
274
|
...options
|
|
245
|
-
}
|
|
275
|
+
},
|
|
276
|
+
relatedRoutes: routeDetails?.relatedRoutes
|
|
246
277
|
});
|
|
247
278
|
if (isFinalState(transaction)) {
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
279
|
+
const relatedRoutes = updatedRouteDetails?.relatedRoutes && updatedRouteDetails?.relatedRoutes.length > 0 ? updatedRouteDetails.relatedRoutes : routeDetails?.relatedRoutes;
|
|
280
|
+
if (relatedRoutes && relatedRoutes.length > 0) {
|
|
281
|
+
if (relatedRoutes.every(
|
|
282
|
+
(relatedRoute) => isFinalRouteStatus(relatedRoute)
|
|
283
|
+
)) {
|
|
284
|
+
options?.onTransactionCompleted?.({
|
|
285
|
+
chainId: transaction.chainId,
|
|
286
|
+
txHash: transaction.txHash,
|
|
287
|
+
status: statusResponse
|
|
288
|
+
});
|
|
289
|
+
break;
|
|
290
|
+
}
|
|
291
|
+
} else {
|
|
292
|
+
options?.onTransactionCompleted?.({
|
|
293
|
+
chainId: transaction.chainId,
|
|
294
|
+
txHash: transaction.txHash,
|
|
295
|
+
status: statusResponse
|
|
296
|
+
});
|
|
297
|
+
break;
|
|
298
|
+
}
|
|
254
299
|
}
|
|
255
300
|
} catch (error) {
|
|
256
301
|
console.error(error);
|
|
@@ -265,7 +310,10 @@ var updateRouteDetails = ({
|
|
|
265
310
|
routeDetails,
|
|
266
311
|
options,
|
|
267
312
|
status,
|
|
268
|
-
routeId
|
|
313
|
+
routeId,
|
|
314
|
+
mainRouteId,
|
|
315
|
+
transferIndexToRouteKey,
|
|
316
|
+
relatedRoutes
|
|
269
317
|
}) => {
|
|
270
318
|
routeId ??= routeDetails?.id ?? "";
|
|
271
319
|
let currentRouteDetails = routeDetails ?? routeDetailsMap.get(routeId);
|
|
@@ -273,6 +321,7 @@ var updateRouteDetails = ({
|
|
|
273
321
|
currentRouteDetails = initializeNewRouteDetails(options);
|
|
274
322
|
routeId = currentRouteDetails?.id;
|
|
275
323
|
}
|
|
324
|
+
transferIndexToRouteKey ??= currentRouteDetails?.transferIndexToRouteKey;
|
|
276
325
|
if (currentRouteDetails === void 0) {
|
|
277
326
|
throw new Error("No route details found");
|
|
278
327
|
}
|
|
@@ -281,7 +330,9 @@ var updateRouteDetails = ({
|
|
|
281
330
|
if (currentRouteDetails?.status === "signing" && status === "pending") {
|
|
282
331
|
currentRouteDetails.txsSigned += 1;
|
|
283
332
|
}
|
|
284
|
-
const transferEvents = routeDetails?.transferEvents ?? getTransferEventsFromTxStatusResponse(
|
|
333
|
+
const transferEvents = routeDetails?.transferEvents ?? getTransferEventsFromTxStatusResponse(
|
|
334
|
+
transactionDetails.map((tx) => tx.statusResponse).filter((status2) => status2 !== void 0)
|
|
335
|
+
);
|
|
285
336
|
const allExpectedTxsStarted = transactionDetails.every(
|
|
286
337
|
(tx) => tx.txHash || tx.status === void 0
|
|
287
338
|
);
|
|
@@ -305,9 +356,14 @@ var updateRouteDetails = ({
|
|
|
305
356
|
}
|
|
306
357
|
return currentRouteDetails?.status;
|
|
307
358
|
};
|
|
308
|
-
const transferAssetRelease = transactionDetails?.findLast(
|
|
309
|
-
|
|
310
|
-
|
|
359
|
+
const transferAssetRelease = transactionDetails?.findLast(
|
|
360
|
+
(i) => i.statusResponse?.transferAssetRelease
|
|
361
|
+
)?.statusResponse?.transferAssetRelease;
|
|
362
|
+
const updatedRelatedRoutes = updateRelatedRoutes({
|
|
363
|
+
relatedRoutes: relatedRoutes ?? currentRouteDetails?.relatedRoutes ?? [],
|
|
364
|
+
transferIndexToRouteKey,
|
|
365
|
+
transactionDetails
|
|
366
|
+
});
|
|
311
367
|
const newRouteDetails = {
|
|
312
368
|
id: routeId,
|
|
313
369
|
timestamp: currentRouteDetails.timestamp,
|
|
@@ -317,9 +373,11 @@ var updateRouteDetails = ({
|
|
|
317
373
|
transactionDetails,
|
|
318
374
|
transferEvents,
|
|
319
375
|
transferAssetRelease,
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
376
|
+
userAddresses: (currentRouteDetails?.userAddresses.length > 0 ? currentRouteDetails?.userAddresses : options?.userAddresses) ?? [],
|
|
377
|
+
txsSigned: currentRouteDetails?.txsSigned,
|
|
378
|
+
transferIndexToRouteKey,
|
|
379
|
+
mainRouteId: mainRouteId ?? currentRouteDetails?.mainRouteId,
|
|
380
|
+
relatedRoutes: updatedRelatedRoutes
|
|
323
381
|
};
|
|
324
382
|
const newRouteStatus = getRouteDetailsWithSimpleTransactionDetailsStatus(newRouteDetails);
|
|
325
383
|
const previousRouteStatus = getRouteDetailsWithSimpleTransactionDetailsStatus(currentRouteDetails);
|
|
@@ -333,6 +391,8 @@ var updateRouteDetails = ({
|
|
|
333
391
|
};
|
|
334
392
|
var getSimpleRoute = (route) => {
|
|
335
393
|
return {
|
|
394
|
+
usdAmountOut: route?.usdAmountOut,
|
|
395
|
+
usdAmountIn: route?.usdAmountIn,
|
|
336
396
|
amountIn: route?.amountIn,
|
|
337
397
|
amountOut: route?.amountOut,
|
|
338
398
|
sourceAssetDenom: route?.sourceAssetDenom,
|
|
@@ -347,10 +407,11 @@ var getRouteDetailsWithSimpleTransactionDetailsStatus = (routeDetails) => {
|
|
|
347
407
|
...routeDetails,
|
|
348
408
|
transactionDetails: routeDetails.transactionDetails.map((txDetails) => {
|
|
349
409
|
const { statusResponse, ...rest } = txDetails;
|
|
350
|
-
|
|
410
|
+
const newTxDetails = {
|
|
351
411
|
...rest,
|
|
352
|
-
status: txDetails?.status ?? getTransactionStatus(
|
|
412
|
+
status: txDetails?.status ?? getTransactionStatus(statusResponse?.transfers?.[0]?.state)
|
|
353
413
|
};
|
|
414
|
+
return newTxDetails;
|
|
354
415
|
})
|
|
355
416
|
};
|
|
356
417
|
};
|
|
@@ -361,5 +422,42 @@ var removeRoutesWithFinalStatus = () => {
|
|
|
361
422
|
}
|
|
362
423
|
});
|
|
363
424
|
};
|
|
425
|
+
var convertTransactionStatusToRouteStatus = (transactionStatus2) => {
|
|
426
|
+
if (!transactionStatus2) return;
|
|
427
|
+
if (transactionStatus2 === "success") {
|
|
428
|
+
return "completed";
|
|
429
|
+
}
|
|
430
|
+
return transactionStatus2;
|
|
431
|
+
};
|
|
432
|
+
var updateRelatedRoutes = ({
|
|
433
|
+
relatedRoutes,
|
|
434
|
+
transferIndexToRouteKey,
|
|
435
|
+
transactionDetails
|
|
436
|
+
}) => {
|
|
437
|
+
let updatedRelatedRoutes = [
|
|
438
|
+
...relatedRoutes.map((relatedRoute) => ({ ...relatedRoute }))
|
|
439
|
+
];
|
|
440
|
+
if (!transferIndexToRouteKey) return updatedRelatedRoutes;
|
|
441
|
+
transactionDetails?.forEach((transaction) => {
|
|
442
|
+
Object.entries(transferIndexToRouteKey).forEach(([indexStr, routeKey]) => {
|
|
443
|
+
const index = Number(indexStr);
|
|
444
|
+
const state = transaction?.statusResponse?.transfers?.[index]?.state;
|
|
445
|
+
const status = convertTransactionStatusToRouteStatus(
|
|
446
|
+
getTransactionStatus(state)
|
|
447
|
+
);
|
|
448
|
+
const transferAssetRelease = transaction?.statusResponse?.transfers?.[index]?.transferAssetRelease;
|
|
449
|
+
const targetRoute = updatedRelatedRoutes.find(
|
|
450
|
+
(r) => r.routeKey === routeKey
|
|
451
|
+
);
|
|
452
|
+
if (targetRoute && state) {
|
|
453
|
+
targetRoute.status = status ?? "failed";
|
|
454
|
+
}
|
|
455
|
+
if (targetRoute && transferAssetRelease) {
|
|
456
|
+
targetRoute.transferAssetRelease = transferAssetRelease;
|
|
457
|
+
}
|
|
458
|
+
});
|
|
459
|
+
});
|
|
460
|
+
return updatedRelatedRoutes;
|
|
461
|
+
};
|
|
364
462
|
|
|
365
463
|
export { executeAndSubscribeToRouteStatus, getTransactionStatus, subscribeToRouteStatus, updateRouteDetails };
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { OfflineAminoSigner } from '@cosmjs/amino';
|
|
2
|
+
import { OfflineDirectSigner } from '@cosmjs/proto-signing';
|
|
3
|
+
import { StdFee, GasPrice, SignerData } from '@cosmjs/stargate';
|
|
4
|
+
import { WalletClient } from 'viem';
|
|
5
|
+
import { Adapter } from '@solana/wallet-adapter-base';
|
|
6
|
+
import { a3 as FeeAsset, L as ChainType, W as CosmosMsg } from './swaggerTypes-Bh6hu5Q-.js';
|
|
7
|
+
import { TrackTxPollingProps } from './api/postTrackTransaction.js';
|
|
8
|
+
|
|
9
|
+
/** Common Types */
|
|
10
|
+
type UserAddress = {
|
|
11
|
+
chainId: string;
|
|
12
|
+
address: string;
|
|
13
|
+
};
|
|
14
|
+
type EndpointOptions = {
|
|
15
|
+
rpc?: string;
|
|
16
|
+
rest?: string;
|
|
17
|
+
};
|
|
18
|
+
type ValidateGasResult = {
|
|
19
|
+
error: null | string;
|
|
20
|
+
asset: FeeAsset | null;
|
|
21
|
+
fee: StdFee | null;
|
|
22
|
+
};
|
|
23
|
+
/** Signer Getters */
|
|
24
|
+
type SignerGetters = {
|
|
25
|
+
getEvmSigner?: (chainId: string) => Promise<WalletClient>;
|
|
26
|
+
getCosmosSigner?: (chainId: string) => Promise<(OfflineAminoSigner & OfflineDirectSigner) | OfflineAminoSigner | OfflineDirectSigner>;
|
|
27
|
+
getSvmSigner?: () => Promise<Adapter>;
|
|
28
|
+
};
|
|
29
|
+
/** Gas Options */
|
|
30
|
+
type GetFallbackGasAmount = (chainId: string, chainType: ChainType) => Promise<number | undefined>;
|
|
31
|
+
type GetGasPrice = (chainId: string, chainType: ChainType) => Promise<GasPrice | undefined>;
|
|
32
|
+
type GasOptions = {
|
|
33
|
+
/**
|
|
34
|
+
* If `getGasPrice` is undefined, or returns undefined, the router will attempt to set the recommended gas price
|
|
35
|
+
**/
|
|
36
|
+
getGasPrice?: GetGasPrice;
|
|
37
|
+
/**
|
|
38
|
+
* If `getFallbackGasAmount` is set, when router fails to simulate the gas amount, it will use the fallback gas amount
|
|
39
|
+
*/
|
|
40
|
+
getFallbackGasAmount?: GetFallbackGasAmount;
|
|
41
|
+
gasAmountMultiplier?: number;
|
|
42
|
+
};
|
|
43
|
+
type SignCosmosMessageOptionsBase = {
|
|
44
|
+
signerAddress: string;
|
|
45
|
+
chainId: string;
|
|
46
|
+
cosmosMsgs: CosmosMsg[];
|
|
47
|
+
fee: StdFee;
|
|
48
|
+
signerData: SignerData;
|
|
49
|
+
};
|
|
50
|
+
type SignCosmosMessageDirectOptions = SignCosmosMessageOptionsBase & {
|
|
51
|
+
signer: OfflineDirectSigner;
|
|
52
|
+
};
|
|
53
|
+
type SignCosmosMessageAminoOptions = SignCosmosMessageOptionsBase & {
|
|
54
|
+
signer: OfflineAminoSigner;
|
|
55
|
+
};
|
|
56
|
+
type TxResult = {
|
|
57
|
+
txHash: string;
|
|
58
|
+
chainId: string;
|
|
59
|
+
explorerLink?: string;
|
|
60
|
+
};
|
|
61
|
+
interface BaseSettings {
|
|
62
|
+
slippageTolerancePercent?: string;
|
|
63
|
+
simulate?: boolean;
|
|
64
|
+
/**
|
|
65
|
+
* Set allowance amount to max if EVM transaction requires allowance approval.
|
|
66
|
+
*/
|
|
67
|
+
useUnlimitedApproval?: boolean;
|
|
68
|
+
/**
|
|
69
|
+
/**
|
|
70
|
+
* If `skipApproval` is set to `true`, the router will bypass checking whether
|
|
71
|
+
* the signer has granted approval for the specified token contract on an EVM chain.
|
|
72
|
+
* This can be useful if approval has already been handled externally or there are race conditions.
|
|
73
|
+
*/
|
|
74
|
+
bypassApprovalCheck?: boolean;
|
|
75
|
+
/**
|
|
76
|
+
* defaults to true
|
|
77
|
+
* If `batchSimulate` is set to `true`, it will simulate all messages in a batch before the first tx run.
|
|
78
|
+
* If `batchSimulate` is set to `false`, it will simulate each message one by one.
|
|
79
|
+
*/
|
|
80
|
+
batchSimulate?: boolean;
|
|
81
|
+
/**
|
|
82
|
+
* Optional configuration for transaction polling behavior.
|
|
83
|
+
* - `maxRetries`: Maximum number of polling attempts (default: 5)
|
|
84
|
+
* - `retryInterval`: Retry interval in milliseconds (default: 1000)
|
|
85
|
+
* - `backoffMultiplier`: Exponential backoff multiplier for increasing delay between retries (default: 2.5)
|
|
86
|
+
* Example backoff with retryInterval = 1000 and backoffMultiplier = 2:
|
|
87
|
+
* 1st retry: 1000ms → 2nd: 2000ms → 3rd: 4000ms → 4th: 8000ms ...
|
|
88
|
+
*/
|
|
89
|
+
trackTxPollingOptions?: TrackTxPollingProps;
|
|
90
|
+
/**
|
|
91
|
+
* If `batchSignTxs` is set to `true`, it will sign all transactions in a batch up front.
|
|
92
|
+
* If `batchSignTxs` is set to `false`, it will sign each transaction one by one.
|
|
93
|
+
*/
|
|
94
|
+
batchSignTxs?: boolean;
|
|
95
|
+
/**
|
|
96
|
+
* If `cosmosPriorityFeeDenom` is provided, it will be used to set the priority fee for Cosmos transactions.
|
|
97
|
+
* It should be a function that takes a chainId and returns the denom for the priority fee.
|
|
98
|
+
*/
|
|
99
|
+
getCosmosPriorityFeeDenom?: (chainId: string) => Promise<string | undefined>;
|
|
100
|
+
/**
|
|
101
|
+
* SVM Fee Payer
|
|
102
|
+
*
|
|
103
|
+
* This is used to pay for the transaction fees on SVM chains.
|
|
104
|
+
* It should be an object with the following properties:
|
|
105
|
+
* `address`: The address of the fee payer.
|
|
106
|
+
* `signTransaction`: A function that takes the data to sign and returns a Promise that resolves to the signed transaction.
|
|
107
|
+
*/
|
|
108
|
+
svmFeePayer?: {
|
|
109
|
+
address: string;
|
|
110
|
+
signTransaction: (dataToSign: Buffer) => Promise<Uint8Array>;
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
export type { BaseSettings as B, EndpointOptions as E, GetFallbackGasAmount as G, SignerGetters as S, TxResult as T, UserAddress as U, ValidateGasResult as V, GetGasPrice as a, GasOptions as b, SignCosmosMessageOptionsBase as c, SignCosmosMessageDirectOptions as d, SignCosmosMessageAminoOptions as e };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { bG as Api } from './swaggerTypes-Bh6hu5Q-.js';
|
|
2
2
|
|
|
3
3
|
type CamelKey<S extends string> = S extends `${infer T}_${infer U}` ? `${T}${Capitalize<CamelKey<U>>}` : S;
|
|
4
4
|
type Camel<T> = T extends (infer U)[] ? Camel<U>[] : T extends object ? {
|