From 3fcaeb3e8effedbb8c0458f270b926dfb91ca79d Mon Sep 17 00:00:00 2001 From: Wang Zhi Date: Fri, 26 Jul 2019 17:06:12 +0800 Subject: [PATCH] add delete storepool interface --- contracts/hddpool/hddpool.abi | 13 +++++++++---- contracts/hddpool/hddpool.cpp | 12 +++++++++--- contracts/hddpool/hddpool.hpp | 2 +- 3 files changed, 19 insertions(+), 8 deletions(-) diff --git a/contracts/hddpool/hddpool.abi b/contracts/hddpool/hddpool.abi index b2c111f5f..744762fcc 100644 --- a/contracts/hddpool/hddpool.abi +++ b/contracts/hddpool/hddpool.abi @@ -121,9 +121,14 @@ ] }, { - "name": "clsallpools", + "name": "delstrpool", "base": "", - "fields": [] + "fields": [ + { + "name": "poolid", + "type": "name" + } + ] }, { "name": "regstrpool", @@ -550,8 +555,8 @@ "ricardian_contract": "" }, { - "name": "clsallpools", - "type": "clsallpools", + "name": "delstrpool", + "type": "delstrpool", "ricardian_contract": "" }, { diff --git a/contracts/hddpool/hddpool.cpp b/contracts/hddpool/hddpool.cpp index fc8c5edd4..17afc6a44 100644 --- a/contracts/hddpool/hddpool.cpp +++ b/contracts/hddpool/hddpool.cpp @@ -627,15 +627,21 @@ void hddpool::newminer(uint64_t minerid, name adminacc, name dep_acc, asset dep_ }); } -void hddpool::clsallpools() +void hddpool::delstrpool(name poolid) { require_auth(_self); storepool_index _storepool( _self , _self ); + auto itmstorepool = _storepool.find(poolid.value); + if(itmstorepool != _storepool.end()) { + _storepool.erase(itmstorepool); + } + + /* while (_storepool.begin() != _storepool.end()) { _storepool.erase(_storepool.begin()); - } + } */ } void hddpool::regstrpool(name pool_id, name pool_owner, uint64_t max_space) @@ -873,5 +879,5 @@ asset exchange_state::convert(asset from, symbol_type to) } EOSIO_ABI(hddpool, (getbalance)(buyhdd)(sellhdd)(sethfee)(subbalance)(addhspace)(subhspace)(addmprofit)(delminer) - (calcmbalance)(clsallpools)(regstrpool)(chgpoolspace)(newminer)(addm2pool) + (calcmbalance)(delstrpool)(regstrpool)(chgpoolspace)(newminer)(addm2pool) (mdeactive)(mactive)) diff --git a/contracts/hddpool/hddpool.hpp b/contracts/hddpool/hddpool.hpp index 2eaf1eb6f..66e69409b 100644 --- a/contracts/hddpool/hddpool.hpp +++ b/contracts/hddpool/hddpool.hpp @@ -70,7 +70,7 @@ public: void newminer(uint64_t minerid, name adminacc, name dep_acc, asset dep_amount); //store pool related actions -- start - void clsallpools(); + void delstrpool(name poolid); 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); -- GitLab