@7kprotocol/sdk-ts 1.2.5 → 1.2.7

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.
@@ -21,13 +21,21 @@ const swapWithRoute_1 = require("./libs/swapWithRoute");
21
21
  const token_1 = require("./utils/token");
22
22
  const sui_1 = require("./utils/sui");
23
23
  const _7k_1 = require("./constants/_7k");
24
- const buildTx = (_a) => __awaiter(void 0, [_a], void 0, function* ({ quoteResponse, accountAddress, slippage, tx: _tx, commission: _commission, }) {
25
- if (!accountAddress || !quoteResponse.routes)
26
- return;
24
+ const utils_1 = require("@mysten/sui.js/utils");
25
+ const buildTx = (_a) => __awaiter(void 0, [_a], void 0, function* ({ quoteResponse, accountAddress, slippage, tx: _tx, commission: _commission, isGasEstimate, }) {
26
+ if (!accountAddress) {
27
+ throw new Error("Sender address is required");
28
+ }
29
+ if (!quoteResponse.routes) {
30
+ throw new Error("Invalid quote response: 'routes' are required");
31
+ }
32
+ if (!(0, utils_1.isValidSuiAddress)(_commission.partner)) {
33
+ throw new Error("Invalid commission partner address");
34
+ }
27
35
  const tx = _tx || new transactions_1.TransactionBlock();
28
36
  const routes = (0, groupSwapRoutes_1.groupSwapRoutes)(quoteResponse);
29
37
  const splits = routes.map((group) => { var _a, _b; return (_b = (_a = group[0]) === null || _a === void 0 ? void 0 : _a.amount) !== null && _b !== void 0 ? _b : "0"; });
30
- const { coinData } = yield (0, getSplitCoinForTx_1.getSplitCoinForTx)(accountAddress, quoteResponse.swapAmountWithDecimal, splits, (0, token_1.denormalizeTokenType)(quoteResponse.tokenIn), tx);
38
+ const { coinData } = yield (0, getSplitCoinForTx_1.getSplitCoinForTx)(accountAddress, quoteResponse.swapAmountWithDecimal, splits, (0, token_1.denormalizeTokenType)(quoteResponse.tokenIn), tx, isGasEstimate);
31
39
  const coinObjects = [];
32
40
  yield Promise.all(routes.map((route, index) => __awaiter(void 0, void 0, void 0, function* () {
33
41
  const inputCoinObject = coinData[index];
@@ -29,6 +29,7 @@ function estimateGasFee(_a) {
29
29
  accountAddress,
30
30
  slippage,
31
31
  commission,
32
+ isGasEstimate: true,
32
33
  }).catch((err) => {
33
34
  console.log("build tx error: ", err);
34
35
  return undefined;
@@ -15,7 +15,7 @@ function getQuote(_a) {
15
15
  return __awaiter(this, arguments, void 0, function* ({ tokenIn, tokenOut, amountIn, }) {
16
16
  const response = yield fetch(`https://api.7k.ag/quote?amount=${amountIn}&from=${(0, token_1.normalizeTokenType)(tokenIn)}&to=${(0, token_1.normalizeTokenType)(tokenOut)}`);
17
17
  if (!response.ok) {
18
- throw new Error("Failed to fetch aggregator sor");
18
+ throw new Error("Failed to fetch aggregator quote");
19
19
  }
20
20
  return response.json();
21
21
  });
@@ -1,4 +1,4 @@
1
1
  import { TransactionBlock } from "@mysten/sui.js/transactions";
2
2
  import { BuildTxParams } from "./types/tx";
3
- export declare const buildTx: ({ quoteResponse, accountAddress, slippage, tx: _tx, commission: _commission, }: BuildTxParams) => Promise<TransactionBlock | undefined>;
3
+ export declare const buildTx: ({ quoteResponse, accountAddress, slippage, tx: _tx, commission: _commission, isGasEstimate, }: BuildTxParams) => Promise<TransactionBlock>;
4
4
  //# sourceMappingURL=buildTx.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildTx.d.ts","sourceRoot":"","sources":["../../../src/buildTx.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAEjB,MAAM,6BAA6B,CAAC;AAOrC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAG3C,eAAO,MAAM,OAAO,mFAMjB,aAAa,0CA2Df,CAAC"}
1
+ {"version":3,"file":"buildTx.d.ts","sourceRoot":"","sources":["../../../src/buildTx.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAEjB,MAAM,6BAA6B,CAAC;AAOrC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAI3C,eAAO,MAAM,OAAO,kGAOjB,aAAa,8BAsEf,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"estimateGasFee.d.ts","sourceRoot":"","sources":["../../../src/estimateGasFee.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAIlD,wBAAsB,cAAc,CAAC,EACnC,aAAa,EACb,cAAc,EACd,QAAQ,EACR,QAAQ,EAAE,SAAS,EACnB,EAAE,EAAE,GAAG,EACP,UAAU,GACX,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,CAoCxC"}
1
+ {"version":3,"file":"estimateGasFee.d.ts","sourceRoot":"","sources":["../../../src/estimateGasFee.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAIlD,wBAAsB,cAAc,CAAC,EACnC,aAAa,EACb,cAAc,EACd,QAAQ,EACR,QAAQ,EAAE,SAAS,EACnB,EAAE,EAAE,GAAG,EACP,UAAU,GACX,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,CAqCxC"}
@@ -11,7 +11,7 @@ declare const _default: {
11
11
  getQuote: typeof getQuote;
12
12
  getSuiPrice: typeof getSuiPrice;
13
13
  estimateGasFee: typeof estimateGasFee;
14
- buildTx: ({ quoteResponse, accountAddress, slippage, tx: _tx, commission: _commission, }: import("./types/tx").BuildTxParams) => Promise<import("@mysten/sui.js/dist/cjs/transactions").TransactionBlock | undefined>;
14
+ buildTx: ({ quoteResponse, accountAddress, slippage, tx: _tx, commission: _commission, isGasEstimate, }: import("./types/tx").BuildTxParams) => Promise<import("@mysten/sui.js/dist/cjs/transactions").TransactionBlock>;
15
15
  };
16
16
  export default _default;
17
17
  //# sourceMappingURL=index.d.ts.map
@@ -1,14 +1,17 @@
1
1
  import { TransactionBlock } from "@mysten/sui.js/transactions";
2
2
  import { Commission, QuoteResponse } from "./aggregator";
3
3
  import BigNumber from "bignumber.js";
4
- export interface BuildTxParams {
4
+ export interface CommonParams {
5
5
  tx?: TransactionBlock;
6
6
  quoteResponse: QuoteResponse;
7
7
  accountAddress: string;
8
8
  slippage: BigNumber.Value;
9
9
  commission: Commission;
10
10
  }
11
- export interface EstimateGasFeeParams extends BuildTxParams {
11
+ export interface BuildTxParams extends CommonParams {
12
+ isGasEstimate?: boolean;
13
+ }
14
+ export interface EstimateGasFeeParams extends CommonParams {
12
15
  suiPrice?: number;
13
16
  }
14
17
  //# sourceMappingURL=tx.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tx.d.ts","sourceRoot":"","sources":["../../../../src/types/tx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,MAAM,WAAW,aAAa;IAC5B,EAAE,CAAC,EAAE,gBAAgB,CAAC;IACtB,aAAa,EAAE,aAAa,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,SAAS,CAAC,KAAK,CAAC;IAC1B,UAAU,EAAE,UAAU,CAAC;CACxB;AAED,MAAM,WAAW,oBAAqB,SAAQ,aAAa;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
1
+ {"version":3,"file":"tx.d.ts","sourceRoot":"","sources":["../../../../src/types/tx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,MAAM,WAAW,YAAY;IAC3B,EAAE,CAAC,EAAE,gBAAgB,CAAC;IACtB,aAAa,EAAE,aAAa,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,SAAS,CAAC,KAAK,CAAC;IAC1B,UAAU,EAAE,UAAU,CAAC;CACxB;AAED,MAAM,WAAW,aAAc,SAAQ,YAAY;IACjD,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,oBAAqB,SAAQ,YAAY;IACxD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
@@ -6,13 +6,21 @@ import { swapWithRoute } from "./libs/swapWithRoute";
6
6
  import { denormalizeTokenType } from "./utils/token";
7
7
  import { SuiUtils } from "./utils/sui";
8
8
  import { _7K_CONFIG, _7K_PACKAGE_ID } from "./constants/_7k";
9
- export const buildTx = async ({ quoteResponse, accountAddress, slippage, tx: _tx, commission: _commission, }) => {
10
- if (!accountAddress || !quoteResponse.routes)
11
- return;
9
+ import { isValidSuiAddress } from "@mysten/sui.js/utils";
10
+ export const buildTx = async ({ quoteResponse, accountAddress, slippage, tx: _tx, commission: _commission, isGasEstimate, }) => {
11
+ if (!accountAddress) {
12
+ throw new Error("Sender address is required");
13
+ }
14
+ if (!quoteResponse.routes) {
15
+ throw new Error("Invalid quote response: 'routes' are required");
16
+ }
17
+ if (!isValidSuiAddress(_commission.partner)) {
18
+ throw new Error("Invalid commission partner address");
19
+ }
12
20
  const tx = _tx || new TransactionBlock();
13
21
  const routes = groupSwapRoutes(quoteResponse);
14
22
  const splits = routes.map((group) => group[0]?.amount ?? "0");
15
- const { coinData } = await getSplitCoinForTx(accountAddress, quoteResponse.swapAmountWithDecimal, splits, denormalizeTokenType(quoteResponse.tokenIn), tx);
23
+ const { coinData } = await getSplitCoinForTx(accountAddress, quoteResponse.swapAmountWithDecimal, splits, denormalizeTokenType(quoteResponse.tokenIn), tx, isGasEstimate);
16
24
  const coinObjects = [];
17
25
  await Promise.all(routes.map(async (route, index) => {
18
26
  const inputCoinObject = coinData[index];
@@ -13,6 +13,7 @@ export async function estimateGasFee({ quoteResponse, accountAddress, slippage,
13
13
  accountAddress,
14
14
  slippage,
15
15
  commission,
16
+ isGasEstimate: true,
16
17
  }).catch((err) => {
17
18
  console.log("build tx error: ", err);
18
19
  return undefined;
@@ -2,7 +2,7 @@ import { normalizeTokenType } from "./utils/token";
2
2
  export async function getQuote({ tokenIn, tokenOut, amountIn, }) {
3
3
  const response = await fetch(`https://api.7k.ag/quote?amount=${amountIn}&from=${normalizeTokenType(tokenIn)}&to=${normalizeTokenType(tokenOut)}`);
4
4
  if (!response.ok) {
5
- throw new Error("Failed to fetch aggregator sor");
5
+ throw new Error("Failed to fetch aggregator quote");
6
6
  }
7
7
  return response.json();
8
8
  }
@@ -1,4 +1,4 @@
1
1
  import { TransactionBlock } from "@mysten/sui.js/transactions";
2
2
  import { BuildTxParams } from "./types/tx";
3
- export declare const buildTx: ({ quoteResponse, accountAddress, slippage, tx: _tx, commission: _commission, }: BuildTxParams) => Promise<TransactionBlock | undefined>;
3
+ export declare const buildTx: ({ quoteResponse, accountAddress, slippage, tx: _tx, commission: _commission, isGasEstimate, }: BuildTxParams) => Promise<TransactionBlock>;
4
4
  //# sourceMappingURL=buildTx.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildTx.d.ts","sourceRoot":"","sources":["../../../src/buildTx.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAEjB,MAAM,6BAA6B,CAAC;AAOrC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAG3C,eAAO,MAAM,OAAO,mFAMjB,aAAa,0CA2Df,CAAC"}
1
+ {"version":3,"file":"buildTx.d.ts","sourceRoot":"","sources":["../../../src/buildTx.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAEjB,MAAM,6BAA6B,CAAC;AAOrC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAI3C,eAAO,MAAM,OAAO,kGAOjB,aAAa,8BAsEf,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"estimateGasFee.d.ts","sourceRoot":"","sources":["../../../src/estimateGasFee.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAIlD,wBAAsB,cAAc,CAAC,EACnC,aAAa,EACb,cAAc,EACd,QAAQ,EACR,QAAQ,EAAE,SAAS,EACnB,EAAE,EAAE,GAAG,EACP,UAAU,GACX,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,CAoCxC"}
1
+ {"version":3,"file":"estimateGasFee.d.ts","sourceRoot":"","sources":["../../../src/estimateGasFee.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAIlD,wBAAsB,cAAc,CAAC,EACnC,aAAa,EACb,cAAc,EACd,QAAQ,EACR,QAAQ,EAAE,SAAS,EACnB,EAAE,EAAE,GAAG,EACP,UAAU,GACX,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,CAqCxC"}
@@ -11,7 +11,7 @@ declare const _default: {
11
11
  getQuote: typeof getQuote;
12
12
  getSuiPrice: typeof getSuiPrice;
13
13
  estimateGasFee: typeof estimateGasFee;
14
- buildTx: ({ quoteResponse, accountAddress, slippage, tx: _tx, commission: _commission, }: import("./types/tx").BuildTxParams) => Promise<import("@mysten/sui.js/dist/cjs/transactions").TransactionBlock | undefined>;
14
+ buildTx: ({ quoteResponse, accountAddress, slippage, tx: _tx, commission: _commission, isGasEstimate, }: import("./types/tx").BuildTxParams) => Promise<import("@mysten/sui.js/dist/cjs/transactions").TransactionBlock>;
15
15
  };
16
16
  export default _default;
17
17
  //# sourceMappingURL=index.d.ts.map
@@ -1,14 +1,17 @@
1
1
  import { TransactionBlock } from "@mysten/sui.js/transactions";
2
2
  import { Commission, QuoteResponse } from "./aggregator";
3
3
  import BigNumber from "bignumber.js";
4
- export interface BuildTxParams {
4
+ export interface CommonParams {
5
5
  tx?: TransactionBlock;
6
6
  quoteResponse: QuoteResponse;
7
7
  accountAddress: string;
8
8
  slippage: BigNumber.Value;
9
9
  commission: Commission;
10
10
  }
11
- export interface EstimateGasFeeParams extends BuildTxParams {
11
+ export interface BuildTxParams extends CommonParams {
12
+ isGasEstimate?: boolean;
13
+ }
14
+ export interface EstimateGasFeeParams extends CommonParams {
12
15
  suiPrice?: number;
13
16
  }
14
17
  //# sourceMappingURL=tx.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tx.d.ts","sourceRoot":"","sources":["../../../../src/types/tx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,MAAM,WAAW,aAAa;IAC5B,EAAE,CAAC,EAAE,gBAAgB,CAAC;IACtB,aAAa,EAAE,aAAa,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,SAAS,CAAC,KAAK,CAAC;IAC1B,UAAU,EAAE,UAAU,CAAC;CACxB;AAED,MAAM,WAAW,oBAAqB,SAAQ,aAAa;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
1
+ {"version":3,"file":"tx.d.ts","sourceRoot":"","sources":["../../../../src/types/tx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,MAAM,WAAW,YAAY;IAC3B,EAAE,CAAC,EAAE,gBAAgB,CAAC;IACtB,aAAa,EAAE,aAAa,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,SAAS,CAAC,KAAK,CAAC;IAC1B,UAAU,EAAE,UAAU,CAAC;CACxB;AAED,MAAM,WAAW,aAAc,SAAQ,YAAY;IACjD,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,oBAAqB,SAAQ,YAAY;IACxD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@7kprotocol/sdk-ts",
3
- "version": "1.2.5",
3
+ "version": "1.2.7",
4
4
  "description": "",
5
5
  "exports": {
6
6
  ".": {