@evaafi/sdk 0.9.1 → 0.9.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,5 @@
1
1
  export declare const ASSET_ID: {
2
+ EVAA: bigint;
2
3
  TON: bigint;
3
4
  USDT: bigint;
4
5
  jUSDT: bigint;
@@ -8,7 +9,6 @@ export declare const ASSET_ID: {
8
9
  tgBTC: bigint;
9
10
  USDe: bigint;
10
11
  tsUSDe: bigint;
11
- PT_tsUSDe_01Sep2025: bigint;
12
12
  TONUSDT_DEDUST: bigint;
13
13
  TONUSDT_STONFI: bigint;
14
14
  TON_STORM: bigint;
@@ -17,6 +17,8 @@ export declare const ASSET_ID: {
17
17
  DOGS: bigint;
18
18
  CATI: bigint;
19
19
  STON: bigint;
20
+ PT_tsUSDe_01Sep2025: bigint;
21
+ PT_tsUSDe_18Dec2025: bigint;
20
22
  EUSDT: bigint;
21
23
  EUSDC: bigint;
22
24
  };
@@ -3,6 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ASSET_ID = void 0;
4
4
  const sha256BigInt_1 = require("../../utils/sha256BigInt");
5
5
  exports.ASSET_ID = {
6
+ EVAA: (0, sha256BigInt_1.sha256Hash)('EVAA'),
7
+ // Main
6
8
  TON: (0, sha256BigInt_1.sha256Hash)('TON'),
7
9
  USDT: (0, sha256BigInt_1.sha256Hash)('USDT'),
8
10
  jUSDT: (0, sha256BigInt_1.sha256Hash)('jUSDT'),
@@ -12,7 +14,6 @@ exports.ASSET_ID = {
12
14
  tgBTC: (0, sha256BigInt_1.sha256Hash)('tgBTC'),
13
15
  USDe: (0, sha256BigInt_1.sha256Hash)('USDe'),
14
16
  tsUSDe: (0, sha256BigInt_1.sha256Hash)('tsUSDe'),
15
- PT_tsUSDe_01Sep2025: (0, sha256BigInt_1.sha256Hash)('PT_tsUSDe_01Sep2025'),
16
17
  // LP
17
18
  TONUSDT_DEDUST: (0, sha256BigInt_1.sha256Hash)('TONUSDT_DEDUST'),
18
19
  TONUSDT_STONFI: (0, sha256BigInt_1.sha256Hash)('TONUSDT_STONFI'),
@@ -23,6 +24,9 @@ exports.ASSET_ID = {
23
24
  DOGS: (0, sha256BigInt_1.sha256Hash)('DOGS'),
24
25
  CATI: (0, sha256BigInt_1.sha256Hash)('CATI'),
25
26
  STON: (0, sha256BigInt_1.sha256Hash)('STON'),
27
+ // STABLE
28
+ PT_tsUSDe_01Sep2025: (0, sha256BigInt_1.sha256Hash)('PT_tsUSDe_01Sep2025'),
29
+ PT_tsUSDe_18Dec2025: (0, sha256BigInt_1.sha256Hash)('PT_tsUSDe_18Dec2025'),
26
30
  // Testnet assets, faucet t.me/evaabuidl
27
31
  EUSDT: (0, sha256BigInt_1.sha256Hash)('EUSDT'),
28
32
  EUSDC: (0, sha256BigInt_1.sha256Hash)('EUSDC'),
@@ -15,5 +15,7 @@ export declare const NOT_MAINNET: PoolAssetConfig;
15
15
  export declare const USDE_MAINNET: PoolAssetConfig;
16
16
  export declare const TSUSDE_MAINNET: PoolAssetConfig;
17
17
  export declare const PT_tsUSDe_01Sep2025_MAINNET: PoolAssetConfig;
18
+ export declare const PT_tsUSDe_18Dec2025_MAINNET: PoolAssetConfig;
18
19
  export declare const TONUSDT_STONFI_MAINNET: PoolAssetConfig;
19
20
  export declare const STON_MAINNET: PoolAssetConfig;
21
+ export declare const EVAA_MAINNET: PoolAssetConfig;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.STON_MAINNET = exports.TONUSDT_STONFI_MAINNET = exports.PT_tsUSDe_01Sep2025_MAINNET = exports.TSUSDE_MAINNET = exports.USDE_MAINNET = exports.NOT_MAINNET = exports.DOGS_MAINNET = exports.CATI_MAINNET = exports.USDT_STORM_MAINNET = exports.TON_STORM_MAINNET = exports.TONUSDT_DEDUST_MAINNET = exports.USDT_MAINNET = exports.TSTON_MAINNET = exports.STTON_MAINNET = exports.JUSDC_MAINNET = exports.JUSDT_MAINNET = exports.TON_MAINNET = exports.UNDEFINED_ASSET = void 0;
3
+ exports.EVAA_MAINNET = exports.STON_MAINNET = exports.TONUSDT_STONFI_MAINNET = exports.PT_tsUSDe_18Dec2025_MAINNET = exports.PT_tsUSDe_01Sep2025_MAINNET = exports.TSUSDE_MAINNET = exports.USDE_MAINNET = exports.NOT_MAINNET = exports.DOGS_MAINNET = exports.CATI_MAINNET = exports.USDT_STORM_MAINNET = exports.TON_STORM_MAINNET = exports.TONUSDT_DEDUST_MAINNET = exports.USDT_MAINNET = exports.TSTON_MAINNET = exports.STTON_MAINNET = exports.JUSDC_MAINNET = exports.JUSDT_MAINNET = exports.TON_MAINNET = exports.UNDEFINED_ASSET = void 0;
4
4
  const core_1 = require("@ton/core");
5
5
  const general_1 = require("../general");
6
6
  const assetId_1 = require("./assetId");
@@ -100,6 +100,12 @@ exports.PT_tsUSDe_01Sep2025_MAINNET = {
100
100
  jettonMasterAddress: core_1.Address.parse('EQDb90Bss5FnIyq7VMmnG2UeZIzZomQsILw9Hjo1wxaF1df3'),
101
101
  jettonWalletCode: core_1.Cell.fromBoc(Buffer.from('b5ee9c7201020f010003c2000114ff00f4a413f4bcf2c80b0102016202030202ce0405001da0f605da89a1f401f481f48061f05504b3420c700925f04e001d0d3030171b08e85135f03db3ce0fa40fa4031fa003171d721fa0031fa003073a9b40002d31f012082100f8a7ea5ba8e85303459db3ce0208210178d4519ba8e8630444403db3ce035248210595f07bcba80607080900114fa4430c000f2e14d800848020d721ed44d0fa00fa40fa403003d31f018200fff0218210178d4519ba0282107bdd97deba12b1f2f4d33f0130fa003012a002c85003fa0201cf1601cf16c9ed5401f403d33f0101fa00fa4021f002ed44d0fa00fa40fa40305125a15219c705f2e2c127c2fff2e2c2f82a5424207054201314c85003fa0201cf1601cf16c922c8cb0112f400f400cb00c920f9007074c8cb02ca07cbffc9d003fa40f40431fa0020d749c200f2e2c4c88210178d451901cb1f500901cb3f5007fa02250a02f4ed44d0fa00fa40fa403007d33f0101fa005141a004fa40fa4053bac705f82a5464e07054201314c85003fa0201cf1601cf16c922c8cb0112f400f400cb00c9f9007074c8cb02ca07cbffc9d0500cc7051bb1f2e2c309fa005197a121951049385f04e30d038208989680b60972fb0224d70b01c30002c20012b00b0c02ce8e843459db3ce06c22ed44d0fa00fa40fa403030312382106d8e5e3cba8e37335222c705f2e2c1820898968070fb02c8801001cb0558cf1670fa027001cb6a8210d53276db01cb1f01d33f013101cb3fc9810082fb00e0038210768a50b2bae3025f03840ff2f00d0e009ccf1601cf1625fa025006cf16c9c8801801cb055003cf1670fa025052775003cb6bcccc2291729171e25007a812a082096e3600a013bcf2e2c503c98040fb0058c85003fa0201cf1601cf16c9ed5400725219a017a1c882107362d09c01cb1f2401cb3f5003fa0201cf165007cf16c9c8801001cb0523cf165005fa0250047158cb6accc971fb00102400748e25c8801001cb055004cf1670fa027001cb6a8210d53276db01cb1f5801cb3fc9810082fb0001926c22e202c85003fa0201cf1601cf16c9ed5400deed44d0fa00fa40fa403006d33f0101fa00fa40305141a15238c705f2e2c126c2fff2e2c2048208d59f80a015bcf2e2c3c882107bdd97de01cb1f500401cb3f58fa0222cf1601cf16c9c8801801cb0524cf1670fa02017158cb6accc98040fb0058c85003fa0201cf1601cf16c9ed5400965222c705f2e2c1d33f0101fa40fa00f40430c8801801cb055003cf1670fa0270c882100f8a7ea501cb1f500501cb3f58fa0224cf165004cf16f40070fa02ca00c97158cb6accc98040fb00', 'hex'))[0],
102
102
  };
103
+ exports.PT_tsUSDe_18Dec2025_MAINNET = {
104
+ name: 'PT_tsUSDe_18Dec2025',
105
+ assetId: assetId_1.ASSET_ID.PT_tsUSDe_18Dec2025,
106
+ jettonMasterAddress: core_1.Address.parse('EQBxIkea3baUXLtPVuVaSMsWIkC5S0It3OcM8MeYpPnoEWeM'),
107
+ jettonWalletCode: core_1.Cell.fromBoc(Buffer.from('b5ee9c7201020f010003eb000114ff00f4a413f4bcf2c80b0102016202030202ce0405001da0f605da89a1f401f481f48061f05504b3420c700925f04e001d0d3030171b08e85135f03db3ce0fa40fa4031fa003171d721fa0031fa003073a9b40002d31f012082100f8a7ea5ba8e85303459db3ce0208210178d4519ba8e8630444403db3ce035248210595f07bcba80607080900114fa4430c000f2e14d800848020d721ed44d0fa00fa40fa403003d31f018200fff0218210178d4519ba0282107bdd97deba12b1f2f4d33f0130fa003012a002c85003fa0201cf1601cf16c9ed5401f603d33f0101fa00fa4021f002ed44d0fa00fa40fa40305125a15219c705f2e2c127c2fff2e2c2f82a5424207054201314c85003fa0201cf1601cf16c9227871c8cb00cb04cb0012f400f400cb00c95301fa44318100ffaaf7b001f90084f7b0b17074c8cb02ca07cbffc9d003fa40f40431fa0020d749c200f2e2c40a02f2ed44d0fa00fa40fa403007d33f0101fa005141a004fa40fa40f82a5463d07054201314c85003fa0201cf1601cf16c9227871c8cb00cb04cb0012f400f400cb00c92cfa44318100ffaaf7b001f90084f7b0b17074c8cb02ca07cbffc9d053cbc7050cc7051bb1f2e2c309fa005197a121951049385f04e30d030b0c02ce8e843459db3ce06c22ed44d0fa00fa40fa403030312382106d8e5e3cba8e37335222c705f2e2c1820898968070fb02c8801001cb0558cf1670fa027001cb6a8210d53276db01cb1f01d33f013101cb3fc9810082fb00e0038210768a50b2bae3025f03840ff2f00d0e00c4c88210178d451901cb1f500901cb3f5007fa0225cf1601cf1625fa025006cf16c9c8801801cb055003cf1670fa025052775003cb6bcccc2291729171e25007a812a082096e3600a013bcf2e2c503c98040fb0058c85003fa0201cf1601cf16c9ed5400725219a017a1c882107362d09c01cb1f2401cb3f5003fa0201cf165007cf16c9c8801001cb0523cf165005fa0250047158cb6accc971fb001024009e8208989680b60972fb0224d70b01c30002c20012b08e25c8801001cb055004cf1670fa027001cb6a8210d53276db01cb1f5801cb3fc9810082fb0001926c22e202c85003fa0201cf1601cf16c9ed5400deed44d0fa00fa40fa403006d33f0101fa00fa40305141a15238c705f2e2c126c2fff2e2c2048208d59f80a015bcf2e2c3c882107bdd97de01cb1f500401cb3f58fa0222cf1601cf16c9c8801801cb0524cf1670fa02017158cb6accc98040fb0058c85003fa0201cf1601cf16c9ed5400965222c705f2e2c1d33f0101fa40fa00f40430c8801801cb055003cf1670fa0270c882100f8a7ea501cb1f500501cb3f58fa0224cf165004cf16f40070fa02ca00c97158cb6accc98040fb00', 'hex'))[0],
108
+ };
103
109
  exports.TONUSDT_STONFI_MAINNET = {
104
110
  name: 'TONUSDT_STONFI',
105
111
  assetId: assetId_1.ASSET_ID.TONUSDT_STONFI,
@@ -112,3 +118,9 @@ exports.STON_MAINNET = {
112
118
  jettonMasterAddress: core_1.Address.parse('EQA2kCVNwVsil2EM2mB0SkXytxCqQjS4mttjDpnXmwG9T6bO'),
113
119
  jettonWalletCode: core_1.Cell.fromBoc(Buffer.from('b5ee9c7201021201000334000114ff00f4a413f4bcf2c80b0102016202030202cc0405001ba0f605da89a1f401f481f481a8610201d40607020148080900c30831c02497c138007434c0c05c6c2544d7c0fc02f83e903e900c7e800c5c75c87e800c7e800c1cea6d0000b4c7e08403e29fa954882ea54c4d167c0238208405e3514654882ea58c511100fc02780d60841657c1ef2ea4d67c02b817c12103fcbc2000113e910c1c2ebcb853600201200a0b020120101101f100f4cffe803e90087c007b51343e803e903e90350c144da8548ab1c17cb8b04a30bffcb8b0950d109c150804d50500f214013e809633c58073c5b33248b232c044bd003d0032c032483e401c1d3232c0b281f2fff274013e903d010c7e800835d270803cb8b11de0063232c1540233c59c3e8085f2dac4f3200c03f73b51343e803e903e90350c0234cffe80145468017e903e9014d6f1c1551cdb5c150804d50500f214013e809633c58073c5b33248b232c044bd003d0032c0327e401c1d3232c0b281f2fff274140371c1472c7cb8b0c2be80146a2860822625a020822625a004ad8228608239387028062849f8c3c975c2c070c008e00d0e0f00ae8210178d4519c8cb1f19cb3f5007fa0222cf165006cf1625fa025003cf16c95005cc2391729171e25008a813a08208e4e1c0aa008208989680a0a014bcf2e2c504c98040fb001023c85004fa0258cf1601cf16ccc9ed5400705279a018a182107362d09cc8cb1f5230cb3f58fa025007cf165007cf16c9718010c8cb0524cf165006fa0215cb6a14ccc971fb0010241023000e10491038375f040076c200b08e218210d53276db708010c8cb055008cf165004fa0216cb6a12cb1f12cb3fc972fb0093356c21e203c85004fa0258cf1601cf16ccc9ed5400db3b51343e803e903e90350c01f4cffe803e900c145468549271c17cb8b049f0bffcb8b0a0823938702a8005a805af3cb8b0e0841ef765f7b232c7c572cfd400fe8088b3c58073c5b25c60063232c14933c59c3e80b2dab33260103ec01004f214013e809633c58073c5b3327b55200083200835c87b51343e803e903e90350c0134c7e08405e3514654882ea0841ef765f784ee84ac7cb8b174cfcc7e800c04e81408f214013e809633c58073c5b3327b5520', 'hex'))[0],
114
120
  };
121
+ exports.EVAA_MAINNET = {
122
+ name: 'EVAA',
123
+ assetId: assetId_1.ASSET_ID.EVAA,
124
+ jettonMasterAddress: core_1.Address.parse('EQBKMfjX_a_dsOLm-juxyVZytFP7_KKnzGv6J01kGc72gVBp'),
125
+ jettonWalletCode: core_1.Cell.fromBoc(Buffer.from('b5ee9c7201021101000323000114ff00f4a413f4bcf2c80b0102016202030202cc0405001ba0f605da89a1f401f481f481a8610201d40607020120080900c30831c02497c138007434c0c05c6c2544d7c0fc03383e903e900c7e800c5c75c87e800c7e800c1cea6d0000b4c7e08403e29fa954882ea54c4d167c0278208405e3514654882ea58c511100fc02b80d60841657c1ef2ea4d67c02f817c12103fcbc2000113e910c1c2ebcb853600201200a0b0083d40106b90f6a2687d007d207d206a1802698fc1080bc6a28ca9105d41083deecbef09dd0958f97162e99f98fd001809d02811e428027d012c678b00e78b6664f6aa401f1503d33ffa00fa4021f001ed44d0fa00fa40fa40d4305136a1522ac705f2e2c128c2fff2e2c254344270542013541403c85004fa0258cf1601cf16ccc922c8cb0112f400f400cb00c920f9007074c8cb02ca07cbffc9d004fa40f40431fa0020d749c200f2e2c4778018c8cb055008cf1670fa0217cb6b13cc80c0201200d0e009e8210178d4519c8cb1f19cb3f5007fa0222cf165006cf1625fa025003cf16c95005cc2391729171e25008a813a08209c9c380a014bcf2e2c504c98040fb001023c85004fa0258cf1601cf16ccc9ed5402f73b51343e803e903e90350c0234cffe80145468017e903e9014d6f1c1551cdb5c150804d50500f214013e809633c58073c5b33248b232c044bd003d0032c0327e401c1d3232c0b281f2fff274140371c1472c7cb8b0c2be80146a2860822625a019ad822860822625a028062849e5c412440e0dd7c138c34975c2c0600f1000d73b51343e803e903e90350c01f4cffe803e900c145468549271c17cb8b049f0bffcb8b08160824c4b402805af3cb8b0e0841ef765f7b232c7c572cfd400fe8088b3c58073c5b25c60063232c14933c59c3e80b2dab33260103ec01004f214013e809633c58073c5b3327b552000705279a018a182107362d09cc8cb1f5230cb3f58fa025007cf165007cf16c9718010c8cb0524cf165006fa0215cb6a14ccc971fb0010241023007cc30023c200b08e218210d53276db708010c8cb055008cf165004fa0216cb6a12cb1f12cb3fc972fb0093356c21e203c85004fa0258cf1601cf16ccc9ed54', 'hex'))[0],
126
+ };
@@ -14,6 +14,7 @@ export declare const EVAA_PYTH_TOB_MAINNET: Address;
14
14
  export declare const EVAA_PYTH_TOB_VERSION = 0;
15
15
  export declare const EVAA_USDT_REWARDS_MASTER_MAINNET: Address;
16
16
  export declare const EVAA_TON_REWARDS_MASTER_MAINNET: Address;
17
+ export declare const EVAA_EVAA_REWARDS_MASTER_MAINNET: Address;
17
18
  export declare const ORACLES_MAINNET: ExtendedEvaaOracle[];
18
19
  export declare const PYTH_ORACLE_MAINNET: Address;
19
20
  export declare const ORACLES_LP: ExtendedEvaaOracle[];
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EVAA_REWARDS_USER_CODE_MAINNET = exports.EVAA_REWARDS_MASTER_CODE_MAINNET = exports.JETTON_WALLET_STANDART_CODE = exports.LENDING_CODE = exports.ORACLES_ALTS = exports.ORACLES_LP = exports.PYTH_ORACLE_MAINNET = exports.ORACLES_MAINNET = exports.EVAA_TON_REWARDS_MASTER_MAINNET = exports.EVAA_USDT_REWARDS_MASTER_MAINNET = exports.EVAA_PYTH_TOB_VERSION = exports.EVAA_PYTH_TOB_MAINNET = exports.EVAA_TOB_VERSION = exports.EVAA_TOB_MAINNET = exports.STABLE_VERSION = exports.EVAA_STABLE_MAINNET = exports.EVAA_ALTS_MAINNET_VERSION = exports.EVAA_ALTS_MAINNET = exports.EVAA_LP_MAINNET_VERSION = exports.EVAA_LP_MAINNET = exports.MAINNET_VERSION = exports.EVAA_MASTER_MAINNET = void 0;
3
+ exports.EVAA_REWARDS_USER_CODE_MAINNET = exports.EVAA_REWARDS_MASTER_CODE_MAINNET = exports.JETTON_WALLET_STANDART_CODE = exports.LENDING_CODE = exports.ORACLES_ALTS = exports.ORACLES_LP = exports.PYTH_ORACLE_MAINNET = exports.ORACLES_MAINNET = exports.EVAA_EVAA_REWARDS_MASTER_MAINNET = exports.EVAA_TON_REWARDS_MASTER_MAINNET = exports.EVAA_USDT_REWARDS_MASTER_MAINNET = exports.EVAA_PYTH_TOB_VERSION = exports.EVAA_PYTH_TOB_MAINNET = exports.EVAA_TOB_VERSION = exports.EVAA_TOB_MAINNET = exports.STABLE_VERSION = exports.EVAA_STABLE_MAINNET = exports.EVAA_ALTS_MAINNET_VERSION = exports.EVAA_ALTS_MAINNET = exports.EVAA_LP_MAINNET_VERSION = exports.EVAA_LP_MAINNET = exports.MAINNET_VERSION = exports.EVAA_MASTER_MAINNET = void 0;
4
4
  const core_1 = require("@ton/core");
5
5
  /* MAIN POOL */
6
6
  exports.EVAA_MASTER_MAINNET = core_1.Address.parse('EQC8rUZqR_pWV1BylWUlPNBzyiTYVoBEmQkMIQDZXICfnuRr');
@@ -22,6 +22,7 @@ exports.EVAA_PYTH_TOB_MAINNET = core_1.Address.parse('EQCsOdQPDO1Xndzutn9dDclool
22
22
  exports.EVAA_PYTH_TOB_VERSION = 0;
23
23
  exports.EVAA_USDT_REWARDS_MASTER_MAINNET = core_1.Address.parse('EQD22Fhylp1tX-xoVX81aMTSJNPV8j9klwApTLgjGmofISVD');
24
24
  exports.EVAA_TON_REWARDS_MASTER_MAINNET = core_1.Address.parse('EQDM_gdrntBg4fy5Rg9DgDF0AUu3FYoqxHEOsHNIC4_DTDuC');
25
+ exports.EVAA_EVAA_REWARDS_MASTER_MAINNET = core_1.Address.parse('EQBLjRyn69hqC9WAVjqjSjF0nnxxWBW-Atx_3T7dCF-tBdnM');
25
26
  exports.ORACLES_MAINNET = [
26
27
  {
27
28
  id: 0,
@@ -1,6 +1,9 @@
1
1
  import { PoolConfig } from '../../types/Master';
2
2
  import { EvaaRewardsConfig } from '../../types/MasterRewards';
3
3
  export declare const MAINNET_POOL_ASSETS_CONFIG: import("../../types/Master").PoolAssetConfig[];
4
+ export declare const MAINNET_STABLE_POOL_ASSETS_CONFIG: import("../../types/Master").PoolAssetConfig[];
5
+ export declare const MAINNET_LP_POOL_ASSETS_CONFIG: import("../../types/Master").PoolAssetConfig[];
6
+ export declare const MAINNET_ALTS_POOL_ASSETS_CONFIG: import("../../types/Master").PoolAssetConfig[];
4
7
  export declare const MAINNET_POOL_CONFIG: PoolConfig;
5
8
  export declare const MAINNET_STABLE_POOL_CONFIG: PoolConfig;
6
9
  export declare const MAINNET_LP_POOL_CONFIG: PoolConfig;
@@ -11,4 +14,5 @@ export declare const MAINNET_V8_TOB_POOL_ASSETS_CONFIG: import("../../types/Mast
11
14
  export declare const MAINNET_V8_TOB_POOL_CONFIG: PoolConfig;
12
15
  export declare const MAINNET_MASTER_TON_REWARD_CONFIG: EvaaRewardsConfig;
13
16
  export declare const MAINNET_MASTER_USDT_REWARD_CONFIG: EvaaRewardsConfig;
17
+ export declare const MAINNET_MASTER_EVAA_REWARD_CONFIG: EvaaRewardsConfig;
14
18
  export declare const ALL_MAINNET_POOLS: PoolConfig[];
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ALL_MAINNET_POOLS = exports.MAINNET_MASTER_USDT_REWARD_CONFIG = exports.MAINNET_MASTER_TON_REWARD_CONFIG = exports.MAINNET_V8_TOB_POOL_CONFIG = exports.MAINNET_V8_TOB_POOL_ASSETS_CONFIG = exports.MAINNET_PYTH_V8_TOB_POOL_CONFIG = exports.MAINNET_PYTH_V8_TOB_POOL_ASSETS_CONFIG = exports.MAINNET_ALTS_POOL_CONFIG = exports.MAINNET_LP_POOL_CONFIG = exports.MAINNET_STABLE_POOL_CONFIG = exports.MAINNET_POOL_CONFIG = exports.MAINNET_POOL_ASSETS_CONFIG = void 0;
3
+ exports.ALL_MAINNET_POOLS = exports.MAINNET_MASTER_EVAA_REWARD_CONFIG = exports.MAINNET_MASTER_USDT_REWARD_CONFIG = exports.MAINNET_MASTER_TON_REWARD_CONFIG = exports.MAINNET_V8_TOB_POOL_CONFIG = exports.MAINNET_V8_TOB_POOL_ASSETS_CONFIG = exports.MAINNET_PYTH_V8_TOB_POOL_CONFIG = exports.MAINNET_PYTH_V8_TOB_POOL_ASSETS_CONFIG = exports.MAINNET_ALTS_POOL_CONFIG = exports.MAINNET_LP_POOL_CONFIG = exports.MAINNET_STABLE_POOL_CONFIG = exports.MAINNET_POOL_CONFIG = exports.MAINNET_ALTS_POOL_ASSETS_CONFIG = exports.MAINNET_LP_POOL_ASSETS_CONFIG = exports.MAINNET_STABLE_POOL_ASSETS_CONFIG = exports.MAINNET_POOL_ASSETS_CONFIG = void 0;
4
4
  const core_1 = require("@ton/core");
5
5
  const feeds_1 = require("../../api/feeds");
6
6
  const oracles_1 = require("../../oracles");
@@ -17,8 +17,14 @@ exports.MAINNET_POOL_ASSETS_CONFIG = [
17
17
  assets_1.USDE_MAINNET,
18
18
  assets_1.TSUSDE_MAINNET,
19
19
  ];
20
- const MAINNET_STABLE_POOL_ASSETS_CONFIG = [assets_1.USDT_MAINNET, assets_1.USDE_MAINNET, assets_1.TSUSDE_MAINNET, assets_1.PT_tsUSDe_01Sep2025_MAINNET];
21
- const MAINNET_LP_POOL_ASSETS_CONFIG = [
20
+ exports.MAINNET_STABLE_POOL_ASSETS_CONFIG = [
21
+ assets_1.USDT_MAINNET,
22
+ assets_1.USDE_MAINNET,
23
+ assets_1.TSUSDE_MAINNET,
24
+ assets_1.PT_tsUSDe_01Sep2025_MAINNET,
25
+ assets_1.PT_tsUSDe_18Dec2025_MAINNET,
26
+ ];
27
+ exports.MAINNET_LP_POOL_ASSETS_CONFIG = [
22
28
  assets_1.TON_MAINNET,
23
29
  assets_1.USDT_MAINNET,
24
30
  assets_1.TONUSDT_DEDUST_MAINNET,
@@ -26,7 +32,7 @@ const MAINNET_LP_POOL_ASSETS_CONFIG = [
26
32
  assets_1.USDT_STORM_MAINNET,
27
33
  assets_1.TONUSDT_STONFI_MAINNET,
28
34
  ];
29
- const MAINNET_ALTS_POOL_ASSETS_CONFIG = [assets_1.TON_MAINNET, assets_1.USDT_MAINNET, assets_1.CATI_MAINNET, assets_1.NOT_MAINNET, assets_1.DOGS_MAINNET];
35
+ exports.MAINNET_ALTS_POOL_ASSETS_CONFIG = [assets_1.TON_MAINNET, assets_1.USDT_MAINNET, assets_1.CATI_MAINNET, assets_1.NOT_MAINNET, assets_1.DOGS_MAINNET];
30
36
  exports.MAINNET_POOL_CONFIG = {
31
37
  masterAddress: general_1.EVAA_MASTER_MAINNET,
32
38
  masterVersion: general_1.MAINNET_VERSION,
@@ -57,11 +63,11 @@ exports.MAINNET_STABLE_POOL_CONFIG = {
57
63
  masterVersion: general_1.STABLE_VERSION,
58
64
  masterConstants: general_1.MASTER_CONSTANTS,
59
65
  collector: new oracles_1.ClassicCollector({
60
- poolAssetsConfig: MAINNET_STABLE_POOL_ASSETS_CONFIG,
66
+ poolAssetsConfig: exports.MAINNET_STABLE_POOL_ASSETS_CONFIG,
61
67
  minimalOracles: 3,
62
68
  evaaOracles: general_1.ORACLES_MAINNET,
63
69
  }),
64
- poolAssetsConfig: MAINNET_STABLE_POOL_ASSETS_CONFIG,
70
+ poolAssetsConfig: exports.MAINNET_STABLE_POOL_ASSETS_CONFIG,
65
71
  lendingCode: general_1.LENDING_CODE,
66
72
  };
67
73
  exports.MAINNET_LP_POOL_CONFIG = {
@@ -69,11 +75,11 @@ exports.MAINNET_LP_POOL_CONFIG = {
69
75
  masterVersion: general_1.EVAA_LP_MAINNET_VERSION,
70
76
  masterConstants: general_1.MASTER_CONSTANTS,
71
77
  collector: new oracles_1.ClassicCollector({
72
- poolAssetsConfig: MAINNET_LP_POOL_ASSETS_CONFIG,
78
+ poolAssetsConfig: exports.MAINNET_LP_POOL_ASSETS_CONFIG,
73
79
  minimalOracles: 3,
74
80
  evaaOracles: general_1.ORACLES_LP,
75
81
  }),
76
- poolAssetsConfig: MAINNET_LP_POOL_ASSETS_CONFIG,
82
+ poolAssetsConfig: exports.MAINNET_LP_POOL_ASSETS_CONFIG,
77
83
  lendingCode: general_1.LENDING_CODE,
78
84
  };
79
85
  exports.MAINNET_ALTS_POOL_CONFIG = {
@@ -81,11 +87,11 @@ exports.MAINNET_ALTS_POOL_CONFIG = {
81
87
  masterVersion: general_1.EVAA_ALTS_MAINNET_VERSION,
82
88
  masterConstants: general_1.MASTER_CONSTANTS,
83
89
  collector: new oracles_1.ClassicCollector({
84
- poolAssetsConfig: MAINNET_ALTS_POOL_ASSETS_CONFIG,
90
+ poolAssetsConfig: exports.MAINNET_ALTS_POOL_ASSETS_CONFIG,
85
91
  minimalOracles: 3,
86
92
  evaaOracles: general_1.ORACLES_ALTS,
87
93
  }),
88
- poolAssetsConfig: MAINNET_ALTS_POOL_ASSETS_CONFIG,
94
+ poolAssetsConfig: exports.MAINNET_ALTS_POOL_ASSETS_CONFIG,
89
95
  lendingCode: general_1.LENDING_CODE,
90
96
  };
91
97
  exports.MAINNET_PYTH_V8_TOB_POOL_ASSETS_CONFIG = [assets_1.TON_MAINNET, assets_1.USDT_MAINNET, assets_1.JUSDT_MAINNET];
@@ -139,6 +145,15 @@ exports.MAINNET_MASTER_USDT_REWARD_CONFIG = {
139
145
  availableReward: 0,
140
146
  publicKey: Buffer.from('9813725d6cead1c9bbc0e24b21d4fc62a7fa8ac4bb01b6758df30169a71dba67', 'hex'), // adminAddress publicKey
141
147
  };
148
+ exports.MAINNET_MASTER_EVAA_REWARD_CONFIG = {
149
+ adminAddress: general_1.EVAA_EVAA_REWARDS_MASTER_MAINNET,
150
+ evaaMasterAddress: new core_1.Address(0, Buffer.alloc(32, 0)),
151
+ rewardMasterCode: general_1.EVAA_REWARDS_MASTER_CODE_MAINNET,
152
+ rewardUserCode: general_1.EVAA_REWARDS_USER_CODE_MAINNET,
153
+ asset: assets_1.EVAA_MAINNET,
154
+ availableReward: 0,
155
+ publicKey: Buffer.from('b8eb0e312a9aa6394edceef21573f2d45e7d7a616a924e33190bd52fa31c8bb1', 'hex'), // adminAddress publicKey
156
+ };
142
157
  exports.ALL_MAINNET_POOLS = [
143
158
  exports.MAINNET_POOL_CONFIG,
144
159
  exports.MAINNET_LP_POOL_CONFIG,
@@ -0,0 +1,2 @@
1
+ import { Address } from "@ton/core";
2
+ export declare function calculateCloseAddress(address: Address, closeToAddress: Address): Address;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.calculateCloseAddress = void 0;
4
+ const core_1 = require("@ton/core");
5
+ const sha256BigInt_1 = require("./sha256BigInt");
6
+ function calculateCloseAddress(address, closeToAddress) {
7
+ const curHashpart = BigInt('0x' + address.hash.toString('hex'));
8
+ const desiredHashpart = BigInt('0x' + closeToAddress.hash.toString('hex'));
9
+ const rewriteBits = 8;
10
+ const mask = (1n << BigInt(256 - rewriteBits)) - 1n;
11
+ const antimask = invertBigInt(mask, 256);
12
+ const newHashpart = (curHashpart & mask) | (desiredHashpart & antimask);
13
+ return new core_1.Address(0, (0, sha256BigInt_1.bigIntToBuffer)(newHashpart));
14
+ }
15
+ exports.calculateCloseAddress = calculateCloseAddress;
16
+ function invertBigInt(value, bits) {
17
+ const maxValue = (1n << BigInt(bits)) - 1n;
18
+ return value ^ maxValue;
19
+ }
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getUserJettonWallet = void 0;
4
4
  const core_1 = require("@ton/core");
5
5
  const assets_1 = require("../constants/assets");
6
+ const fivaUtils_1 = require("./fivaUtils");
6
7
  function getUserJettonData(ownerAddress, assetName, jettonWalletCode, jettonMasterAddress) {
7
8
  switch (assetName) {
8
9
  case 'DOGS':
@@ -16,6 +17,7 @@ function getUserJettonData(ownerAddress, assetName, jettonWalletCode, jettonMast
16
17
  .storeAddress(jettonMasterAddress)
17
18
  .endCell();
18
19
  case 'PT_tsUSDe_01Sep2025':
20
+ case 'PT_tsUSDe_18Dec2025':
19
21
  return (0, core_1.beginCell)()
20
22
  .storeCoins(0)
21
23
  .storeAddress(ownerAddress)
@@ -65,12 +67,24 @@ function getUserJettonWallet(ownerAddress, poolAssetConfig) {
65
67
  jettonWalletCode = new core_1.Cell({ exotic: true, bits: lib_prep.bits, refs: lib_prep.refs });
66
68
  }
67
69
  const jettonData = getUserJettonData(ownerAddress, assetName, jettonWalletCode, poolAssetConfig.jettonMasterAddress);
68
- const stateInit = (0, core_1.beginCell)()
70
+ let stateInit = (0, core_1.beginCell)()
69
71
  .store((0, core_1.storeStateInit)({
70
72
  code: jettonWalletCode,
71
73
  data: jettonData
72
74
  }))
73
75
  .endCell();
76
+ if (poolAssetConfig.name === 'PT_tsUSDe_18Dec2025') {
77
+ stateInit = (0, core_1.beginCell)()
78
+ .storeUint(1, 1) // fixed_prefix_length
79
+ .storeUint(8, 5) // rewrite_bits
80
+ .storeUint(0, 1) // special (Maybe=0)
81
+ .storeMaybeRef(jettonWalletCode) // code (Maybe)
82
+ .storeMaybeRef(jettonData) // data (Maybe)
83
+ .storeUint(0, 1) // libraries empty
84
+ .endCell();
85
+ const addr = new core_1.Address(0, stateInit.hash());
86
+ return (0, fivaUtils_1.calculateCloseAddress)(addr, poolAssetConfig.jettonMasterAddress);
87
+ }
74
88
  return new core_1.Address(0, stateInit.hash());
75
89
  }
76
90
  exports.getUserJettonWallet = getUserJettonWallet;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@evaafi/sdk",
3
- "version": "0.9.1",
3
+ "version": "0.9.2",
4
4
  "description": "The EVAA SDK is designed to easily integrate with the EVAA lending protocol on TON blockchain.",
5
5
  "main": "dist/index.js",
6
6
  "files": [
@@ -1,6 +1,9 @@
1
1
  import { sha256Hash } from '../../utils/sha256BigInt';
2
2
 
3
3
  export const ASSET_ID = {
4
+ EVAA: sha256Hash('EVAA'),
5
+
6
+ // Main
4
7
  TON: sha256Hash('TON'),
5
8
  USDT: sha256Hash('USDT'),
6
9
  jUSDT: sha256Hash('jUSDT'),
@@ -10,7 +13,6 @@ export const ASSET_ID = {
10
13
  tgBTC: sha256Hash('tgBTC'),
11
14
  USDe: sha256Hash('USDe'),
12
15
  tsUSDe: sha256Hash('tsUSDe'),
13
- PT_tsUSDe_01Sep2025: sha256Hash('PT_tsUSDe_01Sep2025'),
14
16
 
15
17
  // LP
16
18
  TONUSDT_DEDUST: sha256Hash('TONUSDT_DEDUST'),
@@ -24,6 +26,10 @@ export const ASSET_ID = {
24
26
  CATI: sha256Hash('CATI'),
25
27
  STON: sha256Hash('STON'),
26
28
 
29
+ // STABLE
30
+ PT_tsUSDe_01Sep2025: sha256Hash('PT_tsUSDe_01Sep2025'),
31
+ PT_tsUSDe_18Dec2025: sha256Hash('PT_tsUSDe_18Dec2025'),
32
+
27
33
  // Testnet assets, faucet t.me/evaabuidl
28
34
  EUSDT: sha256Hash('EUSDT'),
29
35
  EUSDC: sha256Hash('EUSDC'),
@@ -169,6 +169,18 @@ export const PT_tsUSDe_01Sep2025_MAINNET: PoolAssetConfig = {
169
169
  )[0],
170
170
  };
171
171
 
172
+ export const PT_tsUSDe_18Dec2025_MAINNET: PoolAssetConfig = {
173
+ name: 'PT_tsUSDe_18Dec2025',
174
+ assetId: ASSET_ID.PT_tsUSDe_18Dec2025,
175
+ jettonMasterAddress: Address.parse('EQBxIkea3baUXLtPVuVaSMsWIkC5S0It3OcM8MeYpPnoEWeM'),
176
+ jettonWalletCode: Cell.fromBoc(
177
+ Buffer.from(
178
+ 'b5ee9c7201020f010003eb000114ff00f4a413f4bcf2c80b0102016202030202ce0405001da0f605da89a1f401f481f48061f05504b3420c700925f04e001d0d3030171b08e85135f03db3ce0fa40fa4031fa003171d721fa0031fa003073a9b40002d31f012082100f8a7ea5ba8e85303459db3ce0208210178d4519ba8e8630444403db3ce035248210595f07bcba80607080900114fa4430c000f2e14d800848020d721ed44d0fa00fa40fa403003d31f018200fff0218210178d4519ba0282107bdd97deba12b1f2f4d33f0130fa003012a002c85003fa0201cf1601cf16c9ed5401f603d33f0101fa00fa4021f002ed44d0fa00fa40fa40305125a15219c705f2e2c127c2fff2e2c2f82a5424207054201314c85003fa0201cf1601cf16c9227871c8cb00cb04cb0012f400f400cb00c95301fa44318100ffaaf7b001f90084f7b0b17074c8cb02ca07cbffc9d003fa40f40431fa0020d749c200f2e2c40a02f2ed44d0fa00fa40fa403007d33f0101fa005141a004fa40fa40f82a5463d07054201314c85003fa0201cf1601cf16c9227871c8cb00cb04cb0012f400f400cb00c92cfa44318100ffaaf7b001f90084f7b0b17074c8cb02ca07cbffc9d053cbc7050cc7051bb1f2e2c309fa005197a121951049385f04e30d030b0c02ce8e843459db3ce06c22ed44d0fa00fa40fa403030312382106d8e5e3cba8e37335222c705f2e2c1820898968070fb02c8801001cb0558cf1670fa027001cb6a8210d53276db01cb1f01d33f013101cb3fc9810082fb00e0038210768a50b2bae3025f03840ff2f00d0e00c4c88210178d451901cb1f500901cb3f5007fa0225cf1601cf1625fa025006cf16c9c8801801cb055003cf1670fa025052775003cb6bcccc2291729171e25007a812a082096e3600a013bcf2e2c503c98040fb0058c85003fa0201cf1601cf16c9ed5400725219a017a1c882107362d09c01cb1f2401cb3f5003fa0201cf165007cf16c9c8801001cb0523cf165005fa0250047158cb6accc971fb001024009e8208989680b60972fb0224d70b01c30002c20012b08e25c8801001cb055004cf1670fa027001cb6a8210d53276db01cb1f5801cb3fc9810082fb0001926c22e202c85003fa0201cf1601cf16c9ed5400deed44d0fa00fa40fa403006d33f0101fa00fa40305141a15238c705f2e2c126c2fff2e2c2048208d59f80a015bcf2e2c3c882107bdd97de01cb1f500401cb3f58fa0222cf1601cf16c9c8801801cb0524cf1670fa02017158cb6accc98040fb0058c85003fa0201cf1601cf16c9ed5400965222c705f2e2c1d33f0101fa40fa00f40430c8801801cb055003cf1670fa0270c882100f8a7ea501cb1f500501cb3f58fa0224cf165004cf16f40070fa02ca00c97158cb6accc98040fb00',
179
+ 'hex',
180
+ ),
181
+ )[0],
182
+ };
183
+
172
184
  export const TONUSDT_STONFI_MAINNET: PoolAssetConfig = {
173
185
  name: 'TONUSDT_STONFI',
174
186
  assetId: ASSET_ID.TONUSDT_STONFI,
@@ -192,3 +204,15 @@ export const STON_MAINNET: PoolAssetConfig = {
192
204
  ),
193
205
  )[0],
194
206
  };
207
+
208
+ export const EVAA_MAINNET: PoolAssetConfig = {
209
+ name: 'EVAA',
210
+ assetId: ASSET_ID.EVAA,
211
+ jettonMasterAddress: Address.parse('EQBKMfjX_a_dsOLm-juxyVZytFP7_KKnzGv6J01kGc72gVBp'),
212
+ jettonWalletCode: Cell.fromBoc(
213
+ Buffer.from(
214
+ 'b5ee9c7201021101000323000114ff00f4a413f4bcf2c80b0102016202030202cc0405001ba0f605da89a1f401f481f481a8610201d40607020120080900c30831c02497c138007434c0c05c6c2544d7c0fc03383e903e900c7e800c5c75c87e800c7e800c1cea6d0000b4c7e08403e29fa954882ea54c4d167c0278208405e3514654882ea58c511100fc02b80d60841657c1ef2ea4d67c02f817c12103fcbc2000113e910c1c2ebcb853600201200a0b0083d40106b90f6a2687d007d207d206a1802698fc1080bc6a28ca9105d41083deecbef09dd0958f97162e99f98fd001809d02811e428027d012c678b00e78b6664f6aa401f1503d33ffa00fa4021f001ed44d0fa00fa40fa40d4305136a1522ac705f2e2c128c2fff2e2c254344270542013541403c85004fa0258cf1601cf16ccc922c8cb0112f400f400cb00c920f9007074c8cb02ca07cbffc9d004fa40f40431fa0020d749c200f2e2c4778018c8cb055008cf1670fa0217cb6b13cc80c0201200d0e009e8210178d4519c8cb1f19cb3f5007fa0222cf165006cf1625fa025003cf16c95005cc2391729171e25008a813a08209c9c380a014bcf2e2c504c98040fb001023c85004fa0258cf1601cf16ccc9ed5402f73b51343e803e903e90350c0234cffe80145468017e903e9014d6f1c1551cdb5c150804d50500f214013e809633c58073c5b33248b232c044bd003d0032c0327e401c1d3232c0b281f2fff274140371c1472c7cb8b0c2be80146a2860822625a019ad822860822625a028062849e5c412440e0dd7c138c34975c2c0600f1000d73b51343e803e903e90350c01f4cffe803e900c145468549271c17cb8b049f0bffcb8b08160824c4b402805af3cb8b0e0841ef765f7b232c7c572cfd400fe8088b3c58073c5b25c60063232c14933c59c3e80b2dab33260103ec01004f214013e809633c58073c5b3327b552000705279a018a182107362d09cc8cb1f5230cb3f58fa025007cf165007cf16c9718010c8cb0524cf165006fa0215cb6a14ccc971fb0010241023007cc30023c200b08e218210d53276db708010c8cb055008cf165004fa0216cb6a12cb1f12cb3fc972fb0093356c21e203c85004fa0258cf1601cf16ccc9ed54',
215
+ 'hex',
216
+ ),
217
+ )[0],
218
+ };
@@ -27,6 +27,7 @@ export const EVAA_PYTH_TOB_VERSION = 0;
27
27
 
28
28
  export const EVAA_USDT_REWARDS_MASTER_MAINNET = Address.parse('EQD22Fhylp1tX-xoVX81aMTSJNPV8j9klwApTLgjGmofISVD');
29
29
  export const EVAA_TON_REWARDS_MASTER_MAINNET = Address.parse('EQDM_gdrntBg4fy5Rg9DgDF0AUu3FYoqxHEOsHNIC4_DTDuC');
30
+ export const EVAA_EVAA_REWARDS_MASTER_MAINNET = Address.parse('EQBLjRyn69hqC9WAVjqjSjF0nnxxWBW-Atx_3T7dCF-tBdnM');
30
31
 
31
32
  export const ORACLES_MAINNET: ExtendedEvaaOracle[] = [
32
33
  {
@@ -8,10 +8,12 @@ import {
8
8
  ASSET_ID,
9
9
  CATI_MAINNET,
10
10
  DOGS_MAINNET,
11
+ EVAA_MAINNET,
11
12
  JUSDC_MAINNET,
12
13
  JUSDT_MAINNET,
13
14
  NOT_MAINNET,
14
15
  PT_tsUSDe_01Sep2025_MAINNET,
16
+ PT_tsUSDe_18Dec2025_MAINNET,
15
17
  STTON_MAINNET,
16
18
  TON_MAINNET,
17
19
  TON_STORM_MAINNET,
@@ -26,6 +28,7 @@ import {
26
28
  import {
27
29
  EVAA_ALTS_MAINNET,
28
30
  EVAA_ALTS_MAINNET_VERSION,
31
+ EVAA_EVAA_REWARDS_MASTER_MAINNET,
29
32
  EVAA_LP_MAINNET,
30
33
  EVAA_LP_MAINNET_VERSION,
31
34
  EVAA_MASTER_MAINNET,
@@ -60,9 +63,15 @@ export const MAINNET_POOL_ASSETS_CONFIG = [
60
63
  TSUSDE_MAINNET,
61
64
  ];
62
65
 
63
- const MAINNET_STABLE_POOL_ASSETS_CONFIG = [USDT_MAINNET, USDE_MAINNET, TSUSDE_MAINNET, PT_tsUSDe_01Sep2025_MAINNET];
66
+ export const MAINNET_STABLE_POOL_ASSETS_CONFIG = [
67
+ USDT_MAINNET,
68
+ USDE_MAINNET,
69
+ TSUSDE_MAINNET,
70
+ PT_tsUSDe_01Sep2025_MAINNET,
71
+ PT_tsUSDe_18Dec2025_MAINNET,
72
+ ];
64
73
 
65
- const MAINNET_LP_POOL_ASSETS_CONFIG = [
74
+ export const MAINNET_LP_POOL_ASSETS_CONFIG = [
66
75
  TON_MAINNET,
67
76
  USDT_MAINNET,
68
77
  TONUSDT_DEDUST_MAINNET,
@@ -71,7 +80,7 @@ const MAINNET_LP_POOL_ASSETS_CONFIG = [
71
80
  TONUSDT_STONFI_MAINNET,
72
81
  ];
73
82
 
74
- const MAINNET_ALTS_POOL_ASSETS_CONFIG = [TON_MAINNET, USDT_MAINNET, CATI_MAINNET, NOT_MAINNET, DOGS_MAINNET];
83
+ export const MAINNET_ALTS_POOL_ASSETS_CONFIG = [TON_MAINNET, USDT_MAINNET, CATI_MAINNET, NOT_MAINNET, DOGS_MAINNET];
75
84
 
76
85
  export const MAINNET_POOL_CONFIG: PoolConfig = {
77
86
  masterAddress: EVAA_MASTER_MAINNET,
@@ -195,6 +204,16 @@ export const MAINNET_MASTER_USDT_REWARD_CONFIG: EvaaRewardsConfig = {
195
204
  publicKey: Buffer.from('9813725d6cead1c9bbc0e24b21d4fc62a7fa8ac4bb01b6758df30169a71dba67', 'hex'), // adminAddress publicKey
196
205
  };
197
206
 
207
+ export const MAINNET_MASTER_EVAA_REWARD_CONFIG: EvaaRewardsConfig = {
208
+ adminAddress: EVAA_EVAA_REWARDS_MASTER_MAINNET,
209
+ evaaMasterAddress: new Address(0, Buffer.alloc(32, 0)),
210
+ rewardMasterCode: EVAA_REWARDS_MASTER_CODE_MAINNET,
211
+ rewardUserCode: EVAA_REWARDS_USER_CODE_MAINNET,
212
+ asset: EVAA_MAINNET,
213
+ availableReward: 0,
214
+ publicKey: Buffer.from('b8eb0e312a9aa6394edceef21573f2d45e7d7a616a924e33190bd52fa31c8bb1', 'hex'), // adminAddress publicKey
215
+ };
216
+
198
217
  export const ALL_MAINNET_POOLS: PoolConfig[] = [
199
218
  MAINNET_POOL_CONFIG,
200
219
  MAINNET_LP_POOL_CONFIG,
@@ -0,0 +1,19 @@
1
+ import { Address } from "@ton/core";
2
+ import { bigIntToBuffer } from "./sha256BigInt";
3
+
4
+ export function calculateCloseAddress(address: Address, closeToAddress: Address): Address {
5
+ const curHashpart = BigInt('0x' + address.hash.toString('hex'));
6
+ const desiredHashpart = BigInt('0x' + closeToAddress.hash.toString('hex'));
7
+
8
+ const rewriteBits = 8;
9
+ const mask = (1n << BigInt(256 - rewriteBits)) - 1n;
10
+ const antimask = invertBigInt(mask, 256);
11
+
12
+ const newHashpart = (curHashpart & mask) | (desiredHashpart & antimask);
13
+ return new Address(0, bigIntToBuffer(newHashpart));
14
+ }
15
+
16
+ function invertBigInt(value: bigint, bits: number): bigint {
17
+ const maxValue = (1n << BigInt(bits)) - 1n;
18
+ return value ^ maxValue;
19
+ }
@@ -1,6 +1,7 @@
1
1
  import { Address, beginCell, Cell, storeStateInit } from '@ton/core';
2
2
  import { PoolAssetConfig } from '../types/Master';
3
3
  import { UNDEFINED_ASSET } from '../constants/assets';
4
+ import { calculateCloseAddress } from './fivaUtils';
4
5
 
5
6
  function getUserJettonData(ownerAddress: Address, assetName: string, jettonWalletCode: Cell, jettonMasterAddress: Address) {
6
7
  switch (assetName) {
@@ -15,6 +16,7 @@ function getUserJettonData(ownerAddress: Address, assetName: string, jettonWalle
15
16
  .storeAddress(jettonMasterAddress)
16
17
  .endCell();
17
18
  case 'PT_tsUSDe_01Sep2025':
19
+ case 'PT_tsUSDe_18Dec2025':
18
20
  return beginCell()
19
21
  .storeCoins(0)
20
22
  .storeAddress(ownerAddress)
@@ -67,7 +69,7 @@ export function getUserJettonWallet(ownerAddress: Address, poolAssetConfig: Pool
67
69
 
68
70
  const jettonData = getUserJettonData(ownerAddress, assetName, jettonWalletCode, poolAssetConfig.jettonMasterAddress);
69
71
 
70
- const stateInit = beginCell()
72
+ let stateInit = beginCell()
71
73
  .store(
72
74
  storeStateInit({
73
75
  code: jettonWalletCode,
@@ -76,5 +78,20 @@ export function getUserJettonWallet(ownerAddress: Address, poolAssetConfig: Pool
76
78
  )
77
79
  .endCell();
78
80
 
81
+
82
+ if (poolAssetConfig.name === 'PT_tsUSDe_18Dec2025') {
83
+ stateInit = beginCell()
84
+ .storeUint(1, 1) // fixed_prefix_length
85
+ .storeUint(8, 5) // rewrite_bits
86
+ .storeUint(0, 1) // special (Maybe=0)
87
+ .storeMaybeRef(jettonWalletCode) // code (Maybe)
88
+ .storeMaybeRef(jettonData) // data (Maybe)
89
+ .storeUint(0, 1) // libraries empty
90
+ .endCell();
91
+
92
+ const addr = new Address(0, stateInit.hash());
93
+ return calculateCloseAddress(addr, poolAssetConfig.jettonMasterAddress);
94
+ }
95
+
79
96
  return new Address(0, stateInit.hash());
80
97
  }