0.10

Added

  • Block generation time limit

    • Field uint32_t _time_generate to echo::rand::config (used in chain_parameters)

  • Examples to the wallet API

  • New wallet method register_account_with_api

  • New block emission and fee distribution mechanism

    • Field uint64_t block_emission_amount to chain_parameters

    • Field uint16_t block_producer_reward_ratio to chain_parameters

    • Field uint16_t delegate_share to account_options

    • Field int64_t fees_collected to processed_transaction

  • Devnet options presets

Changed

  • Use HTTP RPC insted of WebSockets for sidechain and erc20

    • Added field uint32_t waiting_eth_blocks to echo::sidechain::config (used in chain_parameters)

  • Update Boost version to 1.66.0

  • Update x86-64 VM version

  • Echorand messages priorities

  • Database API method subscribe_contract_logs now returns void

Removed

  • Block interval

  • Fields recently_missed_count, current_aslot from global_property_object

  • Budget (fees) distribution to committees

    • Field pending_fees from account_statistics_object

    • Class budget_record_object and object type impl_budget_record_object_type

Fixed

  • Fix expiration time of transactions created in wallet

  • Fix history APIs

  • Fix block_produced notification

  • Fix tx waiting in async methods of wallet

  • Fix exit from wallet

  • Fix database closing and rewinding

  • Rename _signerto _producer in block_signature_t

  • Rename commitee_pay_vesting_secondsto committee_pay_vesting_seconds in chain_parameters

Relevant data reflections

FC_REFLECT_ENUM(graphene::chain::impl_object_type,
(impl_global_property_object_type)
(impl_dynamic_global_property_object_type)
(impl_asset_dynamic_data_type)
(impl_asset_bitasset_data_type)
(impl_account_balance_object_type)
(impl_account_statistics_object_type)
(impl_transaction_object_type)
(impl_block_summary_object_type)
(impl_account_transaction_history_object_type)
(impl_chain_property_object_type)
(impl_special_authority_object_type)
(impl_contract_balance_object_type)
(impl_contract_history_object_type)
(impl_contract_statistics_object_type)
(impl_account_address_object_type)
(impl_contract_pool_object_type)
(impl_malicious_committeemen_object_type)
)
FC_REFLECT_DERIVED(graphene::chain::dynamic_global_property_object, (graphene::db::object),
(head_block_number)
(head_block_id)
(time)
(next_maintenance_time)
(last_budget_time)
(committee_budget)
(accounts_registered_this_interval)
(dynamic_flags)
(last_irreversible_block_num)
(extensions)
)
FC_REFLECT(graphene::chain::chain_parameters,
(current_fees)
(maintenance_interval)
(maintenance_duration_seconds)
(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_committee_count)
(maximum_authority_membership)
(reserve_percent_of_fee)
(network_percent_of_fee)
(committee_pay_vesting_seconds)
(max_predicate_opcode)
(accounts_per_fee_scale)
(account_fee_scale_bitshifts)
(max_authority_depth)
(block_emission_amount)
(block_producer_reward_ratio)
(echorand_config)
(sidechain_config)
(erc20_config)
(gas_price)
(extensions)
)
FC_REFLECT(echo::rand::config,
(_time_generate)
(_time_net_1mb)
(_time_net_256b)
(_creator_count)
(_verifier_count)
(_ok_threshold)
(_max_bba_steps)
(_gc1_delay)
)
FC_REFLECT( echo::sidechain::config,
(eth_contract_address)
(eth_committee_update_method)
(eth_gen_address_method)
(eth_withdraw_method)
(eth_update_addr_method)
(eth_withdraw_token_method)
(eth_collect_tokens_method)
(eth_committee_updated_topic)
(eth_gen_address_topic)
(eth_deposit_topic)
(eth_withdraw_topic)
(erc20_deposit_topic)
(erc20_withdraw_topic)
(ETH_asset_id)
(waiting_eth_blocks)
(fines)
(waiting_blocks)
(gas_price)
)
FC_REFLECT_DERIVED(graphene::chain::processed_transaction, (graphene::chain::signed_transaction),
(operation_results)
(fees_collected)
)
FC_REFLECT(graphene::chain::account_options,
(voting_account)
(delegating_account)
(delegate_share)
(num_committee)
(votes)
(extensions)
)

Updated get_config:

{
"ECHO_SYMBOL": "ECHO",
"ECHO_ADDRESS_PREFIX": "ECHO",
"ECHO_ED_PREFIX": "ECHO",
"ECHO_MIN_ACCOUNT_NAME_LENGTH": 1,
"ECHO_MAX_ACCOUNT_NAME_LENGTH": 63,
"ECHO_MIN_ASSET_SYMBOL_LENGTH": 3,
"ECHO_MAX_ASSET_SYMBOL_LENGTH": 16,
"ECHO_MAX_SHARE_SUPPLY": "1000000000000000",
"ECHO_MAX_PAY_RATE": 10000,
"ECHO_MAX_SIG_CHECK_DEPTH": 2,
"ECHO_MIN_TRANSACTION_SIZE_LIMIT": 1024,
"ECHO_DEFAULT_MAX_TRANSACTION_SIZE": 2097152,
"ECHO_DEFAULT_MAX_BLOCK_SIZE": 5242880,
"ECHO_DEFAULT_MAX_TIME_UNTIL_EXPIRATION": 86400,
"ECHO_DEFAULT_MAINTENANCE_INTERVAL": 86400,
"ECHO_DEFAULT_MAINTENANCE_DURATION_SECONDS": 10,
"ECHO_MIN_UNDO_HISTORY": 10,
"ECHO_MAX_UNDO_HISTORY": 10000,
"ECHO_MIN_BLOCK_SIZE_LIMIT": 5120,
"ECHO_MIN_TRANSACTION_EXPIRATION_LIMIT": 5,
"ECHO_BLOCKCHAIN_PRECISION": 100000000,
"ECHO_BLOCKCHAIN_PRECISION_DIGITS": 8,
"ECHO_DEFAULT_TRANSFER_FEE": 100000000,
"ECHO_MAX_INSTANCE_ID": "281474976710655",
"ECHO_100_PERCENT": 10000,
"ECHO_1_PERCENT": 100,
"ECHO_DEFAULT_PRICE_FEED_LIFETIME": 86400,
"ECHO_DEFAULT_COMMITTEE_PAY_VESTING_SECONDS": 86400,
"ECHO_DEFAULT_MAX_AUTHORITY_MEMBERSHIP": 10,
"ECHO_DEFAULT_MAX_ASSET_WHITELIST_AUTHORITIES": 10,
"ECHO_DEFAULT_MAX_ASSET_FEED_PUBLISHERS": 10,
"ECHO_COLLATERAL_RATIO_DENOM": 1000,
"ECHO_MIN_COLLATERAL_RATIO": 1001,
"ECHO_MAX_COLLATERAL_RATIO": 32000,
"ECHO_DEFAULT_MAINTENANCE_COLLATERAL_RATIO": 1750,
"ECHO_DEFAULT_MAX_SHORT_SQUEEZE_RATIO": 1500,
"ECHO_DEFAULT_MIN_COMMITTEE_MEMBER_COUNT": 11,
"ECHO_DEFAULT_MAX_COMMITTEE": 1001,
"ECHO_DEFAULT_MAX_PROPOSAL_LIFETIME_SEC": 2419200,
"ECHO_DEFAULT_COMMITTEE_PROPOSAL_REVIEW_PERIOD_SEC": 1209600,
"ECHO_DEFAULT_NETWORK_PERCENT_OF_FEE": 2000,
"ECHO_DEFAULT_BURN_PERCENT_OF_FEE": 2000,
"ECHO_DEFAULT_MAX_ASSERT_OPCODE": 1,
"ECHO_DEFAULT_ACCOUNTS_PER_FEE_SCALE": 1000,
"ECHO_DEFAULT_ACCOUNT_FEE_SCALE_BITSHIFTS": 4,
"ECHO_MAX_URL_LENGTH": 127,
"ECHO_DEFAULT_MINIMUM_FEEDS": 7,
"ECHO_REVERSIBLE_BLOCKS_COUNT": 15,
"ECHO_NULL_ACCOUNT": "1.2.0",
"ECHO_COMMITTEE_ACCOUNT": "1.2.1",
"ECHO_RELAXED_COMMITTEE_ACCOUNT": "1.2.2",
"ECHO_NULL_AUTHORITY_ACCOUNT": "1.2.3",
"ECHO_TEMP_ACCOUNT": "1.2.4",
"ECHO_PROXY_TO_SELF_ACCOUNT": "1.2.5"
}