@ -382,7 +382,9 @@ bool ringdb::blackball_worker(const crypto::public_key &output, int op)
booltx_active=false;
boolret=true;
dbr=resize_env(env,filename.c_str(),32*2);// a pubkey, and some slack
THROW_WALLET_EXCEPTION_IF(outputs.size()>1&&op==BLACKBALL_QUERY,tools::error::wallet_internal_error,"Blackball query only makes sense for a single output");
dbr=resize_env(env,filename.c_str(),32*2*outputs.size());// a pubkey, and some slack
THROW_WALLET_EXCEPTION_IF(dbr,tools::error::wallet_internal_error,"Failed to set env map size: "+std::string(mdb_strerror(dbr)));
dbr=mdb_txn_begin(env,NULL,0,&txn);
THROW_WALLET_EXCEPTION_IF(dbr,tools::error::wallet_internal_error,"Failed to create LMDB transaction: "+std::string(mdb_strerror(dbr)));
@ -391,40 +393,49 @@ bool ringdb::blackball_worker(const crypto::public_key &output, int op)
THROW_WALLET_EXCEPTION_IF(dbr&&dbr!=MDB_NOTFOUND,tools::error::wallet_internal_error,"Failed to lookup in blackballs table: "+std::string(mdb_strerror(dbr)));
THROW_WALLET_EXCEPTION_IF(dbr&&dbr!=MDB_NOTFOUND,tools::error::wallet_internal_error,"Failed to lookup in blackballs table: "+std::string(mdb_strerror(dbr)));
THROW_WALLET_EXCEPTION_IF(dbr,tools::error::wallet_internal_error,"Failed to clear blackballs table: "+std::string(mdb_strerror(dbr)));
}
THROW_WALLET_EXCEPTION_IF(dbr,tools::error::wallet_internal_error,"Failed to query blackballs table: "+std::string(mdb_strerror(dbr)));
dbr=mdb_txn_commit(txn);
THROW_WALLET_EXCEPTION_IF(dbr,tools::error::wallet_internal_error,"Failed to commit txn blackballing output to database: "+std::string(mdb_strerror(dbr)));
@ -432,24 +443,32 @@ bool ringdb::blackball_worker(const crypto::public_key &output, int op)