diff --git a/contracts/hddpool/hddpool.abi b/contracts/hddpool/hddpool.abi index b2c111f5f05325648b5cd28f6c06bc1ee476d73c..744762fcc5a697db516b6987db85bbd009595a79 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 fc8c5edd42853022af22b3cc4a40ac787f504635..17afc6a440997ff67bd4862aba3bc27d442003e3 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 2eaf1eb6f44926deea468b1a890cfd1459d1833e..66e69409bc4b849f4d43a55bb781d911dbebab2d 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);