@evaafi/sdk 0.5.3 → 0.5.5
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/dist/api/math.d.ts +11 -8
- package/dist/api/math.js +77 -35
- package/dist/api/parser.d.ts +4 -4
- package/dist/api/parser.js +42 -50
- package/dist/api/prices.d.ts +1 -1
- package/dist/api/prices.js +5 -5
- package/dist/constants/assets.d.ts +16 -0
- package/dist/constants/assets.js +77 -0
- package/dist/constants/general.d.ts +38 -0
- package/dist/constants/general.js +41 -0
- package/dist/constants/pools.d.ts +5 -0
- package/dist/constants/pools.js +60 -0
- package/dist/contracts/MasterContract.d.ts +13 -11
- package/dist/contracts/MasterContract.js +39 -35
- package/dist/contracts/UserContract.d.ts +6 -7
- package/dist/contracts/UserContract.js +13 -13
- package/dist/index.d.ts +6 -3
- package/dist/index.js +44 -11
- package/dist/types/Master.d.ts +32 -2
- package/dist/types/User.d.ts +4 -3
- package/dist/utils/userJettonWallet.d.ts +2 -1
- package/dist/utils/userJettonWallet.js +45 -61
- package/package.json +9 -1
- package/src/api/math.ts +106 -39
- package/src/api/parser.ts +54 -65
- package/src/api/prices.ts +5 -5
- package/src/constants/assets.ts +117 -0
- package/src/constants/general.ts +54 -0
- package/src/constants/pools.ts +63 -0
- package/src/contracts/MasterContract.ts +51 -43
- package/src/contracts/UserContract.ts +22 -19
- package/src/index.ts +32 -3
- package/src/types/Master.ts +37 -2
- package/src/types/User.ts +4 -3
- package/src/utils/userJettonWallet.ts +67 -63
- package/src/constants.ts +0 -127
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Address, Cell } from '@ton/core';
|
|
2
|
+
export declare const MASTER_CONSTANTS: {
|
|
3
|
+
FACTOR_SCALE: bigint;
|
|
4
|
+
ASSET_COEFFICIENT_SCALE: bigint;
|
|
5
|
+
ASSET_PRICE_SCALE: bigint;
|
|
6
|
+
ASSET_RESERVE_FACTOR_SCALE: bigint;
|
|
7
|
+
ASSET_LIQUIDATION_RESERVE_FACTOR_SCALE: bigint;
|
|
8
|
+
ASSET_ORIGINATION_FEE_SCALE: bigint;
|
|
9
|
+
};
|
|
10
|
+
export declare const EVAA_MASTER_MAINNET: Address;
|
|
11
|
+
export declare const MAINNET_VERSION = 5;
|
|
12
|
+
export declare const EVAA_MASTER_TESTNET: Address;
|
|
13
|
+
export declare const TESTNET_VERSION = 5;
|
|
14
|
+
export declare const EVAA_LP_TESTNET: Address;
|
|
15
|
+
export declare const EVAA_LP_TESTNET_VERSION = 5;
|
|
16
|
+
export declare const EVAA_LP_MAINNET: Address;
|
|
17
|
+
export declare const EVAA_LP_MAINNET_VERSION = 0;
|
|
18
|
+
export declare const MAIN_POOL_NFT_ID = "0xfb9874544d76ca49c5db9cc3e5121e4c018bc8a2fb2bfe8f2a38c5b9963492f5";
|
|
19
|
+
export declare const LP_POOL_NFT_ID = "0x85f0045998038bebd076987deb4d4c680a323cb04380491eaa7857b6469ba923";
|
|
20
|
+
export declare const LENDING_CODE: Cell;
|
|
21
|
+
export declare const JETTON_WALLET_STANDART_CODE: Cell;
|
|
22
|
+
export declare const JETTON_WALLET_STANDART_CODE_TESTNET: Cell;
|
|
23
|
+
export declare const OPCODES: {
|
|
24
|
+
SUPPLY: number;
|
|
25
|
+
WITHDRAW: number;
|
|
26
|
+
LIQUIDATE: number;
|
|
27
|
+
JETTON_TRANSFER: number;
|
|
28
|
+
ONCHAIN_GETTER: number;
|
|
29
|
+
};
|
|
30
|
+
export declare const FEES: {
|
|
31
|
+
SUPPLY: bigint;
|
|
32
|
+
WITHDRAW: bigint;
|
|
33
|
+
SUPPLY_JETTON: bigint;
|
|
34
|
+
SUPPLY_JETTON_FWD: bigint;
|
|
35
|
+
LIQUIDATION: bigint;
|
|
36
|
+
LIQUIDATION_JETTON: bigint;
|
|
37
|
+
LIQUIDATION_JETTON_FWD: bigint;
|
|
38
|
+
};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
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.LP_POOL_NFT_ID = exports.MAIN_POOL_NFT_ID = exports.EVAA_LP_MAINNET_VERSION = exports.EVAA_LP_MAINNET = exports.EVAA_LP_TESTNET_VERSION = exports.EVAA_LP_TESTNET = exports.TESTNET_VERSION = exports.EVAA_MASTER_TESTNET = exports.MAINNET_VERSION = exports.EVAA_MASTER_MAINNET = exports.MASTER_CONSTANTS = void 0;
|
|
4
|
+
const core_1 = require("@ton/core");
|
|
5
|
+
exports.MASTER_CONSTANTS = {
|
|
6
|
+
FACTOR_SCALE: BigInt(1e12),
|
|
7
|
+
ASSET_COEFFICIENT_SCALE: 10000n,
|
|
8
|
+
ASSET_PRICE_SCALE: BigInt(1e9),
|
|
9
|
+
ASSET_RESERVE_FACTOR_SCALE: 10000n,
|
|
10
|
+
ASSET_LIQUIDATION_RESERVE_FACTOR_SCALE: 10000n,
|
|
11
|
+
ASSET_ORIGINATION_FEE_SCALE: BigInt(1e9)
|
|
12
|
+
};
|
|
13
|
+
exports.EVAA_MASTER_MAINNET = core_1.Address.parse('EQC8rUZqR_pWV1BylWUlPNBzyiTYVoBEmQkMIQDZXICfnuRr');
|
|
14
|
+
exports.MAINNET_VERSION = 5;
|
|
15
|
+
exports.EVAA_MASTER_TESTNET = core_1.Address.parse('EQCoIxsE8m0Q_Ui9uM-2RPtVWXqHK0ttuW2Mccuaj4FfdkLl');
|
|
16
|
+
exports.TESTNET_VERSION = 5;
|
|
17
|
+
exports.EVAA_LP_TESTNET = core_1.Address.parse('EQBghPVKxgauOyrcyNYNwE2MRRnebaNpDGpVDQLbml_LIXnK');
|
|
18
|
+
exports.EVAA_LP_TESTNET_VERSION = 5;
|
|
19
|
+
exports.EVAA_LP_MAINNET = core_1.Address.parse('EQBIlZX2URWkXCSg3QF2MJZU-wC5XkBoLww-hdWk2G37Jc6N');
|
|
20
|
+
exports.EVAA_LP_MAINNET_VERSION = 0;
|
|
21
|
+
exports.MAIN_POOL_NFT_ID = '0xfb9874544d76ca49c5db9cc3e5121e4c018bc8a2fb2bfe8f2a38c5b9963492f5';
|
|
22
|
+
exports.LP_POOL_NFT_ID = '0x85f0045998038bebd076987deb4d4c680a323cb04380491eaa7857b6469ba923';
|
|
23
|
+
exports.LENDING_CODE = core_1.Cell.fromBoc(Buffer.from('b5ee9c72c1010e0100fd000d12182a555a6065717691969efd0114ff00f4a413f4bcf2c80b010202c8050202039f740403001ff2f8276a2687d2018fd201800f883b840051d38642c678b64e4400780e58fc10802faf07f80e59fa801e78b096664c02078067c07c100627a7978402014807060007a0ddb0c60201c709080013a0fd007a026900aa90400201200b0a0031b8e1002191960aa00b9e2ca007f4042796d225e8019203f6010201200d0c000bf7c147d2218400b9d10e86981fd201840b07f8138d809797976a2687d2029116382f970fd9178089910374daf81b619fd20182c7883b8701981684100627910eba56001797a6a6ba610fd8200e8768f76a9f6aa00cc2a32a8292878809bef2f1889f883bbcdeb86f01', 'hex'))[0];
|
|
24
|
+
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=');
|
|
25
|
+
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');
|
|
26
|
+
exports.OPCODES = {
|
|
27
|
+
SUPPLY: 0x1,
|
|
28
|
+
WITHDRAW: 0x2,
|
|
29
|
+
LIQUIDATE: 0x3,
|
|
30
|
+
JETTON_TRANSFER: 0xf8a7ea5,
|
|
31
|
+
ONCHAIN_GETTER: 0x9998,
|
|
32
|
+
};
|
|
33
|
+
exports.FEES = {
|
|
34
|
+
SUPPLY: (0, core_1.toNano)('0.3'),
|
|
35
|
+
WITHDRAW: (0, core_1.toNano)('0.5'),
|
|
36
|
+
SUPPLY_JETTON: (0, core_1.toNano)('0.29'),
|
|
37
|
+
SUPPLY_JETTON_FWD: (0, core_1.toNano)('0.5'),
|
|
38
|
+
LIQUIDATION: (0, core_1.toNano)('0.8'),
|
|
39
|
+
LIQUIDATION_JETTON: (0, core_1.toNano)('1'),
|
|
40
|
+
LIQUIDATION_JETTON_FWD: (0, core_1.toNano)('0.8'),
|
|
41
|
+
};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { PoolConfig } from "../types/Master";
|
|
2
|
+
export declare const MAINNET_POOL_CONFIG: PoolConfig;
|
|
3
|
+
export declare const TESTNET_POOL_CONFIG: PoolConfig;
|
|
4
|
+
export declare const TESTNET_LP_POOL_CONFIG: PoolConfig;
|
|
5
|
+
export declare const MAINNET_LP_POOL_CONFIG: PoolConfig;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MAINNET_LP_POOL_CONFIG = exports.TESTNET_LP_POOL_CONFIG = exports.TESTNET_POOL_CONFIG = exports.MAINNET_POOL_CONFIG = void 0;
|
|
4
|
+
const assets_1 = require("./assets");
|
|
5
|
+
const general_1 = require("./general");
|
|
6
|
+
exports.MAINNET_POOL_CONFIG = {
|
|
7
|
+
masterAddress: general_1.EVAA_MASTER_MAINNET,
|
|
8
|
+
masterVersion: general_1.MAINNET_VERSION,
|
|
9
|
+
masterConstants: general_1.MASTER_CONSTANTS,
|
|
10
|
+
nftId: general_1.MAIN_POOL_NFT_ID,
|
|
11
|
+
poolAssetsConfig: [
|
|
12
|
+
assets_1.TON_MAINNET,
|
|
13
|
+
assets_1.JUSDT_MAINNET,
|
|
14
|
+
assets_1.JUSDC_MAINNET,
|
|
15
|
+
assets_1.STTON_MAINNET,
|
|
16
|
+
assets_1.TSTON_MAINNET,
|
|
17
|
+
assets_1.USDT_MAINNET
|
|
18
|
+
],
|
|
19
|
+
lendingCode: general_1.LENDING_CODE
|
|
20
|
+
};
|
|
21
|
+
exports.TESTNET_POOL_CONFIG = {
|
|
22
|
+
masterAddress: general_1.EVAA_MASTER_TESTNET,
|
|
23
|
+
masterVersion: general_1.TESTNET_VERSION,
|
|
24
|
+
masterConstants: general_1.MASTER_CONSTANTS,
|
|
25
|
+
nftId: general_1.MAIN_POOL_NFT_ID,
|
|
26
|
+
poolAssetsConfig: [
|
|
27
|
+
assets_1.TON_MAINNET,
|
|
28
|
+
assets_1.JUSDT_TESTNET,
|
|
29
|
+
assets_1.JUSDC_TESTNET,
|
|
30
|
+
assets_1.STTON_TESTNET
|
|
31
|
+
],
|
|
32
|
+
lendingCode: general_1.LENDING_CODE
|
|
33
|
+
};
|
|
34
|
+
exports.TESTNET_LP_POOL_CONFIG = {
|
|
35
|
+
masterAddress: general_1.EVAA_LP_TESTNET,
|
|
36
|
+
masterVersion: general_1.EVAA_LP_TESTNET_VERSION,
|
|
37
|
+
masterConstants: general_1.MASTER_CONSTANTS,
|
|
38
|
+
nftId: general_1.LP_POOL_NFT_ID,
|
|
39
|
+
poolAssetsConfig: [
|
|
40
|
+
assets_1.TON_MAINNET,
|
|
41
|
+
assets_1.JUSDT_TESTNET,
|
|
42
|
+
assets_1.JUSDC_TESTNET,
|
|
43
|
+
assets_1.STTON_TESTNET
|
|
44
|
+
],
|
|
45
|
+
lendingCode: general_1.LENDING_CODE
|
|
46
|
+
};
|
|
47
|
+
exports.MAINNET_LP_POOL_CONFIG = {
|
|
48
|
+
masterAddress: general_1.EVAA_LP_MAINNET,
|
|
49
|
+
masterVersion: general_1.EVAA_LP_MAINNET_VERSION,
|
|
50
|
+
masterConstants: general_1.MASTER_CONSTANTS,
|
|
51
|
+
nftId: general_1.LP_POOL_NFT_ID,
|
|
52
|
+
poolAssetsConfig: [
|
|
53
|
+
assets_1.TON_MAINNET,
|
|
54
|
+
assets_1.USDT_MAINNET,
|
|
55
|
+
assets_1.TONUSDT_DEDUST_MAINNET,
|
|
56
|
+
assets_1.TON_STORM_MAINNET,
|
|
57
|
+
assets_1.USDT_STORM_MAINNET,
|
|
58
|
+
],
|
|
59
|
+
lendingCode: general_1.LENDING_CODE
|
|
60
|
+
};
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { Address, Cell, Contract, ContractProvider, OpenedContract, Sender } from '@ton/core';
|
|
2
2
|
import { Maybe } from '@ton/core/dist/utils/maybe';
|
|
3
3
|
import { EvaaUser } from './UserContract';
|
|
4
|
-
import { MasterData } from '../types/Master';
|
|
4
|
+
import { MasterData, PoolAssetConfig, PoolConfig, PoolJettonAssetConfig } from '../types/Master';
|
|
5
5
|
/**
|
|
6
6
|
* Parameters for the Evaa contract
|
|
7
7
|
* @property testnet - true for testnet, false for mainnet
|
|
8
8
|
* @property debug - true to enable debug mode (optional)
|
|
9
9
|
*/
|
|
10
10
|
export type EvaaParameters = {
|
|
11
|
-
|
|
11
|
+
poolConfig: PoolConfig;
|
|
12
12
|
debug?: boolean;
|
|
13
13
|
};
|
|
14
14
|
/**
|
|
@@ -33,25 +33,26 @@ export type SupplyBaseParameters = {
|
|
|
33
33
|
includeUserCode: boolean;
|
|
34
34
|
amount: bigint;
|
|
35
35
|
userAddress: Address;
|
|
36
|
-
assetID: bigint;
|
|
37
36
|
};
|
|
38
37
|
/**
|
|
39
38
|
* Parameters for the TON supply message
|
|
40
39
|
* @property type - 'ton'
|
|
41
40
|
*/
|
|
42
41
|
export type TonSupplyParameters = SupplyBaseParameters & {
|
|
43
|
-
|
|
42
|
+
asset: PoolAssetConfig;
|
|
44
43
|
};
|
|
45
44
|
/**
|
|
46
45
|
* Parameters for the jetton supply message
|
|
47
46
|
* @property type - 'jetton'
|
|
48
47
|
*/
|
|
49
48
|
export type JettonSupplyParameters = SupplyBaseParameters & JettonMessageParameters & {
|
|
50
|
-
|
|
49
|
+
asset: PoolJettonAssetConfig & PoolAssetConfig;
|
|
51
50
|
};
|
|
51
|
+
export type SupplyParameters = TonSupplyParameters | JettonSupplyParameters;
|
|
52
52
|
/**
|
|
53
53
|
* Parameters for the withdraw message
|
|
54
54
|
* @property queryID - unique query ID
|
|
55
|
+
* * @property assetID - asset ID
|
|
55
56
|
* @property assetID - asset ID
|
|
56
57
|
* @property amount - amount to withdraw
|
|
57
58
|
* @property userAddress - user address
|
|
@@ -60,11 +61,11 @@ export type JettonSupplyParameters = SupplyBaseParameters & JettonMessageParamet
|
|
|
60
61
|
*/
|
|
61
62
|
export type WithdrawParameters = {
|
|
62
63
|
queryID: bigint;
|
|
63
|
-
assetID: bigint;
|
|
64
64
|
amount: bigint;
|
|
65
65
|
userAddress: Address;
|
|
66
66
|
includeUserCode: boolean;
|
|
67
67
|
priceData: Cell;
|
|
68
|
+
asset: PoolAssetConfig;
|
|
68
69
|
};
|
|
69
70
|
/**
|
|
70
71
|
* Base data for liquidation. Can be obtained from the user contract liquidationParameters getter
|
|
@@ -101,21 +102,21 @@ export type LiquidationBaseParameters = LiquidationBaseData & {
|
|
|
101
102
|
* @property type - 'ton'
|
|
102
103
|
*/
|
|
103
104
|
export type TonLiquidationParameters = LiquidationBaseParameters & {
|
|
104
|
-
|
|
105
|
+
asset: PoolAssetConfig;
|
|
105
106
|
};
|
|
106
107
|
/**
|
|
107
108
|
* Parameters for the jetton liquidation message
|
|
108
109
|
* @property type - 'jetton'
|
|
109
110
|
*/
|
|
110
111
|
export type JettonLiquidationParameters = LiquidationBaseParameters & JettonMessageParameters & {
|
|
111
|
-
|
|
112
|
+
asset: PoolAssetConfig & PoolJettonAssetConfig;
|
|
112
113
|
};
|
|
113
114
|
/**
|
|
114
115
|
* Evaa master contract wrapper
|
|
115
116
|
*/
|
|
116
117
|
export declare class Evaa implements Contract {
|
|
117
118
|
readonly address: Address;
|
|
118
|
-
|
|
119
|
+
private poolConfig;
|
|
119
120
|
private readonly debug?;
|
|
120
121
|
private _data?;
|
|
121
122
|
private lastSync;
|
|
@@ -128,7 +129,7 @@ export declare class Evaa implements Contract {
|
|
|
128
129
|
* Create supply message
|
|
129
130
|
* @returns supply message as a cell
|
|
130
131
|
*/
|
|
131
|
-
createSupplyMessage(parameters:
|
|
132
|
+
createSupplyMessage(parameters: SupplyParameters): Cell;
|
|
132
133
|
/**
|
|
133
134
|
* Create withdraw message
|
|
134
135
|
* @returns withdraw message as a cell
|
|
@@ -144,7 +145,7 @@ export declare class Evaa implements Contract {
|
|
|
144
145
|
* @param userAddress
|
|
145
146
|
* @returns user contract address
|
|
146
147
|
*/
|
|
147
|
-
calculateUserSCAddr(userAddress: Address): Address;
|
|
148
|
+
calculateUserSCAddr(userAddress: Address, lendingCode: Cell): Address;
|
|
148
149
|
/**
|
|
149
150
|
* Open user contract wrapper
|
|
150
151
|
* @param userAddress
|
|
@@ -168,4 +169,5 @@ export declare class Evaa implements Contract {
|
|
|
168
169
|
* Sync master contract data
|
|
169
170
|
*/
|
|
170
171
|
getSync(provider: ContractProvider): Promise<void>;
|
|
172
|
+
getPrices(provider: ContractProvider, endpoints?: string[]): Promise<import("..").PriceData>;
|
|
171
173
|
}
|
|
@@ -2,11 +2,12 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Evaa = void 0;
|
|
4
4
|
const core_1 = require("@ton/core");
|
|
5
|
-
const
|
|
5
|
+
const general_1 = require("../constants/general");
|
|
6
6
|
const UserContract_1 = require("./UserContract");
|
|
7
7
|
const parser_1 = require("../api/parser");
|
|
8
8
|
const JettonWallet_1 = require("./JettonWallet");
|
|
9
9
|
const userJettonWallet_1 = require("../utils/userJettonWallet");
|
|
10
|
+
const __1 = require("..");
|
|
10
11
|
/**
|
|
11
12
|
* Evaa master contract wrapper
|
|
12
13
|
*/
|
|
@@ -16,13 +17,9 @@ class Evaa {
|
|
|
16
17
|
* @param parameters Evaa contract parameters
|
|
17
18
|
*/
|
|
18
19
|
constructor(parameters) {
|
|
19
|
-
this.address = constants_1.EVAA_MASTER_MAINNET;
|
|
20
|
-
this.network = 'mainnet';
|
|
21
20
|
this.lastSync = 0;
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
this.address = constants_1.EVAA_MASTER_TESTNET;
|
|
25
|
-
}
|
|
21
|
+
this.poolConfig = parameters?.poolConfig ?? __1.MAINNET_POOL_CONFIG;
|
|
22
|
+
this.address = this.poolConfig.masterAddress;
|
|
26
23
|
this.debug = parameters?.debug;
|
|
27
24
|
}
|
|
28
25
|
/**
|
|
@@ -30,18 +27,19 @@ class Evaa {
|
|
|
30
27
|
* @returns supply message as a cell
|
|
31
28
|
*/
|
|
32
29
|
createSupplyMessage(parameters) {
|
|
33
|
-
if (parameters.
|
|
30
|
+
if ('jettonMasterAddress' in parameters.asset) {
|
|
31
|
+
const jettonParams = parameters;
|
|
34
32
|
return (0, core_1.beginCell)()
|
|
35
|
-
.storeUint(
|
|
33
|
+
.storeUint(general_1.OPCODES.JETTON_TRANSFER, 32)
|
|
36
34
|
.storeUint(parameters.queryID, 64)
|
|
37
35
|
.storeCoins(parameters.amount)
|
|
38
36
|
.storeAddress(this.address)
|
|
39
|
-
.storeAddress(
|
|
37
|
+
.storeAddress(jettonParams.responseAddress ?? parameters.userAddress)
|
|
40
38
|
.storeBit(0)
|
|
41
|
-
.storeCoins(
|
|
39
|
+
.storeCoins(jettonParams.forwardAmount ?? general_1.FEES.SUPPLY_JETTON_FWD)
|
|
42
40
|
.storeBit(1)
|
|
43
41
|
.storeRef((0, core_1.beginCell)()
|
|
44
|
-
.storeUint(
|
|
42
|
+
.storeUint(general_1.OPCODES.SUPPLY, 32)
|
|
45
43
|
.storeInt(parameters.includeUserCode ? -1 : 0, 2)
|
|
46
44
|
.storeAddress(parameters.userAddress)
|
|
47
45
|
/* Will be in v6
|
|
@@ -52,7 +50,7 @@ class Evaa {
|
|
|
52
50
|
}
|
|
53
51
|
else {
|
|
54
52
|
return (0, core_1.beginCell)()
|
|
55
|
-
.storeUint(
|
|
53
|
+
.storeUint(general_1.OPCODES.SUPPLY, 32)
|
|
56
54
|
.storeUint(parameters.queryID, 64)
|
|
57
55
|
.storeInt(parameters.includeUserCode ? -1 : 0, 2)
|
|
58
56
|
.storeUint(parameters.amount, 64)
|
|
@@ -69,9 +67,9 @@ class Evaa {
|
|
|
69
67
|
*/
|
|
70
68
|
createWithdrawMessage(parameters) {
|
|
71
69
|
return (0, core_1.beginCell)()
|
|
72
|
-
.storeUint(
|
|
70
|
+
.storeUint(general_1.OPCODES.WITHDRAW, 32)
|
|
73
71
|
.storeUint(parameters.queryID, 64)
|
|
74
|
-
.storeUint(parameters.
|
|
72
|
+
.storeUint(parameters.asset.assetId, 256)
|
|
75
73
|
.storeUint(parameters.amount, 64)
|
|
76
74
|
.storeAddress(parameters.userAddress)
|
|
77
75
|
.storeInt(parameters.includeUserCode ? -1 : 0, 2)
|
|
@@ -86,18 +84,19 @@ class Evaa {
|
|
|
86
84
|
* @returns liquidation message as a cell
|
|
87
85
|
*/
|
|
88
86
|
createLiquidationMessage(parameters) {
|
|
89
|
-
if (parameters.
|
|
87
|
+
if ('jettonMasterAddress' in parameters.asset) {
|
|
88
|
+
const jettonParams = parameters;
|
|
90
89
|
return (0, core_1.beginCell)()
|
|
91
|
-
.storeUint(
|
|
90
|
+
.storeUint(general_1.OPCODES.JETTON_TRANSFER, 32)
|
|
92
91
|
.storeUint(parameters.queryID, 64)
|
|
93
92
|
.storeCoins(parameters.liquidationAmount)
|
|
94
93
|
.storeAddress(this.address)
|
|
95
|
-
.storeAddress(
|
|
94
|
+
.storeAddress(jettonParams.responseAddress ?? parameters.liquidatorAddress)
|
|
96
95
|
.storeBit(0)
|
|
97
|
-
.storeCoins(
|
|
96
|
+
.storeCoins(jettonParams.forwardAmount ?? general_1.FEES.LIQUIDATION_JETTON_FWD)
|
|
98
97
|
.storeBit(1)
|
|
99
98
|
.storeRef((0, core_1.beginCell)()
|
|
100
|
-
.storeUint(
|
|
99
|
+
.storeUint(general_1.OPCODES.LIQUIDATE, 32)
|
|
101
100
|
.storeAddress(parameters.borrowerAddress)
|
|
102
101
|
.storeAddress(parameters.liquidatorAddress)
|
|
103
102
|
.storeUint(parameters.collateralAsset, 256)
|
|
@@ -112,7 +111,7 @@ class Evaa {
|
|
|
112
111
|
}
|
|
113
112
|
else {
|
|
114
113
|
return (0, core_1.beginCell)()
|
|
115
|
-
.storeUint(
|
|
114
|
+
.storeUint(general_1.OPCODES.LIQUIDATE, 32)
|
|
116
115
|
.storeUint(parameters.queryID, 64)
|
|
117
116
|
.storeAddress(parameters.borrowerAddress)
|
|
118
117
|
.storeAddress(parameters.liquidatorAddress)
|
|
@@ -129,7 +128,7 @@ class Evaa {
|
|
|
129
128
|
* @param userAddress
|
|
130
129
|
* @returns user contract address
|
|
131
130
|
*/
|
|
132
|
-
calculateUserSCAddr(userAddress) {
|
|
131
|
+
calculateUserSCAddr(userAddress, lendingCode) {
|
|
133
132
|
const lendingData = (0, core_1.beginCell)()
|
|
134
133
|
.storeAddress(this.address)
|
|
135
134
|
.storeAddress(userAddress)
|
|
@@ -138,7 +137,7 @@ class Evaa {
|
|
|
138
137
|
.endCell();
|
|
139
138
|
const stateInit = (0, core_1.beginCell)()
|
|
140
139
|
.store((0, core_1.storeStateInit)({
|
|
141
|
-
code:
|
|
140
|
+
code: lendingCode,
|
|
142
141
|
data: lendingData,
|
|
143
142
|
}))
|
|
144
143
|
.endCell();
|
|
@@ -150,7 +149,7 @@ class Evaa {
|
|
|
150
149
|
* @returns user contract
|
|
151
150
|
*/
|
|
152
151
|
openUserContract(userAddress) {
|
|
153
|
-
return UserContract_1.EvaaUser.createFromAddress(this.calculateUserSCAddr(userAddress), this.
|
|
152
|
+
return UserContract_1.EvaaUser.createFromAddress(this.calculateUserSCAddr(userAddress, this.poolConfig.lendingCode), this.poolConfig);
|
|
154
153
|
}
|
|
155
154
|
getOpenedUserContract(provider, userAddress) {
|
|
156
155
|
return provider.open(this.openUserContract(userAddress));
|
|
@@ -163,11 +162,11 @@ class Evaa {
|
|
|
163
162
|
}
|
|
164
163
|
async sendSupply(provider, via, value, parameters) {
|
|
165
164
|
const message = this.createSupplyMessage(parameters);
|
|
166
|
-
if (parameters.
|
|
165
|
+
if ('jettonMasterAddress' in parameters.asset) {
|
|
167
166
|
if (!via.address) {
|
|
168
167
|
throw Error('Via address is required for jetton supply');
|
|
169
168
|
}
|
|
170
|
-
const jettonWallet = provider.open(JettonWallet_1.JettonWallet.createFromAddress((0, userJettonWallet_1.getUserJettonWallet)(via.address, parameters.
|
|
169
|
+
const jettonWallet = provider.open(JettonWallet_1.JettonWallet.createFromAddress((0, userJettonWallet_1.getUserJettonWallet)(via.address, parameters.asset)));
|
|
171
170
|
await jettonWallet.sendTransfer(via, value, message);
|
|
172
171
|
}
|
|
173
172
|
else {
|
|
@@ -188,11 +187,11 @@ class Evaa {
|
|
|
188
187
|
}
|
|
189
188
|
async sendLiquidation(provider, via, value, parameters) {
|
|
190
189
|
const message = this.createLiquidationMessage(parameters);
|
|
191
|
-
if (parameters.
|
|
190
|
+
if ('jettonMasterAddress' in parameters.asset) {
|
|
192
191
|
if (!via.address) {
|
|
193
192
|
throw Error('Via address is required for jetton liquidation');
|
|
194
193
|
}
|
|
195
|
-
const jettonWallet = provider.open(JettonWallet_1.JettonWallet.createFromAddress((0, userJettonWallet_1.getUserJettonWallet)(via.address, parameters.
|
|
194
|
+
const jettonWallet = provider.open(JettonWallet_1.JettonWallet.createFromAddress((0, userJettonWallet_1.getUserJettonWallet)(via.address, parameters.asset)));
|
|
196
195
|
await jettonWallet.sendTransfer(via, value, message);
|
|
197
196
|
}
|
|
198
197
|
else {
|
|
@@ -212,7 +211,7 @@ class Evaa {
|
|
|
212
211
|
value,
|
|
213
212
|
sendMode: core_1.SendMode.PAY_GAS_SEPARATELY + core_1.SendMode.IGNORE_ERRORS,
|
|
214
213
|
body: (0, core_1.beginCell)()
|
|
215
|
-
.storeUint(
|
|
214
|
+
.storeUint(general_1.OPCODES.ONCHAIN_GETTER, 32)
|
|
216
215
|
.storeUint(queryID, 64)
|
|
217
216
|
.storeRef(forwardPayload)
|
|
218
217
|
.endCell(),
|
|
@@ -224,12 +223,9 @@ class Evaa {
|
|
|
224
223
|
async getSync(provider) {
|
|
225
224
|
const state = (await provider.getState()).state;
|
|
226
225
|
if (state.type === 'active') {
|
|
227
|
-
this._data = (0, parser_1.parseMasterData)(state.data.toString('base64'), this.
|
|
228
|
-
if (this.
|
|
229
|
-
throw Error(`Outdated SDK version. It supports only master code version ${
|
|
230
|
-
}
|
|
231
|
-
if (this.network === 'mainnet' && this._data.upgradeConfig.masterCodeVersion !== constants_1.MAINNET_VERSION) {
|
|
232
|
-
throw Error(`Outdated SDK version. It supports only master code version ${constants_1.MAINNET_VERSION} on mainnet, but the current master code version is ${this._data.upgradeConfig.masterCodeVersion}`);
|
|
226
|
+
this._data = (0, parser_1.parseMasterData)(state.data.toString('base64'), this.poolConfig.poolAssetsConfig, this.poolConfig.masterConstants);
|
|
227
|
+
if (this._data.upgradeConfig.masterCodeVersion !== this.poolConfig.masterVersion) {
|
|
228
|
+
throw Error(`Outdated SDK pool version. It supports only master code version ${this.poolConfig.masterVersion}, but the current master code version is ${this._data.upgradeConfig.masterCodeVersion}`);
|
|
233
229
|
}
|
|
234
230
|
this.lastSync = Math.floor(Date.now() / 1000);
|
|
235
231
|
}
|
|
@@ -237,5 +233,13 @@ class Evaa {
|
|
|
237
233
|
throw Error('Master contract is not active');
|
|
238
234
|
}
|
|
239
235
|
}
|
|
236
|
+
async getPrices(provider, endpoints) {
|
|
237
|
+
if ((endpoints?.length ?? 0) > 0) {
|
|
238
|
+
return await (0, __1.getPrices)(endpoints, this.poolConfig.nftId);
|
|
239
|
+
}
|
|
240
|
+
else {
|
|
241
|
+
return await (0, __1.getPrices)(undefined, this.poolConfig.nftId);
|
|
242
|
+
}
|
|
243
|
+
}
|
|
240
244
|
}
|
|
241
245
|
exports.Evaa = Evaa;
|
|
@@ -1,24 +1,23 @@
|
|
|
1
1
|
import { Address, Cell, Contract, ContractProvider, Dictionary, Sender } from '@ton/core';
|
|
2
2
|
import { UserData, UserLiteData } from '../types/User';
|
|
3
|
-
import {
|
|
3
|
+
import { ExtendedAssetsConfig, ExtendedAssetsData, PoolConfig } from '../types/Master';
|
|
4
4
|
import { LiquidationBaseData } from './MasterContract';
|
|
5
5
|
/**
|
|
6
6
|
* User contract wrapper
|
|
7
7
|
*/
|
|
8
8
|
export declare class EvaaUser implements Contract {
|
|
9
9
|
readonly address: Address;
|
|
10
|
-
readonly testnet: boolean;
|
|
11
10
|
private lastSync;
|
|
12
11
|
private _liteData?;
|
|
13
12
|
private _data?;
|
|
13
|
+
private poolConfig;
|
|
14
14
|
/**
|
|
15
15
|
* Create user contract wrapper from address
|
|
16
16
|
* @param address user contract address
|
|
17
|
-
* @param testnet testnet flag
|
|
18
17
|
*/
|
|
19
|
-
static createFromAddress(address: Address,
|
|
18
|
+
static createFromAddress(address: Address, poolConfig?: PoolConfig): EvaaUser;
|
|
20
19
|
private constructor();
|
|
21
|
-
getSyncLite(provider: ContractProvider, assetsData:
|
|
20
|
+
getSyncLite(provider: ContractProvider, assetsData: ExtendedAssetsData, assetsConfig: ExtendedAssetsConfig): Promise<void>;
|
|
22
21
|
/**
|
|
23
22
|
* Calculate full user data from lite data and prices
|
|
24
23
|
* @param assetsData assets data
|
|
@@ -26,13 +25,13 @@ export declare class EvaaUser implements Contract {
|
|
|
26
25
|
* @param prices prices
|
|
27
26
|
* @returns true if user data was calculated
|
|
28
27
|
*/
|
|
29
|
-
calculateUserData(assetsData:
|
|
28
|
+
calculateUserData(assetsData: ExtendedAssetsData, assetsConfig: ExtendedAssetsConfig, prices: Dictionary<bigint, bigint>): boolean;
|
|
30
29
|
/**
|
|
31
30
|
* Open user contract wrapper
|
|
32
31
|
* @param forwardPayload - payload that will be forwarded to the address which requested the data
|
|
33
32
|
*/
|
|
34
33
|
sendOnchainGetter(provider: ContractProvider, via: Sender, value: bigint, queryID: bigint, forwardPayload: Cell): Promise<void>;
|
|
35
|
-
getSync(provider: ContractProvider, assetsData:
|
|
34
|
+
getSync(provider: ContractProvider, assetsData: ExtendedAssetsData, assetsConfig: ExtendedAssetsConfig, prices: Dictionary<bigint, bigint>): Promise<void>;
|
|
36
35
|
/**
|
|
37
36
|
* Get user contract lite data
|
|
38
37
|
* @returns user lite data if available, otherwise undefined
|
|
@@ -3,7 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.EvaaUser = void 0;
|
|
4
4
|
const core_1 = require("@ton/core");
|
|
5
5
|
const parser_1 = require("../api/parser");
|
|
6
|
-
const
|
|
6
|
+
const general_1 = require("../constants/general");
|
|
7
|
+
const pools_1 = require("../constants/pools");
|
|
8
|
+
const assets_1 = require("../constants/assets");
|
|
7
9
|
/**
|
|
8
10
|
* User contract wrapper
|
|
9
11
|
*/
|
|
@@ -11,21 +13,19 @@ class EvaaUser {
|
|
|
11
13
|
/**
|
|
12
14
|
* Create user contract wrapper from address
|
|
13
15
|
* @param address user contract address
|
|
14
|
-
* @param testnet testnet flag
|
|
15
16
|
*/
|
|
16
|
-
static createFromAddress(address,
|
|
17
|
-
return new EvaaUser(address,
|
|
17
|
+
static createFromAddress(address, poolConfig = pools_1.MAINNET_POOL_CONFIG) {
|
|
18
|
+
return new EvaaUser(address, poolConfig);
|
|
18
19
|
}
|
|
19
|
-
constructor(address,
|
|
20
|
-
this.testnet = false;
|
|
20
|
+
constructor(address, poolConfig = pools_1.MAINNET_POOL_CONFIG) {
|
|
21
21
|
this.lastSync = 0;
|
|
22
22
|
this.address = address;
|
|
23
|
-
this.
|
|
23
|
+
this.poolConfig = poolConfig;
|
|
24
24
|
}
|
|
25
25
|
async getSyncLite(provider, assetsData, assetsConfig) {
|
|
26
26
|
const state = (await provider.getState()).state;
|
|
27
27
|
if (state.type === 'active') {
|
|
28
|
-
this._liteData = (0, parser_1.parseUserLiteData)(state.data.toString('base64'), assetsData, assetsConfig, this.
|
|
28
|
+
this._liteData = (0, parser_1.parseUserLiteData)(state.data.toString('base64'), assetsData, assetsConfig, this.poolConfig.poolAssetsConfig, this.poolConfig.masterConstants);
|
|
29
29
|
this.lastSync = Math.floor(Date.now() / 1000);
|
|
30
30
|
}
|
|
31
31
|
else {
|
|
@@ -42,7 +42,7 @@ class EvaaUser {
|
|
|
42
42
|
*/
|
|
43
43
|
calculateUserData(assetsData, assetsConfig, prices) {
|
|
44
44
|
if (this._liteData) {
|
|
45
|
-
this._data = (0, parser_1.parseUserData)(this._liteData, assetsData, assetsConfig, prices, this.
|
|
45
|
+
this._data = (0, parser_1.parseUserData)(this._liteData, assetsData, assetsConfig, prices, this.poolConfig.poolAssetsConfig, this.poolConfig.masterConstants);
|
|
46
46
|
return true;
|
|
47
47
|
}
|
|
48
48
|
return false;
|
|
@@ -56,7 +56,7 @@ class EvaaUser {
|
|
|
56
56
|
value,
|
|
57
57
|
sendMode: core_1.SendMode.PAY_GAS_SEPARATELY + core_1.SendMode.IGNORE_ERRORS,
|
|
58
58
|
body: (0, core_1.beginCell)()
|
|
59
|
-
.storeCoins(BigInt(
|
|
59
|
+
.storeCoins(BigInt(general_1.OPCODES.ONCHAIN_GETTER))
|
|
60
60
|
.storeUint(queryID, 64)
|
|
61
61
|
.storeRef(forwardPayload)
|
|
62
62
|
.endCell(),
|
|
@@ -65,8 +65,8 @@ class EvaaUser {
|
|
|
65
65
|
async getSync(provider, assetsData, assetsConfig, prices) {
|
|
66
66
|
const state = (await provider.getState()).state;
|
|
67
67
|
if (state.type === 'active') {
|
|
68
|
-
this._liteData = (0, parser_1.parseUserLiteData)(state.data.toString('base64'), assetsData, assetsConfig, this.
|
|
69
|
-
this._data = (0, parser_1.parseUserData)(this._liteData, assetsData, assetsConfig, prices, this.
|
|
68
|
+
this._liteData = (0, parser_1.parseUserLiteData)(state.data.toString('base64'), assetsData, assetsConfig, this.poolConfig.poolAssetsConfig, this.poolConfig.masterConstants);
|
|
69
|
+
this._data = (0, parser_1.parseUserData)(this._liteData, assetsData, assetsConfig, prices, this.poolConfig.poolAssetsConfig, this.poolConfig.masterConstants);
|
|
70
70
|
this.lastSync = Math.floor(Date.now() / 1000);
|
|
71
71
|
}
|
|
72
72
|
else {
|
|
@@ -111,7 +111,7 @@ class EvaaUser {
|
|
|
111
111
|
collateralAsset: this._data.liquidationData.greatestCollateralAsset,
|
|
112
112
|
minCollateralAmount: this._data.liquidationData.minCollateralAmount,
|
|
113
113
|
liquidationAmount: this._data.liquidationData.liquidationAmount,
|
|
114
|
-
tonLiquidation: this._data.liquidationData.greatestLoanAsset ===
|
|
114
|
+
tonLiquidation: this._data.liquidationData.greatestLoanAsset === assets_1.TON_MAINNET.assetId,
|
|
115
115
|
};
|
|
116
116
|
}
|
|
117
117
|
}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
|
-
export { mulFactor, mulDiv, bigIntMin, bigIntMax, calculatePresentValue, calculateCurrentRates, calculateAssetData, calculateAssetInterest, getAvailableToBorrow, presentValue, calculateLiquidationData, } from './api/math';
|
|
1
|
+
export { mulFactor, mulDiv, bigIntMin, bigIntMax, calculatePresentValue, calculateCurrentRates, calculateAssetData, calculateAssetInterest, getAvailableToBorrow, calculateMaximumWithdrawAmount, presentValue, calculateLiquidationData, } from './api/math';
|
|
2
2
|
export { createAssetData, createAssetConfig, parseMasterData, parseUserData, parseUserLiteData } from './api/parser';
|
|
3
3
|
export { getPrices } from './api/prices';
|
|
4
4
|
export { JettonWallet } from './contracts/JettonWallet';
|
|
5
5
|
export { EvaaParameters, JettonMessageParameters, TonSupplyParameters, JettonSupplyParameters, WithdrawParameters, LiquidationBaseData, TonLiquidationParameters, JettonLiquidationParameters, Evaa, } from './contracts/MasterContract';
|
|
6
6
|
export { EvaaUser } from './contracts/UserContract';
|
|
7
7
|
export { PriceData } from './types/Common';
|
|
8
|
-
export { UpgradeConfig, AssetConfig, MasterConfig, AssetData, AssetInterest, AssetApy, ExtendedAssetData, MasterData, } from './types/Master';
|
|
8
|
+
export { UpgradeConfig, AssetConfig, MasterConfig, AssetData, AssetInterest, AssetApy, ExtendedAssetData, MasterData, PoolConfig, ExtendedAssetsData, ExtendedAssetsConfig, PoolAssetConfig, PoolAssetsConfig, } from './types/Master';
|
|
9
9
|
export { BalanceType, UserBalance, UserLiqudationData, LiquidableData, NonLiquidableData, LiquidationData, UserDataInactive, UserDataActive, UserData, BalanceChangeType } from './types/User';
|
|
10
|
-
export { EVAA_MASTER_MAINNET, MAINNET_VERSION, EVAA_MASTER_TESTNET, TESTNET_VERSION,
|
|
10
|
+
export { EVAA_MASTER_MAINNET, MAINNET_VERSION, EVAA_MASTER_TESTNET, TESTNET_VERSION, LENDING_CODE, OPCODES, FEES, MASTER_CONSTANTS } from './constants/general';
|
|
11
|
+
export { MAINNET_POOL_CONFIG, TESTNET_POOL_CONFIG, MAINNET_LP_POOL_CONFIG, TESTNET_LP_POOL_CONFIG } from './constants/pools';
|
|
12
|
+
export { TON_MAINNET, USDT_MAINNET, TONUSDT_DEDUST_MAINNET, TON_STORM_MAINNET, USDT_STORM_MAINNET, JUSDT_MAINNET, JUSDC_MAINNET, STTON_MAINNET, TSTON_MAINNET, JUSDT_TESTNET, JUSDC_TESTNET, STTON_TESTNET, } from './constants/assets';
|
|
13
|
+
export * from './constants/assets';
|
|
11
14
|
export { getLastSentBoc, getTonConnectSender } from './utils/tonConnectSender';
|
|
12
15
|
export { getUserJettonWallet } from './utils/userJettonWallet';
|