@evaafi/sdk 0.6.4 → 0.9.0-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/dist/api/feeds.d.ts +31 -0
- package/dist/api/feeds.js +73 -0
- package/dist/api/liquidation.js +1 -1
- package/dist/api/math.js +1 -1
- package/dist/api/parser.d.ts +4 -2
- package/dist/api/parser.js +39 -18
- package/dist/api/parsers/AbstractOracleParser.d.ts +11 -0
- package/dist/api/parsers/AbstractOracleParser.js +9 -0
- package/dist/api/parsers/ClassicOracleParser.d.ts +10 -0
- package/dist/api/parsers/ClassicOracleParser.js +16 -0
- package/dist/api/parsers/PythOracleParser.d.ts +18 -0
- package/dist/api/parsers/PythOracleParser.js +22 -0
- package/dist/api/parsers/index.d.ts +3 -0
- package/dist/api/parsers/index.js +19 -0
- package/dist/api/prices.d.ts +7 -6
- package/dist/api/prices.js +37 -46
- package/dist/constants/assets/assetId.d.ts +22 -0
- package/dist/constants/assets/assetId.js +29 -0
- package/dist/constants/assets/index.d.ts +3 -0
- package/dist/constants/assets/index.js +19 -0
- package/dist/constants/{assets.d.ts → assets/mainnet.d.ts} +3 -29
- package/dist/constants/{assets.js → assets/mainnet.js} +30 -79
- package/dist/constants/assets/testnet.d.ts +14 -0
- package/dist/constants/assets/testnet.js +54 -0
- package/dist/constants/general/index.d.ts +65 -0
- package/dist/constants/general/index.js +93 -0
- package/dist/constants/general/mainnet.d.ts +24 -0
- package/dist/constants/{general.js → general/mainnet.js} +38 -60
- package/dist/constants/general/testnet.d.ts +12 -0
- package/dist/constants/general/testnet.js +15 -0
- package/dist/constants/index.d.ts +3 -0
- package/dist/constants/index.js +19 -0
- package/dist/constants/pools/index.d.ts +2 -0
- package/dist/constants/pools/index.js +18 -0
- package/dist/constants/pools/mainnet.d.ts +14 -0
- package/dist/constants/pools/mainnet.js +145 -0
- package/dist/constants/pools/testnet.d.ts +9 -0
- package/dist/constants/pools/testnet.js +57 -0
- package/dist/contracts/AbstractMaster.d.ts +185 -0
- package/dist/contracts/AbstractMaster.js +179 -0
- package/dist/contracts/ClassicMaster.d.ts +34 -0
- package/dist/contracts/ClassicMaster.js +87 -0
- package/dist/contracts/PythMaster.d.ts +62 -0
- package/dist/contracts/PythMaster.js +179 -0
- package/dist/contracts/UserContract.d.ts +1 -7
- package/dist/contracts/UserContract.js +1 -19
- package/dist/contracts/index.d.ts +5 -0
- package/dist/contracts/index.js +21 -0
- package/dist/index.d.ts +14 -14
- package/dist/index.js +20 -60
- package/dist/prices/Oracle.interface.d.ts +9 -0
- package/dist/prices/Oracle.interface.js +2 -0
- package/dist/prices/Prices.d.ts +5 -3
- package/dist/prices/Prices.js +13 -3
- package/dist/prices/PricesCollector.d.ts +17 -7
- package/dist/prices/PricesCollector.js +67 -51
- package/dist/prices/PythCollector.d.ts +22 -0
- package/dist/prices/PythCollector.js +217 -0
- package/dist/prices/Types.d.ts +17 -1
- package/dist/prices/Types.js +8 -1
- package/dist/prices/index.d.ts +4 -3
- package/dist/prices/index.js +4 -3
- package/dist/prices/sources/Backend.d.ts +5 -4
- package/dist/prices/sources/Backend.js +16 -13
- package/dist/prices/sources/Icp.d.ts +2 -1
- package/dist/prices/sources/Icp.js +12 -9
- package/dist/prices/sources/PriceSource.d.ts +7 -6
- package/dist/prices/utils.d.ts +10 -8
- package/dist/prices/utils.js +32 -46
- package/dist/types/Master.d.ts +10 -30
- package/dist/types/Master.js +3 -0
- package/dist/utils/userJettonWallet.js +0 -8
- package/dist/utils/utils.d.ts +8 -1
- package/dist/utils/utils.js +31 -2
- package/package.json +4 -3
- package/src/api/feeds.ts +90 -0
- package/src/api/liquidation.ts +1 -1
- package/src/api/math.ts +1 -1
- package/src/api/parser.ts +100 -38
- package/src/api/parsers/AbstractOracleParser.ts +16 -0
- package/src/api/parsers/ClassicOracleParser.ts +20 -0
- package/src/api/parsers/PythOracleParser.ts +34 -0
- package/src/api/parsers/index.ts +3 -0
- package/src/api/prices.ts +32 -41
- package/src/constants/assets/assetId.ts +30 -0
- package/src/constants/assets/index.ts +3 -0
- package/src/constants/{assets.ts → assets/mainnet.ts} +27 -94
- package/src/constants/assets/testnet.ts +74 -0
- package/src/constants/general/index.ts +91 -0
- package/src/constants/{general.ts → general/mainnet.ts} +48 -72
- package/src/constants/general/testnet.ts +25 -0
- package/src/constants/index.ts +3 -0
- package/src/constants/pools/index.ts +2 -0
- package/src/constants/pools/mainnet.ts +218 -0
- package/src/constants/pools/testnet.ts +75 -0
- package/src/contracts/AbstractMaster.ts +450 -0
- package/src/contracts/ClassicMaster.ts +149 -0
- package/src/contracts/PythMaster.ts +313 -0
- package/src/contracts/UserContract.ts +7 -28
- package/src/contracts/index.ts +7 -0
- package/src/index.ts +18 -85
- package/src/prices/Oracle.interface.ts +18 -0
- package/src/prices/Prices.ts +17 -4
- package/src/prices/PricesCollector.ts +91 -68
- package/src/prices/PythCollector.ts +294 -0
- package/src/prices/Types.ts +28 -6
- package/src/prices/index.ts +4 -3
- package/src/prices/sources/Backend.ts +21 -19
- package/src/prices/sources/Icp.ts +13 -10
- package/src/prices/sources/PriceSource.ts +6 -5
- package/src/prices/utils.ts +65 -68
- package/src/types/Master.ts +29 -52
- package/src/types/User.ts +15 -7
- package/src/utils/userJettonWallet.ts +0 -8
- package/src/utils/utils.ts +41 -2
- package/dist/constants/general.d.ts +0 -67
- package/dist/constants/pools.d.ts +0 -13
- package/dist/constants/pools.js +0 -120
- package/dist/contracts/MasterContract.d.ts +0 -156
- package/dist/contracts/MasterContract.js +0 -260
- package/src/constants/pools.ts +0 -175
- package/src/contracts/MasterContract.ts +0 -410
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Address, Dictionary, Slice } from '@ton/core';
|
|
2
|
+
import { AbstractOracleParser } from './AbstractOracleParser';
|
|
3
|
+
|
|
4
|
+
export type OracleConfig = {
|
|
5
|
+
pythAddress: Address;
|
|
6
|
+
// FYI: The Pyth max feeds count is 7, but it can add more in the future
|
|
7
|
+
feedsMap: Dictionary<bigint, Buffer>;
|
|
8
|
+
allowedRefTokens: Dictionary<bigint, bigint>;
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export type PythOracleInfo = OracleConfig & {
|
|
12
|
+
pricesTtl: number;
|
|
13
|
+
pythComputeBaseGas: bigint;
|
|
14
|
+
pythComputePerUpdateGas: bigint;
|
|
15
|
+
pythSingleUpdateFee: bigint;
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export class PythOracleParser extends AbstractOracleParser {
|
|
19
|
+
parseOracleConfig(masterConfigSlice: Slice): PythOracleInfo {
|
|
20
|
+
const oraclesSlice = masterConfigSlice.loadRef().beginParse();
|
|
21
|
+
const feedDataCell = oraclesSlice.loadRef();
|
|
22
|
+
const feedDataSlice = feedDataCell.beginParse();
|
|
23
|
+
|
|
24
|
+
return {
|
|
25
|
+
pythAddress: oraclesSlice.loadAddress(),
|
|
26
|
+
feedsMap: feedDataSlice.loadDict(Dictionary.Keys.BigUint(256), Dictionary.Values.Buffer(64)),
|
|
27
|
+
allowedRefTokens: feedDataSlice.loadDict(Dictionary.Keys.BigUint(256), Dictionary.Values.BigUint(256)),
|
|
28
|
+
pricesTtl: oraclesSlice.loadUint(32),
|
|
29
|
+
pythComputeBaseGas: oraclesSlice.loadUintBig(64),
|
|
30
|
+
pythComputePerUpdateGas: oraclesSlice.loadUintBig(64),
|
|
31
|
+
pythSingleUpdateFee: oraclesSlice.loadUintBig(64),
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
}
|
package/src/api/prices.ts
CHANGED
|
@@ -1,10 +1,35 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { HexString } from '@pythnetwork/hermes-client';
|
|
2
|
+
import { createCellChain } from '@pythnetwork/pyth-ton-js';
|
|
3
|
+
import { Cell } from '@ton/core';
|
|
4
|
+
import { beginCell } from '@ton/ton';
|
|
5
|
+
import { Buffer } from 'buffer';
|
|
6
|
+
|
|
7
|
+
export function composeFeedsCell(feeds: HexString[]): Cell {
|
|
8
|
+
if (feeds.length === 0) {
|
|
9
|
+
return beginCell().storeUint(0, 8).endCell();
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
const reversedTail = feeds.slice(1).reverse();
|
|
13
|
+
const packedTail = reversedTail.reduce((prev: Cell | null, curr) => {
|
|
14
|
+
const builder = beginCell().storeUint(BigInt(curr), 256);
|
|
15
|
+
if (prev !== null) builder.storeRef(prev);
|
|
16
|
+
return builder.endCell();
|
|
17
|
+
}, null);
|
|
18
|
+
const firstFeed = feeds[0];
|
|
19
|
+
const builder = beginCell().storeUint(feeds.length, 8).storeUint(BigInt(firstFeed), 256);
|
|
20
|
+
if (packedTail !== null) {
|
|
21
|
+
builder.storeRef(packedTail!);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
return builder.endCell();
|
|
25
|
+
}
|
|
4
26
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
27
|
+
export function packPythUpdatesData(pythUpdates: Buffer | Cell): Cell {
|
|
28
|
+
return pythUpdates instanceof Cell ? pythUpdates : createCellChain(pythUpdates);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/*
|
|
32
|
+
old code:
|
|
8
33
|
export async function getPrices(endpoints: string[] = ["api.stardust-mainnet.iotaledger.net"], poolConfig: PoolConfig = MAINNET_POOL_CONFIG): Promise<PriceData> {
|
|
9
34
|
if (endpoints.length == 0) {
|
|
10
35
|
throw new Error("Empty endpoint list");
|
|
@@ -19,39 +44,5 @@ export async function getPrices(endpoints: string[] = ["api.stardust-mainnet.iot
|
|
|
19
44
|
const prices = await priceCollector.getPrices();
|
|
20
45
|
|
|
21
46
|
return { dict: prices.dict, dataCell: prices.dataCell };
|
|
22
|
-
/*
|
|
23
|
-
Old code
|
|
24
|
-
const prices = await Promise.all(poolConfig.oracles.map(async x => await parsePrices(await loadPrices(x.address, endpoints), x.id)));
|
|
25
|
-
|
|
26
|
-
let acceptedPrices: RawPriceData[] = prices.filter(verifyPrices(poolConfig.poolAssetsConfig));
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
if (acceptedPrices.length < poolConfig.minimalOracles) {
|
|
30
|
-
throw new Error("Prices are outdated");
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
if (acceptedPrices.length > poolConfig.minimalOracles && acceptedPrices.length % 2 == 0) {
|
|
34
|
-
acceptedPrices = acceptedPrices.slice(0, acceptedPrices.length - 1); // to reduce fees, MINIMAL_ORACLES_NUMBER is odd
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
if (acceptedPrices.length != poolConfig.minimalOracles) {
|
|
38
|
-
const sortedByTimestamp = acceptedPrices.slice().sort((a, b) => b.timestamp - a.timestamp);
|
|
39
|
-
const newerPrices = sortedByTimestamp.slice(0, poolConfig.minimalOracles);
|
|
40
|
-
acceptedPrices = newerPrices.sort((a, b) => a.oracleId - b.oracleId);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
const medianData = poolConfig.poolAssetsConfig.map(asset => ({ assetId: asset.assetId, medianPrice: getMedianPrice(acceptedPrices, asset.assetId)}));
|
|
45
|
-
const packedMedianData = packAssetsData(medianData);
|
|
46
|
-
|
|
47
|
-
const oraclesData = acceptedPrices.map(x => ({oracle: {id: x.oracleId, pubkey: x.pubkey}, data: {timestamp: x.timestamp, prices: x.dict}, signature: x.signature}));
|
|
48
|
-
const packedOracleData = packOraclesData(oraclesData, poolConfig.poolAssetsConfig.map(x => x.assetId));
|
|
49
|
-
|
|
50
|
-
const dict = Dictionary.empty<bigint, bigint>();
|
|
51
|
-
medianData.forEach(x => dict.set(x.assetId, x.medianPrice));
|
|
52
|
-
|
|
53
|
-
return {
|
|
54
|
-
dict: dict,
|
|
55
|
-
dataCell: packPrices(packedMedianData, packedOracleData)
|
|
56
|
-
};*/
|
|
57
47
|
}
|
|
48
|
+
*/
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { sha256Hash } from '../../utils/sha256BigInt';
|
|
2
|
+
|
|
3
|
+
export const ASSET_ID = {
|
|
4
|
+
TON: sha256Hash('TON'),
|
|
5
|
+
USDT: sha256Hash('USDT'),
|
|
6
|
+
jUSDT: sha256Hash('jUSDT'),
|
|
7
|
+
jUSDC: sha256Hash('jUSDC'),
|
|
8
|
+
stTON: sha256Hash('stTON'),
|
|
9
|
+
tsTON: sha256Hash('tsTON'),
|
|
10
|
+
tgBTC: sha256Hash('tgBTC'),
|
|
11
|
+
USDe: sha256Hash('USDe'),
|
|
12
|
+
tsUSDe: sha256Hash('tsUSDe'),
|
|
13
|
+
PT_tsUSDe_01Sep2025: sha256Hash('PT_tsUSDe_01Sep2025'),
|
|
14
|
+
|
|
15
|
+
// LP
|
|
16
|
+
TONUSDT_DEDUST: sha256Hash('TONUSDT_DEDUST'),
|
|
17
|
+
TONUSDT_STONFI: sha256Hash('TONUSDT_STONFI'),
|
|
18
|
+
TON_STORM: sha256Hash('TON_STORM'),
|
|
19
|
+
USDT_STORM: sha256Hash('USDT_STORM'),
|
|
20
|
+
|
|
21
|
+
// ALTS
|
|
22
|
+
NOT: sha256Hash('NOT'),
|
|
23
|
+
DOGS: sha256Hash('DOGS'),
|
|
24
|
+
CATI: sha256Hash('CATI'),
|
|
25
|
+
STON: sha256Hash('STON'),
|
|
26
|
+
|
|
27
|
+
// Testnet assets, faucet t.me/evaabuidl
|
|
28
|
+
EUSDT: sha256Hash('EUSDT'),
|
|
29
|
+
EUSDC: sha256Hash('EUSDC'),
|
|
30
|
+
};
|
|
@@ -1,35 +1,7 @@
|
|
|
1
1
|
import { Address, Cell } from '@ton/core';
|
|
2
|
-
import { PoolAssetConfig } from '
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
export const ASSET_ID = {
|
|
7
|
-
TON: sha256Hash('TON'),
|
|
8
|
-
USDT: sha256Hash('USDT'),
|
|
9
|
-
jUSDT: sha256Hash('jUSDT'),
|
|
10
|
-
jUSDC: sha256Hash('jUSDC'),
|
|
11
|
-
stTON: sha256Hash('stTON'),
|
|
12
|
-
tsTON: sha256Hash('tsTON'),
|
|
13
|
-
uTON: sha256Hash('uTON'),
|
|
14
|
-
tgBTC: sha256Hash('tgBTC'),
|
|
15
|
-
USDe: sha256Hash('USDe'),
|
|
16
|
-
tsUSDe: sha256Hash('tsUSDe'),
|
|
17
|
-
PT_tsUSDe_01Sep2025: sha256Hash('PT_tsUSDe_01Sep2025'),
|
|
18
|
-
|
|
19
|
-
// LP
|
|
20
|
-
TONUSDT_DEDUST: sha256Hash('TONUSDT_DEDUST'),
|
|
21
|
-
TONUSDT_STONFI: sha256Hash('TONUSDT_STONFI'),
|
|
22
|
-
TON_STORM: sha256Hash('TON_STORM'),
|
|
23
|
-
USDT_STORM: sha256Hash('USDT_STORM'),
|
|
24
|
-
|
|
25
|
-
// ALTS
|
|
26
|
-
NOT: sha256Hash('NOT'),
|
|
27
|
-
DOGS: sha256Hash('DOGS'),
|
|
28
|
-
CATI: sha256Hash('CATI'),
|
|
29
|
-
|
|
30
|
-
// Testnet assets
|
|
31
|
-
EUSDT: sha256Hash('EUSDT'),
|
|
32
|
-
};
|
|
2
|
+
import { PoolAssetConfig } from '../../types/Master';
|
|
3
|
+
import { JETTON_WALLET_STANDART_CODE, NULL_ADDRESS } from '../general';
|
|
4
|
+
import { ASSET_ID } from './assetId';
|
|
33
5
|
|
|
34
6
|
export const UNDEFINED_ASSET: PoolAssetConfig = {
|
|
35
7
|
name: 'undefined_asset',
|
|
@@ -44,7 +16,6 @@ export const TON_MAINNET: PoolAssetConfig = {
|
|
|
44
16
|
jettonMasterAddress: NULL_ADDRESS, // fake
|
|
45
17
|
jettonWalletCode: Cell.EMPTY,
|
|
46
18
|
};
|
|
47
|
-
export const TON_TESTNET = TON_MAINNET;
|
|
48
19
|
|
|
49
20
|
export const JUSDT_MAINNET: PoolAssetConfig = {
|
|
50
21
|
name: 'jUSDT',
|
|
@@ -90,32 +61,6 @@ export const USDT_MAINNET: PoolAssetConfig = {
|
|
|
90
61
|
)[0],
|
|
91
62
|
};
|
|
92
63
|
|
|
93
|
-
export const JUSDT_TESTNET: PoolAssetConfig = {
|
|
94
|
-
name: 'jUSDT',
|
|
95
|
-
assetId: ASSET_ID.jUSDT,
|
|
96
|
-
jettonMasterAddress: Address.parse('kQBe4gtSQMxM5RpMYLr4ydNY72F8JkY-icZXG1NJcsju8XM7'),
|
|
97
|
-
jettonWalletCode: JETTON_WALLET_STANDART_CODE_TESTNET,
|
|
98
|
-
};
|
|
99
|
-
|
|
100
|
-
export const JUSDC_TESTNET: PoolAssetConfig = {
|
|
101
|
-
name: 'jUSDC',
|
|
102
|
-
assetId: ASSET_ID.jUSDC,
|
|
103
|
-
jettonMasterAddress: Address.parse('kQDaY5yUatYnHei73HBqRX_Ox9LK2XnR7XuCY9MFC2INbfYI'),
|
|
104
|
-
jettonWalletCode: JETTON_WALLET_STANDART_CODE_TESTNET,
|
|
105
|
-
};
|
|
106
|
-
|
|
107
|
-
export const STTON_TESTNET: PoolAssetConfig = {
|
|
108
|
-
name: 'stTON',
|
|
109
|
-
assetId: ASSET_ID.stTON,
|
|
110
|
-
jettonMasterAddress: Address.parse('kQC3Duw3dg8k98xf5S7Bm7YOWVJ5QW8hm3iLqFfJfa_g9h07'),
|
|
111
|
-
jettonWalletCode: Cell.fromBoc(
|
|
112
|
-
Buffer.from(
|
|
113
|
-
'b5ee9c7201021201000362000114ff00f4a413f4bcf2c80b0102016202030202cc0405001ba0f605da89a1f401f481f481a8610201d40607020120090a01cf0831c02497c138007434c0c05c6c2544d7c0fc03383e903e900c7e800c5c75c87e800c7e800c1cea6d0000b4c7c8608403e29fa96ea54c4d167c027808608405e351466ea58c511100fc02b80860841657c1ef2ea54c4d167c02f80517c1300138c08c2103fcbc200800113e910c30003cb85360007ced44d0fa00fa40fa40d43010235f03018208989680a16d801072226eb32091719170e203c8cb055006cf165004fa02cb6a039358cc019130e201c901fb000201200b0c0081d40106b90f6a2687d007d207d206a1802698f90c1080bc6a28cdd0141083deecbef5d0958f97064699f98fd001809d02811e428027d012c678b00e78b6664f6aa401f1503d33ffa00fa4021f001ed44d0fa00fa40fa40d4305136a1522ac705f2e2c128c2fff2e2c254344270542013541403c85004fa0258cf1601cf16ccc922c8cb0112f400f400cb00c920f9007074c8cb02ca07cbffc9d004fa40f40431fa0020d749c200f2e2c4778018c8cb055008cf1670fa0217cb6b13cc80d0201200e0f009e8210178d4519c8cb1f19cb3f5007fa0222cf165006cf1625fa025003cf16c95005cc2391729171e25008a813a0820a625a00a014bcf2e2c504c98040fb001023c85004fa0258cf1601cf16ccc9ed5402f73b51343e803e903e90350c0234cffe80145468017e903e9014d6f1c1551cdb5c150804d50500f214013e809633c58073c5b33248b232c044bd003d0032c0327e401c1d3232c0b281f2fff274140371c1472c7cb8b0c2be80146a2860822625a019ad8228608239387028062849e5c412440e0dd7c138c34975c2c060101100c90c3b51343e803e903e90350c01b4cffe800c145128548df1c17cb8b04970bffcb8b0812082e4e1c02fbcb8b160841ef765f7b232c7c532cfd63e808873c5b25c60063232c14933c59c3e80b2dab33260103ec01004f214013e809633c58073c5b3327b552000705279a018a182107362d09cc8cb1f5230cb3f58fa025007cf165007cf16c9718010c8cb0524cf165006fa0215cb6a14ccc971fb0010241023007cc30023c200b08e218210d53276db708010c8cb055008cf165004fa0216cb6a12cb1f12cb3fc972fb0093356c21e203c85004fa0258cf1601cf16ccc9ed54',
|
|
114
|
-
'hex',
|
|
115
|
-
),
|
|
116
|
-
)[0],
|
|
117
|
-
};
|
|
118
|
-
|
|
119
64
|
export const TONUSDT_DEDUST_MAINNET: PoolAssetConfig = {
|
|
120
65
|
name: 'TONUSDT_DEDUST',
|
|
121
66
|
assetId: ASSET_ID.TONUSDT_DEDUST,
|
|
@@ -188,42 +133,6 @@ export const NOT_MAINNET: PoolAssetConfig = {
|
|
|
188
133
|
)[0],
|
|
189
134
|
};
|
|
190
135
|
|
|
191
|
-
export const UTON_MAINNET: PoolAssetConfig = {
|
|
192
|
-
name: 'uTON',
|
|
193
|
-
assetId: ASSET_ID.uTON,
|
|
194
|
-
jettonMasterAddress: Address.parse('EQAfF5j3JMIpZlLmACv7Ub7RH7WmiVMuV4ivcgNYHvNnqHTz'),
|
|
195
|
-
jettonWalletCode: Cell.fromBoc(
|
|
196
|
-
Buffer.from(
|
|
197
|
-
'b5ee9c7201021301000439000114ff00f4a413f4bcf2c80b0102016202030202cc0405020120111200bbd906380492f827000e8698180b8d84a89af81f807707d207d2018fd0018b8eb90fd0018fd001801698f90c10807c53f52dd4a989a2cf805f010c1080bc6a28cdd4b18a22201f8067000c1082caf83de5d4aa22201f806f02f82c207f9784020120060701f7f01e99ffd007d20381140816000fd23182c5d797a76a2687d00699ffd207d206a18027c30817c317c31fc327c32fc2091d0fc30fc21a8036382f97160fc20e17ff971617c227c22b82a300209aa0a82e42802fd0109e59f80e78b00e78b666490e4658089fa00097a00658064907c80383a6465816503e5ffe4e802c080201200a0b01fefa40f40431fa0020d749c200f2e2c4778018c8cb055009cf1670fa0218cb6b13cc8210178d4519c8cb1f15cb3f5003fa02f843cf1658cf1621fa025004cf16c901cc2291729171e25004a812a08208989680a08208989680a08208989680a0bcf2e2c5f841f842f843f844f845c85005fa0213cb3f01cf1601cf16ccc9ed5409000ac98040fb000201200c0d00b948020d721ed44d0fa00d33ffa40fa40d43004f86102f862f863f864f865d31f218210178d4519ba0282107bdd97deba12b1f2e2c5d33f31fa0030f84101a0f861f841f842f843f844f845c85005fa0213cb3f01cf1601cf16ccc9ed54801f53b51343e8034cffe903e90350c013e1840be18be18fe193e194134cffe803e1048a83e187e903e903e113e1149165c15180104d505417214017e8084f2cfc073c58073c5b332487232c044fd0004bd0032c0327e401c1d3232c0b281f2fff2740a31c17e11140271c1462c7cb8b0c1be80145a2860822625a019a00e01f73b51343e8034cffe903e90350c013e1840be18be18fe193e194134cffe803e903d010c1c0060083d03dbe87cb8b13434c7fe80204c0048b0803cbd350c3e10be10a93e18be1049a87e187e10d402b1c17cb8b07e1070bffcb8b0945e6860822625a019ad82284820822625a0281401e820822625a028086814a42f201001f2b608a18208989680a018a1278e355275a014a182107362d09cc8cb1f5230cb3f58fa025003cf165003cf16c9718018c8cb05f843cf165006fa0215cb6a14ccc971fb0094375b6c21e221d70b01c30023c200b08e208210d53276db708010c8cb055004cf165004fa0212cb6a12cb1fcb3fc972fb00925f03e20f0038f841f842f843f844f845c85005fa0213cb3f01cf1601cf16ccc9ed5400c0f2e2c5058208989680a018a1f841f842f843f844f845c85005fa0213cb3f01cf1601cf16ccc9ed5482107bdd97dec8cb1f14cb3ff843cf1616cb3f01fa0215cb1f5003cf1658fa02ccc9718018c8cb05f844cf165003fa0212cb6accc970fb000047bfd8176a2687d00699ffd207d206a18027c30817c317c31fc327c32fc20fc21fc227c22c004bbdd79f6a2687d00699ffd207d206a18027c30817c317c31fc327c32fc20fc217c21fc227c22c',
|
|
198
|
-
'hex',
|
|
199
|
-
),
|
|
200
|
-
)[0],
|
|
201
|
-
};
|
|
202
|
-
|
|
203
|
-
export const TGBTC_TESTNET: PoolAssetConfig = {
|
|
204
|
-
name: 'tgBTC',
|
|
205
|
-
assetId: ASSET_ID.tgBTC,
|
|
206
|
-
jettonMasterAddress: Address.parse('kQDoy1cUAbGq253vwfoPcqSloODVAWkDBniR12PJFUHnK6Yf'),
|
|
207
|
-
jettonWalletCode: Cell.fromBoc(
|
|
208
|
-
Buffer.from(
|
|
209
|
-
'b5ee9c72010210010003ac000114ff00f4a413f4bcf2c80b01020162020302f8d001d0d3030171b08e48135f038020d721ed44d0d303fa00fa40fa40d104d31f01840f218210178d4519ba0282107bdd97deba12b1f2f48040d721fa003012a0401303c8cb0358fa0201cf1601cf16c9ed54e0fa40fa4031fa0031f401fa0031fa00013170f83a02d31f012082100f8a7ea5ba8e85303459db3ce03304050201200e0f01f603d33f0101fa00fa4021fa4430c000f2e14ded44d0d303fa00fa40fa40d1521ac705f2e0495115a120c2fff2aff82a54259070546004131503c8cb0358fa0201cf1601cf16c921c8cb0113f40012f400cb00c920f9007074c8cb02ca07cbffc9d004fa40f401fa002020d70b009ad74bc00101c001b0f2b19130e206025c228210178d4519ba8e84325adb3ce034218210595f07bcba8e843101db3ce0135f038210d372158cbadc840ff2f008090174c88210178d451901cb1f500a01cb3f5008fa0223cf1601cf1626fa025007cf16c9c8801801cb055004cf1670fa024063775003cb6bccccc945370700bc2191729171e2f839206e938123289120e2216e94318127109101e2f82f5005a05023a812a0738103a370f83ca00170f836a00170f836a07381040982100966018070f837a0bcf2b0048050fb005803c8cb0358fa0201cf1601cf16c9ed5403e6ed44d0d303fa00fa40fa40d107d33f0101fa005141a004fa40fa4053bac705f82a5464e070546004131503c8cb0358fa0201cf1601cf16c921c8cb0113f40012f400cb00c9f9007074c8cb02ca07cbffc9d0500cc7051bb1f2e04a09fa0021925f04e30d26d70b01c000b393306c33e30d55020a0b0c01d2ed44d0d303fa00fa40fa40d106d33f0101fa00fa40f404d120206ef271d0d74bc000018100f8beb0f2b15152a15249c705f2e04927c2fff2afc882107bdd97de01cb1f500301cb3f01fa0222cf1601cf1612f400c9c8801801cb0526cf1670fa02017158cb6accc9030d0060c882107362d09c01cb1f2501cb3f5004fa0258cf1658cf16c9c8801001cb0524cf1658fa02017158cb6accc98011fb00007a5054a1f82fa07381040982100966018070f837b60972fb02c8801001cb055005cf1670fa027001cb6a8210d53276db01cb1f5801cb3fc9810082fb0059002003c8cb0358fa0201cf1601cf16c9ed54006cf839206e9430811770de728106f170f8380170f836a0811b5870f836a0bcf2b0028050fb000303c8cb0358fa0201cf1601cf16c9ed540027bfd8176a2686981fd007d207d206899fc15209840021bc508f6a2686981fd007d207d2068af81c',
|
|
210
|
-
'hex',
|
|
211
|
-
),
|
|
212
|
-
)[0],
|
|
213
|
-
};
|
|
214
|
-
|
|
215
|
-
export const EUSDT_TESTNET: PoolAssetConfig = {
|
|
216
|
-
name: 'EUSDT',
|
|
217
|
-
assetId: ASSET_ID.EUSDT,
|
|
218
|
-
jettonMasterAddress: Address.parse('kQBe4gtSQMxM5RpMYLr4ydNY72F8JkY-icZXG1NJcsju8XM7'),
|
|
219
|
-
jettonWalletCode: Cell.fromBoc(
|
|
220
|
-
Buffer.from(
|
|
221
|
-
'b5ee9c7201021101000323000114ff00f4a413f4bcf2c80b0102016202030202cc0405001ba0f605da89a1f401f481f481a8610201d40607020120080900c30831c02497c138007434c0c05c6c2544d7c0fc03383e903e900c7e800c5c75c87e800c7e800c1cea6d0000b4c7e08403e29fa954882ea54c4d167c0278208405e3514654882ea58c511100fc02b80d60841657c1ef2ea4d67c02f817c12103fcbc2000113e910c1c2ebcb853600201200a0b0083d40106b90f6a2687d007d207d206a1802698fc1080bc6a28ca9105d41083deecbef09dd0958f97162e99f98fd001809d02811e428027d012c678b00e78b6664f6aa401f1503d33ffa00fa4021f001ed44d0fa00fa40fa40d4305136a1522ac705f2e2c128c2fff2e2c254344270542013541403c85004fa0258cf1601cf16ccc922c8cb0112f400f400cb00c920f9007074c8cb02ca07cbffc9d004fa40f40431fa0020d749c200f2e2c4778018c8cb055008cf1670fa0217cb6b13cc80c0201200d0e009e8210178d4519c8cb1f19cb3f5007fa0222cf165006cf1625fa025003cf16c95005cc2391729171e25008a813a08209c9c380a014bcf2e2c504c98040fb001023c85004fa0258cf1601cf16ccc9ed5402f73b51343e803e903e90350c0234cffe80145468017e903e9014d6f1c1551cdb5c150804d50500f214013e809633c58073c5b33248b232c044bd003d0032c0327e401c1d3232c0b281f2fff274140371c1472c7cb8b0c2be80146a2860822625a019ad822860822625a028062849e5c412440e0dd7c138c34975c2c0600f1000d73b51343e803e903e90350c01f4cffe803e900c145468549271c17cb8b049f0bffcb8b08160824c4b402805af3cb8b0e0841ef765f7b232c7c572cfd400fe8088b3c58073c5b25c60063232c14933c59c3e80b2dab33260103ec01004f214013e809633c58073c5b3327b552000705279a018a182107362d09cc8cb1f5230cb3f58fa025007cf165007cf16c9718010c8cb0524cf165006fa0215cb6a14ccc971fb0010241023007cc30023c200b08e218210d53276db708010c8cb055008cf165004fa0216cb6a12cb1f12cb3fc972fb0093356c21e203c85004fa0258cf1601cf16ccc9ed54',
|
|
222
|
-
'hex',
|
|
223
|
-
),
|
|
224
|
-
)[0],
|
|
225
|
-
};
|
|
226
|
-
|
|
227
136
|
export const USDE_MAINNET: PoolAssetConfig = {
|
|
228
137
|
name: 'USDe',
|
|
229
138
|
assetId: ASSET_ID.USDe,
|
|
@@ -259,3 +168,27 @@ export const PT_tsUSDe_01Sep2025_MAINNET: PoolAssetConfig = {
|
|
|
259
168
|
),
|
|
260
169
|
)[0],
|
|
261
170
|
};
|
|
171
|
+
|
|
172
|
+
export const TONUSDT_STONFI_MAINNET: PoolAssetConfig = {
|
|
173
|
+
name: 'TONUSDT_STONFI',
|
|
174
|
+
assetId: ASSET_ID.TONUSDT_STONFI,
|
|
175
|
+
jettonMasterAddress: Address.parse('EQCGScrZe1xbyWqWDvdI6mzP-GAcAWFv6ZXuaJOuSqemxku4'),
|
|
176
|
+
jettonWalletCode: Cell.fromBoc(
|
|
177
|
+
Buffer.from(
|
|
178
|
+
'b5ee9c7201010101002300084202c00836440d084e44fb94316132ac5a21417ef4f429ee09b5560b5678b334c3e8',
|
|
179
|
+
'hex',
|
|
180
|
+
),
|
|
181
|
+
)[0],
|
|
182
|
+
};
|
|
183
|
+
|
|
184
|
+
export const STON_MAINNET: PoolAssetConfig = {
|
|
185
|
+
name: 'STON',
|
|
186
|
+
assetId: ASSET_ID.STON,
|
|
187
|
+
jettonMasterAddress: Address.parse('EQA2kCVNwVsil2EM2mB0SkXytxCqQjS4mttjDpnXmwG9T6bO'),
|
|
188
|
+
jettonWalletCode: Cell.fromBoc(
|
|
189
|
+
Buffer.from(
|
|
190
|
+
'b5ee9c7201021201000334000114ff00f4a413f4bcf2c80b0102016202030202cc0405001ba0f605da89a1f401f481f481a8610201d40607020148080900c30831c02497c138007434c0c05c6c2544d7c0fc02f83e903e900c7e800c5c75c87e800c7e800c1cea6d0000b4c7e08403e29fa954882ea54c4d167c0238208405e3514654882ea58c511100fc02780d60841657c1ef2ea4d67c02b817c12103fcbc2000113e910c1c2ebcb853600201200a0b020120101101f100f4cffe803e90087c007b51343e803e903e90350c144da8548ab1c17cb8b04a30bffcb8b0950d109c150804d50500f214013e809633c58073c5b33248b232c044bd003d0032c032483e401c1d3232c0b281f2fff274013e903d010c7e800835d270803cb8b11de0063232c1540233c59c3e8085f2dac4f3200c03f73b51343e803e903e90350c0234cffe80145468017e903e9014d6f1c1551cdb5c150804d50500f214013e809633c58073c5b33248b232c044bd003d0032c0327e401c1d3232c0b281f2fff274140371c1472c7cb8b0c2be80146a2860822625a020822625a004ad8228608239387028062849f8c3c975c2c070c008e00d0e0f00ae8210178d4519c8cb1f19cb3f5007fa0222cf165006cf1625fa025003cf16c95005cc2391729171e25008a813a08208e4e1c0aa008208989680a0a014bcf2e2c504c98040fb001023c85004fa0258cf1601cf16ccc9ed5400705279a018a182107362d09cc8cb1f5230cb3f58fa025007cf165007cf16c9718010c8cb0524cf165006fa0215cb6a14ccc971fb0010241023000e10491038375f040076c200b08e218210d53276db708010c8cb055008cf165004fa0216cb6a12cb1f12cb3fc972fb0093356c21e203c85004fa0258cf1601cf16ccc9ed5400db3b51343e803e903e90350c01f4cffe803e900c145468549271c17cb8b049f0bffcb8b0a0823938702a8005a805af3cb8b0e0841ef765f7b232c7c572cfd400fe8088b3c58073c5b25c60063232c14933c59c3e80b2dab33260103ec01004f214013e809633c58073c5b3327b55200083200835c87b51343e803e903e90350c0134c7e08405e3514654882ea0841ef765f784ee84ac7cb8b174cfcc7e800c04e81408f214013e809633c58073c5b3327b5520',
|
|
191
|
+
'hex',
|
|
192
|
+
),
|
|
193
|
+
)[0],
|
|
194
|
+
};
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { Address, Cell } from '@ton/core';
|
|
2
|
+
import { PoolAssetConfig } from '../../types/Master';
|
|
3
|
+
import { ASSET_ID } from '../assets';
|
|
4
|
+
import { JETTON_WALLET_STANDART_CODE_TESTNET, NULL_ADDRESS } from '../general';
|
|
5
|
+
|
|
6
|
+
export const TON_TESTNET: PoolAssetConfig = {
|
|
7
|
+
name: 'TON',
|
|
8
|
+
assetId: ASSET_ID.TON,
|
|
9
|
+
jettonMasterAddress: NULL_ADDRESS, // fake
|
|
10
|
+
jettonWalletCode: Cell.EMPTY,
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export const JUSDT_TESTNET: PoolAssetConfig = {
|
|
14
|
+
name: 'jUSDT',
|
|
15
|
+
assetId: ASSET_ID.jUSDT,
|
|
16
|
+
jettonMasterAddress: Address.parse('kQBe4gtSQMxM5RpMYLr4ydNY72F8JkY-icZXG1NJcsju8XM7'),
|
|
17
|
+
jettonWalletCode: JETTON_WALLET_STANDART_CODE_TESTNET,
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
export const JUSDC_TESTNET: PoolAssetConfig = {
|
|
21
|
+
name: 'jUSDC',
|
|
22
|
+
assetId: ASSET_ID.jUSDC,
|
|
23
|
+
jettonMasterAddress: Address.parse('kQDaY5yUatYnHei73HBqRX_Ox9LK2XnR7XuCY9MFC2INbfYI'),
|
|
24
|
+
jettonWalletCode: JETTON_WALLET_STANDART_CODE_TESTNET,
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
export const STTON_TESTNET: PoolAssetConfig = {
|
|
28
|
+
name: 'stTON',
|
|
29
|
+
assetId: ASSET_ID.stTON,
|
|
30
|
+
jettonMasterAddress: Address.parse('kQC3Duw3dg8k98xf5S7Bm7YOWVJ5QW8hm3iLqFfJfa_g9h07'),
|
|
31
|
+
jettonWalletCode: Cell.fromBoc(
|
|
32
|
+
Buffer.from(
|
|
33
|
+
'b5ee9c7201021201000362000114ff00f4a413f4bcf2c80b0102016202030202cc0405001ba0f605da89a1f401f481f481a8610201d40607020120090a01cf0831c02497c138007434c0c05c6c2544d7c0fc03383e903e900c7e800c5c75c87e800c7e800c1cea6d0000b4c7c8608403e29fa96ea54c4d167c027808608405e351466ea58c511100fc02b80860841657c1ef2ea54c4d167c02f80517c1300138c08c2103fcbc200800113e910c30003cb85360007ced44d0fa00fa40fa40d43010235f03018208989680a16d801072226eb32091719170e203c8cb055006cf165004fa02cb6a039358cc019130e201c901fb000201200b0c0081d40106b90f6a2687d007d207d206a1802698f90c1080bc6a28cdd0141083deecbef5d0958f97064699f98fd001809d02811e428027d012c678b00e78b6664f6aa401f1503d33ffa00fa4021f001ed44d0fa00fa40fa40d4305136a1522ac705f2e2c128c2fff2e2c254344270542013541403c85004fa0258cf1601cf16ccc922c8cb0112f400f400cb00c920f9007074c8cb02ca07cbffc9d004fa40f40431fa0020d749c200f2e2c4778018c8cb055008cf1670fa0217cb6b13cc80d0201200e0f009e8210178d4519c8cb1f19cb3f5007fa0222cf165006cf1625fa025003cf16c95005cc2391729171e25008a813a0820a625a00a014bcf2e2c504c98040fb001023c85004fa0258cf1601cf16ccc9ed5402f73b51343e803e903e90350c0234cffe80145468017e903e9014d6f1c1551cdb5c150804d50500f214013e809633c58073c5b33248b232c044bd003d0032c0327e401c1d3232c0b281f2fff274140371c1472c7cb8b0c2be80146a2860822625a019ad8228608239387028062849e5c412440e0dd7c138c34975c2c060101100c90c3b51343e803e903e90350c01b4cffe800c145128548df1c17cb8b04970bffcb8b0812082e4e1c02fbcb8b160841ef765f7b232c7c532cfd63e808873c5b25c60063232c14933c59c3e80b2dab33260103ec01004f214013e809633c58073c5b3327b552000705279a018a182107362d09cc8cb1f5230cb3f58fa025007cf165007cf16c9718010c8cb0524cf165006fa0215cb6a14ccc971fb0010241023007cc30023c200b08e218210d53276db708010c8cb055008cf165004fa0216cb6a12cb1f12cb3fc972fb0093356c21e203c85004fa0258cf1601cf16ccc9ed54',
|
|
34
|
+
'hex',
|
|
35
|
+
),
|
|
36
|
+
)[0],
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
export const TGBTC_TESTNET: PoolAssetConfig = {
|
|
40
|
+
name: 'tgBTC',
|
|
41
|
+
assetId: ASSET_ID.tgBTC,
|
|
42
|
+
jettonMasterAddress: Address.parse('kQDoy1cUAbGq253vwfoPcqSloODVAWkDBniR12PJFUHnK6Yf'),
|
|
43
|
+
jettonWalletCode: Cell.fromBoc(
|
|
44
|
+
Buffer.from(
|
|
45
|
+
'b5ee9c72010210010003ac000114ff00f4a413f4bcf2c80b01020162020302f8d001d0d3030171b08e48135f038020d721ed44d0d303fa00fa40fa40d104d31f01840f218210178d4519ba0282107bdd97deba12b1f2f48040d721fa003012a0401303c8cb0358fa0201cf1601cf16c9ed54e0fa40fa4031fa0031f401fa0031fa00013170f83a02d31f012082100f8a7ea5ba8e85303459db3ce03304050201200e0f01f603d33f0101fa00fa4021fa4430c000f2e14ded44d0d303fa00fa40fa40d1521ac705f2e0495115a120c2fff2aff82a54259070546004131503c8cb0358fa0201cf1601cf16c921c8cb0113f40012f400cb00c920f9007074c8cb02ca07cbffc9d004fa40f401fa002020d70b009ad74bc00101c001b0f2b19130e206025c228210178d4519ba8e84325adb3ce034218210595f07bcba8e843101db3ce0135f038210d372158cbadc840ff2f008090174c88210178d451901cb1f500a01cb3f5008fa0223cf1601cf1626fa025007cf16c9c8801801cb055004cf1670fa024063775003cb6bccccc945370700bc2191729171e2f839206e938123289120e2216e94318127109101e2f82f5005a05023a812a0738103a370f83ca00170f836a00170f836a07381040982100966018070f837a0bcf2b0048050fb005803c8cb0358fa0201cf1601cf16c9ed5403e6ed44d0d303fa00fa40fa40d107d33f0101fa005141a004fa40fa4053bac705f82a5464e070546004131503c8cb0358fa0201cf1601cf16c921c8cb0113f40012f400cb00c9f9007074c8cb02ca07cbffc9d0500cc7051bb1f2e04a09fa0021925f04e30d26d70b01c000b393306c33e30d55020a0b0c01d2ed44d0d303fa00fa40fa40d106d33f0101fa00fa40f404d120206ef271d0d74bc000018100f8beb0f2b15152a15249c705f2e04927c2fff2afc882107bdd97de01cb1f500301cb3f01fa0222cf1601cf1612f400c9c8801801cb0526cf1670fa02017158cb6accc9030d0060c882107362d09c01cb1f2501cb3f5004fa0258cf1658cf16c9c8801001cb0524cf1658fa02017158cb6accc98011fb00007a5054a1f82fa07381040982100966018070f837b60972fb02c8801001cb055005cf1670fa027001cb6a8210d53276db01cb1f5801cb3fc9810082fb0059002003c8cb0358fa0201cf1601cf16c9ed54006cf839206e9430811770de728106f170f8380170f836a0811b5870f836a0bcf2b0028050fb000303c8cb0358fa0201cf1601cf16c9ed540027bfd8176a2686981fd007d207d206899fc15209840021bc508f6a2686981fd007d207d2068af81c',
|
|
46
|
+
'hex',
|
|
47
|
+
),
|
|
48
|
+
)[0],
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* @description faucet t.me/evaabuidl
|
|
53
|
+
*/
|
|
54
|
+
export const EUSDT_TESTNET: PoolAssetConfig = {
|
|
55
|
+
name: 'EUSDT',
|
|
56
|
+
assetId: ASSET_ID.EUSDT,
|
|
57
|
+
jettonMasterAddress: Address.parse('kQBe4gtSQMxM5RpMYLr4ydNY72F8JkY-icZXG1NJcsju8XM7'),
|
|
58
|
+
jettonWalletCode: Cell.fromBoc(
|
|
59
|
+
Buffer.from(
|
|
60
|
+
'b5ee9c7201021101000323000114ff00f4a413f4bcf2c80b0102016202030202cc0405001ba0f605da89a1f401f481f481a8610201d40607020120080900c30831c02497c138007434c0c05c6c2544d7c0fc03383e903e900c7e800c5c75c87e800c7e800c1cea6d0000b4c7e08403e29fa954882ea54c4d167c0278208405e3514654882ea58c511100fc02b80d60841657c1ef2ea4d67c02f817c12103fcbc2000113e910c1c2ebcb853600201200a0b0083d40106b90f6a2687d007d207d206a1802698fc1080bc6a28ca9105d41083deecbef09dd0958f97162e99f98fd001809d02811e428027d012c678b00e78b6664f6aa401f1503d33ffa00fa4021f001ed44d0fa00fa40fa40d4305136a1522ac705f2e2c128c2fff2e2c254344270542013541403c85004fa0258cf1601cf16ccc922c8cb0112f400f400cb00c920f9007074c8cb02ca07cbffc9d004fa40f40431fa0020d749c200f2e2c4778018c8cb055008cf1670fa0217cb6b13cc80c0201200d0e009e8210178d4519c8cb1f19cb3f5007fa0222cf165006cf1625fa025003cf16c95005cc2391729171e25008a813a08209c9c380a014bcf2e2c504c98040fb001023c85004fa0258cf1601cf16ccc9ed5402f73b51343e803e903e90350c0234cffe80145468017e903e9014d6f1c1551cdb5c150804d50500f214013e809633c58073c5b33248b232c044bd003d0032c0327e401c1d3232c0b281f2fff274140371c1472c7cb8b0c2be80146a2860822625a019ad822860822625a028062849e5c412440e0dd7c138c34975c2c0600f1000d73b51343e803e903e90350c01f4cffe803e900c145468549271c17cb8b049f0bffcb8b08160824c4b402805af3cb8b0e0841ef765f7b232c7c572cfd400fe8088b3c58073c5b25c60063232c14933c59c3e80b2dab33260103ec01004f214013e809633c58073c5b3327b552000705279a018a182107362d09cc8cb1f5230cb3f58fa025007cf165007cf16c9718010c8cb0524cf165006fa0215cb6a14ccc971fb0010241023007cc30023c200b08e218210d53276db708010c8cb055008cf165004fa0216cb6a12cb1f12cb3fc972fb0093356c21e203c85004fa0258cf1601cf16ccc9ed54',
|
|
61
|
+
'hex',
|
|
62
|
+
),
|
|
63
|
+
)[0],
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* @description faucet t.me/evaabuidl
|
|
68
|
+
*/
|
|
69
|
+
export const EUSDC_TESTNET: PoolAssetConfig = {
|
|
70
|
+
name: 'EUSDC',
|
|
71
|
+
assetId: ASSET_ID.EUSDC,
|
|
72
|
+
jettonMasterAddress: Address.parse('kQDaY5yUatYnHei73HBqRX_Ox9LK2XnR7XuCY9MFC2INbfYI'),
|
|
73
|
+
jettonWalletCode: JETTON_WALLET_STANDART_CODE_TESTNET,
|
|
74
|
+
};
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { Address, toNano } from '@ton/core';
|
|
2
|
+
|
|
3
|
+
export * from './mainnet';
|
|
4
|
+
export * from './testnet';
|
|
5
|
+
|
|
6
|
+
export const NULL_ADDRESS = Address.parse('UQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJKZ');
|
|
7
|
+
|
|
8
|
+
export const ASSET_PRICE_SCALE = BigInt(1e9);
|
|
9
|
+
|
|
10
|
+
export const MASTER_CONSTANTS = {
|
|
11
|
+
FACTOR_SCALE: BigInt(1e12),
|
|
12
|
+
ASSET_COEFFICIENT_SCALE: 10000n,
|
|
13
|
+
ASSET_PRICE_SCALE,
|
|
14
|
+
ASSET_RESERVE_FACTOR_SCALE: 10000n,
|
|
15
|
+
ASSET_LIQUIDATION_RESERVE_FACTOR_SCALE: 10000n,
|
|
16
|
+
ASSET_ORIGINATION_FEE_SCALE: BigInt(1e9),
|
|
17
|
+
ASSET_LIQUIDATION_THRESHOLD_SCALE: 10_000n,
|
|
18
|
+
ASSET_LIQUIDATION_BONUS_SCALE: 10_000n,
|
|
19
|
+
ASSET_SRATE_SCALE: BigInt(1e12),
|
|
20
|
+
ASSET_BRATE_SCALE: BigInt(1e12),
|
|
21
|
+
COLLATERAL_WORTH_THRESHOLD: 100n * ASSET_PRICE_SCALE, // literally 100$
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
export const OPCODES = {
|
|
25
|
+
// General
|
|
26
|
+
ONCHAIN_GETTER: 0x9998,
|
|
27
|
+
|
|
28
|
+
// Supply
|
|
29
|
+
SUPPLY_MASTER: 0x1,
|
|
30
|
+
SUPPLY_USER: 0x11,
|
|
31
|
+
SUPPLY_SUCCESS: 0x11a,
|
|
32
|
+
SUPPLY_FAIL: 0x11f,
|
|
33
|
+
SUPPLY_EXCESS: 0x11ae,
|
|
34
|
+
SUPPLY_SUCCESS_AND_REPAY_REMAININGS: 0x11ab,
|
|
35
|
+
SUPPLY_FAIL_EXCESS: 0x11ae1,
|
|
36
|
+
SUPPLY_FAIL_REVERT: 0x11ae2,
|
|
37
|
+
|
|
38
|
+
// Liquidate
|
|
39
|
+
LIQUIDATE_MASTER: 0x3,
|
|
40
|
+
LIQUIDATE_MASTER_JETTON_PROCESS: 0x32,
|
|
41
|
+
LIQUIDATE_USER: 0x31,
|
|
42
|
+
LIQUIDATE_UNSATISFIED: 0x31f,
|
|
43
|
+
LIQUIDATE_SATISFIED: 0x311,
|
|
44
|
+
LIQUIDATE_SUCCESS: 0x311a,
|
|
45
|
+
LIQUIDATE_SUCCESS_REPORT: 0x311d,
|
|
46
|
+
LIQUIDATE_FAIL: 0x311f,
|
|
47
|
+
LIQUIDATE_FAIL_REVERT: 0x211fe91,
|
|
48
|
+
|
|
49
|
+
// Supply & Withdraw
|
|
50
|
+
SUPPLY_WITHDRAW_MASTER: 0x4,
|
|
51
|
+
SUPPLY_WITHDRAW_MASTER_WITHOUT_PRICES: 0x401,
|
|
52
|
+
SUPPLY_WITHDRAW_MASTER_JETTON: 0x42,
|
|
53
|
+
SUPPLY_WITHDRAW_USER: 0x41,
|
|
54
|
+
SUPPLY_WITHDRAW_SATISFIED: 0x411,
|
|
55
|
+
SUPPLY_WITHDRAW_SATISFIED_AND_REPAY_REMAININGS: 0x411b,
|
|
56
|
+
SUPPLY_WITHDRAW_UNSATISFIED: 0x41f,
|
|
57
|
+
SUPPLY_WITHDRAW_FAIL: 0x411f,
|
|
58
|
+
SUPPLY_WITHDRAW_SUCCESS: 0x411a,
|
|
59
|
+
|
|
60
|
+
// Reward
|
|
61
|
+
REWARD_CLAIM: 0x2,
|
|
62
|
+
REWARD_TON_TOP_UP: 0x7362d09c,
|
|
63
|
+
REWARD_JETTON_MINT: 0x178d4519,
|
|
64
|
+
REWARD_JETTON_TRANSFER: 0x0f8a7ea5,
|
|
65
|
+
|
|
66
|
+
// TEP's
|
|
67
|
+
JETTON_TRANSFER: 0xf8a7ea5,
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
export const FEES = {
|
|
71
|
+
// General
|
|
72
|
+
JETTON_FWD: toNano('0.05'),
|
|
73
|
+
|
|
74
|
+
// Supply
|
|
75
|
+
SUPPLY: toNano('0.25'),
|
|
76
|
+
|
|
77
|
+
// Supply & Withdraw
|
|
78
|
+
SUPPLY_WITHDRAW: toNano('0.45'),
|
|
79
|
+
|
|
80
|
+
// Liquidation
|
|
81
|
+
LIQUIDATION: toNano('0.8'),
|
|
82
|
+
LIQUIDATION_JETTON: toNano('1'),
|
|
83
|
+
LIQUIDATION_JETTON_FWD: toNano('0.8'),
|
|
84
|
+
|
|
85
|
+
// Reward
|
|
86
|
+
REWARD_MASTER_TON_TOP_UP: toNano('0.03'),
|
|
87
|
+
REWARD_MASTER_DEPLOY: toNano('0.05'),
|
|
88
|
+
REWARD_MASTER_WITHDRAW: toNano('0.1'),
|
|
89
|
+
REWARD_USER_DEPLOY: toNano('0.05'),
|
|
90
|
+
REWARD_USER_CLAIM: toNano('0.1'),
|
|
91
|
+
};
|
|
@@ -1,53 +1,60 @@
|
|
|
1
|
-
import { Address, Cell
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
const ASSET_PRICE_SCALE = BigInt(1e9);
|
|
5
|
-
|
|
6
|
-
export const MASTER_CONSTANTS = {
|
|
7
|
-
FACTOR_SCALE: BigInt(1e12),
|
|
8
|
-
ASSET_COEFFICIENT_SCALE: 10000n,
|
|
9
|
-
ASSET_PRICE_SCALE,
|
|
10
|
-
ASSET_RESERVE_FACTOR_SCALE: 10000n,
|
|
11
|
-
ASSET_LIQUIDATION_RESERVE_FACTOR_SCALE: 10000n,
|
|
12
|
-
ASSET_ORIGINATION_FEE_SCALE: BigInt(1e9),
|
|
13
|
-
ASSET_LIQUIDATION_THRESHOLD_SCALE: 10_000n,
|
|
14
|
-
ASSET_LIQUIDATION_BONUS_SCALE: 10_000n,
|
|
15
|
-
ASSET_SRATE_SCALE: BigInt(1e12),
|
|
16
|
-
ASSET_BRATE_SCALE: BigInt(1e12),
|
|
17
|
-
COLLATERAL_WORTH_THRESHOLD: 100n * ASSET_PRICE_SCALE, // literally 100$
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
export const NULL_ADDRESS = Address.parse('UQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJKZ');
|
|
1
|
+
import { Address, Cell } from '@ton/core';
|
|
2
|
+
import { ExtendedEvaaOracle } from '../../types/Master';
|
|
21
3
|
|
|
4
|
+
/* MAIN POOL */
|
|
22
5
|
export const EVAA_MASTER_MAINNET = Address.parse('EQC8rUZqR_pWV1BylWUlPNBzyiTYVoBEmQkMIQDZXICfnuRr');
|
|
23
|
-
export const MAINNET_VERSION =
|
|
24
|
-
|
|
25
|
-
|
|
6
|
+
export const MAINNET_VERSION = 9;
|
|
7
|
+
|
|
8
|
+
/* LP POOL */
|
|
26
9
|
export const EVAA_LP_MAINNET = Address.parse('EQBIlZX2URWkXCSg3QF2MJZU-wC5XkBoLww-hdWk2G37Jc6N');
|
|
27
|
-
export const EVAA_LP_MAINNET_VERSION =
|
|
10
|
+
export const EVAA_LP_MAINNET_VERSION = 5;
|
|
11
|
+
|
|
12
|
+
/* ALTS POOL */
|
|
28
13
|
export const EVAA_ALTS_MAINNET = Address.parse('EQANURVS3fhBO9bivig34iyJQi97FhMbpivo1aUEAS2GYSu-');
|
|
29
|
-
export const EVAA_ALTS_MAINNET_VERSION =
|
|
14
|
+
export const EVAA_ALTS_MAINNET_VERSION = 3;
|
|
15
|
+
|
|
16
|
+
/* STABLE POOL */
|
|
30
17
|
export const EVAA_STABLE_MAINNET = Address.parse('EQCdIdXf1kA_2Hd9mbGzSFDEPA-Px-et8qTWHEXgRGo0K3zd');
|
|
31
|
-
export const STABLE_VERSION =
|
|
18
|
+
export const STABLE_VERSION = 1;
|
|
19
|
+
|
|
20
|
+
/* EVAA V8 Trail of Bits Audited Pool */
|
|
21
|
+
export const EVAA_TOB_MAINNET = Address.parse('EQDrSGBBunrWNmIdHgdaA7Weu4yUr8Ckw3C9wNWobq7osn3H');
|
|
22
|
+
export const EVAA_TOB_VERSION = 0;
|
|
32
23
|
|
|
33
|
-
|
|
34
|
-
export const
|
|
24
|
+
/* EVAA V8 PYTH Trail of Bits Audited Pool */
|
|
25
|
+
export const EVAA_PYTH_TOB_MAINNET = Address.parse('EQCsOdQPDO1Xndzutn9dDcloolWo1wHKICMz2jHL6UP8smcV');
|
|
26
|
+
export const EVAA_PYTH_TOB_VERSION = 0;
|
|
35
27
|
|
|
36
|
-
export const EVAA_REWARDS_MASTER_TESTNET = Address.parse('EQCnp0iRGcfDJAvnKhAEN9sB-nPYSPuc83Ff4y75s8AtoSW1');
|
|
37
28
|
export const EVAA_USDT_REWARDS_MASTER_MAINNET = Address.parse('EQD22Fhylp1tX-xoVX81aMTSJNPV8j9klwApTLgjGmofISVD');
|
|
38
29
|
export const EVAA_TON_REWARDS_MASTER_MAINNET = Address.parse('EQDM_gdrntBg4fy5Rg9DgDF0AUu3FYoqxHEOsHNIC4_DTDuC');
|
|
39
30
|
|
|
40
|
-
export const ORACLES_MAINNET:
|
|
41
|
-
{
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
31
|
+
export const ORACLES_MAINNET: ExtendedEvaaOracle[] = [
|
|
32
|
+
{
|
|
33
|
+
id: 0,
|
|
34
|
+
address: '0xd3a8c0b9fd44fd25a49289c631e3ac45689281f2f8cf0744400b4c65bed38e5d',
|
|
35
|
+
pubkey: Buffer.from('b404f4a2ebb62f2623b370c89189748a0276c071965b1646b996407f10d72eb9', 'hex'),
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
id: 1,
|
|
39
|
+
address: '0x2c21cabdaa89739de16bde7bc44e86401fac334a3c7e55305fe5e7563043e191',
|
|
40
|
+
pubkey: Buffer.from('9ad115087520d91b6b45d6a8521eb4616ee6914af07fabdc2e9d1826dbb17078', 'hex'),
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
id: 2,
|
|
44
|
+
address: '0x2eb258ce7b5d02466ab8a178ad8b0ba6ffa7b58ef21de3dc3b6dd359a1e16af0',
|
|
45
|
+
pubkey: Buffer.from('e503e02e8a9226b34e7c9deb463cbf7f19bce589362eb448a69a8ee7b2fca631', 'hex'),
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
id: 3,
|
|
49
|
+
address: '0xf9a0769954b4430bca95149fb3d876deb7799d8f74852e0ad4ccc5778ce68b52',
|
|
50
|
+
pubkey: Buffer.from('9cbf8374cf1f2cf17110134871d580198416e101683f4a61f54cf2a3e4e32070', 'hex'),
|
|
51
|
+
},
|
|
45
52
|
];
|
|
46
53
|
|
|
47
|
-
export const
|
|
54
|
+
export const PYTH_ORACLE_MAINNET: Address = Address.parse('EQBU6k8HH6yX4Jf3d18swWbnYr31D3PJI7PgjXT-flsKHqql');
|
|
48
55
|
|
|
49
|
-
export const ORACLES_LP:
|
|
50
|
-
export const ORACLES_ALTS:
|
|
56
|
+
export const ORACLES_LP: ExtendedEvaaOracle[] = ORACLES_MAINNET;
|
|
57
|
+
export const ORACLES_ALTS: ExtendedEvaaOracle[] = ORACLES_MAINNET;
|
|
51
58
|
|
|
52
59
|
export const LENDING_CODE = Cell.fromBoc(
|
|
53
60
|
Buffer.from(
|
|
@@ -57,50 +64,19 @@ export const LENDING_CODE = Cell.fromBoc(
|
|
|
57
64
|
)[0];
|
|
58
65
|
|
|
59
66
|
export const JETTON_WALLET_STANDART_CODE = Cell.fromBase64(
|
|
60
|
-
'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='
|
|
61
|
-
|
|
62
|
-
export const JETTON_WALLET_STANDART_CODE_TESTNET = Cell.fromBase64(
|
|
63
|
-
'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');
|
|
67
|
+
'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=',
|
|
68
|
+
);
|
|
64
69
|
|
|
65
|
-
export const
|
|
70
|
+
export const EVAA_REWARDS_MASTER_CODE_MAINNET = Cell.fromBoc(
|
|
66
71
|
Buffer.from(
|
|
67
72
|
'b5ee9c7241020e01000386000114ff00f4a413f4bcf2c80b01020162020b046ad03322c700925f03e0d0d3030171b0925f03e0fa403002d31fd33f715230bae302725230bae30282107362d09c5230bae3027413ba0304070800c46c21ed44d0fa40fa00fa40d4d401d001d1fa40d3ffd3ffd11034102307fa40308103e8820afaf0801abe19f2f48103ea5196c70519f2f48103ee8b0212c705f2f41036453304c85004cf16cbff12cbffc9c85005cf165003fa0258cf16ccccc9ed5402fe6c22ed44d0fa40fa00fa40d4d401d001d1fa40d3ffd3ffd11034102307fa40fa003021ed44d0fa40fa00fa40d4d401d001d1fa40d3ffd3ffd11034102335355bc8f828cf1613cbffcbffc9c85003cf1670fa0212ccc97020c8cb0113f400f400cb00c9f9007074c8cb02ca07cbffc9d08103ea51c1c7051cf2f45306bce302050600466c810173c8cb1fcb3f01fa02c9718018c8cb055003cf1670fa0212cb6accc98040fb0001d23a8b3544f4e8f9025220ba8e16385288708018c8cb0558cf1658fa02cb6ac98040fb008e3b22544a030a702082100f8a7ea5c8cb1f13cb3f5004fa0222cf1658cf16cb0021fa02cb1fc9718018c8cb055003cf1670fa0212cb6accc98040fb00e25037a110365e40010a00ec6c21ed44d0fa40fa00fa40d4d401d001d1fa40d3ffd3ffd1103410238103e8820afaf08052a0bef2f48b3544f4e8f9025220ba993738068209c9c380a18e11388103ea5192c70519f2f405fa00301056e213a010364515503304c85004cf16cbff12cbffc9c85005cf165003fa0258cf16ccccc9ed5402ea8f6ced44d0fa40fa00fa40d4d401d001d1fa40d3ffd3ffd11034102308fa40fa00308103e8821005f5e1001cbe1bf2f48103ea51b7c7051bf2f48103ed5395bbf2f48b3544f4e8f9025210ba8e16365279708018c8cb0558cf1658fa02cb6ac98040fb00e30e5026a14615503304e05f04840ff2f0090a00745468281b702082100f8a7ea5c8cb1f13cb3f5004fa0222cf1658cf16cb0021fa02cb1fc9718018c8cb055003cf1670fa0212cb6accc98040fb000038c85004cf16cbff12cbffc9c85005cf165003fa0258cf16ccccc9ed540201580c0d0039bbc24ed44d0fa40fa00fa40d4d401d001d1fa40d3ffd3ffd1103410238009fb87b6ed44d0fa40fa00fa40d4d401d001d1fa40d3ffd3ffd11034102335355bc8f828cf1613cbffcbffc9c85003cf1670fa0212ccc97020c8cb0113f400f400cb00c9f9007074c8cb02ca07cbffc9d0872ac1c8c',
|
|
68
73
|
'hex',
|
|
69
74
|
),
|
|
70
75
|
)[0];
|
|
71
|
-
export const EVAA_REWARDS_MASTER_CODE_MAINNET = EVAA_REWARDS_MASTER_CODE_TESTNET;
|
|
72
76
|
|
|
73
|
-
export const
|
|
77
|
+
export const EVAA_REWARDS_USER_CODE_MAINNET = Cell.fromBoc(
|
|
74
78
|
Buffer.from(
|
|
75
79
|
'b5ee9c724102060100014e000114ff00f4a413f4bcf2c80b01020162020502f8d03322c700925f03e0d0d3030171b0925f03e0fa403002d31fd33f725230ba8ed63233ed44d0fa40fa00d401d001d1fa40d3ffd3ffd1058308d718d430d08103e8821005f5e10019be18f2f48103e927f901541027f910f2f405fa40fa00308103eaf82813c70512f2f48103ec5313bcf2f45203a15006e0313273ba030400b8ed44d0fa40fa00d401d001d1fa40d3ffd3ffd110235f0372c8cb1f13cb3f01cf1658fa02c9718018c8cb055003cf1670fa0212cb6accc9820a625a0070fb02810080fb005521c85003cf16cbffcbffc9c85003cf1601fa02ccc9ed5400888e3ced44d0fa40fa00d401d001d1fa40d3ffd3ffd105fa00308103ea5173c70517f2f45025a14143c85003cf16cbffcbffc9c85003cf1601fa02ccc9ed54e05b840ff2f0002ba17849da89a1f481f401a803a003a3f481a7ffa7ffa333f41908',
|
|
76
80
|
'hex',
|
|
77
81
|
),
|
|
78
82
|
)[0];
|
|
79
|
-
export const EVAA_REWARDS_USER_CODE_MAINNET = EVAA_REWARDS_USER_CODE_TESTNET;
|
|
80
|
-
|
|
81
|
-
export const OPCODES = {
|
|
82
|
-
SUPPLY: 0x1,
|
|
83
|
-
WITHDRAW: 0x2,
|
|
84
|
-
LIQUIDATE: 0x3,
|
|
85
|
-
JETTON_TRANSFER: 0xf8a7ea5,
|
|
86
|
-
ONCHAIN_GETTER: 0x9998,
|
|
87
|
-
REWARD_CLAIM: 0x2,
|
|
88
|
-
REWARD_TON_TOP_UP: 0x7362d09c,
|
|
89
|
-
REWARD_JETTON_MINT: 0x178d4519,
|
|
90
|
-
REWARD_JETTON_TRANSFER: 0x0f8a7ea5,
|
|
91
|
-
};
|
|
92
|
-
|
|
93
|
-
export const FEES = {
|
|
94
|
-
SUPPLY: toNano('0.3'),
|
|
95
|
-
WITHDRAW: toNano('0.35'),
|
|
96
|
-
SUPPLY_JETTON: toNano('0.35'),
|
|
97
|
-
SUPPLY_JETTON_FWD: toNano('0.3'),
|
|
98
|
-
LIQUIDATION: toNano('0.8'),
|
|
99
|
-
LIQUIDATION_JETTON: toNano('1'),
|
|
100
|
-
LIQUIDATION_JETTON_FWD: toNano('0.8'),
|
|
101
|
-
REWARD_MASTER_TON_TOP_UP: toNano('0.03'),
|
|
102
|
-
REWARD_MASTER_DEPLOY: toNano('0.05'),
|
|
103
|
-
REWARD_MASTER_WITHDRAW: toNano('0.1'),
|
|
104
|
-
REWARD_USER_DEPLOY: toNano('0.05'),
|
|
105
|
-
REWARD_USER_CLAIM: toNano('0.1'),
|
|
106
|
-
};
|