@7kprotocol/sdk-ts 3.4.2-beta.4 → 3.4.2-beta.5

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.
Files changed (68) hide show
  1. package/README.md +151 -4
  2. package/lib/cjs/constants/_7k.js +5 -1
  3. package/lib/cjs/constants/sui.js +4 -0
  4. package/lib/cjs/features/metaAg/index.js +243 -0
  5. package/lib/cjs/features/metaAg/providers/bluefin.js +69 -0
  6. package/lib/cjs/features/metaAg/providers/cetus.js +67 -0
  7. package/lib/cjs/features/metaAg/providers/flowx.js +56 -0
  8. package/lib/cjs/index.js +6 -1
  9. package/lib/cjs/types/constants/_7k.d.ts +4 -0
  10. package/lib/cjs/types/constants/_7k.d.ts.map +1 -1
  11. package/lib/cjs/types/constants/sui.d.ts +2 -0
  12. package/lib/cjs/types/constants/sui.d.ts.map +1 -0
  13. package/lib/cjs/types/features/metaAg/index.d.ts +28 -0
  14. package/lib/cjs/types/features/metaAg/index.d.ts.map +1 -0
  15. package/lib/cjs/types/features/metaAg/providers/bluefin.d.ts +11 -0
  16. package/lib/cjs/types/features/metaAg/providers/bluefin.d.ts.map +1 -0
  17. package/lib/cjs/types/features/metaAg/providers/cetus.d.ts +13 -0
  18. package/lib/cjs/types/features/metaAg/providers/cetus.d.ts.map +1 -0
  19. package/lib/cjs/types/features/metaAg/providers/flowx.d.ts +14 -0
  20. package/lib/cjs/types/features/metaAg/providers/flowx.d.ts.map +1 -0
  21. package/lib/cjs/types/index.d.ts +4 -1
  22. package/lib/cjs/types/index.d.ts.map +1 -1
  23. package/lib/cjs/types/metaAg.js +12 -0
  24. package/lib/cjs/types/types/metaAg.d.ts +127 -0
  25. package/lib/cjs/types/types/metaAg.d.ts.map +1 -0
  26. package/lib/cjs/types/utils/ObjectCache.d.ts +87 -0
  27. package/lib/cjs/types/utils/ObjectCache.d.ts.map +1 -0
  28. package/lib/cjs/types/utils/SuiClientUtils.d.ts +15 -0
  29. package/lib/cjs/types/utils/SuiClientUtils.d.ts.map +1 -0
  30. package/lib/cjs/types/utils/condition.d.ts +2 -0
  31. package/lib/cjs/types/utils/condition.d.ts.map +1 -0
  32. package/lib/cjs/utils/ObjectCache.js +273 -0
  33. package/lib/cjs/utils/SuiClientUtils.js +50 -0
  34. package/lib/cjs/utils/condition.js +8 -0
  35. package/lib/esm/constants/_7k.js +4 -0
  36. package/lib/esm/constants/sui.js +1 -0
  37. package/lib/esm/features/metaAg/index.js +209 -0
  38. package/lib/esm/features/metaAg/providers/bluefin.js +67 -0
  39. package/lib/esm/features/metaAg/providers/cetus.js +66 -0
  40. package/lib/esm/features/metaAg/providers/flowx.js +56 -0
  41. package/lib/esm/index.mjs +5 -1
  42. package/lib/esm/types/constants/_7k.d.ts +4 -0
  43. package/lib/esm/types/constants/_7k.d.ts.map +1 -1
  44. package/lib/esm/types/constants/sui.d.ts +2 -0
  45. package/lib/esm/types/constants/sui.d.ts.map +1 -0
  46. package/lib/esm/types/features/metaAg/index.d.ts +28 -0
  47. package/lib/esm/types/features/metaAg/index.d.ts.map +1 -0
  48. package/lib/esm/types/features/metaAg/providers/bluefin.d.ts +11 -0
  49. package/lib/esm/types/features/metaAg/providers/bluefin.d.ts.map +1 -0
  50. package/lib/esm/types/features/metaAg/providers/cetus.d.ts +13 -0
  51. package/lib/esm/types/features/metaAg/providers/cetus.d.ts.map +1 -0
  52. package/lib/esm/types/features/metaAg/providers/flowx.d.ts +14 -0
  53. package/lib/esm/types/features/metaAg/providers/flowx.d.ts.map +1 -0
  54. package/lib/esm/types/index.d.ts +4 -1
  55. package/lib/esm/types/index.d.ts.map +1 -1
  56. package/lib/esm/types/metaAg.js +8 -0
  57. package/lib/esm/types/types/metaAg.d.ts +127 -0
  58. package/lib/esm/types/types/metaAg.d.ts.map +1 -0
  59. package/lib/esm/types/utils/ObjectCache.d.ts +87 -0
  60. package/lib/esm/types/utils/ObjectCache.d.ts.map +1 -0
  61. package/lib/esm/types/utils/SuiClientUtils.d.ts +15 -0
  62. package/lib/esm/types/utils/SuiClientUtils.d.ts.map +1 -0
  63. package/lib/esm/types/utils/condition.d.ts +2 -0
  64. package/lib/esm/types/utils/condition.d.ts.map +1 -0
  65. package/lib/esm/utils/ObjectCache.js +250 -0
  66. package/lib/esm/utils/SuiClientUtils.js +34 -0
  67. package/lib/esm/utils/condition.js +5 -0
  68. package/package.json +8 -1
@@ -0,0 +1,66 @@
1
+ import { AggregatorClient, Env } from "@cetusprotocol/aggregator-sdk";
2
+ import { v4 } from "uuid";
3
+ import { EProvider, } from "../../../types/metaAg";
4
+ import { assert } from "../../../utils/condition";
5
+ import { getExpectedReturn } from "../../swap/buildTx";
6
+ export class CetusProvider {
7
+ options;
8
+ metaOptions;
9
+ kind = EProvider.CETUS;
10
+ cetusClient;
11
+ constructor(options, metaOptions, client) {
12
+ this.options = options;
13
+ this.metaOptions = metaOptions;
14
+ this.cetusClient = new AggregatorClient({
15
+ apiKey: options.apiKey,
16
+ overlayFeeReceiver: metaOptions.partner,
17
+ overlayFeeRate: metaOptions.partnerCommissionBps
18
+ ? metaOptions.partnerCommissionBps / 10000
19
+ : undefined,
20
+ client,
21
+ endpoint: options.api,
22
+ env: Env.Mainnet,
23
+ pythUrls: metaOptions.hermesApi ? [metaOptions.hermesApi] : [],
24
+ });
25
+ }
26
+ async quote(quoteOptions) {
27
+ const quote = await this.cetusClient.findRouters({
28
+ amount: quoteOptions.amountIn,
29
+ byAmountIn: true,
30
+ from: quoteOptions.coinInType,
31
+ target: quoteOptions.coinOutType,
32
+ providers: this.options.sources,
33
+ splitCount: this.options.splitCount,
34
+ splitAlgorithm: this.options.splitAlgorithm,
35
+ splitFactor: this.options.splitFactor,
36
+ depth: this.options.depth,
37
+ liquidityChanges: this.options.liquidityChanges,
38
+ });
39
+ assert(!!quote, "No quote found");
40
+ const bps = BigInt(this.metaOptions.partnerCommissionBps ?? 0);
41
+ // calc amount out before any commission fees
42
+ const amountOut = ((BigInt(quote.amountOut.toString()) * 10000n) /
43
+ (10000n - bps)).toString();
44
+ const { expectedAmount } = getExpectedReturn(amountOut, 0, this.metaOptions.partnerCommissionBps ?? 0, this.metaOptions.tipBps ?? 0);
45
+ return {
46
+ id: v4(),
47
+ provider: EProvider.CETUS,
48
+ quote,
49
+ amountIn: quote.amountIn.toString(),
50
+ rawAmountOut: amountOut,
51
+ amountOut: expectedAmount,
52
+ coinTypeIn: quoteOptions.coinInType,
53
+ coinTypeOut: quoteOptions.coinOutType,
54
+ };
55
+ }
56
+ async swap(options) {
57
+ assert(options.quote.provider === EProvider.CETUS, "Expect Cetus quote");
58
+ const coinOut = await this.cetusClient.routerSwap({
59
+ inputCoin: options.coinIn,
60
+ router: options.quote.quote,
61
+ slippage: 1,
62
+ txb: options.tx,
63
+ });
64
+ return coinOut;
65
+ }
66
+ }
@@ -0,0 +1,56 @@
1
+ import { AggregatorQuoter, Commission, CommissionType, TradeBuilder, } from "@flowx-finance/sdk";
2
+ import { v4 } from "uuid";
3
+ import { EProvider, } from "../../../types/metaAg";
4
+ import { assert } from "../../../utils/condition";
5
+ import { getExpectedReturn } from "../../swap/buildTx";
6
+ export class FlowxProvider {
7
+ options;
8
+ metaOptions;
9
+ client;
10
+ kind = EProvider.FLOWX;
11
+ quoter;
12
+ constructor(options, metaOptions, client) {
13
+ this.options = options;
14
+ this.metaOptions = metaOptions;
15
+ this.client = client;
16
+ this.quoter = new AggregatorQuoter("mainnet", options.apiKey);
17
+ }
18
+ async quote(quoteOptions) {
19
+ const quote = await this.quoter.getRoutes({
20
+ amountIn: quoteOptions.amountIn,
21
+ tokenIn: quoteOptions.coinInType,
22
+ tokenOut: quoteOptions.coinOutType,
23
+ includeSources: this.options.sources,
24
+ excludePools: this.options.excludePools,
25
+ excludeSources: this.options.excludeSources,
26
+ maxHops: this.options.maxHops,
27
+ splitDistributionPercent: this.options.splitDistributionPercent,
28
+ });
29
+ const { expectedAmount } = getExpectedReturn(quote.amountOut.toString(), 0, this.metaOptions.partnerCommissionBps ?? 0, this.metaOptions.tipBps ?? 0);
30
+ return {
31
+ id: v4(),
32
+ provider: EProvider.FLOWX,
33
+ quote: quote,
34
+ amountIn: quote.amountIn.toString(),
35
+ rawAmountOut: quote.amountOut.toString(),
36
+ amountOut: expectedAmount,
37
+ coinTypeIn: quoteOptions.coinInType,
38
+ coinTypeOut: quoteOptions.coinOutType,
39
+ };
40
+ }
41
+ async swap(options) {
42
+ assert(options.quote.provider === EProvider.FLOWX, "Invalid quote");
43
+ const builder = new TradeBuilder("mainnet", options.quote.quote.routes);
44
+ if (this.metaOptions.partner) {
45
+ builder.commission(new Commission(this.metaOptions.partner, options.quote.quote.coinOut, CommissionType.PERCENTAGE, (this.metaOptions.partnerCommissionBps ?? 0) * 100, true));
46
+ }
47
+ builder.sender(options.signer);
48
+ builder.slippage(10000 * 100);
49
+ const res = await builder.build().swap({
50
+ tx: options.tx,
51
+ client: this.client,
52
+ coinIn: options.coinIn,
53
+ });
54
+ return res;
55
+ }
56
+ }
package/lib/esm/index.mjs CHANGED
@@ -1,5 +1,7 @@
1
1
  export * from "./types/aggregator";
2
+ export * from "./types/metaAg";
2
3
  import { Config } from "./config";
4
+ import { MetaAg } from "./features/metaAg";
3
5
  import { getSuiPrice, getTokenPrice, getTokenPrices } from "./features/prices";
4
6
  import { executeBluefinTx } from "./libs/protocols/bluefinx/client";
5
7
  import { buildTx, buildTxV2, DEFAULT_SOURCES, estimateGasFee, executeTx, getQuote, getSwapHistory, multiSwap, } from "./features/swap";
@@ -15,7 +17,7 @@ getQuote,
15
17
  // sui client
16
18
  getSuiClient, getSuiPrice, getSwapHistory,
17
19
  // prices
18
- getTokenPrice, getTokenPrices, multiSwap,
20
+ getTokenPrice, getTokenPrices, MetaAg, multiSwap,
19
21
  // dca
20
22
  placeDcaOrder,
21
23
  // limit order
@@ -52,4 +54,6 @@ export default {
52
54
  cancelDcaOrder,
53
55
  getClosedDcaOrders,
54
56
  getDcaOrderExecutions,
57
+ // Meta aggregator
58
+ MetaAg,
55
59
  };
@@ -1,4 +1,8 @@
1
1
  export declare const _7K_PACKAGE_ID = "0x62412b7268c35f3808336aee57a52836501f40b8ba5d936f8ad275e672befd04";
2
2
  export declare const _7K_CONFIG = "0x47442a93f7727d188ba7cb71031170d1786af70013cb7ad5115f3fe877ff0c54";
3
3
  export declare const _7K_VAULT = "0x442ad50389ed5cda6f7a6f5a7ae6361a4c05ef1d9fb2e54fbba5a268d690bfe6";
4
+ export declare const _7K_META_PUBLISHED_AT = "0x17c0b1f7a6ad73f51268f16b8c06c049eecc2f28a270cdd29c06e3d2dea23302";
5
+ export declare const _7K_META_PACKAGE_ID = "0x17c0b1f7a6ad73f51268f16b8c06c049eecc2f28a270cdd29c06e3d2dea23302";
6
+ export declare const _7K_META_VAULT = "0x9a8abd32fe5721307ce3b697cf982ee84e9ffbd58d667a4a199f1683c1a3d23c";
7
+ export declare const _7K_META_CONFIG = "0xbbb3a51877ed9b492f26f4e2181811cfb2bd70c532f6f7621263d122d5e96b56";
4
8
  //# sourceMappingURL=_7k.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"_7k.d.ts","sourceRoot":"","sources":["../../../../src/constants/_7k.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,uEAC2C,CAAC;AAKvE,eAAO,MAAM,UAAU,uEAC+C,CAAC;AAGvE,eAAO,MAAM,SAAS,uEACgD,CAAC"}
1
+ {"version":3,"file":"_7k.d.ts","sourceRoot":"","sources":["../../../../src/constants/_7k.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,uEAC2C,CAAC;AAKvE,eAAO,MAAM,UAAU,uEAC+C,CAAC;AAGvE,eAAO,MAAM,SAAS,uEACgD,CAAC;AAEvE,eAAO,MAAM,qBAAqB,uEACoC,CAAC;AACvE,eAAO,MAAM,mBAAmB,uEACsC,CAAC;AACvE,eAAO,MAAM,cAAc,uEAC2C,CAAC;AACvE,eAAO,MAAM,eAAe,uEAC0C,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const SUI_ADDRESS_ZERO = "0x0000000000000000000000000000000000000000000000000000000000000000";
2
+ //# sourceMappingURL=sui.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sui.d.ts","sourceRoot":"","sources":["../../../../src/constants/sui.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,uEACyC,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { SuiClient } from "@mysten/sui/client";
2
+ import { TransactionObjectArgument } from "@mysten/sui/transactions";
3
+ import { MetaAgOptions, MetaQuote, MetaQuoteOptions, MetaSimulationOptions, MetaSwapOptions } from "../../types/metaAg";
4
+ export declare class MetaAg {
5
+ client: SuiClient;
6
+ private providers;
7
+ private inspector;
8
+ private options;
9
+ constructor(options?: MetaAgOptions);
10
+ private _getProvider;
11
+ private _simulate;
12
+ private _quote;
13
+ /**
14
+ * Get quotes from all providers
15
+ * @param options - quote options
16
+ * @param simulation - if present, the quote will be simulated
17
+ * @returns quotes from all providers
18
+ */
19
+ quote(options: MetaQuoteOptions, simulation?: MetaSimulationOptions): Promise<MetaQuote[]>;
20
+ /**
21
+ * Build transaction from quote
22
+ * @param options - build tx options
23
+ * @param slippageBps - slippage bps if not specified, fallback to global slippage bps, if none of them specified, default to 100
24
+ * @returns coin out object, you must consume it by transferObjects, or other sub sequence commands
25
+ */
26
+ swap(options: MetaSwapOptions, slippageBps?: number): Promise<TransactionObjectArgument>;
27
+ }
28
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/metaAg/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,SAAS,EAAY,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAGL,yBAAyB,EAC1B,MAAM,0BAA0B,CAAC;AAQlC,OAAO,EAGL,aAAa,EACb,SAAS,EACT,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EAChB,MAAM,oBAAoB,CAAC;AAa5B,qBAAa,MAAM;IACjB,MAAM,EAAE,SAAS,CAAC;IAClB,OAAO,CAAC,SAAS,CAA8C;IAC/D,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,OAAO,CAA0B;gBAC7B,OAAO,CAAC,EAAE,aAAa;YAkBrB,YAAY;YA4CZ,SAAS;YAiDT,MAAM;IAwBpB;;;;;OAKG;IACG,KAAK,CACT,OAAO,EAAE,gBAAgB,EACzB,UAAU,CAAC,EAAE,qBAAqB,GACjC,OAAO,CAAC,SAAS,EAAE,CAAC;IAgBvB;;;;;OAKG;IACG,IAAI,CACR,OAAO,EAAE,eAAe,EACxB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,yBAAyB,CAAC;CAgBtC"}
@@ -0,0 +1,11 @@
1
+ import { SuiClient } from "@mysten/sui/client";
2
+ import { AgProvider, BluefinProviderOptions, EProvider, MetaAgOptions, MetaQuote, MetaQuoteOptions, MetaSwapOptions } from "../../../types/metaAg";
3
+ export declare class BluefinProvider implements AgProvider {
4
+ private readonly options;
5
+ private readonly metaOptions;
6
+ kind: EProvider;
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
@@ -0,0 +1 @@
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;AAU/C,OAAO,EACL,UAAU,EACV,sBAAsB,EACtB,SAAS,EACT,aAAa,EACb,SAAS,EACT,gBAAgB,EAChB,eAAe,EAChB,MAAM,uBAAuB,CAAC;AAS/B,qBAAa,eAAgB,YAAW,UAAU;IAG9C,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAH9B,IAAI,YAAuB;gBAER,OAAO,EAAE,sBAAsB,EAC/B,WAAW,EAAE,QAAQ,CAAC,aAAa,CAAC,EACrD,MAAM,EAAE,SAAS;IAeb,KAAK,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC;IA4BpD,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,eAAe;CAiB1D"}
@@ -0,0 +1,13 @@
1
+ import { SuiClient } from "@mysten/sui/client";
2
+ import { TransactionObjectArgument } from "@mysten/sui/transactions";
3
+ import { AgProvider, CetusProviderOptions, EProvider, MetaAgOptions, MetaQuote, MetaQuoteOptions, MetaSwapOptions } from "../../../types/metaAg";
4
+ export declare class CetusProvider implements AgProvider {
5
+ private readonly options;
6
+ private readonly metaOptions;
7
+ kind: EProvider;
8
+ private readonly cetusClient;
9
+ constructor(options: CetusProviderOptions, metaOptions: MetaAgOptions, client: SuiClient);
10
+ quote(quoteOptions: MetaQuoteOptions): Promise<MetaQuote>;
11
+ swap(options: MetaSwapOptions): Promise<TransactionObjectArgument>;
12
+ }
13
+ //# sourceMappingURL=cetus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cetus.d.ts","sourceRoot":"","sources":["../../../../../../src/features/metaAg/providers/cetus.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAErE,OAAO,EACL,UAAU,EACV,oBAAoB,EACpB,SAAS,EACT,aAAa,EACb,SAAS,EACT,gBAAgB,EAChB,eAAe,EAChB,MAAM,uBAAuB,CAAC;AAI/B,qBAAa,aAAc,YAAW,UAAU;IAI5C,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAJ9B,IAAI,YAAmB;IACvB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAmB;gBAE5B,OAAO,EAAE,oBAAoB,EAC7B,WAAW,EAAE,aAAa,EAC3C,MAAM,EAAE,SAAS;IAeb,KAAK,CAAC,YAAY,EAAE,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC;IAsCzD,IAAI,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,yBAAyB,CAAC;CAUzE"}
@@ -0,0 +1,14 @@
1
+ import { SuiClient } from "@mysten/sui/client";
2
+ import { TransactionObjectArgument } from "@mysten/sui/transactions";
3
+ import { AgProvider, EProvider, FlowxProviderOptions, MetaAgOptions, MetaQuote, MetaQuoteOptions, MetaSwapOptions } from "../../../types/metaAg";
4
+ export declare class FlowxProvider implements AgProvider {
5
+ private readonly options;
6
+ private readonly metaOptions;
7
+ private readonly client;
8
+ kind: EProvider;
9
+ private quoter;
10
+ constructor(options: FlowxProviderOptions, metaOptions: MetaAgOptions, client: SuiClient);
11
+ quote(quoteOptions: MetaQuoteOptions): Promise<MetaQuote>;
12
+ swap(options: MetaSwapOptions): Promise<TransactionObjectArgument>;
13
+ }
14
+ //# sourceMappingURL=flowx.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flowx.d.ts","sourceRoot":"","sources":["../../../../../../src/features/metaAg/providers/flowx.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAErE,OAAO,EACL,UAAU,EACV,SAAS,EACT,oBAAoB,EACpB,aAAa,EACb,SAAS,EACT,gBAAgB,EAChB,eAAe,EAChB,MAAM,uBAAuB,CAAC;AAI/B,qBAAa,aAAc,YAAW,UAAU;IAI5C,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM;IALzB,IAAI,YAAmB;IACvB,OAAO,CAAC,MAAM,CAAmB;gBAEd,OAAO,EAAE,oBAAoB,EAC7B,WAAW,EAAE,aAAa,EAC1B,MAAM,EAAE,SAAS;IAK9B,KAAK,CAAC,YAAY,EAAE,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC;IA6BzD,IAAI,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,yBAAyB,CAAC;CAuBzE"}
@@ -1,12 +1,14 @@
1
1
  export * from "./types/aggregator";
2
+ export * from "./types/metaAg";
2
3
  import { Config } from "./config";
4
+ import { MetaAg } from "./features/metaAg";
3
5
  import { getSuiPrice, getTokenPrice, getTokenPrices } from "./features/prices";
4
6
  import { executeBluefinTx } from "./libs/protocols/bluefinx/client";
5
7
  import { buildTx, buildTxV2, DEFAULT_SOURCES, estimateGasFee, executeTx, getQuote, getSwapHistory, multiSwap } from "./features/swap";
6
8
  import { cancelDcaOrder, cancelLimitOrder, claimExpiredLimitOrder, getClosedDcaOrders, getClosedLimitOrders, getDcaOrderExecutions, getOpenDcaOrders, getOpenLimitOrders, placeDcaOrder, placeLimitOrder } from "./features/limitDca";
7
9
  declare const getSuiClient: () => import("@mysten/sui/dist/cjs/client").SuiClient;
8
10
  declare const setSuiClient: (client: import("@mysten/sui/dist/cjs/client").SuiClient) => void;
9
- export { buildTx, buildTxV2, cancelDcaOrder, cancelLimitOrder, claimExpiredLimitOrder, Config, DEFAULT_SOURCES, estimateGasFee, executeBluefinTx, executeTx, getClosedDcaOrders, getClosedLimitOrders, getDcaOrderExecutions, getOpenDcaOrders, getOpenLimitOrders, getQuote, getSuiClient, getSuiPrice, getSwapHistory, getTokenPrice, getTokenPrices, multiSwap, placeDcaOrder, placeLimitOrder, setSuiClient, };
11
+ export { buildTx, buildTxV2, cancelDcaOrder, cancelLimitOrder, claimExpiredLimitOrder, Config, DEFAULT_SOURCES, estimateGasFee, executeBluefinTx, executeTx, getClosedDcaOrders, getClosedLimitOrders, getDcaOrderExecutions, getOpenDcaOrders, getOpenLimitOrders, getQuote, getSuiClient, getSuiPrice, getSwapHistory, getTokenPrice, getTokenPrices, MetaAg, multiSwap, placeDcaOrder, placeLimitOrder, setSuiClient, };
10
12
  declare const _default: {
11
13
  Config: {
12
14
  setApiKey: (key: string) => void;
@@ -44,6 +46,7 @@ declare const _default: {
44
46
  cancelDcaOrder: typeof cancelDcaOrder;
45
47
  getClosedDcaOrders: typeof getClosedDcaOrders;
46
48
  getDcaOrderExecutions: typeof getDcaOrderExecutions;
49
+ MetaAg: typeof MetaAg;
47
50
  };
48
51
  export default _default;
49
52
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AAEnC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAEpE,OAAO,EACL,OAAO,EACP,SAAS,EACT,eAAe,EACf,cAAc,EACd,SAAS,EACT,QAAQ,EACR,cAAc,EACd,SAAS,EACV,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACb,eAAe,EAChB,MAAM,qBAAqB,CAAC;AAG7B,QAAA,MAAM,YAAY,uDAAsB,CAAC;AACzC,QAAA,MAAM,YAAY,mEAAsB,CAAC;AAEzC,OAAO,EACL,OAAO,EACP,SAAS,EACT,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EAEtB,MAAM,EACN,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,SAAS,EACT,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAElB,QAAQ,EAER,YAAY,EACZ,WAAW,EACX,cAAc,EAEd,aAAa,EACb,cAAc,EACd,SAAS,EAET,aAAa,EAEb,eAAe,EACf,YAAY,GACb,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEF,wBAqCE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAE/B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAEpE,OAAO,EACL,OAAO,EACP,SAAS,EACT,eAAe,EACf,cAAc,EACd,SAAS,EACT,QAAQ,EACR,cAAc,EACd,SAAS,EACV,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACb,eAAe,EAChB,MAAM,qBAAqB,CAAC;AAG7B,QAAA,MAAM,YAAY,uDAAsB,CAAC;AACzC,QAAA,MAAM,YAAY,mEAAsB,CAAC;AAEzC,OAAO,EACL,OAAO,EACP,SAAS,EACT,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EAEtB,MAAM,EACN,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,SAAS,EACT,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAElB,QAAQ,EAER,YAAY,EACZ,WAAW,EACX,cAAc,EAEd,aAAa,EACb,cAAc,EACd,MAAM,EACN,SAAS,EAET,aAAa,EAEb,eAAe,EACf,YAAY,GACb,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEF,wBAwCE"}
@@ -0,0 +1,8 @@
1
+ export var EProvider;
2
+ (function (EProvider) {
3
+ EProvider["BLUEFIN7K"] = "bluefin7k";
4
+ EProvider["CETUS"] = "cetus";
5
+ EProvider["FLOWX"] = "flowx";
6
+ })(EProvider || (EProvider = {}));
7
+ export class AgProvider {
8
+ }
@@ -0,0 +1,127 @@
1
+ import type { PreSwapLpChangeParams, RouterDataV3 } from "@cetusprotocol/aggregator-sdk";
2
+ import type { AggregatorQuoter, Protocol } from "@flowx-finance/sdk";
3
+ import type { GasCostSummary } from "@mysten/sui/client";
4
+ import type { Transaction, TransactionObjectArgument } from "@mysten/sui/transactions";
5
+ import { QuoteResponse, SourceDex } from "./aggregator";
6
+ export declare enum EProvider {
7
+ BLUEFIN7K = "bluefin7k",
8
+ CETUS = "cetus",
9
+ FLOWX = "flowx"
10
+ }
11
+ export type BluefinProviderOptions = {
12
+ sources?: SourceDex[];
13
+ maxPaths?: number;
14
+ excludedPools?: string[];
15
+ targetPools?: string[];
16
+ api?: string;
17
+ apiKey?: string;
18
+ };
19
+ export type FlowxProviderOptions = {
20
+ sources?: Protocol[];
21
+ excludePools?: string[];
22
+ excludeSources?: Protocol[];
23
+ maxHops?: number;
24
+ splitDistributionPercent?: number;
25
+ api?: string;
26
+ apiKey?: string;
27
+ };
28
+ export type CetusProviderOptions = {
29
+ sources?: string[];
30
+ splitCount?: number;
31
+ splitAlgorithm?: string;
32
+ splitFactor?: number;
33
+ depth?: number;
34
+ liquidityChanges?: PreSwapLpChangeParams[];
35
+ api?: string;
36
+ apiKey?: string;
37
+ };
38
+ export interface MetaAgOptions {
39
+ /**If not specified, all providers will be used */
40
+ providers?: {
41
+ [EProvider.BLUEFIN7K]?: BluefinProviderOptions;
42
+ [EProvider.FLOWX]?: FlowxProviderOptions;
43
+ [EProvider.CETUS]?: CetusProviderOptions;
44
+ };
45
+ /**Mainnet Json Rpc url, if not specified, the default mainnet url will be used */
46
+ fullnodeUrl?: string;
47
+ /**Hermes Api url, if not specified, the default hermes api url will be used */
48
+ hermesApi?: string;
49
+ /**Address to receive commission, if not specified, the commission will not be used */
50
+ partner?: string;
51
+ /**@default 0 */
52
+ partnerCommissionBps?: number;
53
+ /**@default 100 */
54
+ slippageBps?: number;
55
+ /**
56
+ * Tip to support 7k
57
+ * @default 0 */
58
+ tipBps?: number;
59
+ }
60
+ export interface MetaQuoteOptions {
61
+ coinInType: string;
62
+ coinOutType: string;
63
+ amountIn: string;
64
+ /**
65
+ * Timeout for quote operation in milliseconds
66
+ * @default 2000ms
67
+ */
68
+ timeout?: number;
69
+ }
70
+ export interface MetaSimulationOptions {
71
+ sender: string;
72
+ /**
73
+ * Timeout for simulation operation in milliseconds
74
+ * @default 2000ms
75
+ */
76
+ timeout?: number;
77
+ /** If specify, defer the simulation that could reduce the time to display quote result, you must update the quote via the id on callback
78
+ * else await all quote and simulation before return
79
+ */
80
+ onSimulated?: (payload: Pick<MetaQuote, "simulatedAmountOut" | "gasUsed" | "id" | "provider">) => void;
81
+ }
82
+ export interface MetaSwapOptions {
83
+ /** Quote object from the quote operation */
84
+ quote: MetaQuote;
85
+ /** Signer address (owner of `coinIn`) */
86
+ signer: string;
87
+ /** Transaction object to add the swap operation */
88
+ tx: Transaction;
89
+ /**
90
+ * Coin object used for the swap, must be consumed completely, no `coinIn` left, user must pass the coinIn object with the balance required for the swap - ie in quote `amountIn`
91
+ * @warning `coinIn` value must match the quote `amountIn` */
92
+ coinIn: TransactionObjectArgument;
93
+ }
94
+ export type FlowxQuoteResponse = Awaited<ReturnType<AggregatorQuoter["getRoutes"]>>;
95
+ export type MetaQuote = ({
96
+ provider: EProvider.BLUEFIN7K;
97
+ quote: QuoteResponse;
98
+ } | {
99
+ provider: EProvider.CETUS;
100
+ quote: RouterDataV3;
101
+ } | {
102
+ provider: EProvider.FLOWX;
103
+ quote: FlowxQuoteResponse;
104
+ }) & {
105
+ /** uuid to keep track the quote result, used to apply simulation result on quote on callback `onSimulated`*/
106
+ id: string;
107
+ /** coin type: ie 0x2::sui::SUI */
108
+ coinTypeIn: string;
109
+ /** coin type: ie 0x2::sui::SUI */
110
+ coinTypeOut: string;
111
+ /** Amount in as u64 */
112
+ amountIn: string;
113
+ /** Amount out as u64 if there're no commission be applied to the amount out */
114
+ rawAmountOut: string;
115
+ /** Amount as u64 after minus any commission kind */
116
+ amountOut: string;
117
+ /** Simulated amount out if the transaction is executed */
118
+ simulatedAmountOut?: string;
119
+ /** Estimate gas consumption if the transaction is executed */
120
+ gasUsed?: GasCostSummary;
121
+ };
122
+ export declare abstract class AgProvider {
123
+ abstract kind: EProvider;
124
+ abstract quote(quoteOptions: MetaQuoteOptions): Promise<MetaQuote>;
125
+ abstract swap(options: MetaSwapOptions): Promise<TransactionObjectArgument>;
126
+ }
127
+ //# sourceMappingURL=metaAg.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metaAg.d.ts","sourceRoot":"","sources":["../../../../src/types/metaAg.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,87 @@
1
+ import { bcs } from "@mysten/sui/bcs";
2
+ import { SuiClient } from "@mysten/sui/client";
3
+ import { OpenMoveTypeSignature, TransactionPlugin } from "@mysten/sui/transactions";
4
+ export interface ObjectCacheEntry {
5
+ objectId: string;
6
+ version: string;
7
+ digest: string;
8
+ owner: string | null;
9
+ initialSharedVersion: string | null;
10
+ }
11
+ export interface MoveFunctionCacheEntry {
12
+ package: string;
13
+ module: string;
14
+ function: string;
15
+ parameters: OpenMoveTypeSignature[];
16
+ }
17
+ export interface CacheEntryTypes {
18
+ OwnedObject: ObjectCacheEntry;
19
+ SharedOrImmutableObject: ObjectCacheEntry;
20
+ MoveFunction: MoveFunctionCacheEntry;
21
+ Custom: unknown;
22
+ }
23
+ export declare abstract class AsyncCache {
24
+ protected abstract get<T extends keyof CacheEntryTypes>(type: T, key: string): Promise<CacheEntryTypes[T] | null>;
25
+ protected abstract set<T extends keyof CacheEntryTypes>(type: T, key: string, value: CacheEntryTypes[T]): Promise<void>;
26
+ protected abstract delete<T extends keyof CacheEntryTypes>(type: T, key: string): Promise<void>;
27
+ abstract clear<T extends keyof CacheEntryTypes>(type?: T): Promise<void>;
28
+ getObject(id: string): Promise<ObjectCacheEntry | null>;
29
+ getObjects(ids: string[]): Promise<(ObjectCacheEntry | null)[]>;
30
+ addObject(object: ObjectCacheEntry): Promise<ObjectCacheEntry>;
31
+ addObjects(objects: ObjectCacheEntry[]): Promise<void>;
32
+ deleteObject(id: string): Promise<void>;
33
+ deleteObjects(ids: string[]): Promise<void>;
34
+ getMoveFunctionDefinition(ref: {
35
+ package: string;
36
+ module: string;
37
+ function: string;
38
+ }): Promise<MoveFunctionCacheEntry | null>;
39
+ addMoveFunctionDefinition(functionEntry: MoveFunctionCacheEntry): Promise<{
40
+ package: string;
41
+ module: string;
42
+ function: string;
43
+ parameters: OpenMoveTypeSignature[];
44
+ }>;
45
+ deleteMoveFunctionDefinition(ref: {
46
+ package: string;
47
+ module: string;
48
+ function: string;
49
+ }): Promise<void>;
50
+ getCustom<T>(key: string): Promise<T | null>;
51
+ setCustom<T>(key: string, value: T): Promise<void>;
52
+ deleteCustom(key: string): Promise<void>;
53
+ }
54
+ export declare class InMemoryObjectCache extends AsyncCache {
55
+ #private;
56
+ protected get<T extends keyof CacheEntryTypes>(type: T, key: string): Promise<NonNullable<CacheEntryTypes[T]> | null>;
57
+ protected set<T extends keyof CacheEntryTypes>(type: T, key: string, value: CacheEntryTypes[T]): Promise<void>;
58
+ protected delete<T extends keyof CacheEntryTypes>(type: T, key: string): Promise<void>;
59
+ clear<T extends keyof CacheEntryTypes>(type?: T): Promise<void>;
60
+ }
61
+ export interface ObjectCacheOptions {
62
+ cache?: AsyncCache;
63
+ client: SuiClient;
64
+ onEffects?: (effects: typeof bcs.TransactionEffects.$inferType) => Promise<void>;
65
+ }
66
+ export declare class CustomObjectCache {
67
+ #private;
68
+ constructor({ cache, onEffects, client, }: ObjectCacheOptions);
69
+ private applyCache;
70
+ private resolveObjects;
71
+ asPlugin(): TransactionPlugin;
72
+ clear(): Promise<void>;
73
+ getMoveFunctionDefinition(ref: {
74
+ package: string;
75
+ module: string;
76
+ function: string;
77
+ }): Promise<MoveFunctionCacheEntry | null>;
78
+ getObjects(ids: string[]): Promise<(ObjectCacheEntry | null)[]>;
79
+ deleteObjects(ids: string[]): Promise<void>;
80
+ clearOwnedObjects(): Promise<void>;
81
+ clearCustom(): Promise<void>;
82
+ getCustom<T>(key: string): Promise<T | null>;
83
+ setCustom<T>(key: string, value: T): Promise<void>;
84
+ deleteCustom(key: string): Promise<void>;
85
+ applyEffects(effects: typeof bcs.TransactionEffects.$inferType): Promise<void>;
86
+ }
87
+ //# sourceMappingURL=ObjectCache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObjectCache.d.ts","sourceRoot":"","sources":["../../../../src/utils/ObjectCache.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { DevInspectTransactionBlockParams, SuiClient } from "@mysten/sui/client";
2
+ /**
3
+ * Utility class for interacting with Sui blockchain coins
4
+ */
5
+ export declare class SuiClientUtils {
6
+ #private;
7
+ private client;
8
+ /**
9
+ * Creates a new instance of SuiClientUtils
10
+ * @param client - The Sui client instance to use for blockchain interactions
11
+ */
12
+ constructor(client: SuiClient);
13
+ devInspectTransactionBlock: (params: DevInspectTransactionBlockParams) => Promise<import("@mysten/sui/client").DevInspectResults>;
14
+ }
15
+ //# sourceMappingURL=SuiClientUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SuiClientUtils.d.ts","sourceRoot":"","sources":["../../../../src/utils/SuiClientUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gCAAgC,EAChC,SAAS,EACV,MAAM,oBAAoB,CAAC;AAI5B;;GAEG;AACH,qBAAa,cAAc;;IAMb,OAAO,CAAC,MAAM;IAJ1B;;;OAGG;gBACiB,MAAM,EAAE,SAAS;IAIrC,0BAA0B,GACxB,QAAQ,gCAAgC,6DAexC;CACH"}
@@ -0,0 +1,2 @@
1
+ export declare function assert(condition: boolean, message?: string | null): asserts condition;
2
+ //# sourceMappingURL=condition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"condition.d.ts","sourceRoot":"","sources":["../../../../src/utils/condition.ts"],"names":[],"mappings":"AAAA,wBAAgB,MAAM,CACpB,SAAS,EAAE,OAAO,EAClB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GACtB,OAAO,CAAC,SAAS,CAInB"}