@vultisig/core-chain 2.2.0 → 2.2.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/CHANGELOG.md +6 -0
- package/dist/swap/affiliate/station.d.ts +4 -0
- package/dist/swap/affiliate/station.d.ts.map +1 -0
- package/dist/swap/affiliate/station.js +4 -0
- package/dist/swap/affiliate/station.js.map +1 -0
- package/dist/swap/general/GeneralSwapQuote.d.ts +6 -0
- package/dist/swap/general/GeneralSwapQuote.d.ts.map +1 -1
- package/dist/swap/general/kyber/api/quote.d.ts +3 -1
- package/dist/swap/general/kyber/api/quote.d.ts.map +1 -1
- package/dist/swap/general/kyber/api/quote.js +4 -1
- package/dist/swap/general/kyber/api/quote.js.map +1 -1
- package/dist/swap/general/kyber/api/route.d.ts +3 -1
- package/dist/swap/general/kyber/api/route.d.ts.map +1 -1
- package/dist/swap/general/kyber/api/route.js +3 -3
- package/dist/swap/general/kyber/api/route.js.map +1 -1
- package/dist/swap/general/kyber/api/tx.d.ts +3 -1
- package/dist/swap/general/kyber/api/tx.d.ts.map +1 -1
- package/dist/swap/general/kyber/api/tx.js +3 -3
- package/dist/swap/general/kyber/api/tx.js.map +1 -1
- package/dist/swap/general/kyber/config.d.ts +3 -2
- package/dist/swap/general/kyber/config.d.ts.map +1 -1
- package/dist/swap/general/kyber/config.js +3 -3
- package/dist/swap/general/kyber/config.js.map +1 -1
- package/dist/swap/general/kyber/stationConfig.d.ts +5 -0
- package/dist/swap/general/kyber/stationConfig.d.ts.map +1 -0
- package/dist/swap/general/kyber/stationConfig.js +9 -0
- package/dist/swap/general/kyber/stationConfig.js.map +1 -0
- package/dist/swap/general/lifi/api/getLifiSwapQuote.d.ts.map +1 -1
- package/dist/swap/general/lifi/api/getLifiSwapQuote.js +60 -0
- package/dist/swap/general/lifi/api/getLifiSwapQuote.js.map +1 -1
- package/dist/swap/general/oneInch/api/getOneInchSwapQuote.d.ts +4 -1
- package/dist/swap/general/oneInch/api/getOneInchSwapQuote.d.ts.map +1 -1
- package/dist/swap/general/oneInch/api/getOneInchSwapQuote.js +2 -2
- package/dist/swap/general/oneInch/api/getOneInchSwapQuote.js.map +1 -1
- package/dist/swap/general/oneInch/stationOneInchAffiliateConfig.d.ts +4 -0
- package/dist/swap/general/oneInch/stationOneInchAffiliateConfig.d.ts.map +1 -0
- package/dist/swap/general/oneInch/stationOneInchAffiliateConfig.js +4 -0
- package/dist/swap/general/oneInch/stationOneInchAffiliateConfig.js.map +1 -0
- package/dist/swap/general/swapkit/SwapKitEnabledChains.d.ts +2 -2
- package/dist/swap/general/swapkit/SwapKitEnabledChains.d.ts.map +1 -1
- package/dist/swap/general/swapkit/SwapKitEnabledChains.js +8 -8
- package/dist/swap/general/swapkit/SwapKitEnabledChains.js.map +1 -1
- package/dist/swap/general/swapkit/api/getSwapKitQuote.d.ts.map +1 -1
- package/dist/swap/general/swapkit/api/getSwapKitQuote.js +69 -4
- package/dist/swap/general/swapkit/api/getSwapKitQuote.js.map +1 -1
- package/dist/swap/keysign/getSwapDestinationAddress.d.ts.map +1 -1
- package/dist/swap/keysign/getSwapDestinationAddress.js +1 -0
- package/dist/swap/keysign/getSwapDestinationAddress.js.map +1 -1
- package/dist/swap/native/api/affiliate.d.ts +4 -1
- package/dist/swap/native/api/affiliate.d.ts.map +1 -1
- package/dist/swap/native/api/affiliate.js +5 -5
- package/dist/swap/native/api/affiliate.js.map +1 -1
- package/dist/swap/native/api/getNativeSwapQuote.d.ts +3 -1
- package/dist/swap/native/api/getNativeSwapQuote.d.ts.map +1 -1
- package/dist/swap/native/api/getNativeSwapQuote.js +6 -2
- package/dist/swap/native/api/getNativeSwapQuote.js.map +1 -1
- package/dist/swap/native/stationNativeSwapAffiliateConfig.d.ts +6 -0
- package/dist/swap/native/stationNativeSwapAffiliateConfig.d.ts.map +1 -0
- package/dist/swap/native/stationNativeSwapAffiliateConfig.js +6 -0
- package/dist/swap/native/stationNativeSwapAffiliateConfig.js.map +1 -0
- package/dist/swap/quote/findSwapQuote.d.ts +13 -1
- package/dist/swap/quote/findSwapQuote.d.ts.map +1 -1
- package/dist/swap/quote/findSwapQuote.js +5 -2
- package/dist/swap/quote/findSwapQuote.js.map +1 -1
- package/dist/swap/swapEnabledChains.d.ts +1 -1
- package/package.json +22 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# @vultisig/core-chain
|
|
2
2
|
|
|
3
|
+
## 2.2.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#525](https://github.com/vultisig/vultisig-sdk/pull/525) [`b0d0ba9`](https://github.com/vultisig/vultisig-sdk/commit/b0d0ba9d3ff0226149aca9a7446ff07a9eba84fc) Thanks [@rcoderdev](https://github.com/rcoderdev)! - Enable SwapKit source routes for BTC, BCH, DOGE, LTC, XRP, ZEC, TRON, and TON by signing non-EVM SwapKit routes as source-chain transfers.
|
|
8
|
+
|
|
3
9
|
## 2.2.0
|
|
4
10
|
|
|
5
11
|
### Minor Changes
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { stationKyberSwapAffiliateConfig } from '../general/kyber/stationConfig.js';
|
|
2
|
+
export { stationOneInchAffiliateConfig } from '../general/oneInch/stationOneInchAffiliateConfig.js';
|
|
3
|
+
export { stationNativeSwapAffiliateConfig } from '../native/stationNativeSwapAffiliateConfig.js';
|
|
4
|
+
//# sourceMappingURL=station.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"station.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/chain/swap/affiliate/station.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,gCAAgC,CAAA;AAChF,OAAO,EAAE,6BAA6B,EAAE,MAAM,kDAAkD,CAAA;AAChG,OAAO,EAAE,gCAAgC,EAAE,MAAM,4CAA4C,CAAA"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { stationKyberSwapAffiliateConfig } from '../general/kyber/stationConfig.js';
|
|
2
|
+
export { stationOneInchAffiliateConfig } from '../general/oneInch/stationOneInchAffiliateConfig.js';
|
|
3
|
+
export { stationNativeSwapAffiliateConfig } from '../native/stationNativeSwapAffiliateConfig.js';
|
|
4
|
+
//# sourceMappingURL=station.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"station.js","sourceRoot":"","sources":["../../../../../../packages/core/chain/swap/affiliate/station.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,gCAAgC,CAAA;AAChF,OAAO,EAAE,6BAA6B,EAAE,MAAM,kDAAkD,CAAA;AAChG,OAAO,EAAE,gCAAgC,EAAE,MAAM,4CAA4C,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GeneralSwapQuote.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/chain/swap/general/GeneralSwapQuote.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAA;AAE3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAE3D,MAAM,MAAM,aAAa,GACrB;IACE,GAAG,EAAE;QACH,IAAI,EAAE,MAAM,CAAA;QACZ,EAAE,EAAE,MAAM,CAAA;QACV,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,EAAE,MAAM,CAAA;QACb,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,YAAY,CAAC,EAAE,OAAO,CAAA;KACvB,CAAA;CACF,GACD;IACE,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAA;QACZ,UAAU,EAAE,MAAM,CAAA;QAClB,OAAO,EAAE,OAAO,CAAA;KACjB,CAAA;CACF,CAAA;AAEL,MAAM,MAAM,gBAAgB,GAAG;IAC7B,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,mBAAmB,CAAA;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,EAAE,EAAE,aAAa,CAAA;CAClB,CAAA"}
|
|
1
|
+
{"version":3,"file":"GeneralSwapQuote.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/chain/swap/general/GeneralSwapQuote.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAA;AAE3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAE3D,MAAM,MAAM,aAAa,GACrB;IACE,GAAG,EAAE;QACH,IAAI,EAAE,MAAM,CAAA;QACZ,EAAE,EAAE,MAAM,CAAA;QACV,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,EAAE,MAAM,CAAA;QACb,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,YAAY,CAAC,EAAE,OAAO,CAAA;KACvB,CAAA;CACF,GACD;IACE,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAA;QACZ,UAAU,EAAE,MAAM,CAAA;QAClB,OAAO,EAAE,OAAO,CAAA;KACjB,CAAA;CACF,GACD;IACE,QAAQ,EAAE;QACR,EAAE,EAAE,MAAM,CAAA;QACV,MAAM,EAAE,MAAM,CAAA;QACd,IAAI,CAAC,EAAE,MAAM,CAAA;KACd,CAAA;CACF,CAAA;AAEL,MAAM,MAAM,gBAAgB,GAAG;IAC7B,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,mBAAmB,CAAA;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,EAAE,EAAE,aAAa,CAAA;CAClB,CAAA"}
|
|
@@ -2,10 +2,12 @@ import { AccountCoin } from '@vultisig/core-chain/coin/AccountCoin';
|
|
|
2
2
|
import { TransferDirection } from '@vultisig/lib-utils/TransferDirection';
|
|
3
3
|
import { GeneralSwapQuote } from '../../GeneralSwapQuote.js';
|
|
4
4
|
import { KyberSwapEnabledChain } from '../chains.js';
|
|
5
|
+
import { KyberSwapBaseAffiliateConfig } from '../config.js';
|
|
5
6
|
type Input = Record<TransferDirection, AccountCoin<KyberSwapEnabledChain>> & {
|
|
6
7
|
amount: bigint;
|
|
7
8
|
affiliateBps?: number;
|
|
9
|
+
kyberConfig?: KyberSwapBaseAffiliateConfig;
|
|
8
10
|
};
|
|
9
|
-
export declare const getKyberSwapQuote: ({ from, to, amount, affiliateBps }: Input) => Promise<GeneralSwapQuote>;
|
|
11
|
+
export declare const getKyberSwapQuote: ({ from, to, amount, affiliateBps, kyberConfig, }: Input) => Promise<GeneralSwapQuote>;
|
|
10
12
|
export {};
|
|
11
13
|
//# sourceMappingURL=quote.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quote.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/kyber/api/quote.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAA;AAGnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AAEzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"quote.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/kyber/api/quote.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAA;AAGnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AAEzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA;AACjD,OAAO,EAAE,4BAA4B,EAAE,MAAM,WAAW,CAAA;AAIxD,KAAK,KAAK,GAAG,MAAM,CAAC,iBAAiB,EAAE,WAAW,CAAC,qBAAqB,CAAC,CAAC,GAAG;IAC3E,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,4BAA4B,CAAA;CAC3C,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAU,kDAMrC,KAAK,KAAG,OAAO,CAAC,gBAAgB,CAyClC,CAAA"}
|
|
@@ -2,12 +2,13 @@ import { attempt } from '@vultisig/lib-utils/attempt';
|
|
|
2
2
|
import { isInError } from '@vultisig/lib-utils/error/isInError';
|
|
3
3
|
import { getKyberSwapRoute } from './route.js';
|
|
4
4
|
import { getKyberSwapTx } from './tx.js';
|
|
5
|
-
export const getKyberSwapQuote = async ({ from, to, amount, affiliateBps }) => {
|
|
5
|
+
export const getKyberSwapQuote = async ({ from, to, amount, affiliateBps, kyberConfig, }) => {
|
|
6
6
|
const { routeSummary, routerAddress } = await getKyberSwapRoute({
|
|
7
7
|
from,
|
|
8
8
|
to,
|
|
9
9
|
amount,
|
|
10
10
|
affiliateBps,
|
|
11
|
+
kyberConfig,
|
|
11
12
|
});
|
|
12
13
|
const tx = await attempt(getKyberSwapTx({
|
|
13
14
|
from,
|
|
@@ -17,6 +18,7 @@ export const getKyberSwapQuote = async ({ from, to, amount, affiliateBps }) => {
|
|
|
17
18
|
amount,
|
|
18
19
|
enableGasEstimation: true,
|
|
19
20
|
affiliateBps,
|
|
21
|
+
kyberConfig,
|
|
20
22
|
}));
|
|
21
23
|
if ('error' in tx) {
|
|
22
24
|
const { error } = tx;
|
|
@@ -29,6 +31,7 @@ export const getKyberSwapQuote = async ({ from, to, amount, affiliateBps }) => {
|
|
|
29
31
|
amount,
|
|
30
32
|
enableGasEstimation: false,
|
|
31
33
|
affiliateBps,
|
|
34
|
+
kyberConfig,
|
|
32
35
|
});
|
|
33
36
|
}
|
|
34
37
|
throw error;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quote.js","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/kyber/api/quote.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAA;
|
|
1
|
+
{"version":3,"file":"quote.js","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/kyber/api/quote.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAA;AAM/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,MAAM,CAAA;AAQrC,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EAAE,EACtC,IAAI,EACJ,EAAE,EACF,MAAM,EACN,YAAY,EACZ,WAAW,GACL,EAA6B,EAAE;IACrC,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,MAAM,iBAAiB,CAAC;QAC9D,IAAI;QACJ,EAAE;QACF,MAAM;QACN,YAAY;QACZ,WAAW;KACZ,CAAC,CAAA;IAEF,MAAM,EAAE,GAAG,MAAM,OAAO,CACtB,cAAc,CAAC;QACb,IAAI;QACJ,EAAE;QACF,YAAY;QACZ,aAAa;QACb,MAAM;QACN,mBAAmB,EAAE,IAAI;QACzB,YAAY;QACZ,WAAW;KACZ,CAAC,CACH,CAAA;IAED,IAAI,OAAO,IAAI,EAAE,EAAE,CAAC;QAClB,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,CAAA;QACpB,IAAI,SAAS,CAAC,KAAK,EAAE,gBAAgB,CAAC,EAAE,CAAC;YACvC,OAAO,cAAc,CAAC;gBACpB,IAAI;gBACJ,EAAE;gBACF,YAAY;gBACZ,aAAa;gBACb,MAAM;gBACN,mBAAmB,EAAE,KAAK;gBAC1B,YAAY;gBACZ,WAAW;aACZ,CAAC,CAAA;QACJ,CAAC;QAED,MAAM,KAAK,CAAA;IACb,CAAC;IAED,OAAO,EAAE,CAAC,IAAI,CAAA;AAChB,CAAC,CAAA"}
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import { AccountCoin } from '@vultisig/core-chain/coin/AccountCoin';
|
|
2
2
|
import { TransferDirection } from '@vultisig/lib-utils/TransferDirection';
|
|
3
3
|
import { KyberSwapEnabledChain } from '../chains.js';
|
|
4
|
+
import { KyberSwapBaseAffiliateConfig } from '../config.js';
|
|
4
5
|
type Input = Record<TransferDirection, AccountCoin<KyberSwapEnabledChain>> & {
|
|
5
6
|
amount: bigint;
|
|
6
7
|
affiliateBps?: number;
|
|
8
|
+
kyberConfig?: KyberSwapBaseAffiliateConfig;
|
|
7
9
|
};
|
|
8
10
|
type KyberSwapRoute = {
|
|
9
11
|
routeSummary: any;
|
|
10
12
|
routerAddress: string;
|
|
11
13
|
};
|
|
12
|
-
export declare const getKyberSwapRoute: ({ from, to, amount, affiliateBps }: Input) => Promise<KyberSwapRoute>;
|
|
14
|
+
export declare const getKyberSwapRoute: ({ from, to, amount, affiliateBps, kyberConfig, }: Input) => Promise<KyberSwapRoute>;
|
|
13
15
|
export {};
|
|
14
16
|
//# sourceMappingURL=route.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/kyber/api/route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAA;AAGnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AAGzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/kyber/api/route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAA;AAGnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AAGzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA;AACjD,OAAO,EAIL,4BAA4B,EAE7B,MAAM,WAAW,CAAA;AAGlB,KAAK,KAAK,GAAG,MAAM,CAAC,iBAAiB,EAAE,WAAW,CAAC,qBAAqB,CAAC,CAAC,GAAG;IAC3E,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,4BAA4B,CAAA;CAC3C,CAAA;AAED,KAAK,cAAc,GAAG;IACpB,YAAY,EAAE,GAAG,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;CACtB,CAAA;AAkBD,eAAO,MAAM,iBAAiB,GAAU,kDAMrC,KAAK,KAAG,OAAO,CAAC,cAAc,CAsBhC,CAAA"}
|
|
@@ -3,7 +3,7 @@ import { queryUrl } from '@vultisig/lib-utils/query/queryUrl';
|
|
|
3
3
|
import { evmNativeCoinAddress } from '../../../../chains/evm/config.js';
|
|
4
4
|
import { getKyberSwapAffiliateParams, kyberSwapAffiliateConfig, kyberSwapSlippageTolerance, } from '../config.js';
|
|
5
5
|
import { getKyberSwapBaseUrl } from './baseUrl.js';
|
|
6
|
-
export const getKyberSwapRoute = async ({ from, to, amount, affiliateBps }) => {
|
|
6
|
+
export const getKyberSwapRoute = async ({ from, to, amount, affiliateBps, kyberConfig = kyberSwapAffiliateConfig, }) => {
|
|
7
7
|
const [tokenIn, tokenOut] = [from, to].map(({ id }) => id || evmNativeCoinAddress);
|
|
8
8
|
const routeParams = {
|
|
9
9
|
tokenIn,
|
|
@@ -12,12 +12,12 @@ export const getKyberSwapRoute = async ({ from, to, amount, affiliateBps }) => {
|
|
|
12
12
|
saveGas: true,
|
|
13
13
|
gasInclude: true,
|
|
14
14
|
slippageTolerance: kyberSwapSlippageTolerance,
|
|
15
|
-
...getKyberSwapAffiliateParams(affiliateBps),
|
|
15
|
+
...getKyberSwapAffiliateParams(affiliateBps, kyberConfig),
|
|
16
16
|
};
|
|
17
17
|
const routeUrl = addQueryParams(`${getKyberSwapBaseUrl(from.chain)}/routes`, routeParams);
|
|
18
18
|
const { data } = await queryUrl(routeUrl, {
|
|
19
19
|
headers: {
|
|
20
|
-
'X-Client-Id':
|
|
20
|
+
'X-Client-Id': kyberConfig.source,
|
|
21
21
|
},
|
|
22
22
|
});
|
|
23
23
|
return data;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route.js","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/kyber/api/route.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAA;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AAG7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AAEpE,OAAO,EACL,2BAA2B,EAC3B,wBAAwB,
|
|
1
|
+
{"version":3,"file":"route.js","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/kyber/api/route.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAA;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AAG7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AAEpE,OAAO,EACL,2BAA2B,EAC3B,wBAAwB,EAGxB,0BAA0B,GAC3B,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAA;AA6B/C,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EAAE,EACtC,IAAI,EACJ,EAAE,EACF,MAAM,EACN,YAAY,EACZ,WAAW,GAAG,wBAAwB,GAChC,EAA2B,EAAE;IACnC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,oBAAoB,CAAC,CAAA;IAElF,MAAM,WAAW,GAAyB;QACxC,OAAO;QACP,QAAQ;QACR,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE;QAC3B,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,IAAI;QAChB,iBAAiB,EAAE,0BAA0B;QAC7C,GAAG,2BAA2B,CAAC,YAAY,EAAE,WAAW,CAAC;KAC1D,CAAA;IAED,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;IAEzF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,QAAQ,CAAyB,QAAQ,EAAE;QAChE,OAAO,EAAE;YACP,aAAa,EAAE,WAAW,CAAC,MAAM;SAClC;KACF,CAAC,CAAA;IAEF,OAAO,IAAI,CAAA;AACb,CAAC,CAAA"}
|
|
@@ -2,13 +2,15 @@ import { TransferDirection } from '@vultisig/lib-utils/TransferDirection';
|
|
|
2
2
|
import { AccountCoin } from '../../../../coin/AccountCoin.js';
|
|
3
3
|
import { GeneralSwapQuote } from '../../GeneralSwapQuote.js';
|
|
4
4
|
import { KyberSwapEnabledChain } from '../chains.js';
|
|
5
|
+
import { KyberSwapBaseAffiliateConfig } from '../config.js';
|
|
5
6
|
type GetKyberSwapTxInput = Record<TransferDirection, AccountCoin<KyberSwapEnabledChain>> & {
|
|
6
7
|
routeSummary: any;
|
|
7
8
|
routerAddress: string;
|
|
8
9
|
amount: bigint;
|
|
9
10
|
enableGasEstimation: boolean;
|
|
10
11
|
affiliateBps?: number;
|
|
12
|
+
kyberConfig?: KyberSwapBaseAffiliateConfig;
|
|
11
13
|
};
|
|
12
|
-
export declare const getKyberSwapTx: ({ from, to, routeSummary, routerAddress, amount, enableGasEstimation, affiliateBps, }: GetKyberSwapTxInput) => Promise<GeneralSwapQuote>;
|
|
14
|
+
export declare const getKyberSwapTx: ({ from, to, routeSummary, routerAddress, amount, enableGasEstimation, affiliateBps, kyberConfig, }: GetKyberSwapTxInput) => Promise<GeneralSwapQuote>;
|
|
13
15
|
export {};
|
|
14
16
|
//# sourceMappingURL=tx.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tx.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/kyber/api/tx.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AAEzE,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAG1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"tx.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/kyber/api/tx.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AAEzE,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAG1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA;AACjD,OAAO,EAIL,4BAA4B,EAG7B,MAAM,WAAW,CAAA;AAGlB,KAAK,mBAAmB,GAAG,MAAM,CAAC,iBAAiB,EAAE,WAAW,CAAC,qBAAqB,CAAC,CAAC,GAAG;IACzF,YAAY,EAAE,GAAG,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,mBAAmB,EAAE,OAAO,CAAA;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,4BAA4B,CAAA;CAC3C,CAAA;AAsCD,eAAO,MAAM,cAAc,GAAU,oGASlC,mBAAmB,KAAG,OAAO,CAAC,gBAAgB,CA4DhD,CAAA"}
|
|
@@ -19,7 +19,7 @@ const getKyberSwapAffiliateFee = ({ amountOut, to, affiliateBps, }) => {
|
|
|
19
19
|
amount: grossAmountOut - netAmountOut,
|
|
20
20
|
};
|
|
21
21
|
};
|
|
22
|
-
export const getKyberSwapTx = async ({ from, to, routeSummary, routerAddress, amount, enableGasEstimation, affiliateBps, }) => {
|
|
22
|
+
export const getKyberSwapTx = async ({ from, to, routeSummary, routerAddress, amount, enableGasEstimation, affiliateBps, kyberConfig = kyberSwapAffiliateConfig, }) => {
|
|
23
23
|
const buildPayload = {
|
|
24
24
|
routeSummary,
|
|
25
25
|
sender: from.address,
|
|
@@ -27,12 +27,12 @@ export const getKyberSwapTx = async ({ from, to, routeSummary, routerAddress, am
|
|
|
27
27
|
slippageTolerance: kyberSwapSlippageTolerance,
|
|
28
28
|
deadline: Math.round(convertDuration(Date.now() + convertDuration(kyberSwapTxLifespan, 'min', 'ms'), 'ms', 's')),
|
|
29
29
|
enableGasEstimation,
|
|
30
|
-
...getKyberSwapAffiliateParams(affiliateBps),
|
|
30
|
+
...getKyberSwapAffiliateParams(affiliateBps, kyberConfig),
|
|
31
31
|
ignoreCappedSlippage: false,
|
|
32
32
|
};
|
|
33
33
|
const buildResponse = await queryUrl(`${getKyberSwapBaseUrl(from.chain)}/route/build`, {
|
|
34
34
|
headers: {
|
|
35
|
-
'X-Client-Id':
|
|
35
|
+
'X-Client-Id': kyberConfig.source,
|
|
36
36
|
},
|
|
37
37
|
body: buildPayload,
|
|
38
38
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tx.js","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/kyber/api/tx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAA;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAA;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAA;AAI1E,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAA;AAI5D,OAAO,EACL,2BAA2B,EAC3B,eAAe,EACf,wBAAwB,
|
|
1
|
+
{"version":3,"file":"tx.js","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/kyber/api/tx.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,12 +5,13 @@ export declare const kyberSwapAffiliateConfig: {
|
|
|
5
5
|
source: string;
|
|
6
6
|
referral: string;
|
|
7
7
|
};
|
|
8
|
-
export type
|
|
8
|
+
export type KyberSwapBaseAffiliateConfig = typeof kyberSwapAffiliateConfig;
|
|
9
|
+
export type KyberSwapAffiliateParams = KyberSwapBaseAffiliateConfig & {
|
|
9
10
|
feeAmount: number;
|
|
10
11
|
chargeFeeBy: 'currency_out';
|
|
11
12
|
isInBps: true;
|
|
12
13
|
feeReceiver: string;
|
|
13
14
|
};
|
|
14
15
|
export declare const hasAffiliateBps: (affiliateBps?: number) => affiliateBps is number;
|
|
15
|
-
export declare const getKyberSwapAffiliateParams: (affiliateBps?: number) => KyberSwapAffiliateParams | Record<string, never>;
|
|
16
|
+
export declare const getKyberSwapAffiliateParams: (affiliateBps?: number, config?: KyberSwapBaseAffiliateConfig) => KyberSwapAffiliateParams | Record<string, never>;
|
|
16
17
|
//# sourceMappingURL=config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/swap/general/kyber/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AAElD,eAAO,MAAM,mBAAmB,EAAE,OAAY,CAAA;AAE9C,eAAO,MAAM,0BAA0B,EAAE,MAAY,CAAA;AAErD,eAAO,MAAM,wBAAwB;;;CAGpC,CAAA;AAED,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/swap/general/kyber/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AAElD,eAAO,MAAM,mBAAmB,EAAE,OAAY,CAAA;AAE9C,eAAO,MAAM,0BAA0B,EAAE,MAAY,CAAA;AAErD,eAAO,MAAM,wBAAwB;;;CAGpC,CAAA;AAED,MAAM,MAAM,4BAA4B,GAAG,OAAO,wBAAwB,CAAA;AAE1E,MAAM,MAAM,wBAAwB,GAAG,4BAA4B,GAAG;IACpE,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,cAAc,CAAA;IAC3B,OAAO,EAAE,IAAI,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,eAAe,MAAM,KAAG,YAAY,IAAI,MACA,CAAA;AAExE,eAAO,MAAM,2BAA2B,GACtC,eAAe,MAAM,EACrB,SAAQ,4BAAuD,KAC9D,wBAAwB,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAS1C,CAAA"}
|
|
@@ -5,13 +5,13 @@ export const kyberSwapAffiliateConfig = {
|
|
|
5
5
|
referral: '0x8E247a480449c84a5fDD25974A8501f3EFa4ABb9',
|
|
6
6
|
};
|
|
7
7
|
export const hasAffiliateBps = (affiliateBps) => affiliateBps !== undefined && affiliateBps > 0 && affiliateBps < 10000;
|
|
8
|
-
export const getKyberSwapAffiliateParams = (affiliateBps) => hasAffiliateBps(affiliateBps)
|
|
8
|
+
export const getKyberSwapAffiliateParams = (affiliateBps, config = kyberSwapAffiliateConfig) => hasAffiliateBps(affiliateBps)
|
|
9
9
|
? {
|
|
10
|
-
...
|
|
10
|
+
...config,
|
|
11
11
|
feeAmount: affiliateBps,
|
|
12
12
|
chargeFeeBy: 'currency_out',
|
|
13
13
|
isInBps: true,
|
|
14
|
-
feeReceiver:
|
|
14
|
+
feeReceiver: config.referral,
|
|
15
15
|
}
|
|
16
16
|
: {};
|
|
17
17
|
//# sourceMappingURL=config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/swap/general/kyber/config.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,mBAAmB,GAAY,EAAE,CAAA;AAE9C,MAAM,CAAC,MAAM,0BAA0B,GAAW,GAAG,CAAA;AAErD,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,MAAM,EAAE,aAAa;IACrB,QAAQ,EAAE,4CAA4C;CACvD,CAAA;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/swap/general/kyber/config.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,mBAAmB,GAAY,EAAE,CAAA;AAE9C,MAAM,CAAC,MAAM,0BAA0B,GAAW,GAAG,CAAA;AAErD,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,MAAM,EAAE,aAAa;IACrB,QAAQ,EAAE,4CAA4C;CACvD,CAAA;AAWD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,YAAqB,EAA0B,EAAE,CAC/E,YAAY,KAAK,SAAS,IAAI,YAAY,GAAG,CAAC,IAAI,YAAY,GAAG,KAAK,CAAA;AAExE,MAAM,CAAC,MAAM,2BAA2B,GAAG,CACzC,YAAqB,EACrB,SAAuC,wBAAwB,EACb,EAAE,CACpD,eAAe,CAAC,YAAY,CAAC;IAC3B,CAAC,CAAC;QACE,GAAG,MAAM;QACT,SAAS,EAAE,YAAY;QACvB,WAAW,EAAE,cAAc;QAC3B,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,MAAM,CAAC,QAAQ;KAC7B;IACH,CAAC,CAAC,EAAE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stationConfig.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/swap/general/kyber/stationConfig.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,+BAA+B;;;CAO3C,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export const stationKyberSwapAffiliateConfig = {
|
|
2
|
+
// Station source ID pending Kyber partner-team confirmation.
|
|
3
|
+
// Using vultisig-v0 as a temp fallback per spec — fees still flow to
|
|
4
|
+
// Station's feeReceiver correctly; only Kyber's attribution dashboard
|
|
5
|
+
// is mis-tagged until the new source ID is registered.
|
|
6
|
+
source: 'vultisig-v0',
|
|
7
|
+
referral: '0x649E1289fD780C2F9A3D27476511283EB0d0076D',
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=stationConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stationConfig.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/swap/general/kyber/stationConfig.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,+BAA+B,GAAG;IAC7C,6DAA6D;IAC7D,qEAAqE;IACrE,sEAAsE;IACtE,uDAAuD;IACvD,MAAM,EAAE,aAAa;IACrB,QAAQ,EAAE,4CAA4C;CACvD,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getLifiSwapQuote.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/lifi/api/getLifiSwapQuote.ts"],"names":[],"mappings":"AAIA,OAAO,EAAmB,oBAAoB,EAAE,MAAM,8DAA8D,CAAA;AAKpH,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AAEzE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAEzD,KAAK,KAAK,GAAG,MAAM,CAAC,iBAAiB,EAAE,cAAc,CAAC,oBAAoB,CAAC,CAAC,GAAG;IAC7E,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;
|
|
1
|
+
{"version":3,"file":"getLifiSwapQuote.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/lifi/api/getLifiSwapQuote.ts"],"names":[],"mappings":"AAIA,OAAO,EAAmB,oBAAoB,EAAE,MAAM,8DAA8D,CAAA;AAKpH,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AAEzE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAEzD,KAAK,KAAK,GAAG,MAAM,CAAC,iBAAiB,EAAE,cAAc,CAAC,oBAAoB,CAAC,CAAC,GAAG;IAC7E,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AA4DD,eAAO,MAAM,gBAAgB,GAAU,uCAAuC,KAAK,KAAG,OAAO,CAAC,gBAAgB,CA+E7G,CAAA"}
|
|
@@ -12,11 +12,70 @@ const setupLifi = memoize(() => {
|
|
|
12
12
|
integrator: lifiConfig.integratorName,
|
|
13
13
|
});
|
|
14
14
|
});
|
|
15
|
+
// Slippage tolerance baked into the LiFi-prebuilt swap tx. The
|
|
16
|
+
// returned `transactionRequest.data` is a fully-formed Solana / EVM
|
|
17
|
+
// transaction that encodes a minAmountOut floor at quote time —
|
|
18
|
+
// the underlying AMM (Raydium / Orca / Meteora on Solana; Uniswap /
|
|
19
|
+
// 1inch on EVM) reverts if simulation-time output drops below the
|
|
20
|
+
// floor. Default LiFi slippage is 0.005 (0.5%), which is far too
|
|
21
|
+
// tight for MPC-signed flows where the keysign ceremony adds
|
|
22
|
+
// 30-90s of clock drift between quote and broadcast and the price
|
|
23
|
+
// routinely moves more than 0.5% on volatile pairs (SOL/USDC,
|
|
24
|
+
// SOL/anything memecoin). Production repro (2026-05-22):
|
|
25
|
+
// SOL→USDC simulation failed with `-32002: custom program error:
|
|
26
|
+
// 0x32` (Raydium AMM error 50 = AmountExceedsMaximum / slippage
|
|
27
|
+
// exceeded). Bump to 1% — covers the typical ceremony drift while
|
|
28
|
+
// staying well inside the user's pre-sign card's risk surface
|
|
29
|
+
// (typical realised slippage on these aggregators is <0.1%, so
|
|
30
|
+
// the 1% is a ceiling, not the expected price hit).
|
|
31
|
+
//
|
|
32
|
+
// EVM is less time-sensitive — the model dispatches and the user
|
|
33
|
+
// signs in seconds, but the same 1% bump still helps cover block
|
|
34
|
+
// time variance during mempool pending (~12s on ETH, ~2s on L2s).
|
|
35
|
+
// On WalletConnect / injected signers the dapp typically re-fetches
|
|
36
|
+
// the quote at MetaMask/Rainbow signing time, so quote staleness from
|
|
37
|
+
// user pause on the pre-sign card is NOT the failure mode — block-
|
|
38
|
+
// time variance during pending is. (NeOMakinG #513 round 1 CR
|
|
39
|
+
// `should-fix` 1 — comment was misleading pre-fix.)
|
|
40
|
+
//
|
|
41
|
+
// **Cross-chain bridge+swap caveat (NeOMakinG #513 round 1
|
|
42
|
+
// `preferably-blocking`).** This 1% slippage applies to the FINAL
|
|
43
|
+
// destination amount only. LiFi cross-chain routes (Stargate, Across,
|
|
44
|
+
// Hop + destination AMM swap) have TWO slippage points: (1) bridge
|
|
45
|
+
// liquidity pool exit on the source chain, (2) destination AMM swap.
|
|
46
|
+
// Intermediate bridge slippage is managed by bridge protocols' own
|
|
47
|
+
// limits and is NOT covered by this 1% floor — so total realised
|
|
48
|
+
// slippage on a SOL→ETH→USDC route could be 2-3% even when this
|
|
49
|
+
// constant says "1%". Document the bridge cost explicitly to users
|
|
50
|
+
// when surfacing cross-chain quote previews; don't rely on this
|
|
51
|
+
// constant as the single source of truth for cross-chain slippage.
|
|
52
|
+
//
|
|
53
|
+
// Hoisted to module scope so the planned per-pair / per-call
|
|
54
|
+
// override (forwarding `execute_swap.slippage_tolerance_percent`
|
|
55
|
+
// through the resolver, tracked at vultisig/vultisig-sdk#NEW — TODO
|
|
56
|
+
// open) lands as a clean diff rather than reshaping the function
|
|
57
|
+
// body. Codex Round 1b review feedback (vultisig-sdk#513 r1).
|
|
58
|
+
const DEFAULT_LIFI_SLIPPAGE_TOLERANCE = 0.01;
|
|
59
|
+
// Combined affiliate + slippage ceiling. Defensive guard so a high
|
|
60
|
+
// affiliateBps + the 1% slippage don't silently combine into a >3%
|
|
61
|
+
// effective cost on the user without anyone noticing. Logged-only,
|
|
62
|
+
// not a hard reject — getQuote will still dispatch. NeOMakinG #513
|
|
63
|
+
// round 1 `suggestion` 1.
|
|
64
|
+
const MAX_COMBINED_COST_BPS = 300;
|
|
15
65
|
export const getLifiSwapQuote = async ({ amount, affiliateBps, ...transfer }) => {
|
|
16
66
|
setupLifi();
|
|
17
67
|
const [fromChain, toChain] = [transfer.from, transfer.to].map(({ chain }) => lifiSwapChainId[chain]);
|
|
18
68
|
const [fromToken, toToken] = [transfer.from, transfer.to].map(({ id, chain }) => id ?? chainFeeCoin[chain].ticker);
|
|
19
69
|
const [fromAddress, toAddress] = [transfer.from, transfer.to].map(({ address }) => address);
|
|
70
|
+
// Defensive: log when affiliate + slippage combined cost crosses the
|
|
71
|
+
// 3% ceiling. Today affiliateBps is typically 0 and slippage is 1%,
|
|
72
|
+
// so 100bps total — well under the ceiling — but a future bump to
|
|
73
|
+
// affiliateBps shouldn't silently combine into a >3% effective cost
|
|
74
|
+
// on the user without anyone noticing. NeOMakinG #513 r1.
|
|
75
|
+
const combinedCostBps = (affiliateBps ?? 0) + DEFAULT_LIFI_SLIPPAGE_TOLERANCE * 10000;
|
|
76
|
+
if (combinedCostBps > MAX_COMBINED_COST_BPS) {
|
|
77
|
+
console.warn(`[getLifiSwapQuote] affiliate + slippage combined cost exceeds ${MAX_COMBINED_COST_BPS}bps: ${combinedCostBps}bps`);
|
|
78
|
+
}
|
|
20
79
|
const quote = await getQuote({
|
|
21
80
|
fromChain,
|
|
22
81
|
toChain,
|
|
@@ -26,6 +85,7 @@ export const getLifiSwapQuote = async ({ amount, affiliateBps, ...transfer }) =>
|
|
|
26
85
|
fromAddress,
|
|
27
86
|
toAddress,
|
|
28
87
|
fee: affiliateBps ? affiliateBps / 10000 : undefined,
|
|
88
|
+
slippage: DEFAULT_LIFI_SLIPPAGE_TOLERANCE,
|
|
29
89
|
});
|
|
30
90
|
const { transactionRequest, estimate } = quote;
|
|
31
91
|
const chainKind = getChainKind(transfer.from.chain);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getLifiSwapQuote.js","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/lifi/api/getLifiSwapQuote.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAClD,OAAO,EAAmB,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAA;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,+CAA+C,CAAA;AAC1E,OAAO,EAAE,eAAe,EAAwB,MAAM,8DAA8D,CAAA;AACpH,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAA;AAC5E,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAA;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAA;AAWtE,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE;IAC7B,YAAY,CAAC;QACX,UAAU,EAAE,UAAU,CAAC,cAAc;KACtC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,QAAQ,EAAS,EAA6B,EAAE;IAChH,SAAS,EAAE,CAAA;IAEX,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAA;IAEpG,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAA;IAClH,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAA;IAE3F,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC;QAC3B,SAAS;QACT,OAAO;QACP,SAAS;QACT,OAAO;QACP,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE;QAC7B,WAAW;QACX,SAAS;QACT,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS;
|
|
1
|
+
{"version":3,"file":"getLifiSwapQuote.js","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/lifi/api/getLifiSwapQuote.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import { ChainAccount } from '@vultisig/core-chain/ChainAccount';
|
|
2
2
|
import { GeneralSwapQuote } from '@vultisig/core-chain/swap/general/GeneralSwapQuote';
|
|
3
|
+
import { oneInchAffiliateConfig } from '@vultisig/core-chain/swap/general/oneInch/oneInchAffiliateConfig';
|
|
4
|
+
export type OneInchAffiliateConfig = typeof oneInchAffiliateConfig;
|
|
3
5
|
type Input = {
|
|
4
6
|
account: ChainAccount;
|
|
5
7
|
fromCoinId: string;
|
|
6
8
|
toCoinId: string;
|
|
7
9
|
amount: bigint;
|
|
8
10
|
affiliateBps?: number;
|
|
11
|
+
oneInchConfig?: OneInchAffiliateConfig;
|
|
9
12
|
};
|
|
10
|
-
export declare const getOneInchSwapQuote: ({ account, fromCoinId, toCoinId, amount, affiliateBps, }: Input) => Promise<GeneralSwapQuote>;
|
|
13
|
+
export declare const getOneInchSwapQuote: ({ account, fromCoinId, toCoinId, amount, affiliateBps, oneInchConfig, }: Input) => Promise<GeneralSwapQuote>;
|
|
11
14
|
export {};
|
|
12
15
|
//# sourceMappingURL=getOneInchSwapQuote.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getOneInchSwapQuote.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/oneInch/api/getOneInchSwapQuote.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAA;AAGhE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oDAAoD,CAAA;
|
|
1
|
+
{"version":3,"file":"getOneInchSwapQuote.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/oneInch/api/getOneInchSwapQuote.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAA;AAGhE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oDAAoD,CAAA;AAErF,OAAO,EAAE,sBAAsB,EAAE,MAAM,kEAAkE,CAAA;AAQzG,MAAM,MAAM,sBAAsB,GAAG,OAAO,sBAAsB,CAAA;AAElE,KAAK,KAAK,GAAG;IACX,OAAO,EAAE,YAAY,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,sBAAsB,CAAA;CACvC,CAAA;AAID,eAAO,MAAM,mBAAmB,GAAU,yEAOvC,KAAK,KAAG,OAAO,CAAC,gBAAgB,CAkClC,CAAA"}
|
|
@@ -7,7 +7,7 @@ import { addQueryParams } from '@vultisig/lib-utils/query/addQueryParams';
|
|
|
7
7
|
import { queryUrl } from '@vultisig/lib-utils/query/queryUrl';
|
|
8
8
|
import { evmNativeCoinAddress } from '../../../../chains/evm/config.js';
|
|
9
9
|
const getBaseUrl = (chainId) => `${rootApiUrl}/1inch/swap/v6.0/${chainId}/swap`;
|
|
10
|
-
export const getOneInchSwapQuote = async ({ account, fromCoinId, toCoinId, amount, affiliateBps, }) => {
|
|
10
|
+
export const getOneInchSwapQuote = async ({ account, fromCoinId, toCoinId, amount, affiliateBps, oneInchConfig = oneInchAffiliateConfig, }) => {
|
|
11
11
|
const chain = account.chain;
|
|
12
12
|
const chainId = hexToNumber(getEvmChainId(chain));
|
|
13
13
|
const params = {
|
|
@@ -20,7 +20,7 @@ export const getOneInchSwapQuote = async ({ account, fromCoinId, toCoinId, amoun
|
|
|
20
20
|
includeGas: true,
|
|
21
21
|
...(affiliateBps
|
|
22
22
|
? {
|
|
23
|
-
referrer:
|
|
23
|
+
referrer: oneInchConfig.referrer,
|
|
24
24
|
fee: affiliateBps / 100,
|
|
25
25
|
}
|
|
26
26
|
: {}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getOneInchSwapQuote.js","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/oneInch/api/getOneInchSwapQuote.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAA;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAA;AAGrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,kEAAkE,CAAA;AACzG,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAA;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAA;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AAE7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;
|
|
1
|
+
{"version":3,"file":"getOneInchSwapQuote.js","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/oneInch/api/getOneInchSwapQuote.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAA;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAA;AAGrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,kEAAkE,CAAA;AACzG,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAA;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAA;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AAE7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AAapE,MAAM,UAAU,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,GAAG,UAAU,oBAAoB,OAAO,OAAO,CAAA;AAEvF,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EAAE,EACxC,OAAO,EACP,UAAU,EACV,QAAQ,EACR,MAAM,EACN,YAAY,EACZ,aAAa,GAAG,sBAAsB,GAChC,EAA6B,EAAE;IACrC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAiB,CAAA;IACvC,MAAM,OAAO,GAAG,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAA;IAEjD,MAAM,MAAM,GAAG;QACb,GAAG,EAAE,SAAS,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,UAAU;QAC5F,GAAG,EAAE,SAAS,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,QAAQ;QACxF,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE;QACzB,IAAI,EAAE,OAAO,CAAC,OAAO;QACrB,QAAQ,EAAE,GAAG;QACb,eAAe,EAAE,IAAI;QACrB,UAAU,EAAE,IAAI;QAChB,GAAG,CAAC,YAAY;YACd,CAAC,CAAC;gBACE,QAAQ,EAAE,aAAa,CAAC,QAAQ;gBAChC,GAAG,EAAE,YAAY,GAAG,GAAG;aACxB;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAA;IAED,MAAM,GAAG,GAAG,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAA;IAEvD,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,GAA6B,MAAM,QAAQ,CAA2B,GAAG,CAAC,CAAA;IAEjG,OAAO;QACL,SAAS;QACT,QAAQ,EAAE,OAAO;QACjB,EAAE,EAAE;YACF,GAAG,EAAE;gBACH,GAAG,EAAE;gBACL,QAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;aAC9C;SACF;KACF,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stationOneInchAffiliateConfig.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/swap/general/oneInch/stationOneInchAffiliateConfig.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,6BAA6B;;CAEzC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stationOneInchAffiliateConfig.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/swap/general/oneInch/stationOneInchAffiliateConfig.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC3C,QAAQ,EAAE,4CAA4C;CACvD,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export declare const swapKitSourceChains: readonly ["Ethereum", "Arbitrum", "Avalanche", "Base", "BSC", "Optimism", "Polygon", import("@vultisig/core-chain/Chain").OtherChain.Solana];
|
|
1
|
+
export declare const swapKitSourceChains: readonly ["Ethereum", "Arbitrum", "Avalanche", "Base", "BSC", "Optimism", "Polygon", import("@vultisig/core-chain/Chain").OtherChain.Solana, import("@vultisig/core-chain/Chain").UtxoChain.Bitcoin, import("@vultisig/core-chain/Chain").UtxoChain.BitcoinCash, import("@vultisig/core-chain/Chain").UtxoChain.Dogecoin, import("@vultisig/core-chain/Chain").UtxoChain.Litecoin, import("@vultisig/core-chain/Chain").OtherChain.Ripple, import("@vultisig/core-chain/Chain").OtherChain.Ton, import("@vultisig/core-chain/Chain").OtherChain.Tron, import("@vultisig/core-chain/Chain").UtxoChain.Zcash];
|
|
2
2
|
export type SwapKitSourceChain = (typeof swapKitSourceChains)[number];
|
|
3
|
-
export declare const swapKitEnabledChains: readonly ["Ethereum", "Arbitrum", "Avalanche", "Base", "BSC", "Optimism", "Polygon", import("@vultisig/core-chain/Chain").OtherChain.Solana, import("@vultisig/core-chain/Chain").UtxoChain.Bitcoin, import("@vultisig/core-chain/Chain").UtxoChain.BitcoinCash, import("@vultisig/core-chain/Chain").
|
|
3
|
+
export declare const swapKitEnabledChains: readonly ["Ethereum", "Arbitrum", "Avalanche", "Base", "BSC", "Optimism", "Polygon", import("@vultisig/core-chain/Chain").OtherChain.Solana, import("@vultisig/core-chain/Chain").UtxoChain.Bitcoin, import("@vultisig/core-chain/Chain").UtxoChain.BitcoinCash, import("@vultisig/core-chain/Chain").UtxoChain.Dogecoin, import("@vultisig/core-chain/Chain").UtxoChain.Litecoin, import("@vultisig/core-chain/Chain").OtherChain.Ripple, import("@vultisig/core-chain/Chain").OtherChain.Ton, import("@vultisig/core-chain/Chain").OtherChain.Tron, import("@vultisig/core-chain/Chain").UtxoChain.Zcash, import("@vultisig/core-chain/Chain").OtherChain.Cardano, "Cosmos", import("@vultisig/core-chain/Chain").UtxoChain.Dash, "Kujira", "MayaChain", import("@vultisig/core-chain/Chain").OtherChain.Sui, "THORChain"];
|
|
4
4
|
export type SwapKitEnabledChain = (typeof swapKitEnabledChains)[number];
|
|
5
5
|
//# sourceMappingURL=SwapKitEnabledChains.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SwapKitEnabledChains.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/swap/general/swapkit/SwapKitEnabledChains.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB,
|
|
1
|
+
{"version":3,"file":"SwapKitEnabledChains.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/swap/general/swapkit/SwapKitEnabledChains.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB,6kBAiBtB,CAAA;AAEV,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAA;AAErE,eAAO,MAAM,oBAAoB,8xBASvB,CAAA;AAEV,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAA"}
|
|
@@ -8,23 +8,23 @@ export const swapKitSourceChains = [
|
|
|
8
8
|
Chain.Optimism,
|
|
9
9
|
Chain.Polygon,
|
|
10
10
|
Chain.Solana,
|
|
11
|
+
Chain.Bitcoin,
|
|
12
|
+
Chain.BitcoinCash,
|
|
13
|
+
Chain.Dogecoin,
|
|
14
|
+
Chain.Litecoin,
|
|
15
|
+
Chain.Ripple,
|
|
16
|
+
Chain.Ton,
|
|
17
|
+
Chain.Tron,
|
|
18
|
+
Chain.Zcash,
|
|
11
19
|
];
|
|
12
20
|
export const swapKitEnabledChains = [
|
|
13
21
|
...swapKitSourceChains,
|
|
14
|
-
Chain.Bitcoin,
|
|
15
|
-
Chain.BitcoinCash,
|
|
16
22
|
Chain.Cardano,
|
|
17
23
|
Chain.Cosmos,
|
|
18
24
|
Chain.Dash,
|
|
19
|
-
Chain.Dogecoin,
|
|
20
25
|
Chain.Kujira,
|
|
21
|
-
Chain.Litecoin,
|
|
22
26
|
Chain.MayaChain,
|
|
23
|
-
Chain.Ripple,
|
|
24
27
|
Chain.Sui,
|
|
25
28
|
Chain.THORChain,
|
|
26
|
-
Chain.Ton,
|
|
27
|
-
Chain.Tron,
|
|
28
|
-
Chain.Zcash,
|
|
29
29
|
];
|
|
30
30
|
//# sourceMappingURL=SwapKitEnabledChains.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SwapKitEnabledChains.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/swap/general/swapkit/SwapKitEnabledChains.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAElD,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,KAAK,CAAC,QAAQ;IACd,KAAK,CAAC,QAAQ;IACd,KAAK,CAAC,SAAS;IACf,KAAK,CAAC,IAAI;IACV,KAAK,CAAC,GAAG;IACT,KAAK,CAAC,QAAQ;IACd,KAAK,CAAC,OAAO;IACb,KAAK,CAAC,MAAM;
|
|
1
|
+
{"version":3,"file":"SwapKitEnabledChains.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/swap/general/swapkit/SwapKitEnabledChains.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAElD,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,KAAK,CAAC,QAAQ;IACd,KAAK,CAAC,QAAQ;IACd,KAAK,CAAC,SAAS;IACf,KAAK,CAAC,IAAI;IACV,KAAK,CAAC,GAAG;IACT,KAAK,CAAC,QAAQ;IACd,KAAK,CAAC,OAAO;IACb,KAAK,CAAC,MAAM;IACZ,KAAK,CAAC,OAAO;IACb,KAAK,CAAC,WAAW;IACjB,KAAK,CAAC,QAAQ;IACd,KAAK,CAAC,QAAQ;IACd,KAAK,CAAC,MAAM;IACZ,KAAK,CAAC,GAAG;IACT,KAAK,CAAC,IAAI;IACV,KAAK,CAAC,KAAK;CACH,CAAA;AAIV,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,GAAG,mBAAmB;IACtB,KAAK,CAAC,OAAO;IACb,KAAK,CAAC,MAAM;IACZ,KAAK,CAAC,IAAI;IACV,KAAK,CAAC,MAAM;IACZ,KAAK,CAAC,SAAS;IACf,KAAK,CAAC,GAAG;IACT,KAAK,CAAC,SAAS;CACP,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getSwapKitQuote.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/swapkit/api/getSwapKitQuote.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAA;AAEnE,OAAO,EAAE,gBAAgB,EAAiB,MAAM,oDAAoD,CAAA;AAEpG,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,gEAAgE,CAAA;
|
|
1
|
+
{"version":3,"file":"getSwapKitQuote.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/swapkit/api/getSwapKitQuote.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAA;AAEnE,OAAO,EAAE,gBAAgB,EAAiB,MAAM,oDAAoD,CAAA;AAEpG,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,gEAAgE,CAAA;AAGxH,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AAEzE,KAAK,KAAK,GAAG,MAAM,CAAC,iBAAiB,EAAE,WAAW,CAAC,mBAAmB,CAAC,CAAC,GAAG;IACzE,IAAI,EAAE,WAAW,CAAC,kBAAkB,CAAC,CAAA;IACrC,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AA2dD,eAAO,MAAM,eAAe,GAAU,+CAMnC,KAAK,KAAG,OAAO,CAAC,gBAAgB,CA2BlC,CAAA"}
|