mirror of
https://github.com/alexgo-io/stacks-puppet-node.git
synced 2026-06-17 02:24:48 +08:00
chore: plumb changes into testnet/
This commit is contained in:
@@ -99,6 +99,7 @@ impl BurnchainController for MocknetController {
|
||||
start_height: 0,
|
||||
end_height: STACKS_EPOCH_MAX,
|
||||
}],
|
||||
self.burnchain.pox_constants.clone(),
|
||||
true,
|
||||
) {
|
||||
Ok(db) => db,
|
||||
|
||||
@@ -11,8 +11,8 @@ use std::sync::{
|
||||
};
|
||||
use std::{thread, thread::JoinHandle};
|
||||
|
||||
use stacks::burnchains::BurnchainSigner;
|
||||
use stacks::burnchains::{Burnchain, BurnchainParameters, Txid};
|
||||
use stacks::burnchains::{BurnchainSigner, PoxConstants};
|
||||
use stacks::chainstate::burn::db::sortdb::SortitionDB;
|
||||
use stacks::chainstate::burn::operations::{
|
||||
leader_block_commit::{RewardSetInfo, BURN_BLOCK_MINED_AT_MODULUS},
|
||||
@@ -577,6 +577,7 @@ fn spawn_peer(
|
||||
p2p_sock: &SocketAddr,
|
||||
rpc_sock: &SocketAddr,
|
||||
config: Config,
|
||||
pox_constants: PoxConstants,
|
||||
poll_timeout: u64,
|
||||
relay_channel: SyncSender<RelayerDirective>,
|
||||
mut sync_comms: PoxSyncWatchdogComms,
|
||||
@@ -592,7 +593,8 @@ fn spawn_peer(
|
||||
|
||||
this.bind(p2p_sock, rpc_sock).unwrap();
|
||||
let (mut dns_resolver, mut dns_client) = DNSResolver::new(10);
|
||||
let sortdb = SortitionDB::open(&burn_db_path, false).map_err(NetError::DBError)?;
|
||||
let sortdb =
|
||||
SortitionDB::open(&burn_db_path, false, pox_constants).map_err(NetError::DBError)?;
|
||||
|
||||
let (mut chainstate, _) = StacksChainState::open_with_block_limit(
|
||||
is_mainnet,
|
||||
@@ -777,7 +779,8 @@ fn spawn_miner_relayer(
|
||||
// the relayer _should not_ be modifying the sortdb,
|
||||
// however, it needs a mut reference to create read TXs.
|
||||
// should address via #1449
|
||||
let mut sortdb = SortitionDB::open(&burn_db_path, true).map_err(NetError::DBError)?;
|
||||
let mut sortdb = SortitionDB::open(&burn_db_path, true, burnchain.pox_constants.clone())
|
||||
.map_err(NetError::DBError)?;
|
||||
|
||||
let (mut chainstate, _) = StacksChainState::open_with_block_limit(
|
||||
is_mainnet,
|
||||
@@ -1095,8 +1098,12 @@ impl InitializedNeonNode {
|
||||
) -> InitializedNeonNode {
|
||||
// we can call _open_ here rather than _connect_, since connect is first called in
|
||||
// make_genesis_block
|
||||
let sortdb = SortitionDB::open(&config.get_burn_db_file_path(), false)
|
||||
.expect("Error while instantiating sortition db");
|
||||
let sortdb = SortitionDB::open(
|
||||
&config.get_burn_db_file_path(),
|
||||
false,
|
||||
burnchain.pox_constants.clone(),
|
||||
)
|
||||
.expect("Error while instantiating sortition db");
|
||||
|
||||
let view = {
|
||||
let sortition_tip = SortitionDB::get_canonical_burn_chain_tip(&sortdb.conn())
|
||||
@@ -1260,7 +1267,7 @@ impl InitializedNeonNode {
|
||||
event_dispatcher.clone(),
|
||||
blocks_processed.clone(),
|
||||
microblocks_processed.clone(),
|
||||
burnchain,
|
||||
burnchain.clone(),
|
||||
coord_comms,
|
||||
shared_unconfirmed_txs.clone(),
|
||||
)
|
||||
@@ -1272,6 +1279,7 @@ impl InitializedNeonNode {
|
||||
&p2p_sock,
|
||||
&rpc_sock,
|
||||
config.clone(),
|
||||
burnchain.pox_constants,
|
||||
5000,
|
||||
relay_send.clone(),
|
||||
sync_comms,
|
||||
|
||||
@@ -6,10 +6,6 @@ use std::sync::{atomic::AtomicBool, Arc};
|
||||
use std::{collections::HashSet, env};
|
||||
use std::{thread, thread::JoinHandle, time};
|
||||
|
||||
use stacks::chainstate::burn::operations::{
|
||||
leader_block_commit::{RewardSetInfo, BURN_BLOCK_MINED_AT_MODULUS},
|
||||
BlockstackOperationType, LeaderBlockCommitOp, LeaderKeyRegisterOp,
|
||||
};
|
||||
use stacks::chainstate::burn::ConsensusHash;
|
||||
use stacks::chainstate::stacks::db::{
|
||||
ChainStateBootData, ClarityTx, StacksChainState, StacksHeaderInfo,
|
||||
@@ -40,6 +36,13 @@ use stacks::util::hash::Sha256Sum;
|
||||
use stacks::util::secp256k1::Secp256k1PrivateKey;
|
||||
use stacks::util::strings::UrlString;
|
||||
use stacks::util::vrf::VRFPublicKey;
|
||||
use stacks::{
|
||||
burnchains::PoxConstants,
|
||||
chainstate::burn::operations::{
|
||||
leader_block_commit::{RewardSetInfo, BURN_BLOCK_MINED_AT_MODULUS},
|
||||
BlockstackOperationType, LeaderBlockCommitOp, LeaderKeyRegisterOp,
|
||||
},
|
||||
};
|
||||
use stacks::{
|
||||
burnchains::{Burnchain, Txid},
|
||||
chainstate::stacks::db::{
|
||||
@@ -159,6 +162,7 @@ fn spawn_peer(
|
||||
rpc_sock: &SocketAddr,
|
||||
burn_db_path: String,
|
||||
stacks_chainstate_path: String,
|
||||
pox_consts: PoxConstants,
|
||||
event_dispatcher: EventDispatcher,
|
||||
exit_at_block_height: Option<u64>,
|
||||
genesis_chainstate_hash: Sha256Sum,
|
||||
@@ -174,7 +178,7 @@ fn spawn_peer(
|
||||
};
|
||||
|
||||
loop {
|
||||
let sortdb = match SortitionDB::open(&burn_db_path, false) {
|
||||
let sortdb = match SortitionDB::open(&burn_db_path, false, pox_consts.clone()) {
|
||||
Ok(x) => x,
|
||||
Err(e) => {
|
||||
warn!("Error while connecting burnchain db in peer loop: {}", e);
|
||||
@@ -377,9 +381,10 @@ impl Node {
|
||||
|
||||
node.spawn_peer_server(attachments_rx);
|
||||
|
||||
let pox_constants = burnchain_controller.sortdb_ref().pox_constants.clone();
|
||||
loop {
|
||||
let sortdb =
|
||||
SortitionDB::open(&sortdb_path, false).expect("BUG: failed to open burn database");
|
||||
let sortdb = SortitionDB::open(&sortdb_path, false, pox_constants.clone())
|
||||
.expect("BUG: failed to open burn database");
|
||||
if let Ok(Some(ref chain_tip)) = node.chain_state.get_stacks_chain_tip(&sortdb) {
|
||||
if chain_tip.consensus_hash == burnchain_tip.block_snapshot.consensus_hash {
|
||||
info!("Syncing Stacks blocks - completed");
|
||||
@@ -401,11 +406,15 @@ impl Node {
|
||||
pub fn spawn_peer_server(&mut self, attachments_rx: Receiver<HashSet<AttachmentInstance>>) {
|
||||
// we can call _open_ here rather than _connect_, since connect is first called in
|
||||
// make_genesis_block
|
||||
let sortdb = SortitionDB::open(&self.config.get_burn_db_file_path(), true)
|
||||
.expect("Error while instantiating burnchain db");
|
||||
|
||||
let burnchain = Burnchain::regtest(&self.config.get_burn_db_path());
|
||||
|
||||
let sortdb = SortitionDB::open(
|
||||
&self.config.get_burn_db_file_path(),
|
||||
true,
|
||||
burnchain.pox_constants.clone(),
|
||||
)
|
||||
.expect("Error while instantiating burnchain db");
|
||||
|
||||
let view = {
|
||||
let sortition_tip = SortitionDB::get_canonical_burn_chain_tip(&sortdb.conn())
|
||||
.expect("Failed to get sortition tip");
|
||||
@@ -493,7 +502,7 @@ impl Node {
|
||||
atlasdb,
|
||||
local_peer,
|
||||
self.config.burnchain.peer_version,
|
||||
burnchain,
|
||||
burnchain.clone(),
|
||||
view,
|
||||
self.config.connection_options.clone(),
|
||||
);
|
||||
@@ -505,6 +514,7 @@ impl Node {
|
||||
&rpc_sock,
|
||||
self.config.get_burn_db_file_path(),
|
||||
self.config.get_chainstate_path_str(),
|
||||
burnchain.pox_constants,
|
||||
event_dispatcher,
|
||||
exit_at_block_height,
|
||||
Sha256Sum::from_hex(stx_genesis::GENESIS_CHAINSTATE_HASH).unwrap(),
|
||||
|
||||
@@ -975,7 +975,7 @@ fn contract_stx_transfer() {
|
||||
db.get_account_stx_balance(
|
||||
&contract_identifier.clone().into(),
|
||||
)
|
||||
.amount_unlocked
|
||||
.amount_unlocked()
|
||||
})
|
||||
}
|
||||
)
|
||||
@@ -992,7 +992,7 @@ fn contract_stx_transfer() {
|
||||
&StacksBlockHeader::make_index_block_hash(&cur_tip.0, &cur_tip.1),
|
||||
|conn| {
|
||||
conn.with_clarity_db_readonly(|db| {
|
||||
db.get_account_stx_balance(&addr_3).amount_unlocked
|
||||
db.get_account_stx_balance(&addr_3).amount_unlocked()
|
||||
})
|
||||
}
|
||||
)
|
||||
@@ -1026,7 +1026,7 @@ fn contract_stx_transfer() {
|
||||
&StacksBlockHeader::make_index_block_hash(&cur_tip.0, &cur_tip.1),
|
||||
|conn| {
|
||||
conn.with_clarity_db_readonly(|db| {
|
||||
db.get_account_stx_balance(&addr_2).amount_unlocked
|
||||
db.get_account_stx_balance(&addr_2).amount_unlocked()
|
||||
})
|
||||
}
|
||||
)
|
||||
@@ -1044,7 +1044,7 @@ fn contract_stx_transfer() {
|
||||
db.get_account_stx_balance(
|
||||
&contract_identifier.clone().into(),
|
||||
)
|
||||
.amount_unlocked
|
||||
.amount_unlocked()
|
||||
})
|
||||
}
|
||||
)
|
||||
@@ -1076,7 +1076,7 @@ fn contract_stx_transfer() {
|
||||
db.get_account_stx_balance(
|
||||
&contract_identifier.clone().into(),
|
||||
)
|
||||
.amount_unlocked
|
||||
.amount_unlocked()
|
||||
})
|
||||
}
|
||||
)
|
||||
@@ -1093,7 +1093,7 @@ fn contract_stx_transfer() {
|
||||
&StacksBlockHeader::make_index_block_hash(&cur_tip.0, &cur_tip.1),
|
||||
|conn| {
|
||||
conn.with_clarity_db_readonly(|db| {
|
||||
db.get_account_stx_balance(&addr_3).amount_unlocked
|
||||
db.get_account_stx_balance(&addr_3).amount_unlocked()
|
||||
})
|
||||
}
|
||||
)
|
||||
@@ -1233,7 +1233,7 @@ fn mine_transactions_out_of_order() {
|
||||
db.get_account_stx_balance(
|
||||
&contract_identifier.clone().into(),
|
||||
)
|
||||
.amount_unlocked
|
||||
.amount_unlocked()
|
||||
})
|
||||
}
|
||||
)
|
||||
@@ -1448,7 +1448,7 @@ fn bad_contract_tx_rollback() {
|
||||
db.get_account_stx_balance(
|
||||
&contract_identifier.clone().into(),
|
||||
)
|
||||
.amount_unlocked
|
||||
.amount_unlocked()
|
||||
})
|
||||
}
|
||||
)
|
||||
@@ -1465,7 +1465,7 @@ fn bad_contract_tx_rollback() {
|
||||
&StacksBlockHeader::make_index_block_hash(&cur_tip.0, &cur_tip.1),
|
||||
|conn| {
|
||||
conn.with_clarity_db_readonly(|db| {
|
||||
db.get_account_stx_balance(&addr_3).amount_unlocked
|
||||
db.get_account_stx_balance(&addr_3).amount_unlocked()
|
||||
})
|
||||
}
|
||||
)
|
||||
|
||||
@@ -3252,6 +3252,7 @@ fn pox_integration_test() {
|
||||
15,
|
||||
(16 * reward_cycle_len - 1).into(),
|
||||
(17 * reward_cycle_len).into(),
|
||||
u32::max_value(),
|
||||
);
|
||||
burnchain_config.pox_constants = pox_constants.clone();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user