-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinterface_trc100.sol
More file actions
98 lines (85 loc) · 4.14 KB
/
interface_trc100.sol
File metadata and controls
98 lines (85 loc) · 4.14 KB
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.7.0 <0.9.0;
/*
trc100 分片合约规范,是母链分片管理的唯一途径,也是每个分片的唯一运营合约,决定着当前分片的整个生命周期。
每个分片的运营实体,可以根据自身发展需要,实现不同属性和能力的对应接口。
*/
interface interface_trc100 {
//更新合约地址
function upateTrc100(address addr) external returns (bool,uint256);
function trc100Addr(address selfaddr)external returns (address,address,address,address,address,address,address);
/*
申请分片
该接口只有在主分片中执行才有效
sender: 检查合法申请人
content: 分片号说明
type: 分片类型(动态分片、静态分片)
*/
function applyslice(address submit)external returns (uint256);
function applyStaticSlice(address submit)external returns (uint256);
//查询动态分片数量
function QuerySliceSize()external returns(uint256);
/*
检查分片有效性
*/
function checkslice(uint256 slicetype,uint256 no)external returns (bool,address);
function QuerySliceInfo(uint256 begin ,uint256 _len)view external returns(bool success, address[] memory,uint256[] memory,uint256[] memory);
//配置分片矿池权重
function setSliceWeight(uint256 no,uint256 weight)external returns (uint256);
//增加RWA平台
function addRwaMiner(address miner)external returns (uint256);
//删除RWA平台
function removeRwaMiner(address miner)external returns (uint256);
/*
锁定平台代币
可以自愿锁定一定数量的平台代币,在一定时间内线性释放或到期一次性释放
该接口只有地址本人提交才有效
begin:启始日期
nums:代币数量
days:锁定天数
type:(逐天释放、到期释放)
*/
function lockToken(address sender,uint256 begin,uint256 nums,uint256 _days, uint256 _type)external returns (bool,uint256);
/*
查询平台代币锁定信息
*/
function lockTokenInfo()external returns (bool success,address[] memory addrs,uint256[] memory begin,uint256[] memory nums,uint256[] memory _days, uint256[] memory _type);
/*
解除锁定
*/
function unlockToken(address sender)external returns(bool,uint256);
//确认权限
function confirminfo() external returns (uint256,uint256);
//提交提案
function submitpropose(address submit,address addr,bytes32 _contentmark,uint256 _days,uint256 _type,uint256 amount)external returns (bool,uint256);
//投票
function voteing(uint256 _type,uint256 _op,address voter,uint256 amount)external returns (bool,uint256);
//执行提案
function runpropose(uint256 _type)external returns(bool success,uint256 result,uint256 _type1,address addr,bytes32 markid);
//查询提案状态
function QueryPropose(uint256 _type,address sender)external returns(address,bool,uint256,address,bytes32,uint256,uint256,bool);
//查询提案投票信息
function queryVoteInfo(uint256 _type) external returns(uint256,uint256,uint256,uint256);
//删除提案
function removepropose(address submit,uint256 _type) external returns(bool);
////////////静态分片个性接口
/*
增加准入网络节点ID
*/
function addnode(bytes32 s,bytes32 content)external returns (bool success);
function addnodes(bytes32[] memory s,bytes32[] memory content)external returns (bool success);
/*
删除准入网络节点ID
*/
function delnode(bytes32 s) external returns (bool success);
/*
网络节点ID信息
*/
function nodeinfo(uint256 begin,uint256 _len) external returns(bool success, bytes32[] memory ss, bytes32[] memory content);
function SetCoinbase(address coin)external returns(uint256);
function CoinbaseOf()external returns(bool,address);
//跨链
function transsend(address submit,address addr,uint256 amount,uint256 destsliceno,uint256 nonce) external returns (uint256);
function authsend(address submit,uint256 nonce,address addr,uint256 destsliceno) external returns (uint256);
function transrecv(address submit,uint256 nonce,address addr,uint256 amount,uint256 sousliceno) external returns (uint256);
}