0.11

[0.11.1]

Added

  • Frozen balances

    • Virtual operation balance_unfreeze_operation

  • Block reward mechanism

    • Virtual operation block_reward_operation

Changed

  • Block reward mechanism

    • All rewards is now payouts during maintenance

[0.11.0]

Added

  • Bitcoin sidechain

    • Operations sidechain_btc_create_address_operation, sidechain_btc_intermediate_deposit_operation, sidechain_btc_deposit_operation, sidechain_btc_withdraw_operation, sidechain_btc_aggregate_operation, sidechain_btc_approve_withdraw_operation

    • Objects btc_address_object, btc_intermediate_deposit_object, btc_deposit_object, btc_withdraw_object, btc_aggregating_object

    • Field btc_public_key to committee_member_object and initial_committee_member_type

    • Field btc_public_key to committee_member_create_operation

    • Field new_btc_public_key to committee_member_update_operation

    • Fields BTC_asset_id, waiting_btc_blocks, satoshis_per_byte, echo_blocks_per_aggregation to echo::sidechain::config

    • Database API methods get_btc_addresses and get_btc_deposit_script

    • Wallet API methods generate_btc_deposit_address, get_btc_addresses, get_btc_deposit_script, withdraw_btc

    • Node arguments sidechain-btc-disable, sidechain-btc_testnet, sidechain-btc-committeeman, btc-rpc-ip, btc-rpc-port, btc-rpc-user, btc-rpc-password

  • Frozen balances

    • Operation balance_freeze_operation

    • Object frozen_balance_object

    • Field frozen_balances_multipliers to chain_parameters

    • Database API method get_frozen_balances

    • Wallet API methods list_frozen_balances, freeze_balance

  • ERC20 issue/burn history

    • Virtual operations sidechain_erc20_issue_operation and sidechain_erc20_burn_operation

  • Account registration with PoW task

    • Registration API methods request_registration_task and submit_registration_solution

    • Wallet API method register_account_with_proof

  • x64vm contract logs

    • Field logs to x86_64 result that is list of log_entry described below

  • Field last_rand_quantity to dynamic_global_property_object

  • Fields frozen_balances_multipliers to chain_parameters

  • Node argument sidechain-eth-disable

Changed

  • Field new_options in asset_update_operation is optional now

  • Rename virtual operations sidechain_eth_issue_operation and sidechain_eth_burn_operation to sidechain_issue_operation and sidechain_burn_operation respectively

  • Rename Node arguments

    • sidechain-committeeman into sidechain-eth-committeeman

    • eth-node-ip into eth-rpc-ip

    • eth-node-rpc-port into eth-rpc-port

Removed

  • Operations account_transfer_operation and sidechain_change_config_operation

  • Field gas_refunded from evm::execution_result

Fixed

  • verify_account_authority now accepts account id

  • Fix get_contract_result_id_types output limit

  • Fix get_config output

  • Fix fee distribution in blocks with fallback verifiers

  • Fix exceptions during database closing

  • Fix legacy unit tests

Changed or added data structures

FC_REFLECT_ENUM(graphene::chain::object_type,
(null_object_type)
(base_object_type)
(account_object_type)
(asset_object_type)
(committee_member_object_type)
(proposal_object_type)
(operation_history_object_type)
(vesting_balance_object_type)
(balance_object_type)
(frozen_balance_object_type)
(contract_object_type)
(contract_result_object_type)
(block_result_object_type)
(eth_address_object_type)
(deposit_eth_object_type)
(withdraw_eth_object_type)
(erc20_token_object_type)
(deposit_erc20_token_object_type)
(withdraw_erc20_token_object_type)
(btc_address_object_type)
(btc_intermediate_deposit_object_type)
(btc_deposit_object_type)
(btc_withdraw_object_type)
(btc_aggregating_object_type)
(OBJECT_TYPE_COUNT)
)
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)
(max_predicate_opcode)
(accounts_per_fee_scale)
(account_fee_scale_bitshifts)
(max_authority_depth)
(block_emission_amount)
(block_producer_reward_ratio)
(frozen_balances_multipliers)
(echorand_config)
(sidechain_config)
(erc20_config)
(gas_price)
(extensions)
)
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)
(BTC_asset_id)
(waiting_eth_blocks)
(waiting_btc_blocks)
(fines)
(waiting_blocks)
(gas_price)
(satoshis_per_byte)
(echo_blocks_per_aggregation)
)
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)(last_rand_quantity)
(extensions)
)
struct log_entry
{
std::string hash;
std::string log;
std::uint32_t id;
uint32_t block_num;
uint32_t trx_num;
uint32_t op_num;
};
typedef fc::static_variant<
transfer_operation,
account_create_operation,
account_update_operation,
account_whitelist_operation,
asset_create_operation,
asset_update_operation,
asset_update_bitasset_operation,
asset_update_feed_producers_operation,
asset_issue_operation,
asset_reserve_operation,
asset_fund_fee_pool_operation,
asset_publish_feed_operation,
proposal_create_operation,
proposal_update_operation,
proposal_delete_operation,
committee_member_create_operation,
committee_member_update_operation,
committee_member_update_global_parameters_operation,
vesting_balance_create_operation,
vesting_balance_withdraw_operation,
balance_claim_operation,
balance_freeze_operation,
balance_unfreeze_operation, // VIRTUAL
override_transfer_operation,
asset_claim_fees_operation,
contract_create_operation,
contract_call_operation,
contract_transfer_operation,
contract_update_operation,
account_address_create_operation,
transfer_to_address_operation,
sidechain_eth_create_address_operation,
sidechain_eth_approve_address_operation,
sidechain_eth_deposit_operation,
sidechain_eth_withdraw_operation,
sidechain_eth_approve_withdraw_operation,
contract_fund_pool_operation,
contract_whitelist_operation,
sidechain_issue_operation, // VIRTUAL
sidechain_burn_operation, // VIRTUAL
sidechain_erc20_register_token_operation,
sidechain_erc20_deposit_token_operation,
sidechain_erc20_withdraw_token_operation,
sidechain_erc20_approve_token_withdraw_operation,
sidechain_erc20_issue_operation, // VIRTUAL
sidechain_erc20_burn_operation, // VIRTUAL
sidechain_btc_create_address_operation,
sidechain_btc_intermediate_deposit_operation,
sidechain_btc_deposit_operation,
sidechain_btc_withdraw_operation,
sidechain_btc_approve_withdraw_operation,
sidechain_btc_aggregate_operation,
block_reward_operation // VIRTUAL
> operation;