Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
YottaChain
YTBP
提交
6d155880
Y
YTBP
项目概览
YottaChain
/
YTBP
通知
0
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Y
YTBP
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
6d155880
编写于
7月 05, 2019
作者:
W
Wang Zhi
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
hddpool contract : storepool mgmt
上级
7e369333
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
54 addition
and
6 deletion
+54
-6
contracts/hddpool/hddpool.abi
contracts/hddpool/hddpool.abi
+19
-0
contracts/hddpool/hddpool.cpp
contracts/hddpool/hddpool.cpp
+34
-6
contracts/hddpool/hddpool.hpp
contracts/hddpool/hddpool.hpp
+1
-0
未找到文件。
contracts/hddpool/hddpool.abi
浏览文件 @
6d155880
...
...
@@ -143,6 +143,20 @@
}
]
},
{
"name": "chgpoolspace",
"base": "",
"fields": [
{
"name": "pool_id",
"type": "name"
},
{
"name": "max_space",
"type": "uint64"
}
]
},
{
"name": "newminer",
"base": "",
...
...
@@ -545,6 +559,11 @@
"type": "regstrpool",
"ricardian_contract": ""
},
{
"name": "chgpoolspace",
"type": "chgpoolspace",
"ricardian_contract": ""
},
{
"name": "newminer",
"type": "newminer",
...
...
contracts/hddpool/hddpool.cpp
浏览文件 @
6d155880
...
...
@@ -503,6 +503,12 @@ void hddpool::clearall(name owner)
{
require_auth
(
_self
);
print
(
"clearall -----------------
\n
"
);
print
(
"clearall -----------------
\n
"
);
print
(
"clearall -----------------
\n
"
);
eosio_assert
(
1
==
2
,
"clearall failue"
);
/*
account_name producers[21];
uint32_t bytes_populated = get_active_producers(producers, sizeof(account_name) * 21);
uint32_t count = bytes_populated / sizeof(account_name);
...
...
@@ -510,6 +516,7 @@ void hddpool::clearall(name owner)
{
print("producer -", (name{producers[i]}), "--\n");
}
*/
/*
minerinfo_table _minerinfo( _self , _self );
...
...
@@ -647,21 +654,42 @@ void hddpool::clsallpools()
void
hddpool
::
regstrpool
(
name
pool_id
,
name
pool_owner
,
uint64_t
max_space
)
{
require_auth
(
_self
);
eosio_assert
(
is_account
(
pool_owner
),
"pool_owner invalidate"
);
//require_auth(_self);
require_auth
(
pool_owner
);
storepool_index
_storepool
(
_self
,
_self
);
auto
itmstorepool
=
_storepool
.
find
(
pool_id
.
value
);
eosio_assert
(
itmstorepool
==
_storepool
.
end
(),
"storepool already registered
\n
"
);
eosio_assert
(
itmstorepool
==
_storepool
.
end
(),
"storepool already registered"
);
_storepool
.
emplace
(
_self
,
[
&
](
auto
&
row
)
{
row
.
pool_id
=
pool_id
;
row
.
pool_owner
=
pool_owner
;
row
.
max_space
=
max_space
;
row
.
space_left
=
max_space
;
//row.max_space = max_space;
//row.space_left = max_space;
row
.
max_space
=
0
;
row
.
space_left
=
0
;
});
}
void
hddpool
::
chgpoolspace
(
name
pool_id
,
uint64_t
max_space
)
{
require_auth
(
_self
);
storepool_index
_storepool
(
_self
,
_self
);
auto
itmstorepool
=
_storepool
.
find
(
pool_id
.
value
);
eosio_assert
(
itmstorepool
!=
_storepool
.
end
(),
"storepool not exist"
);
_storepool
.
modify
(
itmstorepool
,
_self
,
[
&
](
auto
&
row
)
{
uint64_t
space_used
=
row
.
max_space
-
row
.
space_left
;
row
.
max_space
=
max_space
;
if
(
space_used
>=
max_space
)
row
.
space_left
=
0
;
else
row
.
space_left
=
max_space
-
space_used
;
});
}
void
hddpool
::
addm2pool
(
uint64_t
minerid
,
name
pool_id
,
name
minerowner
,
uint64_t
max_space
)
{
eosio_assert
(
is_account
(
minerowner
),
"pool_owner invalidate"
);
...
...
@@ -859,5 +887,5 @@ asset exchange_state::convert(asset from, symbol_type to)
}
EOSIO_ABI
(
hddpool
,
(
getbalance
)(
buyhdd
)(
sellhdd
)(
sethfee
)(
subbalance
)(
addhspace
)(
subhspace
)(
addmprofit
)(
clearall
)
(
calcmbalance
)(
clsallpools
)(
regstrpool
)(
newminer
)(
addm2pool
)
(
calcmbalance
)(
clsallpools
)(
regstrpool
)(
chgpoolspace
)(
newminer
)(
addm2pool
)
(
mdeactive
)(
mactive
))
contracts/hddpool/hddpool.hpp
浏览文件 @
6d155880
...
...
@@ -72,6 +72,7 @@ public:
//store pool related actions -- start
void
clsallpools
();
void
regstrpool
(
name
pool_id
,
name
pool_owner
,
uint64_t
max_space
);
void
chgpoolspace
(
name
pool_id
,
uint64_t
max_space
);
void
addm2pool
(
uint64_t
minerid
,
name
pool_id
,
name
minerowner
,
uint64_t
max_space
);
//store pool related actions -- end
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录