Added is_max_vouts check for PW before bitcoin transaction creatation
This commit is contained in:
parent
a229d0acc4
commit
b27656d2c9
6 changed files with 9 additions and 9 deletions
|
|
@ -232,10 +232,10 @@
|
|||
#define SIDECHAIN_SYMBOL "pBTC"
|
||||
#define SIDECHAIN_PRECISION_DIGITS 8
|
||||
#define SIDECHAIN_MAX_SHARE_SUPPLY int64_t(21000000ll * 100000000ll)
|
||||
#define SIDECHAIN_NUMBER_INVALID_KEYS 5
|
||||
#define SIDECHAIN_NUMBER_INVALID_KEYS 5
|
||||
#define SIDECHAIN_DEFAULT_NUMBER_SIG_MULTISIG 5
|
||||
#define SIDECHAIN_DEFAULT_NUMBER_OF_CONFIRMATIONS 6
|
||||
#define SIDECHAIN_DEFAULT_MAX_UNCONFIRMED_VINS 25
|
||||
#define SIDECHAIN_DEFAULT_MAX_UNCONFIRMED_VOUTS 25
|
||||
#define SIDECHAIN_DEFAULT_MAX_CONDENSING_TX_VINS 5
|
||||
#define SIDECHAIN_DEFAULT_MAX_CONDENSING_TX_VOUTS 5
|
||||
#define SIDECHAIN_DEFAULT_PERCENT_PAYMENT_TO_WITNESSES (GRAPHENE_1_PERCENT/10)
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ class primary_wallet_vout_manager
|
|||
public:
|
||||
primary_wallet_vout_manager( graphene::chain::database& _db ) : db( _db ) {}
|
||||
|
||||
bool is_reach_max_unconfirmaed_vout() const;
|
||||
bool is_max_vouts() const;
|
||||
|
||||
fc::optional< primary_wallet_vout_object > get_latest_unused_vout() const;
|
||||
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ namespace sidechain {
|
|||
struct sidechain_parameters_extension {
|
||||
uint8_t maximum_condensing_tx_vins = SIDECHAIN_DEFAULT_MAX_CONDENSING_TX_VINS;
|
||||
uint8_t maximum_condensing_tx_vouts = SIDECHAIN_DEFAULT_MAX_CONDENSING_TX_VOUTS;
|
||||
uint8_t maxmum_unconfirmed_vins = SIDECHAIN_DEFAULT_MAX_UNCONFIRMED_VINS;
|
||||
uint8_t maximum_unconfirmed_vouts = SIDECHAIN_DEFAULT_MAX_UNCONFIRMED_VOUTS;
|
||||
uint16_t percent_payment_to_witnesses = SIDECHAIN_DEFAULT_PERCENT_PAYMENT_TO_WITNESSES;
|
||||
uint8_t multisig_sigs_num = SIDECHAIN_DEFAULT_NUMBER_SIG_MULTISIG;
|
||||
uint8_t confirmations_num = SIDECHAIN_DEFAULT_NUMBER_OF_CONFIRMATIONS;
|
||||
|
|
@ -21,7 +21,7 @@ namespace sidechain {
|
|||
FC_REFLECT( sidechain::sidechain_parameters_extension,
|
||||
(maximum_condensing_tx_vins)
|
||||
(maximum_condensing_tx_vouts)
|
||||
(maxmum_unconfirmed_vins)
|
||||
(maximum_unconfirmed_vouts)
|
||||
(percent_payment_to_witnesses)
|
||||
(multisig_sigs_num)
|
||||
(confirmations_num)
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@ std::vector<uint64_t> input_withdrawal_info::get_amounts( const std::vector<info
|
|||
fc::optional<info_for_vin> input_withdrawal_info::get_info_for_pw_vin()
|
||||
{
|
||||
fc::optional< primary_wallet_vout_object > vout = db.pw_vout_manager.get_latest_unused_vout();
|
||||
if( !vout.valid() ) {
|
||||
if( !vout.valid() || db.pw_vout_manager.is_max_vouts() ) {
|
||||
return fc::optional<info_for_vin>();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -6,10 +6,10 @@
|
|||
|
||||
namespace sidechain {
|
||||
|
||||
bool primary_wallet_vout_manager::is_reach_max_unconfirmaed_vout() const
|
||||
bool primary_wallet_vout_manager::is_max_vouts() const
|
||||
{
|
||||
const auto& PW_vout_idx = db.get_index_type<graphene::chain::primary_wallet_vout_index>().indices().get< graphene::chain::by_id >();
|
||||
return !( PW_vout_idx.size() < db.get_sidechain_params().maxmum_unconfirmed_vins );
|
||||
return !( ( PW_vout_idx.size() - 1 ) <= db.get_sidechain_params().maximum_unconfirmed_vouts );
|
||||
}
|
||||
|
||||
fc::optional< primary_wallet_vout_object > primary_wallet_vout_manager::get_latest_unused_vout() const
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ BOOST_AUTO_TEST_CASE( check_max_pw_vout_objects )
|
|||
|
||||
create_primary_wallet_vouts( pw_vout_manager, db, 24 );
|
||||
BOOST_CHECK( idx.size() == 25 );
|
||||
BOOST_CHECK( pw_vout_manager.is_reach_max_unconfirmaed_vout() == true );
|
||||
BOOST_CHECK( pw_vout_manager.is_max_vouts() == true );
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE( check_pw_vout_objects_chain )
|
||||
|
|
|
|||
Loading…
Reference in a new issue