BitShares-Core  7.0.2
BitShares blockchain node software and command-line wallet software
Classes | Public Member Functions | Public Attributes | List of all members
graphene::protocol::chain_parameters Struct Reference

#include <chain_parameters.hpp>

Classes

struct  ext
 

Public Member Functions

const fee_scheduleget_current_fees () const
 
fee_scheduleget_mutable_fees ()
 
void validate () const
 
 chain_parameters ()
 
 chain_parameters (const chain_parameters &other)
 
 chain_parameters (chain_parameters &&other)
 
chain_parametersoperator= (const chain_parameters &other)
 
chain_parametersoperator= (chain_parameters &&other)
 
uint16_t get_market_fee_network_percent () const
 
uint16_t get_maker_fee_discount_percent () const
 

Public Attributes

std::shared_ptr< const fee_schedulecurrent_fees
 current schedule of fees More...
 
uint8_t block_interval = GRAPHENE_DEFAULT_BLOCK_INTERVAL
 interval in seconds between blocks More...
 
uint32_t maintenance_interval = GRAPHENE_DEFAULT_MAINTENANCE_INTERVAL
 interval in sections between blockchain maintenance events More...
 
uint8_t maintenance_skip_slots = GRAPHENE_DEFAULT_MAINTENANCE_SKIP_SLOTS
 number of block_intervals to skip at maintenance time More...
 
uint32_t committee_proposal_review_period = GRAPHENE_DEFAULT_COMMITTEE_PROPOSAL_REVIEW_PERIOD_SEC
 minimum time in seconds that a proposed transaction requiring committee authority may not be signed, prior to expiration More...
 
uint32_t maximum_transaction_size = GRAPHENE_DEFAULT_MAX_TRANSACTION_SIZE
 maximum allowable size in bytes for a transaction More...
 
uint32_t maximum_block_size = GRAPHENE_DEFAULT_MAX_BLOCK_SIZE
 maximum allowable size in bytes for a block More...
 
uint32_t maximum_time_until_expiration = GRAPHENE_DEFAULT_MAX_TIME_UNTIL_EXPIRATION
 maximum lifetime in seconds for transactions to be valid, before expiring More...
 
uint32_t maximum_proposal_lifetime = GRAPHENE_DEFAULT_MAX_PROPOSAL_LIFETIME_SEC
 maximum lifetime in seconds for proposed transactions to be kept, before expiring More...
 
uint8_t maximum_asset_whitelist_authorities = GRAPHENE_DEFAULT_MAX_ASSET_WHITELIST_AUTHORITIES
 maximum number of accounts which an asset may list as authorities for its whitelist OR blacklist More...
 
uint8_t maximum_asset_feed_publishers = GRAPHENE_DEFAULT_MAX_ASSET_FEED_PUBLISHERS
 the maximum number of feed publishers for a given asset More...
 
uint16_t maximum_witness_count = GRAPHENE_DEFAULT_MAX_WITNESSES
 maximum number of active witnesses More...
 
uint16_t maximum_committee_count = GRAPHENE_DEFAULT_MAX_COMMITTEE
 maximum number of active committee_members More...
 
uint16_t maximum_authority_membership = GRAPHENE_DEFAULT_MAX_AUTHORITY_MEMBERSHIP
 largest number of keys/accounts an authority can have More...
 
uint16_t reserve_percent_of_fee = GRAPHENE_DEFAULT_BURN_PERCENT_OF_FEE
 the percentage of the network's allocation of a fee that is taken out of circulation More...
 
uint16_t network_percent_of_fee = GRAPHENE_DEFAULT_NETWORK_PERCENT_OF_FEE
 percent of transaction fees paid to network More...
 
uint16_t lifetime_referrer_percent_of_fee = GRAPHENE_DEFAULT_LIFETIME_REFERRER_PERCENT_OF_FEE
 percent of fee which should go to lifetime referrer More...
 
uint32_t cashback_vesting_period_seconds = GRAPHENE_DEFAULT_CASHBACK_VESTING_PERIOD_SEC
 time after cashback rewards are accrued before they become liquid More...
 
share_type cashback_vesting_threshold = GRAPHENE_DEFAULT_CASHBACK_VESTING_THRESHOLD
 the maximum cashback that can be received without vesting More...
 
bool count_non_member_votes = true
 set to false to restrict voting privlegages to member accounts More...
 
bool allow_non_member_whitelists = false
 true if non-member accounts may set whitelists and blacklists; false otherwise More...
 
share_type witness_pay_per_block = GRAPHENE_DEFAULT_WITNESS_PAY_PER_BLOCK
 CORE to be allocated to witnesses (per block) More...
 
uint32_t witness_pay_vesting_seconds = GRAPHENE_DEFAULT_WITNESS_PAY_VESTING_SECONDS
 vesting_seconds parameter for witness VBO's More...
 
share_type worker_budget_per_day = GRAPHENE_DEFAULT_WORKER_BUDGET_PER_DAY
 CORE to be allocated to workers (per day) More...
 
uint16_t max_predicate_opcode = GRAPHENE_DEFAULT_MAX_ASSERT_OPCODE
 predicate_opcode must be less than this number More...
 
share_type fee_liquidation_threshold = GRAPHENE_DEFAULT_FEE_LIQUIDATION_THRESHOLD
 value in CORE at which accumulated fees in blockchain-issued market assets should be liquidated More...
 
uint16_t accounts_per_fee_scale = GRAPHENE_DEFAULT_ACCOUNTS_PER_FEE_SCALE
 number of accounts between fee scalings More...
 
uint8_t account_fee_scale_bitshifts = GRAPHENE_DEFAULT_ACCOUNT_FEE_SCALE_BITSHIFTS
 number of times to left bitshift account registration fee at each scaling More...
 
uint8_t max_authority_depth = GRAPHENE_MAX_SIG_CHECK_DEPTH
 
extension< extextensions
 

Detailed Description

Definition at line 46 of file chain_parameters.hpp.

Constructor & Destructor Documentation

◆ chain_parameters() [1/3]

graphene::protocol::chain_parameters::chain_parameters ( )

Definition at line 7 of file chain_parameters.cpp.

◆ chain_parameters() [2/3]

graphene::protocol::chain_parameters::chain_parameters ( const chain_parameters other)

Definition at line 12 of file chain_parameters.cpp.

◆ chain_parameters() [3/3]

graphene::protocol::chain_parameters::chain_parameters ( chain_parameters &&  other)

Definition at line 64 of file chain_parameters.cpp.

Member Function Documentation

◆ get_current_fees()

const fee_schedule& graphene::protocol::chain_parameters::get_current_fees ( ) const
inline

Definition at line 50 of file chain_parameters.hpp.

◆ get_maker_fee_discount_percent()

uint16_t graphene::protocol::chain_parameters::get_maker_fee_discount_percent ( ) const

If maker_fee_discount_percent in extensions is valid, return the value it contains, otherwise return 0

Definition at line 122 of file chain_parameters.cpp.

◆ get_market_fee_network_percent()

uint16_t graphene::protocol::chain_parameters::get_market_fee_network_percent ( ) const

If market_fee_network_percent in extensions is valid, return the value it contains, otherwise return 0

Definition at line 116 of file chain_parameters.cpp.

◆ get_mutable_fees()

fee_schedule& graphene::protocol::chain_parameters::get_mutable_fees ( )
inline

Definition at line 51 of file chain_parameters.hpp.

◆ operator=() [1/2]

chain_parameters & graphene::protocol::chain_parameters::operator= ( chain_parameters &&  other)

Definition at line 71 of file chain_parameters.cpp.

◆ operator=() [2/2]

chain_parameters & graphene::protocol::chain_parameters::operator= ( const chain_parameters other)

Definition at line 19 of file chain_parameters.cpp.

◆ validate()

void graphene::protocol::chain_parameters::validate ( ) const

Definition at line 81 of file chain_parameters.cpp.

Member Data Documentation

◆ account_fee_scale_bitshifts

uint8_t graphene::protocol::chain_parameters::account_fee_scale_bitshifts = GRAPHENE_DEFAULT_ACCOUNT_FEE_SCALE_BITSHIFTS

number of times to left bitshift account registration fee at each scaling

Definition at line 79 of file chain_parameters.hpp.

◆ accounts_per_fee_scale

uint16_t graphene::protocol::chain_parameters::accounts_per_fee_scale = GRAPHENE_DEFAULT_ACCOUNTS_PER_FEE_SCALE

number of accounts between fee scalings

Definition at line 78 of file chain_parameters.hpp.

◆ allow_non_member_whitelists

bool graphene::protocol::chain_parameters::allow_non_member_whitelists = false

true if non-member accounts may set whitelists and blacklists; false otherwise

Definition at line 72 of file chain_parameters.hpp.

◆ block_interval

uint8_t graphene::protocol::chain_parameters::block_interval = GRAPHENE_DEFAULT_BLOCK_INTERVAL

interval in seconds between blocks

Definition at line 53 of file chain_parameters.hpp.

◆ cashback_vesting_period_seconds

uint32_t graphene::protocol::chain_parameters::cashback_vesting_period_seconds = GRAPHENE_DEFAULT_CASHBACK_VESTING_PERIOD_SEC

time after cashback rewards are accrued before they become liquid

Definition at line 69 of file chain_parameters.hpp.

◆ cashback_vesting_threshold

share_type graphene::protocol::chain_parameters::cashback_vesting_threshold = GRAPHENE_DEFAULT_CASHBACK_VESTING_THRESHOLD

the maximum cashback that can be received without vesting

Definition at line 70 of file chain_parameters.hpp.

◆ committee_proposal_review_period

uint32_t graphene::protocol::chain_parameters::committee_proposal_review_period = GRAPHENE_DEFAULT_COMMITTEE_PROPOSAL_REVIEW_PERIOD_SEC

minimum time in seconds that a proposed transaction requiring committee authority may not be signed, prior to expiration

Definition at line 56 of file chain_parameters.hpp.

◆ count_non_member_votes

bool graphene::protocol::chain_parameters::count_non_member_votes = true

set to false to restrict voting privlegages to member accounts

Definition at line 71 of file chain_parameters.hpp.

◆ current_fees

std::shared_ptr<const fee_schedule> graphene::protocol::chain_parameters::current_fees

current schedule of fees

using a shared_ptr breaks the circular dependency created between operations and the fee schedule

Definition at line 49 of file chain_parameters.hpp.

◆ extensions

extension<ext> graphene::protocol::chain_parameters::extensions

Definition at line 90 of file chain_parameters.hpp.

◆ fee_liquidation_threshold

share_type graphene::protocol::chain_parameters::fee_liquidation_threshold = GRAPHENE_DEFAULT_FEE_LIQUIDATION_THRESHOLD

value in CORE at which accumulated fees in blockchain-issued market assets should be liquidated

Definition at line 77 of file chain_parameters.hpp.

◆ lifetime_referrer_percent_of_fee

uint16_t graphene::protocol::chain_parameters::lifetime_referrer_percent_of_fee = GRAPHENE_DEFAULT_LIFETIME_REFERRER_PERCENT_OF_FEE

percent of fee which should go to lifetime referrer

Definition at line 68 of file chain_parameters.hpp.

◆ maintenance_interval

uint32_t graphene::protocol::chain_parameters::maintenance_interval = GRAPHENE_DEFAULT_MAINTENANCE_INTERVAL

interval in sections between blockchain maintenance events

Definition at line 54 of file chain_parameters.hpp.

◆ maintenance_skip_slots

uint8_t graphene::protocol::chain_parameters::maintenance_skip_slots = GRAPHENE_DEFAULT_MAINTENANCE_SKIP_SLOTS

number of block_intervals to skip at maintenance time

Definition at line 55 of file chain_parameters.hpp.

◆ max_authority_depth

uint8_t graphene::protocol::chain_parameters::max_authority_depth = GRAPHENE_MAX_SIG_CHECK_DEPTH

Definition at line 80 of file chain_parameters.hpp.

◆ max_predicate_opcode

uint16_t graphene::protocol::chain_parameters::max_predicate_opcode = GRAPHENE_DEFAULT_MAX_ASSERT_OPCODE

predicate_opcode must be less than this number

Definition at line 76 of file chain_parameters.hpp.

◆ maximum_asset_feed_publishers

uint8_t graphene::protocol::chain_parameters::maximum_asset_feed_publishers = GRAPHENE_DEFAULT_MAX_ASSET_FEED_PUBLISHERS

the maximum number of feed publishers for a given asset

Definition at line 62 of file chain_parameters.hpp.

◆ maximum_asset_whitelist_authorities

uint8_t graphene::protocol::chain_parameters::maximum_asset_whitelist_authorities = GRAPHENE_DEFAULT_MAX_ASSET_WHITELIST_AUTHORITIES

maximum number of accounts which an asset may list as authorities for its whitelist OR blacklist

Definition at line 61 of file chain_parameters.hpp.

◆ maximum_authority_membership

uint16_t graphene::protocol::chain_parameters::maximum_authority_membership = GRAPHENE_DEFAULT_MAX_AUTHORITY_MEMBERSHIP

largest number of keys/accounts an authority can have

Definition at line 65 of file chain_parameters.hpp.

◆ maximum_block_size

uint32_t graphene::protocol::chain_parameters::maximum_block_size = GRAPHENE_DEFAULT_MAX_BLOCK_SIZE

maximum allowable size in bytes for a block

Definition at line 58 of file chain_parameters.hpp.

◆ maximum_committee_count

uint16_t graphene::protocol::chain_parameters::maximum_committee_count = GRAPHENE_DEFAULT_MAX_COMMITTEE

maximum number of active committee_members

Definition at line 64 of file chain_parameters.hpp.

◆ maximum_proposal_lifetime

uint32_t graphene::protocol::chain_parameters::maximum_proposal_lifetime = GRAPHENE_DEFAULT_MAX_PROPOSAL_LIFETIME_SEC

maximum lifetime in seconds for proposed transactions to be kept, before expiring

Definition at line 60 of file chain_parameters.hpp.

◆ maximum_time_until_expiration

uint32_t graphene::protocol::chain_parameters::maximum_time_until_expiration = GRAPHENE_DEFAULT_MAX_TIME_UNTIL_EXPIRATION

maximum lifetime in seconds for transactions to be valid, before expiring

Definition at line 59 of file chain_parameters.hpp.

◆ maximum_transaction_size

uint32_t graphene::protocol::chain_parameters::maximum_transaction_size = GRAPHENE_DEFAULT_MAX_TRANSACTION_SIZE

maximum allowable size in bytes for a transaction

Definition at line 57 of file chain_parameters.hpp.

◆ maximum_witness_count

uint16_t graphene::protocol::chain_parameters::maximum_witness_count = GRAPHENE_DEFAULT_MAX_WITNESSES

maximum number of active witnesses

Definition at line 63 of file chain_parameters.hpp.

◆ network_percent_of_fee

uint16_t graphene::protocol::chain_parameters::network_percent_of_fee = GRAPHENE_DEFAULT_NETWORK_PERCENT_OF_FEE

percent of transaction fees paid to network

Definition at line 67 of file chain_parameters.hpp.

◆ reserve_percent_of_fee

uint16_t graphene::protocol::chain_parameters::reserve_percent_of_fee = GRAPHENE_DEFAULT_BURN_PERCENT_OF_FEE

the percentage of the network's allocation of a fee that is taken out of circulation

Definition at line 66 of file chain_parameters.hpp.

◆ witness_pay_per_block

share_type graphene::protocol::chain_parameters::witness_pay_per_block = GRAPHENE_DEFAULT_WITNESS_PAY_PER_BLOCK

CORE to be allocated to witnesses (per block)

Definition at line 73 of file chain_parameters.hpp.

◆ witness_pay_vesting_seconds

uint32_t graphene::protocol::chain_parameters::witness_pay_vesting_seconds = GRAPHENE_DEFAULT_WITNESS_PAY_VESTING_SECONDS

vesting_seconds parameter for witness VBO's

Definition at line 74 of file chain_parameters.hpp.

◆ worker_budget_per_day

share_type graphene::protocol::chain_parameters::worker_budget_per_day = GRAPHENE_DEFAULT_WORKER_BUDGET_PER_DAY

CORE to be allocated to workers (per day)

Definition at line 75 of file chain_parameters.hpp.


The documentation for this struct was generated from the following files: