提交 0ae627f0 编写于 作者: D Daniel Larimer

Merge branch 'master' of github.com:EOSIO/eos

......@@ -57,5 +57,6 @@ using producer_multi_index = chainbase::shared_multi_index_container<
CHAINBASE_SET_INDEX_TYPE(eos::chain::producer_object, eos::chain::producer_multi_index)
FC_REFLECT(eos::chain::producer_object::id_type, (_id))
FC_REFLECT(eos::chain::producer_object, (id)(owner)(last_aslot)(signing_key)(total_missed)(last_confirmed_block_num)
(configuration))
......@@ -76,7 +76,7 @@ void native_contract_chain_initializer::register_types(chain_controller& chain,
SET_PRE_HANDLER( staked, staked, setproducer );
SET_APP_HANDLER( staked, staked, setproducer );
// SET_VAL_HANDLER( staked, staked, setproxy );
SET_VAL_HANDLER( staked, staked, setproxy );
SET_PRE_HANDLER( staked, staked, setproxy );
SET_APP_HANDLER( staked, staked, setproxy );
......@@ -127,7 +127,7 @@ std::vector<chain::Message> native_contract_chain_initializer::prepare_database(
acct.staking_balance));
messages_to_process.emplace_back(std::move(message));
if (acct.liquid_balance > 0) {
message = chain::Message(config::SystemContractName, vector<AccountName>{config::EosContractName},
message = chain::Message(config::EosContractName, vector<AccountName>{config::SystemContractName, acct.name},
vector<types::AccountPermission>{},
"transfer", types::transfer(config::SystemContractName, acct.name,
acct.liquid_balance, "Genesis Allocation"));
......@@ -137,7 +137,7 @@ std::vector<chain::Message> native_contract_chain_initializer::prepare_database(
// Create initial producers
auto CreateProducer = boost::adaptors::transformed([config = genesis.initial_configuration](const auto& p) {
return chain::Message(config::SystemContractName, {config::StakedBalanceContractName},
return chain::Message(config::StakedBalanceContractName, {p.owner_name},
vector<types::AccountPermission>{},
"setproducer", types::setproducer(p.owner_name, p.block_signing_key, config));
});
......
......@@ -87,7 +87,7 @@ namespace eos { namespace types {
Name( uint64_t v = 0 ):value(v){
FC_ASSERT( !(v>>(5*12)), "invalid name id" );
};
}
explicit operator String()const {
static const char* charmap = ".abcdefghijklmnopqrstuvwxyz12345";
......@@ -101,6 +101,7 @@ namespace eos { namespace types {
boost::algorithm::trim_right_if( str, []( char c ){ return c == '.'; } );
return str;
}
String toString() const { return String(*this); }
Name& operator=( uint64_t v ) {
FC_ASSERT( !(v>>(5*12)), "invalid name id" );
......
......@@ -18,7 +18,8 @@ namespace eos {
void plugin_startup();
void plugin_shutdown();
void broadcast_block(const chain::signed_block &sb);
void broadcast_block(const chain::signed_block &sb);
void broadcast_transaction (const chain::SignedTransaction &txn);
private:
std::unique_ptr<class net_plugin_impl> my;
......
......@@ -12,6 +12,8 @@ namespace eos {
fc::sha256 node_id; ///< used to identify peers and prevent self-connect
uint32_t last_irreversible_block_num = 0;
block_id_type last_irreversible_block_id;
uint32_t head_num = 0;
block_id_type head_id;
string os;
string agent;
};
......@@ -32,7 +34,7 @@ namespace eos {
};
struct peer_message {
vector<fc::ip::endpoint> peers;
vector<fc::ip::endpoint> peers;
};
using net_message = static_variant<handshake_message,
......@@ -48,7 +50,8 @@ namespace eos {
FC_REFLECT( eos::handshake_message,
(network_version)(chain_id)(node_id)
(last_irreversible_block_num)(last_irreversible_block_num)
(last_irreversible_block_num)(last_irreversible_block_id)
(head_num)(head_id)
(os)(agent) )
FC_REFLECT( eos::block_summary_message, (block)(trx_ids) )
......
此差异已折叠。
......@@ -68,11 +68,11 @@ BOOST_FIXTURE_TEST_CASE(produce_blocks, testing_fixture)
Make_Blockchain(chain)
BOOST_CHECK_EQUAL(chain.head_block_num(), 0);
chain.produce_blocks();
chain.produce_blocks();
BOOST_CHECK_EQUAL(chain.head_block_num(), 1);
chain.produce_blocks(5);
chain.produce_blocks(5);
BOOST_CHECK_EQUAL(chain.head_block_num(), 6);
chain.produce_blocks(chain.get_global_properties().active_producers.size());
chain.produce_blocks(chain.get_global_properties().active_producers.size());
BOOST_CHECK_EQUAL(chain.head_block_num(), chain.get_global_properties().active_producers.size() + 6);
} FC_LOG_AND_RETHROW() }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册