Database API and Wallet API method get_account_stake_objects.
Object verifiers_object
.
Wallet api method create_vesting_linear_policy now receive one more argument.
Type of consensus_assets_prices
from std::map<asset_id_type, price>
to std::set<price>
in global_property_object
.
Type of field incentives
in incentives_object
from std::map<uint32_t, uint64_t>
to std::map<asset_id_type, uint64_t>
.
Removed apply_new_config
method in ethereum sidechain(it had empty body).
Fixed some bugs with stake btc
and btc
sidechains.
stake_asset
flag to asset asset_issuer_permission_flags
, that makes asset not transferable to anyone. Only issue and burn allowed.
consensus_assets
to chain_parameters
and consensus_assets_prices
to global_property_object
.
The ability to account for balances in other assets when selecting verifiers and producers.
Ethereum stake sidechain feature:
stake ETH on Echo network to participate in consensus.
sidechain_stake_eth_update_operation, that allowed to send only by committee members when they gets some update from ETH stake sidechain.
stake_eth_update_object
to store data about stake sidechain deposits
SETH
asset to standard genesis files.
Bitcoin stake sidechain feature:
stake BTC on Echo network to participate in consensus.
Wallet API methods:
create_btc_stake_address - create btc stake address for account.
get_btc_stake_address - get btc stake address.
Database API method get_btc_stake_address
Operations:
sidechain_stake_btc_create_script_operation, that creates btc stake address
sidechain_stake_btc_update_operation, that allowed to send only by committee members when they gets some update from BTC stake sidechain.
SBTC
asset to standard genesis files.
Database API method get_transaction_by_id
Wallet methods get_transaction and get_transaction_by_id
Fields std::set<asset_id_type> consensus_assets
and stake_config stake_sidechain_config to chain_parameters
Field payed_blocks_in_interval
to dynamic_global_property_object needed for current incentives calculation.
New objects stake_btc_script_object, stake_btc_vout_object, stake_eth_update_object needed for stake sidechain.
Changed EETH
asset precision to 8.
Economy logic: increasing the reward and recording for missed blocks in the pool occurs every block
Database API method get_incentives_info now returns incentives_object
.
--sidechain-btc-testnet
flag moved from sidechain plugin to node command line options. That flag now changes logic of Bitcoin addresses generation(generate addresses to mainnet/testnet).
Wallet methods that returned signed_transaction now returns [signed_transaction, transaction_id_type] pair
Network Broadcast API methods broadcast_transaction
и broadcast_transaction_with_callback
now returns transaction_id_type
Database API method get_recent_transaction_by_id
Database API methods get_incentives_info can't return one block bug fixed.
Fixed bug with vm_root
empty on zero block.
FC_REFLECT( echo::chain::chain_parameters,(current_fees)(maintenance_interval)(maintenance_duration_seconds)(balance_unfreezing_time)(committee_proposal_review_period)(maximum_transaction_size)(maximum_block_size)(maximum_time_until_expiration)(maximum_proposal_lifetime)(maximum_asset_whitelist_authorities)(maximum_asset_feed_publishers)(maximum_authority_membership)(max_authority_depth)(committee_frozen_balance_to_activate)(committee_maintenance_intervals_to_deposit)(committee_balance_unfreeze_duration_seconds)(x86_64_maximum_contract_size)(frozen_balances_multipliers)(echorand_config)(sidechain_config)(erc20_config)(stake_sidechain_config)(gas_price)(consensus_assets)(valid_fee_asset)(economy_config)(extensions))FC_REFLECT_DERIVED(echo::chain::dynamic_global_property_object,(echo::db::object),(head_block_number)(head_block_id)(time)(next_maintenance_time)(last_maintenance_time)(committee_budget)(dynamic_flags)(last_irreversible_block_num)(last_block_of_previous_interval)(payed_blocks_in_interval)(last_processed_btc_block)(extensions))FC_REFLECT_DERIVED(echo::chain::global_property_object,(echo::db::object),(parameters)(pending_parameters)(active_committee_members)(consensus_assets_prices))FC_REFLECT_DERIVED(echo::chain::incentives_object,(echo::db::object),(pool)(incentives)(block_number))FC_REFLECT_DERIVED(echo::chain::stake_btc_script_object,(echo::chain::object),(account)(stake_script)(address)(extensions))FC_REFLECT_DERIVED(echo::chain::stake_btc_vout_object,(echo::chain::object),(account)(out)(vout_block_number)(vin_block_number)(approves_for_vout)(is_vout_approved)(approves_for_vin)(is_vin_approved)(extensions))FC_REFLECT_DERIVED(echo::chain::stake_eth_update_object,(echo::chain::object),(account)(asset_id)(current_balance)(transaction_hash)(is_approved)(approves)(extensions))FC_REFLECT_DERIVED(echo::chain::verifiers_object,(echo::db::object),(step_verifiers)(fallback_verifiers))FC_REFLECT(echo::chain::sidechain_stake_btc_create_script_operation,(fee)(account)(pubkey_hash)(extensions))FC_REFLECT(echo::chain::sidechain_stake_btc_update_operation,(fee)(committee_member_id)(owner)(btc_tx_info)(is_vin)(extensions))FC_REFLECT(echo::chain::sidechain_stake_eth_update_operation,(fee)(committee_member_id)(asset_id)(current_balance)(account)(transaction_hash)(extensions))FC_REFLECT(echo::sidechain::stake_config, (contract_address)(balance_updated_topic))