提交 d71bc4ac 编写于 作者: W wangxxzhiyy

update contracts

上级 4ad559c7
......@@ -274,7 +274,7 @@ void hdddeposit::mchgdepacc(uint64_t minerid, name new_depacc) {
eosio_assert( acc_new.deposit_free.amount >= miner.dep_total.amount, "new deposit user free deposit not enough" );
eosio_assert(hddpool::get_miner_pool(minerid) == new_depacc, "minerid not exist in new_depacc's storepool ");
eosio_assert(hddpool::get_miner_pool_owner(minerid) == new_depacc, "minerid not exist in new_depacc's storepool ");
//变更原抵押账户的押金数量
......
......@@ -732,7 +732,7 @@ void hddpool::mchgstrpool(uint64_t minerid, name new_poolid)
auto itstorepool = _storepool.find(new_poolid.value);
eosio_assert(itstorepool != _storepool.end(), "storepool not registered");
//require_auth(itminerinfo->admin);
require_auth(itminerinfo->admin);
require_auth(itstorepool->pool_owner);
//归还旧矿池空间
......@@ -773,6 +773,9 @@ void hddpool::mchgspace(uint64_t minerid, uint64_t max_space)
require_auth(itminerinfo->admin);
name pool_owner = get_miner_pool_owner(minerid);
require_auth(pool_owner);
//--- check miner deposit and max_space
asset deposit = hdddeposit(hdd_deposit).get_miner_deposit(minerid);
eosio_assert(hdddeposit(hdd_deposit).is_deposit_enough(deposit, max_space),"deposit not enough for miner's max_space -- addm2pool");
......@@ -837,6 +840,10 @@ void hddpool::mchgowneracc(uint64_t minerid, name new_owneracc)
eosio_assert(itmaccount_old != _maccount_old.end(), "minerid not register");
uint64_t space = itmaccount_old->space;
name pool_owner = get_miner_pool_owner(minerid);
require_auth(pool_owner);
uint64_t tmp_t = current_time();
//结算旧owner账户当前的收益
......
......@@ -215,15 +215,31 @@ public:
return 0;
}
static name get_miner_pool(uint64_t minerid)
static name get_miner_pool_id(uint64_t minerid)
{
name pool;
name pool_id;
minerinfo_table _minerinfo( N(hddpool12345) , N(hddpool12345) );
auto itminerinfo = _minerinfo.find(minerid);
if(itminerinfo != _minerinfo.end()) {
pool = itminerinfo->owner;
pool_id = itminerinfo->pool_id;
}
return pool;
return pool_id;
}
static name get_miner_pool_owner(uint64_t minerid)
{
name pool_owner;
minerinfo_table _minerinfo( N(hddpool12345) , N(hddpool12345) );
auto itminerinfo = _minerinfo.find(minerid);
if(itminerinfo != _minerinfo.end()) {
storepool_index _storepool( N(hddpool12345) , N(hddpool12345));
auto itstorepool = _storepool.find(itminerinfo->pool_id);
if(itstorepool != _storepool.end()) {
pool_owner = itstorepool->pool_owner;
}
}
return pool_owner;
}
};
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册