@7kprotocol/sdk-ts 3.5.2-beta.1 → 3.5.2-beta.3
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/lib/cjs/features/metaAg/index.js +11 -3
- package/lib/cjs/features/metaAg/providers/bluefin7k.js +57 -0
- package/lib/cjs/features/metaAg/providers/{bluefin.js → bluefin7kLegacy.js} +6 -6
- package/lib/cjs/features/metaAg/providers/okx.js +2 -1
- package/lib/cjs/types/features/metaAg/common.d.ts +1 -1
- package/lib/cjs/types/features/metaAg/index.d.ts.map +1 -1
- package/lib/cjs/types/features/metaAg/providers/bluefin7k.d.ts +11 -0
- package/lib/cjs/types/features/metaAg/providers/bluefin7k.d.ts.map +1 -0
- package/lib/cjs/types/features/metaAg/providers/bluefin7kLegacy.d.ts +11 -0
- package/lib/cjs/types/features/metaAg/providers/bluefin7kLegacy.d.ts.map +1 -0
- package/lib/cjs/types/features/metaAg/providers/okx.d.ts.map +1 -1
- package/lib/cjs/types/features/swap/buildTx.d.ts.map +1 -1
- package/lib/cjs/types/metaAg.js +3 -1
- package/lib/cjs/types/types/metaAg.d.ts +17 -6
- package/lib/cjs/types/types/metaAg.d.ts.map +1 -1
- package/lib/cjs/types/utils/sui.d.ts +1 -0
- package/lib/cjs/types/utils/sui.d.ts.map +1 -1
- package/lib/cjs/utils/sui.js +16 -1
- package/lib/esm/features/metaAg/index.js +11 -3
- package/lib/esm/features/metaAg/providers/bluefin7k.js +55 -0
- package/lib/esm/features/metaAg/providers/{bluefin.js → bluefin7kLegacy.js} +4 -4
- package/lib/esm/features/metaAg/providers/okx.js +2 -1
- package/lib/esm/types/features/metaAg/common.d.ts +1 -1
- package/lib/esm/types/features/metaAg/index.d.ts.map +1 -1
- package/lib/esm/types/features/metaAg/providers/bluefin7k.d.ts +11 -0
- package/lib/esm/types/features/metaAg/providers/bluefin7k.d.ts.map +1 -0
- package/lib/esm/types/features/metaAg/providers/bluefin7kLegacy.d.ts +11 -0
- package/lib/esm/types/features/metaAg/providers/bluefin7kLegacy.d.ts.map +1 -0
- package/lib/esm/types/features/metaAg/providers/okx.d.ts.map +1 -1
- package/lib/esm/types/features/swap/buildTx.d.ts.map +1 -1
- package/lib/esm/types/metaAg.js +3 -1
- package/lib/esm/types/types/metaAg.d.ts +17 -6
- package/lib/esm/types/types/metaAg.d.ts.map +1 -1
- package/lib/esm/types/utils/sui.d.ts +1 -0
- package/lib/esm/types/utils/sui.d.ts.map +1 -1
- package/lib/esm/utils/sui.js +15 -1
- package/package.json +3 -1
- package/lib/cjs/types/features/metaAg/providers/bluefin.d.ts +0 -11
- package/lib/cjs/types/features/metaAg/providers/bluefin.d.ts.map +0 -1
- package/lib/esm/types/features/metaAg/providers/bluefin.d.ts +0 -11
- package/lib/esm/types/features/metaAg/providers/bluefin.d.ts.map +0 -1
|
@@ -40,10 +40,11 @@ const utils_1 = require("@mysten/sui/utils");
|
|
|
40
40
|
const sui_1 = require("../../constants/sui");
|
|
41
41
|
const metaAg_1 = require("../../types/metaAg");
|
|
42
42
|
const condition_1 = require("../../utils/condition");
|
|
43
|
+
const sui_2 = require("../../utils/sui");
|
|
43
44
|
const SuiClientUtils_1 = require("../../utils/SuiClientUtils");
|
|
44
45
|
const buildTx_1 = require("../swap/buildTx");
|
|
45
46
|
const common_1 = require("./common");
|
|
46
|
-
const
|
|
47
|
+
const bluefin7kLegacy_1 = require("./providers/bluefin7kLegacy");
|
|
47
48
|
const bluefinx_1 = require("./providers/bluefinx");
|
|
48
49
|
const okx_1 = require("./providers/okx");
|
|
49
50
|
const HERMES_API = "https://hermes.pyth.network";
|
|
@@ -78,8 +79,12 @@ class MetaAg {
|
|
|
78
79
|
const providerOptions = this.options.providers[provider];
|
|
79
80
|
(0, condition_1.assert)(!!providerOptions, `Provider not found: ${provider}`);
|
|
80
81
|
switch (provider) {
|
|
82
|
+
case metaAg_1.EProvider.BLUEFIN7K_LEGACY:
|
|
83
|
+
this.providers[metaAg_1.EProvider.BLUEFIN7K_LEGACY] = new bluefin7kLegacy_1.BluefinLegacyProvider(providerOptions, this.options, this.client);
|
|
84
|
+
break;
|
|
81
85
|
case metaAg_1.EProvider.BLUEFIN7K:
|
|
82
|
-
|
|
86
|
+
const { Bluefin7kProvider } = await Promise.resolve().then(() => __importStar(require("./providers/bluefin7k"))).catch(catchImportError(metaAg_1.EProvider.BLUEFIN7K));
|
|
87
|
+
this.providers[metaAg_1.EProvider.BLUEFIN7K] = new Bluefin7kProvider(providerOptions, this.options, this.client);
|
|
83
88
|
break;
|
|
84
89
|
case metaAg_1.EProvider.FLOWX:
|
|
85
90
|
const { FlowxProvider } = await Promise.resolve().then(() => __importStar(require("./providers/flowx"))).catch(catchImportError(metaAg_1.EProvider.FLOWX));
|
|
@@ -205,6 +210,7 @@ class MetaAg {
|
|
|
205
210
|
const provider = await this._getProvider(options.quote.provider);
|
|
206
211
|
(0, condition_1.assert)(!!provider, `Provider not found: ${options.quote.provider}`);
|
|
207
212
|
(0, condition_1.assert)((0, metaAg_1.isAggregatorProvider)(provider), `Provider does not support swap: ${provider.kind}`);
|
|
213
|
+
(0, condition_1.assert)(!(0, sui_2.isSystemAddress)(options.signer), "Invalid signer address");
|
|
208
214
|
const coinOut = await provider.swap(options);
|
|
209
215
|
options.tx.add((0, common_1.metaSettle)(options.quote, coinOut, slippageBps ?? this.options.slippageBps ?? 100, this.options.tipBps, this.options.partner, this.options.partnerCommissionBps));
|
|
210
216
|
options.tx.setSenderIfNotSet(options.signer);
|
|
@@ -216,6 +222,7 @@ class MetaAg {
|
|
|
216
222
|
* @returns - txDigest of the transaction
|
|
217
223
|
*/
|
|
218
224
|
async fastSwap(options, getTransactionBlockParams) {
|
|
225
|
+
(0, condition_1.assert)(!(0, sui_2.isSystemAddress)(options.signer), "Invalid signer address");
|
|
219
226
|
const provider = await this._getProvider(options.quote.provider);
|
|
220
227
|
if ((0, metaAg_1.isAggregatorProvider)(provider)) {
|
|
221
228
|
return this._fastSwap(options, getTransactionBlockParams);
|
|
@@ -268,7 +275,8 @@ const catchImportError = (provider) => {
|
|
|
268
275
|
const map = {
|
|
269
276
|
[metaAg_1.EProvider.CETUS]: "@cetusprotocol/aggregator-sdk",
|
|
270
277
|
[metaAg_1.EProvider.FLOWX]: "@flowx-finance/sdk",
|
|
271
|
-
[metaAg_1.EProvider.
|
|
278
|
+
[metaAg_1.EProvider.BLUEFIN7K_LEGACY]: "@7kprotocol/sdk-ts",
|
|
279
|
+
[metaAg_1.EProvider.BLUEFIN7K]: "@bluefin-exchange/bluefin7k-aggregator-sdk",
|
|
272
280
|
[metaAg_1.EProvider.ASTRO]: "@naviprotocol/astros-aggregator-sdk",
|
|
273
281
|
[metaAg_1.EProvider.OKX]: "",
|
|
274
282
|
[metaAg_1.EProvider.BLUEFINX]: "",
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Bluefin7kProvider = void 0;
|
|
4
|
+
const bluefin7k_aggregator_sdk_1 = require("@bluefin-exchange/bluefin7k-aggregator-sdk");
|
|
5
|
+
const uuid_1 = require("uuid");
|
|
6
|
+
const _7k_1 = require("../../../constants/_7k");
|
|
7
|
+
const metaAg_1 = require("../../../types/metaAg");
|
|
8
|
+
const condition_1 = require("../../../utils/condition");
|
|
9
|
+
class Bluefin7kProvider {
|
|
10
|
+
constructor(options, metaOptions, client) {
|
|
11
|
+
this.options = options;
|
|
12
|
+
this.metaOptions = metaOptions;
|
|
13
|
+
this.kind = metaAg_1.EProvider.BLUEFIN7K;
|
|
14
|
+
if (options.apiKey)
|
|
15
|
+
bluefin7k_aggregator_sdk_1.Config.setApiKey(options.apiKey);
|
|
16
|
+
bluefin7k_aggregator_sdk_1.Config.setSuiClient(client);
|
|
17
|
+
}
|
|
18
|
+
async quote(quoteOptions) {
|
|
19
|
+
const quote = await (0, bluefin7k_aggregator_sdk_1.getQuote)({
|
|
20
|
+
tokenIn: quoteOptions.coinTypeIn,
|
|
21
|
+
tokenOut: quoteOptions.coinTypeOut,
|
|
22
|
+
amountIn: quoteOptions.amountIn,
|
|
23
|
+
sources: this.options.sources,
|
|
24
|
+
excludedPools: this.options.excludedPools,
|
|
25
|
+
targetPools: this.options.targetPools,
|
|
26
|
+
});
|
|
27
|
+
(0, condition_1.assert)(!!quote, "No quote found");
|
|
28
|
+
return {
|
|
29
|
+
id: (0, uuid_1.v4)(),
|
|
30
|
+
provider: metaAg_1.EProvider.BLUEFIN7K,
|
|
31
|
+
quote,
|
|
32
|
+
amountIn: quote.swapAmountWithDecimal,
|
|
33
|
+
rawAmountOut: quote.returnAmountWithDecimal,
|
|
34
|
+
amountOut: quote.returnAmountWithDecimal,
|
|
35
|
+
coinTypeIn: quoteOptions.coinTypeIn,
|
|
36
|
+
coinTypeOut: quoteOptions.coinTypeOut,
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
async swap({ quote, signer, tx, coinIn }) {
|
|
40
|
+
(0, condition_1.assert)(quote.provider === metaAg_1.EProvider.BLUEFIN7K, "Invalid quote");
|
|
41
|
+
const { coinOut } = await (0, bluefin7k_aggregator_sdk_1.buildTx)({
|
|
42
|
+
quoteResponse: quote.quote,
|
|
43
|
+
accountAddress: signer,
|
|
44
|
+
commission: {
|
|
45
|
+
commissionBps: 0,
|
|
46
|
+
partner: _7k_1._7K_PARTNER_ADDRESS,
|
|
47
|
+
},
|
|
48
|
+
slippage: 1,
|
|
49
|
+
extendTx: {
|
|
50
|
+
tx,
|
|
51
|
+
coinIn,
|
|
52
|
+
},
|
|
53
|
+
});
|
|
54
|
+
return coinOut;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
exports.Bluefin7kProvider = Bluefin7kProvider;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.BluefinLegacyProvider = void 0;
|
|
4
4
|
const pyth_sui_js_1 = require("@pythnetwork/pyth-sui-js");
|
|
5
5
|
const uuid_1 = require("uuid");
|
|
6
6
|
const config_1 = require("../../../config");
|
|
@@ -11,11 +11,11 @@ const buildTxV2_1 = require("../../swap/buildTxV2");
|
|
|
11
11
|
const getQuote_1 = require("../../swap/getQuote");
|
|
12
12
|
const WORMHOLE_STATE_ID = "0xaeab97f96cf9877fee2883315d459552b2b921edc16d7ceac6eab944dd88919c";
|
|
13
13
|
const PYTH_STATE_ID = "0x1f9310238ee9298fb703c3419030b35b22bb1cc37113e3bb5007c99aec79e5b8";
|
|
14
|
-
class
|
|
14
|
+
class BluefinLegacyProvider {
|
|
15
15
|
constructor(options, metaOptions, client) {
|
|
16
16
|
this.options = options;
|
|
17
17
|
this.metaOptions = metaOptions;
|
|
18
|
-
this.kind = metaAg_1.EProvider.
|
|
18
|
+
this.kind = metaAg_1.EProvider.BLUEFIN7K_LEGACY;
|
|
19
19
|
const pythClient = new pyth_sui_js_1.SuiPythClient(client, PYTH_STATE_ID, WORMHOLE_STATE_ID);
|
|
20
20
|
const pythConnection = new pyth_sui_js_1.SuiPriceServiceConnection(this.metaOptions.hermesApi);
|
|
21
21
|
if (options.apiKey)
|
|
@@ -38,7 +38,7 @@ class BluefinProvider {
|
|
|
38
38
|
});
|
|
39
39
|
return {
|
|
40
40
|
id: (0, uuid_1.v4)(),
|
|
41
|
-
provider: metaAg_1.EProvider.
|
|
41
|
+
provider: metaAg_1.EProvider.BLUEFIN7K_LEGACY,
|
|
42
42
|
quote,
|
|
43
43
|
amountIn: quote.swapAmountWithDecimal,
|
|
44
44
|
rawAmountOut: quote.returnAmountWithDecimal,
|
|
@@ -48,7 +48,7 @@ class BluefinProvider {
|
|
|
48
48
|
};
|
|
49
49
|
}
|
|
50
50
|
async swap({ quote, signer, tx, coinIn }) {
|
|
51
|
-
(0, condition_1.assert)(quote.provider === metaAg_1.EProvider.
|
|
51
|
+
(0, condition_1.assert)(quote.provider === metaAg_1.EProvider.BLUEFIN7K_LEGACY, "Invalid quote");
|
|
52
52
|
const { coinOut } = await (0, buildTxV2_1.buildTxV2)({
|
|
53
53
|
quoteResponse: quote.quote,
|
|
54
54
|
accountAddress: signer,
|
|
@@ -65,4 +65,4 @@ class BluefinProvider {
|
|
|
65
65
|
return coinOut;
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
|
-
exports.
|
|
68
|
+
exports.BluefinLegacyProvider = BluefinLegacyProvider;
|
|
@@ -40,6 +40,7 @@ const uuid_1 = require("uuid");
|
|
|
40
40
|
const tokens_1 = require("../../../constants/tokens");
|
|
41
41
|
const metaAg_1 = require("../../../types/metaAg");
|
|
42
42
|
const condition_1 = require("../../../utils/condition");
|
|
43
|
+
const sui_1 = require("../../../utils/sui");
|
|
43
44
|
const common_1 = require("../common");
|
|
44
45
|
const API = "https://web3.okx.com";
|
|
45
46
|
const SWAP_PATH = "/api/v5/dex/aggregator/swap";
|
|
@@ -53,7 +54,7 @@ class OkxProvider {
|
|
|
53
54
|
this.kind = metaAg_1.EProvider.OKX;
|
|
54
55
|
}
|
|
55
56
|
async quote({ amountIn, coinTypeIn, coinTypeOut, signer, }) {
|
|
56
|
-
if (!signer)
|
|
57
|
+
if (!signer || (0, sui_1.isSystemAddress)(signer))
|
|
57
58
|
return null;
|
|
58
59
|
const request = {
|
|
59
60
|
chainId: CHAIN_ID,
|
|
@@ -18,7 +18,7 @@ export declare const simulateAggregator: (provider: AggregatorProvider, quote: M
|
|
|
18
18
|
simulatedAmountOut: string;
|
|
19
19
|
gasUsed: GasCostSummary;
|
|
20
20
|
id: string;
|
|
21
|
-
provider: EProvider.BLUEFIN7K | EProvider.CETUS | EProvider.FLOWX | EProvider.ASTRO;
|
|
21
|
+
provider: EProvider.BLUEFIN7K_LEGACY | EProvider.BLUEFIN7K | EProvider.CETUS | EProvider.FLOWX | EProvider.ASTRO;
|
|
22
22
|
}>;
|
|
23
23
|
/**
|
|
24
24
|
* this settlement does not charge commission fee for partner, since all integrated aggregators already charge commission fee for partner
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/metaAg/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,yBAAyB,EACzB,SAAS,EACT,2BAA2B,EAC5B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAGL,yBAAyB,EAC1B,MAAM,0BAA0B,CAAC;AAGlC,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/metaAg/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,yBAAyB,EACzB,SAAS,EACT,2BAA2B,EAC5B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAGL,yBAAyB,EAC1B,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAUL,aAAa,EACb,mBAAmB,EACnB,SAAS,EACT,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EAGhB,MAAM,oBAAoB,CAAC;AAyB5B,qBAAa,MAAM;IACjB,MAAM,EAAE,SAAS,CAAC;IAClB,OAAO,CAAC,SAAS,CAAiD;IAClE,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,OAAO,CAA0B;gBAC7B,OAAO,CAAC,EAAE,aAAa;YAkBrB,YAAY;YAqEZ,SAAS;YAkCT,MAAM;YAqBN,SAAS;IA2BvB;;;;;OAKG;IACG,KAAK,CACT,OAAO,EAAE,gBAAgB,EACzB,UAAU,CAAC,EAAE,qBAAqB,GACjC,OAAO,CAAC,SAAS,EAAE,CAAC;IAsCvB;;;;;;;OAOG;IACG,IAAI,CACR,OAAO,EAAE,eAAe,EACxB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,yBAAyB,CAAC;IAuBrC;;;;OAIG;IACG,QAAQ,CACZ,OAAO,EAAE,mBAAmB,EAC5B,yBAAyB,CAAC,EAAE,IAAI,CAAC,yBAAyB,EAAE,QAAQ,CAAC,GACpE,OAAO,CAAC,2BAA2B,CAAC;IAevC;;;OAGG;IACH,mBAAmB,CAAC,OAAO,EAAE,aAAa;CA4B3C"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { SuiClient } from "@mysten/sui/client";
|
|
2
|
+
import { AggregatorProvider, Bluefin7kProviderOptions, EProvider, MetaAgOptions, MetaQuote, MetaQuoteOptions, MetaSwapOptions, QuoteProvider } from "../../../types/metaAg";
|
|
3
|
+
export declare class Bluefin7kProvider implements QuoteProvider, AggregatorProvider {
|
|
4
|
+
private readonly options;
|
|
5
|
+
private readonly metaOptions;
|
|
6
|
+
readonly kind = EProvider.BLUEFIN7K;
|
|
7
|
+
constructor(options: Bluefin7kProviderOptions, metaOptions: Required<MetaAgOptions>, client: SuiClient);
|
|
8
|
+
quote(quoteOptions: MetaQuoteOptions): Promise<MetaQuote>;
|
|
9
|
+
swap({ quote, signer, tx, coinIn }: MetaSwapOptions): Promise<import("@mysten/sui/dist/cjs/transactions").TransactionObjectArgument>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=bluefin7k.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bluefin7k.d.ts","sourceRoot":"","sources":["../../../../../../src/features/metaAg/providers/bluefin7k.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAG/C,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,SAAS,EACT,aAAa,EACb,SAAS,EACT,gBAAgB,EAChB,eAAe,EACf,aAAa,EACd,MAAM,uBAAuB,CAAC;AAG/B,qBAAa,iBAAkB,YAAW,aAAa,EAAE,kBAAkB;IAGvE,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAH9B,QAAQ,CAAC,IAAI,uBAAuB;gBAEjB,OAAO,EAAE,wBAAwB,EACjC,WAAW,EAAE,QAAQ,CAAC,aAAa,CAAC,EACrD,MAAM,EAAE,SAAS;IAMb,KAAK,CAAC,YAAY,EAAE,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC;IAsBzD,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,eAAe;CAiB1D"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { SuiClient } from "@mysten/sui/client";
|
|
2
|
+
import { AggregatorProvider, BluefinLegacyProviderOptions, EProvider, MetaAgOptions, MetaQuote, MetaQuoteOptions, MetaSwapOptions, QuoteProvider } from "../../../types/metaAg";
|
|
3
|
+
export declare class BluefinLegacyProvider implements QuoteProvider, AggregatorProvider {
|
|
4
|
+
private readonly options;
|
|
5
|
+
private readonly metaOptions;
|
|
6
|
+
readonly kind = EProvider.BLUEFIN7K_LEGACY;
|
|
7
|
+
constructor(options: BluefinLegacyProviderOptions, metaOptions: Required<MetaAgOptions>, client: SuiClient);
|
|
8
|
+
quote(options: MetaQuoteOptions): Promise<MetaQuote>;
|
|
9
|
+
swap({ quote, signer, tx, coinIn }: MetaSwapOptions): Promise<import("@mysten/sui/dist/cjs/transactions").TransactionObjectArgument>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=bluefin7kLegacy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bluefin7kLegacy.d.ts","sourceRoot":"","sources":["../../../../../../src/features/metaAg/providers/bluefin7kLegacy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAS/C,OAAO,EACL,kBAAkB,EAClB,4BAA4B,EAC5B,SAAS,EACT,aAAa,EACb,SAAS,EACT,gBAAgB,EAChB,eAAe,EACf,aAAa,EACd,MAAM,uBAAuB,CAAC;AAQ/B,qBAAa,qBACX,YAAW,aAAa,EAAE,kBAAkB;IAI1C,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAH9B,QAAQ,CAAC,IAAI,8BAA8B;gBAExB,OAAO,EAAE,4BAA4B,EACrC,WAAW,EAAE,QAAQ,CAAC,aAAa,CAAC,EACrD,MAAM,EAAE,SAAS;IAgBb,KAAK,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC;IAqBpD,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,eAAe;CAiB1D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"okx.d.ts","sourceRoot":"","sources":["../../../../../../src/features/metaAg/providers/okx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAc/C,OAAO,EACL,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,SAAS,EACT,gBAAgB,EAChB,qBAAqB,EAErB,kBAAkB,EAClB,aAAa,EACb,eAAe,EAChB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"okx.d.ts","sourceRoot":"","sources":["../../../../../../src/features/metaAg/providers/okx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAc/C,OAAO,EACL,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,SAAS,EACT,gBAAgB,EAChB,qBAAqB,EAErB,kBAAkB,EAClB,aAAa,EACb,eAAe,EAChB,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAO/D,qBAAa,WAAY,YAAW,aAAa,EAAE,eAAe;IAG9D,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJzB,QAAQ,CAAC,IAAI,iBAAiB;gBAEX,OAAO,EAAE,kBAAkB,EAC3B,WAAW,EAAE,QAAQ,CAAC,aAAa,CAAC,EACpC,MAAM,EAAE,SAAS;IAG9B,KAAK,CAAC,EACV,QAAQ,EACR,UAAU,EACV,WAAW,EACX,MAAM,GACP,EAAE,gBAAgB,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IA+BzC,QAAQ,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC;CAuB9D;AAyGD,eAAO,MAAM,eAAe,GAC1B,CAAC,SAAS,SAAS,GAAG;IAAE,QAAQ,EAAE,SAAS,CAAC,GAAG,CAAA;CAAE,EAEjD,OAAO,CAAC,EACR,WAAW,cAAc,EACzB,YAAY,qBAAqB,EACjC,aAAa,QAAQ,CAAC,aAAa,CAAC;;;;;EAoBrC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildTx.d.ts","sourceRoot":"","sources":["../../../../../src/features/swap/buildTx.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,WAAW,EACX,yBAAyB,EAC1B,MAAM,0BAA0B,CAAC;AAOlC,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAEjE,OAAO,EACL,aAAa,EACb,UAAU,EAEV,aAAa,EACb,SAAS,EACV,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAK/C,eAAO,MAAM,OAAO,GAAU,2GAQ3B,aAAa,KAAG,OAAO,CAAC,aAAa,CA+FvC,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,WAAW,aAAa,EAAE,aAa3D,CAAC;AAEF,eAAO,MAAM,yBAAyB,GACpC,IAAI,WAAW,EACf,eAAe,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"buildTx.d.ts","sourceRoot":"","sources":["../../../../../src/features/swap/buildTx.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,WAAW,EACX,yBAAyB,EAC1B,MAAM,0BAA0B,CAAC;AAOlC,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAEjE,OAAO,EACL,aAAa,EACb,UAAU,EAEV,aAAa,EACb,SAAS,EACV,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAK/C,eAAO,MAAM,OAAO,GAAU,2GAQ3B,aAAa,KAAG,OAAO,CAAC,aAAa,CA+FvC,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,WAAW,aAAa,EAAE,aAa3D,CAAC;AAEF,eAAO,MAAM,yBAAyB,GACpC,IAAI,WAAW,EACf,eAAe,aAAa,EAAE,oCAkB/B,CAAC;AAEF,eAAO,MAAM,cAAc,GACzB,QAAQ,SAAS,EAAE,EAAE,EACrB,cAAc,OAAO,SAWtB,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,cAAc,MAAM,EACpB,aAAa,MAAM,EACnB,eAAe,MAAM,EACrB,SAAQ,MAAU;;;;;CA8BnB,CAAC;AAEF,eAAO,MAAM,MAAM,GACjB,aAAa,yBAAyB,EAAE,EACxC,eAAe,aAAa,EAC5B,aAAa,MAAM,EACnB,aAAa,UAAU,MAEf,IAAI,WAAW,8BAiCxB,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,IAAI,WAAW,EACf,gBAAgB,MAAM,EACtB,eAAe,aAAa,wBAyB7B,CAAC"}
|
package/lib/cjs/types/metaAg.js
CHANGED
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.isSwapAPIProvider = exports.isAggregatorProvider = exports.EProvider = void 0;
|
|
4
4
|
var EProvider;
|
|
5
5
|
(function (EProvider) {
|
|
6
|
+
EProvider["BLUEFIN7K_LEGACY"] = "bluefin7k_legacy";
|
|
6
7
|
EProvider["BLUEFIN7K"] = "bluefin7k";
|
|
7
8
|
EProvider["CETUS"] = "cetus";
|
|
8
9
|
EProvider["FLOWX"] = "flowx";
|
|
@@ -10,7 +11,8 @@ var EProvider;
|
|
|
10
11
|
EProvider["BLUEFINX"] = "bluefinx";
|
|
11
12
|
EProvider["ASTRO"] = "astro";
|
|
12
13
|
})(EProvider || (exports.EProvider = EProvider = {}));
|
|
13
|
-
const isAggregatorProvider = (provider) => provider.kind === EProvider.
|
|
14
|
+
const isAggregatorProvider = (provider) => provider.kind === EProvider.BLUEFIN7K_LEGACY ||
|
|
15
|
+
provider.kind === EProvider.BLUEFIN7K ||
|
|
14
16
|
provider.kind === EProvider.CETUS ||
|
|
15
17
|
provider.kind === EProvider.FLOWX ||
|
|
16
18
|
provider.kind === EProvider.ASTRO;
|
|
@@ -4,9 +4,11 @@ import type { GasCostSummary } from "@mysten/sui/client";
|
|
|
4
4
|
import { SignatureWithBytes } from "@mysten/sui/cryptography";
|
|
5
5
|
import type { Transaction, TransactionObjectArgument } from "@mysten/sui/transactions";
|
|
6
6
|
import type { Quote, SwapOptions } from "@naviprotocol/astros-aggregator-sdk";
|
|
7
|
-
import { QuoteResponse, SourceDex } from "
|
|
7
|
+
import type { QuoteResponse, SourceDex } from "@bluefin-exchange/bluefin7k-aggregator-sdk";
|
|
8
|
+
import { QuoteResponse as LegacyQuoteResponse, SourceDex as LegacySourceDex } from "./aggregator";
|
|
8
9
|
import { OkxSwapResponseData } from "./okx";
|
|
9
10
|
export declare enum EProvider {
|
|
11
|
+
BLUEFIN7K_LEGACY = "bluefin7k_legacy",
|
|
10
12
|
BLUEFIN7K = "bluefin7k",
|
|
11
13
|
CETUS = "cetus",
|
|
12
14
|
FLOWX = "flowx",
|
|
@@ -19,12 +21,17 @@ type ProviderBaseOptions = {
|
|
|
19
21
|
apiKey?: string;
|
|
20
22
|
disabled?: boolean;
|
|
21
23
|
};
|
|
22
|
-
export type
|
|
23
|
-
sources?:
|
|
24
|
+
export type BluefinLegacyProviderOptions = ProviderBaseOptions & {
|
|
25
|
+
sources?: LegacySourceDex[];
|
|
24
26
|
maxPaths?: number;
|
|
25
27
|
excludedPools?: string[];
|
|
26
28
|
targetPools?: string[];
|
|
27
29
|
};
|
|
30
|
+
export type Bluefin7kProviderOptions = ProviderBaseOptions & {
|
|
31
|
+
sources?: SourceDex[];
|
|
32
|
+
excludedPools?: string[];
|
|
33
|
+
targetPools?: string[];
|
|
34
|
+
};
|
|
28
35
|
export type FlowxProviderOptions = ProviderBaseOptions & {
|
|
29
36
|
sources?: Protocol[];
|
|
30
37
|
excludePools?: string[];
|
|
@@ -51,7 +58,8 @@ export type AstroProviderOptions = ProviderBaseOptions & Pick<SwapOptions, "dexL
|
|
|
51
58
|
export interface MetaAgOptions {
|
|
52
59
|
/**If not specified, all providers will be used */
|
|
53
60
|
providers?: {
|
|
54
|
-
[EProvider.
|
|
61
|
+
[EProvider.BLUEFIN7K_LEGACY]?: BluefinLegacyProviderOptions;
|
|
62
|
+
[EProvider.BLUEFIN7K]?: Bluefin7kProviderOptions;
|
|
55
63
|
[EProvider.FLOWX]?: FlowxProviderOptions;
|
|
56
64
|
[EProvider.CETUS]?: CetusProviderOptions;
|
|
57
65
|
[EProvider.OKX]?: OkxProviderOptions;
|
|
@@ -126,6 +134,9 @@ export interface MetaSwapOptions {
|
|
|
126
134
|
}
|
|
127
135
|
export type FlowxQuoteResponse = Awaited<ReturnType<AggregatorQuoter["getRoutes"]>>;
|
|
128
136
|
export type MetaQuote = ({
|
|
137
|
+
provider: EProvider.BLUEFIN7K_LEGACY;
|
|
138
|
+
quote: LegacyQuoteResponse;
|
|
139
|
+
} | {
|
|
129
140
|
provider: EProvider.BLUEFIN7K;
|
|
130
141
|
quote: QuoteResponse;
|
|
131
142
|
} | {
|
|
@@ -139,7 +150,7 @@ export type MetaQuote = ({
|
|
|
139
150
|
quote: OkxSwapResponseData;
|
|
140
151
|
} | {
|
|
141
152
|
provider: EProvider.BLUEFINX;
|
|
142
|
-
quote:
|
|
153
|
+
quote: LegacyQuoteResponse;
|
|
143
154
|
} | {
|
|
144
155
|
provider: EProvider.ASTRO;
|
|
145
156
|
quote: Quote;
|
|
@@ -170,7 +181,7 @@ export interface SwapAPIProvider extends QuoteProvider {
|
|
|
170
181
|
fastSwap(options: MetaFastSwapOptions): Promise<string>;
|
|
171
182
|
}
|
|
172
183
|
export interface AggregatorProvider extends QuoteProvider {
|
|
173
|
-
readonly kind: EProvider.BLUEFIN7K | EProvider.CETUS | EProvider.FLOWX | EProvider.ASTRO;
|
|
184
|
+
readonly kind: EProvider.BLUEFIN7K_LEGACY | EProvider.BLUEFIN7K | EProvider.CETUS | EProvider.FLOWX | EProvider.ASTRO;
|
|
174
185
|
swap(options: MetaSwapOptions): Promise<TransactionObjectArgument>;
|
|
175
186
|
}
|
|
176
187
|
export declare const isAggregatorProvider: (provider: QuoteProvider) => provider is AggregatorProvider;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metaAg.d.ts","sourceRoot":"","sources":["../../../../src/types/metaAg.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,YAAY,EACb,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EACV,WAAW,EACX,yBAAyB,EAC1B,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,
|
|
1
|
+
{"version":3,"file":"metaAg.d.ts","sourceRoot":"","sources":["../../../../src/types/metaAg.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,5 +53,6 @@ export declare const SuiUtils: {
|
|
|
53
53
|
collectDust(tx: Transaction, coinType: string, coin: TransactionArgument): void;
|
|
54
54
|
transferOrDestroyZeroCoin(tx: Transaction, coinType: string, coin: TransactionArgument, address: string): void;
|
|
55
55
|
};
|
|
56
|
+
export declare const isSystemAddress: (address: string) => boolean;
|
|
56
57
|
export {};
|
|
57
58
|
//# sourceMappingURL=sui.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sui.d.ts","sourceRoot":"","sources":["../../../../src/utils/sui.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sui.d.ts","sourceRoot":"","sources":["../../../../src/utils/sui.ts"],"names":[],"mappings":"AACA,OAAO,EACL,UAAU,EAEV,sBAAsB,EACvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAc5E,KAAK,QAAQ,CAAC,CAAC,IAAI;IACjB,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,KAAK,SAAS,GAAG;IACf,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB,CAAC;AAEF,KAAK,cAAc,GAAG,KAAK,GAAG,SAAS,CAAC;AAExC,eAAO,MAAM,QAAQ;uBAET,MAAM,GAAG,mBAAmB,OAC/B,WAAW,GACf,mBAAmB;4BAMP,KAAK,CAAC,MAAM,GAAG,mBAAmB,CAAC,OAC3C,WAAW,GACf,mBAAmB,GAAG,SAAS;2BAsBtB,MAAM,cACJ,MAAM,GAAG,mBAAmB,OACnC,WAAW,GACf,mBAAmB;mCAYV,MAAM,SACT;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,UACtC,MAAM,OACT,WAAW;;;;gCAoBgB,MAAM,iBAAiB,MAAM;qCAoCtD,UAAU,EAAE,YACT,MAAM,OACX,WAAW;uCAsBuB;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;sCA8BhE,MAAM,SACP;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE;iCA6BvC,MAAM,SACN,sBAAsB,mBACb,cAAc,GAC7B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;4BAyBD,MAAM;oBAQd,WAAW,YAAY,MAAM;;;;iBAQhC,WAAW,YAAY,MAAM;;;;wBASpC,WAAW,YACL,MAAM,cACJ,mBAAmB;;;;wBAU3B,WAAW,YACL,MAAM,WACP,mBAAmB;;;;2BAUxB,WAAW,YACL,MAAM,WACP,mBAAmB;oBASd,WAAW,YAAY,MAAM,QAAQ,mBAAmB;kCASlE,WAAW,YACL,MAAM,QACV,mBAAmB,WAChB,MAAM;CAQlB,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,SAAS,MAAM,YAY9C,CAAC"}
|
package/lib/cjs/utils/sui.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SuiUtils = void 0;
|
|
3
|
+
exports.isSystemAddress = exports.SuiUtils = void 0;
|
|
4
|
+
const aggregator_sdk_1 = require("@cetusprotocol/aggregator-sdk");
|
|
4
5
|
const transactions_1 = require("@mysten/sui/transactions");
|
|
5
6
|
const utils_1 = require("@mysten/sui/utils");
|
|
6
7
|
const config_1 = require("../config");
|
|
@@ -217,3 +218,17 @@ exports.SuiUtils = {
|
|
|
217
218
|
});
|
|
218
219
|
},
|
|
219
220
|
};
|
|
221
|
+
const isSystemAddress = (address) => {
|
|
222
|
+
const addr = (0, utils_1.normalizeSuiAddress)(address);
|
|
223
|
+
const addresses = [
|
|
224
|
+
utils_1.SUI_SYSTEM_ADDRESS,
|
|
225
|
+
utils_1.MOVE_STDLIB_ADDRESS,
|
|
226
|
+
utils_1.SUI_FRAMEWORK_ADDRESS,
|
|
227
|
+
utils_1.SUI_CLOCK_OBJECT_ID,
|
|
228
|
+
utils_1.SUI_RANDOM_OBJECT_ID,
|
|
229
|
+
aggregator_sdk_1.SUI_SYSTEM_STATE_OBJECT_ID,
|
|
230
|
+
"0x0",
|
|
231
|
+
].map((v) => (0, utils_1.normalizeSuiAddress)(v));
|
|
232
|
+
return addresses.includes(addr);
|
|
233
|
+
};
|
|
234
|
+
exports.isSystemAddress = isSystemAddress;
|
|
@@ -4,10 +4,11 @@ import { normalizeStructTag, toBase64 } from "@mysten/sui/utils";
|
|
|
4
4
|
import { SUI_ADDRESS_ZERO } from "../../constants/sui";
|
|
5
5
|
import { EProvider, isAggregatorProvider, isSwapAPIProvider, } from "../../types/metaAg";
|
|
6
6
|
import { assert } from "../../utils/condition";
|
|
7
|
+
import { isSystemAddress } from "../../utils/sui";
|
|
7
8
|
import { SuiClientUtils } from "../../utils/SuiClientUtils";
|
|
8
9
|
import { getExpectedReturn } from "../swap/buildTx";
|
|
9
10
|
import { metaSettle, simulateAggregator, simulateBluefinX, timeout, } from "./common";
|
|
10
|
-
import {
|
|
11
|
+
import { BluefinLegacyProvider } from "./providers/bluefin7kLegacy";
|
|
11
12
|
import { BluefinXProvider } from "./providers/bluefinx";
|
|
12
13
|
import { OkxProvider, simulateOKXSwap } from "./providers/okx";
|
|
13
14
|
const HERMES_API = "https://hermes.pyth.network";
|
|
@@ -45,8 +46,12 @@ export class MetaAg {
|
|
|
45
46
|
const providerOptions = this.options.providers[provider];
|
|
46
47
|
assert(!!providerOptions, `Provider not found: ${provider}`);
|
|
47
48
|
switch (provider) {
|
|
49
|
+
case EProvider.BLUEFIN7K_LEGACY:
|
|
50
|
+
this.providers[EProvider.BLUEFIN7K_LEGACY] = new BluefinLegacyProvider(providerOptions, this.options, this.client);
|
|
51
|
+
break;
|
|
48
52
|
case EProvider.BLUEFIN7K:
|
|
49
|
-
|
|
53
|
+
const { Bluefin7kProvider } = await import("./providers/bluefin7k").catch(catchImportError(EProvider.BLUEFIN7K));
|
|
54
|
+
this.providers[EProvider.BLUEFIN7K] = new Bluefin7kProvider(providerOptions, this.options, this.client);
|
|
50
55
|
break;
|
|
51
56
|
case EProvider.FLOWX:
|
|
52
57
|
const { FlowxProvider } = await import("./providers/flowx").catch(catchImportError(EProvider.FLOWX));
|
|
@@ -172,6 +177,7 @@ export class MetaAg {
|
|
|
172
177
|
const provider = await this._getProvider(options.quote.provider);
|
|
173
178
|
assert(!!provider, `Provider not found: ${options.quote.provider}`);
|
|
174
179
|
assert(isAggregatorProvider(provider), `Provider does not support swap: ${provider.kind}`);
|
|
180
|
+
assert(!isSystemAddress(options.signer), "Invalid signer address");
|
|
175
181
|
const coinOut = await provider.swap(options);
|
|
176
182
|
options.tx.add(metaSettle(options.quote, coinOut, slippageBps ?? this.options.slippageBps ?? 100, this.options.tipBps, this.options.partner, this.options.partnerCommissionBps));
|
|
177
183
|
options.tx.setSenderIfNotSet(options.signer);
|
|
@@ -183,6 +189,7 @@ export class MetaAg {
|
|
|
183
189
|
* @returns - txDigest of the transaction
|
|
184
190
|
*/
|
|
185
191
|
async fastSwap(options, getTransactionBlockParams) {
|
|
192
|
+
assert(!isSystemAddress(options.signer), "Invalid signer address");
|
|
186
193
|
const provider = await this._getProvider(options.quote.provider);
|
|
187
194
|
if (isAggregatorProvider(provider)) {
|
|
188
195
|
return this._fastSwap(options, getTransactionBlockParams);
|
|
@@ -234,7 +241,8 @@ const catchImportError = (provider) => {
|
|
|
234
241
|
const map = {
|
|
235
242
|
[EProvider.CETUS]: "@cetusprotocol/aggregator-sdk",
|
|
236
243
|
[EProvider.FLOWX]: "@flowx-finance/sdk",
|
|
237
|
-
[EProvider.
|
|
244
|
+
[EProvider.BLUEFIN7K_LEGACY]: "@7kprotocol/sdk-ts",
|
|
245
|
+
[EProvider.BLUEFIN7K]: "@bluefin-exchange/bluefin7k-aggregator-sdk",
|
|
238
246
|
[EProvider.ASTRO]: "@naviprotocol/astros-aggregator-sdk",
|
|
239
247
|
[EProvider.OKX]: "",
|
|
240
248
|
[EProvider.BLUEFINX]: "",
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { getQuote, buildTx, Config, } from "@bluefin-exchange/bluefin7k-aggregator-sdk";
|
|
2
|
+
import { v4 } from "uuid";
|
|
3
|
+
import { _7K_PARTNER_ADDRESS } from "../../../constants/_7k";
|
|
4
|
+
import { EProvider, } from "../../../types/metaAg";
|
|
5
|
+
import { assert } from "../../../utils/condition";
|
|
6
|
+
export class Bluefin7kProvider {
|
|
7
|
+
options;
|
|
8
|
+
metaOptions;
|
|
9
|
+
kind = EProvider.BLUEFIN7K;
|
|
10
|
+
constructor(options, metaOptions, client) {
|
|
11
|
+
this.options = options;
|
|
12
|
+
this.metaOptions = metaOptions;
|
|
13
|
+
if (options.apiKey)
|
|
14
|
+
Config.setApiKey(options.apiKey);
|
|
15
|
+
Config.setSuiClient(client);
|
|
16
|
+
}
|
|
17
|
+
async quote(quoteOptions) {
|
|
18
|
+
const quote = await getQuote({
|
|
19
|
+
tokenIn: quoteOptions.coinTypeIn,
|
|
20
|
+
tokenOut: quoteOptions.coinTypeOut,
|
|
21
|
+
amountIn: quoteOptions.amountIn,
|
|
22
|
+
sources: this.options.sources,
|
|
23
|
+
excludedPools: this.options.excludedPools,
|
|
24
|
+
targetPools: this.options.targetPools,
|
|
25
|
+
});
|
|
26
|
+
assert(!!quote, "No quote found");
|
|
27
|
+
return {
|
|
28
|
+
id: v4(),
|
|
29
|
+
provider: EProvider.BLUEFIN7K,
|
|
30
|
+
quote,
|
|
31
|
+
amountIn: quote.swapAmountWithDecimal,
|
|
32
|
+
rawAmountOut: quote.returnAmountWithDecimal,
|
|
33
|
+
amountOut: quote.returnAmountWithDecimal,
|
|
34
|
+
coinTypeIn: quoteOptions.coinTypeIn,
|
|
35
|
+
coinTypeOut: quoteOptions.coinTypeOut,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
async swap({ quote, signer, tx, coinIn }) {
|
|
39
|
+
assert(quote.provider === EProvider.BLUEFIN7K, "Invalid quote");
|
|
40
|
+
const { coinOut } = await buildTx({
|
|
41
|
+
quoteResponse: quote.quote,
|
|
42
|
+
accountAddress: signer,
|
|
43
|
+
commission: {
|
|
44
|
+
commissionBps: 0,
|
|
45
|
+
partner: _7K_PARTNER_ADDRESS,
|
|
46
|
+
},
|
|
47
|
+
slippage: 1,
|
|
48
|
+
extendTx: {
|
|
49
|
+
tx,
|
|
50
|
+
coinIn,
|
|
51
|
+
},
|
|
52
|
+
});
|
|
53
|
+
return coinOut;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
@@ -8,10 +8,10 @@ import { buildTxV2 } from "../../swap/buildTxV2";
|
|
|
8
8
|
import { getQuote } from "../../swap/getQuote";
|
|
9
9
|
const WORMHOLE_STATE_ID = "0xaeab97f96cf9877fee2883315d459552b2b921edc16d7ceac6eab944dd88919c";
|
|
10
10
|
const PYTH_STATE_ID = "0x1f9310238ee9298fb703c3419030b35b22bb1cc37113e3bb5007c99aec79e5b8";
|
|
11
|
-
export class
|
|
11
|
+
export class BluefinLegacyProvider {
|
|
12
12
|
options;
|
|
13
13
|
metaOptions;
|
|
14
|
-
kind = EProvider.
|
|
14
|
+
kind = EProvider.BLUEFIN7K_LEGACY;
|
|
15
15
|
constructor(options, metaOptions, client) {
|
|
16
16
|
this.options = options;
|
|
17
17
|
this.metaOptions = metaOptions;
|
|
@@ -37,7 +37,7 @@ export class BluefinProvider {
|
|
|
37
37
|
});
|
|
38
38
|
return {
|
|
39
39
|
id: v4(),
|
|
40
|
-
provider: EProvider.
|
|
40
|
+
provider: EProvider.BLUEFIN7K_LEGACY,
|
|
41
41
|
quote,
|
|
42
42
|
amountIn: quote.swapAmountWithDecimal,
|
|
43
43
|
rawAmountOut: quote.returnAmountWithDecimal,
|
|
@@ -47,7 +47,7 @@ export class BluefinProvider {
|
|
|
47
47
|
};
|
|
48
48
|
}
|
|
49
49
|
async swap({ quote, signer, tx, coinIn }) {
|
|
50
|
-
assert(quote.provider === EProvider.
|
|
50
|
+
assert(quote.provider === EProvider.BLUEFIN7K_LEGACY, "Invalid quote");
|
|
51
51
|
const { coinOut } = await buildTxV2({
|
|
52
52
|
quoteResponse: quote.quote,
|
|
53
53
|
accountAddress: signer,
|
|
@@ -4,6 +4,7 @@ import { v4 } from "uuid";
|
|
|
4
4
|
import { SUI_TYPE } from "../../../constants/tokens";
|
|
5
5
|
import { EProvider, } from "../../../types/metaAg";
|
|
6
6
|
import { assert } from "../../../utils/condition";
|
|
7
|
+
import { isSystemAddress } from "../../../utils/sui";
|
|
7
8
|
import { metaSettle, simulateSwapTx } from "../common";
|
|
8
9
|
const API = "https://web3.okx.com";
|
|
9
10
|
const SWAP_PATH = "/api/v5/dex/aggregator/swap";
|
|
@@ -20,7 +21,7 @@ export class OkxProvider {
|
|
|
20
21
|
this.client = client;
|
|
21
22
|
}
|
|
22
23
|
async quote({ amountIn, coinTypeIn, coinTypeOut, signer, }) {
|
|
23
|
-
if (!signer)
|
|
24
|
+
if (!signer || isSystemAddress(signer))
|
|
24
25
|
return null;
|
|
25
26
|
const request = {
|
|
26
27
|
chainId: CHAIN_ID,
|
|
@@ -18,7 +18,7 @@ export declare const simulateAggregator: (provider: AggregatorProvider, quote: M
|
|
|
18
18
|
simulatedAmountOut: string;
|
|
19
19
|
gasUsed: GasCostSummary;
|
|
20
20
|
id: string;
|
|
21
|
-
provider: EProvider.BLUEFIN7K | EProvider.CETUS | EProvider.FLOWX | EProvider.ASTRO;
|
|
21
|
+
provider: EProvider.BLUEFIN7K_LEGACY | EProvider.BLUEFIN7K | EProvider.CETUS | EProvider.FLOWX | EProvider.ASTRO;
|
|
22
22
|
}>;
|
|
23
23
|
/**
|
|
24
24
|
* this settlement does not charge commission fee for partner, since all integrated aggregators already charge commission fee for partner
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/metaAg/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,yBAAyB,EACzB,SAAS,EACT,2BAA2B,EAC5B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAGL,yBAAyB,EAC1B,MAAM,0BAA0B,CAAC;AAGlC,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/metaAg/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,yBAAyB,EACzB,SAAS,EACT,2BAA2B,EAC5B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAGL,yBAAyB,EAC1B,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAUL,aAAa,EACb,mBAAmB,EACnB,SAAS,EACT,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EAGhB,MAAM,oBAAoB,CAAC;AAyB5B,qBAAa,MAAM;IACjB,MAAM,EAAE,SAAS,CAAC;IAClB,OAAO,CAAC,SAAS,CAAiD;IAClE,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,OAAO,CAA0B;gBAC7B,OAAO,CAAC,EAAE,aAAa;YAkBrB,YAAY;YAqEZ,SAAS;YAkCT,MAAM;YAqBN,SAAS;IA2BvB;;;;;OAKG;IACG,KAAK,CACT,OAAO,EAAE,gBAAgB,EACzB,UAAU,CAAC,EAAE,qBAAqB,GACjC,OAAO,CAAC,SAAS,EAAE,CAAC;IAsCvB;;;;;;;OAOG;IACG,IAAI,CACR,OAAO,EAAE,eAAe,EACxB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,yBAAyB,CAAC;IAuBrC;;;;OAIG;IACG,QAAQ,CACZ,OAAO,EAAE,mBAAmB,EAC5B,yBAAyB,CAAC,EAAE,IAAI,CAAC,yBAAyB,EAAE,QAAQ,CAAC,GACpE,OAAO,CAAC,2BAA2B,CAAC;IAevC;;;OAGG;IACH,mBAAmB,CAAC,OAAO,EAAE,aAAa;CA4B3C"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { SuiClient } from "@mysten/sui/client";
|
|
2
|
+
import { AggregatorProvider, Bluefin7kProviderOptions, EProvider, MetaAgOptions, MetaQuote, MetaQuoteOptions, MetaSwapOptions, QuoteProvider } from "../../../types/metaAg";
|
|
3
|
+
export declare class Bluefin7kProvider implements QuoteProvider, AggregatorProvider {
|
|
4
|
+
private readonly options;
|
|
5
|
+
private readonly metaOptions;
|
|
6
|
+
readonly kind = EProvider.BLUEFIN7K;
|
|
7
|
+
constructor(options: Bluefin7kProviderOptions, metaOptions: Required<MetaAgOptions>, client: SuiClient);
|
|
8
|
+
quote(quoteOptions: MetaQuoteOptions): Promise<MetaQuote>;
|
|
9
|
+
swap({ quote, signer, tx, coinIn }: MetaSwapOptions): Promise<import("@mysten/sui/dist/cjs/transactions").TransactionObjectArgument>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=bluefin7k.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bluefin7k.d.ts","sourceRoot":"","sources":["../../../../../../src/features/metaAg/providers/bluefin7k.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAG/C,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,SAAS,EACT,aAAa,EACb,SAAS,EACT,gBAAgB,EAChB,eAAe,EACf,aAAa,EACd,MAAM,uBAAuB,CAAC;AAG/B,qBAAa,iBAAkB,YAAW,aAAa,EAAE,kBAAkB;IAGvE,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAH9B,QAAQ,CAAC,IAAI,uBAAuB;gBAEjB,OAAO,EAAE,wBAAwB,EACjC,WAAW,EAAE,QAAQ,CAAC,aAAa,CAAC,EACrD,MAAM,EAAE,SAAS;IAMb,KAAK,CAAC,YAAY,EAAE,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC;IAsBzD,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,eAAe;CAiB1D"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { SuiClient } from "@mysten/sui/client";
|
|
2
|
+
import { AggregatorProvider, BluefinLegacyProviderOptions, EProvider, MetaAgOptions, MetaQuote, MetaQuoteOptions, MetaSwapOptions, QuoteProvider } from "../../../types/metaAg";
|
|
3
|
+
export declare class BluefinLegacyProvider implements QuoteProvider, AggregatorProvider {
|
|
4
|
+
private readonly options;
|
|
5
|
+
private readonly metaOptions;
|
|
6
|
+
readonly kind = EProvider.BLUEFIN7K_LEGACY;
|
|
7
|
+
constructor(options: BluefinLegacyProviderOptions, metaOptions: Required<MetaAgOptions>, client: SuiClient);
|
|
8
|
+
quote(options: MetaQuoteOptions): Promise<MetaQuote>;
|
|
9
|
+
swap({ quote, signer, tx, coinIn }: MetaSwapOptions): Promise<import("@mysten/sui/dist/cjs/transactions").TransactionObjectArgument>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=bluefin7kLegacy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bluefin7kLegacy.d.ts","sourceRoot":"","sources":["../../../../../../src/features/metaAg/providers/bluefin7kLegacy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAS/C,OAAO,EACL,kBAAkB,EAClB,4BAA4B,EAC5B,SAAS,EACT,aAAa,EACb,SAAS,EACT,gBAAgB,EAChB,eAAe,EACf,aAAa,EACd,MAAM,uBAAuB,CAAC;AAQ/B,qBAAa,qBACX,YAAW,aAAa,EAAE,kBAAkB;IAI1C,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAH9B,QAAQ,CAAC,IAAI,8BAA8B;gBAExB,OAAO,EAAE,4BAA4B,EACrC,WAAW,EAAE,QAAQ,CAAC,aAAa,CAAC,EACrD,MAAM,EAAE,SAAS;IAgBb,KAAK,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC;IAqBpD,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,eAAe;CAiB1D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"okx.d.ts","sourceRoot":"","sources":["../../../../../../src/features/metaAg/providers/okx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAc/C,OAAO,EACL,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,SAAS,EACT,gBAAgB,EAChB,qBAAqB,EAErB,kBAAkB,EAClB,aAAa,EACb,eAAe,EAChB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"okx.d.ts","sourceRoot":"","sources":["../../../../../../src/features/metaAg/providers/okx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAc/C,OAAO,EACL,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,SAAS,EACT,gBAAgB,EAChB,qBAAqB,EAErB,kBAAkB,EAClB,aAAa,EACb,eAAe,EAChB,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAO/D,qBAAa,WAAY,YAAW,aAAa,EAAE,eAAe;IAG9D,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJzB,QAAQ,CAAC,IAAI,iBAAiB;gBAEX,OAAO,EAAE,kBAAkB,EAC3B,WAAW,EAAE,QAAQ,CAAC,aAAa,CAAC,EACpC,MAAM,EAAE,SAAS;IAG9B,KAAK,CAAC,EACV,QAAQ,EACR,UAAU,EACV,WAAW,EACX,MAAM,GACP,EAAE,gBAAgB,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IA+BzC,QAAQ,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC;CAuB9D;AAyGD,eAAO,MAAM,eAAe,GAC1B,CAAC,SAAS,SAAS,GAAG;IAAE,QAAQ,EAAE,SAAS,CAAC,GAAG,CAAA;CAAE,EAEjD,OAAO,CAAC,EACR,WAAW,cAAc,EACzB,YAAY,qBAAqB,EACjC,aAAa,QAAQ,CAAC,aAAa,CAAC;;;;;EAoBrC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildTx.d.ts","sourceRoot":"","sources":["../../../../../src/features/swap/buildTx.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,WAAW,EACX,yBAAyB,EAC1B,MAAM,0BAA0B,CAAC;AAOlC,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAEjE,OAAO,EACL,aAAa,EACb,UAAU,EAEV,aAAa,EACb,SAAS,EACV,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAK/C,eAAO,MAAM,OAAO,GAAU,2GAQ3B,aAAa,KAAG,OAAO,CAAC,aAAa,CA+FvC,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,WAAW,aAAa,EAAE,aAa3D,CAAC;AAEF,eAAO,MAAM,yBAAyB,GACpC,IAAI,WAAW,EACf,eAAe,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"buildTx.d.ts","sourceRoot":"","sources":["../../../../../src/features/swap/buildTx.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,WAAW,EACX,yBAAyB,EAC1B,MAAM,0BAA0B,CAAC;AAOlC,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAEjE,OAAO,EACL,aAAa,EACb,UAAU,EAEV,aAAa,EACb,SAAS,EACV,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAK/C,eAAO,MAAM,OAAO,GAAU,2GAQ3B,aAAa,KAAG,OAAO,CAAC,aAAa,CA+FvC,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,WAAW,aAAa,EAAE,aAa3D,CAAC;AAEF,eAAO,MAAM,yBAAyB,GACpC,IAAI,WAAW,EACf,eAAe,aAAa,EAAE,oCAkB/B,CAAC;AAEF,eAAO,MAAM,cAAc,GACzB,QAAQ,SAAS,EAAE,EAAE,EACrB,cAAc,OAAO,SAWtB,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,cAAc,MAAM,EACpB,aAAa,MAAM,EACnB,eAAe,MAAM,EACrB,SAAQ,MAAU;;;;;CA8BnB,CAAC;AAEF,eAAO,MAAM,MAAM,GACjB,aAAa,yBAAyB,EAAE,EACxC,eAAe,aAAa,EAC5B,aAAa,MAAM,EACnB,aAAa,UAAU,MAEf,IAAI,WAAW,8BAiCxB,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,IAAI,WAAW,EACf,gBAAgB,MAAM,EACtB,eAAe,aAAa,wBAyB7B,CAAC"}
|
package/lib/esm/types/metaAg.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export var EProvider;
|
|
2
2
|
(function (EProvider) {
|
|
3
|
+
EProvider["BLUEFIN7K_LEGACY"] = "bluefin7k_legacy";
|
|
3
4
|
EProvider["BLUEFIN7K"] = "bluefin7k";
|
|
4
5
|
EProvider["CETUS"] = "cetus";
|
|
5
6
|
EProvider["FLOWX"] = "flowx";
|
|
@@ -7,7 +8,8 @@ export var EProvider;
|
|
|
7
8
|
EProvider["BLUEFINX"] = "bluefinx";
|
|
8
9
|
EProvider["ASTRO"] = "astro";
|
|
9
10
|
})(EProvider || (EProvider = {}));
|
|
10
|
-
export const isAggregatorProvider = (provider) => provider.kind === EProvider.
|
|
11
|
+
export const isAggregatorProvider = (provider) => provider.kind === EProvider.BLUEFIN7K_LEGACY ||
|
|
12
|
+
provider.kind === EProvider.BLUEFIN7K ||
|
|
11
13
|
provider.kind === EProvider.CETUS ||
|
|
12
14
|
provider.kind === EProvider.FLOWX ||
|
|
13
15
|
provider.kind === EProvider.ASTRO;
|
|
@@ -4,9 +4,11 @@ import type { GasCostSummary } from "@mysten/sui/client";
|
|
|
4
4
|
import { SignatureWithBytes } from "@mysten/sui/cryptography";
|
|
5
5
|
import type { Transaction, TransactionObjectArgument } from "@mysten/sui/transactions";
|
|
6
6
|
import type { Quote, SwapOptions } from "@naviprotocol/astros-aggregator-sdk";
|
|
7
|
-
import { QuoteResponse, SourceDex } from "
|
|
7
|
+
import type { QuoteResponse, SourceDex } from "@bluefin-exchange/bluefin7k-aggregator-sdk";
|
|
8
|
+
import { QuoteResponse as LegacyQuoteResponse, SourceDex as LegacySourceDex } from "./aggregator";
|
|
8
9
|
import { OkxSwapResponseData } from "./okx";
|
|
9
10
|
export declare enum EProvider {
|
|
11
|
+
BLUEFIN7K_LEGACY = "bluefin7k_legacy",
|
|
10
12
|
BLUEFIN7K = "bluefin7k",
|
|
11
13
|
CETUS = "cetus",
|
|
12
14
|
FLOWX = "flowx",
|
|
@@ -19,12 +21,17 @@ type ProviderBaseOptions = {
|
|
|
19
21
|
apiKey?: string;
|
|
20
22
|
disabled?: boolean;
|
|
21
23
|
};
|
|
22
|
-
export type
|
|
23
|
-
sources?:
|
|
24
|
+
export type BluefinLegacyProviderOptions = ProviderBaseOptions & {
|
|
25
|
+
sources?: LegacySourceDex[];
|
|
24
26
|
maxPaths?: number;
|
|
25
27
|
excludedPools?: string[];
|
|
26
28
|
targetPools?: string[];
|
|
27
29
|
};
|
|
30
|
+
export type Bluefin7kProviderOptions = ProviderBaseOptions & {
|
|
31
|
+
sources?: SourceDex[];
|
|
32
|
+
excludedPools?: string[];
|
|
33
|
+
targetPools?: string[];
|
|
34
|
+
};
|
|
28
35
|
export type FlowxProviderOptions = ProviderBaseOptions & {
|
|
29
36
|
sources?: Protocol[];
|
|
30
37
|
excludePools?: string[];
|
|
@@ -51,7 +58,8 @@ export type AstroProviderOptions = ProviderBaseOptions & Pick<SwapOptions, "dexL
|
|
|
51
58
|
export interface MetaAgOptions {
|
|
52
59
|
/**If not specified, all providers will be used */
|
|
53
60
|
providers?: {
|
|
54
|
-
[EProvider.
|
|
61
|
+
[EProvider.BLUEFIN7K_LEGACY]?: BluefinLegacyProviderOptions;
|
|
62
|
+
[EProvider.BLUEFIN7K]?: Bluefin7kProviderOptions;
|
|
55
63
|
[EProvider.FLOWX]?: FlowxProviderOptions;
|
|
56
64
|
[EProvider.CETUS]?: CetusProviderOptions;
|
|
57
65
|
[EProvider.OKX]?: OkxProviderOptions;
|
|
@@ -126,6 +134,9 @@ export interface MetaSwapOptions {
|
|
|
126
134
|
}
|
|
127
135
|
export type FlowxQuoteResponse = Awaited<ReturnType<AggregatorQuoter["getRoutes"]>>;
|
|
128
136
|
export type MetaQuote = ({
|
|
137
|
+
provider: EProvider.BLUEFIN7K_LEGACY;
|
|
138
|
+
quote: LegacyQuoteResponse;
|
|
139
|
+
} | {
|
|
129
140
|
provider: EProvider.BLUEFIN7K;
|
|
130
141
|
quote: QuoteResponse;
|
|
131
142
|
} | {
|
|
@@ -139,7 +150,7 @@ export type MetaQuote = ({
|
|
|
139
150
|
quote: OkxSwapResponseData;
|
|
140
151
|
} | {
|
|
141
152
|
provider: EProvider.BLUEFINX;
|
|
142
|
-
quote:
|
|
153
|
+
quote: LegacyQuoteResponse;
|
|
143
154
|
} | {
|
|
144
155
|
provider: EProvider.ASTRO;
|
|
145
156
|
quote: Quote;
|
|
@@ -170,7 +181,7 @@ export interface SwapAPIProvider extends QuoteProvider {
|
|
|
170
181
|
fastSwap(options: MetaFastSwapOptions): Promise<string>;
|
|
171
182
|
}
|
|
172
183
|
export interface AggregatorProvider extends QuoteProvider {
|
|
173
|
-
readonly kind: EProvider.BLUEFIN7K | EProvider.CETUS | EProvider.FLOWX | EProvider.ASTRO;
|
|
184
|
+
readonly kind: EProvider.BLUEFIN7K_LEGACY | EProvider.BLUEFIN7K | EProvider.CETUS | EProvider.FLOWX | EProvider.ASTRO;
|
|
174
185
|
swap(options: MetaSwapOptions): Promise<TransactionObjectArgument>;
|
|
175
186
|
}
|
|
176
187
|
export declare const isAggregatorProvider: (provider: QuoteProvider) => provider is AggregatorProvider;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metaAg.d.ts","sourceRoot":"","sources":["../../../../src/types/metaAg.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,YAAY,EACb,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EACV,WAAW,EACX,yBAAyB,EAC1B,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,
|
|
1
|
+
{"version":3,"file":"metaAg.d.ts","sourceRoot":"","sources":["../../../../src/types/metaAg.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,5 +53,6 @@ export declare const SuiUtils: {
|
|
|
53
53
|
collectDust(tx: Transaction, coinType: string, coin: TransactionArgument): void;
|
|
54
54
|
transferOrDestroyZeroCoin(tx: Transaction, coinType: string, coin: TransactionArgument, address: string): void;
|
|
55
55
|
};
|
|
56
|
+
export declare const isSystemAddress: (address: string) => boolean;
|
|
56
57
|
export {};
|
|
57
58
|
//# sourceMappingURL=sui.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sui.d.ts","sourceRoot":"","sources":["../../../../src/utils/sui.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sui.d.ts","sourceRoot":"","sources":["../../../../src/utils/sui.ts"],"names":[],"mappings":"AACA,OAAO,EACL,UAAU,EAEV,sBAAsB,EACvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAc5E,KAAK,QAAQ,CAAC,CAAC,IAAI;IACjB,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,KAAK,SAAS,GAAG;IACf,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB,CAAC;AAEF,KAAK,cAAc,GAAG,KAAK,GAAG,SAAS,CAAC;AAExC,eAAO,MAAM,QAAQ;uBAET,MAAM,GAAG,mBAAmB,OAC/B,WAAW,GACf,mBAAmB;4BAMP,KAAK,CAAC,MAAM,GAAG,mBAAmB,CAAC,OAC3C,WAAW,GACf,mBAAmB,GAAG,SAAS;2BAsBtB,MAAM,cACJ,MAAM,GAAG,mBAAmB,OACnC,WAAW,GACf,mBAAmB;mCAYV,MAAM,SACT;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,UACtC,MAAM,OACT,WAAW;;;;gCAoBgB,MAAM,iBAAiB,MAAM;qCAoCtD,UAAU,EAAE,YACT,MAAM,OACX,WAAW;uCAsBuB;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;sCA8BhE,MAAM,SACP;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE;iCA6BvC,MAAM,SACN,sBAAsB,mBACb,cAAc,GAC7B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;4BAyBD,MAAM;oBAQd,WAAW,YAAY,MAAM;;;;iBAQhC,WAAW,YAAY,MAAM;;;;wBASpC,WAAW,YACL,MAAM,cACJ,mBAAmB;;;;wBAU3B,WAAW,YACL,MAAM,WACP,mBAAmB;;;;2BAUxB,WAAW,YACL,MAAM,WACP,mBAAmB;oBASd,WAAW,YAAY,MAAM,QAAQ,mBAAmB;kCASlE,WAAW,YACL,MAAM,QACV,mBAAmB,WAChB,MAAM;CAQlB,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,SAAS,MAAM,YAY9C,CAAC"}
|
package/lib/esm/utils/sui.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { SUI_SYSTEM_STATE_OBJECT_ID } from "@cetusprotocol/aggregator-sdk";
|
|
1
2
|
import { Transaction } from "@mysten/sui/transactions";
|
|
2
|
-
import { parseStructTag } from "@mysten/sui/utils";
|
|
3
|
+
import { MOVE_STDLIB_ADDRESS, normalizeSuiAddress, parseStructTag, SUI_CLOCK_OBJECT_ID, SUI_FRAMEWORK_ADDRESS, SUI_RANDOM_OBJECT_ID, SUI_SYSTEM_ADDRESS, } from "@mysten/sui/utils";
|
|
3
4
|
import { Config } from "../config";
|
|
4
5
|
import { _7K_CONFIG, _7K_PACKAGE_ID, _7K_VAULT } from "../constants/_7k";
|
|
5
6
|
import { checkIsSui } from "./token";
|
|
@@ -214,3 +215,16 @@ export const SuiUtils = {
|
|
|
214
215
|
});
|
|
215
216
|
},
|
|
216
217
|
};
|
|
218
|
+
export const isSystemAddress = (address) => {
|
|
219
|
+
const addr = normalizeSuiAddress(address);
|
|
220
|
+
const addresses = [
|
|
221
|
+
SUI_SYSTEM_ADDRESS,
|
|
222
|
+
MOVE_STDLIB_ADDRESS,
|
|
223
|
+
SUI_FRAMEWORK_ADDRESS,
|
|
224
|
+
SUI_CLOCK_OBJECT_ID,
|
|
225
|
+
SUI_RANDOM_OBJECT_ID,
|
|
226
|
+
SUI_SYSTEM_STATE_OBJECT_ID,
|
|
227
|
+
"0x0",
|
|
228
|
+
].map((v) => normalizeSuiAddress(v));
|
|
229
|
+
return addresses.includes(addr);
|
|
230
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@7kprotocol/sdk-ts",
|
|
3
|
-
"version": "3.5.2-beta.
|
|
3
|
+
"version": "3.5.2-beta.3",
|
|
4
4
|
"description": "",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": {
|
|
@@ -41,6 +41,7 @@
|
|
|
41
41
|
"build:cjs": "tsc -p ./configs/tsconfig.cjs.json",
|
|
42
42
|
"prepack": "npm run build",
|
|
43
43
|
"test": "mocha --timeout 60000",
|
|
44
|
+
"pack:local": "npm run build && npm pack",
|
|
44
45
|
"publish:patch": "npm version patch --no-git-tag-version && npm publish --access public",
|
|
45
46
|
"publish:minor": "npm version minor --no-git-tag-version && npm publish --access public",
|
|
46
47
|
"publish:major": "npm version major --no-git-tag-version && npm publish --access public",
|
|
@@ -78,6 +79,7 @@
|
|
|
78
79
|
"uuid": "^13.0.0"
|
|
79
80
|
},
|
|
80
81
|
"optionalDependencies": {
|
|
82
|
+
"@bluefin-exchange/bluefin7k-aggregator-sdk": "^5.1.4",
|
|
81
83
|
"@cetusprotocol/aggregator-sdk": "^1.4.1",
|
|
82
84
|
"@flowx-finance/sdk": "^1.13.8",
|
|
83
85
|
"@naviprotocol/astros-aggregator-sdk": "^1.9.1"
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { SuiClient } from "@mysten/sui/client";
|
|
2
|
-
import { AggregatorProvider, BluefinProviderOptions, EProvider, MetaAgOptions, MetaQuote, MetaQuoteOptions, MetaSwapOptions, QuoteProvider } from "../../../types/metaAg";
|
|
3
|
-
export declare class BluefinProvider implements QuoteProvider, AggregatorProvider {
|
|
4
|
-
private readonly options;
|
|
5
|
-
private readonly metaOptions;
|
|
6
|
-
readonly kind = EProvider.BLUEFIN7K;
|
|
7
|
-
constructor(options: BluefinProviderOptions, metaOptions: Required<MetaAgOptions>, client: SuiClient);
|
|
8
|
-
quote(options: MetaQuoteOptions): Promise<MetaQuote>;
|
|
9
|
-
swap({ quote, signer, tx, coinIn }: MetaSwapOptions): Promise<import("@mysten/sui/dist/cjs/transactions").TransactionObjectArgument>;
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=bluefin.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bluefin.d.ts","sourceRoot":"","sources":["../../../../../../src/features/metaAg/providers/bluefin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAS/C,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,SAAS,EACT,aAAa,EACb,SAAS,EACT,gBAAgB,EAChB,eAAe,EACf,aAAa,EACd,MAAM,uBAAuB,CAAC;AAQ/B,qBAAa,eAAgB,YAAW,aAAa,EAAE,kBAAkB;IAGrE,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAH9B,QAAQ,CAAC,IAAI,uBAAuB;gBAEjB,OAAO,EAAE,sBAAsB,EAC/B,WAAW,EAAE,QAAQ,CAAC,aAAa,CAAC,EACrD,MAAM,EAAE,SAAS;IAgBb,KAAK,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC;IAqBpD,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,eAAe;CAiB1D"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { SuiClient } from "@mysten/sui/client";
|
|
2
|
-
import { AggregatorProvider, BluefinProviderOptions, EProvider, MetaAgOptions, MetaQuote, MetaQuoteOptions, MetaSwapOptions, QuoteProvider } from "../../../types/metaAg";
|
|
3
|
-
export declare class BluefinProvider implements QuoteProvider, AggregatorProvider {
|
|
4
|
-
private readonly options;
|
|
5
|
-
private readonly metaOptions;
|
|
6
|
-
readonly kind = EProvider.BLUEFIN7K;
|
|
7
|
-
constructor(options: BluefinProviderOptions, metaOptions: Required<MetaAgOptions>, client: SuiClient);
|
|
8
|
-
quote(options: MetaQuoteOptions): Promise<MetaQuote>;
|
|
9
|
-
swap({ quote, signer, tx, coinIn }: MetaSwapOptions): Promise<import("@mysten/sui/dist/cjs/transactions").TransactionObjectArgument>;
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=bluefin.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bluefin.d.ts","sourceRoot":"","sources":["../../../../../../src/features/metaAg/providers/bluefin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAS/C,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,SAAS,EACT,aAAa,EACb,SAAS,EACT,gBAAgB,EAChB,eAAe,EACf,aAAa,EACd,MAAM,uBAAuB,CAAC;AAQ/B,qBAAa,eAAgB,YAAW,aAAa,EAAE,kBAAkB;IAGrE,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAH9B,QAAQ,CAAC,IAAI,uBAAuB;gBAEjB,OAAO,EAAE,sBAAsB,EAC/B,WAAW,EAAE,QAAQ,CAAC,aAAa,CAAC,EACrD,MAAM,EAAE,SAAS;IAgBb,KAAK,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC;IAqBpD,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,eAAe;CAiB1D"}
|