impermax-sdk 1.0.1 → 1.0.2

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 (209) hide show
  1. package/lib/esm/abis/ImpermaxABI.d.ts +2 -0
  2. package/lib/esm/abis/ImpermaxABI.js +3 -0
  3. package/lib/esm/abis/contracts/ClaimAggregator.json +2015 -0
  4. package/lib/esm/abis/contracts/IBorrowable.json +13207 -0
  5. package/lib/esm/abis/contracts/IClaimable.json +406 -0
  6. package/lib/esm/abis/contracts/ICollateral.json +8952 -0
  7. package/lib/esm/abis/contracts/IERC20.json +2376 -0
  8. package/lib/esm/abis/contracts/IFactory.json +3660 -0
  9. package/lib/esm/abis/contracts/IFarmingPool.json +3584 -0
  10. package/lib/esm/abis/contracts/IMerkleDistributor.json +1134 -0
  11. package/lib/esm/abis/contracts/IRouter02.json +7283 -0
  12. package/lib/esm/abis/contracts/ISimpleUniswapOracle.json +1469 -0
  13. package/lib/esm/abis/contracts/IStakedLPToken.json +7309 -0
  14. package/lib/esm/abis/contracts/IStakingRewards.json +1036 -0
  15. package/lib/esm/abis/contracts/IUniswapV2Factory.json +1690 -0
  16. package/lib/esm/abis/contracts/IUniswapV2Pair.json +6761 -0
  17. package/lib/esm/abis/contracts/ImpermaxChef.json +20945 -0
  18. package/lib/esm/config/amms.d.ts +25 -0
  19. package/lib/esm/config/amms.js +196 -0
  20. package/lib/esm/config/contracts/claim-aggregators.d.ts +2 -0
  21. package/lib/esm/config/contracts/claim-aggregators.js +18 -0
  22. package/lib/esm/config/contracts/impermax-chef.d.ts +2 -0
  23. package/lib/esm/config/contracts/impermax-chef.js +18 -0
  24. package/lib/esm/config/contracts/imxes.d.ts +2 -0
  25. package/lib/esm/config/contracts/imxes.js +18 -0
  26. package/lib/esm/config/contracts/merkle-distributors.d.ts +4 -0
  27. package/lib/esm/config/contracts/merkle-distributors.js +13 -0
  28. package/lib/esm/config/contracts/routers.d.ts +2 -0
  29. package/lib/esm/config/contracts/routers.js +38 -0
  30. package/lib/esm/config/contracts/simple-uniswap-oracles.d.ts +2 -0
  31. package/lib/esm/config/contracts/simple-uniswap-oracles.js +35 -0
  32. package/lib/esm/config/contracts/weths.d.ts +2 -0
  33. package/lib/esm/config/contracts/weths.js +19 -0
  34. package/lib/esm/config/debank-ids.d.ts +2 -0
  35. package/lib/esm/config/debank-ids.js +17 -0
  36. package/lib/esm/config/endpoints/merkle-distributors.d.ts +4 -0
  37. package/lib/esm/config/endpoints/merkle-distributors.js +13 -0
  38. package/lib/esm/config/eth.d.ts +3 -0
  39. package/lib/esm/config/eth.js +32 -0
  40. package/lib/esm/config/factories.d.ts +6 -0
  41. package/lib/esm/config/factories.js +24 -0
  42. package/lib/esm/config/farms.d.ts +59 -0
  43. package/lib/esm/config/farms.js +114 -0
  44. package/lib/esm/config/general.d.ts +3 -0
  45. package/lib/esm/config/general.js +8 -0
  46. package/lib/esm/config/subgraphs.d.ts +5 -0
  47. package/lib/esm/config/subgraphs.js +68 -0
  48. package/lib/esm/config/types.d.ts +67 -0
  49. package/lib/esm/config/types.js +54 -0
  50. package/lib/esm/impermax-router/Account.d.ts +31 -0
  51. package/lib/esm/impermax-router/Account.js +154 -0
  52. package/lib/esm/impermax-router/AccountBorrowable.d.ts +22 -0
  53. package/lib/esm/impermax-router/AccountBorrowable.js +141 -0
  54. package/lib/esm/impermax-router/AccountCollateral.d.ts +11 -0
  55. package/lib/esm/impermax-router/AccountCollateral.js +63 -0
  56. package/lib/esm/impermax-router/AccountLendingPool.d.ts +57 -0
  57. package/lib/esm/impermax-router/AccountLendingPool.js +266 -0
  58. package/lib/esm/impermax-router/AccountPoolToken.d.ts +29 -0
  59. package/lib/esm/impermax-router/AccountPoolToken.js +89 -0
  60. package/lib/esm/impermax-router/Borrowable.d.ts +27 -0
  61. package/lib/esm/impermax-router/Borrowable.js +128 -0
  62. package/lib/esm/impermax-router/Collateral.d.ts +9 -0
  63. package/lib/esm/impermax-router/Collateral.js +45 -0
  64. package/lib/esm/impermax-router/ContractsHelper.d.ts +28 -0
  65. package/lib/esm/impermax-router/ContractsHelper.js +50 -0
  66. package/lib/esm/impermax-router/ImpermaxFactory.d.ts +15 -0
  67. package/lib/esm/impermax-router/ImpermaxFactory.js +42 -0
  68. package/lib/esm/impermax-router/Interactions.d.ts +16 -0
  69. package/lib/esm/impermax-router/Interactions.js +105 -0
  70. package/lib/esm/impermax-router/InteractionsLendingPool.d.ts +43 -0
  71. package/lib/esm/impermax-router/InteractionsLendingPool.js +124 -0
  72. package/lib/esm/impermax-router/InteractionsPoolToken.d.ts +23 -0
  73. package/lib/esm/impermax-router/InteractionsPoolToken.js +194 -0
  74. package/lib/esm/impermax-router/LendingPool.d.ts +69 -0
  75. package/lib/esm/impermax-router/LendingPool.js +291 -0
  76. package/lib/esm/impermax-router/PoolToken.d.ts +36 -0
  77. package/lib/esm/impermax-router/PoolToken.js +140 -0
  78. package/lib/esm/impermax-router/index.d.ts +20 -0
  79. package/lib/esm/impermax-router/index.js +34 -0
  80. package/lib/esm/impermax-router/interfaces.d.ts +218 -0
  81. package/lib/esm/impermax-router/interfaces.js +15 -0
  82. package/{index.ts → lib/esm/index.d.ts} +1 -3
  83. package/lib/esm/index.js +10 -0
  84. package/lib/esm/subgraph/Account.d.ts +18 -0
  85. package/lib/esm/subgraph/Account.js +111 -0
  86. package/lib/esm/subgraph/AccountLendingPool.d.ts +19 -0
  87. package/lib/esm/subgraph/AccountLendingPool.js +71 -0
  88. package/lib/esm/subgraph/AccountPoolToken.d.ts +14 -0
  89. package/lib/esm/subgraph/AccountPoolToken.js +75 -0
  90. package/lib/esm/subgraph/LendingPool.d.ts +38 -0
  91. package/lib/esm/subgraph/LendingPool.js +204 -0
  92. package/lib/esm/subgraph/PoolToken.d.ts +64 -0
  93. package/lib/esm/subgraph/PoolToken.js +462 -0
  94. package/lib/esm/subgraph/PriceHelper.d.ts +21 -0
  95. package/lib/esm/subgraph/PriceHelper.js +166 -0
  96. package/lib/esm/subgraph/SolidexHelper.d.ts +16 -0
  97. package/lib/esm/subgraph/SolidexHelper.js +58 -0
  98. package/lib/esm/subgraph/index.d.ts +73 -0
  99. package/lib/esm/subgraph/index.js +185 -0
  100. package/lib/esm/subgraph/initializer.d.ts +34 -0
  101. package/lib/esm/subgraph/initializer.js +517 -0
  102. package/lib/esm/subgraph/query.d.ts +10 -0
  103. package/lib/esm/subgraph/query.js +229 -0
  104. package/lib/esm/utils/ether-utils.d.ts +5 -0
  105. package/lib/esm/utils/ether-utils.js +26 -0
  106. package/lib/esm/utils/index.d.ts +3 -0
  107. package/lib/esm/utils/index.js +16 -0
  108. package/package.json +9 -3
  109. package/.idea/impermax-sdk.iml +0 -12
  110. package/.idea/misc.xml +0 -6
  111. package/.idea/modules.xml +0 -8
  112. package/.idea/workspace.xml +0 -642
  113. package/abis/ImpermaxABI.ts +0 -3
  114. package/abis/contracts/BAllowance.json +0 -4735
  115. package/abis/contracts/BDeployer.json +0 -1195
  116. package/abis/contracts/BInterestRateModel.json +0 -10796
  117. package/abis/contracts/BSetter.json +0 -6219
  118. package/abis/contracts/BStorage.json +0 -2613
  119. package/abis/contracts/Borrowable.json +0 -19937
  120. package/abis/contracts/CDeployer.json +0 -1104
  121. package/abis/contracts/CSetter.json +0 -5094
  122. package/abis/contracts/CStorage.json +0 -516
  123. package/abis/contracts/ClaimAggregator.json +0 -2015
  124. package/abis/contracts/Collateral.json +0 -21615
  125. package/abis/contracts/ERC20.json +0 -819
  126. package/abis/contracts/Factory.json +0 -21986
  127. package/abis/contracts/FarmingPool.json +0 -8601
  128. package/abis/contracts/IBDeployer.json +0 -351
  129. package/abis/contracts/IBorrowTracker.json +0 -346
  130. package/abis/contracts/IBorrowable.json +0 -13207
  131. package/abis/contracts/ICDeployer.json +0 -294
  132. package/abis/contracts/IClaimable.json +0 -406
  133. package/abis/contracts/ICollateral.json +0 -8952
  134. package/abis/contracts/IERC20.json +0 -2376
  135. package/abis/contracts/IFactory.json +0 -3660
  136. package/abis/contracts/IFarmingPool.json +0 -3584
  137. package/abis/contracts/IImpermaxCallee.json +0 -679
  138. package/abis/contracts/IMerkleDistributor.json +0 -1134
  139. package/abis/contracts/IPoolToken.json +0 -5343
  140. package/abis/contracts/IRouter01.json +0 -6891
  141. package/abis/contracts/IRouter02.json +0 -7283
  142. package/abis/contracts/ISimpleUniswapOracle.json +0 -1469
  143. package/abis/contracts/IStakedLPToken.json +0 -7309
  144. package/abis/contracts/IStakingRewards.json +0 -1036
  145. package/abis/contracts/IUniswapV2Callee.json +0 -403
  146. package/abis/contracts/IUniswapV2ERC20.json +0 -3155
  147. package/abis/contracts/IUniswapV2Factory.json +0 -1690
  148. package/abis/contracts/IUniswapV2Pair.json +0 -6761
  149. package/abis/contracts/IWETH.json +0 -561
  150. package/abis/contracts/ImpermaxChef.json +0 -20945
  151. package/abis/contracts/ImpermaxERC20.json +0 -12095
  152. package/abis/contracts/Math.json +0 -1966
  153. package/abis/contracts/MockERC20.json +0 -8884
  154. package/abis/contracts/PoolToken.json +0 -10784
  155. package/abis/contracts/Router01.json +0 -43963
  156. package/abis/contracts/SafeMath.json +0 -6828
  157. package/abis/contracts/SimpleUniswapOracle.json +0 -9640
  158. package/abis/contracts/TransferHelper.json +0 -4875
  159. package/abis/contracts/UQ112x112.json +0 -1201
  160. package/abis/contracts/UniswapV2ERC20.json +0 -10969
  161. package/abis/contracts/UniswapV2Factory.json +0 -5521
  162. package/abis/contracts/UniswapV2Library.json +0 -13789
  163. package/abis/contracts/UniswapV2Pair.json +0 -30782
  164. package/abis/contracts/WETH9.json +0 -6613
  165. package/config/amms.ts +0 -199
  166. package/config/contracts/claim-aggregators.ts +0 -16
  167. package/config/contracts/impermax-chef.ts +0 -16
  168. package/config/contracts/imxes.ts +0 -16
  169. package/config/contracts/merkle-distributors.ts +0 -13
  170. package/config/contracts/routers.ts +0 -36
  171. package/config/contracts/simple-uniswap-oracles.ts +0 -33
  172. package/config/contracts/weths.ts +0 -18
  173. package/config/debank-ids.ts +0 -15
  174. package/config/endpoints/merkle-distributors.ts +0 -13
  175. package/config/eth.ts +0 -32
  176. package/config/factories.ts +0 -26
  177. package/config/farms.ts +0 -119
  178. package/config/general.ts +0 -8
  179. package/config/subgraphs.ts +0 -69
  180. package/config/types.ts +0 -81
  181. package/impermax-router/Account.ts +0 -123
  182. package/impermax-router/AccountBorrowable.ts +0 -110
  183. package/impermax-router/AccountCollateral.ts +0 -40
  184. package/impermax-router/AccountLendingPool.ts +0 -231
  185. package/impermax-router/AccountPoolToken.ts +0 -76
  186. package/impermax-router/Borrowable.ts +0 -86
  187. package/impermax-router/Collateral.ts +0 -26
  188. package/impermax-router/ContractsHelper.ts +0 -64
  189. package/impermax-router/ImpermaxFactory.ts +0 -47
  190. package/impermax-router/Interactions.ts +0 -94
  191. package/impermax-router/InteractionsLendingPool.ts +0 -129
  192. package/impermax-router/InteractionsPoolToken.ts +0 -187
  193. package/impermax-router/LendingPool.ts +0 -256
  194. package/impermax-router/PoolToken.ts +0 -112
  195. package/impermax-router/index.ts +0 -49
  196. package/impermax-router/interfaces.ts +0 -233
  197. package/subgraph/Account.ts +0 -93
  198. package/subgraph/AccountLendingPool.ts +0 -60
  199. package/subgraph/AccountPoolToken.ts +0 -60
  200. package/subgraph/LendingPool.ts +0 -179
  201. package/subgraph/PoolToken.ts +0 -381
  202. package/subgraph/PriceHelper.ts +0 -150
  203. package/subgraph/SolidexHelper.ts +0 -54
  204. package/subgraph/index.ts +0 -166
  205. package/subgraph/initializer.ts +0 -509
  206. package/subgraph/query.ts +0 -224
  207. package/tsconfig.json +0 -16
  208. package/utils/ether-utils.ts +0 -22
  209. package/utils/index.ts +0 -12
package/subgraph/query.ts DELETED
@@ -1,224 +0,0 @@
1
- import gql from "graphql-tag";
2
- import { Address, Factory } from '../config/types';
3
- import { LIQUIDATION_FEE_FACTORIES } from '../config/factories';
4
-
5
- export function blockQuery(timestamp: number) {
6
- return gql`{
7
- blocks (first: 1, orderBy: timestamp, orderDirection: desc, where: { timestamp_gt: ${timestamp}, timestamp_lt: ${timestamp+600} }) {
8
- number
9
- }
10
- _meta {
11
- block {
12
- number
13
- }
14
- }
15
- }`;
16
- }
17
-
18
- export function lendingPoolsQuery(factory: Factory,addressesFilter: Address[]) {
19
- const tokenStr = `{
20
- id
21
- symbol
22
- name
23
- decimals
24
- derivedUSD
25
- }`;
26
- const distributorStr = `{
27
- id
28
- }`;
29
- const farmingPoolStr = `{
30
- epochAmount
31
- epochBegin
32
- segmentLength
33
- vestingBegin
34
- sharePercentage
35
- distributor ${distributorStr}
36
- }`;
37
- const borrowableStr = `{
38
- id
39
- underlying ${tokenStr}
40
- totalBalance
41
- totalBorrows
42
- borrowRate
43
- reserveFactor
44
- kinkBorrowRate
45
- kinkUtilizationRate
46
- borrowIndex
47
- accrualTimestamp
48
- exchangeRate
49
- totalBalanceUSD
50
- totalSupplyUSD
51
- totalBorrowsUSD
52
- farmingPool ${farmingPoolStr}
53
- }`;
54
- const collateralStr = `{
55
- id
56
- totalBalance
57
- totalBalanceUSD
58
- safetyMargin
59
- liquidationIncentive
60
- ${LIQUIDATION_FEE_FACTORIES.includes(factory) ? "liquidationFee" : ""}
61
- exchangeRate
62
- }`;
63
- const pairStr = `{
64
- factory
65
- reserve0
66
- reserve1
67
- totalSupply
68
- reserveUSD
69
- token0Price
70
- token1Price
71
- derivedUSD
72
- uniswapV2PairAddress
73
- uniswapV2Factory
74
- isStakedLPToken
75
- exchangeRate
76
- stakingRewards
77
- masterChef
78
- pid
79
- stakedTotalSupply
80
- rewards {
81
- id
82
- rewardRate
83
- rewardsToken ${tokenStr}
84
- periodFinish
85
- }
86
- }`;
87
- const id_in_string = addressesFilter.length > 0 ? `where: {id_in: ["${addressesFilter.join('","').toLowerCase()}"]}` : "";
88
- return gql`{
89
- lendingPools(first: 1000, orderBy: totalBorrowsUSD, orderDirection: desc ${ id_in_string }) {
90
- id
91
- borrowable0 ${ borrowableStr }
92
- borrowable1 ${ borrowableStr }
93
- collateral ${ collateralStr }
94
- pair ${ pairStr }
95
- }
96
- _meta {
97
- block {
98
- number
99
- }
100
- hasIndexingErrors
101
- }
102
- }`;
103
- }
104
-
105
- export function lendingPoolsPastQuery(blockNumber: number, addressesFilter: Address[]) {
106
- const borrowablePastStr = `{
107
- borrowIndex
108
- accrualTimestamp
109
- exchangeRate
110
- }`;
111
- const id_in_string = addressesFilter.length > 0 ? `where: {id_in: ["${addressesFilter.join('","').toLowerCase()}"]}` : "";
112
- return gql`{
113
- lendingPools(first: 1000, orderBy: totalBorrowsUSD, orderDirection: desc, block: {number: ${blockNumber}} ${ id_in_string }) {
114
- id
115
- borrowable0 ${ borrowablePastStr }
116
- borrowable1 ${ borrowablePastStr }
117
- }
118
- }`;
119
- }
120
-
121
- export function impermaxChefQuery() {
122
- return gql`{
123
- impermaxChefs(first: 1) {
124
- id
125
- rewardToken
126
- rewardPerSec
127
- totalAllocPoint
128
- }
129
- pools(first: 1000) {
130
- id
131
- allocPoint
132
- rewarder {id}
133
- }
134
- impermaxRewarders(first: 1000) {
135
- rewardToken
136
- rewardPerSec
137
- totalAllocPoint
138
- pools(first: 1000) {
139
- borrowable
140
- allocPoint
141
- }
142
- }
143
- }`;
144
- }
145
-
146
- export function pastVolumeQuery(blockNumber: number, addressesFilter: Address[]) {
147
- const id_in_string = addressesFilter.length > 0 ? `where: {id_in: ["${addressesFilter.join('","').toLowerCase()}"]}` : "";
148
- return gql`{
149
- pairs (block: {number: ${blockNumber}} ${id_in_string}) {
150
- id
151
- volumeUSD
152
- }
153
- }`;
154
- }
155
-
156
- export function currentVolumeAndReservesQuery(addressesFilter: Address[]) {
157
- const id_in_string = addressesFilter.length > 0 ? `where: {id_in: ["${addressesFilter.join('","').toLowerCase()}"]}` : "";
158
- return gql`{
159
- pairs (${id_in_string}) {
160
- id
161
- reserveUSD
162
- volumeUSD
163
- }
164
- }`;
165
- }
166
-
167
- export function tvlQuery() {
168
- return gql`{
169
- impermaxFactories(first: 1) {
170
- totalBalanceUSD
171
- totalSupplyUSD
172
- totalBorrowsUSD
173
- }
174
- }`;
175
- }
176
-
177
- export function userQuery(account: Address) {
178
- return gql`{
179
- user(id: "${account.toLowerCase()}") {
180
- collateralPositions(first:1000) {
181
- balance
182
- collateral {
183
- lendingPool {
184
- id
185
- }
186
- }
187
- }
188
- supplyPositions(first:1000) {
189
- balance
190
- borrowable {
191
- underlying {
192
- id
193
- }
194
- lendingPool {
195
- id
196
- }
197
- }
198
- }
199
- borrowPositions(first:1000) {
200
- borrowBalance
201
- borrowIndex
202
- borrowable {
203
- underlying {
204
- id
205
- }
206
- lendingPool {
207
- id
208
- }
209
- }
210
- }
211
- }
212
- }`;
213
- }
214
-
215
- export function ximxQuery() {
216
- return gql`{
217
- ximxes(first: 1) {
218
- totalSupply
219
- totalBalance
220
- exchangeRate
221
- dailyAPR
222
- }
223
- }`;
224
- }
package/tsconfig.json DELETED
@@ -1,16 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "outDir": "./dist/www/build",
4
- "sourceMap": true,
5
- "resolveJsonModule": true,
6
- "noImplicitAny": true,
7
- "esModuleInterop": true,
8
- "module": "commonjs",
9
- "target": "es6",
10
- "jsx": "react",
11
- "lib": ["es6", "dom", "es2017"]
12
- },
13
- "exclude": [
14
- "node_modules/**/*"
15
- ]
16
- }
@@ -1,22 +0,0 @@
1
- import { formatUnits, parseUnits } from 'ethers/lib/utils';
2
- import { BigNumber } from 'ethers';
3
-
4
- export function balanceToDecimal(s: string): string {
5
- return formatUnits(s);
6
- }
7
-
8
- export function formatToDecimals(n: number, decimals: number = 2) : string {
9
- if (n === null || n === undefined || isNaN(n)) return "-";
10
- if (n == Infinity) return "Infinity"; //return "∞";
11
- return (Math.round(n * (10 ** decimals)) / (10 ** decimals)).toFixed(decimals);
12
- }
13
-
14
- export function decimalToBalance(d: string | number, decimals = 18): BigNumber {
15
- const n = parseFloat(d.toString());
16
- const s = formatToDecimals(Math.max(n, 0), decimals);
17
- return parseUnits(s, decimals);
18
- }
19
-
20
- export function address(n: number): string {
21
- return `0x${n.toString(16).padStart(40, '0')}`;
22
- }
package/utils/index.ts DELETED
@@ -1,12 +0,0 @@
1
- export function toAPR(n: number) : number {
2
- const SECONDS_IN_YEAR = 365 * 24 * 3600;
3
- return n * SECONDS_IN_YEAR;
4
- }
5
-
6
- export function impermanentLoss(priceSwing: number) {
7
- return Math.sqrt(priceSwing) / (priceSwing + 1) * 2;
8
- }
9
-
10
- export function isValidNumber(n: number) : boolean {
11
- return !(n === null || n === undefined || isNaN(n));
12
- }