@evaafi/sdk 0.9.0-a → 0.9.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 (101) hide show
  1. package/dist/api/feeds.d.ts +15 -24
  2. package/dist/api/feeds.js +22 -49
  3. package/dist/api/math.d.ts +1 -1
  4. package/dist/api/math.js +55 -38
  5. package/dist/api/parser.d.ts +2 -2
  6. package/dist/api/parser.js +3 -3
  7. package/dist/api/parsers/PythOracleParser.d.ts +3 -3
  8. package/dist/api/parsers/PythOracleParser.js +2 -1
  9. package/dist/api/prices.js +2 -1
  10. package/dist/constants/general/index.d.ts +25 -11
  11. package/dist/constants/general/index.js +15 -1
  12. package/dist/constants/pools/mainnet.js +20 -18
  13. package/dist/constants/pools/testnet.js +14 -6
  14. package/dist/contracts/AbstractMaster.d.ts +239 -127
  15. package/dist/contracts/AbstractMaster.js +101 -16
  16. package/dist/contracts/ClassicMaster.d.ts +12 -12
  17. package/dist/contracts/PythMaster.d.ts +40 -24
  18. package/dist/contracts/PythMaster.js +61 -76
  19. package/dist/contracts/PythOracle.d.ts +16 -0
  20. package/dist/contracts/PythOracle.js +19 -0
  21. package/dist/contracts/index.d.ts +1 -0
  22. package/dist/contracts/index.js +1 -0
  23. package/dist/index.d.ts +1 -1
  24. package/dist/index.js +1 -1
  25. package/dist/{prices → oracles}/Types.d.ts +0 -4
  26. package/dist/oracles/collectors/AbstractCollector.d.ts +10 -0
  27. package/dist/oracles/collectors/AbstractCollector.js +6 -0
  28. package/dist/oracles/collectors/ClassicCollector.d.ts +22 -0
  29. package/dist/oracles/collectors/ClassicCollector.js +192 -0
  30. package/dist/oracles/collectors/PythCollector.d.ts +27 -0
  31. package/dist/oracles/collectors/PythCollector.js +252 -0
  32. package/dist/oracles/collectors/index.d.ts +3 -0
  33. package/dist/oracles/collectors/index.js +19 -0
  34. package/dist/{prices → oracles}/index.d.ts +2 -3
  35. package/dist/{prices → oracles}/index.js +2 -3
  36. package/dist/oracles/prices/AbstractPrices.d.ts +33 -0
  37. package/dist/oracles/prices/AbstractPrices.js +40 -0
  38. package/dist/oracles/prices/ClassicPrices.d.ts +19 -0
  39. package/dist/oracles/prices/ClassicPrices.js +48 -0
  40. package/dist/oracles/prices/PythPrices.d.ts +18 -0
  41. package/dist/oracles/prices/PythPrices.js +32 -0
  42. package/dist/oracles/prices/index.d.ts +3 -0
  43. package/dist/oracles/prices/index.js +19 -0
  44. package/dist/{prices → oracles}/utils.d.ts +6 -1
  45. package/dist/{prices → oracles}/utils.js +10 -1
  46. package/dist/types/Master.d.ts +4 -5
  47. package/package.json +2 -3
  48. package/src/api/feeds.ts +24 -60
  49. package/src/api/math.ts +118 -90
  50. package/src/api/parser.ts +5 -5
  51. package/src/api/parsers/PythOracleParser.ts +6 -2
  52. package/src/api/prices.ts +2 -1
  53. package/src/constants/general/index.ts +16 -1
  54. package/src/constants/pools/mainnet.ts +20 -35
  55. package/src/constants/pools/testnet.ts +17 -8
  56. package/src/contracts/AbstractMaster.ts +272 -144
  57. package/src/contracts/ClassicMaster.ts +12 -12
  58. package/src/contracts/PythMaster.ts +130 -123
  59. package/src/contracts/PythOracle.ts +20 -0
  60. package/src/contracts/index.ts +2 -0
  61. package/src/index.ts +1 -1
  62. package/src/{prices → oracles}/Types.ts +0 -5
  63. package/src/oracles/collectors/AbstractCollector.ts +22 -0
  64. package/src/oracles/collectors/ClassicCollector.ts +263 -0
  65. package/src/oracles/collectors/PythCollector.ts +358 -0
  66. package/src/oracles/collectors/index.ts +3 -0
  67. package/src/{prices → oracles}/index.ts +2 -3
  68. package/src/oracles/prices/AbstractPrices.ts +59 -0
  69. package/src/oracles/prices/ClassicPrices.ts +52 -0
  70. package/src/oracles/prices/PythPrices.ts +40 -0
  71. package/src/oracles/prices/index.ts +3 -0
  72. package/src/{prices → oracles}/utils.ts +12 -1
  73. package/src/types/Master.ts +4 -6
  74. package/dist/prices/Oracle.interface.d.ts +0 -9
  75. package/dist/prices/Oracle.interface.js +0 -2
  76. package/dist/prices/Prices.d.ts +0 -11
  77. package/dist/prices/Prices.js +0 -53
  78. package/dist/prices/PricesCollector.d.ts +0 -22
  79. package/dist/prices/PricesCollector.js +0 -146
  80. package/dist/prices/PythCollector.d.ts +0 -22
  81. package/dist/prices/PythCollector.js +0 -217
  82. package/src/prices/Oracle.interface.ts +0 -18
  83. package/src/prices/Prices.ts +0 -45
  84. package/src/prices/PricesCollector.ts +0 -169
  85. package/src/prices/PythCollector.ts +0 -294
  86. /package/dist/{prices → oracles}/Types.js +0 -0
  87. /package/dist/{prices → oracles}/constants.d.ts +0 -0
  88. /package/dist/{prices → oracles}/constants.js +0 -0
  89. /package/dist/{prices → oracles}/sources/Backend.d.ts +0 -0
  90. /package/dist/{prices → oracles}/sources/Backend.js +0 -0
  91. /package/dist/{prices → oracles}/sources/Icp.d.ts +0 -0
  92. /package/dist/{prices → oracles}/sources/Icp.js +0 -0
  93. /package/dist/{prices → oracles}/sources/PriceSource.d.ts +0 -0
  94. /package/dist/{prices → oracles}/sources/PriceSource.js +0 -0
  95. /package/dist/{prices → oracles}/sources/index.d.ts +0 -0
  96. /package/dist/{prices → oracles}/sources/index.js +0 -0
  97. /package/src/{prices → oracles}/constants.ts +0 -0
  98. /package/src/{prices → oracles}/sources/Backend.ts +0 -0
  99. /package/src/{prices → oracles}/sources/Icp.ts +0 -0
  100. /package/src/{prices → oracles}/sources/PriceSource.ts +0 -0
  101. /package/src/{prices → oracles}/sources/index.ts +0 -0
@@ -1,15 +1,7 @@
1
+ import { HexString } from '@pythnetwork/hermes-client';
1
2
  import { Address, Dictionary } from '@ton/core';
2
- import {
3
- EVAA_JUSDT_PRICE_FEED_ID,
4
- EVAA_TSTON_PRICE_FEED_ID,
5
- EVAA_TSUSDE_PRICE_FEED_ID,
6
- packConnectedFeeds,
7
- PYTH_TON_PRICE_FEED_ID,
8
- PYTH_TSTON_PRICE_FEED_ID,
9
- PYTH_TSUSDE_PRICE_FEED_ID,
10
- PYTH_USDT_PRICE_FEED_ID,
11
- } from '../../api/feeds';
12
- import { DefaultPythPriceSourcesConfig, PricesCollector, PythCollector } from '../../prices';
3
+ import { FEED_ID, FeedMapItem } from '../../api/feeds';
4
+ import { ClassicCollector, DefaultPythPriceSourcesConfig, PythCollector } from '../../oracles';
13
5
  import { PoolConfig } from '../../types/Master';
14
6
  import { EvaaRewardsConfig } from '../../types/MasterRewards';
15
7
  import {
@@ -85,21 +77,16 @@ export const MAINNET_POOL_CONFIG: PoolConfig = {
85
77
  masterAddress: EVAA_MASTER_MAINNET,
86
78
  masterVersion: MAINNET_VERSION,
87
79
  masterConstants: MASTER_CONSTANTS,
88
- oracles: new PythCollector({
80
+ collector: new PythCollector({
89
81
  pythConfig: DefaultPythPriceSourcesConfig,
90
82
  poolAssetsConfig: MAINNET_POOL_ASSETS_CONFIG,
91
83
  pythOracle: {
92
- feedsMap: Dictionary.empty<bigint, Buffer>()
93
- .set(BigInt(PYTH_TON_PRICE_FEED_ID), packConnectedFeeds(ASSET_ID.TON, 0n))
94
- .set(BigInt(PYTH_USDT_PRICE_FEED_ID), packConnectedFeeds(ASSET_ID.USDT, 0n))
95
- .set(
96
- BigInt(PYTH_TSTON_PRICE_FEED_ID),
97
- packConnectedFeeds(EVAA_TSTON_PRICE_FEED_ID, BigInt(PYTH_TON_PRICE_FEED_ID)),
98
- )
99
- .set(
100
- BigInt(PYTH_TSUSDE_PRICE_FEED_ID),
101
- packConnectedFeeds(EVAA_TSUSDE_PRICE_FEED_ID, BigInt(PYTH_USDT_PRICE_FEED_ID)),
102
- ),
84
+ feedsMap: new Map<HexString, FeedMapItem>([
85
+ [FEED_ID.TON, { assetId: ASSET_ID.TON, feedId: '0x0' }],
86
+ [FEED_ID.USDT, { assetId: ASSET_ID.USDT, feedId: '0x0' }],
87
+ [FEED_ID.tsTON, { assetId: ASSET_ID.tsTON, feedId: FEED_ID.TON }],
88
+ [FEED_ID.tsUSDe, { assetId: ASSET_ID.tsUSDe, feedId: FEED_ID.USDT }],
89
+ ]),
103
90
  pythAddress: PYTH_ORACLE_MAINNET,
104
91
  allowedRefTokens: Dictionary.empty<bigint, bigint>()
105
92
  .set(ASSET_ID.jUSDT, ASSET_ID.USDT)
@@ -116,7 +103,7 @@ export const MAINNET_STABLE_POOL_CONFIG: PoolConfig = {
116
103
  masterAddress: EVAA_STABLE_MAINNET,
117
104
  masterVersion: STABLE_VERSION,
118
105
  masterConstants: MASTER_CONSTANTS,
119
- oracles: new PricesCollector({
106
+ collector: new ClassicCollector({
120
107
  poolAssetsConfig: MAINNET_STABLE_POOL_ASSETS_CONFIG,
121
108
  minimalOracles: 3,
122
109
  evaaOracles: ORACLES_MAINNET,
@@ -129,7 +116,7 @@ export const MAINNET_LP_POOL_CONFIG: PoolConfig = {
129
116
  masterAddress: EVAA_LP_MAINNET,
130
117
  masterVersion: EVAA_LP_MAINNET_VERSION,
131
118
  masterConstants: MASTER_CONSTANTS,
132
- oracles: new PricesCollector({
119
+ collector: new ClassicCollector({
133
120
  poolAssetsConfig: MAINNET_LP_POOL_ASSETS_CONFIG,
134
121
  minimalOracles: 3,
135
122
  evaaOracles: ORACLES_LP,
@@ -142,7 +129,7 @@ export const MAINNET_ALTS_POOL_CONFIG: PoolConfig = {
142
129
  masterAddress: EVAA_ALTS_MAINNET,
143
130
  masterVersion: EVAA_ALTS_MAINNET_VERSION,
144
131
  masterConstants: MASTER_CONSTANTS,
145
- oracles: new PricesCollector({
132
+ collector: new ClassicCollector({
146
133
  poolAssetsConfig: MAINNET_ALTS_POOL_ASSETS_CONFIG,
147
134
  minimalOracles: 3,
148
135
  evaaOracles: ORACLES_ALTS,
@@ -157,18 +144,16 @@ export const MAINNET_PYTH_V8_TOB_POOL_CONFIG: PoolConfig = {
157
144
  masterAddress: EVAA_PYTH_TOB_MAINNET,
158
145
  masterVersion: EVAA_PYTH_TOB_VERSION,
159
146
  masterConstants: MASTER_CONSTANTS,
160
- oracles: new PythCollector({
147
+ collector: new PythCollector({
161
148
  pythConfig: DefaultPythPriceSourcesConfig,
162
149
  poolAssetsConfig: MAINNET_PYTH_V8_TOB_POOL_ASSETS_CONFIG,
163
150
  pythOracle: {
164
- feedsMap: Dictionary.empty<bigint, Buffer>()
165
- .set(BigInt(PYTH_TON_PRICE_FEED_ID), packConnectedFeeds(ASSET_ID.TON, 0n))
166
- .set(BigInt(PYTH_USDT_PRICE_FEED_ID), packConnectedFeeds(ASSET_ID.USDT, 0n)),
151
+ feedsMap: new Map<HexString, FeedMapItem>([
152
+ [FEED_ID.TON, { assetId: ASSET_ID.TON, feedId: '0x0' }],
153
+ [FEED_ID.USDT, { assetId: ASSET_ID.USDT, feedId: '0x0' }],
154
+ ]),
167
155
  pythAddress: PYTH_ORACLE_MAINNET,
168
- allowedRefTokens: Dictionary.empty<bigint, bigint>().set(
169
- BigInt(EVAA_JUSDT_PRICE_FEED_ID),
170
- BigInt(ASSET_ID.USDT),
171
- ),
156
+ allowedRefTokens: Dictionary.empty<bigint, bigint>().set(ASSET_ID.jUSDT, ASSET_ID.USDT),
172
157
  },
173
158
  }),
174
159
  poolAssetsConfig: MAINNET_PYTH_V8_TOB_POOL_ASSETS_CONFIG,
@@ -181,7 +166,7 @@ export const MAINNET_V8_TOB_POOL_CONFIG: PoolConfig = {
181
166
  masterAddress: EVAA_TOB_MAINNET,
182
167
  masterVersion: EVAA_TOB_VERSION,
183
168
  masterConstants: MASTER_CONSTANTS,
184
- oracles: new PricesCollector({
169
+ collector: new ClassicCollector({
185
170
  poolAssetsConfig: MAINNET_V8_TOB_POOL_ASSETS_CONFIG,
186
171
  minimalOracles: 3,
187
172
  evaaOracles: ORACLES_MAINNET,
@@ -1,9 +1,10 @@
1
- import { Address } from '@ton/core';
2
- import { TESTNET_ALLOWED_REF_TOKENS, TESTNET_FEEDS_MAP } from '../../api/feeds';
3
- import { DefaultPythPriceSourcesConfig, PricesCollector, PythCollector } from '../../prices';
1
+ import { HexString } from '@pythnetwork/hermes-client';
2
+ import { Address, Dictionary } from '@ton/core';
3
+ import { FEED_ID, FeedMapItem } from '../../api/feeds';
4
+ import { ClassicCollector, DefaultPythPriceSourcesConfig, PythCollector } from '../../oracles';
4
5
  import { PoolConfig } from '../../types/Master';
5
6
  import { EvaaRewardsConfig } from '../../types/MasterRewards';
6
- import { EUSDT_TESTNET, JUSDC_TESTNET, TON_TESTNET } from '../assets';
7
+ import { ASSET_ID, EUSDT_TESTNET, JUSDC_TESTNET, TON_TESTNET } from '../assets';
7
8
  import {
8
9
  EVAA_MASTER_TESTNET_CLASSIC_TOB_AUDITED,
9
10
  EVAA_MASTER_TESTNET_PYTH_TOB_AUDITED,
@@ -26,12 +27,20 @@ export const TESTNET_PYTH_POOL_CONFIG_TOB_AUDITED: PoolConfig = {
26
27
  masterAddress: EVAA_MASTER_TESTNET_PYTH_TOB_AUDITED,
27
28
  masterVersion: TESTNET_PYTH_VERSION_TOB_AUDITED,
28
29
  masterConstants: MASTER_CONSTANTS,
29
- oracles: new PythCollector({
30
+ collector: new PythCollector({
30
31
  poolAssetsConfig: TESTNET_POOL_ASSETS_CONFIG_TOB_AUDITED,
31
32
  pythOracle: {
32
- feedsMap: TESTNET_FEEDS_MAP,
33
+ feedsMap: new Map<HexString, FeedMapItem>([
34
+ [
35
+ FEED_ID.TON,
36
+ {
37
+ assetId: ASSET_ID.TON,
38
+ feedId: '0x0',
39
+ },
40
+ ],
41
+ ]),
33
42
  pythAddress: PYTH_ORACLE_TESTNET,
34
- allowedRefTokens: TESTNET_ALLOWED_REF_TOKENS,
43
+ allowedRefTokens: Dictionary.empty<bigint, bigint>().set(ASSET_ID.jUSDT, ASSET_ID.USDT),
35
44
  },
36
45
  pythConfig: DefaultPythPriceSourcesConfig,
37
46
  }),
@@ -43,7 +52,7 @@ export const TESTNET_CLASSIC_POOL_CONFIG_TOB_AUDITED: PoolConfig = {
43
52
  masterAddress: EVAA_MASTER_TESTNET_CLASSIC_TOB_AUDITED,
44
53
  masterVersion: TESTNET_CLASSIC_TOB_AUDITED,
45
54
  masterConstants: MASTER_CONSTANTS,
46
- oracles: new PricesCollector({
55
+ collector: new ClassicCollector({
47
56
  poolAssetsConfig: TESTNET_POOL_ASSETS_CONFIG,
48
57
  minimalOracles: 3,
49
58
  evaaOracles: ORACLES_TESTNET,