-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathIRootTokenContract.sol
37 lines (29 loc) · 1.05 KB
/
IRootTokenContract.sol
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
pragma solidity >= 0.6.0;
interface IRootTokenContract {
struct IRootTokenContractDetails {
bytes name;
bytes symbol;
uint8 decimals;
TvmCell wallet_code;
uint256 root_public_key;
address root_owner_address;
uint128 total_supply;
}
function getDetails() external view returns (IRootTokenContractDetails);
function getWalletAddress(uint256 wallet_public_key, address owner_address) external view returns(address);
function deployWallet(
uint128 tokens,
uint128 deploy_grams,
uint256 wallet_public_key,
address owner_address,
address gas_back_address
) external returns(address);
function deployEmptyWallet(
uint128 deploy_grams,
uint256 wallet_public_key,
address owner_address,
address gas_back_address
) external returns(address);
function mint(uint128 tokens, address to) external;
function sendExpectedWalletAddress(uint256 wallet_public_key_, address owner_address_, address to) external;
}