@gainsnetwork/sdk 0.0.4 → 0.0.5-rc.1

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 (59) hide show
  1. package/README.md +11 -11
  2. package/lib/contracts/addresses.d.ts +2 -2
  3. package/lib/contracts/addresses.js +15 -15
  4. package/lib/contracts/addresses.json +17 -17
  5. package/lib/contracts/index.d.ts +6 -6
  6. package/lib/contracts/index.js +30 -30
  7. package/lib/contracts/types/GFarmTradingStorageV5.d.ts +1911 -0
  8. package/lib/contracts/types/GFarmTradingStorageV5.js +2 -0
  9. package/lib/contracts/types/GNSPairInfosV6_1.d.ts +911 -0
  10. package/lib/contracts/types/GNSPairInfosV6_1.js +2 -0
  11. package/lib/contracts/types/GNSPairsStorageV6.d.ts +660 -0
  12. package/lib/contracts/types/GNSPairsStorageV6.js +2 -0
  13. package/lib/contracts/types/common.d.ts +22 -0
  14. package/lib/contracts/types/common.js +2 -0
  15. package/lib/contracts/types/factories/GFarmTradingStorageV5__factory.d.ts +83 -0
  16. package/lib/contracts/types/factories/GFarmTradingStorageV5__factory.js +2691 -0
  17. package/lib/contracts/types/factories/GNSPairInfosV6_1__factory.d.ts +98 -0
  18. package/lib/contracts/types/factories/GNSPairInfosV6_1__factory.js +1485 -0
  19. package/lib/contracts/types/factories/GNSPairsStorageV6__factory.d.ts +117 -0
  20. package/lib/contracts/types/factories/GNSPairsStorageV6__factory.js +1265 -0
  21. package/lib/contracts/types/factories/index.d.ts +3 -0
  22. package/lib/contracts/types/factories/index.js +12 -0
  23. package/lib/contracts/types/generated/GFarmTradingStorageV5.d.ts +1911 -1911
  24. package/lib/contracts/types/generated/GFarmTradingStorageV5.js +2 -2
  25. package/lib/contracts/types/generated/GNSPairInfosV6_1.d.ts +911 -911
  26. package/lib/contracts/types/generated/GNSPairInfosV6_1.js +2 -2
  27. package/lib/contracts/types/generated/GNSPairsStorageV6.d.ts +660 -660
  28. package/lib/contracts/types/generated/GNSPairsStorageV6.js +2 -2
  29. package/lib/contracts/types/generated/common.d.ts +22 -22
  30. package/lib/contracts/types/generated/common.js +2 -2
  31. package/lib/contracts/types/generated/factories/GFarmTradingStorageV5__factory.d.ts +83 -83
  32. package/lib/contracts/types/generated/factories/GFarmTradingStorageV5__factory.js +2691 -2691
  33. package/lib/contracts/types/generated/factories/GNSPairInfosV6_1__factory.d.ts +98 -98
  34. package/lib/contracts/types/generated/factories/GNSPairInfosV6_1__factory.js +1485 -1485
  35. package/lib/contracts/types/generated/factories/GNSPairsStorageV6__factory.d.ts +117 -117
  36. package/lib/contracts/types/generated/factories/GNSPairsStorageV6__factory.js +1265 -1265
  37. package/lib/contracts/types/generated/factories/index.d.ts +3 -3
  38. package/lib/contracts/types/generated/factories/index.js +12 -12
  39. package/lib/contracts/types/generated/index.d.ts +7 -7
  40. package/lib/contracts/types/generated/index.js +33 -33
  41. package/lib/contracts/types/index.d.ts +11 -11
  42. package/lib/contracts/types/index.js +2 -2
  43. package/lib/contracts/utils/index.d.ts +2 -2
  44. package/lib/contracts/utils/index.js +18 -18
  45. package/lib/contracts/utils/openTrades.d.ts +3 -3
  46. package/lib/contracts/utils/openTrades.js +116 -116
  47. package/lib/contracts/utils/pairs.d.ts +6 -6
  48. package/lib/contracts/utils/pairs.js +102 -102
  49. package/lib/index.d.ts +2 -2
  50. package/lib/index.js +18 -18
  51. package/lib/trade/fees.d.ts +15 -15
  52. package/lib/trade/fees.js +45 -45
  53. package/lib/trade/index.d.ts +2 -2
  54. package/lib/trade/index.js +18 -18
  55. package/lib/trade/pnl.d.ts +7 -7
  56. package/lib/trade/pnl.js +43 -43
  57. package/lib/trade/types.d.ts +143 -143
  58. package/lib/trade/types.js +8 -8
  59. package/package.json +103 -101
@@ -1,143 +1,143 @@
1
- export type PairIndexes = {
2
- [key: string]: number;
3
- };
4
- export type TradeContainer = {
5
- trade: Trade;
6
- tradeInfo: TradeInfo;
7
- initialAccFees: TradeInitialAccFees;
8
- };
9
- export type Trade = {
10
- buy: boolean;
11
- index: number;
12
- initialPosToken: number;
13
- leverage: number;
14
- openPrice: number;
15
- pairIndex: number;
16
- sl: number;
17
- tp: number;
18
- trader: string;
19
- };
20
- export type TradeInfo = {
21
- openInterestDai: number;
22
- slLastUpdated: number;
23
- tokenPriceDai: number;
24
- tpLastUpdated: number;
25
- };
26
- export type TradeInitialAccFees = {
27
- rollover: number;
28
- funding: number;
29
- openedAfterUpdate: boolean;
30
- };
31
- export type TradingGroup = {
32
- maxCollateralP: number;
33
- maxLeverage: number;
34
- minLeverage: number;
35
- name: string;
36
- };
37
- export type LimitOrder = {
38
- block: number;
39
- buy: boolean;
40
- index: number;
41
- leverage: number;
42
- maxPrice: number;
43
- minPrice: number;
44
- pairIndex: number;
45
- positionSize: number;
46
- sl: number;
47
- spreadReductionP: number;
48
- tp: number;
49
- trader: string;
50
- type: number;
51
- };
52
- export type Fee = {
53
- closeFeeP: number;
54
- minLevPosDai: number;
55
- nftLimitOrderFeeP: number;
56
- openFeeP: number;
57
- referralFeeP: number;
58
- };
59
- export type OpenInterest = {
60
- long: number;
61
- max: number;
62
- short: number;
63
- };
64
- export type OpenCollateral = {
65
- long: number;
66
- short: number;
67
- };
68
- export type PairParams = {
69
- onePercentDepthAbove: number;
70
- onePercentDepthBelow: number;
71
- rolloverFeePerBlockP: number;
72
- fundingFeePerBlockP: number;
73
- };
74
- export type PairRolloverFees = {
75
- accPerCollateral: number;
76
- lastUpdateBlock: number;
77
- };
78
- export type PairFundingFees = {
79
- accPerOiLong: number;
80
- accPerOiShort: number;
81
- lastUpdateBlock: number;
82
- };
83
- export type Pair = {
84
- name: string;
85
- from: string;
86
- to: string;
87
- feeIndex: number;
88
- groupIndex: number;
89
- pairIndex: number;
90
- spreadP: number;
91
- };
92
- export type TradeHistoryRecord = {
93
- action: string;
94
- address: string;
95
- buy: number;
96
- date: string;
97
- leverage: number;
98
- pair: string;
99
- pnl_net: number;
100
- price: number;
101
- size: number;
102
- tx: string;
103
- };
104
- export type MarketOrder = {
105
- trader: string;
106
- pairIndex: number;
107
- index: number;
108
- block: number;
109
- open: boolean;
110
- };
111
- export type ChartBar = {
112
- close: number;
113
- high: number;
114
- isBarClosed: boolean;
115
- isLastBar: boolean;
116
- low: number;
117
- open: number;
118
- time: number;
119
- };
120
- export type LeaderboardTrader = {
121
- address: string;
122
- tradesCount: number;
123
- winrate: number;
124
- pnl: number;
125
- volume: number;
126
- score: number;
127
- };
128
- export type OpenTradeParams = [
129
- address: string,
130
- pairIndex: number,
131
- x1: number,
132
- x2: number,
133
- wei: number,
134
- price: string,
135
- buy: boolean,
136
- leverage: number,
137
- takeProfit: string,
138
- stopLoss: string
139
- ];
140
- export declare enum PositionType {
141
- LONG = "LONG",
142
- SHORT = "SHORT"
143
- }
1
+ export type PairIndexes = {
2
+ [key: string]: number;
3
+ };
4
+ export type TradeContainer = {
5
+ trade: Trade;
6
+ tradeInfo: TradeInfo;
7
+ initialAccFees: TradeInitialAccFees;
8
+ };
9
+ export type Trade = {
10
+ buy: boolean;
11
+ index: number;
12
+ initialPosToken: number;
13
+ leverage: number;
14
+ openPrice: number;
15
+ pairIndex: number;
16
+ sl: number;
17
+ tp: number;
18
+ trader: string;
19
+ };
20
+ export type TradeInfo = {
21
+ openInterestDai: number;
22
+ slLastUpdated: number;
23
+ tokenPriceDai: number;
24
+ tpLastUpdated: number;
25
+ };
26
+ export type TradeInitialAccFees = {
27
+ rollover: number;
28
+ funding: number;
29
+ openedAfterUpdate: boolean;
30
+ };
31
+ export type TradingGroup = {
32
+ maxCollateralP: number;
33
+ maxLeverage: number;
34
+ minLeverage: number;
35
+ name: string;
36
+ };
37
+ export type LimitOrder = {
38
+ block: number;
39
+ buy: boolean;
40
+ index: number;
41
+ leverage: number;
42
+ maxPrice: number;
43
+ minPrice: number;
44
+ pairIndex: number;
45
+ positionSize: number;
46
+ sl: number;
47
+ spreadReductionP: number;
48
+ tp: number;
49
+ trader: string;
50
+ type: number;
51
+ };
52
+ export type Fee = {
53
+ closeFeeP: number;
54
+ minLevPosDai: number;
55
+ nftLimitOrderFeeP: number;
56
+ openFeeP: number;
57
+ referralFeeP: number;
58
+ };
59
+ export type OpenInterest = {
60
+ long: number;
61
+ max: number;
62
+ short: number;
63
+ };
64
+ export type OpenCollateral = {
65
+ long: number;
66
+ short: number;
67
+ };
68
+ export type PairParams = {
69
+ onePercentDepthAbove: number;
70
+ onePercentDepthBelow: number;
71
+ rolloverFeePerBlockP: number;
72
+ fundingFeePerBlockP: number;
73
+ };
74
+ export type PairRolloverFees = {
75
+ accPerCollateral: number;
76
+ lastUpdateBlock: number;
77
+ };
78
+ export type PairFundingFees = {
79
+ accPerOiLong: number;
80
+ accPerOiShort: number;
81
+ lastUpdateBlock: number;
82
+ };
83
+ export type Pair = {
84
+ name: string;
85
+ from: string;
86
+ to: string;
87
+ feeIndex: number;
88
+ groupIndex: number;
89
+ pairIndex: number;
90
+ spreadP: number;
91
+ };
92
+ export type TradeHistoryRecord = {
93
+ action: string;
94
+ address: string;
95
+ buy: number;
96
+ date: string;
97
+ leverage: number;
98
+ pair: string;
99
+ pnl_net: number;
100
+ price: number;
101
+ size: number;
102
+ tx: string;
103
+ };
104
+ export type MarketOrder = {
105
+ trader: string;
106
+ pairIndex: number;
107
+ index: number;
108
+ block: number;
109
+ open: boolean;
110
+ };
111
+ export type ChartBar = {
112
+ close: number;
113
+ high: number;
114
+ isBarClosed: boolean;
115
+ isLastBar: boolean;
116
+ low: number;
117
+ open: number;
118
+ time: number;
119
+ };
120
+ export type LeaderboardTrader = {
121
+ address: string;
122
+ tradesCount: number;
123
+ winrate: number;
124
+ pnl: number;
125
+ volume: number;
126
+ score: number;
127
+ };
128
+ export type OpenTradeParams = [
129
+ address: string,
130
+ pairIndex: number,
131
+ x1: number,
132
+ x2: number,
133
+ wei: number,
134
+ price: string,
135
+ buy: boolean,
136
+ leverage: number,
137
+ takeProfit: string,
138
+ stopLoss: string
139
+ ];
140
+ export declare enum PositionType {
141
+ LONG = "LONG",
142
+ SHORT = "SHORT"
143
+ }
@@ -1,8 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PositionType = void 0;
4
- var PositionType;
5
- (function (PositionType) {
6
- PositionType["LONG"] = "LONG";
7
- PositionType["SHORT"] = "SHORT";
8
- })(PositionType = exports.PositionType || (exports.PositionType = {}));
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PositionType = void 0;
4
+ var PositionType;
5
+ (function (PositionType) {
6
+ PositionType["LONG"] = "LONG";
7
+ PositionType["SHORT"] = "SHORT";
8
+ })(PositionType = exports.PositionType || (exports.PositionType = {}));
package/package.json CHANGED
@@ -1,101 +1,103 @@
1
- {
2
- "name": "@gainsnetwork/sdk",
3
- "version": "0.0.4",
4
- "description": "Gains Network SDK",
5
- "main": "./lib/index.js",
6
- "files": [
7
- "lib/**/*"
8
- ],
9
- "scripts": {
10
- "build": "tsc --project tsconfig.build.json",
11
- "clean": "rm -rf ./lib/",
12
- "cm": "cz",
13
- "lint": "eslint ./src/ --fix",
14
- "prepare": "husky install",
15
- "semantic-release": "semantic-release",
16
- "test:watch": "jest --watch",
17
- "test": "jest --coverage",
18
- "typecheck": "tsc --noEmit",
19
- "generate-types": "typechain --target=ethers-v5 --out-dir ./src/contracts/types/generated ./abi/*.json"
20
- },
21
- "repository": {
22
- "type": "git",
23
- "url": "git+git@github.com:GainsNetwork-org/sdk.git"
24
- },
25
- "engines": {
26
- "node": ">=12.0"
27
- },
28
- "devDependencies": {
29
- "@typechain/ethers-v5": "^10.1.1",
30
- "@types/jest": "^27.5.2",
31
- "@types/node": "^12.20.11",
32
- "@typescript-eslint/eslint-plugin": "^4.22.0",
33
- "@typescript-eslint/parser": "^4.22.0",
34
- "conventional-changelog-conventionalcommits": "^5.0.0",
35
- "eslint": "^7.25.0",
36
- "eslint-config-prettier": "^8.3.0",
37
- "eslint-plugin-node": "^11.1.0",
38
- "eslint-plugin-prettier": "^3.4.0",
39
- "husky": "^6.0.0",
40
- "jest": "^27.2.0",
41
- "lint-staged": "^10.5.4",
42
- "prettier": "^2.2.1",
43
- "semantic-release": "^19.0.2",
44
- "ts-jest": "^27.0.5",
45
- "ts-node": "^10.2.1",
46
- "typechain": "^8.1.1",
47
- "typescript": "^4.2.4"
48
- },
49
- "lint-staged": {
50
- "*.ts": "eslint --cache --cache-location .eslintcache --fix"
51
- },
52
- "release": {
53
- "branches": [
54
- "main"
55
- ],
56
- "plugins": [
57
- [
58
- "@semantic-release/commit-analyzer",
59
- {
60
- "preset": "conventionalcommits",
61
- "releaseRules": [
62
- {
63
- "type": "build",
64
- "scope": "deps",
65
- "release": "patch"
66
- }
67
- ]
68
- }
69
- ],
70
- [
71
- "@semantic-release/release-notes-generator",
72
- {
73
- "preset": "conventionalcommits",
74
- "presetConfig": {
75
- "types": [
76
- {
77
- "type": "feat",
78
- "section": "Features"
79
- },
80
- {
81
- "type": "fix",
82
- "section": "Bug Fixes"
83
- },
84
- {
85
- "type": "build",
86
- "section": "Dependencies and Other Build Updates",
87
- "hidden": false
88
- }
89
- ]
90
- }
91
- }
92
- ],
93
- "@semantic-release/npm",
94
- "@semantic-release/github"
95
- ]
96
- },
97
- "dependencies": {
98
- "@ethersproject/providers": "^5.7.2",
99
- "ethers": "^5.7.2"
100
- }
101
- }
1
+ {
2
+ "name": "@gainsnetwork/sdk",
3
+ "version": "0.0.5-rc.1",
4
+ "description": "Gains Network SDK",
5
+ "main": "./lib/index.js",
6
+ "files": [
7
+ "lib/**/*"
8
+ ],
9
+ "scripts": {
10
+ "build": "tsc --project tsconfig.build.json",
11
+ "clean": "rm -rf ./lib/",
12
+ "cm": "cz",
13
+ "lint": "eslint ./src/ --fix",
14
+ "prepare": "husky install",
15
+ "semantic-release": "semantic-release",
16
+ "test:watch": "jest --watch",
17
+ "test": "jest --coverage",
18
+ "typecheck": "tsc --noEmit",
19
+ "generate-types": "typechain --target=ethers-v5 --out-dir ./src/contracts/types/generated ./abi/*.json"
20
+ },
21
+ "repository": {
22
+ "type": "git",
23
+ "url": "git+git@github.com:GainsNetwork-org/sdk.git"
24
+ },
25
+ "engines": {
26
+ "node": ">=12.0"
27
+ },
28
+ "devDependencies": {
29
+ "@typechain/ethers-v5": "^10.1.1",
30
+ "@types/jest": "^27.5.2",
31
+ "@types/luxon": "^3.2.0",
32
+ "@types/node": "^12.20.11",
33
+ "@typescript-eslint/eslint-plugin": "^4.22.0",
34
+ "@typescript-eslint/parser": "^4.22.0",
35
+ "conventional-changelog-conventionalcommits": "^5.0.0",
36
+ "eslint": "^7.25.0",
37
+ "eslint-config-prettier": "^8.3.0",
38
+ "eslint-plugin-node": "^11.1.0",
39
+ "eslint-plugin-prettier": "^3.4.0",
40
+ "husky": "^6.0.0",
41
+ "jest": "^27.2.0",
42
+ "lint-staged": "^10.5.4",
43
+ "prettier": "^2.2.1",
44
+ "semantic-release": "^19.0.2",
45
+ "ts-jest": "^27.0.5",
46
+ "ts-node": "^10.2.1",
47
+ "typechain": "^8.1.1",
48
+ "typescript": "^4.2.4"
49
+ },
50
+ "lint-staged": {
51
+ "*.ts": "eslint --cache --cache-location .eslintcache --fix"
52
+ },
53
+ "release": {
54
+ "branches": [
55
+ "main"
56
+ ],
57
+ "plugins": [
58
+ [
59
+ "@semantic-release/commit-analyzer",
60
+ {
61
+ "preset": "conventionalcommits",
62
+ "releaseRules": [
63
+ {
64
+ "type": "build",
65
+ "scope": "deps",
66
+ "release": "patch"
67
+ }
68
+ ]
69
+ }
70
+ ],
71
+ [
72
+ "@semantic-release/release-notes-generator",
73
+ {
74
+ "preset": "conventionalcommits",
75
+ "presetConfig": {
76
+ "types": [
77
+ {
78
+ "type": "feat",
79
+ "section": "Features"
80
+ },
81
+ {
82
+ "type": "fix",
83
+ "section": "Bug Fixes"
84
+ },
85
+ {
86
+ "type": "build",
87
+ "section": "Dependencies and Other Build Updates",
88
+ "hidden": false
89
+ }
90
+ ]
91
+ }
92
+ }
93
+ ],
94
+ "@semantic-release/npm",
95
+ "@semantic-release/github"
96
+ ]
97
+ },
98
+ "dependencies": {
99
+ "@ethersproject/providers": "^5.7.2",
100
+ "ethers": "^5.7.2",
101
+ "luxon": "^3.2.0"
102
+ }
103
+ }