@vultisig/core-chain 2.2.0 → 2.2.2
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 +18 -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/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/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/quote/findSwapQuote.d.ts +15 -1
- package/dist/swap/quote/findSwapQuote.d.ts.map +1 -1
- package/dist/swap/quote/findSwapQuote.js +14 -2
- package/dist/swap/quote/findSwapQuote.js.map +1 -1
- package/dist/swap/swapEnabledChains.d.ts +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# @vultisig/core-chain
|
|
2
2
|
|
|
3
|
+
## 2.2.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#537](https://github.com/vultisig/vultisig-sdk/pull/537) [`fa95600`](https://github.com/vultisig/vultisig-sdk/commit/fa95600887cb8ca603e8ddcb9c8558eff2d0ea6b) Thanks [@gomesalexandre](https://github.com/gomesalexandre)! - chore: remove Station affiliate constants from shared SDK (closes [#536](https://github.com/vultisig/vultisig-sdk/issues/536))
|
|
8
|
+
|
|
9
|
+
Station-specific constants (`stvs` THORName, `0x649E...076D` EVM fee receiver) do not belong in a public package consumed by Windows and external users. The generic `affiliateConfig` injection seam on `findSwapQuote` + `SwapAffiliateConfig` type remain — those are correct SDK design. Station reconstructs the same three configs in its own consumer package (mcp-ts#201).
|
|
10
|
+
|
|
11
|
+
**BREAKING CHANGE:** `stationKyberSwapAffiliateConfig`, `stationNativeSwapAffiliateConfig`, and `stationOneInchAffiliateConfig` are no longer exported from `@vultisig/sdk`. See MIGRATING.md for the reconstruction pattern.
|
|
12
|
+
|
|
13
|
+
> **WARNING: DO NOT MERGE until vultisig/mcp-ts#201 lands.** Station must reconstruct these constants in its consumer package before this removal ships. Merging early will silently fall back to vultisig-0 affiliate defaults, breaking Station's affiliate fee routing on native swaps.
|
|
14
|
+
|
|
15
|
+
## 2.2.1
|
|
16
|
+
|
|
17
|
+
### Patch Changes
|
|
18
|
+
|
|
19
|
+
- [#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.
|
|
20
|
+
|
|
3
21
|
## 2.2.0
|
|
4
22
|
|
|
5
23
|
### Minor Changes
|
|
@@ -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"}
|
|
@@ -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"}
|
|
@@ -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"}
|
|
@@ -2,6 +2,7 @@ import { toChainAmount } from '@vultisig/core-chain/amount/toChainAmount';
|
|
|
2
2
|
import { Chain } from '@vultisig/core-chain/Chain';
|
|
3
3
|
import { chainFeeCoin } from '@vultisig/core-chain/coin/chainFeeCoin';
|
|
4
4
|
import { getSwapKitConfig } from '@vultisig/core-chain/swap/general/swapkit/config';
|
|
5
|
+
import { isOneOf } from '@vultisig/lib-utils/array/isOneOf';
|
|
5
6
|
import { withoutUndefinedFields } from '@vultisig/lib-utils/record/withoutUndefinedFields';
|
|
6
7
|
const swapKitAllowedProviders = [
|
|
7
8
|
'CHAINFLIP',
|
|
@@ -69,6 +70,16 @@ const swapKitChainId = {
|
|
|
69
70
|
[Chain.Tron]: 'TRON',
|
|
70
71
|
[Chain.Zcash]: 'ZEC',
|
|
71
72
|
};
|
|
73
|
+
const swapKitTransferSourceChains = [
|
|
74
|
+
Chain.Bitcoin,
|
|
75
|
+
Chain.BitcoinCash,
|
|
76
|
+
Chain.Dogecoin,
|
|
77
|
+
Chain.Litecoin,
|
|
78
|
+
Chain.Ripple,
|
|
79
|
+
Chain.Ton,
|
|
80
|
+
Chain.Tron,
|
|
81
|
+
Chain.Zcash,
|
|
82
|
+
];
|
|
72
83
|
const isRecord = (value) => typeof value === 'object' && value !== null;
|
|
73
84
|
const formatBasicUnitAmount = (amount, decimals) => {
|
|
74
85
|
const sign = amount < 0n ? '-' : '';
|
|
@@ -195,10 +206,63 @@ const buildSolanaTx = (tx, fees) => {
|
|
|
195
206
|
},
|
|
196
207
|
};
|
|
197
208
|
};
|
|
198
|
-
const
|
|
209
|
+
const getTransferTargetAddress = ({ targetAddress, depositAddress, tx }) => {
|
|
210
|
+
if (targetAddress) {
|
|
211
|
+
return targetAddress;
|
|
212
|
+
}
|
|
213
|
+
if (depositAddress) {
|
|
214
|
+
return depositAddress;
|
|
215
|
+
}
|
|
216
|
+
if (Array.isArray(tx) && isRecord(tx[0]) && typeof tx[0].address === 'string') {
|
|
217
|
+
return tx[0].address;
|
|
218
|
+
}
|
|
219
|
+
return undefined;
|
|
220
|
+
};
|
|
221
|
+
const toTransferAmount = (value, decimals) => {
|
|
222
|
+
if (typeof value === 'bigint') {
|
|
223
|
+
return value;
|
|
224
|
+
}
|
|
225
|
+
if (typeof value === 'number') {
|
|
226
|
+
if (!Number.isFinite(value)) {
|
|
227
|
+
throw new Error('SwapKit transfer route returned an invalid amount.');
|
|
228
|
+
}
|
|
229
|
+
return Number.isInteger(value) ? BigInt(value) : toChainAmount(value.toString(), decimals);
|
|
230
|
+
}
|
|
231
|
+
return value.includes('.') ? toChainAmount(value, decimals) : BigInt(value);
|
|
232
|
+
};
|
|
233
|
+
const getTransferAmount = ({ depositAmount, tx }, amount, decimals) => {
|
|
234
|
+
if (depositAmount) {
|
|
235
|
+
return toChainAmount(depositAmount, decimals);
|
|
236
|
+
}
|
|
237
|
+
if (Array.isArray(tx) &&
|
|
238
|
+
isRecord(tx[0]) &&
|
|
239
|
+
(typeof tx[0].amount === 'string' || typeof tx[0].amount === 'number' || typeof tx[0].amount === 'bigint')) {
|
|
240
|
+
return toTransferAmount(tx[0].amount, decimals);
|
|
241
|
+
}
|
|
242
|
+
return amount;
|
|
243
|
+
};
|
|
244
|
+
const shouldUseTransferTx = (chain) => isOneOf(chain, swapKitTransferSourceChains);
|
|
245
|
+
const buildTransferTx = (response, from, amount) => {
|
|
246
|
+
const to = getTransferTargetAddress(response);
|
|
247
|
+
if (!to) {
|
|
248
|
+
throw new Error('SwapKit transfer route did not return a target address.');
|
|
249
|
+
}
|
|
250
|
+
const transfer = {
|
|
251
|
+
to,
|
|
252
|
+
amount: getTransferAmount(response, amount, from.decimals),
|
|
253
|
+
...(response.memo ? { memo: response.memo } : {}),
|
|
254
|
+
};
|
|
255
|
+
return {
|
|
256
|
+
transfer,
|
|
257
|
+
};
|
|
258
|
+
};
|
|
259
|
+
const buildSwapKitTx = (response, from, amount) => {
|
|
199
260
|
if (from.chain === Chain.Solana) {
|
|
200
261
|
return buildSolanaTx(response.tx, response.fees);
|
|
201
262
|
}
|
|
263
|
+
if (shouldUseTransferTx(from.chain)) {
|
|
264
|
+
return buildTransferTx(response, from, amount);
|
|
265
|
+
}
|
|
202
266
|
return buildEvmTx(response.tx, from.address);
|
|
203
267
|
};
|
|
204
268
|
const routeExpectedBuyAmount = (route, decimals) => {
|
|
@@ -266,17 +330,18 @@ export const getSwapKitQuote = async ({ from, to, amount, affiliateBps, slippage
|
|
|
266
330
|
affiliateFee: affiliateBps,
|
|
267
331
|
};
|
|
268
332
|
const route = await getBestSwapKitRoute(quoteBody, to.decimals);
|
|
269
|
-
const swapResponse = await postSwapKit('/v3/swap', {
|
|
333
|
+
const swapResponse = await postSwapKit('/v3/swap', withoutUndefinedFields({
|
|
270
334
|
routeId: route.routeId,
|
|
271
335
|
sourceAddress: from.address,
|
|
272
336
|
destinationAddress: to.address,
|
|
273
337
|
disableBalanceCheck: true,
|
|
274
|
-
|
|
338
|
+
disableBuildTx: shouldUseTransferTx(from.chain) ? true : undefined,
|
|
339
|
+
}));
|
|
275
340
|
return {
|
|
276
341
|
dstAmount: parseExpectedBuyAmount(swapResponse.expectedBuyAmount ?? route.expectedBuyAmount, to.decimals),
|
|
277
342
|
provider: 'swapkit',
|
|
278
343
|
routeProvider: getRouteProviderName(swapResponse) ?? getRouteProviderName(route),
|
|
279
|
-
tx: buildSwapKitTx(swapResponse, from),
|
|
344
|
+
tx: buildSwapKitTx(swapResponse, from, amount),
|
|
280
345
|
};
|
|
281
346
|
};
|
|
282
347
|
//# sourceMappingURL=getSwapKitQuote.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getSwapKitQuote.js","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/swapkit/api/getSwapKitQuote.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"getSwapKitQuote.js","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/swapkit/api/getSwapKitQuote.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getSwapDestinationAddress.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/chain/swap/keysign/getSwapDestinationAddress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAA;AAGnE,OAAO,EAAE,SAAS,EAAmB,MAAM,2CAA2C,CAAA;AAMtF,KAAK,8BAA8B,GAAG;IACpC,KAAK,EAAE,SAAS,CAAA;IAChB,QAAQ,EAAE,WAAW,CAAA;CACtB,CAAA;AAED,eAAO,MAAM,yBAAyB,GAAI,qBAAqB,8BAA8B,KAAG,
|
|
1
|
+
{"version":3,"file":"getSwapDestinationAddress.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/chain/swap/keysign/getSwapDestinationAddress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAA;AAGnE,OAAO,EAAE,SAAS,EAAmB,MAAM,2CAA2C,CAAA;AAMtF,KAAK,8BAA8B,GAAG;IACpC,KAAK,EAAE,SAAS,CAAA;IAChB,QAAQ,EAAE,WAAW,CAAA;CACtB,CAAA;AAED,eAAO,MAAM,yBAAyB,GAAI,qBAAqB,8BAA8B,KAAG,MAa5F,CAAA"}
|
|
@@ -6,6 +6,7 @@ export const getSwapDestinationAddress = ({ quote, fromCoin }) => matchRecordUni
|
|
|
6
6
|
general: quote => matchRecordUnion(quote.tx, {
|
|
7
7
|
evm: ({ to }) => to,
|
|
8
8
|
solana: () => '',
|
|
9
|
+
transfer: ({ to }) => to,
|
|
9
10
|
}),
|
|
10
11
|
native: quote => {
|
|
11
12
|
const isErc20 = isOneOf(fromCoin.chain, Object.values(EvmChain)) && !isFeeCoin(fromCoin);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getSwapDestinationAddress.js","sourceRoot":"","sources":["../../../../../../packages/core/chain/swap/keysign/getSwapDestinationAddress.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAA;AAGrE,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAA;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAA;AAEvE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAOtC,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAkC,EAAU,EAAE,CACvG,gBAAgB,CAA0B,KAAK,CAAC,KAAK,EAAE;IACrD,OAAO,EAAE,KAAK,CAAC,EAAE,CACf,gBAAgB,CAAwB,KAAK,CAAC,EAAE,EAAE;QAChD,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE;QACnB,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"getSwapDestinationAddress.js","sourceRoot":"","sources":["../../../../../../packages/core/chain/swap/keysign/getSwapDestinationAddress.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAA;AAGrE,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAA;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAA;AAEvE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAOtC,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAkC,EAAU,EAAE,CACvG,gBAAgB,CAA0B,KAAK,CAAC,KAAK,EAAE;IACrD,OAAO,EAAE,KAAK,CAAC,EAAE,CACf,gBAAgB,CAAwB,KAAK,CAAC,EAAE,EAAE;QAChD,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE;QACnB,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE;QAChB,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE;KACzB,CAAC;IACJ,MAAM,EAAE,KAAK,CAAC,EAAE;QACd,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;QAExF,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAA;IAC7E,CAAC;CACF,CAAC,CAAA"}
|
|
@@ -1,13 +1,16 @@
|
|
|
1
|
+
import { nativeSwapAffiliateConfig } from '../nativeSwapAffiliateConfig.js';
|
|
1
2
|
import { NativeSwapChain } from '../NativeSwapChain.js';
|
|
3
|
+
export type NativeSwapAffiliateConfig = typeof nativeSwapAffiliateConfig;
|
|
2
4
|
type BuildAffiliateParamsInput = {
|
|
3
5
|
swapChain: NativeSwapChain;
|
|
4
6
|
referral?: string;
|
|
5
7
|
affiliateBps: number;
|
|
8
|
+
config?: NativeSwapAffiliateConfig;
|
|
6
9
|
};
|
|
7
10
|
type AffiliateParams = {
|
|
8
11
|
affiliate: string;
|
|
9
12
|
affiliate_bps: string;
|
|
10
13
|
};
|
|
11
|
-
export declare const buildAffiliateParams: ({ swapChain, referral, affiliateBps, }: BuildAffiliateParamsInput) => AffiliateParams;
|
|
14
|
+
export declare const buildAffiliateParams: ({ swapChain, referral, affiliateBps, config, }: BuildAffiliateParamsInput) => AffiliateParams;
|
|
12
15
|
export {};
|
|
13
16
|
//# sourceMappingURL=affiliate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"affiliate.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/swap/native/api/affiliate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"affiliate.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/swap/native/api/affiliate.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAA;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEpD,MAAM,MAAM,yBAAyB,GAAG,OAAO,yBAAyB,CAAA;AAExE,KAAK,yBAAyB,GAAG;IAC/B,SAAS,EAAE,eAAe,CAAA;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,yBAAyB,CAAA;CACnC,CAAA;AAED,KAAK,eAAe,GAAG;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,eAAO,MAAM,oBAAoB,GAAI,gDAKlC,yBAAyB,KAAG,eAuB9B,CAAA"}
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import { Chain } from '../../../Chain.js';
|
|
2
2
|
import { baseAffiliateBps } from '../../affiliate/config.js';
|
|
3
3
|
import { nativeSwapAffiliateConfig } from '../nativeSwapAffiliateConfig.js';
|
|
4
|
-
export const buildAffiliateParams = ({ swapChain, referral, affiliateBps, }) => {
|
|
4
|
+
export const buildAffiliateParams = ({ swapChain, referral, affiliateBps, config = nativeSwapAffiliateConfig, }) => {
|
|
5
5
|
const affiliateParams = [];
|
|
6
6
|
if (swapChain === Chain.THORChain && referral) {
|
|
7
7
|
affiliateParams.push({
|
|
8
8
|
affiliate: referral,
|
|
9
|
-
bps:
|
|
9
|
+
bps: config.referrerFeeRateBps,
|
|
10
10
|
});
|
|
11
11
|
affiliateParams.push({
|
|
12
|
-
affiliate:
|
|
13
|
-
bps: Math.max(0, affiliateBps - (baseAffiliateBps -
|
|
12
|
+
affiliate: config.affiliateFeeAddress,
|
|
13
|
+
bps: Math.max(0, affiliateBps - (baseAffiliateBps - config.referralDiscountAffiliateFeeRateBps)),
|
|
14
14
|
});
|
|
15
15
|
}
|
|
16
16
|
else {
|
|
17
17
|
affiliateParams.push({
|
|
18
|
-
affiliate:
|
|
18
|
+
affiliate: config.affiliateFeeAddress,
|
|
19
19
|
bps: affiliateBps,
|
|
20
20
|
});
|
|
21
21
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"affiliate.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/swap/native/api/affiliate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAA;
|
|
1
|
+
{"version":3,"file":"affiliate.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/swap/native/api/affiliate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAA;AAiBxE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,EACnC,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,MAAM,GAAG,yBAAyB,GACR,EAAmB,EAAE;IAC/C,MAAM,eAAe,GAA8C,EAAE,CAAA;IAErE,IAAI,SAAS,KAAK,KAAK,CAAC,SAAS,IAAI,QAAQ,EAAE,CAAC;QAC9C,eAAe,CAAC,IAAI,CAAC;YACnB,SAAS,EAAE,QAAQ;YACnB,GAAG,EAAE,MAAM,CAAC,kBAAkB;SAC/B,CAAC,CAAA;QACF,eAAe,CAAC,IAAI,CAAC;YACnB,SAAS,EAAE,MAAM,CAAC,mBAAmB;YACrC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,GAAG,CAAC,gBAAgB,GAAG,MAAM,CAAC,mCAAmC,CAAC,CAAC;SACjG,CAAC,CAAA;IACJ,CAAC;SAAM,CAAC;QACN,eAAe,CAAC,IAAI,CAAC;YACnB,SAAS,EAAE,MAAM,CAAC,mBAAmB;YACrC,GAAG,EAAE,YAAY;SAClB,CAAC,CAAA;IACJ,CAAC;IAED,OAAO;QACL,SAAS,EAAE,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAClE,aAAa,EAAE,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;KACjE,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -2,13 +2,15 @@ import { AccountCoin } from '@vultisig/core-chain/coin/AccountCoin';
|
|
|
2
2
|
import { TransferDirection } from '@vultisig/lib-utils/TransferDirection';
|
|
3
3
|
import { NativeSwapChain } from '../NativeSwapChain.js';
|
|
4
4
|
import { NativeSwapQuote } from '../NativeSwapQuote.js';
|
|
5
|
+
import { NativeSwapAffiliateConfig } from './affiliate.js';
|
|
5
6
|
type GetNativeSwapQuoteInput = Record<TransferDirection, AccountCoin> & {
|
|
6
7
|
swapChain: NativeSwapChain;
|
|
7
8
|
destination: string;
|
|
8
9
|
amount: number;
|
|
9
10
|
referral?: string;
|
|
10
11
|
affiliateBps?: number;
|
|
12
|
+
nativeAffiliateConfig?: NativeSwapAffiliateConfig;
|
|
11
13
|
};
|
|
12
|
-
export declare const getNativeSwapQuote: ({ swapChain, destination, from, to, amount, affiliateBps, referral, }: GetNativeSwapQuoteInput) => Promise<NativeSwapQuote>;
|
|
14
|
+
export declare const getNativeSwapQuote: ({ swapChain, destination, from, to, amount, affiliateBps, referral, nativeAffiliateConfig, }: GetNativeSwapQuoteInput) => Promise<NativeSwapQuote>;
|
|
13
15
|
export {};
|
|
14
16
|
//# sourceMappingURL=getNativeSwapQuote.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getNativeSwapQuote.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/swap/native/api/getNativeSwapQuote.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAA;AAGnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AAKzE,OAAO,EAEL,eAAe,EAGhB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"getNativeSwapQuote.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/swap/native/api/getNativeSwapQuote.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAA;AAGnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AAKzE,OAAO,EAEL,eAAe,EAGhB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEpD,OAAO,EAAwB,yBAAyB,EAAE,MAAM,aAAa,CAAA;AAE7E,KAAK,uBAAuB,GAAG,MAAM,CAAC,iBAAiB,EAAE,WAAW,CAAC,GAAG;IACtE,SAAS,EAAE,eAAe,CAAA;IAC1B,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,qBAAqB,CAAC,EAAE,yBAAyB,CAAA;CAClD,CAAA;AAuED,eAAO,MAAM,kBAAkB,GAAU,8FAStC,uBAAuB,KAAG,OAAO,CAAC,eAAe,CAoFnD,CAAA"}
|
|
@@ -9,7 +9,7 @@ import { nativeSwapApiBaseUrl, nativeSwapStreamingInterval, THORCHAIN_STREAMING_
|
|
|
9
9
|
import { getNativeSwapDecimals } from '../utils/getNativeSwapDecimals.js';
|
|
10
10
|
import { buildAffiliateParams } from './affiliate.js';
|
|
11
11
|
const THORCHAIN_STREAMING_SWAP_INTERVAL = 1;
|
|
12
|
-
const requestNativeSwapQuote = async ({ swapChain, swapBaseUrl, fromAsset, toAsset, chainAmount, destination, streamingInterval, streamingQuantity, affiliateBps, referral, }) => {
|
|
12
|
+
const requestNativeSwapQuote = async ({ swapChain, swapBaseUrl, fromAsset, toAsset, chainAmount, destination, streamingInterval, streamingQuantity, affiliateBps, referral, nativeAffiliateConfig, }) => {
|
|
13
13
|
const params = new URLSearchParams({
|
|
14
14
|
from_asset: fromAsset,
|
|
15
15
|
to_asset: toAsset,
|
|
@@ -22,6 +22,7 @@ const requestNativeSwapQuote = async ({ swapChain, swapBaseUrl, fromAsset, toAss
|
|
|
22
22
|
swapChain,
|
|
23
23
|
referral,
|
|
24
24
|
affiliateBps,
|
|
25
|
+
config: nativeAffiliateConfig,
|
|
25
26
|
})
|
|
26
27
|
: {}),
|
|
27
28
|
});
|
|
@@ -38,7 +39,7 @@ const assertOkQuote = (result, from) => {
|
|
|
38
39
|
}
|
|
39
40
|
return result;
|
|
40
41
|
};
|
|
41
|
-
export const getNativeSwapQuote = async ({ swapChain, destination, from, to, amount, affiliateBps, referral, }) => {
|
|
42
|
+
export const getNativeSwapQuote = async ({ swapChain, destination, from, to, amount, affiliateBps, referral, nativeAffiliateConfig, }) => {
|
|
42
43
|
const [fromAsset, toAsset] = [from, to].map(asset => toNativeSwapAsset(asset));
|
|
43
44
|
const fromDecimals = getNativeSwapDecimals(from);
|
|
44
45
|
const chainAmount = toChainAmount(amount, fromDecimals);
|
|
@@ -54,6 +55,7 @@ export const getNativeSwapQuote = async ({ swapChain, destination, from, to, amo
|
|
|
54
55
|
streamingInterval: nativeSwapStreamingInterval[swapChain],
|
|
55
56
|
affiliateBps,
|
|
56
57
|
referral,
|
|
58
|
+
nativeAffiliateConfig,
|
|
57
59
|
});
|
|
58
60
|
return {
|
|
59
61
|
...assertOkQuote(result, from),
|
|
@@ -70,6 +72,7 @@ export const getNativeSwapQuote = async ({ swapChain, destination, from, to, amo
|
|
|
70
72
|
streamingInterval: nativeSwapStreamingInterval[swapChain],
|
|
71
73
|
affiliateBps,
|
|
72
74
|
referral,
|
|
75
|
+
nativeAffiliateConfig,
|
|
73
76
|
});
|
|
74
77
|
const rapid = assertOkQuote(rapidResult, from);
|
|
75
78
|
const totalBps = rapid.fees.total_bps;
|
|
@@ -92,6 +95,7 @@ export const getNativeSwapQuote = async ({ swapChain, destination, from, to, amo
|
|
|
92
95
|
streamingQuantity,
|
|
93
96
|
affiliateBps,
|
|
94
97
|
referral,
|
|
98
|
+
nativeAffiliateConfig,
|
|
95
99
|
});
|
|
96
100
|
streaming = assertOkQuote(streamingRes, from);
|
|
97
101
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getNativeSwapQuote.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/swap/native/api/getNativeSwapQuote.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAA;AACzE,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAElD,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAA;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AAE7D,OAAO,EAAE,CAAC,EAAE,MAAM,SAAS,CAAA;AAE3B,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,EACL,oBAAoB,EAEpB,2BAA2B,EAC3B,0CAA0C,GAC3C,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAA;AACtE,OAAO,EAAE,oBAAoB,
|
|
1
|
+
{"version":3,"file":"getNativeSwapQuote.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/swap/native/api/getNativeSwapQuote.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,25 @@
|
|
|
1
1
|
import { AccountCoin } from '@vultisig/core-chain/coin/AccountCoin';
|
|
2
|
+
import { OneInchAffiliateConfig } from '@vultisig/core-chain/swap/general/oneInch/api/getOneInchSwapQuote';
|
|
2
3
|
import { TransferDirection } from '@vultisig/lib-utils/TransferDirection';
|
|
3
4
|
import { VultDiscountTier } from '../affiliate/index.js';
|
|
5
|
+
import { KyberSwapBaseAffiliateConfig } from '../general/kyber/config.js';
|
|
6
|
+
import { NativeSwapAffiliateConfig } from '../native/api/affiliate.js';
|
|
4
7
|
import { SwapQuote } from './SwapQuote.js';
|
|
8
|
+
/** Optional per-aggregator affiliate overrides. When absent each aggregator
|
|
9
|
+
* falls back to its own vultisig-0 default — no behavior change for existing
|
|
10
|
+
* callers. This TYPE is stable SDK API. Tenant consumers (e.g. Station) supply
|
|
11
|
+
* their own concrete config instances and pass them here; those instances live
|
|
12
|
+
* in the consumer package, not in the SDK. */
|
|
13
|
+
export type SwapAffiliateConfig = {
|
|
14
|
+
native?: NativeSwapAffiliateConfig;
|
|
15
|
+
oneInch?: OneInchAffiliateConfig;
|
|
16
|
+
kyber?: KyberSwapBaseAffiliateConfig;
|
|
17
|
+
};
|
|
5
18
|
export type FindSwapQuoteInput = Record<TransferDirection, AccountCoin> & {
|
|
6
19
|
amount: bigint;
|
|
7
20
|
referral?: string;
|
|
8
21
|
vultDiscountTier?: VultDiscountTier | null;
|
|
22
|
+
affiliateConfig?: SwapAffiliateConfig;
|
|
9
23
|
};
|
|
10
|
-
export declare const findSwapQuote: ({ from, to, amount, referral, vultDiscountTier, }: FindSwapQuoteInput) => Promise<SwapQuote>;
|
|
24
|
+
export declare const findSwapQuote: ({ from, to, amount, referral, vultDiscountTier, affiliateConfig, }: FindSwapQuoteInput) => Promise<SwapQuote>;
|
|
11
25
|
//# sourceMappingURL=findSwapQuote.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"findSwapQuote.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/chain/swap/quote/findSwapQuote.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAA;
|
|
1
|
+
{"version":3,"file":"findSwapQuote.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/chain/swap/quote/findSwapQuote.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAA;AAGnE,OAAO,EAEL,sBAAsB,EACvB,MAAM,mEAAmE,CAAA;AAa1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AAIzE,OAAO,EAAuB,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAIpE,OAAO,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAA;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAA;AAInE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC;;;;8CAI8C;AAC9C,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,CAAC,EAAE,yBAAyB,CAAA;IAClC,OAAO,CAAC,EAAE,sBAAsB,CAAA;IAChC,KAAK,CAAC,EAAE,4BAA4B,CAAA;CACrC,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,iBAAiB,EAAE,WAAW,CAAC,GAAG;IACxE,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAA;IAC1C,eAAe,CAAC,EAAE,mBAAmB,CAAA;CACtC,CAAA;AAqED,eAAO,MAAM,aAAa,GAAU,oEAOjC,kBAAkB,KAAG,OAAO,CAAC,SAAS,CAiMxC,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { getLifiSwapQuote } from '@vultisig/core-chain/swap/general/lifi/api/getLifiSwapQuote';
|
|
2
2
|
import { lifiSwapEnabledChains } from '@vultisig/core-chain/swap/general/lifi/LifiSwapEnabledChains';
|
|
3
|
-
import { getOneInchSwapQuote } from '@vultisig/core-chain/swap/general/oneInch/api/getOneInchSwapQuote';
|
|
3
|
+
import { getOneInchSwapQuote, } from '@vultisig/core-chain/swap/general/oneInch/api/getOneInchSwapQuote';
|
|
4
4
|
import { oneInchSwapEnabledChains } from '@vultisig/core-chain/swap/general/oneInch/OneInchSwapEnabledChains';
|
|
5
5
|
import { getSwapKitQuote } from '@vultisig/core-chain/swap/general/swapkit/api/getSwapKitQuote';
|
|
6
6
|
import { swapKitEnabledChains, swapKitSourceChains, } from '@vultisig/core-chain/swap/general/swapkit/SwapKitEnabledChains';
|
|
@@ -68,7 +68,16 @@ function selectBestEligibleQuote(settled) {
|
|
|
68
68
|
}
|
|
69
69
|
return best;
|
|
70
70
|
}
|
|
71
|
-
export const findSwapQuote = async ({ from, to, amount, referral, vultDiscountTier, }) => {
|
|
71
|
+
export const findSwapQuote = async ({ from, to, amount, referral, vultDiscountTier, affiliateConfig, }) => {
|
|
72
|
+
// Runtime guard: THORName affiliateFeeAddress must be lowercase.
|
|
73
|
+
// THORChain memo parsing is case-sensitive — passing 'STVS' instead of 'stvs'
|
|
74
|
+
// silently routes affiliate fees to the vultisig-0 default instead of the
|
|
75
|
+
// intended recipient. Fail loudly at call-site rather than silently misbehave.
|
|
76
|
+
const nativeAffiliateFeeAddress = affiliateConfig?.native?.affiliateFeeAddress;
|
|
77
|
+
if (nativeAffiliateFeeAddress !== undefined &&
|
|
78
|
+
nativeAffiliateFeeAddress !== nativeAffiliateFeeAddress.toLowerCase()) {
|
|
79
|
+
throw new Error(`THORName affiliateFeeAddress must be lowercase. THORChain memo parsing is case-sensitive. Using "${nativeAffiliateFeeAddress}" will silently break affiliate fee routing.`);
|
|
80
|
+
}
|
|
72
81
|
const affiliateBps = getSwapAffiliateBps(vultDiscountTier ?? null);
|
|
73
82
|
const vultDiscount = vultDiscountTier ? [{ vult: { tier: vultDiscountTier } }] : [];
|
|
74
83
|
const referralDiscount = referral ? [{ referral: {} }] : [];
|
|
@@ -87,6 +96,7 @@ export const findSwapQuote = async ({ from, to, amount, referral, vultDiscountTi
|
|
|
87
96
|
amount: amountNumber,
|
|
88
97
|
referral,
|
|
89
98
|
affiliateBps,
|
|
99
|
+
nativeAffiliateConfig: affiliateConfig?.native,
|
|
90
100
|
});
|
|
91
101
|
return {
|
|
92
102
|
quote: { native },
|
|
@@ -116,6 +126,7 @@ export const findSwapQuote = async ({ from, to, amount, referral, vultDiscountTi
|
|
|
116
126
|
},
|
|
117
127
|
amount: chainAmount,
|
|
118
128
|
affiliateBps,
|
|
129
|
+
kyberConfig: affiliateConfig?.kyber,
|
|
119
130
|
});
|
|
120
131
|
return { quote: { general }, discounts: vultDiscount };
|
|
121
132
|
},
|
|
@@ -131,6 +142,7 @@ export const findSwapQuote = async ({ from, to, amount, referral, vultDiscountTi
|
|
|
131
142
|
toCoinId: to.id ?? to.ticker,
|
|
132
143
|
amount: chainAmount,
|
|
133
144
|
affiliateBps,
|
|
145
|
+
oneInchConfig: affiliateConfig?.oneInch,
|
|
134
146
|
});
|
|
135
147
|
return { quote: { general }, discounts: vultDiscount };
|
|
136
148
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"findSwapQuote.js","sourceRoot":"","sources":["../../../../../../packages/core/chain/swap/quote/findSwapQuote.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6DAA6D,CAAA;AAC9F,OAAO,EAAE,qBAAqB,EAAE,MAAM,8DAA8D,CAAA;AACpG,OAAO,
|
|
1
|
+
{"version":3,"file":"findSwapQuote.js","sourceRoot":"","sources":["../../../../../../packages/core/chain/swap/quote/findSwapQuote.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const swapEnabledChains: readonly [...("Arbitrum" | "Base" | "Blast" | "Optimism" | "Zksync" | "Mantle" | "Avalanche" | "CronosChain" | "BSC" | "Ethereum" | "Polygon" | "Hyperliquid" | "Sei" | "Cosmos" | "Kujira" | "Noble" | "THORChain" | "MayaChain" | import("../Chain.js").UtxoChain | import("../Chain.js").OtherChain.Solana | import("../Chain.js").OtherChain.Ripple | import("../Chain.js").OtherChain.Tron)[], import("../Chain.js").OtherChain.Solana, "Ethereum", "Arbitrum", "Avalanche", "Base", "BSC", "Optimism", "Polygon", import("../Chain.js").OtherChain.Solana, import("../Chain.js").UtxoChain.Bitcoin, import("../Chain.js").UtxoChain.BitcoinCash, import("../Chain.js").
|
|
1
|
+
export declare const swapEnabledChains: readonly [...("Arbitrum" | "Base" | "Blast" | "Optimism" | "Zksync" | "Mantle" | "Avalanche" | "CronosChain" | "BSC" | "Ethereum" | "Polygon" | "Hyperliquid" | "Sei" | "Cosmos" | "Kujira" | "Noble" | "THORChain" | "MayaChain" | import("../Chain.js").UtxoChain | import("../Chain.js").OtherChain.Solana | import("../Chain.js").OtherChain.Ripple | import("../Chain.js").OtherChain.Tron)[], import("../Chain.js").OtherChain.Solana, "Ethereum", "Arbitrum", "Avalanche", "Base", "BSC", "Optimism", "Polygon", import("../Chain.js").OtherChain.Solana, import("../Chain.js").UtxoChain.Bitcoin, import("../Chain.js").UtxoChain.BitcoinCash, import("../Chain.js").UtxoChain.Dogecoin, import("../Chain.js").UtxoChain.Litecoin, import("../Chain.js").OtherChain.Ripple, import("../Chain.js").OtherChain.Ton, import("../Chain.js").OtherChain.Tron, import("../Chain.js").UtxoChain.Zcash, import("../Chain.js").OtherChain.Cardano, "Cosmos", import("../Chain.js").UtxoChain.Dash, "Kujira", "MayaChain", import("../Chain.js").OtherChain.Sui, "THORChain"];
|
|
2
2
|
//# sourceMappingURL=swapEnabledChains.d.ts.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vultisig/core-chain",
|
|
3
|
-
"version": "2.2.
|
|
3
|
+
"version": "2.2.2",
|
|
4
4
|
"description": "Blockchain chain logic shared across Vultisig clients",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -1708,7 +1708,7 @@
|
|
|
1708
1708
|
"7z-wasm": "^1.2.0",
|
|
1709
1709
|
"@bufbuild/protobuf": "^2.11.0",
|
|
1710
1710
|
"@cosmjs/amino": "^0.38.1",
|
|
1711
|
-
"@cosmjs/encoding": "^0.
|
|
1711
|
+
"@cosmjs/encoding": "^0.39.0",
|
|
1712
1712
|
"@cosmjs/proto-signing": "^0.38.1",
|
|
1713
1713
|
"@cosmjs/stargate": "^0.38.1",
|
|
1714
1714
|
"@lifi/sdk": "^3.16.2",
|