@evaafi/sdk 0.6.2 → 0.6.3-a
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.
- package/README.md +2 -1
- package/dist/api/math.d.ts +12 -2
- package/dist/api/math.js +56 -4
- package/dist/api/parser.js +48 -20
- package/dist/constants/assets.d.ts +5 -1
- package/dist/constants/assets.js +24 -9
- package/dist/constants/general.d.ts +16 -0
- package/dist/constants/general.js +18 -2
- package/dist/constants/pools.d.ts +6 -1
- package/dist/constants/pools.js +46 -26
- package/dist/index.d.ts +10 -3
- package/dist/index.js +25 -2
- package/dist/prices/PricesCollector.d.ts +2 -2
- package/dist/prices/PricesCollector.js +8 -6
- package/dist/rewards/EvaaRewards.d.ts +10 -0
- package/dist/rewards/EvaaRewards.js +21 -0
- package/dist/rewards/JettonMinter.d.ts +30 -0
- package/dist/rewards/JettonMinter.js +83 -0
- package/dist/rewards/JettonWallet.d.ts +23 -0
- package/dist/rewards/JettonWallet.js +60 -0
- package/dist/rewards/RewardMaster.d.ts +26 -0
- package/dist/rewards/RewardMaster.js +83 -0
- package/dist/rewards/RewardUser.d.ts +23 -0
- package/dist/rewards/RewardUser.js +70 -0
- package/dist/types/MasterRewards.d.ts +13 -0
- package/dist/types/User.d.ts +11 -1
- package/dist/types/UserRewards.d.ts +10 -0
- package/dist/types/UserRewards.js +2 -0
- package/dist/utils/sha256BigInt.d.ts +2 -0
- package/dist/utils/sha256BigInt.js +9 -1
- package/dist/utils/userJettonWallet.js +7 -0
- package/package.json +42 -42
- package/src/api/math.ts +78 -3
- package/src/api/parser.ts +57 -22
- package/src/constants/assets.ts +91 -65
- package/src/constants/general.ts +30 -2
- package/src/constants/pools.ts +91 -28
- package/src/index.ts +23 -2
- package/src/prices/PricesCollector.ts +9 -5
- package/src/rewards/EvaaRewards.ts +23 -0
- package/src/rewards/JettonMinter.ts +113 -0
- package/src/rewards/JettonWallet.ts +77 -0
- package/src/rewards/RewardMaster.ts +110 -0
- package/src/rewards/RewardUser.ts +90 -0
- package/src/types/Master.ts +1 -1
- package/src/types/MasterRewards.ts +13 -0
- package/src/types/User.ts +13 -3
- package/src/types/UserRewards.ts +10 -0
- package/src/utils/sha256BigInt.ts +8 -0
- package/src/utils/userJettonWallet.ts +39 -33
- package/CHANGELOG.md +0 -240
- package/dist/config.d.ts +0 -1
- package/dist/config.js +0 -4
- package/dist/constants.d.ts +0 -69
- package/dist/constants.js +0 -83
- package/dist/types/Common.d.ts +0 -14
- package/dist/utils/priceUtils.d.ts +0 -55
- package/dist/utils/priceUtils.js +0 -117
- /package/dist/types/{Common.js → MasterRewards.js} +0 -0
package/README.md
CHANGED
|
@@ -3,5 +3,6 @@
|
|
|
3
3
|
The EVAA SDK is designed to easily integrate with the EVAA lending protocol on TON blockchain.
|
|
4
4
|
|
|
5
5
|
## Documentation
|
|
6
|
+
You can find the Typedoc documentation [here](https://evaafi.github.io/sdk/).
|
|
6
7
|
|
|
7
|
-
|
|
8
|
+
Additional (older) documentation can also be found in the [docs](./docs) folder.
|
package/dist/api/math.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { AgregatedBalances, AssetConfig, AssetData, AssetInterest, ExtendedAssetData, ExtendedAssetsConfig, ExtendedAssetsData, MasterConstants, PoolConfig } from '../types/Master';
|
|
1
|
+
import { AgregatedBalances, AssetApy, AssetConfig, AssetData, AssetInterest, ExtendedAssetData, ExtendedAssetsConfig, ExtendedAssetsData, MasterConstants, PoolConfig } from '../types/Master';
|
|
2
2
|
import { Dictionary } from '@ton/core';
|
|
3
|
-
import { HealthParamsArgs, LiquidationData, PredictHealthFactorArgs, UserBalance } from '../types/User';
|
|
3
|
+
import { HealthParamsArgs, LiquidationData, PredictAPYArgs, PredictHealthFactorArgs, UserBalance } from '../types/User';
|
|
4
4
|
export declare function mulFactor(decimal: bigint, a: bigint, b: bigint): bigint;
|
|
5
5
|
export declare function mulDiv(x: bigint, y: bigint, z: bigint): bigint;
|
|
6
6
|
export declare function mulDivC(x: bigint, y: bigint, z: bigint): bigint;
|
|
@@ -16,6 +16,7 @@ export declare const BigMath: {
|
|
|
16
16
|
max: typeof bigIntMax;
|
|
17
17
|
};
|
|
18
18
|
export declare function calculatePresentValue(index: bigint, principalValue: bigint, masterConstants: MasterConstants): bigint;
|
|
19
|
+
export declare function getAssetLiquidityMinusReserves(assetData: AssetData, masterConstants: MasterConstants): bigint;
|
|
19
20
|
export declare function calculateCurrentRates(assetConfig: AssetConfig, assetData: AssetData, masterConstants: MasterConstants): {
|
|
20
21
|
sRate: bigint;
|
|
21
22
|
bRate: bigint;
|
|
@@ -25,6 +26,7 @@ export declare function calculateCurrentRates(assetConfig: AssetConfig, assetDat
|
|
|
25
26
|
};
|
|
26
27
|
export declare function calculateAssetData(assetsConfigDict: ExtendedAssetsConfig, assetsDataDict: Dictionary<bigint, AssetData>, assetId: bigint, masterConstants: MasterConstants): ExtendedAssetData;
|
|
27
28
|
export declare function calculateAssetInterest(assetConfig: AssetConfig, assetData: AssetData, masterConstants: MasterConstants): AssetInterest;
|
|
29
|
+
export declare function calculateInterestWithSupplyBorrow(totalSupply: bigint, totalBorrow: bigint, assetConfig: AssetConfig, masterConstants: MasterConstants): AssetInterest;
|
|
28
30
|
export declare function checkNotInDebtAtAll(principals: Dictionary<bigint, bigint>): boolean;
|
|
29
31
|
export declare function getAgregatedBalances(assetsData: ExtendedAssetsData, assetsConfig: ExtendedAssetsConfig, principals: Dictionary<bigint, bigint>, prices: Dictionary<bigint, bigint>, masterConstants: MasterConstants): AgregatedBalances;
|
|
30
32
|
export declare function calculateMaximumWithdrawAmount(assetsConfig: ExtendedAssetsConfig, assetsData: ExtendedAssetsData, principals: Dictionary<bigint, bigint>, prices: Dictionary<bigint, bigint>, masterConstants: MasterConstants, assetId: bigint): bigint;
|
|
@@ -59,3 +61,11 @@ export declare function calculateHealthParams(parameters: HealthParamsArgs): {
|
|
|
59
61
|
*/
|
|
60
62
|
export declare function calculateLiquidationData(assetsConfig: ExtendedAssetsConfig, assetsData: ExtendedAssetsData, principals: Dictionary<bigint, bigint>, prices: Dictionary<bigint, bigint>, poolConfig: PoolConfig): LiquidationData;
|
|
61
63
|
export declare function predictHealthFactor(args: PredictHealthFactorArgs): number;
|
|
64
|
+
/**
|
|
65
|
+
* Predicts how APY will change as a result of one of the actions Borrow, Supply, Withdraw or Repay.
|
|
66
|
+
*
|
|
67
|
+
* Used on the front-end.
|
|
68
|
+
*
|
|
69
|
+
* @returns Estimated APYs for Supply and Borrow
|
|
70
|
+
*/
|
|
71
|
+
export declare function predictAPY(args: PredictAPYArgs): AssetInterest & AssetApy;
|
package/dist/api/math.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.predictHealthFactor = exports.calculateLiquidationData = exports.calculateHealthParams = exports.presentValue = exports.getAvailableToBorrow = exports.calculateMaximumWithdrawAmount = exports.getAgregatedBalances = exports.checkNotInDebtAtAll = exports.calculateAssetInterest = exports.calculateAssetData = exports.calculateCurrentRates = exports.calculatePresentValue = exports.BigMath = exports.bigIntMin = exports.bigIntMax = exports.bigAbs = exports.mulDivC = exports.mulDiv = exports.mulFactor = void 0;
|
|
3
|
+
exports.predictAPY = exports.predictHealthFactor = exports.calculateLiquidationData = exports.calculateHealthParams = exports.presentValue = exports.getAvailableToBorrow = exports.calculateMaximumWithdrawAmount = exports.getAgregatedBalances = exports.checkNotInDebtAtAll = exports.calculateInterestWithSupplyBorrow = exports.calculateAssetInterest = exports.calculateAssetData = exports.calculateCurrentRates = exports.getAssetLiquidityMinusReserves = exports.calculatePresentValue = exports.BigMath = exports.bigIntMin = exports.bigIntMax = exports.bigAbs = exports.mulDivC = exports.mulDiv = exports.mulFactor = void 0;
|
|
4
4
|
const User_1 = require("../types/User");
|
|
5
5
|
const assets_1 = require("../constants/assets");
|
|
6
6
|
const liquidation_1 = require("./liquidation");
|
|
@@ -35,6 +35,12 @@ function calculatePresentValue(index, principalValue, masterConstants) {
|
|
|
35
35
|
return (principalValue * index) / masterConstants.FACTOR_SCALE;
|
|
36
36
|
}
|
|
37
37
|
exports.calculatePresentValue = calculatePresentValue;
|
|
38
|
+
function getAssetLiquidityMinusReserves(assetData, masterConstants) {
|
|
39
|
+
const total_supply = calculatePresentValue(assetData.sRate, assetData.totalSupply, masterConstants);
|
|
40
|
+
const total_borrow = calculatePresentValue(assetData.bRate, assetData.totalBorrow, masterConstants);
|
|
41
|
+
return bigIntMin(total_supply - total_borrow, assetData.balance);
|
|
42
|
+
}
|
|
43
|
+
exports.getAssetLiquidityMinusReserves = getAssetLiquidityMinusReserves;
|
|
38
44
|
function calculateCurrentRates(assetConfig, assetData, masterConstants) {
|
|
39
45
|
const now = BigInt(Math.floor(Date.now() / 1000));
|
|
40
46
|
const timeElapsed = now - assetData.lastAccural;
|
|
@@ -81,6 +87,10 @@ exports.calculateAssetData = calculateAssetData;
|
|
|
81
87
|
function calculateAssetInterest(assetConfig, assetData, masterConstants) {
|
|
82
88
|
const totalSupply = calculatePresentValue(assetData.sRate, assetData.totalSupply, masterConstants);
|
|
83
89
|
const totalBorrow = calculatePresentValue(assetData.bRate, assetData.totalBorrow, masterConstants);
|
|
90
|
+
return calculateInterestWithSupplyBorrow(totalSupply, totalBorrow, assetConfig, masterConstants);
|
|
91
|
+
}
|
|
92
|
+
exports.calculateAssetInterest = calculateAssetInterest;
|
|
93
|
+
function calculateInterestWithSupplyBorrow(totalSupply, totalBorrow, assetConfig, masterConstants) {
|
|
84
94
|
let utilization = 0n;
|
|
85
95
|
let supplyInterest = 0n;
|
|
86
96
|
let borrowInterest = 0n;
|
|
@@ -104,7 +114,7 @@ function calculateAssetInterest(assetConfig, assetData, masterConstants) {
|
|
|
104
114
|
borrowInterest
|
|
105
115
|
};
|
|
106
116
|
}
|
|
107
|
-
exports.
|
|
117
|
+
exports.calculateInterestWithSupplyBorrow = calculateInterestWithSupplyBorrow;
|
|
108
118
|
function checkNotInDebtAtAll(principals) {
|
|
109
119
|
return principals.values().every(x => x >= 0n);
|
|
110
120
|
}
|
|
@@ -173,10 +183,16 @@ function getAvailableToBorrow(assetsConfig, assetsData, principals, prices, mast
|
|
|
173
183
|
let borrowLimit = 0n;
|
|
174
184
|
let borrowAmount = 0n;
|
|
175
185
|
for (const assetID of principals.keys()) {
|
|
186
|
+
const principal = principals.get(assetID);
|
|
187
|
+
if (principal == 0n) {
|
|
188
|
+
continue;
|
|
189
|
+
}
|
|
190
|
+
if (!prices.has(assetID)) {
|
|
191
|
+
return 0n;
|
|
192
|
+
}
|
|
176
193
|
const assetConfig = assetsConfig.get(assetID);
|
|
177
194
|
const assetData = assetsData.get(assetID);
|
|
178
195
|
const price = prices.get(assetID);
|
|
179
|
-
const principal = principals.get(assetID);
|
|
180
196
|
if (principal < 0n) {
|
|
181
197
|
borrowAmount += mulDiv(calculatePresentValue(assetData.bRate, -principal, masterConstants), price, 10n ** assetConfig.decimals);
|
|
182
198
|
}
|
|
@@ -359,7 +375,6 @@ function predictHealthFactor(args) {
|
|
|
359
375
|
const assetId = args.asset.assetId;
|
|
360
376
|
const assetConfig = args.assetsConfig.get(assetId);
|
|
361
377
|
const assetPrice = Number(args.prices.get(assetId));
|
|
362
|
-
const assetData = args.assetsData.get(assetId);
|
|
363
378
|
let totalLimit = Number(healthParams.totalLimit);
|
|
364
379
|
let totalBorrow = Number(healthParams.totalDebt);
|
|
365
380
|
const currentAmount = args.amount;
|
|
@@ -386,3 +401,40 @@ function predictHealthFactor(args) {
|
|
|
386
401
|
return Math.min(Math.max(1 - totalBorrow / totalLimit, 0), 1); // let's limit a result to zero below and one above
|
|
387
402
|
}
|
|
388
403
|
exports.predictHealthFactor = predictHealthFactor;
|
|
404
|
+
/**
|
|
405
|
+
* Predicts how APY will change as a result of one of the actions Borrow, Supply, Withdraw or Repay.
|
|
406
|
+
*
|
|
407
|
+
* Used on the front-end.
|
|
408
|
+
*
|
|
409
|
+
* @returns Estimated APYs for Supply and Borrow
|
|
410
|
+
*/
|
|
411
|
+
function predictAPY(args) {
|
|
412
|
+
const assetConfig = args.assetConfig;
|
|
413
|
+
const assetData = args.assetData;
|
|
414
|
+
const masterConstants = args.masterConstants;
|
|
415
|
+
let totalSupply = calculatePresentValue(assetData.sRate, assetData.totalSupply, masterConstants);
|
|
416
|
+
let totalBorrow = calculatePresentValue(assetData.bRate, assetData.totalBorrow, masterConstants);
|
|
417
|
+
const currentAmount = args.amount;
|
|
418
|
+
const changeType = args.balanceChangeType;
|
|
419
|
+
if (currentAmount != null && currentAmount != 0n) {
|
|
420
|
+
if (changeType == User_1.BalanceChangeType.Borrow) {
|
|
421
|
+
totalBorrow += currentAmount;
|
|
422
|
+
}
|
|
423
|
+
else if (changeType == User_1.BalanceChangeType.Repay) {
|
|
424
|
+
totalBorrow -= currentAmount;
|
|
425
|
+
}
|
|
426
|
+
else if (changeType == User_1.BalanceChangeType.Withdraw) {
|
|
427
|
+
totalSupply -= currentAmount;
|
|
428
|
+
}
|
|
429
|
+
else if (changeType == User_1.BalanceChangeType.Supply) {
|
|
430
|
+
totalSupply += currentAmount;
|
|
431
|
+
}
|
|
432
|
+
}
|
|
433
|
+
const interest = calculateInterestWithSupplyBorrow(totalSupply, totalBorrow, assetConfig, masterConstants);
|
|
434
|
+
return {
|
|
435
|
+
...interest,
|
|
436
|
+
supplyApy: (1 + (Number(interest.supplyInterest) / 1e12) * 24 * 3600) ** 365 - 1,
|
|
437
|
+
borrowApy: (1 + (Number(interest.borrowInterest) / 1e12) * 24 * 3600) ** 365 - 1
|
|
438
|
+
};
|
|
439
|
+
}
|
|
440
|
+
exports.predictAPY = predictAPY;
|
package/dist/api/parser.js
CHANGED
|
@@ -24,8 +24,8 @@ function createAssetData() {
|
|
|
24
24
|
serialize: (src, buidler) => {
|
|
25
25
|
buidler.storeUint(src.sRate, 64);
|
|
26
26
|
buidler.storeUint(src.bRate, 64);
|
|
27
|
-
buidler.
|
|
28
|
-
buidler.
|
|
27
|
+
buidler.storeInt(src.totalSupply, 64);
|
|
28
|
+
buidler.storeInt(src.totalBorrow, 64);
|
|
29
29
|
buidler.storeUint(src.lastAccural, 32);
|
|
30
30
|
buidler.storeUint(src.balance, 64);
|
|
31
31
|
buidler.storeUint(src.trackingSupplyIndex, 64);
|
|
@@ -33,15 +33,15 @@ function createAssetData() {
|
|
|
33
33
|
buidler.storeUint(src.awaitedSupply, 64);
|
|
34
34
|
},
|
|
35
35
|
parse: (src) => {
|
|
36
|
-
const sRate = BigInt(src.
|
|
37
|
-
const bRate = BigInt(src.
|
|
38
|
-
const totalSupply = BigInt(src.
|
|
39
|
-
const totalBorrow = BigInt(src.
|
|
40
|
-
const lastAccural = BigInt(src.
|
|
41
|
-
const balance = BigInt(src.
|
|
42
|
-
const trackingSupplyIndex = BigInt(src.
|
|
43
|
-
const trackingBorrowIndex = BigInt(src.
|
|
44
|
-
const awaitedSupply = BigInt(src.
|
|
36
|
+
const sRate = BigInt(src.loadUintBig(64));
|
|
37
|
+
const bRate = BigInt(src.loadUintBig(64));
|
|
38
|
+
const totalSupply = BigInt(src.loadIntBig(64));
|
|
39
|
+
const totalBorrow = BigInt(src.loadIntBig(64));
|
|
40
|
+
const lastAccural = BigInt(src.loadUintBig(32));
|
|
41
|
+
const balance = BigInt(src.loadUintBig(64));
|
|
42
|
+
const trackingSupplyIndex = BigInt(src.loadUintBig(64));
|
|
43
|
+
const trackingBorrowIndex = BigInt(src.loadUintBig(64));
|
|
44
|
+
const awaitedSupply = BigInt(src.loadUintBig(64));
|
|
45
45
|
return { sRate, bRate, totalSupply, totalBorrow, lastAccural, balance, trackingSupplyIndex, trackingBorrowIndex, awaitedSupply };
|
|
46
46
|
},
|
|
47
47
|
};
|
|
@@ -183,7 +183,8 @@ function parseUserLiteData(userDataBOC, assetsData, assetsConfig, poolConfig, ap
|
|
|
183
183
|
const codeVersion = userSlice.loadCoins();
|
|
184
184
|
const masterAddress = userSlice.loadAddress();
|
|
185
185
|
const userAddress = userSlice.loadAddress();
|
|
186
|
-
const
|
|
186
|
+
const realPrincipals = userSlice.loadDict(core_1.Dictionary.Keys.BigUint(256), core_1.Dictionary.Values.BigInt(64));
|
|
187
|
+
const principalsDict = core_1.Dictionary.empty(core_1.Dictionary.Keys.BigUint(256), core_1.Dictionary.Values.BigInt(64));
|
|
187
188
|
const userState = userSlice.loadInt(64);
|
|
188
189
|
let trackingSupplyIndex = 0n;
|
|
189
190
|
let trackingBorrowIndex = 0n;
|
|
@@ -209,7 +210,7 @@ function parseUserLiteData(userDataBOC, assetsData, assetsConfig, poolConfig, ap
|
|
|
209
210
|
for (const [_, asset] of Object.entries(poolAssetsConfig)) {
|
|
210
211
|
const assetData = assetsData.get(asset.assetId);
|
|
211
212
|
const assetConfig = assetsConfig.get(asset.assetId);
|
|
212
|
-
let principal =
|
|
213
|
+
let principal = realPrincipals.get(asset.assetId) || 0n;
|
|
213
214
|
let balance = (0, math_1.presentValue)(assetData.sRate, assetData.bRate, principal, masterConstants);
|
|
214
215
|
if (applyDust && (principal > 0 && (principal < assetConfig.dust))) {
|
|
215
216
|
principal = 0n;
|
|
@@ -219,6 +220,9 @@ function parseUserLiteData(userDataBOC, assetsData, assetsConfig, poolConfig, ap
|
|
|
219
220
|
};
|
|
220
221
|
principalsDict.set(asset.assetId, 0n);
|
|
221
222
|
}
|
|
223
|
+
else {
|
|
224
|
+
principalsDict.set(asset.assetId, principal);
|
|
225
|
+
}
|
|
222
226
|
userBalances.set(asset.assetId, balance);
|
|
223
227
|
}
|
|
224
228
|
return {
|
|
@@ -227,12 +231,14 @@ function parseUserLiteData(userDataBOC, assetsData, assetsConfig, poolConfig, ap
|
|
|
227
231
|
masterAddress: masterAddress,
|
|
228
232
|
ownerAddress: userAddress,
|
|
229
233
|
principals: principalsDict,
|
|
234
|
+
realPrincipals: realPrincipals,
|
|
230
235
|
state: userState,
|
|
231
236
|
balances: userBalances,
|
|
232
237
|
trackingSupplyIndex: trackingSupplyIndex,
|
|
233
238
|
trackingBorrowIndex: trackingBorrowIndex,
|
|
234
239
|
dutchAuctionStart: dutchAuctionStart,
|
|
235
240
|
backupCell: backupCell,
|
|
241
|
+
fullyParsed: false,
|
|
236
242
|
rewards: rewards,
|
|
237
243
|
backupCell1: backupCell1,
|
|
238
244
|
backupCell2: backupCell2,
|
|
@@ -240,12 +246,22 @@ function parseUserLiteData(userDataBOC, assetsData, assetsConfig, poolConfig, ap
|
|
|
240
246
|
}
|
|
241
247
|
exports.parseUserLiteData = parseUserLiteData;
|
|
242
248
|
function parseUserData(userLiteData, assetsData, assetsConfig, prices, poolConfig, applyDust = false) {
|
|
249
|
+
userLiteData.fullyParsed = true;
|
|
250
|
+
let havePrincipalWithoutPrice = false;
|
|
243
251
|
const poolAssetsConfig = poolConfig.poolAssetsConfig;
|
|
244
252
|
const masterConstants = poolConfig.masterConstants;
|
|
245
253
|
const withdrawalLimits = core_1.Dictionary.empty();
|
|
246
254
|
const borrowLimits = core_1.Dictionary.empty();
|
|
247
255
|
let supplyBalance = 0n;
|
|
248
256
|
let borrowBalance = 0n;
|
|
257
|
+
for (const [assetId, principal] of userLiteData.realPrincipals) {
|
|
258
|
+
if (!prices.has(assetId)) {
|
|
259
|
+
userLiteData.fullyParsed = false;
|
|
260
|
+
if (principal != 0n) {
|
|
261
|
+
havePrincipalWithoutPrice = true;
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
}
|
|
249
265
|
for (const [_, asset] of Object.entries(poolAssetsConfig)) {
|
|
250
266
|
const assetData = assetsData.get(asset.assetId);
|
|
251
267
|
const assetConfig = assetsConfig.get(asset.assetId);
|
|
@@ -258,6 +274,9 @@ function parseUserData(userLiteData, assetsData, assetsConfig, prices, poolConfi
|
|
|
258
274
|
userLiteData.balances.set(asset.assetId, balance);
|
|
259
275
|
}
|
|
260
276
|
for (const [_, asset] of Object.entries(poolAssetsConfig)) {
|
|
277
|
+
if (!prices.has(asset.assetId)) {
|
|
278
|
+
continue;
|
|
279
|
+
}
|
|
261
280
|
const assetConfig = assetsConfig.get(asset.assetId);
|
|
262
281
|
const balance = userLiteData.balances.get(asset.assetId);
|
|
263
282
|
if (balance.type === User_1.BalanceType.supply) {
|
|
@@ -267,24 +286,32 @@ function parseUserData(userLiteData, assetsData, assetsConfig, prices, poolConfi
|
|
|
267
286
|
borrowBalance += (balance.amount * prices.get(asset.assetId)) / 10n ** assetConfig.decimals;
|
|
268
287
|
}
|
|
269
288
|
}
|
|
270
|
-
const availableToBorrow = (0, math_1.getAvailableToBorrow)(assetsConfig, assetsData, userLiteData.
|
|
289
|
+
const availableToBorrow = (0, math_1.getAvailableToBorrow)(assetsConfig, assetsData, userLiteData.realPrincipals, prices, masterConstants);
|
|
271
290
|
for (const [_, asset] of Object.entries(poolAssetsConfig)) {
|
|
291
|
+
const balance = userLiteData.balances.get(asset.assetId);
|
|
272
292
|
const assetConfig = assetsConfig.get(asset.assetId);
|
|
273
293
|
const assetData = assetsData.get(asset.assetId);
|
|
274
|
-
const
|
|
294
|
+
const assetLiquidityMinusReserves = (0, math_1.getAssetLiquidityMinusReserves)(assetData, masterConstants);
|
|
275
295
|
if (balance.type === User_1.BalanceType.supply) {
|
|
276
|
-
withdrawalLimits.set(asset.assetId, (0, math_1.bigIntMin)((0, math_1.calculateMaximumWithdrawAmount)(assetsConfig, assetsData, userLiteData.
|
|
296
|
+
withdrawalLimits.set(asset.assetId, (0, math_1.bigIntMin)((0, math_1.calculateMaximumWithdrawAmount)(assetsConfig, assetsData, userLiteData.realPrincipals, prices, masterConstants, asset.assetId), assetData.balance));
|
|
277
297
|
}
|
|
278
|
-
|
|
298
|
+
if (!prices.has(asset.assetId)) {
|
|
299
|
+
borrowLimits.set(asset.assetId, 0n);
|
|
300
|
+
continue;
|
|
301
|
+
}
|
|
302
|
+
borrowLimits.set(asset.assetId, (0, math_1.bigIntMax)(0n, (0, math_1.bigIntMin)((availableToBorrow * 10n ** assetConfig.decimals) / prices.get(asset.assetId), assetLiquidityMinusReserves)));
|
|
279
303
|
}
|
|
280
304
|
const limitUsed = borrowBalance + availableToBorrow;
|
|
281
305
|
const limitUsedPercent = limitUsed === 0n
|
|
282
306
|
? 0
|
|
283
307
|
: Number(BigInt(1e9) - (availableToBorrow * BigInt(1e9)) / (borrowBalance + availableToBorrow)) / 1e7;
|
|
284
|
-
const liquidationData = (0, math_1.calculateLiquidationData)(assetsConfig, assetsData, userLiteData.principals, prices, poolConfig);
|
|
285
308
|
let healthFactor = 1;
|
|
286
|
-
|
|
287
|
-
|
|
309
|
+
let liquidationData;
|
|
310
|
+
if (!havePrincipalWithoutPrice) {
|
|
311
|
+
liquidationData = (0, math_1.calculateLiquidationData)(assetsConfig, assetsData, userLiteData.realPrincipals, prices, poolConfig);
|
|
312
|
+
if (liquidationData.totalLimit != 0n) {
|
|
313
|
+
healthFactor = 1 - Number(liquidationData.totalDebt) / Number(liquidationData.totalLimit);
|
|
314
|
+
}
|
|
288
315
|
}
|
|
289
316
|
return {
|
|
290
317
|
...userLiteData,
|
|
@@ -297,6 +324,7 @@ function parseUserData(userLiteData, assetsData, assetsConfig, prices, poolConfi
|
|
|
297
324
|
limitUsed: limitUsed,
|
|
298
325
|
liquidationData: liquidationData,
|
|
299
326
|
healthFactor: healthFactor,
|
|
327
|
+
havePrincipalWithoutPrice: havePrincipalWithoutPrice
|
|
300
328
|
};
|
|
301
329
|
}
|
|
302
330
|
exports.parseUserData = parseUserData;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PoolAssetConfig } from
|
|
1
|
+
import { PoolAssetConfig } from '../types/Master';
|
|
2
2
|
export declare const ASSET_ID: {
|
|
3
3
|
TON: bigint;
|
|
4
4
|
USDT: bigint;
|
|
@@ -7,6 +7,7 @@ export declare const ASSET_ID: {
|
|
|
7
7
|
stTON: bigint;
|
|
8
8
|
tsTON: bigint;
|
|
9
9
|
uTON: bigint;
|
|
10
|
+
tgBTC: bigint;
|
|
10
11
|
TONUSDT_DEDUST: bigint;
|
|
11
12
|
TONUSDT_STONFI: bigint;
|
|
12
13
|
TON_STORM: bigint;
|
|
@@ -14,6 +15,7 @@ export declare const ASSET_ID: {
|
|
|
14
15
|
NOT: bigint;
|
|
15
16
|
DOGS: bigint;
|
|
16
17
|
CATI: bigint;
|
|
18
|
+
EUSDT: bigint;
|
|
17
19
|
};
|
|
18
20
|
export declare const UNDEFINED_ASSET: PoolAssetConfig;
|
|
19
21
|
export declare const TON_MAINNET: PoolAssetConfig;
|
|
@@ -33,3 +35,5 @@ export declare const CATI_MAINNET: PoolAssetConfig;
|
|
|
33
35
|
export declare const DOGS_MAINNET: PoolAssetConfig;
|
|
34
36
|
export declare const NOT_MAINNET: PoolAssetConfig;
|
|
35
37
|
export declare const UTON_MAINNET: PoolAssetConfig;
|
|
38
|
+
export declare const TGBTC_TESTNET: PoolAssetConfig;
|
|
39
|
+
export declare const EUSDT_TESTNET: PoolAssetConfig;
|
package/dist/constants/assets.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.UTON_MAINNET = exports.NOT_MAINNET = exports.DOGS_MAINNET = exports.CATI_MAINNET = exports.USDT_STORM_MAINNET = exports.TON_STORM_MAINNET = exports.TONUSDT_DEDUST_MAINNET = exports.STTON_TESTNET = exports.JUSDC_TESTNET = exports.JUSDT_TESTNET = exports.USDT_MAINNET = exports.TSTON_MAINNET = exports.STTON_MAINNET = exports.JUSDC_MAINNET = exports.JUSDT_MAINNET = exports.TON_TESTNET = exports.TON_MAINNET = exports.UNDEFINED_ASSET = exports.ASSET_ID = void 0;
|
|
3
|
+
exports.EUSDT_TESTNET = exports.TGBTC_TESTNET = exports.UTON_MAINNET = exports.NOT_MAINNET = exports.DOGS_MAINNET = exports.CATI_MAINNET = exports.USDT_STORM_MAINNET = exports.TON_STORM_MAINNET = exports.TONUSDT_DEDUST_MAINNET = exports.STTON_TESTNET = exports.JUSDC_TESTNET = exports.JUSDT_TESTNET = exports.USDT_MAINNET = exports.TSTON_MAINNET = exports.STTON_MAINNET = exports.JUSDC_MAINNET = exports.JUSDT_MAINNET = exports.TON_TESTNET = exports.TON_MAINNET = exports.UNDEFINED_ASSET = exports.ASSET_ID = void 0;
|
|
4
4
|
const core_1 = require("@ton/core");
|
|
5
5
|
const sha256BigInt_1 = require("../utils/sha256BigInt");
|
|
6
6
|
const general_1 = require("./general");
|
|
@@ -12,6 +12,7 @@ exports.ASSET_ID = {
|
|
|
12
12
|
stTON: (0, sha256BigInt_1.sha256Hash)('stTON'),
|
|
13
13
|
tsTON: (0, sha256BigInt_1.sha256Hash)('tsTON'),
|
|
14
14
|
uTON: (0, sha256BigInt_1.sha256Hash)('uTON'),
|
|
15
|
+
tgBTC: (0, sha256BigInt_1.sha256Hash)('tgBTC'),
|
|
15
16
|
// LP
|
|
16
17
|
TONUSDT_DEDUST: (0, sha256BigInt_1.sha256Hash)('TONUSDT_DEDUST'),
|
|
17
18
|
TONUSDT_STONFI: (0, sha256BigInt_1.sha256Hash)('TONUSDT_STONFI'),
|
|
@@ -21,43 +22,45 @@ exports.ASSET_ID = {
|
|
|
21
22
|
NOT: (0, sha256BigInt_1.sha256Hash)('NOT'),
|
|
22
23
|
DOGS: (0, sha256BigInt_1.sha256Hash)('DOGS'),
|
|
23
24
|
CATI: (0, sha256BigInt_1.sha256Hash)('CATI'),
|
|
25
|
+
// Testnet assets
|
|
26
|
+
EUSDT: (0, sha256BigInt_1.sha256Hash)('EUSDT'),
|
|
24
27
|
};
|
|
25
28
|
exports.UNDEFINED_ASSET = {
|
|
26
29
|
name: 'undefined_asset',
|
|
27
30
|
assetId: -1n,
|
|
28
31
|
jettonMasterAddress: general_1.NULL_ADDRESS, // fake
|
|
29
|
-
jettonWalletCode: core_1.Cell.EMPTY
|
|
32
|
+
jettonWalletCode: core_1.Cell.EMPTY,
|
|
30
33
|
};
|
|
31
34
|
exports.TON_MAINNET = {
|
|
32
35
|
name: 'TON',
|
|
33
36
|
assetId: exports.ASSET_ID.TON,
|
|
34
37
|
jettonMasterAddress: general_1.NULL_ADDRESS, // fake
|
|
35
|
-
jettonWalletCode: core_1.Cell.EMPTY
|
|
38
|
+
jettonWalletCode: core_1.Cell.EMPTY,
|
|
36
39
|
};
|
|
37
40
|
exports.TON_TESTNET = exports.TON_MAINNET;
|
|
38
41
|
exports.JUSDT_MAINNET = {
|
|
39
42
|
name: 'jUSDT',
|
|
40
43
|
assetId: exports.ASSET_ID.jUSDT,
|
|
41
44
|
jettonMasterAddress: core_1.Address.parse('EQBynBO23ywHy_CgarY9NK9FTz0yDsG82PtcbSTQgGoXwiuA'),
|
|
42
|
-
jettonWalletCode: general_1.JETTON_WALLET_STANDART_CODE
|
|
45
|
+
jettonWalletCode: general_1.JETTON_WALLET_STANDART_CODE,
|
|
43
46
|
};
|
|
44
47
|
exports.JUSDC_MAINNET = {
|
|
45
48
|
name: 'jUSDC',
|
|
46
49
|
assetId: exports.ASSET_ID.jUSDC,
|
|
47
50
|
jettonMasterAddress: core_1.Address.parse('EQB-MPwrd1G6WKNkLz_VnV6WqBDd142KMQv-g1O-8QUA3728'),
|
|
48
|
-
jettonWalletCode: general_1.JETTON_WALLET_STANDART_CODE
|
|
51
|
+
jettonWalletCode: general_1.JETTON_WALLET_STANDART_CODE,
|
|
49
52
|
};
|
|
50
53
|
exports.STTON_MAINNET = {
|
|
51
54
|
name: 'stTON',
|
|
52
55
|
assetId: exports.ASSET_ID.stTON,
|
|
53
56
|
jettonMasterAddress: core_1.Address.parse('EQDNhy-nxYFgUqzfUzImBEP67JqsyMIcyk2S5_RwNNEYku0k'),
|
|
54
|
-
jettonWalletCode: core_1.Cell.fromBase64('te6cckECEgEAA2IAART/APSkE/S88sgLAQIBYgIDAgLMBAUAG6D2BdqJofQB9IH0gahhAgHUBgcCASAJCgHPCDHAJJfBOAB0NMDAXGwlRNfA/AN4PpA+kAx+gAxcdch+gAx+gAwc6m0AALTHyGCEA+KfqW6lTE0WfAK4CGCEBeNRRm6ljFERAPwC+AhghBZXwe8upUxNFnwDOAUXwTABOMCMIQP8vCAIABE+kQwwADy4U2AAfO1E0PoA+kD6QNQwECNfAwGCCJiWgKFtgBByIm6zIJFxkXDiA8jLBVAGzxZQBPoCy2oDk1jMAZEw4gHJAfsAAgFYCwwCAUgQEQHxAPTP/oA+kAh8AHtRND6APpA+kDUMFE2oVIqxwXy4sEowv/y4sJUNEJwVCATVBQDyFAE+gJYzxYBzxbMySLIywES9AD0AMsAySD5AHB0yMsCygfL/8nQBPpA9AQx+gAg10nCAPLixHeAGMjLBVAIzxZw+gIXy2sTzIA0C9ztRND6APpA+kDUMAjTP/oAUVGgBfpA+kBTW8cFVHNtcFQgE1QUA8hQBPoCWM8WAc8WzMkiyMsBEvQA9ADLAMn5AHB0yMsCygfL/8nQUA3HBRyx8uLDCvoAUaihggiYloBmtgihggjk4cCgGKEnlxBJEDg3XwTjDSXXCwGAODwCeghAXjUUZyMsfGcs/UAf6AiLPFlAGzxYl+gJQA88WyVAFzCORcpFx4lAIqBOgggpiWgCgFLzy4sUEyYBA+wAQI8hQBPoCWM8WAc8WzMntVABwUnmgGKGCEHNi0JzIyx9SMMs/WPoCUAfPFlAHzxbJcYAQyMsFJM8WUAb6AhXLahTMyXH7ABAkECMAfMMAI8IAsI4hghDVMnbbcIAQyMsFUAjPFlAE+gIWy2oSyx8Syz/JcvsAkzVsIeIDyFAE+gJYzxYBzxbMye1UAMkMO1E0PoA+kD6QNQwBtM/+gAwUUShUjfHBfLiwSXC//LiwgSCC5OHAL7y4sWCEHvdl97Iyx8Uyz9Y+gIhzxbJcYAYyMsFJM8WcPoCy2rMyYBA+wBAE8hQBPoCWM8WAc8WzMntVIACBIAg1yHtRND6APpA+kDUMATTHyGCEBeNRRm6AoIQe92X3roSsfLgyNM/MfoAMBOgUCPIUAT6AljPFgHPFszJ7VSBpMmqD')
|
|
57
|
+
jettonWalletCode: core_1.Cell.fromBase64('te6cckECEgEAA2IAART/APSkE/S88sgLAQIBYgIDAgLMBAUAG6D2BdqJofQB9IH0gahhAgHUBgcCASAJCgHPCDHAJJfBOAB0NMDAXGwlRNfA/AN4PpA+kAx+gAxcdch+gAx+gAwc6m0AALTHyGCEA+KfqW6lTE0WfAK4CGCEBeNRRm6ljFERAPwC+AhghBZXwe8upUxNFnwDOAUXwTABOMCMIQP8vCAIABE+kQwwADy4U2AAfO1E0PoA+kD6QNQwECNfAwGCCJiWgKFtgBByIm6zIJFxkXDiA8jLBVAGzxZQBPoCy2oDk1jMAZEw4gHJAfsAAgFYCwwCAUgQEQHxAPTP/oA+kAh8AHtRND6APpA+kDUMFE2oVIqxwXy4sEowv/y4sJUNEJwVCATVBQDyFAE+gJYzxYBzxbMySLIywES9AD0AMsAySD5AHB0yMsCygfL/8nQBPpA9AQx+gAg10nCAPLixHeAGMjLBVAIzxZw+gIXy2sTzIA0C9ztRND6APpA+kDUMAjTP/oAUVGgBfpA+kBTW8cFVHNtcFQgE1QUA8hQBPoCWM8WAc8WzMkiyMsBEvQA9ADLAMn5AHB0yMsCygfL/8nQUA3HBRyx8uLDCvoAUaihggiYloBmtgihggjk4cCgGKEnlxBJEDg3XwTjDSXXCwGAODwCeghAXjUUZyMsfGcs/UAf6AiLPFlAGzxYl+gJQA88WyVAFzCORcpFx4lAIqBOgggpiWgCgFLzy4sUEyYBA+wAQI8hQBPoCWM8WAc8WzMntVABwUnmgGKGCEHNi0JzIyx9SMMs/WPoCUAfPFlAHzxbJcYAQyMsFJM8WUAb6AhXLahTMyXH7ABAkECMAfMMAI8IAsI4hghDVMnbbcIAQyMsFUAjPFlAE+gIWy2oSyx8Syz/JcvsAkzVsIeIDyFAE+gJYzxYBzxbMye1UAMkMO1E0PoA+kD6QNQwBtM/+gAwUUShUjfHBfLiwSXC//LiwgSCC5OHAL7y4sWCEHvdl97Iyx8Uyz9Y+gIhzxbJcYAYyMsFJM8WcPoCy2rMyYBA+wBAE8hQBPoCWM8WAc8WzMntVIACBIAg1yHtRND6APpA+kDUMATTHyGCEBeNRRm6AoIQe92X3roSsfLgyNM/MfoAMBOgUCPIUAT6AljPFgHPFszJ7VSBpMmqD'),
|
|
55
58
|
};
|
|
56
59
|
exports.TSTON_MAINNET = {
|
|
57
60
|
name: 'tsTON',
|
|
58
61
|
assetId: exports.ASSET_ID.tsTON,
|
|
59
62
|
jettonMasterAddress: core_1.Address.parse('EQC98_qAmNEptUtPc7W6xdHh_ZHrBUFpw5Ft_IzNU20QAJav'),
|
|
60
|
-
jettonWalletCode: core_1.Cell.fromBase64('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')
|
|
63
|
+
jettonWalletCode: core_1.Cell.fromBase64('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'),
|
|
61
64
|
};
|
|
62
65
|
exports.USDT_MAINNET = {
|
|
63
66
|
name: 'USDT',
|
|
@@ -69,13 +72,13 @@ exports.JUSDT_TESTNET = {
|
|
|
69
72
|
name: 'jUSDT',
|
|
70
73
|
assetId: exports.ASSET_ID.jUSDT,
|
|
71
74
|
jettonMasterAddress: core_1.Address.parse('kQBe4gtSQMxM5RpMYLr4ydNY72F8JkY-icZXG1NJcsju8XM7'),
|
|
72
|
-
jettonWalletCode: general_1.JETTON_WALLET_STANDART_CODE_TESTNET
|
|
75
|
+
jettonWalletCode: general_1.JETTON_WALLET_STANDART_CODE_TESTNET,
|
|
73
76
|
};
|
|
74
77
|
exports.JUSDC_TESTNET = {
|
|
75
78
|
name: 'jUSDC',
|
|
76
79
|
assetId: exports.ASSET_ID.jUSDC,
|
|
77
80
|
jettonMasterAddress: core_1.Address.parse('kQDaY5yUatYnHei73HBqRX_Ox9LK2XnR7XuCY9MFC2INbfYI'),
|
|
78
|
-
jettonWalletCode: general_1.JETTON_WALLET_STANDART_CODE_TESTNET
|
|
81
|
+
jettonWalletCode: general_1.JETTON_WALLET_STANDART_CODE_TESTNET,
|
|
79
82
|
};
|
|
80
83
|
exports.STTON_TESTNET = {
|
|
81
84
|
name: 'stTON',
|
|
@@ -125,3 +128,15 @@ exports.UTON_MAINNET = {
|
|
|
125
128
|
jettonMasterAddress: core_1.Address.parse('EQAfF5j3JMIpZlLmACv7Ub7RH7WmiVMuV4ivcgNYHvNnqHTz'),
|
|
126
129
|
jettonWalletCode: core_1.Cell.fromBoc(Buffer.from('b5ee9c7201021301000439000114ff00f4a413f4bcf2c80b0102016202030202cc0405020120111200bbd906380492f827000e8698180b8d84a89af81f807707d207d2018fd0018b8eb90fd0018fd001801698f90c10807c53f52dd4a989a2cf805f010c1080bc6a28cdd4b18a22201f8067000c1082caf83de5d4aa22201f806f02f82c207f9784020120060701f7f01e99ffd007d20381140816000fd23182c5d797a76a2687d00699ffd207d206a18027c30817c317c31fc327c32fc2091d0fc30fc21a8036382f97160fc20e17ff971617c227c22b82a300209aa0a82e42802fd0109e59f80e78b00e78b666490e4658089fa00097a00658064907c80383a6465816503e5ffe4e802c080201200a0b01fefa40f40431fa0020d749c200f2e2c4778018c8cb055009cf1670fa0218cb6b13cc8210178d4519c8cb1f15cb3f5003fa02f843cf1658cf1621fa025004cf16c901cc2291729171e25004a812a08208989680a08208989680a08208989680a0bcf2e2c5f841f842f843f844f845c85005fa0213cb3f01cf1601cf16ccc9ed5409000ac98040fb000201200c0d00b948020d721ed44d0fa00d33ffa40fa40d43004f86102f862f863f864f865d31f218210178d4519ba0282107bdd97deba12b1f2e2c5d33f31fa0030f84101a0f861f841f842f843f844f845c85005fa0213cb3f01cf1601cf16ccc9ed54801f53b51343e8034cffe903e90350c013e1840be18be18fe193e194134cffe803e1048a83e187e903e903e113e1149165c15180104d505417214017e8084f2cfc073c58073c5b332487232c044fd0004bd0032c0327e401c1d3232c0b281f2fff2740a31c17e11140271c1462c7cb8b0c1be80145a2860822625a019a00e01f73b51343e8034cffe903e90350c013e1840be18be18fe193e194134cffe803e903d010c1c0060083d03dbe87cb8b13434c7fe80204c0048b0803cbd350c3e10be10a93e18be1049a87e187e10d402b1c17cb8b07e1070bffcb8b0945e6860822625a019ad82284820822625a0281401e820822625a028086814a42f201001f2b608a18208989680a018a1278e355275a014a182107362d09cc8cb1f5230cb3f58fa025003cf165003cf16c9718018c8cb05f843cf165006fa0215cb6a14ccc971fb0094375b6c21e221d70b01c30023c200b08e208210d53276db708010c8cb055004cf165004fa0212cb6a12cb1fcb3fc972fb00925f03e20f0038f841f842f843f844f845c85005fa0213cb3f01cf1601cf16ccc9ed5400c0f2e2c5058208989680a018a1f841f842f843f844f845c85005fa0213cb3f01cf1601cf16ccc9ed5482107bdd97dec8cb1f14cb3ff843cf1616cb3f01fa0215cb1f5003cf1658fa02ccc9718018c8cb05f844cf165003fa0212cb6accc970fb000047bfd8176a2687d00699ffd207d206a18027c30817c317c31fc327c32fc20fc21fc227c22c004bbdd79f6a2687d00699ffd207d206a18027c30817c317c31fc327c32fc20fc217c21fc227c22c', 'hex'))[0],
|
|
127
130
|
};
|
|
131
|
+
exports.TGBTC_TESTNET = {
|
|
132
|
+
name: 'tgBTC',
|
|
133
|
+
assetId: exports.ASSET_ID.tgBTC,
|
|
134
|
+
jettonMasterAddress: core_1.Address.parse('kQDoy1cUAbGq253vwfoPcqSloODVAWkDBniR12PJFUHnK6Yf'),
|
|
135
|
+
jettonWalletCode: core_1.Cell.fromBoc(Buffer.from('b5ee9c72010210010003ac000114ff00f4a413f4bcf2c80b01020162020302f8d001d0d3030171b08e48135f038020d721ed44d0d303fa00fa40fa40d104d31f01840f218210178d4519ba0282107bdd97deba12b1f2f48040d721fa003012a0401303c8cb0358fa0201cf1601cf16c9ed54e0fa40fa4031fa0031f401fa0031fa00013170f83a02d31f012082100f8a7ea5ba8e85303459db3ce03304050201200e0f01f603d33f0101fa00fa4021fa4430c000f2e14ded44d0d303fa00fa40fa40d1521ac705f2e0495115a120c2fff2aff82a54259070546004131503c8cb0358fa0201cf1601cf16c921c8cb0113f40012f400cb00c920f9007074c8cb02ca07cbffc9d004fa40f401fa002020d70b009ad74bc00101c001b0f2b19130e206025c228210178d4519ba8e84325adb3ce034218210595f07bcba8e843101db3ce0135f038210d372158cbadc840ff2f008090174c88210178d451901cb1f500a01cb3f5008fa0223cf1601cf1626fa025007cf16c9c8801801cb055004cf1670fa024063775003cb6bccccc945370700bc2191729171e2f839206e938123289120e2216e94318127109101e2f82f5005a05023a812a0738103a370f83ca00170f836a00170f836a07381040982100966018070f837a0bcf2b0048050fb005803c8cb0358fa0201cf1601cf16c9ed5403e6ed44d0d303fa00fa40fa40d107d33f0101fa005141a004fa40fa4053bac705f82a5464e070546004131503c8cb0358fa0201cf1601cf16c921c8cb0113f40012f400cb00c9f9007074c8cb02ca07cbffc9d0500cc7051bb1f2e04a09fa0021925f04e30d26d70b01c000b393306c33e30d55020a0b0c01d2ed44d0d303fa00fa40fa40d106d33f0101fa00fa40f404d120206ef271d0d74bc000018100f8beb0f2b15152a15249c705f2e04927c2fff2afc882107bdd97de01cb1f500301cb3f01fa0222cf1601cf1612f400c9c8801801cb0526cf1670fa02017158cb6accc9030d0060c882107362d09c01cb1f2501cb3f5004fa0258cf1658cf16c9c8801001cb0524cf1658fa02017158cb6accc98011fb00007a5054a1f82fa07381040982100966018070f837b60972fb02c8801001cb055005cf1670fa027001cb6a8210d53276db01cb1f5801cb3fc9810082fb0059002003c8cb0358fa0201cf1601cf16c9ed54006cf839206e9430811770de728106f170f8380170f836a0811b5870f836a0bcf2b0028050fb000303c8cb0358fa0201cf1601cf16c9ed540027bfd8176a2686981fd007d207d206899fc15209840021bc508f6a2686981fd007d207d2068af81c', 'hex'))[0],
|
|
136
|
+
};
|
|
137
|
+
exports.EUSDT_TESTNET = {
|
|
138
|
+
name: 'EUSDT',
|
|
139
|
+
assetId: exports.ASSET_ID.EUSDT,
|
|
140
|
+
jettonMasterAddress: core_1.Address.parse('kQBe4gtSQMxM5RpMYLr4ydNY72F8JkY-icZXG1NJcsju8XM7'),
|
|
141
|
+
jettonWalletCode: core_1.Cell.fromBoc(Buffer.from('b5ee9c7201021101000323000114ff00f4a413f4bcf2c80b0102016202030202cc0405001ba0f605da89a1f401f481f481a8610201d40607020120080900c30831c02497c138007434c0c05c6c2544d7c0fc03383e903e900c7e800c5c75c87e800c7e800c1cea6d0000b4c7e08403e29fa954882ea54c4d167c0278208405e3514654882ea58c511100fc02b80d60841657c1ef2ea4d67c02f817c12103fcbc2000113e910c1c2ebcb853600201200a0b0083d40106b90f6a2687d007d207d206a1802698fc1080bc6a28ca9105d41083deecbef09dd0958f97162e99f98fd001809d02811e428027d012c678b00e78b6664f6aa401f1503d33ffa00fa4021f001ed44d0fa00fa40fa40d4305136a1522ac705f2e2c128c2fff2e2c254344270542013541403c85004fa0258cf1601cf16ccc922c8cb0112f400f400cb00c920f9007074c8cb02ca07cbffc9d004fa40f40431fa0020d749c200f2e2c4778018c8cb055008cf1670fa0217cb6b13cc80c0201200d0e009e8210178d4519c8cb1f19cb3f5007fa0222cf165006cf1625fa025003cf16c95005cc2391729171e25008a813a08209c9c380a014bcf2e2c504c98040fb001023c85004fa0258cf1601cf16ccc9ed5402f73b51343e803e903e90350c0234cffe80145468017e903e9014d6f1c1551cdb5c150804d50500f214013e809633c58073c5b33248b232c044bd003d0032c0327e401c1d3232c0b281f2fff274140371c1472c7cb8b0c2be80146a2860822625a019ad822860822625a028062849e5c412440e0dd7c138c34975c2c0600f1000d73b51343e803e903e90350c01f4cffe803e900c145468549271c17cb8b049f0bffcb8b08160824c4b402805af3cb8b0e0841ef765f7b232c7c572cfd400fe8088b3c58073c5b25c60063232c14933c59c3e80b2dab33260103ec01004f214013e809633c58073c5b3327b552000705279a018a182107362d09cc8cb1f5230cb3f58fa025007cf165007cf16c9718010c8cb0524cf165006fa0215cb6a14ccc971fb0010241023007cc30023c200b08e218210d53276db708010c8cb055008cf165004fa0216cb6a12cb1f12cb3fc972fb0093356c21e203c85004fa0258cf1601cf16ccc9ed54', 'hex'))[0],
|
|
142
|
+
};
|
|
@@ -22,6 +22,9 @@ export declare const EVAA_LP_MAINNET: Address;
|
|
|
22
22
|
export declare const EVAA_LP_MAINNET_VERSION = 3;
|
|
23
23
|
export declare const EVAA_ALTS_MAINNET: Address;
|
|
24
24
|
export declare const EVAA_ALTS_MAINNET_VERSION = 0;
|
|
25
|
+
export declare const EVAA_REWARDS_MASTER_TESTNET: Address;
|
|
26
|
+
export declare const EVAA_USDT_REWARDS_MASTER_MAINNET: Address;
|
|
27
|
+
export declare const EVAA_TON_REWARDS_MASTER_MAINNET: Address;
|
|
25
28
|
export declare const ORACLES_MAINNET: OracleNFT[];
|
|
26
29
|
export declare const ORACLES_TESTNET: OracleNFT[];
|
|
27
30
|
export declare const ORACLES_LP: OracleNFT[];
|
|
@@ -29,12 +32,20 @@ export declare const ORACLES_ALTS: OracleNFT[];
|
|
|
29
32
|
export declare const LENDING_CODE: Cell;
|
|
30
33
|
export declare const JETTON_WALLET_STANDART_CODE: Cell;
|
|
31
34
|
export declare const JETTON_WALLET_STANDART_CODE_TESTNET: Cell;
|
|
35
|
+
export declare const EVAA_REWARDS_MASTER_CODE_TESTNET: Cell;
|
|
36
|
+
export declare const EVAA_REWARDS_MASTER_CODE_MAINNET: Cell;
|
|
37
|
+
export declare const EVAA_REWARDS_USER_CODE_TESTNET: Cell;
|
|
38
|
+
export declare const EVAA_REWARDS_USER_CODE_MAINNET: Cell;
|
|
32
39
|
export declare const OPCODES: {
|
|
33
40
|
SUPPLY: number;
|
|
34
41
|
WITHDRAW: number;
|
|
35
42
|
LIQUIDATE: number;
|
|
36
43
|
JETTON_TRANSFER: number;
|
|
37
44
|
ONCHAIN_GETTER: number;
|
|
45
|
+
REWARD_CLAIM: number;
|
|
46
|
+
REWARD_TON_TOP_UP: number;
|
|
47
|
+
REWARD_JETTON_MINT: number;
|
|
48
|
+
REWARD_JETTON_TRANSFER: number;
|
|
38
49
|
};
|
|
39
50
|
export declare const FEES: {
|
|
40
51
|
SUPPLY: bigint;
|
|
@@ -44,4 +55,9 @@ export declare const FEES: {
|
|
|
44
55
|
LIQUIDATION: bigint;
|
|
45
56
|
LIQUIDATION_JETTON: bigint;
|
|
46
57
|
LIQUIDATION_JETTON_FWD: bigint;
|
|
58
|
+
REWARD_MASTER_TON_TOP_UP: bigint;
|
|
59
|
+
REWARD_MASTER_DEPLOY: bigint;
|
|
60
|
+
REWARD_MASTER_WITHDRAW: bigint;
|
|
61
|
+
REWARD_USER_DEPLOY: bigint;
|
|
62
|
+
REWARD_USER_CLAIM: bigint;
|
|
47
63
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.FEES = exports.OPCODES = exports.JETTON_WALLET_STANDART_CODE_TESTNET = exports.JETTON_WALLET_STANDART_CODE = exports.LENDING_CODE = exports.ORACLES_ALTS = exports.ORACLES_LP = exports.ORACLES_TESTNET = exports.ORACLES_MAINNET = exports.EVAA_ALTS_MAINNET_VERSION = exports.EVAA_ALTS_MAINNET = exports.EVAA_LP_MAINNET_VERSION = exports.EVAA_LP_MAINNET = exports.TESTNET_VERSION = exports.EVAA_MASTER_TESTNET = exports.MAINNET_VERSION = exports.EVAA_MASTER_MAINNET = exports.NULL_ADDRESS = exports.MASTER_CONSTANTS = void 0;
|
|
3
|
+
exports.FEES = exports.OPCODES = exports.EVAA_REWARDS_USER_CODE_MAINNET = exports.EVAA_REWARDS_USER_CODE_TESTNET = exports.EVAA_REWARDS_MASTER_CODE_MAINNET = exports.EVAA_REWARDS_MASTER_CODE_TESTNET = exports.JETTON_WALLET_STANDART_CODE_TESTNET = exports.JETTON_WALLET_STANDART_CODE = exports.LENDING_CODE = exports.ORACLES_ALTS = exports.ORACLES_LP = exports.ORACLES_TESTNET = exports.ORACLES_MAINNET = exports.EVAA_TON_REWARDS_MASTER_MAINNET = exports.EVAA_USDT_REWARDS_MASTER_MAINNET = exports.EVAA_REWARDS_MASTER_TESTNET = exports.EVAA_ALTS_MAINNET_VERSION = exports.EVAA_ALTS_MAINNET = exports.EVAA_LP_MAINNET_VERSION = exports.EVAA_LP_MAINNET = exports.TESTNET_VERSION = exports.EVAA_MASTER_TESTNET = exports.MAINNET_VERSION = exports.EVAA_MASTER_MAINNET = exports.NULL_ADDRESS = exports.MASTER_CONSTANTS = void 0;
|
|
4
4
|
const core_1 = require("@ton/core");
|
|
5
5
|
const ASSET_PRICE_SCALE = BigInt(1e9);
|
|
6
6
|
exports.MASTER_CONSTANTS = {
|
|
@@ -19,12 +19,15 @@ exports.MASTER_CONSTANTS = {
|
|
|
19
19
|
exports.NULL_ADDRESS = core_1.Address.parse('UQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJKZ');
|
|
20
20
|
exports.EVAA_MASTER_MAINNET = core_1.Address.parse('EQC8rUZqR_pWV1BylWUlPNBzyiTYVoBEmQkMIQDZXICfnuRr');
|
|
21
21
|
exports.MAINNET_VERSION = 6;
|
|
22
|
-
exports.EVAA_MASTER_TESTNET = core_1.Address.parse('
|
|
22
|
+
exports.EVAA_MASTER_TESTNET = core_1.Address.parse('kQBae_Pt-NcxX0yhNnsYyK-Kh6ZBnIUQhxheKTvNLTgZf7AV');
|
|
23
23
|
exports.TESTNET_VERSION = 0;
|
|
24
24
|
exports.EVAA_LP_MAINNET = core_1.Address.parse('EQBIlZX2URWkXCSg3QF2MJZU-wC5XkBoLww-hdWk2G37Jc6N');
|
|
25
25
|
exports.EVAA_LP_MAINNET_VERSION = 3;
|
|
26
26
|
exports.EVAA_ALTS_MAINNET = core_1.Address.parse('EQANURVS3fhBO9bivig34iyJQi97FhMbpivo1aUEAS2GYSu-');
|
|
27
27
|
exports.EVAA_ALTS_MAINNET_VERSION = 0;
|
|
28
|
+
exports.EVAA_REWARDS_MASTER_TESTNET = core_1.Address.parse('EQCnp0iRGcfDJAvnKhAEN9sB-nPYSPuc83Ff4y75s8AtoSW1');
|
|
29
|
+
exports.EVAA_USDT_REWARDS_MASTER_MAINNET = core_1.Address.parse('EQD22Fhylp1tX-xoVX81aMTSJNPV8j9klwApTLgjGmofISVD');
|
|
30
|
+
exports.EVAA_TON_REWARDS_MASTER_MAINNET = core_1.Address.parse('EQDM_gdrntBg4fy5Rg9DgDF0AUu3FYoqxHEOsHNIC4_DTDuC');
|
|
28
31
|
exports.ORACLES_MAINNET = [
|
|
29
32
|
{ id: 0, address: '0xd3a8c0b9fd44fd25a49289c631e3ac45689281f2f8cf0744400b4c65bed38e5d', pubkey: Buffer.from('b404f4a2ebb62f2623b370c89189748a0276c071965b1646b996407f10d72eb9', 'hex') },
|
|
30
33
|
{ id: 1, address: '0x2c21cabdaa89739de16bde7bc44e86401fac334a3c7e55305fe5e7563043e191', pubkey: Buffer.from('9ad115087520d91b6b45d6a8521eb4616ee6914af07fabdc2e9d1826dbb17078', 'hex') },
|
|
@@ -37,12 +40,20 @@ exports.ORACLES_ALTS = exports.ORACLES_MAINNET;
|
|
|
37
40
|
exports.LENDING_CODE = core_1.Cell.fromBoc(Buffer.from('b5ee9c72c1010e0100fd000d12182a555a6065717691969efd0114ff00f4a413f4bcf2c80b010202c8050202039f740403001ff2f8276a2687d2018fd201800f883b840051d38642c678b64e4400780e58fc10802faf07f80e59fa801e78b096664c02078067c07c100627a7978402014807060007a0ddb0c60201c709080013a0fd007a026900aa90400201200b0a0031b8e1002191960aa00b9e2ca007f4042796d225e8019203f6010201200d0c000bf7c147d2218400b9d10e86981fd201840b07f8138d809797976a2687d2029116382f970fd9178089910374daf81b619fd20182c7883b8701981684100627910eba56001797a6a6ba610fd8200e8768f76a9f6aa00cc2a32a8292878809bef2f1889f883bbcdeb86f01', 'hex'))[0];
|
|
38
41
|
exports.JETTON_WALLET_STANDART_CODE = core_1.Cell.fromBase64('te6cckECEwEAA4UAART/APSkE/S88sgLAQIBYgIDAgLLBAUAG6D2BdqJofQB9IH0gamjAgHOBgcCAVgKCwL3CDHAJJfBOAB0NMDAXGwlRNfA/Ad4PpA+kAx+gAxcdch+gAx+gAwc6m0AALTHwHbPFsyNDQ0JIIQD4p+pbqaMGwiNl4xECPwGuAkghAXjUUZupswbCJeMhAkQwDwG+A3WzaCEFlfB7y6nwJxsPLSwFAjuvLixgHwHOBfBYAgJABE+kQwwADy4U2AAXIBP+DMgbpUwgLH4M94gbvLSmtDTBzHT/9P/9ATTB9Qw0PoA+gD6APoA+gD6ADAACIQP8vACAVgMDQIBSBESAfcBdM/AQH6APpAIfAB7UTQ+gD6QPpA1NFRNqFSLMcF8uLBKsL/8uLCVDRCcFQgE1QUA8hQBPoCWM8WAc8WzMkiyMsBEvQA9ADLAMkgcAH5AHTIywISygfL/8nQBPpA9AQx+gAg10nCAPLixMiAGAHLBVAHzxZw+gJ3ActrgDgLzO1E0PoA+kD6QNTRCtM/AQH6AFFRoAX6QPpAU13HBVRzb3BUIBNUFAPIUAT6AljPFgHPFszJIsjLARL0APQAywDJcAH5AHTIywISygfL/8nQUA/HBR6x8uLDDPoAUcqhKbYIGaFQB6AYoSaSbFXjDSXXCwHDACHCALCAPEACqE8zIghAXjUUZWAoCyx/LP1AH+gIizxZQBs8WJfoCUAPPFslQBcwjkXKRceJQB6gToAiqAFAEoBegFLzy4sUByYBA+wBDAMhQBPoCWM8WAc8WzMntVAByUmmgGKHIghBzYtCcKQLLH8s/UAf6AlAEzxZQB88WyciAEAHLBSfPFlAE+gJxActqE8zJcfsAUEITAHSOI8iAEAHLBVAGzxZQBfoCcAHLaoIQ1TJ221gFAssfyz/JcvsAklsz4kADyFAE+gJYzxYBzxbMye1UAOs7UTQ+gD6QPpA1NEF0z8BAfoAIcIA8uLC+kD0BAHQ05/RAdFRYqFSWMcF8uLBJsL/8uLCyIIQe92X3lgEAssfyz8B+gIjzxYBzxYTy5/JyIAYAcsFI88WcPoCcQHLaszJgED7AEATyFAE+gJYzxYBzxbMye1UgAIcgCDXIe1E0PoA+kD6QNTRBNMfAYQPIYIQF41FGboCghB73ZfeuhKx8vTTPwEw+gAwE6BQI8hQBPoCWM8WAc8WzMntVINjFu1o=');
|
|
39
42
|
exports.JETTON_WALLET_STANDART_CODE_TESTNET = core_1.Cell.fromBase64('te6cckECEQEAAyMAART/APSkE/S88sgLAQIBYgIDAgLMBAUAG6D2BdqJofQB9IH0gahhAgHUBgcCASAICQDDCDHAJJfBOAB0NMDAXGwlRNfA/AM4PpA+kAx+gAxcdch+gAx+gAwc6m0AALTH4IQD4p+pVIgupUxNFnwCeCCEBeNRRlSILqWMUREA/AK4DWCEFlfB7y6k1nwC+BfBIQP8vCAAET6RDBwuvLhTYAIBIAoLAIPUAQa5D2omh9AH0gfSBqGAJpj8EIC8aijKkQXUEIPe7L7wndCVj5cWLpn5j9ABgJ0CgR5CgCfQEsZ4sA54tmZPaqQB8VA9M/+gD6QCHwAe1E0PoA+kD6QNQwUTahUirHBfLiwSjC//LiwlQ0QnBUIBNUFAPIUAT6AljPFgHPFszJIsjLARL0APQAywDJIPkAcHTIywLKB8v/ydAE+kD0BDH6ACDXScIA8uLEd4AYyMsFUAjPFnD6AhfLaxPMgMAgEgDQ4AnoIQF41FGcjLHxnLP1AH+gIizxZQBs8WJfoCUAPPFslQBcwjkXKRceJQCKgToIIJycOAoBS88uLFBMmAQPsAECPIUAT6AljPFgHPFszJ7VQC9ztRND6APpA+kDUMAjTP/oAUVGgBfpA+kBTW8cFVHNtcFQgE1QUA8hQBPoCWM8WAc8WzMkiyMsBEvQA9ADLAMn5AHB0yMsCygfL/8nQUA3HBRyx8uLDCvoAUaihggiYloBmtgihggiYloCgGKEnlxBJEDg3XwTjDSXXCwGAPEADXO1E0PoA+kD6QNQwB9M/+gD6QDBRUaFSSccF8uLBJ8L/8uLCBYIJMS0AoBa88uLDghB73ZfeyMsfFcs/UAP6AiLPFgHPFslxgBjIywUkzxZw+gLLaszJgED7AEATyFAE+gJYzxYBzxbMye1UgAHBSeaAYoYIQc2LQnMjLH1Iwyz9Y+gJQB88WUAfPFslxgBDIywUkzxZQBvoCFctqFMzJcfsAECQQIwB8wwAjwgCwjiGCENUydttwgBDIywVQCM8WUAT6AhbLahLLHxLLP8ly+wCTNWwh4gPIUAT6AljPFgHPFszJ7VSV6u3X');
|
|
43
|
+
exports.EVAA_REWARDS_MASTER_CODE_TESTNET = core_1.Cell.fromBoc(Buffer.from('b5ee9c7241020e01000386000114ff00f4a413f4bcf2c80b01020162020b046ad03322c700925f03e0d0d3030171b0925f03e0fa403002d31fd33f715230bae302725230bae30282107362d09c5230bae3027413ba0304070800c46c21ed44d0fa40fa00fa40d4d401d001d1fa40d3ffd3ffd11034102307fa40308103e8820afaf0801abe19f2f48103ea5196c70519f2f48103ee8b0212c705f2f41036453304c85004cf16cbff12cbffc9c85005cf165003fa0258cf16ccccc9ed5402fe6c22ed44d0fa40fa00fa40d4d401d001d1fa40d3ffd3ffd11034102307fa40fa003021ed44d0fa40fa00fa40d4d401d001d1fa40d3ffd3ffd11034102335355bc8f828cf1613cbffcbffc9c85003cf1670fa0212ccc97020c8cb0113f400f400cb00c9f9007074c8cb02ca07cbffc9d08103ea51c1c7051cf2f45306bce302050600466c810173c8cb1fcb3f01fa02c9718018c8cb055003cf1670fa0212cb6accc98040fb0001d23a8b3544f4e8f9025220ba8e16385288708018c8cb0558cf1658fa02cb6ac98040fb008e3b22544a030a702082100f8a7ea5c8cb1f13cb3f5004fa0222cf1658cf16cb0021fa02cb1fc9718018c8cb055003cf1670fa0212cb6accc98040fb00e25037a110365e40010a00ec6c21ed44d0fa40fa00fa40d4d401d001d1fa40d3ffd3ffd1103410238103e8820afaf08052a0bef2f48b3544f4e8f9025220ba993738068209c9c380a18e11388103ea5192c70519f2f405fa00301056e213a010364515503304c85004cf16cbff12cbffc9c85005cf165003fa0258cf16ccccc9ed5402ea8f6ced44d0fa40fa00fa40d4d401d001d1fa40d3ffd3ffd11034102308fa40fa00308103e8821005f5e1001cbe1bf2f48103ea51b7c7051bf2f48103ed5395bbf2f48b3544f4e8f9025210ba8e16365279708018c8cb0558cf1658fa02cb6ac98040fb00e30e5026a14615503304e05f04840ff2f0090a00745468281b702082100f8a7ea5c8cb1f13cb3f5004fa0222cf1658cf16cb0021fa02cb1fc9718018c8cb055003cf1670fa0212cb6accc98040fb000038c85004cf16cbff12cbffc9c85005cf165003fa0258cf16ccccc9ed540201580c0d0039bbc24ed44d0fa40fa00fa40d4d401d001d1fa40d3ffd3ffd1103410238009fb87b6ed44d0fa40fa00fa40d4d401d001d1fa40d3ffd3ffd11034102335355bc8f828cf1613cbffcbffc9c85003cf1670fa0212ccc97020c8cb0113f400f400cb00c9f9007074c8cb02ca07cbffc9d0872ac1c8c', 'hex'))[0];
|
|
44
|
+
exports.EVAA_REWARDS_MASTER_CODE_MAINNET = exports.EVAA_REWARDS_MASTER_CODE_TESTNET;
|
|
45
|
+
exports.EVAA_REWARDS_USER_CODE_TESTNET = core_1.Cell.fromBoc(Buffer.from('b5ee9c724102060100014e000114ff00f4a413f4bcf2c80b01020162020502f8d03322c700925f03e0d0d3030171b0925f03e0fa403002d31fd33f725230ba8ed63233ed44d0fa40fa00d401d001d1fa40d3ffd3ffd1058308d718d430d08103e8821005f5e10019be18f2f48103e927f901541027f910f2f405fa40fa00308103eaf82813c70512f2f48103ec5313bcf2f45203a15006e0313273ba030400b8ed44d0fa40fa00d401d001d1fa40d3ffd3ffd110235f0372c8cb1f13cb3f01cf1658fa02c9718018c8cb055003cf1670fa0212cb6accc9820a625a0070fb02810080fb005521c85003cf16cbffcbffc9c85003cf1601fa02ccc9ed5400888e3ced44d0fa40fa00d401d001d1fa40d3ffd3ffd105fa00308103ea5173c70517f2f45025a14143c85003cf16cbffcbffc9c85003cf1601fa02ccc9ed54e05b840ff2f0002ba17849da89a1f481f401a803a003a3f481a7ffa7ffa333f41908', 'hex'))[0];
|
|
46
|
+
exports.EVAA_REWARDS_USER_CODE_MAINNET = exports.EVAA_REWARDS_USER_CODE_TESTNET;
|
|
40
47
|
exports.OPCODES = {
|
|
41
48
|
SUPPLY: 0x1,
|
|
42
49
|
WITHDRAW: 0x2,
|
|
43
50
|
LIQUIDATE: 0x3,
|
|
44
51
|
JETTON_TRANSFER: 0xf8a7ea5,
|
|
45
52
|
ONCHAIN_GETTER: 0x9998,
|
|
53
|
+
REWARD_CLAIM: 0x2,
|
|
54
|
+
REWARD_TON_TOP_UP: 0x7362d09c,
|
|
55
|
+
REWARD_JETTON_MINT: 0x178d4519,
|
|
56
|
+
REWARD_JETTON_TRANSFER: 0x0f8a7ea5,
|
|
46
57
|
};
|
|
47
58
|
exports.FEES = {
|
|
48
59
|
SUPPLY: (0, core_1.toNano)('0.3'),
|
|
@@ -52,4 +63,9 @@ exports.FEES = {
|
|
|
52
63
|
LIQUIDATION: (0, core_1.toNano)('0.8'),
|
|
53
64
|
LIQUIDATION_JETTON: (0, core_1.toNano)('1'),
|
|
54
65
|
LIQUIDATION_JETTON_FWD: (0, core_1.toNano)('0.8'),
|
|
66
|
+
REWARD_MASTER_TON_TOP_UP: (0, core_1.toNano)('0.03'),
|
|
67
|
+
REWARD_MASTER_DEPLOY: (0, core_1.toNano)('0.05'),
|
|
68
|
+
REWARD_MASTER_WITHDRAW: (0, core_1.toNano)('0.1'),
|
|
69
|
+
REWARD_USER_DEPLOY: (0, core_1.toNano)('0.05'),
|
|
70
|
+
REWARD_USER_CLAIM: (0, core_1.toNano)('0.1'),
|
|
55
71
|
};
|
|
@@ -1,5 +1,10 @@
|
|
|
1
|
-
import { PoolConfig } from
|
|
1
|
+
import { PoolConfig } from '../types/Master';
|
|
2
|
+
import { EvaaRewardsConfig } from '../types/MasterRewards';
|
|
2
3
|
export declare const MAINNET_POOL_CONFIG: PoolConfig;
|
|
3
4
|
export declare const TESTNET_POOL_CONFIG: PoolConfig;
|
|
4
5
|
export declare const MAINNET_LP_POOL_CONFIG: PoolConfig;
|
|
5
6
|
export declare const MAINNET_ALTS_POOL_CONFIG: PoolConfig;
|
|
7
|
+
export declare const TESTNET_MASTER_REWARD_CONFIG: EvaaRewardsConfig;
|
|
8
|
+
export declare const TESTNET_MASTER_EUSDT_REWARD_CONFIG: EvaaRewardsConfig;
|
|
9
|
+
export declare const MAINNET_MASTER_TON_REWARD_CONFIG: EvaaRewardsConfig;
|
|
10
|
+
export declare const MAINNET_MASTER_USDT_REWARD_CONFIG: EvaaRewardsConfig;
|