@evaafi/sdk 0.6.2-c → 0.6.3
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/constants/assets.d.ts +5 -1
- package/dist/constants/assets.js +24 -9
- package/dist/constants/general.d.ts +17 -1
- package/dist/constants/general.js +19 -3
- package/dist/constants/pools.d.ts +6 -1
- package/dist/constants/pools.js +45 -25
- package/dist/index.d.ts +9 -2
- package/dist/index.js +22 -2
- package/dist/rewards/EvaaRewards.d.ts +10 -0
- package/dist/rewards/EvaaRewards.js +21 -0
- package/dist/rewards/JettonMinter.d.ts +30 -0
- package/dist/rewards/JettonMinter.js +83 -0
- package/dist/rewards/JettonWallet.d.ts +23 -0
- package/dist/rewards/JettonWallet.js +60 -0
- package/dist/rewards/RewardMaster.d.ts +26 -0
- package/dist/rewards/RewardMaster.js +83 -0
- package/dist/rewards/RewardUser.d.ts +23 -0
- package/dist/rewards/RewardUser.js +70 -0
- package/dist/types/MasterRewards.d.ts +13 -0
- package/dist/types/MasterRewards.js +2 -0
- package/dist/types/UserRewards.d.ts +10 -0
- package/dist/types/UserRewards.js +2 -0
- package/dist/utils/sha256BigInt.d.ts +2 -0
- package/dist/utils/sha256BigInt.js +9 -1
- package/dist/utils/userJettonWallet.js +7 -0
- package/package.json +42 -42
- package/src/constants/assets.ts +91 -65
- package/src/constants/general.ts +31 -3
- package/src/constants/pools.ts +90 -27
- package/src/index.ts +20 -2
- package/src/rewards/EvaaRewards.ts +23 -0
- package/src/rewards/JettonMinter.ts +113 -0
- package/src/rewards/JettonWallet.ts +77 -0
- package/src/rewards/RewardMaster.ts +110 -0
- package/src/rewards/RewardUser.ts +90 -0
- package/src/types/Master.ts +1 -1
- package/src/types/MasterRewards.ts +13 -0
- package/src/types/UserRewards.ts +10 -0
- package/src/utils/sha256BigInt.ts +8 -0
- package/src/utils/userJettonWallet.ts +39 -33
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.JettonWallet = void 0;
|
|
4
|
+
const ton_1 = require("@ton/ton");
|
|
5
|
+
const general_1 = require("../constants/general");
|
|
6
|
+
class JettonWallet {
|
|
7
|
+
constructor(address, init) {
|
|
8
|
+
this.address = address;
|
|
9
|
+
this.init = init;
|
|
10
|
+
}
|
|
11
|
+
static createFromAddress(address) {
|
|
12
|
+
return new JettonWallet(address);
|
|
13
|
+
}
|
|
14
|
+
static jettonWalletConfigToCell(config) {
|
|
15
|
+
return (0, ton_1.beginCell)()
|
|
16
|
+
.storeCoins(0) // baseTrackingAccured always is 0, check smartcontract
|
|
17
|
+
.storeAddress(config.owner)
|
|
18
|
+
.storeAddress(config.minter)
|
|
19
|
+
.storeRef(config.walletCode)
|
|
20
|
+
.endCell();
|
|
21
|
+
}
|
|
22
|
+
static createFromConfig(config, code, workchain = 0) {
|
|
23
|
+
const data = this.jettonWalletConfigToCell(config);
|
|
24
|
+
const init = { code, data };
|
|
25
|
+
return new JettonWallet((0, ton_1.contractAddress)(workchain, init), init);
|
|
26
|
+
}
|
|
27
|
+
async sendDeploy(provider, via, value) {
|
|
28
|
+
await provider.internal(via, {
|
|
29
|
+
value,
|
|
30
|
+
sendMode: ton_1.SendMode.PAY_GAS_SEPARATELY,
|
|
31
|
+
body: (0, ton_1.beginCell)().endCell(),
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
async sendTransfer(provider, via, value, forwardValue, recipient, amount, forwardPayload) {
|
|
35
|
+
await provider.internal(via, {
|
|
36
|
+
sendMode: ton_1.SendMode.PAY_GAS_SEPARATELY,
|
|
37
|
+
body: (0, ton_1.beginCell)()
|
|
38
|
+
.storeUint(general_1.OPCODES.REWARD_JETTON_TRANSFER, 32)
|
|
39
|
+
.storeUint(0, 64)
|
|
40
|
+
.storeCoins(amount)
|
|
41
|
+
.storeAddress(recipient)
|
|
42
|
+
.storeAddress(via.address)
|
|
43
|
+
.storeUint(0, 1)
|
|
44
|
+
.storeCoins(forwardValue)
|
|
45
|
+
.storeUint(1, 1)
|
|
46
|
+
.storeRef(forwardPayload)
|
|
47
|
+
.endCell(),
|
|
48
|
+
value: value + forwardValue,
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
async getJettonBalance(provider) {
|
|
52
|
+
let state = await provider.getState();
|
|
53
|
+
if (state.state.type !== 'active') {
|
|
54
|
+
return 0n;
|
|
55
|
+
}
|
|
56
|
+
let res = await provider.get('get_wallet_data', []);
|
|
57
|
+
return res.stack.readBigNumber();
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
exports.JettonWallet = JettonWallet;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { Address, Cell, Contract, ContractProvider, Sender, StateInit } from '@ton/ton';
|
|
3
|
+
import { Maybe } from '@ton/ton/dist/utils/maybe';
|
|
4
|
+
import { EvaaRewardsConfig } from '../types/MasterRewards';
|
|
5
|
+
export declare class RewardMaster implements Contract {
|
|
6
|
+
readonly address: Address;
|
|
7
|
+
readonly init?: Maybe<StateInit>;
|
|
8
|
+
constructor(address: Address, init?: Maybe<StateInit>);
|
|
9
|
+
static createFromAddress(address: Address): RewardMaster;
|
|
10
|
+
static rewardMasterConfigToCell(config: EvaaRewardsConfig): Cell;
|
|
11
|
+
static createFromConfig(config: EvaaRewardsConfig, workchain?: number): RewardMaster;
|
|
12
|
+
sendDeploy(provider: ContractProvider, via: Sender, rewardTokenJettonWalletAddress: Address | null): Promise<void>;
|
|
13
|
+
sendTonTopUp(provider: ContractProvider, via: Sender, topUpRewardAmount: number): Promise<void>;
|
|
14
|
+
private adminWithdrawMessage;
|
|
15
|
+
sendAdminWithdraw(provider: ContractProvider, via: Sender, destinationAddress: Address, jettonAmount: number): Promise<void>;
|
|
16
|
+
getData(provider: ContractProvider): Promise<{
|
|
17
|
+
adminAddress: Address;
|
|
18
|
+
availableReward: number;
|
|
19
|
+
rewardUserCode: Cell;
|
|
20
|
+
evaaMasterAddress: Address;
|
|
21
|
+
rewardTokenJettonWalletAddress: Address | null;
|
|
22
|
+
assetId: Buffer;
|
|
23
|
+
publicKey: Buffer;
|
|
24
|
+
}>;
|
|
25
|
+
getRewardUserAddress(provider: ContractProvider, userAddress: Address): Promise<Address>;
|
|
26
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RewardMaster = void 0;
|
|
4
|
+
const ton_1 = require("@ton/ton");
|
|
5
|
+
const general_1 = require("../constants/general");
|
|
6
|
+
const sha256BigInt_1 = require("../utils/sha256BigInt");
|
|
7
|
+
class RewardMaster {
|
|
8
|
+
constructor(address, init) {
|
|
9
|
+
this.address = address;
|
|
10
|
+
this.init = init;
|
|
11
|
+
}
|
|
12
|
+
static createFromAddress(address) {
|
|
13
|
+
return new RewardMaster(address);
|
|
14
|
+
}
|
|
15
|
+
static rewardMasterConfigToCell(config) {
|
|
16
|
+
return (0, ton_1.beginCell)()
|
|
17
|
+
.storeAddress(config.adminAddress)
|
|
18
|
+
.storeCoins(config.availableReward)
|
|
19
|
+
.storeAddress(null) // The addres null for TON
|
|
20
|
+
.storeRef(config.rewardUserCode)
|
|
21
|
+
.storeRef((0, ton_1.beginCell)()
|
|
22
|
+
.storeAddress(config.evaaMasterAddress)
|
|
23
|
+
.storeBuffer((0, sha256BigInt_1.bigIntToBuffer)(config.asset.assetId), 256 / 8)
|
|
24
|
+
.storeBuffer(config.publicKey, 256 / 8)
|
|
25
|
+
.endCell())
|
|
26
|
+
.endCell();
|
|
27
|
+
}
|
|
28
|
+
static createFromConfig(config, workchain = 0) {
|
|
29
|
+
const data = this.rewardMasterConfigToCell(config);
|
|
30
|
+
const init = { code: config.rewardMasterCode, data };
|
|
31
|
+
return new RewardMaster((0, ton_1.contractAddress)(workchain, init), init);
|
|
32
|
+
}
|
|
33
|
+
async sendDeploy(provider, via, rewardTokenJettonWalletAddress) {
|
|
34
|
+
await provider.internal(via, {
|
|
35
|
+
value: general_1.FEES.REWARD_MASTER_DEPLOY,
|
|
36
|
+
sendMode: ton_1.SendMode.PAY_GAS_SEPARATELY,
|
|
37
|
+
body: (0, ton_1.beginCell)().storeUint(1, 32).storeUint(0, 64).storeAddress(rewardTokenJettonWalletAddress).endCell(),
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
async sendTonTopUp(provider, via, topUpRewardAmount) {
|
|
41
|
+
await provider.internal(via, {
|
|
42
|
+
value: (0, ton_1.toNano)(topUpRewardAmount) + general_1.FEES.REWARD_MASTER_TON_TOP_UP,
|
|
43
|
+
sendMode: ton_1.SendMode.PAY_GAS_SEPARATELY,
|
|
44
|
+
body: (0, ton_1.beginCell)().storeUint(general_1.OPCODES.REWARD_TON_TOP_UP, 32).storeUint(0, 64).endCell(),
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
adminWithdrawMessage(destinationAddress, jettonAmount) {
|
|
48
|
+
return (0, ton_1.beginCell)()
|
|
49
|
+
.storeUint(4, 32)
|
|
50
|
+
.storeUint(0, 64)
|
|
51
|
+
.storeAddress(destinationAddress)
|
|
52
|
+
.storeCoins((0, ton_1.toNano)(jettonAmount))
|
|
53
|
+
.endCell();
|
|
54
|
+
}
|
|
55
|
+
async sendAdminWithdraw(provider, via, destinationAddress, jettonAmount) {
|
|
56
|
+
await provider.internal(via, {
|
|
57
|
+
value: general_1.FEES.REWARD_MASTER_WITHDRAW,
|
|
58
|
+
sendMode: ton_1.SendMode.PAY_GAS_SEPARATELY,
|
|
59
|
+
body: this.adminWithdrawMessage(destinationAddress, jettonAmount),
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
async getData(provider) {
|
|
63
|
+
const result = await provider.get('load_data', []);
|
|
64
|
+
const data = {
|
|
65
|
+
// TODO: maybe it will be typed
|
|
66
|
+
adminAddress: result.stack.readAddress(),
|
|
67
|
+
availableReward: Number((0, ton_1.fromNano)(result.stack.readBigNumber())),
|
|
68
|
+
rewardUserCode: result.stack.readCell(),
|
|
69
|
+
evaaMasterAddress: result.stack.readAddress(),
|
|
70
|
+
rewardTokenJettonWalletAddress: result.stack.readAddressOpt(),
|
|
71
|
+
assetId: Buffer.from(result.stack.readBigNumber().toString(16), 'hex'),
|
|
72
|
+
publicKey: Buffer.from(result.stack.readBigNumber().toString(16), 'hex'),
|
|
73
|
+
};
|
|
74
|
+
return data;
|
|
75
|
+
}
|
|
76
|
+
async getRewardUserAddress(provider, userAddress) {
|
|
77
|
+
const result = await provider.get('calculate_reward_user_address', [
|
|
78
|
+
{ type: 'slice', cell: (0, ton_1.beginCell)().storeAddress(userAddress).endCell() },
|
|
79
|
+
]);
|
|
80
|
+
return result.stack.readAddress();
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
exports.RewardMaster = RewardMaster;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { Address, Cell, Contract, ContractProvider, Sender, StateInit } from '@ton/ton';
|
|
3
|
+
import { Maybe } from '@ton/ton/dist/utils/maybe';
|
|
4
|
+
import { EvaaUserRewardsConfig } from '../types/UserRewards';
|
|
5
|
+
export declare class RewardUser implements Contract {
|
|
6
|
+
readonly address: Address;
|
|
7
|
+
readonly init?: Maybe<StateInit>;
|
|
8
|
+
constructor(address: Address, init?: Maybe<StateInit>);
|
|
9
|
+
static createFromAddress(address: Address): RewardUser;
|
|
10
|
+
static rewardUserConfigToCell(config: EvaaUserRewardsConfig): Cell;
|
|
11
|
+
static createFromConfig(config: EvaaUserRewardsConfig, workchain?: number): RewardUser;
|
|
12
|
+
sendDeploy(provider: ContractProvider, via: Sender): Promise<void>;
|
|
13
|
+
claimMessageToCell(claimAmount: bigint): Cell;
|
|
14
|
+
signClaimMessage(claimBody: Cell, privateKey: Buffer): Cell;
|
|
15
|
+
sendClaim(provider: ContractProvider, via: Sender, signedClaimMessage: Cell): Promise<void>;
|
|
16
|
+
getData(provider: ContractProvider): Promise<{
|
|
17
|
+
userAddress: Address;
|
|
18
|
+
baseTrackingAccrued: number;
|
|
19
|
+
rewardMasterAddress: Address;
|
|
20
|
+
assetId: Buffer;
|
|
21
|
+
publicKey: Buffer;
|
|
22
|
+
}>;
|
|
23
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RewardUser = void 0;
|
|
4
|
+
const crypto_1 = require("@ton/crypto");
|
|
5
|
+
const ton_1 = require("@ton/ton");
|
|
6
|
+
const general_1 = require("../constants/general");
|
|
7
|
+
const sha256BigInt_1 = require("../utils/sha256BigInt");
|
|
8
|
+
class RewardUser {
|
|
9
|
+
constructor(address, init) {
|
|
10
|
+
this.address = address;
|
|
11
|
+
this.init = init;
|
|
12
|
+
}
|
|
13
|
+
static createFromAddress(address) {
|
|
14
|
+
return new RewardUser(address);
|
|
15
|
+
}
|
|
16
|
+
static rewardUserConfigToCell(config) {
|
|
17
|
+
return (0, ton_1.beginCell)()
|
|
18
|
+
.storeAddress(config.userAddress)
|
|
19
|
+
.storeCoins(0)
|
|
20
|
+
.storeRef((0, ton_1.beginCell)()
|
|
21
|
+
.storeAddress(config.rewardMasterAddress)
|
|
22
|
+
.storeBuffer((0, sha256BigInt_1.bigIntToBuffer)(config.asset.assetId), 256 / 8)
|
|
23
|
+
.storeBuffer(config.publicKey, 256 / 8)
|
|
24
|
+
.endCell())
|
|
25
|
+
.endCell();
|
|
26
|
+
}
|
|
27
|
+
static createFromConfig(config, workchain = 0) {
|
|
28
|
+
const data = this.rewardUserConfigToCell(config);
|
|
29
|
+
const init = { code: config.rewardUserCode, data };
|
|
30
|
+
return new RewardUser((0, ton_1.contractAddress)(workchain, init), init);
|
|
31
|
+
}
|
|
32
|
+
async sendDeploy(provider, via) {
|
|
33
|
+
await provider.internal(via, {
|
|
34
|
+
value: general_1.FEES.REWARD_MASTER_DEPLOY,
|
|
35
|
+
sendMode: ton_1.SendMode.PAY_GAS_SEPARATELY,
|
|
36
|
+
body: (0, ton_1.beginCell)().endCell(),
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
claimMessageToCell(claimAmount) {
|
|
40
|
+
return (0, ton_1.beginCell)().storeAddress(this.address).storeCoins(claimAmount).endCell();
|
|
41
|
+
}
|
|
42
|
+
signClaimMessage(claimBody, privateKey) {
|
|
43
|
+
return (0, ton_1.beginCell)()
|
|
44
|
+
.storeUint(general_1.OPCODES.REWARD_CLAIM, 32)
|
|
45
|
+
.storeUint(0, 64)
|
|
46
|
+
.storeBuffer((0, crypto_1.sign)(claimBody.hash(), privateKey))
|
|
47
|
+
.storeRef(claimBody)
|
|
48
|
+
.endCell();
|
|
49
|
+
}
|
|
50
|
+
async sendClaim(provider, via, signedClaimMessage) {
|
|
51
|
+
await provider.internal(via, {
|
|
52
|
+
value: general_1.FEES.REWARD_USER_CLAIM,
|
|
53
|
+
sendMode: ton_1.SendMode.PAY_GAS_SEPARATELY,
|
|
54
|
+
body: signedClaimMessage,
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
async getData(provider) {
|
|
58
|
+
const result = await provider.get('load_data', []);
|
|
59
|
+
// TODO: maybe it will be typed
|
|
60
|
+
const data = {
|
|
61
|
+
userAddress: result.stack.readAddress(),
|
|
62
|
+
baseTrackingAccrued: Number((0, ton_1.fromNano)(result.stack.readBigNumber())),
|
|
63
|
+
rewardMasterAddress: result.stack.readAddress(),
|
|
64
|
+
assetId: Buffer.from(result.stack.readBigNumber().toString(16), 'hex'),
|
|
65
|
+
publicKey: Buffer.from(result.stack.readBigNumber().toString(16), 'hex'),
|
|
66
|
+
};
|
|
67
|
+
return data;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
exports.RewardUser = RewardUser;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { Address, Cell } from '@ton/ton';
|
|
3
|
+
import { PoolAssetConfig } from './Master';
|
|
4
|
+
export type EvaaRewardsConfig = {
|
|
5
|
+
workchain?: number;
|
|
6
|
+
adminAddress: Address;
|
|
7
|
+
evaaMasterAddress: Address;
|
|
8
|
+
availableReward: number;
|
|
9
|
+
asset: PoolAssetConfig;
|
|
10
|
+
rewardMasterCode: Cell;
|
|
11
|
+
rewardUserCode: Cell;
|
|
12
|
+
publicKey: Buffer;
|
|
13
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { Address, Cell } from '@ton/ton';
|
|
3
|
+
import { PoolAssetConfig } from './Master';
|
|
4
|
+
export type EvaaUserRewardsConfig = {
|
|
5
|
+
userAddress: Address;
|
|
6
|
+
rewardUserCode: Cell;
|
|
7
|
+
rewardMasterAddress: Address;
|
|
8
|
+
asset: PoolAssetConfig;
|
|
9
|
+
publicKey: Buffer;
|
|
10
|
+
};
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.sha256Hash = void 0;
|
|
6
|
+
exports.bigIntToBuffer = exports.sha256Hash = void 0;
|
|
7
7
|
const sha256_1 = __importDefault(require("crypto-js/sha256"));
|
|
8
8
|
function sha256Hash(input) {
|
|
9
9
|
const hash = (0, sha256_1.default)(input);
|
|
@@ -11,3 +11,11 @@ function sha256Hash(input) {
|
|
|
11
11
|
return BigInt('0x' + hashHex);
|
|
12
12
|
}
|
|
13
13
|
exports.sha256Hash = sha256Hash;
|
|
14
|
+
function bigIntToBuffer(value) {
|
|
15
|
+
let hex = value.toString(16);
|
|
16
|
+
if (hex.length % 2) {
|
|
17
|
+
hex = '0' + hex;
|
|
18
|
+
}
|
|
19
|
+
return Buffer.from(hex, 'hex');
|
|
20
|
+
}
|
|
21
|
+
exports.bigIntToBuffer = bigIntToBuffer;
|
|
@@ -31,6 +31,13 @@ function getUserJettonData(ownerAddress, assetName, jettonWalletCode, jettonMast
|
|
|
31
31
|
.storeCoins(0)
|
|
32
32
|
.storeUint(0, 48)
|
|
33
33
|
.endCell();
|
|
34
|
+
case 'tgBTC':
|
|
35
|
+
return (0, core_1.beginCell)()
|
|
36
|
+
.storeUint(0, 4)
|
|
37
|
+
.storeCoins(0)
|
|
38
|
+
.storeAddress(ownerAddress)
|
|
39
|
+
.storeAddress(jettonMasterAddress)
|
|
40
|
+
.endCell();
|
|
34
41
|
default:
|
|
35
42
|
return (0, core_1.beginCell)().storeCoins(0)
|
|
36
43
|
.storeAddress(ownerAddress)
|
package/package.json
CHANGED
|
@@ -1,44 +1,44 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
2
|
+
"name": "@evaafi/sdk",
|
|
3
|
+
"version": "0.6.3",
|
|
4
|
+
"description": "The EVAA SDK is designed to easily integrate with the EVAA lending protocol on TON blockchain.",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"files": [
|
|
7
|
+
"dist",
|
|
8
|
+
"src"
|
|
9
|
+
],
|
|
10
|
+
"scripts": {
|
|
11
|
+
"build": "tsc --declaration",
|
|
12
|
+
"test": "jest"
|
|
13
|
+
},
|
|
14
|
+
"repository": {
|
|
15
|
+
"type": "git",
|
|
16
|
+
"url": "git+https://github.com/evaafi/sdk.git"
|
|
17
|
+
},
|
|
18
|
+
"author": "EVAA Finance",
|
|
19
|
+
"license": "MIT",
|
|
20
|
+
"homepage": "https://github.com/evaafi/sdk#readme",
|
|
21
|
+
"devDependencies": {
|
|
22
|
+
"@orbs-network/ton-access": "^2.3.3",
|
|
23
|
+
"@ton/core": "0.56.0",
|
|
24
|
+
"@ton/crypto": "^3.3.0",
|
|
25
|
+
"@tonconnect/sdk": "3.0.5",
|
|
26
|
+
"@types/jest": "^29.5.12",
|
|
27
|
+
"@types/node": "^20.10.4",
|
|
28
|
+
"crypto-js": "4.2.0",
|
|
29
|
+
"prettier": "3.2.4",
|
|
30
|
+
"ts-jest": "^29.2.4",
|
|
31
|
+
"ts-node": "^10.9.1",
|
|
32
|
+
"typedoc": "0.27.4",
|
|
33
|
+
"typescript": "5.3.3"
|
|
34
|
+
},
|
|
35
|
+
"peerDependencies": {
|
|
36
|
+
"@ton/core": ">=0.56.0",
|
|
37
|
+
"@tonconnect/sdk": ">=3.0.0",
|
|
38
|
+
"crypto-js": ">=4.2.0"
|
|
39
|
+
},
|
|
40
|
+
"dependencies": {
|
|
41
|
+
"@ton/ton": "14.0.0",
|
|
42
|
+
"dotenv": "16.4.5"
|
|
43
|
+
}
|
|
44
44
|
}
|