@gainsnetwork/sdk 0.0.30-rc1 → 0.0.30-rc2

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.
@@ -6,3 +6,4 @@ export { GNSPairInfosV6_1__factory } from "./GNSPairInfosV6_1__factory";
6
6
  export { GNSPairsStorageV6__factory } from "./GNSPairsStorageV6__factory";
7
7
  export { GNSTradingCallbacksV6_4__factory } from "./GNSTradingCallbacksV6_4__factory";
8
8
  export { GTokenOpenPnlFeed__factory } from "./GTokenOpenPnlFeed__factory";
9
+ export { GTokenV6_3_2__factory } from "./GTokenV6_3_2__factory";
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GTokenOpenPnlFeed__factory = exports.GNSTradingCallbacksV6_4__factory = exports.GNSPairsStorageV6__factory = exports.GNSPairInfosV6_1__factory = exports.GNSNftRewardsV6_3_1__factory = exports.GNSNftRewardsV6__factory = exports.GNSBorrowingFeesV6_4__factory = exports.GFarmTradingStorageV5__factory = void 0;
3
+ exports.GTokenV6_3_2__factory = exports.GTokenOpenPnlFeed__factory = exports.GNSTradingCallbacksV6_4__factory = exports.GNSPairsStorageV6__factory = exports.GNSPairInfosV6_1__factory = exports.GNSNftRewardsV6_3_1__factory = exports.GNSNftRewardsV6__factory = exports.GNSBorrowingFeesV6_4__factory = exports.GFarmTradingStorageV5__factory = void 0;
4
4
  /* Autogenerated file. Do not edit manually. */
5
5
  /* tslint:disable */
6
6
  /* eslint-disable */
@@ -20,3 +20,5 @@ var GNSTradingCallbacksV6_4__factory_1 = require("./GNSTradingCallbacksV6_4__fac
20
20
  Object.defineProperty(exports, "GNSTradingCallbacksV6_4__factory", { enumerable: true, get: function () { return GNSTradingCallbacksV6_4__factory_1.GNSTradingCallbacksV6_4__factory; } });
21
21
  var GTokenOpenPnlFeed__factory_1 = require("./GTokenOpenPnlFeed__factory");
22
22
  Object.defineProperty(exports, "GTokenOpenPnlFeed__factory", { enumerable: true, get: function () { return GTokenOpenPnlFeed__factory_1.GTokenOpenPnlFeed__factory; } });
23
+ var GTokenV6_3_2__factory_1 = require("./GTokenV6_3_2__factory");
24
+ Object.defineProperty(exports, "GTokenV6_3_2__factory", { enumerable: true, get: function () { return GTokenV6_3_2__factory_1.GTokenV6_3_2__factory; } });
@@ -6,6 +6,7 @@ export type { GNSPairInfosV6_1 } from "./GNSPairInfosV6_1";
6
6
  export type { GNSPairsStorageV6 } from "./GNSPairsStorageV6";
7
7
  export type { GNSTradingCallbacksV6_4 } from "./GNSTradingCallbacksV6_4";
8
8
  export type { GTokenOpenPnlFeed } from "./GTokenOpenPnlFeed";
9
+ export type { GTokenV6_3_2 } from "./GTokenV6_3_2";
9
10
  export * as factories from "./factories";
10
11
  export { GFarmTradingStorageV5__factory } from "./factories/GFarmTradingStorageV5__factory";
11
12
  export { GNSBorrowingFeesV6_4__factory } from "./factories/GNSBorrowingFeesV6_4__factory";
@@ -15,3 +16,4 @@ export { GNSPairInfosV6_1__factory } from "./factories/GNSPairInfosV6_1__factory
15
16
  export { GNSPairsStorageV6__factory } from "./factories/GNSPairsStorageV6__factory";
16
17
  export { GNSTradingCallbacksV6_4__factory } from "./factories/GNSTradingCallbacksV6_4__factory";
17
18
  export { GTokenOpenPnlFeed__factory } from "./factories/GTokenOpenPnlFeed__factory";
19
+ export { GTokenV6_3_2__factory } from "./factories/GTokenV6_3_2__factory";
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.GTokenOpenPnlFeed__factory = exports.GNSTradingCallbacksV6_4__factory = exports.GNSPairsStorageV6__factory = exports.GNSPairInfosV6_1__factory = exports.GNSNftRewardsV6_3_1__factory = exports.GNSNftRewardsV6__factory = exports.GNSBorrowingFeesV6_4__factory = exports.GFarmTradingStorageV5__factory = exports.factories = void 0;
26
+ exports.GTokenV6_3_2__factory = exports.GTokenOpenPnlFeed__factory = exports.GNSTradingCallbacksV6_4__factory = exports.GNSPairsStorageV6__factory = exports.GNSPairInfosV6_1__factory = exports.GNSNftRewardsV6_3_1__factory = exports.GNSNftRewardsV6__factory = exports.GNSBorrowingFeesV6_4__factory = exports.GFarmTradingStorageV5__factory = exports.factories = void 0;
27
27
  exports.factories = __importStar(require("./factories"));
28
28
  var GFarmTradingStorageV5__factory_1 = require("./factories/GFarmTradingStorageV5__factory");
29
29
  Object.defineProperty(exports, "GFarmTradingStorageV5__factory", { enumerable: true, get: function () { return GFarmTradingStorageV5__factory_1.GFarmTradingStorageV5__factory; } });
@@ -41,3 +41,5 @@ var GNSTradingCallbacksV6_4__factory_1 = require("./factories/GNSTradingCallback
41
41
  Object.defineProperty(exports, "GNSTradingCallbacksV6_4__factory", { enumerable: true, get: function () { return GNSTradingCallbacksV6_4__factory_1.GNSTradingCallbacksV6_4__factory; } });
42
42
  var GTokenOpenPnlFeed__factory_1 = require("./factories/GTokenOpenPnlFeed__factory");
43
43
  Object.defineProperty(exports, "GTokenOpenPnlFeed__factory", { enumerable: true, get: function () { return GTokenOpenPnlFeed__factory_1.GTokenOpenPnlFeed__factory; } });
44
+ var GTokenV6_3_2__factory_1 = require("./factories/GTokenV6_3_2__factory");
45
+ Object.defineProperty(exports, "GTokenV6_3_2__factory", { enumerable: true, get: function () { return GTokenV6_3_2__factory_1.GTokenV6_3_2__factory; } });
@@ -1,4 +1,4 @@
1
- import { GFarmTradingStorageV5, GNSPairInfosV6_1, GNSPairsStorageV6, GTokenOpenPnlFeed, GNSNftRewardsV6_3_1, GNSBorrowingFeesV6_4, GNSTradingCallbacksV6_4 } from "./generated";
1
+ import { GFarmTradingStorageV5, GNSPairInfosV6_1, GNSPairsStorageV6, GTokenOpenPnlFeed, GNSNftRewardsV6_3_1, GNSBorrowingFeesV6_4, GNSTradingCallbacksV6_4, GTokenV6_3_2 } from "./generated";
2
2
  export type Contracts = {
3
3
  gfarmTradingStorageV5: GFarmTradingStorageV5;
4
4
  gnsPairInfosV6_1: GNSPairInfosV6_1;
@@ -7,6 +7,7 @@ export type Contracts = {
7
7
  gnsNftRewards: GNSNftRewardsV6_3_1;
8
8
  gnsBorrowingFees: GNSBorrowingFeesV6_4;
9
9
  gnsTradingCallbacks: GNSTradingCallbacksV6_4;
10
+ gDai: GTokenV6_3_2;
10
11
  };
11
12
  export type ContractAddresses = {
12
13
  gfarmTradingStorageV5: string;
@@ -17,5 +18,6 @@ export type ContractAddresses = {
17
18
  gnsNftRewardsV6_3_1: string;
18
19
  gnsBorrowingFeesV6_3_2: string;
19
20
  gnsTradingCallbacksV6_3_2: string;
21
+ gDai: string;
20
22
  };
21
23
  export type BlockTag = number | "latest" | "pending";
@@ -0,0 +1,8 @@
1
+ import { GNSBorrowingFeesV6_4 } from "../types/generated";
2
+ import { BorrowingFee } from "../../trade";
3
+ export declare const fetchAllPairBorrowingFees: (contract: GNSBorrowingFeesV6_4) => Promise<BorrowingFee.Pair[]>;
4
+ export declare const fetchGroupBorrowingFees: (contract: GNSBorrowingFeesV6_4, groupIxs: number[]) => Promise<BorrowingFee.Group[]>;
5
+ export declare const fetchAllPairAndGroupBorrowingFees: (contract: GNSBorrowingFeesV6_4) => Promise<{
6
+ pairs: BorrowingFee.Pair[];
7
+ groups: BorrowingFee.Group[];
8
+ }>;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.fetchAllPairAndGroupBorrowingFees = exports.fetchGroupBorrowingFees = exports.fetchAllPairBorrowingFees = void 0;
13
+ const trade_1 = require("../../trade");
14
+ const fetchAllPairBorrowingFees = (contract) => __awaiter(void 0, void 0, void 0, function* () { return (0, trade_1.convertPairBorrowingFees)(yield contract.getAllPairs()); });
15
+ exports.fetchAllPairBorrowingFees = fetchAllPairBorrowingFees;
16
+ const fetchGroupBorrowingFees = (contract, groupIxs) => __awaiter(void 0, void 0, void 0, function* () { return (0, trade_1.convertGroupBorrowingFees)(yield contract.getGroups(groupIxs)); });
17
+ exports.fetchGroupBorrowingFees = fetchGroupBorrowingFees;
18
+ const fetchAllPairAndGroupBorrowingFees = (contract) => __awaiter(void 0, void 0, void 0, function* () {
19
+ const pairs = yield (0, exports.fetchAllPairBorrowingFees)(contract);
20
+ const groupIxs = [
21
+ ...new Set(pairs
22
+ .map(value => value.groups.map(value => value.groupIndex))
23
+ .reduce((acc, value) => acc.concat(value), [])),
24
+ ].sort((a, b) => a - b);
25
+ const groups = yield (0, exports.fetchGroupBorrowingFees)(contract, groupIxs);
26
+ return { pairs, groups };
27
+ });
28
+ exports.fetchAllPairAndGroupBorrowingFees = fetchAllPairAndGroupBorrowingFees;
@@ -1,3 +1,4 @@
1
1
  export * from "./openTrades";
2
2
  export * from "./pairs";
3
3
  export * from "./openLimitOrders";
4
+ export * from "./borrowingFees";
@@ -17,3 +17,4 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./openTrades"), exports);
18
18
  __exportStar(require("./pairs"), exports);
19
19
  __exportStar(require("./openLimitOrders"), exports);
20
+ __exportStar(require("./borrowingFees"), exports);
@@ -1,6 +1,7 @@
1
- import { Pair, PairParams, PairRolloverFees, Fee } from "@/trade/types";
1
+ import { Pair, PairParams, PairRolloverFees, Fee, OpenInterest } from "@/trade/types";
2
2
  import { Contracts } from "@/contracts/types";
3
3
  export declare const fetchPairs: (contracts: Contracts, pairIxs: number[]) => Promise<Pair[]>;
4
4
  export declare const fetchPairsParams: (contracts: Contracts, pairIxs: number[]) => Promise<PairParams[]>;
5
5
  export declare const fetchPairsRolloverFees: (contracts: Contracts, pairIxs: number[]) => Promise<PairRolloverFees[]>;
6
6
  export declare const fetchFees: (contracts: Contracts, feeIxs: number[]) => Promise<Fee[]>;
7
+ export declare const fetchOpenInterest: (contracts: Contracts, pairIxs: number[]) => Promise<OpenInterest[]>;
@@ -9,14 +9,14 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.fetchFees = exports.fetchPairsRolloverFees = exports.fetchPairsParams = exports.fetchPairs = void 0;
12
+ exports.fetchOpenInterest = exports.fetchFees = exports.fetchPairsRolloverFees = exports.fetchPairsParams = exports.fetchPairs = void 0;
13
13
  const fetchPairs = (contracts, pairIxs) => __awaiter(void 0, void 0, void 0, function* () {
14
14
  if (!contracts) {
15
15
  return [];
16
16
  }
17
17
  const { gnsPairsStorageV6: pairsStorageContract } = contracts;
18
18
  try {
19
- const pairs = yield Promise.all(pairIxs.map((pairIndex) => pairsStorageContract.pairs(pairIndex)));
19
+ const pairs = yield Promise.all(pairIxs.map(pairIndex => pairsStorageContract.pairs(pairIndex)));
20
20
  return pairs.map((pair, index) => {
21
21
  return {
22
22
  name: pair.from + "/" + pair.to,
@@ -41,8 +41,8 @@ const fetchPairsParams = (contracts, pairIxs) => __awaiter(void 0, void 0, void
41
41
  }
42
42
  const { gnsPairInfosV6_1: pairInfosContract } = contracts;
43
43
  try {
44
- const pairParams = yield Promise.all(pairIxs.map((pairIndex) => pairInfosContract.pairParams(pairIndex)));
45
- return pairParams.map((pair) => {
44
+ const pairParams = yield Promise.all(pairIxs.map(pairIndex => pairInfosContract.pairParams(pairIndex)));
45
+ return pairParams.map(pair => {
46
46
  return {
47
47
  onePercentDepthAbove: parseFloat(pair.onePercentDepthAbove.toString()),
48
48
  onePercentDepthBelow: parseFloat(pair.onePercentDepthBelow.toString()),
@@ -63,8 +63,8 @@ const fetchPairsRolloverFees = (contracts, pairIxs) => __awaiter(void 0, void 0,
63
63
  }
64
64
  const { gnsPairInfosV6_1: pairInfosContract } = contracts;
65
65
  try {
66
- const pairsRolloverFees = yield Promise.all(pairIxs.map((pairIndex) => pairInfosContract.pairRolloverFees(pairIndex)));
67
- return pairsRolloverFees.map((pairData) => {
66
+ const pairsRolloverFees = yield Promise.all(pairIxs.map(pairIndex => pairInfosContract.pairRolloverFees(pairIndex)));
67
+ return pairsRolloverFees.map(pairData => {
68
68
  return {
69
69
  accPerCollateral: parseFloat(pairData.accPerCollateral.toString()) / 1e18,
70
70
  lastUpdateBlock: parseInt(pairData.lastUpdateBlock.toString()),
@@ -83,8 +83,8 @@ const fetchFees = (contracts, feeIxs) => __awaiter(void 0, void 0, void 0, funct
83
83
  }
84
84
  const { gnsPairsStorageV6: pairsStorageContract } = contracts;
85
85
  try {
86
- const fees = yield Promise.all(feeIxs.map((pairIndex) => pairsStorageContract.fees(pairIndex)));
87
- return fees.map((fee) => {
86
+ const fees = yield Promise.all(feeIxs.map(pairIndex => pairsStorageContract.fees(pairIndex)));
87
+ return fees.map(fee => {
88
88
  return {
89
89
  closeFeeP: parseFloat(fee.closeFeeP.toString()) / 1e12,
90
90
  minLevPosDai: parseFloat(fee.minLevPosDai.toString()) / 1e12,
@@ -100,3 +100,16 @@ const fetchFees = (contracts, feeIxs) => __awaiter(void 0, void 0, void 0, funct
100
100
  }
101
101
  });
102
102
  exports.fetchFees = fetchFees;
103
+ const fetchOpenInterest = (contracts, pairIxs) => __awaiter(void 0, void 0, void 0, function* () {
104
+ const openInterests = yield Promise.all(pairIxs.map(pairIndex => Promise.all([
105
+ contracts.gfarmTradingStorageV5.openInterestDai(pairIndex, 0),
106
+ contracts.gfarmTradingStorageV5.openInterestDai(pairIndex, 1),
107
+ contracts.gfarmTradingStorageV5.openInterestDai(pairIndex, 2),
108
+ ])));
109
+ return openInterests.map(openInterest => ({
110
+ long: parseFloat(openInterest[0].toString()) / 1e18,
111
+ short: parseFloat(openInterest[1].toString()) / 1e18,
112
+ max: parseFloat(openInterest[2].toString()) / 1e18,
113
+ }));
114
+ });
115
+ exports.fetchOpenInterest = fetchOpenInterest;
@@ -0,0 +1,13 @@
1
+ import { GNSBorrowingFeesInterfaceV6_4 } from "@/contracts/types/generated/GNSBorrowingFeesV6_4";
2
+ import { BorrowingFee } from ".";
3
+ export declare const convertPairGroupBorrowingFee: (pairGroup: GNSBorrowingFeesInterfaceV6_4.PairGroupStructOutput) => BorrowingFee.PairGroup;
4
+ export declare const convertPairBorrowingFee: (pair: GNSBorrowingFeesInterfaceV6_4.PairStructOutput, pairOi: GNSBorrowingFeesInterfaceV6_4.PairOiStructOutput) => BorrowingFee.Pair;
5
+ export declare const convertPairBorrowingFees: ([pairs, pairOi]: [
6
+ GNSBorrowingFeesInterfaceV6_4.PairStructOutput[],
7
+ GNSBorrowingFeesInterfaceV6_4.PairOiStructOutput[]
8
+ ]) => BorrowingFee.Pair[];
9
+ export declare const convertGroupBorrowingFee: (group: GNSBorrowingFeesInterfaceV6_4.GroupStructOutput, groupFeeExponent: number) => BorrowingFee.Group;
10
+ export declare const convertGroupBorrowingFees: ([groups, groupFeeExponents]: [
11
+ GNSBorrowingFeesInterfaceV6_4.GroupStructOutput[],
12
+ number[]
13
+ ]) => BorrowingFee.Group[];
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.convertGroupBorrowingFees = exports.convertGroupBorrowingFee = exports.convertPairBorrowingFees = exports.convertPairBorrowingFee = exports.convertPairGroupBorrowingFee = void 0;
4
+ const convertPairGroupBorrowingFee = (pairGroup) => ({
5
+ groupIndex: pairGroup.groupIndex,
6
+ initialAccFeeLong: parseFloat(pairGroup.initialAccFeeLong.toString()) / 1e10,
7
+ initialAccFeeShort: parseFloat(pairGroup.initialAccFeeShort.toString()) / 1e10,
8
+ prevGroupAccFeeLong: parseFloat(pairGroup.prevGroupAccFeeLong.toString()) / 1e10,
9
+ prevGroupAccFeeShort: parseFloat(pairGroup.prevGroupAccFeeShort.toString()) / 1e10,
10
+ pairAccFeeLong: parseFloat(pairGroup.pairAccFeeLong.toString()) / 1e10,
11
+ pairAccFeeShort: parseFloat(pairGroup.pairAccFeeShort.toString()) / 1e10,
12
+ block: pairGroup.block,
13
+ });
14
+ exports.convertPairGroupBorrowingFee = convertPairGroupBorrowingFee;
15
+ const convertPairBorrowingFee = (pair, pairOi) => ({
16
+ feePerBlock: pair.feePerBlock / 1e10,
17
+ accFeeLong: parseFloat(pair.accFeeLong.toString()) / 1e10,
18
+ accFeeShort: parseFloat(pair.accFeeShort.toString()) / 1e10,
19
+ accLastUpdatedBlock: pair.accLastUpdatedBlock,
20
+ lastAccBlockWeightedMarketCap: parseFloat(pair.lastAccBlockWeightedMarketCap.toString()) / 1e40,
21
+ groups: pair.groups.map(value => (0, exports.convertPairGroupBorrowingFee)(value)),
22
+ feeExponent: pair.feeExponent,
23
+ maxOi: parseFloat(pairOi.max.toString()) / 1e10,
24
+ });
25
+ exports.convertPairBorrowingFee = convertPairBorrowingFee;
26
+ const convertPairBorrowingFees = ([pairs, pairOi]) => pairs.map((value, ix) => (0, exports.convertPairBorrowingFee)(value, pairOi[ix]));
27
+ exports.convertPairBorrowingFees = convertPairBorrowingFees;
28
+ const convertGroupBorrowingFee = (group, groupFeeExponent) => ({
29
+ oiLong: parseFloat(group.oiLong.toString()) / 1e10,
30
+ oiShort: parseFloat(group.oiShort.toString()) / 1e10,
31
+ feePerBlock: group.feePerBlock / 1e10,
32
+ accFeeLong: parseFloat(group.accFeeLong.toString()) / 1e10,
33
+ accFeeShort: parseFloat(group.accFeeShort.toString()) / 1e10,
34
+ accLastUpdatedBlock: group.accLastUpdatedBlock,
35
+ lastAccBlockWeightedMarketCap: parseFloat(group.lastAccBlockWeightedMarketCap.toString()) / 1e40,
36
+ maxOi: parseFloat(group.maxOi.toString()) / 1e10,
37
+ feeExponent: groupFeeExponent,
38
+ });
39
+ exports.convertGroupBorrowingFee = convertGroupBorrowingFee;
40
+ const convertGroupBorrowingFees = ([groups, groupFeeExponents]) => groups.map((value, ix) => (0, exports.convertGroupBorrowingFee)(value, groupFeeExponents[ix]));
41
+ exports.convertGroupBorrowingFees = convertGroupBorrowingFees;
@@ -52,3 +52,4 @@ export declare const borrowingFeeUtils: {
52
52
  }) => number;
53
53
  };
54
54
  export * as BorrowingFee from "./types";
55
+ export * from "./converter";
@@ -22,6 +22,9 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
26
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
27
+ };
25
28
  Object.defineProperty(exports, "__esModule", { value: true });
26
29
  exports.BorrowingFee = exports.borrowingFeeUtils = exports.withinMaxGroupOi = exports.getBorrowingFee = void 0;
27
30
  const getBorrowingFee = (posDai, pairIndex, long, initialAccFees, context) => {
@@ -165,3 +168,4 @@ exports.borrowingFeeUtils = {
165
168
  getPairGroupIndex,
166
169
  };
167
170
  exports.BorrowingFee = __importStar(require("./types"));
171
+ __exportStar(require("./converter"), exports);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gainsnetwork/sdk",
3
- "version": "0.0.30-rc1",
3
+ "version": "0.0.30-rc2",
4
4
  "description": "Gains Network SDK",
5
5
  "main": "./lib/index.js",
6
6
  "files": [